xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-omap3/clocks_omap3.h (revision e20cc2ca15b5b0644f51b6e58d530d70acd2bc00)
1819833afSPeter Tyser /*
2819833afSPeter Tyser  * (C) Copyright 2006-2008
3819833afSPeter Tyser  * Texas Instruments, <www.ti.com>
4819833afSPeter Tyser  * Richard Woodruff <r-woodruff2@ti.com>
5819833afSPeter Tyser  *
61a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
7819833afSPeter Tyser  */
8819833afSPeter Tyser #ifndef _CLOCKS_OMAP3_H_
9819833afSPeter Tyser #define _CLOCKS_OMAP3_H_
10819833afSPeter Tyser 
11819833afSPeter Tyser #define PLL_STOP		1	/* PER & IVA */
12819833afSPeter Tyser #define PLL_LOW_POWER_BYPASS	5	/* MPU, IVA & CORE */
13819833afSPeter Tyser #define PLL_FAST_RELOCK_BYPASS	6	/* CORE */
14819833afSPeter Tyser #define PLL_LOCK		7	/* MPU, IVA, CORE & PER */
15819833afSPeter Tyser 
16819833afSPeter Tyser /*
17819833afSPeter Tyser  * The following configurations are OPP and SysClk value independant
18819833afSPeter Tyser  * and hence are defined here. All the other DPLL related values are
19819833afSPeter Tyser  * tabulated in lowlevel_init.S.
20819833afSPeter Tyser  */
21819833afSPeter Tyser 
22819833afSPeter Tyser /* CORE DPLL */
23819833afSPeter Tyser #define CORE_M3X2	2	/* 332MHz : CM_CLKSEL1_EMU */
24819833afSPeter Tyser #define CORE_SSI_DIV	3	/* 221MHz : CM_CLKSEL_CORE */
25819833afSPeter Tyser #define CORE_FUSB_DIV	2	/* 41.5MHz: */
26819833afSPeter Tyser #define CORE_L4_DIV	2	/* 83MHz  : L4 */
27819833afSPeter Tyser #define CORE_L3_DIV	2	/* 166MHz : L3 {DDR} */
28819833afSPeter Tyser #define GFX_DIV		2	/* 83MHz  : CM_CLKSEL_GFX */
29f4dac3e1SVaibhav Hiremath #define GFX_DIV_36X	5	/* 200MHz : CM_CLKSEL_GFX */
30819833afSPeter Tyser #define WKUP_RSM	2	/* 41.5MHz: CM_CLKSEL_WKUP */
31819833afSPeter Tyser 
32819833afSPeter Tyser /* PER DPLL */
33819833afSPeter Tyser #define PER_M6X2	3	/* 288MHz: CM_CLKSEL1_EMU */
34819833afSPeter Tyser #define PER_M5X2	4	/* 216MHz: CM_CLKSEL_CAM */
35819833afSPeter Tyser #define PER_M4X2	2	/* 432MHz: CM_CLKSEL_DSS-dss1 */
36819833afSPeter Tyser #define PER_M3X2	16	/* 54MHz : CM_CLKSEL_DSS-tv */
37819833afSPeter Tyser 
38819833afSPeter Tyser #define CLSEL1_EMU_VAL ((CORE_M3X2 << 16) | (PER_M6X2 << 24) | (0x0A50))
39819833afSPeter Tyser 
40819833afSPeter Tyser /* MPU DPLL */
41819833afSPeter Tyser 
42819833afSPeter Tyser #define MPU_M_12_ES1		0x0FE
43819833afSPeter Tyser #define MPU_N_12_ES1		0x07
44819833afSPeter Tyser #define MPU_FSEL_12_ES1		0x05
45819833afSPeter Tyser #define MPU_M2_12_ES1		0x01
46819833afSPeter Tyser 
47819833afSPeter Tyser #define MPU_M_12_ES2		0x0FA
48819833afSPeter Tyser #define MPU_N_12_ES2		0x05
49819833afSPeter Tyser #define MPU_FSEL_12_ES2		0x07
50819833afSPeter Tyser #define MPU_M2_ES2		0x01
51819833afSPeter Tyser 
52819833afSPeter Tyser #define MPU_M_12		0x085
53819833afSPeter Tyser #define MPU_N_12		0x05
54819833afSPeter Tyser #define MPU_FSEL_12		0x07
55819833afSPeter Tyser #define MPU_M2_12		0x01
56819833afSPeter Tyser 
57819833afSPeter Tyser #define MPU_M_13_ES1		0x17D
58819833afSPeter Tyser #define MPU_N_13_ES1		0x0C
59819833afSPeter Tyser #define MPU_FSEL_13_ES1		0x03
60819833afSPeter Tyser #define MPU_M2_13_ES1		0x01
61819833afSPeter Tyser 
62c8e5ba80SSchuyler Patton #define MPU_M_13_ES2		0x258
63819833afSPeter Tyser #define MPU_N_13_ES2		0x0C
64819833afSPeter Tyser #define MPU_FSEL_13_ES2		0x03
65819833afSPeter Tyser #define MPU_M2_13_ES2		0x01
66819833afSPeter Tyser 
67819833afSPeter Tyser #define MPU_M_13		0x10A
68819833afSPeter Tyser #define MPU_N_13		0x0C
69819833afSPeter Tyser #define MPU_FSEL_13		0x03
70819833afSPeter Tyser #define MPU_M2_13		0x01
71819833afSPeter Tyser 
72819833afSPeter Tyser #define MPU_M_19P2_ES1		0x179
73819833afSPeter Tyser #define MPU_N_19P2_ES1		0x12
74819833afSPeter Tyser #define MPU_FSEL_19P2_ES1	0x04
75819833afSPeter Tyser #define MPU_M2_19P2_ES1		0x01
76819833afSPeter Tyser 
77819833afSPeter Tyser #define MPU_M_19P2_ES2		0x271
78819833afSPeter Tyser #define MPU_N_19P2_ES2		0x17
79819833afSPeter Tyser #define MPU_FSEL_19P2_ES2	0x03
80819833afSPeter Tyser #define MPU_M2_19P2_ES2		0x01
81819833afSPeter Tyser 
82819833afSPeter Tyser #define MPU_M_19P2		0x14C
83819833afSPeter Tyser #define MPU_N_19P2		0x17
84819833afSPeter Tyser #define MPU_FSEL_19P2		0x03
85819833afSPeter Tyser #define MPU_M2_19P2		0x01
86819833afSPeter Tyser 
87819833afSPeter Tyser #define MPU_M_26_ES1		0x17D
88819833afSPeter Tyser #define MPU_N_26_ES1		0x19
89819833afSPeter Tyser #define MPU_FSEL_26_ES1		0x03
90819833afSPeter Tyser #define MPU_M2_26_ES1		0x01
91819833afSPeter Tyser 
92819833afSPeter Tyser #define MPU_M_26_ES2		0x0FA
93819833afSPeter Tyser #define MPU_N_26_ES2		0x0C
94819833afSPeter Tyser #define MPU_FSEL_26_ES2		0x07
95819833afSPeter Tyser #define MPU_M2_26_ES2		0x01
96819833afSPeter Tyser 
97819833afSPeter Tyser #define MPU_M_26		0x085
98819833afSPeter Tyser #define MPU_N_26		0x0C
99819833afSPeter Tyser #define MPU_FSEL_26		0x07
100819833afSPeter Tyser #define MPU_M2_26		0x01
101819833afSPeter Tyser 
102819833afSPeter Tyser #define MPU_M_38P4_ES1		0x1FA
103819833afSPeter Tyser #define MPU_N_38P4_ES1		0x32
104819833afSPeter Tyser #define MPU_FSEL_38P4_ES1	0x03
105819833afSPeter Tyser #define MPU_M2_38P4_ES1		0x01
106819833afSPeter Tyser 
107819833afSPeter Tyser #define MPU_M_38P4_ES2		0x271
108819833afSPeter Tyser #define MPU_N_38P4_ES2		0x2F
109819833afSPeter Tyser #define MPU_FSEL_38P4_ES2	0x03
110819833afSPeter Tyser #define MPU_M2_38P4_ES2		0x01
111819833afSPeter Tyser 
112819833afSPeter Tyser #define MPU_M_38P4		0x14C
113819833afSPeter Tyser #define MPU_N_38P4		0x2F
114819833afSPeter Tyser #define MPU_FSEL_38P4		0x03
115819833afSPeter Tyser #define MPU_M2_38P4		0x01
116819833afSPeter Tyser 
117819833afSPeter Tyser /* IVA DPLL */
118819833afSPeter Tyser 
119819833afSPeter Tyser #define IVA_M_12_ES1		0x07D
120819833afSPeter Tyser #define IVA_N_12_ES1		0x05
121819833afSPeter Tyser #define IVA_FSEL_12_ES1		0x07
122819833afSPeter Tyser #define IVA_M2_12_ES1		0x01
123819833afSPeter Tyser 
124819833afSPeter Tyser #define IVA_M_12_ES2		0x0B4
125819833afSPeter Tyser #define IVA_N_12_ES2		0x05
126819833afSPeter Tyser #define IVA_FSEL_12_ES2		0x07
127819833afSPeter Tyser #define IVA_M2_12_ES2		0x01
128819833afSPeter Tyser 
129819833afSPeter Tyser #define IVA_M_12		0x085
130819833afSPeter Tyser #define IVA_N_12		0x05
131819833afSPeter Tyser #define IVA_FSEL_12		0x07
132819833afSPeter Tyser #define IVA_M2_12		0x01
133819833afSPeter Tyser 
134819833afSPeter Tyser #define IVA_M_13_ES1		0x0FA
135819833afSPeter Tyser #define IVA_N_13_ES1		0x0C
136819833afSPeter Tyser #define IVA_FSEL_13_ES1		0x03
137819833afSPeter Tyser #define IVA_M2_13_ES1		0x01
138819833afSPeter Tyser 
139819833afSPeter Tyser #define IVA_M_13_ES2		0x168
140819833afSPeter Tyser #define IVA_N_13_ES2		0x0C
141819833afSPeter Tyser #define IVA_FSEL_13_ES2		0x03
142819833afSPeter Tyser #define IVA_M2_13_ES2		0x01
143819833afSPeter Tyser 
144819833afSPeter Tyser #define IVA_M_13		0x10A
145819833afSPeter Tyser #define IVA_N_13		0x0C
146819833afSPeter Tyser #define IVA_FSEL_13		0x03
147819833afSPeter Tyser #define IVA_M2_13		0x01
148819833afSPeter Tyser 
149819833afSPeter Tyser #define IVA_M_19P2_ES1		0x082
150819833afSPeter Tyser #define IVA_N_19P2_ES1		0x09
151819833afSPeter Tyser #define IVA_FSEL_19P2_ES1	0x07
152819833afSPeter Tyser #define IVA_M2_19P2_ES1		0x01
153819833afSPeter Tyser 
154819833afSPeter Tyser #define IVA_M_19P2_ES2		0x0E1
155819833afSPeter Tyser #define IVA_N_19P2_ES2		0x0B
156819833afSPeter Tyser #define IVA_FSEL_19P2_ES2	0x06
157819833afSPeter Tyser #define IVA_M2_19P2_ES2		0x01
158819833afSPeter Tyser 
159819833afSPeter Tyser #define IVA_M_19P2		0x14C
160819833afSPeter Tyser #define IVA_N_19P2		0x17
161819833afSPeter Tyser #define IVA_FSEL_19P2		0x03
162819833afSPeter Tyser #define IVA_M2_19P2		0x01
163819833afSPeter Tyser 
164819833afSPeter Tyser #define IVA_M_26_ES1		0x07D
165819833afSPeter Tyser #define IVA_N_26_ES1		0x0C
166819833afSPeter Tyser #define IVA_FSEL_26_ES1		0x07
167819833afSPeter Tyser #define IVA_M2_26_ES1		0x01
168819833afSPeter Tyser 
169819833afSPeter Tyser #define IVA_M_26_ES2		0x0B4
170819833afSPeter Tyser #define IVA_N_26_ES2		0x0C
171819833afSPeter Tyser #define IVA_FSEL_26_ES2		0x07
172819833afSPeter Tyser #define IVA_M2_26_ES2		0x01
173819833afSPeter Tyser 
174819833afSPeter Tyser #define IVA_M_26		0x085
175819833afSPeter Tyser #define IVA_N_26		0x0C
176819833afSPeter Tyser #define IVA_FSEL_26		0x07
177819833afSPeter Tyser #define IVA_M2_26		0x01
178819833afSPeter Tyser 
179819833afSPeter Tyser #define IVA_M_38P4_ES1		0x13F
180819833afSPeter Tyser #define IVA_N_38P4_ES1		0x30
181819833afSPeter Tyser #define IVA_FSEL_38P4_ES1	0x03
182819833afSPeter Tyser #define IVA_M2_38P4_ES1		0x01
183819833afSPeter Tyser 
184819833afSPeter Tyser #define IVA_M_38P4_ES2		0x0E1
185819833afSPeter Tyser #define IVA_N_38P4_ES2		0x17
186819833afSPeter Tyser #define IVA_FSEL_38P4_ES2	0x06
187819833afSPeter Tyser #define IVA_M2_38P4_ES2		0x01
188819833afSPeter Tyser 
189819833afSPeter Tyser #define IVA_M_38P4		0x14C
190819833afSPeter Tyser #define IVA_N_38P4		0x2F
191819833afSPeter Tyser #define IVA_FSEL_38P4		0x03
192819833afSPeter Tyser #define IVA_M2_38P4		0x01
193819833afSPeter Tyser 
194819833afSPeter Tyser /* CORE DPLL */
195819833afSPeter Tyser 
196819833afSPeter Tyser #define CORE_M_12		0xA6
197819833afSPeter Tyser #define CORE_N_12		0x05
198819833afSPeter Tyser #define CORE_FSEL_12		0x07
199819833afSPeter Tyser #define CORE_M2_12		0x01	/* M3 of 2 */
200819833afSPeter Tyser 
201819833afSPeter Tyser #define CORE_M_12_ES1		0x19F
202819833afSPeter Tyser #define CORE_N_12_ES1		0x0E
203819833afSPeter Tyser #define CORE_FSL_12_ES1		0x03
204819833afSPeter Tyser #define CORE_M2_12_ES1		0x1	/* M3 of 2 */
205819833afSPeter Tyser 
206819833afSPeter Tyser #define CORE_M_13		0x14C
207819833afSPeter Tyser #define CORE_N_13		0x0C
208819833afSPeter Tyser #define CORE_FSEL_13		0x03
209819833afSPeter Tyser #define CORE_M2_13		0x01	/* M3 of 2 */
210819833afSPeter Tyser 
211819833afSPeter Tyser #define CORE_M_13_ES1		0x1B2
212819833afSPeter Tyser #define CORE_N_13_ES1		0x10
213819833afSPeter Tyser #define CORE_FSL_13_ES1		0x03
214819833afSPeter Tyser #define CORE_M2_13_ES1		0x01	/* M3 of 2 */
215819833afSPeter Tyser 
216819833afSPeter Tyser #define CORE_M_19P2		0x19F
217819833afSPeter Tyser #define CORE_N_19P2		0x17
218819833afSPeter Tyser #define CORE_FSEL_19P2		0x03
219819833afSPeter Tyser #define CORE_M2_19P2		0x01	/* M3 of 2 */
220819833afSPeter Tyser 
221819833afSPeter Tyser #define CORE_M_19P2_ES1		0x19F
222819833afSPeter Tyser #define CORE_N_19P2_ES1		0x17
223819833afSPeter Tyser #define CORE_FSL_19P2_ES1	0x03
224819833afSPeter Tyser #define CORE_M2_19P2_ES1	0x01	/* M3 of 2 */
225819833afSPeter Tyser 
226819833afSPeter Tyser #define CORE_M_26		0xA6
227819833afSPeter Tyser #define CORE_N_26		0x0C
228819833afSPeter Tyser #define CORE_FSEL_26		0x07
229819833afSPeter Tyser #define CORE_M2_26		0x01	/* M3 of 2 */
230819833afSPeter Tyser 
231819833afSPeter Tyser #define CORE_M_26_ES1		0x1B2
232819833afSPeter Tyser #define CORE_N_26_ES1		0x21
233819833afSPeter Tyser #define CORE_FSL_26_ES1		0x03
234819833afSPeter Tyser #define CORE_M2_26_ES1		0x01	/* M3 of 2 */
235819833afSPeter Tyser 
236819833afSPeter Tyser #define CORE_M_38P4		0x19F
237819833afSPeter Tyser #define CORE_N_38P4		0x2F
238819833afSPeter Tyser #define CORE_FSEL_38P4		0x03
239819833afSPeter Tyser #define CORE_M2_38P4		0x01	/* M3 of 2 */
240819833afSPeter Tyser 
241819833afSPeter Tyser #define CORE_M_38P4_ES1		0x19F
242819833afSPeter Tyser #define CORE_N_38P4_ES1		0x2F
243819833afSPeter Tyser #define CORE_FSL_38P4_ES1	0x03
244819833afSPeter Tyser #define CORE_M2_38P4_ES1	0x01	/* M3 of 2 */
245819833afSPeter Tyser 
246819833afSPeter Tyser /* PER DPLL */
247819833afSPeter Tyser 
248819833afSPeter Tyser #define PER_M_12		0xD8
249819833afSPeter Tyser #define PER_N_12		0x05
250819833afSPeter Tyser #define PER_FSEL_12		0x07
251819833afSPeter Tyser #define PER_M2_12		0x09
252819833afSPeter Tyser 
253819833afSPeter Tyser #define PER_M_13		0x1B0
254819833afSPeter Tyser #define PER_N_13		0x0C
255819833afSPeter Tyser #define PER_FSEL_13		0x03
256819833afSPeter Tyser #define PER_M2_13		0x09
257819833afSPeter Tyser 
258819833afSPeter Tyser #define PER_M_19P2		0xE1
259819833afSPeter Tyser #define PER_N_19P2		0x09
260819833afSPeter Tyser #define PER_FSEL_19P2		0x07
261819833afSPeter Tyser #define PER_M2_19P2		0x09
262819833afSPeter Tyser 
263819833afSPeter Tyser #define PER_M_26		0xD8
264819833afSPeter Tyser #define PER_N_26		0x0C
265819833afSPeter Tyser #define PER_FSEL_26		0x07
266819833afSPeter Tyser #define PER_M2_26		0x09
267819833afSPeter Tyser 
268819833afSPeter Tyser #define PER_M_38P4		0xE1
269819833afSPeter Tyser #define PER_N_38P4		0x13
270819833afSPeter Tyser #define PER_FSEL_38P4		0x07
271819833afSPeter Tyser #define PER_M2_38P4		0x09
272819833afSPeter Tyser 
2737b89795fSAlexander Holler /* PER2 DPLL */
2747b89795fSAlexander Holler #define PER2_M_12		0x78
2757b89795fSAlexander Holler #define PER2_N_12		0x0B
2767b89795fSAlexander Holler #define PER2_FSEL_12		0x03
2777b89795fSAlexander Holler #define PER2_M2_12		0x01
2787b89795fSAlexander Holler 
2797b89795fSAlexander Holler #define PER2_M_13		0x78
2807b89795fSAlexander Holler #define PER2_N_13		0x0C
2817b89795fSAlexander Holler #define PER2_FSEL_13		0x03
2827b89795fSAlexander Holler #define PER2_M2_13		0x01
2837b89795fSAlexander Holler 
2847b89795fSAlexander Holler #define PER2_M_19P2		0x2EE
2857b89795fSAlexander Holler #define PER2_N_19P2		0x0B
2867b89795fSAlexander Holler #define PER2_FSEL_19P2		0x06
2877b89795fSAlexander Holler #define PER2_M2_19P2		0x0A
2887b89795fSAlexander Holler 
2897b89795fSAlexander Holler #define PER2_M_26		0x78
2907b89795fSAlexander Holler #define PER2_N_26		0x0C
2917b89795fSAlexander Holler #define PER2_FSEL_26		0x03
2927b89795fSAlexander Holler #define PER2_M2_26		0x01
2937b89795fSAlexander Holler 
2947b89795fSAlexander Holler #define PER2_M_38P4		0x2EE
2957b89795fSAlexander Holler #define PER2_N_38P4		0x0B
2967b89795fSAlexander Holler #define PER2_FSEL_38P4		0x06
2977b89795fSAlexander Holler #define PER2_M2_38P4		0x0A
2987b89795fSAlexander Holler 
2997c281c98SSteve Sakoman /* 36XX PER DPLL */
3007c281c98SSteve Sakoman 
3017c281c98SSteve Sakoman #define PER_36XX_M_12		0x1B0
3027c281c98SSteve Sakoman #define PER_36XX_N_12		0x05
3037c281c98SSteve Sakoman #define PER_36XX_FSEL_12	0x07
3047c281c98SSteve Sakoman #define PER_36XX_M2_12		0x09
3057c281c98SSteve Sakoman 
3067c281c98SSteve Sakoman #define PER_36XX_M_13		0x360
3077c281c98SSteve Sakoman #define PER_36XX_N_13		0x0C
3087c281c98SSteve Sakoman #define PER_36XX_FSEL_13	0x03
3097c281c98SSteve Sakoman #define PER_36XX_M2_13		0x09
3107c281c98SSteve Sakoman 
3117c281c98SSteve Sakoman #define PER_36XX_M_19P2		0x1C2
3127c281c98SSteve Sakoman #define PER_36XX_N_19P2		0x09
3137c281c98SSteve Sakoman #define PER_36XX_FSEL_19P2	0x07
3147c281c98SSteve Sakoman #define PER_36XX_M2_19P2	0x09
3157c281c98SSteve Sakoman 
3167c281c98SSteve Sakoman #define PER_36XX_M_26		0x1B0
3177c281c98SSteve Sakoman #define PER_36XX_N_26		0x0C
3187c281c98SSteve Sakoman #define PER_36XX_FSEL_26	0x07
3197c281c98SSteve Sakoman #define PER_36XX_M2_26		0x09
3207c281c98SSteve Sakoman 
3217c281c98SSteve Sakoman #define PER_36XX_M_38P4		0x1C2
3227c281c98SSteve Sakoman #define PER_36XX_N_38P4		0x13
3237c281c98SSteve Sakoman #define PER_36XX_FSEL_38P4	0x07
3247c281c98SSteve Sakoman #define PER_36XX_M2_38P4	0x09
3257c281c98SSteve Sakoman 
326*a704a6d6SNaumann Andreas /* 36XX PER2 DPLL */
327*a704a6d6SNaumann Andreas 
328*a704a6d6SNaumann Andreas #define PER2_36XX_M_12		0x50
329*a704a6d6SNaumann Andreas #define PER2_36XX_N_12		0x00
330*a704a6d6SNaumann Andreas #define PER2_36XX_M2_12		0x08
331*a704a6d6SNaumann Andreas 
332*a704a6d6SNaumann Andreas #define PER2_36XX_M_13		0x1BB
333*a704a6d6SNaumann Andreas #define PER2_36XX_N_13		0x05
334*a704a6d6SNaumann Andreas #define PER2_36XX_M2_13		0x08
335*a704a6d6SNaumann Andreas 
336*a704a6d6SNaumann Andreas #define PER2_36XX_M_19P2		0x32
337*a704a6d6SNaumann Andreas #define PER2_36XX_N_19P2		0x00
338*a704a6d6SNaumann Andreas #define PER2_36XX_M2_19P2		0x08
339*a704a6d6SNaumann Andreas 
340*a704a6d6SNaumann Andreas #define PER2_36XX_M_26		0x1BB
341*a704a6d6SNaumann Andreas #define PER2_36XX_N_26		0x0B
342*a704a6d6SNaumann Andreas #define PER2_36XX_M2_26		0x08
343*a704a6d6SNaumann Andreas 
344*a704a6d6SNaumann Andreas #define PER2_36XX_M_38P4		0x19
345*a704a6d6SNaumann Andreas #define PER2_36XX_N_38P4		0x00
346*a704a6d6SNaumann Andreas #define PER2_36XX_M2_38P4		0x08
347*a704a6d6SNaumann Andreas 
348819833afSPeter Tyser #endif	/* endif _CLOCKS_OMAP3_H_ */
349