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()
180 pmc_write(pmc, AT91_CKGR_MOR, in at91_clk_register_main_osc()
181 (pmc_read(pmc, AT91_CKGR_MOR) & in at91_clk_register_main_osc()
195 struct at91_pmc *pmc) in of_at91rm9200_clk_main_osc_setup() argument
211 clk = at91_clk_register_main_osc(pmc, irq, name, parent_name, bypass); in of_at91rm9200_clk_main_osc_setup()
231 struct at91_pmc *pmc = osc->pmc; in clk_main_rc_osc_prepare() local
234 tmp = pmc_read(pmc, AT91_CKGR_MOR) & ~MOR_KEY_MASK; in clk_main_rc_osc_prepare()
238 pmc_write(pmc, AT91_CKGR_MOR, tmp); in clk_main_rc_osc_prepare()
241 while (!(pmc_read(pmc, AT91_PMC_SR) & AT91_PMC_MOSCRCS)) { in clk_main_rc_osc_prepare()
244 pmc_read(pmc, AT91_PMC_SR) & AT91_PMC_MOSCRCS); in clk_main_rc_osc_prepare()
253 struct at91_pmc *pmc = osc->pmc; in clk_main_rc_osc_unprepare() local
254 u32 tmp = pmc_read(pmc, AT91_CKGR_MOR); in clk_main_rc_osc_unprepare()
260 pmc_write(pmc, AT91_CKGR_MOR, tmp | AT91_PMC_KEY); in clk_main_rc_osc_unprepare()
266 struct at91_pmc *pmc = osc->pmc; in clk_main_rc_osc_is_prepared() local
268 return !!((pmc_read(pmc, AT91_PMC_SR) & AT91_PMC_MOSCRCS) && in clk_main_rc_osc_is_prepared()
269 (pmc_read(pmc, AT91_CKGR_MOR) & AT91_PMC_MOSCRCEN)); in clk_main_rc_osc_is_prepared()
297 at91_clk_register_main_rc_osc(struct at91_pmc *pmc, in at91_clk_register_main_rc_osc() argument
307 if (!pmc || !irq || !name || !frequency) in at91_clk_register_main_rc_osc()
321 osc->pmc = pmc; in at91_clk_register_main_rc_osc()
343 struct at91_pmc *pmc) in of_at91sam9x5_clk_main_rc_osc_setup() argument
359 clk = at91_clk_register_main_rc_osc(pmc, irq, name, frequency, in of_at91sam9x5_clk_main_rc_osc_setup()
368 static int clk_main_probe_frequency(struct at91_pmc *pmc) in clk_main_probe_frequency() argument
376 tmp = pmc_read(pmc, AT91_CKGR_MCFR); in clk_main_probe_frequency()
385 static unsigned long clk_main_recalc_rate(struct at91_pmc *pmc, in clk_main_recalc_rate() argument
394 tmp = pmc_read(pmc, AT91_CKGR_MCFR); in clk_main_recalc_rate()
405 return clk_main_probe_frequency(clkmain->pmc); in clk_rm9200_main_prepare()
412 return !!(pmc_read(clkmain->pmc, AT91_CKGR_MCFR) & AT91_PMC_MAINRDY); in clk_rm9200_main_is_prepared()
420 return clk_main_recalc_rate(clkmain->pmc, parent_rate); in clk_rm9200_main_recalc_rate()
430 at91_clk_register_rm9200_main(struct at91_pmc *pmc, in at91_clk_register_rm9200_main() argument
438 if (!pmc || !name) in at91_clk_register_rm9200_main()
455 clkmain->pmc = pmc; in at91_clk_register_rm9200_main()
465 struct at91_pmc *pmc) in of_at91rm9200_clk_main_setup() argument
474 clk = at91_clk_register_rm9200_main(pmc, name, parent_name); in of_at91rm9200_clk_main_setup()
494 struct at91_pmc *pmc = clkmain->pmc; in clk_sam9x5_main_prepare() local
496 while (!(pmc_read(pmc, AT91_PMC_SR) & AT91_PMC_MOSCSELS)) { in clk_sam9x5_main_prepare()
499 pmc_read(pmc, AT91_PMC_SR) & AT91_PMC_MOSCSELS); in clk_sam9x5_main_prepare()
502 return clk_main_probe_frequency(pmc); in clk_sam9x5_main_prepare()
509 return !!(pmc_read(clkmain->pmc, AT91_PMC_SR) & AT91_PMC_MOSCSELS); in clk_sam9x5_main_is_prepared()
517 return clk_main_recalc_rate(clkmain->pmc, parent_rate); in clk_sam9x5_main_recalc_rate()
523 struct at91_pmc *pmc = clkmain->pmc; in clk_sam9x5_main_set_parent() local
529 tmp = pmc_read(pmc, AT91_CKGR_MOR) & ~MOR_KEY_MASK; in clk_sam9x5_main_set_parent()
532 pmc_write(pmc, AT91_CKGR_MOR, tmp | AT91_PMC_MOSCSEL); in clk_sam9x5_main_set_parent()
534 pmc_write(pmc, AT91_CKGR_MOR, tmp & ~AT91_PMC_MOSCSEL); in clk_sam9x5_main_set_parent()
536 while (!(pmc_read(pmc, AT91_PMC_SR) & AT91_PMC_MOSCSELS)) { in clk_sam9x5_main_set_parent()
539 pmc_read(pmc, AT91_PMC_SR) & AT91_PMC_MOSCSELS); in clk_sam9x5_main_set_parent()
549 return !!(pmc_read(clkmain->pmc, AT91_CKGR_MOR) & AT91_PMC_MOSCEN); in clk_sam9x5_main_get_parent()
561 at91_clk_register_sam9x5_main(struct at91_pmc *pmc, in at91_clk_register_sam9x5_main() argument
572 if (!pmc || !irq || !name) in at91_clk_register_sam9x5_main()
589 clkmain->pmc = pmc; in at91_clk_register_sam9x5_main()
591 clkmain->parent = !!(pmc_read(clkmain->pmc, AT91_CKGR_MOR) & in at91_clk_register_sam9x5_main()
610 struct at91_pmc *pmc) in of_at91sam9x5_clk_main_setup() argument
630 clk = at91_clk_register_sam9x5_main(pmc, irq, name, parent_names, in of_at91sam9x5_clk_main_setup()