1*819833afSPeter Tyser /*
2*819833afSPeter Tyser  * (C) Copyright 2006-2008
3*819833afSPeter Tyser  * Texas Instruments, <www.ti.com>
4*819833afSPeter Tyser  * Richard Woodruff <r-woodruff2@ti.com>
5*819833afSPeter Tyser  *
6*819833afSPeter Tyser  * This program is free software; you can redistribute it and/or
7*819833afSPeter Tyser  * modify it under the terms of the GNU General Public License as
8*819833afSPeter Tyser  * published by the Free Software Foundation; either version 2 of
9*819833afSPeter Tyser  * the License, or (at your option) any later version.
10*819833afSPeter Tyser  *
11*819833afSPeter Tyser  * This program is distributed in the hope that it will be useful,
12*819833afSPeter Tyser  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13*819833afSPeter Tyser  * MERCHANTABILITY or FITNESS FOR A PARTICULAR /PURPOSE.  See the
14*819833afSPeter Tyser  * GNU General Public License for more details.
15*819833afSPeter Tyser  *
16*819833afSPeter Tyser  * You should have received a copy of the GNU General Public License
17*819833afSPeter Tyser  * along with this program; if not, write to the Free Software
18*819833afSPeter Tyser  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
19*819833afSPeter Tyser  * MA 02111-1307 USA
20*819833afSPeter Tyser  */
21*819833afSPeter Tyser #ifndef _CLOCKS_OMAP3_H_
22*819833afSPeter Tyser #define _CLOCKS_OMAP3_H_
23*819833afSPeter Tyser 
24*819833afSPeter Tyser #define PLL_STOP		1	/* PER & IVA */
25*819833afSPeter Tyser #define PLL_LOW_POWER_BYPASS	5	/* MPU, IVA & CORE */
26*819833afSPeter Tyser #define PLL_FAST_RELOCK_BYPASS	6	/* CORE */
27*819833afSPeter Tyser #define PLL_LOCK		7	/* MPU, IVA, CORE & PER */
28*819833afSPeter Tyser 
29*819833afSPeter Tyser /*
30*819833afSPeter Tyser  * The following configurations are OPP and SysClk value independant
31*819833afSPeter Tyser  * and hence are defined here. All the other DPLL related values are
32*819833afSPeter Tyser  * tabulated in lowlevel_init.S.
33*819833afSPeter Tyser  */
34*819833afSPeter Tyser 
35*819833afSPeter Tyser /* CORE DPLL */
36*819833afSPeter Tyser #define CORE_M3X2	2	/* 332MHz : CM_CLKSEL1_EMU */
37*819833afSPeter Tyser #define CORE_SSI_DIV	3	/* 221MHz : CM_CLKSEL_CORE */
38*819833afSPeter Tyser #define CORE_FUSB_DIV	2	/* 41.5MHz: */
39*819833afSPeter Tyser #define CORE_L4_DIV	2	/* 83MHz  : L4 */
40*819833afSPeter Tyser #define CORE_L3_DIV	2	/* 166MHz : L3 {DDR} */
41*819833afSPeter Tyser #define GFX_DIV		2	/* 83MHz  : CM_CLKSEL_GFX */
42*819833afSPeter Tyser #define WKUP_RSM	2	/* 41.5MHz: CM_CLKSEL_WKUP */
43*819833afSPeter Tyser 
44*819833afSPeter Tyser /* PER DPLL */
45*819833afSPeter Tyser #define PER_M6X2	3	/* 288MHz: CM_CLKSEL1_EMU */
46*819833afSPeter Tyser #define PER_M5X2	4	/* 216MHz: CM_CLKSEL_CAM */
47*819833afSPeter Tyser #define PER_M4X2	2	/* 432MHz: CM_CLKSEL_DSS-dss1 */
48*819833afSPeter Tyser #define PER_M3X2	16	/* 54MHz : CM_CLKSEL_DSS-tv */
49*819833afSPeter Tyser 
50*819833afSPeter Tyser #define CLSEL1_EMU_VAL ((CORE_M3X2 << 16) | (PER_M6X2 << 24) | (0x0A50))
51*819833afSPeter Tyser 
52*819833afSPeter Tyser /* MPU DPLL */
53*819833afSPeter Tyser 
54*819833afSPeter Tyser #define MPU_M_12_ES1		0x0FE
55*819833afSPeter Tyser #define MPU_N_12_ES1		0x07
56*819833afSPeter Tyser #define MPU_FSEL_12_ES1		0x05
57*819833afSPeter Tyser #define MPU_M2_12_ES1		0x01
58*819833afSPeter Tyser 
59*819833afSPeter Tyser #define MPU_M_12_ES2		0x0FA
60*819833afSPeter Tyser #define MPU_N_12_ES2		0x05
61*819833afSPeter Tyser #define MPU_FSEL_12_ES2		0x07
62*819833afSPeter Tyser #define MPU_M2_ES2		0x01
63*819833afSPeter Tyser 
64*819833afSPeter Tyser #define MPU_M_12		0x085
65*819833afSPeter Tyser #define MPU_N_12		0x05
66*819833afSPeter Tyser #define MPU_FSEL_12		0x07
67*819833afSPeter Tyser #define MPU_M2_12		0x01
68*819833afSPeter Tyser 
69*819833afSPeter Tyser #define MPU_M_13_ES1		0x17D
70*819833afSPeter Tyser #define MPU_N_13_ES1		0x0C
71*819833afSPeter Tyser #define MPU_FSEL_13_ES1		0x03
72*819833afSPeter Tyser #define MPU_M2_13_ES1		0x01
73*819833afSPeter Tyser 
74*819833afSPeter Tyser #define MPU_M_13_ES2		0x1F4
75*819833afSPeter Tyser #define MPU_N_13_ES2		0x0C
76*819833afSPeter Tyser #define MPU_FSEL_13_ES2		0x03
77*819833afSPeter Tyser #define MPU_M2_13_ES2		0x01
78*819833afSPeter Tyser 
79*819833afSPeter Tyser #define MPU_M_13		0x10A
80*819833afSPeter Tyser #define MPU_N_13		0x0C
81*819833afSPeter Tyser #define MPU_FSEL_13		0x03
82*819833afSPeter Tyser #define MPU_M2_13		0x01
83*819833afSPeter Tyser 
84*819833afSPeter Tyser #define MPU_M_19P2_ES1		0x179
85*819833afSPeter Tyser #define MPU_N_19P2_ES1		0x12
86*819833afSPeter Tyser #define MPU_FSEL_19P2_ES1	0x04
87*819833afSPeter Tyser #define MPU_M2_19P2_ES1		0x01
88*819833afSPeter Tyser 
89*819833afSPeter Tyser #define MPU_M_19P2_ES2		0x271
90*819833afSPeter Tyser #define MPU_N_19P2_ES2		0x17
91*819833afSPeter Tyser #define MPU_FSEL_19P2_ES2	0x03
92*819833afSPeter Tyser #define MPU_M2_19P2_ES2		0x01
93*819833afSPeter Tyser 
94*819833afSPeter Tyser #define MPU_M_19P2		0x14C
95*819833afSPeter Tyser #define MPU_N_19P2		0x17
96*819833afSPeter Tyser #define MPU_FSEL_19P2		0x03
97*819833afSPeter Tyser #define MPU_M2_19P2		0x01
98*819833afSPeter Tyser 
99*819833afSPeter Tyser #define MPU_M_26_ES1		0x17D
100*819833afSPeter Tyser #define MPU_N_26_ES1		0x19
101*819833afSPeter Tyser #define MPU_FSEL_26_ES1		0x03
102*819833afSPeter Tyser #define MPU_M2_26_ES1		0x01
103*819833afSPeter Tyser 
104*819833afSPeter Tyser #define MPU_M_26_ES2		0x0FA
105*819833afSPeter Tyser #define MPU_N_26_ES2		0x0C
106*819833afSPeter Tyser #define MPU_FSEL_26_ES2		0x07
107*819833afSPeter Tyser #define MPU_M2_26_ES2		0x01
108*819833afSPeter Tyser 
109*819833afSPeter Tyser #define MPU_M_26		0x085
110*819833afSPeter Tyser #define MPU_N_26		0x0C
111*819833afSPeter Tyser #define MPU_FSEL_26		0x07
112*819833afSPeter Tyser #define MPU_M2_26		0x01
113*819833afSPeter Tyser 
114*819833afSPeter Tyser #define MPU_M_38P4_ES1		0x1FA
115*819833afSPeter Tyser #define MPU_N_38P4_ES1		0x32
116*819833afSPeter Tyser #define MPU_FSEL_38P4_ES1	0x03
117*819833afSPeter Tyser #define MPU_M2_38P4_ES1		0x01
118*819833afSPeter Tyser 
119*819833afSPeter Tyser #define MPU_M_38P4_ES2		0x271
120*819833afSPeter Tyser #define MPU_N_38P4_ES2		0x2F
121*819833afSPeter Tyser #define MPU_FSEL_38P4_ES2	0x03
122*819833afSPeter Tyser #define MPU_M2_38P4_ES2		0x01
123*819833afSPeter Tyser 
124*819833afSPeter Tyser #define MPU_M_38P4		0x14C
125*819833afSPeter Tyser #define MPU_N_38P4		0x2F
126*819833afSPeter Tyser #define MPU_FSEL_38P4		0x03
127*819833afSPeter Tyser #define MPU_M2_38P4		0x01
128*819833afSPeter Tyser 
129*819833afSPeter Tyser /* IVA DPLL */
130*819833afSPeter Tyser 
131*819833afSPeter Tyser #define IVA_M_12_ES1		0x07D
132*819833afSPeter Tyser #define IVA_N_12_ES1		0x05
133*819833afSPeter Tyser #define IVA_FSEL_12_ES1		0x07
134*819833afSPeter Tyser #define IVA_M2_12_ES1		0x01
135*819833afSPeter Tyser 
136*819833afSPeter Tyser #define IVA_M_12_ES2		0x0B4
137*819833afSPeter Tyser #define IVA_N_12_ES2		0x05
138*819833afSPeter Tyser #define IVA_FSEL_12_ES2		0x07
139*819833afSPeter Tyser #define IVA_M2_12_ES2		0x01
140*819833afSPeter Tyser 
141*819833afSPeter Tyser #define IVA_M_12		0x085
142*819833afSPeter Tyser #define IVA_N_12		0x05
143*819833afSPeter Tyser #define IVA_FSEL_12		0x07
144*819833afSPeter Tyser #define IVA_M2_12		0x01
145*819833afSPeter Tyser 
146*819833afSPeter Tyser #define IVA_M_13_ES1		0x0FA
147*819833afSPeter Tyser #define IVA_N_13_ES1		0x0C
148*819833afSPeter Tyser #define IVA_FSEL_13_ES1		0x03
149*819833afSPeter Tyser #define IVA_M2_13_ES1		0x01
150*819833afSPeter Tyser 
151*819833afSPeter Tyser #define IVA_M_13_ES2		0x168
152*819833afSPeter Tyser #define IVA_N_13_ES2		0x0C
153*819833afSPeter Tyser #define IVA_FSEL_13_ES2		0x03
154*819833afSPeter Tyser #define IVA_M2_13_ES2		0x01
155*819833afSPeter Tyser 
156*819833afSPeter Tyser #define IVA_M_13		0x10A
157*819833afSPeter Tyser #define IVA_N_13		0x0C
158*819833afSPeter Tyser #define IVA_FSEL_13		0x03
159*819833afSPeter Tyser #define IVA_M2_13		0x01
160*819833afSPeter Tyser 
161*819833afSPeter Tyser #define IVA_M_19P2_ES1		0x082
162*819833afSPeter Tyser #define IVA_N_19P2_ES1		0x09
163*819833afSPeter Tyser #define IVA_FSEL_19P2_ES1	0x07
164*819833afSPeter Tyser #define IVA_M2_19P2_ES1		0x01
165*819833afSPeter Tyser 
166*819833afSPeter Tyser #define IVA_M_19P2_ES2		0x0E1
167*819833afSPeter Tyser #define IVA_N_19P2_ES2		0x0B
168*819833afSPeter Tyser #define IVA_FSEL_19P2_ES2	0x06
169*819833afSPeter Tyser #define IVA_M2_19P2_ES2		0x01
170*819833afSPeter Tyser 
171*819833afSPeter Tyser #define IVA_M_19P2		0x14C
172*819833afSPeter Tyser #define IVA_N_19P2		0x17
173*819833afSPeter Tyser #define IVA_FSEL_19P2		0x03
174*819833afSPeter Tyser #define IVA_M2_19P2		0x01
175*819833afSPeter Tyser 
176*819833afSPeter Tyser #define IVA_M_26_ES1		0x07D
177*819833afSPeter Tyser #define IVA_N_26_ES1		0x0C
178*819833afSPeter Tyser #define IVA_FSEL_26_ES1		0x07
179*819833afSPeter Tyser #define IVA_M2_26_ES1		0x01
180*819833afSPeter Tyser 
181*819833afSPeter Tyser #define IVA_M_26_ES2		0x0B4
182*819833afSPeter Tyser #define IVA_N_26_ES2		0x0C
183*819833afSPeter Tyser #define IVA_FSEL_26_ES2		0x07
184*819833afSPeter Tyser #define IVA_M2_26_ES2		0x01
185*819833afSPeter Tyser 
186*819833afSPeter Tyser #define IVA_M_26		0x085
187*819833afSPeter Tyser #define IVA_N_26		0x0C
188*819833afSPeter Tyser #define IVA_FSEL_26		0x07
189*819833afSPeter Tyser #define IVA_M2_26		0x01
190*819833afSPeter Tyser 
191*819833afSPeter Tyser #define IVA_M_38P4_ES1		0x13F
192*819833afSPeter Tyser #define IVA_N_38P4_ES1		0x30
193*819833afSPeter Tyser #define IVA_FSEL_38P4_ES1	0x03
194*819833afSPeter Tyser #define IVA_M2_38P4_ES1		0x01
195*819833afSPeter Tyser 
196*819833afSPeter Tyser #define IVA_M_38P4_ES2		0x0E1
197*819833afSPeter Tyser #define IVA_N_38P4_ES2		0x17
198*819833afSPeter Tyser #define IVA_FSEL_38P4_ES2	0x06
199*819833afSPeter Tyser #define IVA_M2_38P4_ES2		0x01
200*819833afSPeter Tyser 
201*819833afSPeter Tyser #define IVA_M_38P4		0x14C
202*819833afSPeter Tyser #define IVA_N_38P4		0x2F
203*819833afSPeter Tyser #define IVA_FSEL_38P4		0x03
204*819833afSPeter Tyser #define IVA_M2_38P4		0x01
205*819833afSPeter Tyser 
206*819833afSPeter Tyser /* CORE DPLL */
207*819833afSPeter Tyser 
208*819833afSPeter Tyser #define CORE_M_12		0xA6
209*819833afSPeter Tyser #define CORE_N_12		0x05
210*819833afSPeter Tyser #define CORE_FSEL_12		0x07
211*819833afSPeter Tyser #define CORE_M2_12		0x01	/* M3 of 2 */
212*819833afSPeter Tyser 
213*819833afSPeter Tyser #define CORE_M_12_ES1		0x19F
214*819833afSPeter Tyser #define CORE_N_12_ES1		0x0E
215*819833afSPeter Tyser #define CORE_FSL_12_ES1		0x03
216*819833afSPeter Tyser #define CORE_M2_12_ES1		0x1	/* M3 of 2 */
217*819833afSPeter Tyser 
218*819833afSPeter Tyser #define CORE_M_13		0x14C
219*819833afSPeter Tyser #define CORE_N_13		0x0C
220*819833afSPeter Tyser #define CORE_FSEL_13		0x03
221*819833afSPeter Tyser #define CORE_M2_13		0x01	/* M3 of 2 */
222*819833afSPeter Tyser 
223*819833afSPeter Tyser #define CORE_M_13_ES1		0x1B2
224*819833afSPeter Tyser #define CORE_N_13_ES1		0x10
225*819833afSPeter Tyser #define CORE_FSL_13_ES1		0x03
226*819833afSPeter Tyser #define CORE_M2_13_ES1		0x01	/* M3 of 2 */
227*819833afSPeter Tyser 
228*819833afSPeter Tyser #define CORE_M_19P2		0x19F
229*819833afSPeter Tyser #define CORE_N_19P2		0x17
230*819833afSPeter Tyser #define CORE_FSEL_19P2		0x03
231*819833afSPeter Tyser #define CORE_M2_19P2		0x01	/* M3 of 2 */
232*819833afSPeter Tyser 
233*819833afSPeter Tyser #define CORE_M_19P2_ES1		0x19F
234*819833afSPeter Tyser #define CORE_N_19P2_ES1		0x17
235*819833afSPeter Tyser #define CORE_FSL_19P2_ES1	0x03
236*819833afSPeter Tyser #define CORE_M2_19P2_ES1	0x01	/* M3 of 2 */
237*819833afSPeter Tyser 
238*819833afSPeter Tyser #define CORE_M_26		0xA6
239*819833afSPeter Tyser #define CORE_N_26		0x0C
240*819833afSPeter Tyser #define CORE_FSEL_26		0x07
241*819833afSPeter Tyser #define CORE_M2_26		0x01	/* M3 of 2 */
242*819833afSPeter Tyser 
243*819833afSPeter Tyser #define CORE_M_26_ES1		0x1B2
244*819833afSPeter Tyser #define CORE_N_26_ES1		0x21
245*819833afSPeter Tyser #define CORE_FSL_26_ES1		0x03
246*819833afSPeter Tyser #define CORE_M2_26_ES1		0x01	/* M3 of 2 */
247*819833afSPeter Tyser 
248*819833afSPeter Tyser #define CORE_M_38P4		0x19F
249*819833afSPeter Tyser #define CORE_N_38P4		0x2F
250*819833afSPeter Tyser #define CORE_FSEL_38P4		0x03
251*819833afSPeter Tyser #define CORE_M2_38P4		0x01	/* M3 of 2 */
252*819833afSPeter Tyser 
253*819833afSPeter Tyser #define CORE_M_38P4_ES1		0x19F
254*819833afSPeter Tyser #define CORE_N_38P4_ES1		0x2F
255*819833afSPeter Tyser #define CORE_FSL_38P4_ES1	0x03
256*819833afSPeter Tyser #define CORE_M2_38P4_ES1	0x01	/* M3 of 2 */
257*819833afSPeter Tyser 
258*819833afSPeter Tyser /* PER DPLL */
259*819833afSPeter Tyser 
260*819833afSPeter Tyser #define PER_M_12		0xD8
261*819833afSPeter Tyser #define PER_N_12		0x05
262*819833afSPeter Tyser #define PER_FSEL_12		0x07
263*819833afSPeter Tyser #define PER_M2_12		0x09
264*819833afSPeter Tyser 
265*819833afSPeter Tyser #define PER_M_13		0x1B0
266*819833afSPeter Tyser #define PER_N_13		0x0C
267*819833afSPeter Tyser #define PER_FSEL_13		0x03
268*819833afSPeter Tyser #define PER_M2_13		0x09
269*819833afSPeter Tyser 
270*819833afSPeter Tyser #define PER_M_19P2		0xE1
271*819833afSPeter Tyser #define PER_N_19P2		0x09
272*819833afSPeter Tyser #define PER_FSEL_19P2		0x07
273*819833afSPeter Tyser #define PER_M2_19P2		0x09
274*819833afSPeter Tyser 
275*819833afSPeter Tyser #define PER_M_26		0xD8
276*819833afSPeter Tyser #define PER_N_26		0x0C
277*819833afSPeter Tyser #define PER_FSEL_26		0x07
278*819833afSPeter Tyser #define PER_M2_26		0x09
279*819833afSPeter Tyser 
280*819833afSPeter Tyser #define PER_M_38P4		0xE1
281*819833afSPeter Tyser #define PER_N_38P4		0x13
282*819833afSPeter Tyser #define PER_FSEL_38P4		0x07
283*819833afSPeter Tyser #define PER_M2_38P4		0x09
284*819833afSPeter Tyser 
285*819833afSPeter Tyser #endif	/* endif _CLOCKS_OMAP3_H_ */
286