Lines Matching refs:pdata
768 struct stm32_clk_platdata *pdata = priv->pdata; in clk_stm32_get_rate_oscillator() local
769 struct stm32_osci_dt_cfg *osci = &pdata->osci[osc_id]; in clk_stm32_get_rate_oscillator()
847 struct stm32_clk_platdata *pdata) in stm32_enable_oscillator_hse() argument
850 struct stm32_osci_dt_cfg *osci = &pdata->osci[OSC_HSE]; in stm32_enable_oscillator_hse()
868 struct stm32_clk_platdata *pdata) in stm32_enable_oscillator_lse() argument
871 struct stm32_osci_dt_cfg *osci = &pdata->osci[OSC_LSE]; in stm32_enable_oscillator_lse()
891 struct stm32_clk_platdata *pdata) in stm32_enable_oscillator_lsi() argument
894 struct stm32_osci_dt_cfg *osci = &pdata->osci[OSC_LSI]; in stm32_enable_oscillator_lsi()
908 struct stm32_clk_platdata *pdata) in stm32_enable_oscillator_msi() argument
911 struct stm32_osci_dt_cfg *osci = &pdata->osci[OSC_MSI]; in stm32_enable_oscillator_msi()
925 struct stm32_clk_platdata *pdata) in stm32_clk_oscillators_lse_set_css() argument
929 struct stm32_osci_dt_cfg *osci = &pdata->osci[OSC_LSE]; in stm32_clk_oscillators_lse_set_css()
937 struct stm32_clk_platdata *pdata) in stm32_clk_oscillators_wait_lse_ready() argument
940 struct stm32_osci_dt_cfg *osci = &pdata->osci[OSC_LSE]; in stm32_clk_oscillators_wait_lse_ready()
953 struct stm32_clk_platdata *pdata) in stm32_clk_oscillators_enable() argument
955 stm32_enable_oscillator_hse(priv, pdata); in stm32_clk_oscillators_enable()
956 stm32_enable_oscillator_lse(priv, pdata); in stm32_clk_oscillators_enable()
957 stm32_enable_oscillator_lsi(priv, pdata); in stm32_clk_oscillators_enable()
958 stm32_enable_oscillator_msi(priv, pdata); in stm32_clk_oscillators_enable()
1070 struct stm32_clk_platdata *pdata) in stm32_clk_parse_fdt_all_oscillator() argument
1080 for (i = 0; i < pdata->nosci; i++) { in stm32_clk_parse_fdt_all_oscillator()
1088 &pdata->osci[i]); in stm32_clk_parse_fdt_all_oscillator()
1138 struct stm32_clk_platdata *pdata) in stm32_clk_parse_fdt_all_pll() argument
1142 for (i = 0; i < pdata->npll; i++) { in stm32_clk_parse_fdt_all_pll()
1143 struct stm32_pll_dt_cfg *pll = pdata->pll + i; in stm32_clk_parse_fdt_all_pll()
1197 struct stm32_clk_platdata *pdata) in stm32_clk_parse_fdt_all_opp() argument
1199 struct stm32_clk_opp_dt_cfg *opp = pdata->opp; in stm32_clk_parse_fdt_all_opp()
1212 struct stm32_clk_platdata *pdata) in stm32_clk_parse_fdt() argument
1219 err = stm32_clk_parse_fdt_all_oscillator(fdt, node, pdata); in stm32_clk_parse_fdt()
1223 err = stm32_clk_parse_fdt_all_pll(fdt, node, pdata); in stm32_clk_parse_fdt()
1227 err = stm32_clk_parse_fdt_all_opp(fdt, node, pdata); in stm32_clk_parse_fdt()
1232 pdata->busclk, in stm32_clk_parse_fdt()
1233 &pdata->nbusclk); in stm32_clk_parse_fdt()
1238 pdata->flexgen, in stm32_clk_parse_fdt()
1239 &pdata->nflexgen); in stm32_clk_parse_fdt()
1244 pdata->kernelclk, in stm32_clk_parse_fdt()
1245 &pdata->nkernelclk); in stm32_clk_parse_fdt()
1249 pdata->c1msrd = fdt_read_uint32_default(fdt, node, "st,c1msrd", 0); in stm32_clk_parse_fdt()
1252 pdata->safe_rst = true; in stm32_clk_parse_fdt()
1254 pdata->rcc_base = stm32_rcc_base(); in stm32_clk_parse_fdt()
1265 pdata->nb_res = (unsigned int)(lenp / sizeof(uint32_t)); in stm32_clk_parse_fdt()
1267 assert(pdata->nb_res <= RCC_NB_RIF_RES); in stm32_clk_parse_fdt()
1269 pdata->conf_data.cid_confs = calloc(RCC_NB_RIF_RES, sizeof(uint32_t)); in stm32_clk_parse_fdt()
1270 pdata->conf_data.sec_conf = calloc(RCC_NB_CONFS, sizeof(uint32_t)); in stm32_clk_parse_fdt()
1271 pdata->conf_data.priv_conf = calloc(RCC_NB_CONFS, sizeof(uint32_t)); in stm32_clk_parse_fdt()
1272 pdata->conf_data.lock_conf = calloc(RCC_NB_CONFS, sizeof(uint32_t)); in stm32_clk_parse_fdt()
1273 pdata->conf_data.access_mask = calloc(RCC_NB_CONFS, sizeof(uint32_t)); in stm32_clk_parse_fdt()
1274 if (!pdata->conf_data.cid_confs || !pdata->conf_data.sec_conf || in stm32_clk_parse_fdt()
1275 !pdata->conf_data.priv_conf || !pdata->conf_data.access_mask || in stm32_clk_parse_fdt()
1276 !pdata->conf_data.lock_conf) in stm32_clk_parse_fdt()
1279 for (i = 0; i < pdata->nb_res; i++) in stm32_clk_parse_fdt()
1280 stm32_rif_parse_cfg(fdt32_to_cpu(cuint[i]), &pdata->conf_data, in stm32_clk_parse_fdt()
1507 struct stm32_clk_platdata *pdata = priv->pdata; in clk_stm32_pll_get_pdata() local
1509 assert(pll_idx < pdata->npll); in clk_stm32_pll_get_pdata()
1511 return &pdata->pll[pll_idx]; in clk_stm32_pll_get_pdata()
1699 struct stm32_clk_platdata *pdata = priv->pdata; in flexclkgen_search_config() local
1712 for (i = 0; i < pdata->nflexgen; i++) { in flexclkgen_search_config()
1713 dt_cfg = pdata->flexgen[i]; in flexclkgen_search_config()
1768 struct stm32_clk_platdata *pdata = priv->pdata; in stm32mp2_clk_flexgen_configure() local
1771 for (i = 0; i < pdata->nflexgen; i++) { in stm32mp2_clk_flexgen_configure()
1772 uint32_t val = pdata->flexgen[i]; in stm32mp2_clk_flexgen_configure()
1913 struct stm32_clk_platdata *pdata = priv->pdata; in stm32_clk_bus_configure() local
1916 for (i = 0; i < pdata->nbusclk; i++) { in stm32_clk_bus_configure()
1919 ret = stm32_clk_configure(priv, pdata->busclk[i]); in stm32_clk_bus_configure()
1929 struct stm32_clk_platdata *pdata = priv->pdata; in stm32_clk_kernel_configure() local
1932 for (i = 0; i < pdata->nkernelclk; i++) { in stm32_clk_kernel_configure()
1935 ret = stm32_clk_configure(priv, pdata->kernelclk[i]); in stm32_clk_kernel_configure()
1944 struct stm32_clk_platdata *pdata) in stm32mp2_init_clock_tree() argument
1946 stm32_clk_oscillators_enable(priv, pdata); in stm32mp2_init_clock_tree()
1955 if (stm32_clk_oscillators_wait_lse_ready(priv, pdata)) in stm32mp2_init_clock_tree()
1968 stm32_clk_oscillators_lse_set_css(priv, pdata); in stm32mp2_init_clock_tree()
2129 struct stm32_clk_platdata *pdata = priv->pdata; in clk_stm32_pll1_set_rate() local
2133 opp = clk_stm32_get_opp_config(pdata->opp->cpu1_opp, rate); in clk_stm32_pll1_set_rate()
3414 static TEE_Result clk_stm32_apply_rcc_config(struct stm32_clk_platdata *pdata) in clk_stm32_apply_rcc_config() argument
3416 if (pdata->safe_rst) in clk_stm32_apply_rcc_config()
3456 .pdata = &stm32mp21_clock_pdata,
3484 struct stm32_clk_platdata *pdata = &stm32mp21_clock_pdata; in handle_available_semaphores() local
3491 vaddr_t reg_offset = pdata->rcc_base + RCC_SEMCR(i); in handle_available_semaphores()
3496 (!(BIT(i % 32) & pdata->conf_data.access_mask[index]))) in handle_available_semaphores()
3499 cidcfgr = io_read32(pdata->rcc_base + RCC_CIDCFGR(i)); in handle_available_semaphores()
3504 if (!(io_read32(pdata->rcc_base + RCC_SECCFGR(index)) & in handle_available_semaphores()
3530 struct stm32_clk_platdata *pdata = &stm32mp21_clock_pdata; in apply_rcc_rif_config() local
3540 pdata->conf_data.access_mask[index]))) in apply_rcc_rif_config()
3549 io_clrbits32(pdata->rcc_base + RCC_CIDCFGR(i), in apply_rcc_rif_config()
3560 io_clrsetbits32(pdata->rcc_base + RCC_PRIVCFGR(index), in apply_rcc_rif_config()
3561 pdata->conf_data.access_mask[index], in apply_rcc_rif_config()
3562 pdata->conf_data.priv_conf[index]); in apply_rcc_rif_config()
3563 io_clrsetbits32(pdata->rcc_base + RCC_SECCFGR(index), in apply_rcc_rif_config()
3564 pdata->conf_data.access_mask[index], in apply_rcc_rif_config()
3565 pdata->conf_data.sec_conf[index]); in apply_rcc_rif_config()
3575 !(BIT(i % 32) & pdata->conf_data.access_mask[index])) in apply_rcc_rif_config()
3578 io_clrsetbits32(pdata->rcc_base + RCC_CIDCFGR(i), in apply_rcc_rif_config()
3580 pdata->conf_data.cid_confs[i]); in apply_rcc_rif_config()
3584 io_clrsetbits32(pdata->rcc_base + RCC_RCFGLOCKR(index), in apply_rcc_rif_config()
3585 pdata->conf_data.access_mask[index], in apply_rcc_rif_config()
3586 pdata->conf_data.lock_conf[index]); in apply_rcc_rif_config()
3596 if ((io_read32(pdata->rcc_base + RCC_PRIVCFGR(index)) & in apply_rcc_rif_config()
3597 pdata->conf_data.access_mask[index]) != in apply_rcc_rif_config()
3598 pdata->conf_data.priv_conf[index]) in apply_rcc_rif_config()
3601 if ((io_read32(pdata->rcc_base + RCC_SECCFGR(index)) & in apply_rcc_rif_config()
3602 pdata->conf_data.access_mask[index]) != in apply_rcc_rif_config()
3603 pdata->conf_data.sec_conf[index]) in apply_rcc_rif_config()
3618 struct stm32_clk_platdata *pdata = &stm32mp21_clock_pdata; in stm32_rcc_rif_pm_suspend() local
3621 if (!pdata->nb_res) in stm32_rcc_rif_pm_suspend()
3625 pdata->conf_data.cid_confs[i] = io_read32(pdata->rcc_base + in stm32_rcc_rif_pm_suspend()
3629 pdata->conf_data.priv_conf[i] = io_read32(pdata->rcc_base + in stm32_rcc_rif_pm_suspend()
3631 pdata->conf_data.sec_conf[i] = io_read32(pdata->rcc_base + in stm32_rcc_rif_pm_suspend()
3633 pdata->conf_data.lock_conf[i] = io_read32(pdata->rcc_base + in stm32_rcc_rif_pm_suspend()
3635 pdata->conf_data.access_mask[i] = GENMASK_32(31, 0); in stm32_rcc_rif_pm_suspend()
3697 struct stm32_clk_platdata *pdata = &stm32mp21_clock_pdata; in stm32mp21_clk_probe() local
3700 fdt_rc = stm32_clk_parse_fdt(fdt, node, pdata); in stm32mp21_clk_probe()
3727 stm32mp2_init_clock_tree(priv, pdata); in stm32mp21_clk_probe()
3731 res = clk_stm32_apply_rcc_config(pdata); in stm32mp21_clk_probe()
3742 free(pdata->conf_data.cid_confs); in stm32mp21_clk_probe()
3743 free(pdata->conf_data.sec_conf); in stm32mp21_clk_probe()
3744 free(pdata->conf_data.priv_conf); in stm32mp21_clk_probe()
3745 free(pdata->conf_data.lock_conf); in stm32mp21_clk_probe()
3746 free(pdata->conf_data.access_mask); in stm32mp21_clk_probe()