Lines Matching refs:pmc

37 	struct at91_pmc *pmc;  member
46 struct at91_pmc *pmc; member
57 struct at91_pmc *pmc; member
64 struct at91_pmc *pmc; member
85 struct at91_pmc *pmc = osc->pmc; in clk_main_osc_prepare() local
88 tmp = pmc_read(pmc, AT91_CKGR_MOR) & ~MOR_KEY_MASK; in clk_main_osc_prepare()
94 pmc_write(pmc, AT91_CKGR_MOR, tmp); in clk_main_osc_prepare()
97 while (!(pmc_read(pmc, AT91_PMC_SR) & AT91_PMC_MOSCS)) { in clk_main_osc_prepare()
100 pmc_read(pmc, AT91_PMC_SR) & AT91_PMC_MOSCS); in clk_main_osc_prepare()
109 struct at91_pmc *pmc = osc->pmc; in clk_main_osc_unprepare() local
110 u32 tmp = pmc_read(pmc, AT91_CKGR_MOR); in clk_main_osc_unprepare()
119 pmc_write(pmc, AT91_CKGR_MOR, tmp | AT91_PMC_KEY); in clk_main_osc_unprepare()
125 struct at91_pmc *pmc = osc->pmc; in clk_main_osc_is_prepared() local
126 u32 tmp = pmc_read(pmc, AT91_CKGR_MOR); in clk_main_osc_is_prepared()
131 return !!((pmc_read(pmc, AT91_PMC_SR) & AT91_PMC_MOSCS) && in clk_main_osc_is_prepared()
132 (pmc_read(pmc, AT91_CKGR_MOR) & AT91_PMC_MOSCEN)); in clk_main_osc_is_prepared()
142 at91_clk_register_main_osc(struct at91_pmc *pmc, in at91_clk_register_main_osc() argument
153 if (!pmc || !irq || !name || !parent_name) in at91_clk_register_main_osc()
167 osc->pmc = pmc; in at91_clk_register_main_osc()
178 pmc_write(pmc, AT91_CKGR_MOR, in at91_clk_register_main_osc()
179 (pmc_read(pmc, AT91_CKGR_MOR) & in at91_clk_register_main_osc()
193 struct at91_pmc *pmc) in of_at91rm9200_clk_main_osc_setup() argument
209 clk = at91_clk_register_main_osc(pmc, irq, name, parent_name, bypass); in of_at91rm9200_clk_main_osc_setup()
229 struct at91_pmc *pmc = osc->pmc; in clk_main_rc_osc_prepare() local
232 tmp = pmc_read(pmc, AT91_CKGR_MOR) & ~MOR_KEY_MASK; in clk_main_rc_osc_prepare()
236 pmc_write(pmc, AT91_CKGR_MOR, tmp); in clk_main_rc_osc_prepare()
239 while (!(pmc_read(pmc, AT91_PMC_SR) & AT91_PMC_MOSCRCS)) { in clk_main_rc_osc_prepare()
242 pmc_read(pmc, AT91_PMC_SR) & AT91_PMC_MOSCRCS); in clk_main_rc_osc_prepare()
251 struct at91_pmc *pmc = osc->pmc; in clk_main_rc_osc_unprepare() local
252 u32 tmp = pmc_read(pmc, AT91_CKGR_MOR); in clk_main_rc_osc_unprepare()
258 pmc_write(pmc, AT91_CKGR_MOR, tmp | AT91_PMC_KEY); in clk_main_rc_osc_unprepare()
264 struct at91_pmc *pmc = osc->pmc; in clk_main_rc_osc_is_prepared() local
266 return !!((pmc_read(pmc, AT91_PMC_SR) & AT91_PMC_MOSCRCS) && in clk_main_rc_osc_is_prepared()
267 (pmc_read(pmc, AT91_CKGR_MOR) & AT91_PMC_MOSCRCEN)); in clk_main_rc_osc_is_prepared()
295 at91_clk_register_main_rc_osc(struct at91_pmc *pmc, in at91_clk_register_main_rc_osc() argument
305 if (!pmc || !irq || !name || !frequency) in at91_clk_register_main_rc_osc()
319 osc->pmc = pmc; in at91_clk_register_main_rc_osc()
341 struct at91_pmc *pmc) in of_at91sam9x5_clk_main_rc_osc_setup() argument
357 clk = at91_clk_register_main_rc_osc(pmc, irq, name, frequency, in of_at91sam9x5_clk_main_rc_osc_setup()
366 static int clk_main_probe_frequency(struct at91_pmc *pmc) in clk_main_probe_frequency() argument
374 tmp = pmc_read(pmc, AT91_CKGR_MCFR); in clk_main_probe_frequency()
383 static unsigned long clk_main_recalc_rate(struct at91_pmc *pmc, in clk_main_recalc_rate() argument
392 tmp = pmc_read(pmc, AT91_CKGR_MCFR); in clk_main_recalc_rate()
403 return clk_main_probe_frequency(clkmain->pmc); in clk_rm9200_main_prepare()
410 return !!(pmc_read(clkmain->pmc, AT91_CKGR_MCFR) & AT91_PMC_MAINRDY); in clk_rm9200_main_is_prepared()
418 return clk_main_recalc_rate(clkmain->pmc, parent_rate); in clk_rm9200_main_recalc_rate()
428 at91_clk_register_rm9200_main(struct at91_pmc *pmc, in at91_clk_register_rm9200_main() argument
436 if (!pmc || !name) in at91_clk_register_rm9200_main()
453 clkmain->pmc = pmc; in at91_clk_register_rm9200_main()
463 struct at91_pmc *pmc) in of_at91rm9200_clk_main_setup() argument
472 clk = at91_clk_register_rm9200_main(pmc, name, parent_name); in of_at91rm9200_clk_main_setup()
492 struct at91_pmc *pmc = clkmain->pmc; in clk_sam9x5_main_prepare() local
494 while (!(pmc_read(pmc, AT91_PMC_SR) & AT91_PMC_MOSCSELS)) { in clk_sam9x5_main_prepare()
497 pmc_read(pmc, AT91_PMC_SR) & AT91_PMC_MOSCSELS); in clk_sam9x5_main_prepare()
500 return clk_main_probe_frequency(pmc); in clk_sam9x5_main_prepare()
507 return !!(pmc_read(clkmain->pmc, AT91_PMC_SR) & AT91_PMC_MOSCSELS); in clk_sam9x5_main_is_prepared()
515 return clk_main_recalc_rate(clkmain->pmc, parent_rate); in clk_sam9x5_main_recalc_rate()
521 struct at91_pmc *pmc = clkmain->pmc; in clk_sam9x5_main_set_parent() local
527 tmp = pmc_read(pmc, AT91_CKGR_MOR) & ~MOR_KEY_MASK; in clk_sam9x5_main_set_parent()
530 pmc_write(pmc, AT91_CKGR_MOR, tmp | AT91_PMC_MOSCSEL); in clk_sam9x5_main_set_parent()
532 pmc_write(pmc, AT91_CKGR_MOR, tmp & ~AT91_PMC_MOSCSEL); in clk_sam9x5_main_set_parent()
534 while (!(pmc_read(pmc, AT91_PMC_SR) & AT91_PMC_MOSCSELS)) { in clk_sam9x5_main_set_parent()
537 pmc_read(pmc, AT91_PMC_SR) & AT91_PMC_MOSCSELS); in clk_sam9x5_main_set_parent()
547 return !!(pmc_read(clkmain->pmc, AT91_CKGR_MOR) & AT91_PMC_MOSCEN); in clk_sam9x5_main_get_parent()
559 at91_clk_register_sam9x5_main(struct at91_pmc *pmc, in at91_clk_register_sam9x5_main() argument
570 if (!pmc || !irq || !name) in at91_clk_register_sam9x5_main()
587 clkmain->pmc = pmc; in at91_clk_register_sam9x5_main()
589 clkmain->parent = !!(pmc_read(clkmain->pmc, AT91_CKGR_MOR) & in at91_clk_register_sam9x5_main()
608 struct at91_pmc *pmc) in of_at91sam9x5_clk_main_setup() argument
633 clk = at91_clk_register_sam9x5_main(pmc, irq, name, parent_names, in of_at91sam9x5_clk_main_setup()