Lines Matching refs:prcm_base

31 	struct prcm *prcm_base = (struct prcm *)PRCM_BASE;  in get_osc_clk_speed()  local
44 val = readl(&prcm_base->clksel_wkup) | CLKSEL_GPT1; in get_osc_clk_speed()
47 writel(val, &prcm_base->clksel_wkup); in get_osc_clk_speed()
50 val = readl(&prcm_base->iclken_wkup) | EN_GPT1 | EN_32KSYNC; in get_osc_clk_speed()
51 writel(val, &prcm_base->iclken_wkup); in get_osc_clk_speed()
53 val = readl(&prcm_base->fclken_wkup) | EN_GPT1; in get_osc_clk_speed()
54 writel(val, &prcm_base->fclken_wkup); in get_osc_clk_speed()
122 struct prcm *prcm_base = (struct prcm *)PRCM_BASE; in dpll3_init_34xx() local
136 clrsetbits_le32(&prcm_base->clken_pll, in dpll3_init_34xx()
138 wait_on_value(ST_CORE_CLK, 0, &prcm_base->idlest_ckgen, in dpll3_init_34xx()
147 clrsetbits_le32(&prcm_base->clksel1_emu, in dpll3_init_34xx()
149 clrsetbits_le32(&prcm_base->clksel1_emu, in dpll3_init_34xx()
153 clrsetbits_le32(&prcm_base->clksel1_pll, in dpll3_init_34xx()
157 clrsetbits_le32(&prcm_base->clksel1_pll, in dpll3_init_34xx()
161 clrsetbits_le32(&prcm_base->clksel1_pll, in dpll3_init_34xx()
165 clrbits_le32(&prcm_base->clksel1_pll, 0x00000040); in dpll3_init_34xx()
168 clrsetbits_le32(&prcm_base->clksel_core, in dpll3_init_34xx()
171 clrsetbits_le32(&prcm_base->clksel_core, in dpll3_init_34xx()
174 clrsetbits_le32(&prcm_base->clksel_core, in dpll3_init_34xx()
177 clrsetbits_le32(&prcm_base->clksel_core, in dpll3_init_34xx()
180 clrsetbits_le32(&prcm_base->clksel_gfx, in dpll3_init_34xx()
183 clrsetbits_le32(&prcm_base->clksel_wkup, in dpll3_init_34xx()
186 clrsetbits_le32(&prcm_base->clken_pll, in dpll3_init_34xx()
189 clrsetbits_le32(&prcm_base->clken_pll, in dpll3_init_34xx()
192 wait_on_value(ST_CORE_CLK, 1, &prcm_base->idlest_ckgen, in dpll3_init_34xx()
201 p0 = readl(&prcm_base->clken_pll); in dpll3_init_34xx()
206 p1 = readl(&prcm_base->clksel1_pll); in dpll3_init_34xx()
216 p2 = readl(&prcm_base->clksel_core); in dpll3_init_34xx()
226 p3 = (u32)&prcm_base->idlest_ckgen; in dpll3_init_34xx()
234 struct prcm *prcm_base = (struct prcm *)PRCM_BASE; in dpll4_init_34xx() local
241 clrsetbits_le32(&prcm_base->clken_pll, 0x00070000, PLL_STOP << 16); in dpll4_init_34xx()
242 wait_on_value(ST_PERIPH_CLK, 0, &prcm_base->idlest_ckgen, LDELAY); in dpll4_init_34xx()
250 clrsetbits_le32(&prcm_base->clksel1_emu, in dpll4_init_34xx()
252 clrsetbits_le32(&prcm_base->clksel1_emu, in dpll4_init_34xx()
255 clrsetbits_le32(&prcm_base->clksel_cam, 0x0000001F, (PER_M5X2 + 1)); in dpll4_init_34xx()
256 clrsetbits_le32(&prcm_base->clksel_cam, 0x0000001F, PER_M5X2); in dpll4_init_34xx()
258 clrsetbits_le32(&prcm_base->clksel_dss, 0x0000001F, (PER_M4X2 + 1)); in dpll4_init_34xx()
259 clrsetbits_le32(&prcm_base->clksel_dss, 0x0000001F, PER_M4X2); in dpll4_init_34xx()
261 clrsetbits_le32(&prcm_base->clksel_dss, in dpll4_init_34xx()
263 clrsetbits_le32(&prcm_base->clksel_dss, in dpll4_init_34xx()
266 clrsetbits_le32(&prcm_base->clksel3_pll, 0x0000001F, (ptr->m2 + 1)); in dpll4_init_34xx()
267 clrsetbits_le32(&prcm_base->clksel3_pll, 0x0000001F, ptr->m2); in dpll4_init_34xx()
271 clrsetbits_le32(&prcm_base->clksel2_pll, in dpll4_init_34xx()
275 clrsetbits_le32(&prcm_base->clksel2_pll, 0x0000007F, ptr->n); in dpll4_init_34xx()
278 clrsetbits_le32(&prcm_base->clken_pll, 0x00F00000, ptr->fsel << 20); in dpll4_init_34xx()
281 clrsetbits_le32(&prcm_base->clken_pll, 0x00070000, PLL_LOCK << 16); in dpll4_init_34xx()
282 wait_on_value(ST_PERIPH_CLK, 2, &prcm_base->idlest_ckgen, LDELAY); in dpll4_init_34xx()
287 struct prcm *prcm_base = (struct prcm *)PRCM_BASE; in dpll5_init_34xx() local
294 clrsetbits_le32(&prcm_base->clken2_pll, 0x00000007, PLL_STOP); in dpll5_init_34xx()
295 wait_on_value(1, 0, &prcm_base->idlest2_ckgen, LDELAY); in dpll5_init_34xx()
297 clrsetbits_le32(&prcm_base->clksel5_pll, 0x0000001F, ptr->m2); in dpll5_init_34xx()
299 clrsetbits_le32(&prcm_base->clksel4_pll, 0x0007FF00, ptr->m << 8); in dpll5_init_34xx()
301 clrsetbits_le32(&prcm_base->clksel4_pll, 0x0000007F, ptr->n); in dpll5_init_34xx()
303 clrsetbits_le32(&prcm_base->clken_pll, 0x000000F0, ptr->fsel << 4); in dpll5_init_34xx()
305 clrsetbits_le32(&prcm_base->clken2_pll, 0x00000007, PLL_LOCK); in dpll5_init_34xx()
306 wait_on_value(1, 1, &prcm_base->idlest2_ckgen, LDELAY); in dpll5_init_34xx()
311 struct prcm *prcm_base = (struct prcm *)PRCM_BASE; in mpu_init_34xx() local
320 clrsetbits_le32(&prcm_base->clksel2_pll_mpu, in mpu_init_34xx()
324 clrsetbits_le32(&prcm_base->clksel1_pll_mpu, in mpu_init_34xx()
328 clrsetbits_le32(&prcm_base->clksel1_pll_mpu, in mpu_init_34xx()
332 clrsetbits_le32(&prcm_base->clken_pll_mpu, in mpu_init_34xx()
338 struct prcm *prcm_base = (struct prcm *)PRCM_BASE; in iva_init_34xx() local
346 clrsetbits_le32(&prcm_base->clken_pll_iva2, in iva_init_34xx()
348 wait_on_value(ST_IVA2_CLK, 0, &prcm_base->idlest_pll_iva2, LDELAY); in iva_init_34xx()
351 clrsetbits_le32(&prcm_base->clksel2_pll_iva2, in iva_init_34xx()
355 clrsetbits_le32(&prcm_base->clksel1_pll_iva2, in iva_init_34xx()
359 clrsetbits_le32(&prcm_base->clksel1_pll_iva2, in iva_init_34xx()
363 clrsetbits_le32(&prcm_base->clken_pll_iva2, in iva_init_34xx()
367 clrsetbits_le32(&prcm_base->clken_pll_iva2, in iva_init_34xx()
370 wait_on_value(ST_IVA2_CLK, 1, &prcm_base->idlest_pll_iva2, LDELAY); in iva_init_34xx()
379 struct prcm *prcm_base = (struct prcm *)PRCM_BASE; in dpll3_init_36xx() local
393 clrsetbits_le32(&prcm_base->clken_pll, in dpll3_init_36xx()
395 wait_on_value(ST_CORE_CLK, 0, &prcm_base->idlest_ckgen, in dpll3_init_36xx()
399 clrsetbits_le32(&prcm_base->clksel1_emu, in dpll3_init_36xx()
403 clrsetbits_le32(&prcm_base->clksel1_pll, in dpll3_init_36xx()
407 clrsetbits_le32(&prcm_base->clksel1_pll, in dpll3_init_36xx()
411 clrsetbits_le32(&prcm_base->clksel1_pll, in dpll3_init_36xx()
415 clrbits_le32(&prcm_base->clksel1_pll, 0x00000040); in dpll3_init_36xx()
418 clrsetbits_le32(&prcm_base->clksel_core, in dpll3_init_36xx()
421 clrsetbits_le32(&prcm_base->clksel_core, in dpll3_init_36xx()
424 clrsetbits_le32(&prcm_base->clksel_core, in dpll3_init_36xx()
427 clrsetbits_le32(&prcm_base->clksel_core, in dpll3_init_36xx()
430 clrsetbits_le32(&prcm_base->clksel_gfx, in dpll3_init_36xx()
433 clrsetbits_le32(&prcm_base->clksel_wkup, in dpll3_init_36xx()
436 clrsetbits_le32(&prcm_base->clken_pll, in dpll3_init_36xx()
439 clrsetbits_le32(&prcm_base->clken_pll, in dpll3_init_36xx()
442 wait_on_value(ST_CORE_CLK, 1, &prcm_base->idlest_ckgen, in dpll3_init_36xx()
451 p0 = readl(&prcm_base->clken_pll); in dpll3_init_36xx()
456 p1 = readl(&prcm_base->clksel1_pll); in dpll3_init_36xx()
466 p2 = readl(&prcm_base->clksel_core); in dpll3_init_36xx()
476 p3 = (u32)&prcm_base->idlest_ckgen; in dpll3_init_36xx()
484 struct prcm *prcm_base = (struct prcm *)PRCM_BASE; in dpll4_init_36xx() local
493 clrsetbits_le32(&prcm_base->clken_pll, 0x00070000, PLL_STOP << 16); in dpll4_init_36xx()
494 wait_on_value(ST_PERIPH_CLK, 0, &prcm_base->idlest_ckgen, LDELAY); in dpll4_init_36xx()
497 clrsetbits_le32(&prcm_base->clksel1_emu, 0x3F000000, ptr->m6 << 24); in dpll4_init_36xx()
500 clrsetbits_le32(&prcm_base->clksel_cam, 0x0000003F, ptr->m5); in dpll4_init_36xx()
503 clrsetbits_le32(&prcm_base->clksel_dss, 0x0000003F, ptr->m4); in dpll4_init_36xx()
506 clrsetbits_le32(&prcm_base->clksel_dss, 0x00003F00, ptr->m3 << 8); in dpll4_init_36xx()
509 clrsetbits_le32(&prcm_base->clksel3_pll, 0x0000001F, ptr->m2); in dpll4_init_36xx()
512 clrsetbits_le32(&prcm_base->clksel2_pll, 0x000FFF00, ptr->m << 8); in dpll4_init_36xx()
515 clrsetbits_le32(&prcm_base->clksel2_pll, 0x0000007F, ptr->n); in dpll4_init_36xx()
518 clrsetbits_le32(&prcm_base->clksel_core, 0x00003000, ptr->m2div << 12); in dpll4_init_36xx()
521 clrsetbits_le32(&prcm_base->clken_pll, 0x00070000, PLL_LOCK << 16); in dpll4_init_36xx()
522 wait_on_value(ST_PERIPH_CLK, 2, &prcm_base->idlest_ckgen, LDELAY); in dpll4_init_36xx()
527 struct prcm *prcm_base = (struct prcm *)PRCM_BASE; in dpll5_init_36xx() local
534 clrsetbits_le32(&prcm_base->clken2_pll, 0x00000007, PLL_STOP); in dpll5_init_36xx()
535 wait_on_value(1, 0, &prcm_base->idlest2_ckgen, LDELAY); in dpll5_init_36xx()
537 clrsetbits_le32(&prcm_base->clksel5_pll, 0x0000001F, ptr->m2); in dpll5_init_36xx()
539 clrsetbits_le32(&prcm_base->clksel4_pll, 0x0007FF00, ptr->m << 8); in dpll5_init_36xx()
541 clrsetbits_le32(&prcm_base->clksel4_pll, 0x0000007F, ptr->n); in dpll5_init_36xx()
543 clrsetbits_le32(&prcm_base->clken2_pll, 0x00000007, PLL_LOCK); in dpll5_init_36xx()
544 wait_on_value(1, 1, &prcm_base->idlest2_ckgen, LDELAY); in dpll5_init_36xx()
549 struct prcm *prcm_base = (struct prcm *)PRCM_BASE; in mpu_init_36xx() local
558 clrsetbits_le32(&prcm_base->clksel2_pll_mpu, 0x0000001F, ptr->m2); in mpu_init_36xx()
561 clrsetbits_le32(&prcm_base->clksel1_pll_mpu, 0x0007FF00, ptr->m << 8); in mpu_init_36xx()
564 clrsetbits_le32(&prcm_base->clksel1_pll_mpu, 0x0000007F, ptr->n); in mpu_init_36xx()
569 struct prcm *prcm_base = (struct prcm *)PRCM_BASE; in iva_init_36xx() local
577 clrsetbits_le32(&prcm_base->clken_pll_iva2, 0x00000007, PLL_STOP); in iva_init_36xx()
578 wait_on_value(ST_IVA2_CLK, 0, &prcm_base->idlest_pll_iva2, LDELAY); in iva_init_36xx()
581 clrsetbits_le32(&prcm_base->clksel2_pll_iva2, 0x0000001F, ptr->m2); in iva_init_36xx()
584 clrsetbits_le32(&prcm_base->clksel1_pll_iva2, 0x0007FF00, ptr->m << 8); in iva_init_36xx()
587 clrsetbits_le32(&prcm_base->clksel1_pll_iva2, 0x0000007F, ptr->n); in iva_init_36xx()
590 clrsetbits_le32(&prcm_base->clken_pll_iva2, 0x00000007, PLL_LOCK); in iva_init_36xx()
592 wait_on_value(ST_IVA2_CLK, 1, &prcm_base->idlest_pll_iva2, LDELAY); in iva_init_36xx()
604 struct prcm *prcm_base = (struct prcm *)PRCM_BASE; in prcm_init() local
646 clrsetbits_le32(&prcm_base->clken_pll_mpu, in prcm_init()
648 wait_on_value(ST_MPU_CLK, 0, &prcm_base->idlest_pll_mpu, in prcm_init()
658 clrsetbits_le32(&prcm_base->clken_pll_mpu, in prcm_init()
660 wait_on_value(ST_MPU_CLK, 1, &prcm_base->idlest_pll_mpu, in prcm_init()
676 clrsetbits_le32(&prcm_base->clken_pll_mpu, in prcm_init()
678 wait_on_value(ST_MPU_CLK, 0, &prcm_base->idlest_pll_mpu, in prcm_init()
690 clrsetbits_le32(&prcm_base->clken_pll_mpu, in prcm_init()
692 wait_on_value(ST_MPU_CLK, 1, &prcm_base->idlest_pll_mpu, in prcm_init()
697 setbits_le32(&prcm_base->clksel_per, 0x000000FF); in prcm_init()
698 setbits_le32(&prcm_base->clksel_wkup, 1); in prcm_init()
708 struct prcm *prcm_base = (struct prcm *)PRCM_BASE; in ehci_clocks_enable() local
711 setbits_le32(&prcm_base->iclken_usbhost, 1); in ehci_clocks_enable()
716 setbits_le32(&prcm_base->fclken_usbhost, 0x00000003); in ehci_clocks_enable()
718 setbits_le32(&prcm_base->iclken3_core, 0x00000004); in ehci_clocks_enable()
720 setbits_le32(&prcm_base->fclken3_core, 0x00000004); in ehci_clocks_enable()
728 struct prcm *prcm_base = (struct prcm *)PRCM_BASE; in per_clocks_enable() local
731 setbits_le32(&prcm_base->clksel_per, 0x01); /* GPT2 = sys clk */ in per_clocks_enable()
732 setbits_le32(&prcm_base->iclken_per, 0x08); /* ICKen GPT2 */ in per_clocks_enable()
733 setbits_le32(&prcm_base->fclken_per, 0x08); /* FCKen GPT2 */ in per_clocks_enable()
736 setbits_le32(&prcm_base->clksel_per, 0x80); /* GPT9 = 32kHz clk */ in per_clocks_enable()
737 setbits_le32(&prcm_base->iclken_per, 0x400); /* ICKen GPT9 */ in per_clocks_enable()
738 setbits_le32(&prcm_base->fclken_per, 0x400); /* FCKen GPT9 */ in per_clocks_enable()
742 setbits_le32(&prcm_base->fclken1_core, 0x00002000); in per_clocks_enable()
743 setbits_le32(&prcm_base->iclken1_core, 0x00002000); in per_clocks_enable()
746 setbits_le32(&prcm_base->fclken1_core, 0x00004000); in per_clocks_enable()
747 setbits_le32(&prcm_base->iclken1_core, 0x00004000); in per_clocks_enable()
750 setbits_le32(&prcm_base->fclken_per, 0x00000800); in per_clocks_enable()
751 setbits_le32(&prcm_base->iclken_per, 0x00000800); in per_clocks_enable()
755 setbits_le32(&prcm_base->fclken_per, 0x00002000); in per_clocks_enable()
756 setbits_le32(&prcm_base->iclken_per, 0x00002000); in per_clocks_enable()
759 setbits_le32(&prcm_base->fclken_per, 0x00004000); in per_clocks_enable()
760 setbits_le32(&prcm_base->iclken_per, 0x00004000); in per_clocks_enable()
763 setbits_le32(&prcm_base->fclken_per, 0x00008000); in per_clocks_enable()
764 setbits_le32(&prcm_base->iclken_per, 0x00008000); in per_clocks_enable()
767 setbits_le32(&prcm_base->fclken_per, 0x00010000); in per_clocks_enable()
768 setbits_le32(&prcm_base->iclken_per, 0x00010000); in per_clocks_enable()
771 setbits_le32(&prcm_base->fclken_per, 0x00020000); in per_clocks_enable()
772 setbits_le32(&prcm_base->iclken_per, 0x00020000); in per_clocks_enable()
777 setbits_le32(&prcm_base->fclken1_core, 0x00038000); in per_clocks_enable()
778 setbits_le32(&prcm_base->iclken1_core, 0x00038000); /* I2C1,2,3 = on */ in per_clocks_enable()
781 setbits_le32(&prcm_base->iclken_wkup, 0x00000004); in per_clocks_enable()
784 out_le32(&prcm_base->fclken_iva2, FCK_IVA2_ON); in per_clocks_enable()
786 out_le32(&prcm_base->fclken1_core, FCK_CORE1_ON); in per_clocks_enable()
787 out_le32(&prcm_base->iclken1_core, ICK_CORE1_ON); in per_clocks_enable()
788 out_le32(&prcm_base->iclken2_core, ICK_CORE2_ON); in per_clocks_enable()
789 out_le32(&prcm_base->fclken_wkup, FCK_WKUP_ON); in per_clocks_enable()
790 out_le32(&prcm_base->iclken_wkup, ICK_WKUP_ON); in per_clocks_enable()
791 out_le32(&prcm_base->fclken_dss, FCK_DSS_ON); in per_clocks_enable()
792 out_le32(&prcm_base->iclken_dss, ICK_DSS_ON); in per_clocks_enable()
794 out_le32(&prcm_base->fclken_cam, FCK_CAM_ON); in per_clocks_enable()
795 out_le32(&prcm_base->iclken_cam, ICK_CAM_ON); in per_clocks_enable()