/optee_os/core/drivers/clk/ |
A D | clk.c | 20 struct clk *clk = NULL; in clk_alloc() local 23 clk = calloc(1, sizeof(*clk) + parent_count * sizeof(clk)); in clk_alloc() 38 void clk_free(struct clk *clk) in clk_free() argument 65 clk->rate = clk->ops->get_rate(clk, parent_rate); in clk_compute_rate_no_lock() 70 struct clk *clk_get_parent_by_index(struct clk *clk, size_t pidx) in clk_get_parent_by_index() argument 86 clk->parent = clk->parents[0]; in clk_init_parent() 89 pidx = clk->ops->get_parent(clk); in clk_init_parent() 92 clk->parent = clk->parents[pidx]; in clk_init_parent() 127 clk->ops->disable(clk); in clk_disable_no_lock() 150 res = clk->ops->enable(clk); in clk_enable_no_lock() [all …]
|
A D | clk_dt.c | 17 const char *name, struct clk **clk) in clk_dt_get_by_name() argument 23 *clk = NULL; in clk_dt_get_by_name() 27 return clk_dt_get_by_index(fdt, nodeoffset, clk_id, clk); in clk_dt_get_by_name() 32 struct clk **clk) in clk_dt_get_by_idx_prop() argument 43 unsigned int clk_idx, struct clk **clk) in clk_dt_get_by_index() argument 141 struct clk *clk = NULL; in parse_assigned_clock() local 143 struct clk *parent = NULL; in parse_assigned_clock() 153 clock_idx, &clk); in parse_assigned_clock() 154 if (!clk) in parse_assigned_clock() 162 if (clk_set_parent(clk, parent)) { in parse_assigned_clock() [all …]
|
A D | fixed_clk.c | 16 static unsigned long fixed_clk_get_rate(struct clk *clk, in fixed_clk_get_rate() argument 19 struct fixed_clock_data *d = clk->priv; in fixed_clk_get_rate() 33 struct clk *clk = NULL; in fixed_clock_probe() local 41 clk = clk_alloc(name, &fixed_clk_clk_ops, NULL, 0); in fixed_clock_probe() 42 if (!clk) in fixed_clock_probe() 58 clk->priv = fcd; in fixed_clock_probe() 60 res = clk_register(clk); in fixed_clock_probe() 65 clk); in fixed_clock_probe() 72 clk_free(clk); in fixed_clock_probe()
|
A D | clk-stm32mp15.c | 1302 static bool clk_is_gate(struct clk *clk) in clk_is_gate() argument 1310 static unsigned long clk_to_clock_id(struct clk *clk) in clk_to_clock_id() argument 1424 static const char *clk_op_get_name(struct clk *clk) in clk_op_get_name() argument 1448 static TEE_Result clk_op_enable(struct clk *clk) in clk_op_enable() argument 1457 static void clk_op_disable(struct clk *clk) in clk_op_disable() argument 1493 struct clk *clk = clock_id_to_clk(clock_id); in stm32_clock_is_enabled() local 1501 struct clk *clk = clock_id_to_clk(clock_id); in stm32_clock_enable() local 1511 struct clk *clk = clock_id_to_clk(clock_id); in stm32_clock_disable() local 1519 struct clk *clk = clock_id_to_clk(clock_id); in stm32_clock_get_rate() local 1530 struct clk *clk = NULL; in stm32mp1_clk_dt_get_clk() local [all …]
|
/optee_os/core/include/drivers/ |
A D | clk.h | 53 TEE_Result (*enable)(struct clk *clk); 54 void (*disable)(struct clk *clk); 56 size_t (*get_parent)(struct clk *clk); 92 void clk_free(struct clk *clk); 100 TEE_Result clk_register(struct clk *clk); 125 TEE_Result clk_enable(struct clk *clk); 132 void clk_disable(struct clk *clk); 142 bool clk_is_enabled(struct clk *clk); 150 struct clk *clk_get_parent(struct clk *clk); 170 struct clk *clk_get_parent_by_index(struct clk *clk, size_t pidx); [all …]
|
A D | clk_dt.h | 46 unsigned int clk_idx, struct clk **clk); 61 const char *name, struct clk **clk); 77 typedef struct clk *(*clk_dt_get_func)(struct dt_driver_phandle_args *args, 103 struct clk *clk_dt_get_simple_clk(struct dt_driver_phandle_args *args __unused, in clk_dt_get_simple_clk()
|
/optee_os/core/drivers/clk/sam/ |
A D | at91_audio_pll.c | 124 static void clk_audio_pll_frac_disable(struct clk *clk) in clk_audio_pll_frac_disable() argument 135 static void clk_audio_pll_pad_disable(struct clk *clk) in clk_audio_pll_pad_disable() argument 143 static void clk_audio_pll_pmc_disable(struct clk *clk) in clk_audio_pll_pmc_disable() argument 298 struct clk * 303 struct clk *clk = NULL; in at91_clk_register_audio_pll_frac() local 306 if (!clk) in at91_clk_register_audio_pll_frac() 326 return clk; in at91_clk_register_audio_pll_frac() 334 struct clk *clk = NULL; in at91_clk_register_audio_pll_pad() local 337 if (!clk) in at91_clk_register_audio_pll_pad() 365 struct clk *clk = NULL; in at91_clk_register_audio_pll_pmc() local [all …]
|
A D | sama5d2_clk.c | 332 struct clk *clk = NULL; in pmc_setup() local 396 if (!clk) in pmc_setup() 415 if (!clk) in pmc_setup() 448 pmc_clk->clk = clk; in pmc_setup() 497 pmc_clk->clk = clk; in pmc_setup() 519 pmc_clk->clk = clk; in pmc_setup() 535 pmc_clk->clk = clk; in pmc_setup() 551 pmc_clk->clk = clk; in pmc_setup() 574 pmc_clk->clk = clk; in pmc_setup() 584 pmc->chws[PMC_I2S0_MUX].clk = clk; in pmc_setup() [all …]
|
A D | at91_main.c | 44 static TEE_Result pmc_main_rc_osc_enable(struct clk *clk) in pmc_main_rc_osc_enable() argument 62 static void pmc_main_rc_osc_disable(struct clk *clk) in pmc_main_rc_osc_disable() argument 91 struct clk *clk = NULL; in pmc_register_main_rc_osc() local 95 if (!clk) in pmc_register_main_rc_osc() 115 return clk; in pmc_register_main_rc_osc() 128 static TEE_Result pmc_main_osc_enable(struct clk *clk) in pmc_main_osc_enable() argument 149 static void pmc_main_osc_disable(struct clk *clk) in pmc_main_osc_disable() argument 172 struct clk *clk = NULL; in pmc_register_main_osc() local 175 if (!clk) in pmc_register_main_osc() 293 struct clk *clk = NULL; in at91_clk_register_sam9x5_main() local [all …]
|
A D | at91_clk.h | 44 struct clk *clk; member 144 struct clk * 150 struct clk * 155 struct clk * 160 struct clk * 168 struct clk * 175 struct clk * 180 struct clk * 185 struct clk * 191 struct clk * [all …]
|
A D | at91_usb.c | 26 static unsigned long at91sam9x5_clk_usb_get_rate(struct clk *clk, in at91sam9x5_clk_usb_get_rate() argument 38 static TEE_Result at91sam9x5_clk_usb_set_parent(struct clk *clk, size_t index) in at91sam9x5_clk_usb_set_parent() argument 50 static size_t at91sam9x5_clk_usb_get_parent(struct clk *clk) in at91sam9x5_clk_usb_get_parent() argument 58 static TEE_Result at91sam9x5_clk_usb_set_rate(struct clk *clk, in at91sam9x5_clk_usb_set_rate() argument 85 static struct clk * 91 struct clk *clk = NULL; in _at91sam9x5_clk_register_usb() local 94 if (!clk) in _at91sam9x5_clk_register_usb() 104 clk->priv = usb; in _at91sam9x5_clk_register_usb() 108 clk_free(clk); in _at91sam9x5_clk_register_usb() 113 return clk; in _at91sam9x5_clk_register_usb() [all …]
|
A D | at91_h32mx.c | 17 static unsigned long clk_sama5d4_h32mx_get_rate(struct clk *clk, in clk_sama5d4_h32mx_get_rate() argument 32 static TEE_Result clk_sama5d4_h32mx_set_rate(struct clk *clk, in clk_sama5d4_h32mx_set_rate() argument 55 struct clk * 57 struct clk *parent) in at91_clk_register_h32mx() 59 struct clk *clk = NULL; in at91_clk_register_h32mx() local 62 if (!clk) in at91_clk_register_h32mx() 65 clk->ops = &h32mx_ops; in at91_clk_register_h32mx() 66 clk->priv = pmc; in at91_clk_register_h32mx() 67 clk->name = name; in at91_clk_register_h32mx() 71 clk_free(clk); in at91_clk_register_h32mx() [all …]
|
A D | at91_utmi.c | 33 static TEE_Result clk_utmi_enable(struct clk *clk) in clk_utmi_enable() argument 88 static void clk_utmi_disable(struct clk *clk) in clk_utmi_disable() argument 95 static unsigned long clk_utmi_get_rate(struct clk *clk __unused, in clk_utmi_get_rate() 108 struct clk * 113 struct clk *clk = NULL; in at91_clk_register_utmi() local 116 if (!clk) in at91_clk_register_utmi() 121 clk_free(clk); in at91_clk_register_utmi() 129 clk->priv = utmi; in at91_clk_register_utmi() 131 if (clk_register(clk)) { in at91_clk_register_utmi() 132 clk_free(clk); in at91_clk_register_utmi() [all …]
|
A D | at91_generated.c | 31 static TEE_Result clk_generated_enable(struct clk *clk) in clk_generated_enable() argument 49 static void clk_generated_disable(struct clk *clk) in clk_generated_disable() argument 60 clk_generated_get_rate(struct clk *clk, unsigned long parent_rate) in clk_generated_get_rate() argument 80 static size_t clk_generated_get_parent(struct clk *clk) in clk_generated_get_parent() argument 139 struct clk * 148 struct clk *clk = NULL; in at91_clk_register_generated() local 151 if (!clk) in at91_clk_register_generated() 156 clk_free(clk); in at91_clk_register_generated() 168 clk->priv = gck; in at91_clk_register_generated() 173 clk_free(clk); in at91_clk_register_generated() [all …]
|
A D | at91_peripheral.c | 30 static void clk_sam9x5_peripheral_autodiv(struct clk *clk) in clk_sam9x5_peripheral_autodiv() argument 56 static TEE_Result clk_sam9x5_peripheral_enable(struct clk *clk) in clk_sam9x5_peripheral_enable() argument 75 static void clk_sam9x5_peripheral_disable(struct clk *clk) in clk_sam9x5_peripheral_disable() argument 90 clk_sam9x5_peripheral_get_rate(struct clk *clk, in clk_sam9x5_peripheral_get_rate() argument 113 static TEE_Result clk_sam9x5_peripheral_set_rate(struct clk *clk, in clk_sam9x5_peripheral_set_rate() argument 148 struct clk * 155 struct clk *clk = NULL; in at91_clk_register_sam9x5_periph() local 161 if (!clk) in at91_clk_register_sam9x5_periph() 166 clk_free(clk); in at91_clk_register_sam9x5_periph() 181 clk_free(clk); in at91_clk_register_sam9x5_periph() [all …]
|
A D | at91_plldiv.c | 15 static unsigned long clk_plldiv_get_rate(struct clk *clk, in clk_plldiv_get_rate() argument 18 struct pmc_data *pmc = clk->priv; in clk_plldiv_get_rate() 27 static TEE_Result clk_plldiv_set_rate(struct clk *clk, unsigned long rate, in clk_plldiv_set_rate() argument 46 struct clk * 48 struct clk *parent) in at91_clk_register_plldiv() 50 struct clk *clk = NULL; in at91_clk_register_plldiv() local 53 if (!clk) in at91_clk_register_plldiv() 56 clk->priv = pmc; in at91_clk_register_plldiv() 59 if (clk_register(clk)) { in at91_clk_register_plldiv() 60 clk_free(clk); in at91_clk_register_plldiv() [all …]
|
A D | at91_master.c | 36 static TEE_Result clk_master_enable(struct clk *clk) in clk_master_enable() argument 46 static unsigned long clk_master_div_get_rate(struct clk *clk, in clk_master_div_get_rate() argument 77 static unsigned long clk_master_pres_get_rate(struct clk *clk, in clk_master_pres_get_rate() argument 94 static size_t clk_master_pres_get_parent(struct clk *clk) in clk_master_pres_get_parent() argument 119 struct clk *clk = NULL; in at91_clk_register_master_internal() local 125 if (!clk) in at91_clk_register_master_internal() 130 clk_free(clk); in at91_clk_register_master_internal() 143 clk_free(clk); in at91_clk_register_master_internal() 148 return clk; in at91_clk_register_master_internal() 151 struct clk * [all …]
|
A D | at91_i2s_mux.c | 21 static size_t clk_i2s_mux_get_parent(struct clk *clk) in clk_i2s_mux_get_parent() argument 23 struct clk_i2s_mux *mux = clk->priv; in clk_i2s_mux_get_parent() 29 static TEE_Result clk_i2s_mux_set_parent(struct clk *clk, size_t index) in clk_i2s_mux_set_parent() argument 44 struct clk * 49 struct clk *clk = NULL; in at91_clk_i2s_mux_register() local 52 if (!clk) in at91_clk_i2s_mux_register() 57 clk_free(clk); in at91_clk_i2s_mux_register() 64 clk->priv = i2s_ck; in at91_clk_i2s_mux_register() 66 if (clk_register(clk)) { in at91_clk_i2s_mux_register() 67 clk_free(clk); in at91_clk_i2s_mux_register() [all …]
|
A D | at91_system.c | 36 static TEE_Result clk_system_enable(struct clk *clk) in clk_system_enable() argument 38 struct clk_system *sys = clk->priv; in clk_system_enable() 51 static void clk_system_disable(struct clk *clk) in clk_system_disable() argument 63 struct clk * 68 struct clk *clk = NULL; in at91_clk_register_system() local 74 if (!clk) in at91_clk_register_system() 79 clk_free(clk); in at91_clk_register_system() 86 clk->priv = sys; in at91_clk_register_system() 88 if (clk_register(clk)) { in at91_clk_register_system() 89 clk_free(clk); in at91_clk_register_system() [all …]
|
A D | at91_programmable.c | 32 static unsigned long clk_programmable_get_rate(struct clk *clk, in clk_programmable_get_rate() argument 48 static TEE_Result clk_programmable_set_parent(struct clk *clk, size_t index) in clk_programmable_set_parent() argument 70 static size_t clk_programmable_get_parent(struct clk *clk) in clk_programmable_get_parent() argument 93 static TEE_Result clk_programmable_set_rate(struct clk *clk, unsigned long rate, in clk_programmable_set_rate() argument 133 struct clk * 140 struct clk *clk = NULL; in at91_clk_register_programmable() local 146 if (!prog || !clk) in at91_clk_register_programmable() 153 clk->priv = prog; in at91_clk_register_programmable() 156 if (clk_register(clk)) { in at91_clk_register_programmable() 157 clk_free(clk); in at91_clk_register_programmable() [all …]
|
A D | at91_sckc.c | 12 static unsigned long sckc_get_rate(struct clk *clk __unused, in sckc_get_rate() 25 struct clk *clk = NULL; in sckc_pmc_setup() local 28 clk = clk_alloc("slowck", &sckc_clk_ops, NULL, 0); in sckc_pmc_setup() 29 if (!clk) in sckc_pmc_setup() 32 res = clk_register(clk); in sckc_pmc_setup() 34 clk_free(clk); in sckc_pmc_setup() 39 clk); in sckc_pmc_setup()
|
A D | at91_pll.c | 54 static TEE_Result clk_pll_enable(struct clk *clk) in clk_pll_enable() argument 96 static void clk_pll_disable(struct clk *clk) in clk_pll_disable() argument 104 static unsigned long clk_pll_get_rate(struct clk *clk, in clk_pll_get_rate() argument 227 static TEE_Result clk_pll_set_rate(struct clk *clk, unsigned long rate, in clk_pll_set_rate() argument 255 struct clk * 261 struct clk *clk = NULL; in at91_clk_register_pll() local 270 if (!clk) in at91_clk_register_pll() 278 clk_free(clk); in at91_clk_register_pll() 291 clk->priv = pll; in at91_clk_register_pll() 294 clk_free(clk); in at91_clk_register_pll() [all …]
|
A D | at91_pmc.c | 14 static struct clk *pmc_clk_get_by_id(struct pmc_clk *clks, unsigned int nclk, in pmc_clk_get_by_id() 20 if (clks[i].clk && clks[i].id == id) in pmc_clk_get_by_id() 21 return clks[i].clk; in pmc_clk_get_by_id() 27 struct clk *pmc_clk_get_by_name(struct pmc_clk *clks, unsigned int nclk, in pmc_clk_get_by_name() 33 if (strcmp(clks[i].clk->name, name) == 0) in pmc_clk_get_by_name() 34 return clks[i].clk; in pmc_clk_get_by_name() 39 struct clk *clk_dt_pmc_get(struct dt_driver_phandle_args *clkspec, void *data, in clk_dt_pmc_get() 46 struct clk *clk = NULL; in clk_dt_pmc_get() local 80 clk = pmc_clk_get_by_id(clks, nclk, idx); in clk_dt_pmc_get() 81 if (clk) in clk_dt_pmc_get() [all …]
|
/optee_os/core/drivers/ |
A D | stm32_gpio.c | 57 struct clk *clk = stm32_get_gpio_bank_clk(bank); in get_gpio_cfg() local 59 clk_enable(clk); in get_gpio_cfg() 89 clk_disable(clk); in get_gpio_cfg() 96 struct clk *clk = stm32_get_gpio_bank_clk(bank); in set_gpio_cfg() local 99 clk_enable(clk); in set_gpio_cfg() 134 clk_disable(clk); in set_gpio_cfg() 174 struct clk *clk = NULL; in ckeck_gpio_bank() local 394 struct clk *clk = stm32_get_gpio_bank_clk(bank); in stm32_gpio_get_input_level() local 399 clk_enable(clk); in stm32_gpio_get_input_level() 412 struct clk *clk = stm32_get_gpio_bank_clk(bank); in stm32_gpio_set_output_level() local [all …]
|
/optee_os/core/arch/arm/plat-stm32mp1/ |
A D | scmi_server.c | 43 struct clk *clk; member 338 *array = clk_get_rate(clock->clk); in plat_scmi_clock_rates_array() 353 return clk_get_rate(clock->clk); in plat_scmi_clock_get_rate() 380 clk_enable(clock->clk); in plat_scmi_clock_set_state() 386 clk_disable(clock->clk); in plat_scmi_clock_set_state() 829 struct stm32_scmi_clk *clk = &res->clock[j]; in stm32mp1_init_scmi_server() local 831 if (!clk->name || in stm32mp1_init_scmi_server() 835 clk->clk = stm32mp_rcc_clock_id_to_clk(clk->clock_id); in stm32mp1_init_scmi_server() 836 assert(clk->clk); in stm32mp1_init_scmi_server() 839 if (clk->enabled && in stm32mp1_init_scmi_server() [all …]
|