3 * Vipin Kumar, ST Micoelectronics, vipin.kumar@st.com.
5 * SPDX-License-Identifier: GPL-2.0+
11 * platform specific initializations are already done in Xloader
12 * Initializations already done include
13 * DDR, PLLs, IP's clock enable and reset release etc
17 /* By default, U-Boot switches CPU to low-vector */
18 /* Revert this as we work in high vector even in U-Boot */
19 mrc p15, 0, r0, c1, c0, 0
20 orr r0, r0, #0x00002000
21 mcr p15, 0, r0, c1, c0, 0
24 /* void setfreq(unsigned int device, unsigned int frequency) */
33 /* Saving the function arguements for later use */
37 /* Putting DDR into self refresh */
47 ldr r2,REFRESH_CYCLES_V
48 orr r1, r1, r2, lsl #16
52 ldr r2,SREFRESH_MASK_V
60 /* Delay to ensure self refresh mode */
61 ldr r0,SREFRESH_DELAY_V
67 /* Putting system in slow mode */
72 /* Changing PLL(1/2) frequency */
79 /* Change PLL2 (DDR frequency) */
85 /* Change PLL1 (CPU frequency) */
114 /* Putting system back to normal mode */
119 /* Putting DDR back to normal */
122 ldr r2,SREFRESH_MASK_V
129 /* Delay to ensure self refresh mode */
130 ldr r0,SREFRESH_DELAY_V
137 /* Resuming back to code */
179 .word setfreq_sz - setfreq