blob: aaf68a59800e2e20496e43191742a49800311f1f [file] [log] [blame]
Tony Lindgrenc5957132008-03-18 14:53:17 +02001#ifndef __ARCH_ARM_MACH_OMAP2_CM_REGBITS_34XX_H
2#define __ARCH_ARM_MACH_OMAP2_CM_REGBITS_34XX_H
3
4/*
5 * OMAP3430 Clock Management register bits
6 *
7 * Copyright (C) 2007-2008 Texas Instruments, Inc.
8 * Copyright (C) 2007-2008 Nokia Corporation
9 *
10 * Written by Paul Walmsley
11 *
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License version 2 as
14 * published by the Free Software Foundation.
15 */
16
17#include "cm.h"
18
19/* Bits shared between registers */
20
21/* CM_FCLKEN1_CORE and CM_ICLKEN1_CORE shared bits */
22#define OMAP3430ES2_EN_MMC3_MASK (1 << 30)
23#define OMAP3430ES2_EN_MMC3_SHIFT 30
24#define OMAP3430_EN_MSPRO (1 << 23)
25#define OMAP3430_EN_MSPRO_SHIFT 23
26#define OMAP3430_EN_HDQ (1 << 22)
27#define OMAP3430_EN_HDQ_SHIFT 22
28#define OMAP3430ES1_EN_FSHOSTUSB (1 << 5)
29#define OMAP3430ES1_EN_FSHOSTUSB_SHIFT 5
30#define OMAP3430ES1_EN_D2D (1 << 3)
31#define OMAP3430ES1_EN_D2D_SHIFT 3
32#define OMAP3430_EN_SSI (1 << 0)
33#define OMAP3430_EN_SSI_SHIFT 0
34
35/* CM_FCLKEN3_CORE and CM_ICLKEN3_CORE shared bits */
36#define OMAP3430ES2_EN_USBTLL_SHIFT 2
37#define OMAP3430ES2_EN_USBTLL_MASK (1 << 2)
38
39/* CM_FCLKEN_WKUP and CM_ICLKEN_WKUP shared bits */
40#define OMAP3430_EN_WDT2 (1 << 5)
41#define OMAP3430_EN_WDT2_SHIFT 5
42
43/* CM_ICLKEN_CAM, CM_FCLKEN_CAM shared bits */
44#define OMAP3430_EN_CAM (1 << 0)
45#define OMAP3430_EN_CAM_SHIFT 0
46
47/* CM_FCLKEN_PER, CM_ICLKEN_PER shared bits */
48#define OMAP3430_EN_WDT3 (1 << 12)
49#define OMAP3430_EN_WDT3_SHIFT 12
50
51/* CM_CLKSEL2_EMU, CM_CLKSEL3_EMU shared bits */
52#define OMAP3430_OVERRIDE_ENABLE (1 << 19)
53
54
55/* Bits specific to each register */
56
57/* CM_FCLKEN_IVA2 */
58#define OMAP3430_CM_FCLKEN_IVA2_EN_IVA2 (1 << 0)
Hiroshi DOYU31c203d2008-04-01 10:11:22 +030059#define OMAP3430_CM_FCLKEN_IVA2_EN_IVA2_SHIFT 0
Tony Lindgrenc5957132008-03-18 14:53:17 +020060
61/* CM_CLKEN_PLL_IVA2 */
62#define OMAP3430_IVA2_DPLL_RAMPTIME_SHIFT 8
63#define OMAP3430_IVA2_DPLL_RAMPTIME_MASK (0x3 << 8)
64#define OMAP3430_IVA2_DPLL_FREQSEL_SHIFT 4
65#define OMAP3430_IVA2_DPLL_FREQSEL_MASK (0xf << 4)
66#define OMAP3430_EN_IVA2_DPLL_DRIFTGUARD_SHIFT 3
67#define OMAP3430_EN_IVA2_DPLL_DRIFTGUARD_MASK (1 << 3)
68#define OMAP3430_EN_IVA2_DPLL_SHIFT 0
69#define OMAP3430_EN_IVA2_DPLL_MASK (0x7 << 0)
70
71/* CM_IDLEST_IVA2 */
72#define OMAP3430_ST_IVA2 (1 << 0)
73
74/* CM_IDLEST_PLL_IVA2 */
Paul Walmsley542313c2008-07-03 12:24:45 +030075#define OMAP3430_ST_IVA2_CLK_SHIFT 0
76#define OMAP3430_ST_IVA2_CLK_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +020077
78/* CM_AUTOIDLE_PLL_IVA2 */
79#define OMAP3430_AUTO_IVA2_DPLL_SHIFT 0
80#define OMAP3430_AUTO_IVA2_DPLL_MASK (0x7 << 0)
81
82/* CM_CLKSEL1_PLL_IVA2 */
83#define OMAP3430_IVA2_CLK_SRC_SHIFT 19
84#define OMAP3430_IVA2_CLK_SRC_MASK (0x3 << 19)
85#define OMAP3430_IVA2_DPLL_MULT_SHIFT 8
86#define OMAP3430_IVA2_DPLL_MULT_MASK (0x7ff << 8)
87#define OMAP3430_IVA2_DPLL_DIV_SHIFT 0
88#define OMAP3430_IVA2_DPLL_DIV_MASK (0x7f << 0)
89
90/* CM_CLKSEL2_PLL_IVA2 */
91#define OMAP3430_IVA2_DPLL_CLKOUT_DIV_SHIFT 0
92#define OMAP3430_IVA2_DPLL_CLKOUT_DIV_MASK (0x1f << 0)
93
94/* CM_CLKSTCTRL_IVA2 */
95#define OMAP3430_CLKTRCTRL_IVA2_SHIFT 0
96#define OMAP3430_CLKTRCTRL_IVA2_MASK (0x3 << 0)
97
98/* CM_CLKSTST_IVA2 */
Paul Walmsley801954d2008-08-19 11:08:44 +030099#define OMAP3430_CLKACTIVITY_IVA2_SHIFT 0
100#define OMAP3430_CLKACTIVITY_IVA2_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200101
102/* CM_REVISION specific bits */
103
104/* CM_SYSCONFIG specific bits */
105
106/* CM_CLKEN_PLL_MPU */
107#define OMAP3430_MPU_DPLL_RAMPTIME_SHIFT 8
108#define OMAP3430_MPU_DPLL_RAMPTIME_MASK (0x3 << 8)
109#define OMAP3430_MPU_DPLL_FREQSEL_SHIFT 4
110#define OMAP3430_MPU_DPLL_FREQSEL_MASK (0xf << 4)
111#define OMAP3430_EN_MPU_DPLL_DRIFTGUARD_SHIFT 3
112#define OMAP3430_EN_MPU_DPLL_DRIFTGUARD_MASK (1 << 3)
113#define OMAP3430_EN_MPU_DPLL_SHIFT 0
114#define OMAP3430_EN_MPU_DPLL_MASK (0x7 << 0)
115
116/* CM_IDLEST_MPU */
117#define OMAP3430_ST_MPU (1 << 0)
118
119/* CM_IDLEST_PLL_MPU */
Paul Walmsley542313c2008-07-03 12:24:45 +0300120#define OMAP3430_ST_MPU_CLK_SHIFT 0
Roman Tereshonkov3760d312008-03-13 21:35:09 +0200121#define OMAP3430_ST_MPU_CLK_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200122
123/* CM_AUTOIDLE_PLL_MPU */
124#define OMAP3430_AUTO_MPU_DPLL_SHIFT 0
125#define OMAP3430_AUTO_MPU_DPLL_MASK (0x7 << 0)
126
127/* CM_CLKSEL1_PLL_MPU */
128#define OMAP3430_MPU_CLK_SRC_SHIFT 19
129#define OMAP3430_MPU_CLK_SRC_MASK (0x3 << 19)
130#define OMAP3430_MPU_DPLL_MULT_SHIFT 8
131#define OMAP3430_MPU_DPLL_MULT_MASK (0x7ff << 8)
132#define OMAP3430_MPU_DPLL_DIV_SHIFT 0
133#define OMAP3430_MPU_DPLL_DIV_MASK (0x7f << 0)
134
135/* CM_CLKSEL2_PLL_MPU */
136#define OMAP3430_MPU_DPLL_CLKOUT_DIV_SHIFT 0
137#define OMAP3430_MPU_DPLL_CLKOUT_DIV_MASK (0x1f << 0)
138
139/* CM_CLKSTCTRL_MPU */
140#define OMAP3430_CLKTRCTRL_MPU_SHIFT 0
141#define OMAP3430_CLKTRCTRL_MPU_MASK (0x3 << 0)
142
143/* CM_CLKSTST_MPU */
Paul Walmsley801954d2008-08-19 11:08:44 +0300144#define OMAP3430_CLKACTIVITY_MPU_SHIFT 0
145#define OMAP3430_CLKACTIVITY_MPU_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200146
147/* CM_FCLKEN1_CORE specific bits */
148
149/* CM_ICLKEN1_CORE specific bits */
150#define OMAP3430_EN_ICR (1 << 29)
151#define OMAP3430_EN_ICR_SHIFT 29
152#define OMAP3430_EN_AES2 (1 << 28)
153#define OMAP3430_EN_AES2_SHIFT 28
154#define OMAP3430_EN_SHA12 (1 << 27)
155#define OMAP3430_EN_SHA12_SHIFT 27
156#define OMAP3430_EN_DES2 (1 << 26)
157#define OMAP3430_EN_DES2_SHIFT 26
158#define OMAP3430ES1_EN_FAC (1 << 8)
159#define OMAP3430ES1_EN_FAC_SHIFT 8
160#define OMAP3430_EN_MAILBOXES (1 << 7)
161#define OMAP3430_EN_MAILBOXES_SHIFT 7
162#define OMAP3430_EN_OMAPCTRL (1 << 6)
163#define OMAP3430_EN_OMAPCTRL_SHIFT 6
164#define OMAP3430_EN_SDRC (1 << 1)
165#define OMAP3430_EN_SDRC_SHIFT 1
166
167/* CM_ICLKEN2_CORE */
168#define OMAP3430_EN_PKA (1 << 4)
169#define OMAP3430_EN_PKA_SHIFT 4
170#define OMAP3430_EN_AES1 (1 << 3)
171#define OMAP3430_EN_AES1_SHIFT 3
172#define OMAP3430_EN_RNG (1 << 2)
173#define OMAP3430_EN_RNG_SHIFT 2
174#define OMAP3430_EN_SHA11 (1 << 1)
175#define OMAP3430_EN_SHA11_SHIFT 1
176#define OMAP3430_EN_DES1 (1 << 0)
177#define OMAP3430_EN_DES1_SHIFT 0
178
179/* CM_FCLKEN3_CORE specific bits */
180#define OMAP3430ES2_EN_TS_SHIFT 1
181#define OMAP3430ES2_EN_TS_MASK (1 << 1)
182#define OMAP3430ES2_EN_CPEFUSE_SHIFT 0
183#define OMAP3430ES2_EN_CPEFUSE_MASK (1 << 0)
184
185/* CM_IDLEST1_CORE specific bits */
186#define OMAP3430_ST_ICR (1 << 29)
187#define OMAP3430_ST_AES2 (1 << 28)
188#define OMAP3430_ST_SHA12 (1 << 27)
189#define OMAP3430_ST_DES2 (1 << 26)
190#define OMAP3430_ST_MSPRO (1 << 23)
191#define OMAP3430_ST_HDQ (1 << 22)
192#define OMAP3430ES1_ST_FAC (1 << 8)
193#define OMAP3430ES1_ST_MAILBOXES (1 << 7)
194#define OMAP3430_ST_OMAPCTRL (1 << 6)
195#define OMAP3430_ST_SDMA (1 << 2)
196#define OMAP3430_ST_SDRC (1 << 1)
197#define OMAP3430_ST_SSI (1 << 0)
198
199/* CM_IDLEST2_CORE */
200#define OMAP3430_ST_PKA (1 << 4)
201#define OMAP3430_ST_AES1 (1 << 3)
202#define OMAP3430_ST_RNG (1 << 2)
203#define OMAP3430_ST_SHA11 (1 << 1)
204#define OMAP3430_ST_DES1 (1 << 0)
205
206/* CM_IDLEST3_CORE */
207#define OMAP3430ES2_ST_USBTLL_SHIFT 2
208#define OMAP3430ES2_ST_USBTLL_MASK (1 << 2)
209
210/* CM_AUTOIDLE1_CORE */
211#define OMAP3430_AUTO_AES2 (1 << 28)
212#define OMAP3430_AUTO_AES2_SHIFT 28
213#define OMAP3430_AUTO_SHA12 (1 << 27)
214#define OMAP3430_AUTO_SHA12_SHIFT 27
215#define OMAP3430_AUTO_DES2 (1 << 26)
216#define OMAP3430_AUTO_DES2_SHIFT 26
217#define OMAP3430_AUTO_MMC2 (1 << 25)
218#define OMAP3430_AUTO_MMC2_SHIFT 25
219#define OMAP3430_AUTO_MMC1 (1 << 24)
220#define OMAP3430_AUTO_MMC1_SHIFT 24
221#define OMAP3430_AUTO_MSPRO (1 << 23)
222#define OMAP3430_AUTO_MSPRO_SHIFT 23
223#define OMAP3430_AUTO_HDQ (1 << 22)
224#define OMAP3430_AUTO_HDQ_SHIFT 22
225#define OMAP3430_AUTO_MCSPI4 (1 << 21)
226#define OMAP3430_AUTO_MCSPI4_SHIFT 21
227#define OMAP3430_AUTO_MCSPI3 (1 << 20)
228#define OMAP3430_AUTO_MCSPI3_SHIFT 20
229#define OMAP3430_AUTO_MCSPI2 (1 << 19)
230#define OMAP3430_AUTO_MCSPI2_SHIFT 19
231#define OMAP3430_AUTO_MCSPI1 (1 << 18)
232#define OMAP3430_AUTO_MCSPI1_SHIFT 18
233#define OMAP3430_AUTO_I2C3 (1 << 17)
234#define OMAP3430_AUTO_I2C3_SHIFT 17
235#define OMAP3430_AUTO_I2C2 (1 << 16)
236#define OMAP3430_AUTO_I2C2_SHIFT 16
237#define OMAP3430_AUTO_I2C1 (1 << 15)
238#define OMAP3430_AUTO_I2C1_SHIFT 15
239#define OMAP3430_AUTO_UART2 (1 << 14)
240#define OMAP3430_AUTO_UART2_SHIFT 14
241#define OMAP3430_AUTO_UART1 (1 << 13)
242#define OMAP3430_AUTO_UART1_SHIFT 13
243#define OMAP3430_AUTO_GPT11 (1 << 12)
244#define OMAP3430_AUTO_GPT11_SHIFT 12
245#define OMAP3430_AUTO_GPT10 (1 << 11)
246#define OMAP3430_AUTO_GPT10_SHIFT 11
247#define OMAP3430_AUTO_MCBSP5 (1 << 10)
248#define OMAP3430_AUTO_MCBSP5_SHIFT 10
249#define OMAP3430_AUTO_MCBSP1 (1 << 9)
250#define OMAP3430_AUTO_MCBSP1_SHIFT 9
251#define OMAP3430ES1_AUTO_FAC (1 << 8)
252#define OMAP3430ES1_AUTO_FAC_SHIFT 8
253#define OMAP3430_AUTO_MAILBOXES (1 << 7)
254#define OMAP3430_AUTO_MAILBOXES_SHIFT 7
255#define OMAP3430_AUTO_OMAPCTRL (1 << 6)
256#define OMAP3430_AUTO_OMAPCTRL_SHIFT 6
257#define OMAP3430ES1_AUTO_FSHOSTUSB (1 << 5)
258#define OMAP3430ES1_AUTO_FSHOSTUSB_SHIFT 5
259#define OMAP3430_AUTO_HSOTGUSB (1 << 4)
260#define OMAP3430_AUTO_HSOTGUSB_SHIFT 4
261#define OMAP3430ES1_AUTO_D2D (1 << 3)
262#define OMAP3430ES1_AUTO_D2D_SHIFT 3
263#define OMAP3430_AUTO_SSI (1 << 0)
264#define OMAP3430_AUTO_SSI_SHIFT 0
265
266/* CM_AUTOIDLE2_CORE */
267#define OMAP3430_AUTO_PKA (1 << 4)
268#define OMAP3430_AUTO_PKA_SHIFT 4
269#define OMAP3430_AUTO_AES1 (1 << 3)
270#define OMAP3430_AUTO_AES1_SHIFT 3
271#define OMAP3430_AUTO_RNG (1 << 2)
272#define OMAP3430_AUTO_RNG_SHIFT 2
273#define OMAP3430_AUTO_SHA11 (1 << 1)
274#define OMAP3430_AUTO_SHA11_SHIFT 1
275#define OMAP3430_AUTO_DES1 (1 << 0)
276#define OMAP3430_AUTO_DES1_SHIFT 0
277
278/* CM_AUTOIDLE3_CORE */
279#define OMAP3430ES2_AUTO_USBTLL_SHIFT 2
280#define OMAP3430ES2_AUTO_USBTLL_MASK (1 << 2)
281
282/* CM_CLKSEL_CORE */
283#define OMAP3430_CLKSEL_SSI_SHIFT 8
284#define OMAP3430_CLKSEL_SSI_MASK (0xf << 8)
285#define OMAP3430_CLKSEL_GPT11_MASK (1 << 7)
286#define OMAP3430_CLKSEL_GPT11_SHIFT 7
287#define OMAP3430_CLKSEL_GPT10_MASK (1 << 6)
288#define OMAP3430_CLKSEL_GPT10_SHIFT 6
289#define OMAP3430ES1_CLKSEL_FSHOSTUSB_SHIFT 4
290#define OMAP3430ES1_CLKSEL_FSHOSTUSB_MASK (0x3 << 4)
291#define OMAP3430_CLKSEL_L4_SHIFT 2
292#define OMAP3430_CLKSEL_L4_MASK (0x3 << 2)
293#define OMAP3430_CLKSEL_L3_SHIFT 0
294#define OMAP3430_CLKSEL_L3_MASK (0x3 << 0)
295
296/* CM_CLKSTCTRL_CORE */
297#define OMAP3430ES1_CLKTRCTRL_D2D_SHIFT 4
298#define OMAP3430ES1_CLKTRCTRL_D2D_MASK (0x3 << 4)
299#define OMAP3430_CLKTRCTRL_L4_SHIFT 2
300#define OMAP3430_CLKTRCTRL_L4_MASK (0x3 << 2)
301#define OMAP3430_CLKTRCTRL_L3_SHIFT 0
302#define OMAP3430_CLKTRCTRL_L3_MASK (0x3 << 0)
303
304/* CM_CLKSTST_CORE */
Paul Walmsley801954d2008-08-19 11:08:44 +0300305#define OMAP3430ES1_CLKACTIVITY_D2D_SHIFT 2
306#define OMAP3430ES1_CLKACTIVITY_D2D_MASK (1 << 2)
307#define OMAP3430_CLKACTIVITY_L4_SHIFT 1
308#define OMAP3430_CLKACTIVITY_L4_MASK (1 << 1)
309#define OMAP3430_CLKACTIVITY_L3_SHIFT 0
310#define OMAP3430_CLKACTIVITY_L3_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200311
312/* CM_FCLKEN_GFX */
313#define OMAP3430ES1_EN_3D (1 << 2)
314#define OMAP3430ES1_EN_3D_SHIFT 2
315#define OMAP3430ES1_EN_2D (1 << 1)
316#define OMAP3430ES1_EN_2D_SHIFT 1
317
318/* CM_ICLKEN_GFX specific bits */
319
320/* CM_IDLEST_GFX specific bits */
321
322/* CM_CLKSEL_GFX specific bits */
323
324/* CM_SLEEPDEP_GFX specific bits */
325
326/* CM_CLKSTCTRL_GFX */
327#define OMAP3430ES1_CLKTRCTRL_GFX_SHIFT 0
328#define OMAP3430ES1_CLKTRCTRL_GFX_MASK (0x3 << 0)
329
330/* CM_CLKSTST_GFX */
Paul Walmsley801954d2008-08-19 11:08:44 +0300331#define OMAP3430ES1_CLKACTIVITY_GFX_SHIFT 0
332#define OMAP3430ES1_CLKACTIVITY_GFX_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200333
334/* CM_FCLKEN_SGX */
Daniel Stone712d7c82009-01-27 19:13:05 -0700335#define OMAP3430ES2_CM_FCLKEN_SGX_EN_SGX_SHIFT 1
336#define OMAP3430ES2_CM_FCLKEN_SGX_EN_SGX_MASK (1 << 1)
337
338/* CM_ICLKEN_SGX */
339#define OMAP3430ES2_CM_ICLKEN_SGX_EN_SGX_SHIFT 0
340#define OMAP3430ES2_CM_ICLKEN_SGX_EN_SGX_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200341
342/* CM_CLKSEL_SGX */
343#define OMAP3430ES2_CLKSEL_SGX_SHIFT 0
344#define OMAP3430ES2_CLKSEL_SGX_MASK (0x7 << 0)
345
Paul Walmsley801954d2008-08-19 11:08:44 +0300346/* CM_CLKSTCTRL_SGX */
347#define OMAP3430ES2_CLKTRCTRL_SGX_SHIFT 0
348#define OMAP3430ES2_CLKTRCTRL_SGX_MASK (0x3 << 0)
349
350/* CM_CLKSTST_SGX */
351#define OMAP3430ES2_CLKACTIVITY_SGX_SHIFT 0
352#define OMAP3430ES2_CLKACTIVITY_SGX_MASK (1 << 0)
353
Tony Lindgrenc5957132008-03-18 14:53:17 +0200354/* CM_FCLKEN_WKUP specific bits */
355#define OMAP3430ES2_EN_USIMOCP_SHIFT 9
356
357/* CM_ICLKEN_WKUP specific bits */
358#define OMAP3430_EN_WDT1 (1 << 4)
359#define OMAP3430_EN_WDT1_SHIFT 4
360#define OMAP3430_EN_32KSYNC (1 << 2)
361#define OMAP3430_EN_32KSYNC_SHIFT 2
362
363/* CM_IDLEST_WKUP specific bits */
364#define OMAP3430_ST_WDT2 (1 << 5)
365#define OMAP3430_ST_WDT1 (1 << 4)
366#define OMAP3430_ST_32KSYNC (1 << 2)
367
368/* CM_AUTOIDLE_WKUP */
369#define OMAP3430_AUTO_WDT2 (1 << 5)
370#define OMAP3430_AUTO_WDT2_SHIFT 5
371#define OMAP3430_AUTO_WDT1 (1 << 4)
372#define OMAP3430_AUTO_WDT1_SHIFT 4
373#define OMAP3430_AUTO_GPIO1 (1 << 3)
374#define OMAP3430_AUTO_GPIO1_SHIFT 3
375#define OMAP3430_AUTO_32KSYNC (1 << 2)
376#define OMAP3430_AUTO_32KSYNC_SHIFT 2
377#define OMAP3430_AUTO_GPT12 (1 << 1)
378#define OMAP3430_AUTO_GPT12_SHIFT 1
379#define OMAP3430_AUTO_GPT1 (1 << 0)
380#define OMAP3430_AUTO_GPT1_SHIFT 0
381
382/* CM_CLKSEL_WKUP */
383#define OMAP3430ES2_CLKSEL_USIMOCP_MASK (0xf << 3)
384#define OMAP3430_CLKSEL_RM_SHIFT 1
385#define OMAP3430_CLKSEL_RM_MASK (0x3 << 1)
386#define OMAP3430_CLKSEL_GPT1_SHIFT 0
387#define OMAP3430_CLKSEL_GPT1_MASK (1 << 0)
388
389/* CM_CLKEN_PLL */
390#define OMAP3430_PWRDN_EMU_PERIPH_SHIFT 31
391#define OMAP3430_PWRDN_CAM_SHIFT 30
392#define OMAP3430_PWRDN_DSS1_SHIFT 29
393#define OMAP3430_PWRDN_TV_SHIFT 28
394#define OMAP3430_PWRDN_96M_SHIFT 27
395#define OMAP3430_PERIPH_DPLL_RAMPTIME_SHIFT 24
396#define OMAP3430_PERIPH_DPLL_RAMPTIME_MASK (0x3 << 24)
397#define OMAP3430_PERIPH_DPLL_FREQSEL_SHIFT 20
398#define OMAP3430_PERIPH_DPLL_FREQSEL_MASK (0xf << 20)
399#define OMAP3430_EN_PERIPH_DPLL_DRIFTGUARD_SHIFT 19
400#define OMAP3430_EN_PERIPH_DPLL_DRIFTGUARD_MASK (1 << 19)
401#define OMAP3430_EN_PERIPH_DPLL_SHIFT 16
402#define OMAP3430_EN_PERIPH_DPLL_MASK (0x7 << 16)
403#define OMAP3430_PWRDN_EMU_CORE_SHIFT 12
404#define OMAP3430_CORE_DPLL_RAMPTIME_SHIFT 8
405#define OMAP3430_CORE_DPLL_RAMPTIME_MASK (0x3 << 8)
406#define OMAP3430_CORE_DPLL_FREQSEL_SHIFT 4
407#define OMAP3430_CORE_DPLL_FREQSEL_MASK (0xf << 4)
408#define OMAP3430_EN_CORE_DPLL_DRIFTGUARD_SHIFT 3
409#define OMAP3430_EN_CORE_DPLL_DRIFTGUARD_MASK (1 << 3)
410#define OMAP3430_EN_CORE_DPLL_SHIFT 0
411#define OMAP3430_EN_CORE_DPLL_MASK (0x7 << 0)
412
413/* CM_CLKEN2_PLL */
414#define OMAP3430ES2_EN_PERIPH2_DPLL_LPMODE_SHIFT 10
415#define OMAP3430ES2_PERIPH2_DPLL_RAMPTIME_MASK (0x3 << 8)
416#define OMAP3430ES2_PERIPH2_DPLL_FREQSEL_SHIFT 4
417#define OMAP3430ES2_PERIPH2_DPLL_FREQSEL_MASK (0xf << 4)
418#define OMAP3430ES2_EN_PERIPH2_DPLL_DRIFTGUARD_SHIFT 3
419#define OMAP3430ES2_EN_PERIPH2_DPLL_SHIFT 0
420#define OMAP3430ES2_EN_PERIPH2_DPLL_MASK (0x7 << 0)
421
422/* CM_IDLEST_CKGEN */
423#define OMAP3430_ST_54M_CLK (1 << 5)
424#define OMAP3430_ST_12M_CLK (1 << 4)
425#define OMAP3430_ST_48M_CLK (1 << 3)
426#define OMAP3430_ST_96M_CLK (1 << 2)
Paul Walmsley542313c2008-07-03 12:24:45 +0300427#define OMAP3430_ST_PERIPH_CLK_SHIFT 1
428#define OMAP3430_ST_PERIPH_CLK_MASK (1 << 1)
429#define OMAP3430_ST_CORE_CLK_SHIFT 0
430#define OMAP3430_ST_CORE_CLK_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200431
432/* CM_IDLEST2_CKGEN */
433#define OMAP3430ES2_ST_120M_CLK_SHIFT 1
434#define OMAP3430ES2_ST_120M_CLK_MASK (1 << 1)
435#define OMAP3430ES2_ST_PERIPH2_CLK_SHIFT 0
436#define OMAP3430ES2_ST_PERIPH2_CLK_MASK (1 << 0)
437
438/* CM_AUTOIDLE_PLL */
439#define OMAP3430_AUTO_PERIPH_DPLL_SHIFT 3
440#define OMAP3430_AUTO_PERIPH_DPLL_MASK (0x7 << 3)
441#define OMAP3430_AUTO_CORE_DPLL_SHIFT 0
442#define OMAP3430_AUTO_CORE_DPLL_MASK (0x7 << 0)
443
Paul Walmsley542313c2008-07-03 12:24:45 +0300444/* CM_AUTOIDLE2_PLL */
445#define OMAP3430ES2_AUTO_PERIPH2_DPLL_SHIFT 0
446#define OMAP3430ES2_AUTO_PERIPH2_DPLL_MASK (0x7 << 0)
447
Tony Lindgrenc5957132008-03-18 14:53:17 +0200448/* CM_CLKSEL1_PLL */
449/* Note that OMAP3430_CORE_DPLL_CLKOUT_DIV_MASK was (0x3 << 27) on 3430ES1 */
450#define OMAP3430_CORE_DPLL_CLKOUT_DIV_SHIFT 27
451#define OMAP3430_CORE_DPLL_CLKOUT_DIV_MASK (0x1f << 27)
452#define OMAP3430_CORE_DPLL_MULT_SHIFT 16
453#define OMAP3430_CORE_DPLL_MULT_MASK (0x7ff << 16)
454#define OMAP3430_CORE_DPLL_DIV_SHIFT 8
455#define OMAP3430_CORE_DPLL_DIV_MASK (0x7f << 8)
Paul Walmsley9cfd9852009-01-27 19:13:02 -0700456#define OMAP3430_SOURCE_96M_SHIFT 6
457#define OMAP3430_SOURCE_96M_MASK (1 << 6)
458#define OMAP3430_SOURCE_54M_SHIFT 5
459#define OMAP3430_SOURCE_54M_MASK (1 << 5)
460#define OMAP3430_SOURCE_48M_SHIFT 3
461#define OMAP3430_SOURCE_48M_MASK (1 << 3)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200462
463/* CM_CLKSEL2_PLL */
464#define OMAP3430_PERIPH_DPLL_MULT_SHIFT 8
465#define OMAP3430_PERIPH_DPLL_MULT_MASK (0x7ff << 8)
466#define OMAP3430_PERIPH_DPLL_DIV_SHIFT 0
467#define OMAP3430_PERIPH_DPLL_DIV_MASK (0x7f << 0)
468
469/* CM_CLKSEL3_PLL */
470#define OMAP3430_DIV_96M_SHIFT 0
471#define OMAP3430_DIV_96M_MASK (0x1f << 0)
472
473/* CM_CLKSEL4_PLL */
474#define OMAP3430ES2_PERIPH2_DPLL_MULT_SHIFT 8
475#define OMAP3430ES2_PERIPH2_DPLL_MULT_MASK (0x7ff << 8)
476#define OMAP3430ES2_PERIPH2_DPLL_DIV_SHIFT 0
477#define OMAP3430ES2_PERIPH2_DPLL_DIV_MASK (0x7f << 0)
478
479/* CM_CLKSEL5_PLL */
480#define OMAP3430ES2_DIV_120M_SHIFT 0
481#define OMAP3430ES2_DIV_120M_MASK (0x1f << 0)
482
483/* CM_CLKOUT_CTRL */
484#define OMAP3430_CLKOUT2_EN_SHIFT 7
485#define OMAP3430_CLKOUT2_EN (1 << 7)
486#define OMAP3430_CLKOUT2_DIV_SHIFT 3
487#define OMAP3430_CLKOUT2_DIV_MASK (0x7 << 3)
488#define OMAP3430_CLKOUT2SOURCE_SHIFT 0
489#define OMAP3430_CLKOUT2SOURCE_MASK (0x3 << 0)
490
491/* CM_FCLKEN_DSS */
492#define OMAP3430_EN_TV (1 << 2)
493#define OMAP3430_EN_TV_SHIFT 2
494#define OMAP3430_EN_DSS2 (1 << 1)
495#define OMAP3430_EN_DSS2_SHIFT 1
496#define OMAP3430_EN_DSS1 (1 << 0)
497#define OMAP3430_EN_DSS1_SHIFT 0
498
499/* CM_ICLKEN_DSS */
500#define OMAP3430_CM_ICLKEN_DSS_EN_DSS (1 << 0)
501#define OMAP3430_CM_ICLKEN_DSS_EN_DSS_SHIFT 0
502
503/* CM_IDLEST_DSS */
504#define OMAP3430_ST_DSS (1 << 0)
505
506/* CM_AUTOIDLE_DSS */
507#define OMAP3430_AUTO_DSS (1 << 0)
508#define OMAP3430_AUTO_DSS_SHIFT 0
509
510/* CM_CLKSEL_DSS */
511#define OMAP3430_CLKSEL_TV_SHIFT 8
512#define OMAP3430_CLKSEL_TV_MASK (0x1f << 8)
513#define OMAP3430_CLKSEL_DSS1_SHIFT 0
514#define OMAP3430_CLKSEL_DSS1_MASK (0x1f << 0)
515
516/* CM_SLEEPDEP_DSS specific bits */
517
518/* CM_CLKSTCTRL_DSS */
519#define OMAP3430_CLKTRCTRL_DSS_SHIFT 0
520#define OMAP3430_CLKTRCTRL_DSS_MASK (0x3 << 0)
521
522/* CM_CLKSTST_DSS */
Paul Walmsley801954d2008-08-19 11:08:44 +0300523#define OMAP3430_CLKACTIVITY_DSS_SHIFT 0
524#define OMAP3430_CLKACTIVITY_DSS_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200525
526/* CM_FCLKEN_CAM specific bits */
Sergio Aguirre6c8fe0b2009-01-27 19:13:09 -0700527#define OMAP3430_EN_CSI2 (1 << 1)
528#define OMAP3430_EN_CSI2_SHIFT 1
Tony Lindgrenc5957132008-03-18 14:53:17 +0200529
530/* CM_ICLKEN_CAM specific bits */
531
532/* CM_IDLEST_CAM */
533#define OMAP3430_ST_CAM (1 << 0)
534
535/* CM_AUTOIDLE_CAM */
536#define OMAP3430_AUTO_CAM (1 << 0)
537#define OMAP3430_AUTO_CAM_SHIFT 0
538
539/* CM_CLKSEL_CAM */
540#define OMAP3430_CLKSEL_CAM_SHIFT 0
541#define OMAP3430_CLKSEL_CAM_MASK (0x1f << 0)
542
543/* CM_SLEEPDEP_CAM specific bits */
544
545/* CM_CLKSTCTRL_CAM */
546#define OMAP3430_CLKTRCTRL_CAM_SHIFT 0
547#define OMAP3430_CLKTRCTRL_CAM_MASK (0x3 << 0)
548
549/* CM_CLKSTST_CAM */
Paul Walmsley801954d2008-08-19 11:08:44 +0300550#define OMAP3430_CLKACTIVITY_CAM_SHIFT 0
551#define OMAP3430_CLKACTIVITY_CAM_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200552
553/* CM_FCLKEN_PER specific bits */
554
555/* CM_ICLKEN_PER specific bits */
556
557/* CM_IDLEST_PER */
558#define OMAP3430_ST_WDT3 (1 << 12)
559#define OMAP3430_ST_MCBSP4 (1 << 2)
560#define OMAP3430_ST_MCBSP3 (1 << 1)
561#define OMAP3430_ST_MCBSP2 (1 << 0)
562
563/* CM_AUTOIDLE_PER */
564#define OMAP3430_AUTO_GPIO6 (1 << 17)
565#define OMAP3430_AUTO_GPIO6_SHIFT 17
566#define OMAP3430_AUTO_GPIO5 (1 << 16)
567#define OMAP3430_AUTO_GPIO5_SHIFT 16
568#define OMAP3430_AUTO_GPIO4 (1 << 15)
569#define OMAP3430_AUTO_GPIO4_SHIFT 15
570#define OMAP3430_AUTO_GPIO3 (1 << 14)
571#define OMAP3430_AUTO_GPIO3_SHIFT 14
572#define OMAP3430_AUTO_GPIO2 (1 << 13)
573#define OMAP3430_AUTO_GPIO2_SHIFT 13
574#define OMAP3430_AUTO_WDT3 (1 << 12)
575#define OMAP3430_AUTO_WDT3_SHIFT 12
576#define OMAP3430_AUTO_UART3 (1 << 11)
577#define OMAP3430_AUTO_UART3_SHIFT 11
578#define OMAP3430_AUTO_GPT9 (1 << 10)
579#define OMAP3430_AUTO_GPT9_SHIFT 10
580#define OMAP3430_AUTO_GPT8 (1 << 9)
581#define OMAP3430_AUTO_GPT8_SHIFT 9
582#define OMAP3430_AUTO_GPT7 (1 << 8)
583#define OMAP3430_AUTO_GPT7_SHIFT 8
584#define OMAP3430_AUTO_GPT6 (1 << 7)
585#define OMAP3430_AUTO_GPT6_SHIFT 7
586#define OMAP3430_AUTO_GPT5 (1 << 6)
587#define OMAP3430_AUTO_GPT5_SHIFT 6
588#define OMAP3430_AUTO_GPT4 (1 << 5)
589#define OMAP3430_AUTO_GPT4_SHIFT 5
590#define OMAP3430_AUTO_GPT3 (1 << 4)
591#define OMAP3430_AUTO_GPT3_SHIFT 4
592#define OMAP3430_AUTO_GPT2 (1 << 3)
593#define OMAP3430_AUTO_GPT2_SHIFT 3
594#define OMAP3430_AUTO_MCBSP4 (1 << 2)
595#define OMAP3430_AUTO_MCBSP4_SHIFT 2
596#define OMAP3430_AUTO_MCBSP3 (1 << 1)
597#define OMAP3430_AUTO_MCBSP3_SHIFT 1
598#define OMAP3430_AUTO_MCBSP2 (1 << 0)
599#define OMAP3430_AUTO_MCBSP2_SHIFT 0
600
601/* CM_CLKSEL_PER */
602#define OMAP3430_CLKSEL_GPT9_MASK (1 << 7)
603#define OMAP3430_CLKSEL_GPT9_SHIFT 7
604#define OMAP3430_CLKSEL_GPT8_MASK (1 << 6)
605#define OMAP3430_CLKSEL_GPT8_SHIFT 6
606#define OMAP3430_CLKSEL_GPT7_MASK (1 << 5)
607#define OMAP3430_CLKSEL_GPT7_SHIFT 5
608#define OMAP3430_CLKSEL_GPT6_MASK (1 << 4)
609#define OMAP3430_CLKSEL_GPT6_SHIFT 4
610#define OMAP3430_CLKSEL_GPT5_MASK (1 << 3)
611#define OMAP3430_CLKSEL_GPT5_SHIFT 3
612#define OMAP3430_CLKSEL_GPT4_MASK (1 << 2)
613#define OMAP3430_CLKSEL_GPT4_SHIFT 2
614#define OMAP3430_CLKSEL_GPT3_MASK (1 << 1)
615#define OMAP3430_CLKSEL_GPT3_SHIFT 1
616#define OMAP3430_CLKSEL_GPT2_MASK (1 << 0)
617#define OMAP3430_CLKSEL_GPT2_SHIFT 0
618
619/* CM_SLEEPDEP_PER specific bits */
620#define OMAP3430_CM_SLEEPDEP_PER_EN_IVA2 (1 << 2)
621
622/* CM_CLKSTCTRL_PER */
623#define OMAP3430_CLKTRCTRL_PER_SHIFT 0
624#define OMAP3430_CLKTRCTRL_PER_MASK (0x3 << 0)
625
626/* CM_CLKSTST_PER */
Paul Walmsley801954d2008-08-19 11:08:44 +0300627#define OMAP3430_CLKACTIVITY_PER_SHIFT 0
628#define OMAP3430_CLKACTIVITY_PER_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200629
630/* CM_CLKSEL1_EMU */
631#define OMAP3430_DIV_DPLL4_SHIFT 24
632#define OMAP3430_DIV_DPLL4_MASK (0x1f << 24)
633#define OMAP3430_DIV_DPLL3_SHIFT 16
634#define OMAP3430_DIV_DPLL3_MASK (0x1f << 16)
635#define OMAP3430_CLKSEL_TRACECLK_SHIFT 11
636#define OMAP3430_CLKSEL_TRACECLK_MASK (0x7 << 11)
637#define OMAP3430_CLKSEL_PCLK_SHIFT 8
638#define OMAP3430_CLKSEL_PCLK_MASK (0x7 << 8)
639#define OMAP3430_CLKSEL_PCLKX2_SHIFT 6
640#define OMAP3430_CLKSEL_PCLKX2_MASK (0x3 << 6)
641#define OMAP3430_CLKSEL_ATCLK_SHIFT 4
642#define OMAP3430_CLKSEL_ATCLK_MASK (0x3 << 4)
643#define OMAP3430_TRACE_MUX_CTRL_SHIFT 2
644#define OMAP3430_TRACE_MUX_CTRL_MASK (0x3 << 2)
645#define OMAP3430_MUX_CTRL_SHIFT 0
646#define OMAP3430_MUX_CTRL_MASK (0x3 << 0)
647
648/* CM_CLKSTCTRL_EMU */
649#define OMAP3430_CLKTRCTRL_EMU_SHIFT 0
650#define OMAP3430_CLKTRCTRL_EMU_MASK (0x3 << 0)
651
652/* CM_CLKSTST_EMU */
Paul Walmsley801954d2008-08-19 11:08:44 +0300653#define OMAP3430_CLKACTIVITY_EMU_SHIFT 0
654#define OMAP3430_CLKACTIVITY_EMU_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200655
656/* CM_CLKSEL2_EMU specific bits */
657#define OMAP3430_CORE_DPLL_EMU_MULT_SHIFT 8
658#define OMAP3430_CORE_DPLL_EMU_MULT_MASK (0x7ff << 8)
659#define OMAP3430_CORE_DPLL_EMU_DIV_SHIFT 0
660#define OMAP3430_CORE_DPLL_EMU_DIV_MASK (0x7f << 0)
661
662/* CM_CLKSEL3_EMU specific bits */
663#define OMAP3430_PERIPH_DPLL_EMU_MULT_SHIFT 8
664#define OMAP3430_PERIPH_DPLL_EMU_MULT_MASK (0x7ff << 8)
665#define OMAP3430_PERIPH_DPLL_EMU_DIV_SHIFT 0
666#define OMAP3430_PERIPH_DPLL_EMU_DIV_MASK (0x7f << 0)
667
668/* CM_POLCTRL */
669#define OMAP3430_CLKOUT2_POL (1 << 0)
670
671/* CM_IDLEST_NEON */
672#define OMAP3430_ST_NEON (1 << 0)
673
674/* CM_CLKSTCTRL_NEON */
675#define OMAP3430_CLKTRCTRL_NEON_SHIFT 0
676#define OMAP3430_CLKTRCTRL_NEON_MASK (0x3 << 0)
677
678/* CM_FCLKEN_USBHOST */
679#define OMAP3430ES2_EN_USBHOST2_SHIFT 1
680#define OMAP3430ES2_EN_USBHOST2_MASK (1 << 1)
681#define OMAP3430ES2_EN_USBHOST1_SHIFT 0
682#define OMAP3430ES2_EN_USBHOST1_MASK (1 << 0)
683
684/* CM_ICLKEN_USBHOST */
685#define OMAP3430ES2_EN_USBHOST_SHIFT 0
686#define OMAP3430ES2_EN_USBHOST_MASK (1 << 0)
687
688/* CM_IDLEST_USBHOST */
689
690/* CM_AUTOIDLE_USBHOST */
691#define OMAP3430ES2_AUTO_USBHOST_SHIFT 0
692#define OMAP3430ES2_AUTO_USBHOST_MASK (1 << 0)
693
694/* CM_SLEEPDEP_USBHOST */
695#define OMAP3430ES2_EN_MPU_SHIFT 1
696#define OMAP3430ES2_EN_MPU_MASK (1 << 1)
697#define OMAP3430ES2_EN_IVA2_SHIFT 2
698#define OMAP3430ES2_EN_IVA2_MASK (1 << 2)
699
700/* CM_CLKSTCTRL_USBHOST */
701#define OMAP3430ES2_CLKTRCTRL_USBHOST_SHIFT 0
702#define OMAP3430ES2_CLKTRCTRL_USBHOST_MASK (3 << 0)
703
Paul Walmsley801954d2008-08-19 11:08:44 +0300704/* CM_CLKSTST_USBHOST */
705#define OMAP3430ES2_CLKACTIVITY_USBHOST_SHIFT 0
706#define OMAP3430ES2_CLKACTIVITY_USBHOST_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200707
708#endif