blob: 8083a8cdc55f074aad48a88e8a2c2f7605c8f333 [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
Tony Lindgrenc5957132008-03-18 14:53:17 +020017/* Bits shared between registers */
18
19/* CM_FCLKEN1_CORE and CM_ICLKEN1_CORE shared bits */
20#define OMAP3430ES2_EN_MMC3_MASK (1 << 30)
21#define OMAP3430ES2_EN_MMC3_SHIFT 30
Paul Walmsley2bc4ef72010-05-18 18:47:24 -060022#define OMAP3430_EN_MSPRO_MASK (1 << 23)
Tony Lindgrenc5957132008-03-18 14:53:17 +020023#define OMAP3430_EN_MSPRO_SHIFT 23
Paul Walmsley2bc4ef72010-05-18 18:47:24 -060024#define OMAP3430_EN_HDQ_MASK (1 << 22)
Tony Lindgrenc5957132008-03-18 14:53:17 +020025#define OMAP3430_EN_HDQ_SHIFT 22
Paul Walmsley2bc4ef72010-05-18 18:47:24 -060026#define OMAP3430ES1_EN_FSHOSTUSB_MASK (1 << 5)
Tony Lindgrenc5957132008-03-18 14:53:17 +020027#define OMAP3430ES1_EN_FSHOSTUSB_SHIFT 5
Paul Walmsley2bc4ef72010-05-18 18:47:24 -060028#define OMAP3430ES1_EN_D2D_MASK (1 << 3)
Tony Lindgrenc5957132008-03-18 14:53:17 +020029#define OMAP3430ES1_EN_D2D_SHIFT 3
Paul Walmsley2bc4ef72010-05-18 18:47:24 -060030#define OMAP3430_EN_SSI_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +020031#define OMAP3430_EN_SSI_SHIFT 0
32
33/* CM_FCLKEN3_CORE and CM_ICLKEN3_CORE shared bits */
34#define OMAP3430ES2_EN_USBTLL_SHIFT 2
35#define OMAP3430ES2_EN_USBTLL_MASK (1 << 2)
36
37/* CM_FCLKEN_WKUP and CM_ICLKEN_WKUP shared bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -060038#define OMAP3430_EN_WDT2_MASK (1 << 5)
Tony Lindgrenc5957132008-03-18 14:53:17 +020039#define OMAP3430_EN_WDT2_SHIFT 5
40
41/* CM_ICLKEN_CAM, CM_FCLKEN_CAM shared bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -060042#define OMAP3430_EN_CAM_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +020043#define OMAP3430_EN_CAM_SHIFT 0
44
45/* CM_FCLKEN_PER, CM_ICLKEN_PER shared bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -060046#define OMAP3430_EN_WDT3_MASK (1 << 12)
Tony Lindgrenc5957132008-03-18 14:53:17 +020047#define OMAP3430_EN_WDT3_SHIFT 12
48
49/* CM_CLKSEL2_EMU, CM_CLKSEL3_EMU shared bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -060050#define OMAP3430_OVERRIDE_ENABLE_MASK (1 << 19)
Tony Lindgrenc5957132008-03-18 14:53:17 +020051
52
53/* Bits specific to each register */
54
55/* CM_FCLKEN_IVA2 */
Kevin Hilmandfa6d6f2010-02-24 12:05:48 -070056#define OMAP3430_CM_FCLKEN_IVA2_EN_IVA2_MASK (1 << 0)
Hiroshi DOYU31c203d2008-04-01 10:11:22 +030057#define OMAP3430_CM_FCLKEN_IVA2_EN_IVA2_SHIFT 0
Tony Lindgrenc5957132008-03-18 14:53:17 +020058
59/* CM_CLKEN_PLL_IVA2 */
60#define OMAP3430_IVA2_DPLL_RAMPTIME_SHIFT 8
61#define OMAP3430_IVA2_DPLL_RAMPTIME_MASK (0x3 << 8)
62#define OMAP3430_IVA2_DPLL_FREQSEL_SHIFT 4
63#define OMAP3430_IVA2_DPLL_FREQSEL_MASK (0xf << 4)
64#define OMAP3430_EN_IVA2_DPLL_DRIFTGUARD_SHIFT 3
65#define OMAP3430_EN_IVA2_DPLL_DRIFTGUARD_MASK (1 << 3)
66#define OMAP3430_EN_IVA2_DPLL_SHIFT 0
67#define OMAP3430_EN_IVA2_DPLL_MASK (0x7 << 0)
68
69/* CM_IDLEST_IVA2 */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -060070#define OMAP3430_ST_IVA2_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +020071
72/* CM_IDLEST_PLL_IVA2 */
Paul Walmsley542313c2008-07-03 12:24:45 +030073#define OMAP3430_ST_IVA2_CLK_SHIFT 0
74#define OMAP3430_ST_IVA2_CLK_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +020075
76/* CM_AUTOIDLE_PLL_IVA2 */
77#define OMAP3430_AUTO_IVA2_DPLL_SHIFT 0
78#define OMAP3430_AUTO_IVA2_DPLL_MASK (0x7 << 0)
79
80/* CM_CLKSEL1_PLL_IVA2 */
81#define OMAP3430_IVA2_CLK_SRC_SHIFT 19
Rajendra Nayak4e68f5a2012-05-07 23:55:21 -060082#define OMAP3430_IVA2_CLK_SRC_MASK (0x7 << 19)
Tony Lindgrenc5957132008-03-18 14:53:17 +020083#define OMAP3430_IVA2_DPLL_MULT_SHIFT 8
84#define OMAP3430_IVA2_DPLL_MULT_MASK (0x7ff << 8)
85#define OMAP3430_IVA2_DPLL_DIV_SHIFT 0
86#define OMAP3430_IVA2_DPLL_DIV_MASK (0x7f << 0)
87
88/* CM_CLKSEL2_PLL_IVA2 */
89#define OMAP3430_IVA2_DPLL_CLKOUT_DIV_SHIFT 0
90#define OMAP3430_IVA2_DPLL_CLKOUT_DIV_MASK (0x1f << 0)
91
92/* CM_CLKSTCTRL_IVA2 */
93#define OMAP3430_CLKTRCTRL_IVA2_SHIFT 0
94#define OMAP3430_CLKTRCTRL_IVA2_MASK (0x3 << 0)
95
96/* CM_CLKSTST_IVA2 */
Paul Walmsley801954d2008-08-19 11:08:44 +030097#define OMAP3430_CLKACTIVITY_IVA2_SHIFT 0
98#define OMAP3430_CLKACTIVITY_IVA2_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +020099
100/* CM_REVISION specific bits */
101
102/* CM_SYSCONFIG specific bits */
103
104/* CM_CLKEN_PLL_MPU */
105#define OMAP3430_MPU_DPLL_RAMPTIME_SHIFT 8
106#define OMAP3430_MPU_DPLL_RAMPTIME_MASK (0x3 << 8)
107#define OMAP3430_MPU_DPLL_FREQSEL_SHIFT 4
108#define OMAP3430_MPU_DPLL_FREQSEL_MASK (0xf << 4)
109#define OMAP3430_EN_MPU_DPLL_DRIFTGUARD_SHIFT 3
110#define OMAP3430_EN_MPU_DPLL_DRIFTGUARD_MASK (1 << 3)
111#define OMAP3430_EN_MPU_DPLL_SHIFT 0
112#define OMAP3430_EN_MPU_DPLL_MASK (0x7 << 0)
113
114/* CM_IDLEST_MPU */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600115#define OMAP3430_ST_MPU_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200116
117/* CM_IDLEST_PLL_MPU */
Paul Walmsley542313c2008-07-03 12:24:45 +0300118#define OMAP3430_ST_MPU_CLK_SHIFT 0
Roman Tereshonkov3760d312008-03-13 21:35:09 +0200119#define OMAP3430_ST_MPU_CLK_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200120
121/* CM_AUTOIDLE_PLL_MPU */
122#define OMAP3430_AUTO_MPU_DPLL_SHIFT 0
123#define OMAP3430_AUTO_MPU_DPLL_MASK (0x7 << 0)
124
125/* CM_CLKSEL1_PLL_MPU */
126#define OMAP3430_MPU_CLK_SRC_SHIFT 19
Rajendra Nayak4e68f5a2012-05-07 23:55:21 -0600127#define OMAP3430_MPU_CLK_SRC_MASK (0x7 << 19)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200128#define OMAP3430_MPU_DPLL_MULT_SHIFT 8
129#define OMAP3430_MPU_DPLL_MULT_MASK (0x7ff << 8)
130#define OMAP3430_MPU_DPLL_DIV_SHIFT 0
131#define OMAP3430_MPU_DPLL_DIV_MASK (0x7f << 0)
132
133/* CM_CLKSEL2_PLL_MPU */
134#define OMAP3430_MPU_DPLL_CLKOUT_DIV_SHIFT 0
135#define OMAP3430_MPU_DPLL_CLKOUT_DIV_MASK (0x1f << 0)
136
137/* CM_CLKSTCTRL_MPU */
138#define OMAP3430_CLKTRCTRL_MPU_SHIFT 0
139#define OMAP3430_CLKTRCTRL_MPU_MASK (0x3 << 0)
140
141/* CM_CLKSTST_MPU */
Paul Walmsley801954d2008-08-19 11:08:44 +0300142#define OMAP3430_CLKACTIVITY_MPU_SHIFT 0
143#define OMAP3430_CLKACTIVITY_MPU_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200144
145/* CM_FCLKEN1_CORE specific bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600146#define OMAP3430_EN_MODEM_MASK (1 << 31)
Kevin Hilman8111b222009-04-28 15:27:44 -0700147#define OMAP3430_EN_MODEM_SHIFT 31
Tony Lindgrenc5957132008-03-18 14:53:17 +0200148
149/* CM_ICLKEN1_CORE specific bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600150#define OMAP3430_EN_ICR_MASK (1 << 29)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200151#define OMAP3430_EN_ICR_SHIFT 29
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600152#define OMAP3430_EN_AES2_MASK (1 << 28)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200153#define OMAP3430_EN_AES2_SHIFT 28
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600154#define OMAP3430_EN_SHA12_MASK (1 << 27)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200155#define OMAP3430_EN_SHA12_SHIFT 27
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600156#define OMAP3430_EN_DES2_MASK (1 << 26)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200157#define OMAP3430_EN_DES2_SHIFT 26
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600158#define OMAP3430ES1_EN_FAC_MASK (1 << 8)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200159#define OMAP3430ES1_EN_FAC_SHIFT 8
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600160#define OMAP3430_EN_MAILBOXES_MASK (1 << 7)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200161#define OMAP3430_EN_MAILBOXES_SHIFT 7
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600162#define OMAP3430_EN_OMAPCTRL_MASK (1 << 6)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200163#define OMAP3430_EN_OMAPCTRL_SHIFT 6
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600164#define OMAP3430_EN_SAD2D_MASK (1 << 3)
Kevin Hilman8111b222009-04-28 15:27:44 -0700165#define OMAP3430_EN_SAD2D_SHIFT 3
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600166#define OMAP3430_EN_SDRC_MASK (1 << 1)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200167#define OMAP3430_EN_SDRC_SHIFT 1
168
Ranjith Lohithakshan3cc4a2f2010-02-24 12:05:55 -0700169/* AM35XX specific CM_ICLKEN1_CORE bits */
170#define AM35XX_EN_IPSS_MASK (1 << 4)
171#define AM35XX_EN_IPSS_SHIFT 4
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600172#define AM35XX_EN_UART4_MASK (1 << 23)
Ranjith Lohithakshan3cc4a2f2010-02-24 12:05:55 -0700173#define AM35XX_EN_UART4_SHIFT 23
174
Tony Lindgrenc5957132008-03-18 14:53:17 +0200175/* CM_ICLKEN2_CORE */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600176#define OMAP3430_EN_PKA_MASK (1 << 4)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200177#define OMAP3430_EN_PKA_SHIFT 4
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600178#define OMAP3430_EN_AES1_MASK (1 << 3)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200179#define OMAP3430_EN_AES1_SHIFT 3
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600180#define OMAP3430_EN_RNG_MASK (1 << 2)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200181#define OMAP3430_EN_RNG_SHIFT 2
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600182#define OMAP3430_EN_SHA11_MASK (1 << 1)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200183#define OMAP3430_EN_SHA11_SHIFT 1
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600184#define OMAP3430_EN_DES1_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200185#define OMAP3430_EN_DES1_SHIFT 0
186
Kevin Hilman8111b222009-04-28 15:27:44 -0700187/* CM_ICLKEN3_CORE */
188#define OMAP3430_EN_MAD2D_SHIFT 3
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600189#define OMAP3430_EN_MAD2D_MASK (1 << 3)
Kevin Hilman8111b222009-04-28 15:27:44 -0700190
Tony Lindgrenc5957132008-03-18 14:53:17 +0200191/* CM_FCLKEN3_CORE specific bits */
192#define OMAP3430ES2_EN_TS_SHIFT 1
193#define OMAP3430ES2_EN_TS_MASK (1 << 1)
194#define OMAP3430ES2_EN_CPEFUSE_SHIFT 0
195#define OMAP3430ES2_EN_CPEFUSE_MASK (1 << 0)
196
197/* CM_IDLEST1_CORE specific bits */
Paul Walmsleyda0747d2009-01-28 12:18:22 -0700198#define OMAP3430ES2_ST_MMC3_SHIFT 30
199#define OMAP3430ES2_ST_MMC3_MASK (1 << 30)
200#define OMAP3430_ST_ICR_SHIFT 29
201#define OMAP3430_ST_ICR_MASK (1 << 29)
202#define OMAP3430_ST_AES2_SHIFT 28
203#define OMAP3430_ST_AES2_MASK (1 << 28)
204#define OMAP3430_ST_SHA12_SHIFT 27
205#define OMAP3430_ST_SHA12_MASK (1 << 27)
206#define OMAP3430_ST_DES2_SHIFT 26
207#define OMAP3430_ST_DES2_MASK (1 << 26)
208#define OMAP3430_ST_MSPRO_SHIFT 23
209#define OMAP3430_ST_MSPRO_MASK (1 << 23)
210#define OMAP3430_ST_HDQ_SHIFT 22
211#define OMAP3430_ST_HDQ_MASK (1 << 22)
212#define OMAP3430ES1_ST_FAC_SHIFT 8
213#define OMAP3430ES1_ST_FAC_MASK (1 << 8)
214#define OMAP3430ES2_ST_SSI_IDLE_SHIFT 8
215#define OMAP3430ES2_ST_SSI_IDLE_MASK (1 << 8)
216#define OMAP3430_ST_MAILBOXES_SHIFT 7
217#define OMAP3430_ST_MAILBOXES_MASK (1 << 7)
218#define OMAP3430_ST_OMAPCTRL_SHIFT 6
219#define OMAP3430_ST_OMAPCTRL_MASK (1 << 6)
220#define OMAP3430_ST_SDMA_SHIFT 2
221#define OMAP3430_ST_SDMA_MASK (1 << 2)
222#define OMAP3430_ST_SDRC_SHIFT 1
223#define OMAP3430_ST_SDRC_MASK (1 << 1)
224#define OMAP3430_ST_SSI_STDBY_SHIFT 0
225#define OMAP3430_ST_SSI_STDBY_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200226
Ranjith Lohithakshan3cc4a2f2010-02-24 12:05:55 -0700227/* AM35xx specific CM_IDLEST1_CORE bits */
228#define AM35XX_ST_IPSS_SHIFT 5
229#define AM35XX_ST_IPSS_MASK (1 << 5)
230
Tony Lindgrenc5957132008-03-18 14:53:17 +0200231/* CM_IDLEST2_CORE */
Paul Walmsleyda0747d2009-01-28 12:18:22 -0700232#define OMAP3430_ST_PKA_SHIFT 4
233#define OMAP3430_ST_PKA_MASK (1 << 4)
234#define OMAP3430_ST_AES1_SHIFT 3
235#define OMAP3430_ST_AES1_MASK (1 << 3)
236#define OMAP3430_ST_RNG_SHIFT 2
237#define OMAP3430_ST_RNG_MASK (1 << 2)
238#define OMAP3430_ST_SHA11_SHIFT 1
239#define OMAP3430_ST_SHA11_MASK (1 << 1)
240#define OMAP3430_ST_DES1_SHIFT 0
241#define OMAP3430_ST_DES1_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200242
243/* CM_IDLEST3_CORE */
244#define OMAP3430ES2_ST_USBTLL_SHIFT 2
245#define OMAP3430ES2_ST_USBTLL_MASK (1 << 2)
Paul Walmsleyda0747d2009-01-28 12:18:22 -0700246#define OMAP3430ES2_ST_CPEFUSE_SHIFT 0
247#define OMAP3430ES2_ST_CPEFUSE_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200248
249/* CM_AUTOIDLE1_CORE */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600250#define OMAP3430_AUTO_MODEM_MASK (1 << 31)
Kevin Hilman8111b222009-04-28 15:27:44 -0700251#define OMAP3430_AUTO_MODEM_SHIFT 31
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600252#define OMAP3430ES2_AUTO_MMC3_MASK (1 << 30)
Jouni Hogander027d8de2008-05-16 13:58:18 +0300253#define OMAP3430ES2_AUTO_MMC3_SHIFT 30
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600254#define OMAP3430ES2_AUTO_ICR_MASK (1 << 29)
Jouni Hogander027d8de2008-05-16 13:58:18 +0300255#define OMAP3430ES2_AUTO_ICR_SHIFT 29
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600256#define OMAP3430_AUTO_AES2_MASK (1 << 28)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200257#define OMAP3430_AUTO_AES2_SHIFT 28
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600258#define OMAP3430_AUTO_SHA12_MASK (1 << 27)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200259#define OMAP3430_AUTO_SHA12_SHIFT 27
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600260#define OMAP3430_AUTO_DES2_MASK (1 << 26)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200261#define OMAP3430_AUTO_DES2_SHIFT 26
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600262#define OMAP3430_AUTO_MMC2_MASK (1 << 25)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200263#define OMAP3430_AUTO_MMC2_SHIFT 25
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600264#define OMAP3430_AUTO_MMC1_MASK (1 << 24)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200265#define OMAP3430_AUTO_MMC1_SHIFT 24
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600266#define OMAP3430_AUTO_MSPRO_MASK (1 << 23)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200267#define OMAP3430_AUTO_MSPRO_SHIFT 23
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600268#define OMAP3430_AUTO_HDQ_MASK (1 << 22)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200269#define OMAP3430_AUTO_HDQ_SHIFT 22
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600270#define OMAP3430_AUTO_MCSPI4_MASK (1 << 21)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200271#define OMAP3430_AUTO_MCSPI4_SHIFT 21
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600272#define OMAP3430_AUTO_MCSPI3_MASK (1 << 20)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200273#define OMAP3430_AUTO_MCSPI3_SHIFT 20
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600274#define OMAP3430_AUTO_MCSPI2_MASK (1 << 19)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200275#define OMAP3430_AUTO_MCSPI2_SHIFT 19
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600276#define OMAP3430_AUTO_MCSPI1_MASK (1 << 18)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200277#define OMAP3430_AUTO_MCSPI1_SHIFT 18
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600278#define OMAP3430_AUTO_I2C3_MASK (1 << 17)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200279#define OMAP3430_AUTO_I2C3_SHIFT 17
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600280#define OMAP3430_AUTO_I2C2_MASK (1 << 16)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200281#define OMAP3430_AUTO_I2C2_SHIFT 16
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600282#define OMAP3430_AUTO_I2C1_MASK (1 << 15)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200283#define OMAP3430_AUTO_I2C1_SHIFT 15
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600284#define OMAP3430_AUTO_UART2_MASK (1 << 14)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200285#define OMAP3430_AUTO_UART2_SHIFT 14
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600286#define OMAP3430_AUTO_UART1_MASK (1 << 13)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200287#define OMAP3430_AUTO_UART1_SHIFT 13
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600288#define OMAP3430_AUTO_GPT11_MASK (1 << 12)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200289#define OMAP3430_AUTO_GPT11_SHIFT 12
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600290#define OMAP3430_AUTO_GPT10_MASK (1 << 11)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200291#define OMAP3430_AUTO_GPT10_SHIFT 11
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600292#define OMAP3430_AUTO_MCBSP5_MASK (1 << 10)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200293#define OMAP3430_AUTO_MCBSP5_SHIFT 10
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600294#define OMAP3430_AUTO_MCBSP1_MASK (1 << 9)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200295#define OMAP3430_AUTO_MCBSP1_SHIFT 9
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600296#define OMAP3430ES1_AUTO_FAC_MASK (1 << 8)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200297#define OMAP3430ES1_AUTO_FAC_SHIFT 8
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600298#define OMAP3430_AUTO_MAILBOXES_MASK (1 << 7)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200299#define OMAP3430_AUTO_MAILBOXES_SHIFT 7
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600300#define OMAP3430_AUTO_OMAPCTRL_MASK (1 << 6)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200301#define OMAP3430_AUTO_OMAPCTRL_SHIFT 6
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600302#define OMAP3430ES1_AUTO_FSHOSTUSB_MASK (1 << 5)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200303#define OMAP3430ES1_AUTO_FSHOSTUSB_SHIFT 5
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600304#define OMAP3430_AUTO_HSOTGUSB_MASK (1 << 4)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200305#define OMAP3430_AUTO_HSOTGUSB_SHIFT 4
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600306#define OMAP3430ES1_AUTO_D2D_MASK (1 << 3)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200307#define OMAP3430ES1_AUTO_D2D_SHIFT 3
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600308#define OMAP3430_AUTO_SAD2D_MASK (1 << 3)
Kevin Hilman8111b222009-04-28 15:27:44 -0700309#define OMAP3430_AUTO_SAD2D_SHIFT 3
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600310#define OMAP3430_AUTO_SSI_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200311#define OMAP3430_AUTO_SSI_SHIFT 0
312
313/* CM_AUTOIDLE2_CORE */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600314#define OMAP3430_AUTO_PKA_MASK (1 << 4)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200315#define OMAP3430_AUTO_PKA_SHIFT 4
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600316#define OMAP3430_AUTO_AES1_MASK (1 << 3)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200317#define OMAP3430_AUTO_AES1_SHIFT 3
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600318#define OMAP3430_AUTO_RNG_MASK (1 << 2)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200319#define OMAP3430_AUTO_RNG_SHIFT 2
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600320#define OMAP3430_AUTO_SHA11_MASK (1 << 1)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200321#define OMAP3430_AUTO_SHA11_SHIFT 1
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600322#define OMAP3430_AUTO_DES1_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200323#define OMAP3430_AUTO_DES1_SHIFT 0
324
325/* CM_AUTOIDLE3_CORE */
Jouni Hogander027d8de2008-05-16 13:58:18 +0300326#define OMAP3430ES2_AUTO_USBHOST (1 << 0)
327#define OMAP3430ES2_AUTO_USBHOST_SHIFT 0
328#define OMAP3430ES2_AUTO_USBTLL (1 << 2)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200329#define OMAP3430ES2_AUTO_USBTLL_SHIFT 2
330#define OMAP3430ES2_AUTO_USBTLL_MASK (1 << 2)
Kevin Hilman8111b222009-04-28 15:27:44 -0700331#define OMAP3430_AUTO_MAD2D_SHIFT 3
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600332#define OMAP3430_AUTO_MAD2D_MASK (1 << 3)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200333
334/* CM_CLKSEL_CORE */
335#define OMAP3430_CLKSEL_SSI_SHIFT 8
336#define OMAP3430_CLKSEL_SSI_MASK (0xf << 8)
337#define OMAP3430_CLKSEL_GPT11_MASK (1 << 7)
338#define OMAP3430_CLKSEL_GPT11_SHIFT 7
339#define OMAP3430_CLKSEL_GPT10_MASK (1 << 6)
340#define OMAP3430_CLKSEL_GPT10_SHIFT 6
341#define OMAP3430ES1_CLKSEL_FSHOSTUSB_SHIFT 4
342#define OMAP3430ES1_CLKSEL_FSHOSTUSB_MASK (0x3 << 4)
343#define OMAP3430_CLKSEL_L4_SHIFT 2
344#define OMAP3430_CLKSEL_L4_MASK (0x3 << 2)
345#define OMAP3430_CLKSEL_L3_SHIFT 0
346#define OMAP3430_CLKSEL_L3_MASK (0x3 << 0)
Vishwanath BS7356f0b2010-02-22 22:09:10 -0700347#define OMAP3630_CLKSEL_96M_SHIFT 12
348#define OMAP3630_CLKSEL_96M_MASK (0x3 << 12)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200349
350/* CM_CLKSTCTRL_CORE */
351#define OMAP3430ES1_CLKTRCTRL_D2D_SHIFT 4
352#define OMAP3430ES1_CLKTRCTRL_D2D_MASK (0x3 << 4)
353#define OMAP3430_CLKTRCTRL_L4_SHIFT 2
354#define OMAP3430_CLKTRCTRL_L4_MASK (0x3 << 2)
355#define OMAP3430_CLKTRCTRL_L3_SHIFT 0
356#define OMAP3430_CLKTRCTRL_L3_MASK (0x3 << 0)
357
358/* CM_CLKSTST_CORE */
Paul Walmsley801954d2008-08-19 11:08:44 +0300359#define OMAP3430ES1_CLKACTIVITY_D2D_SHIFT 2
360#define OMAP3430ES1_CLKACTIVITY_D2D_MASK (1 << 2)
361#define OMAP3430_CLKACTIVITY_L4_SHIFT 1
362#define OMAP3430_CLKACTIVITY_L4_MASK (1 << 1)
363#define OMAP3430_CLKACTIVITY_L3_SHIFT 0
364#define OMAP3430_CLKACTIVITY_L3_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200365
366/* CM_FCLKEN_GFX */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600367#define OMAP3430ES1_EN_3D_MASK (1 << 2)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200368#define OMAP3430ES1_EN_3D_SHIFT 2
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600369#define OMAP3430ES1_EN_2D_MASK (1 << 1)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200370#define OMAP3430ES1_EN_2D_SHIFT 1
371
372/* CM_ICLKEN_GFX specific bits */
373
374/* CM_IDLEST_GFX specific bits */
375
376/* CM_CLKSEL_GFX specific bits */
377
378/* CM_SLEEPDEP_GFX specific bits */
379
380/* CM_CLKSTCTRL_GFX */
381#define OMAP3430ES1_CLKTRCTRL_GFX_SHIFT 0
382#define OMAP3430ES1_CLKTRCTRL_GFX_MASK (0x3 << 0)
383
384/* CM_CLKSTST_GFX */
Paul Walmsley801954d2008-08-19 11:08:44 +0300385#define OMAP3430ES1_CLKACTIVITY_GFX_SHIFT 0
386#define OMAP3430ES1_CLKACTIVITY_GFX_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200387
388/* CM_FCLKEN_SGX */
Daniel Stone712d7c82009-01-27 19:13:05 -0700389#define OMAP3430ES2_CM_FCLKEN_SGX_EN_SGX_SHIFT 1
390#define OMAP3430ES2_CM_FCLKEN_SGX_EN_SGX_MASK (1 << 1)
391
Tero Kristob024b542010-02-24 12:05:48 -0700392/* CM_IDLEST_SGX */
393#define OMAP3430ES2_ST_SGX_SHIFT 1
394#define OMAP3430ES2_ST_SGX_MASK (1 << 1)
395
Daniel Stone712d7c82009-01-27 19:13:05 -0700396/* CM_ICLKEN_SGX */
397#define OMAP3430ES2_CM_ICLKEN_SGX_EN_SGX_SHIFT 0
398#define OMAP3430ES2_CM_ICLKEN_SGX_EN_SGX_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200399
400/* CM_CLKSEL_SGX */
401#define OMAP3430ES2_CLKSEL_SGX_SHIFT 0
402#define OMAP3430ES2_CLKSEL_SGX_MASK (0x7 << 0)
403
Paul Walmsley801954d2008-08-19 11:08:44 +0300404/* CM_CLKSTCTRL_SGX */
405#define OMAP3430ES2_CLKTRCTRL_SGX_SHIFT 0
406#define OMAP3430ES2_CLKTRCTRL_SGX_MASK (0x3 << 0)
407
408/* CM_CLKSTST_SGX */
409#define OMAP3430ES2_CLKACTIVITY_SGX_SHIFT 0
410#define OMAP3430ES2_CLKACTIVITY_SGX_MASK (1 << 0)
411
Tony Lindgrenc5957132008-03-18 14:53:17 +0200412/* CM_FCLKEN_WKUP specific bits */
413#define OMAP3430ES2_EN_USIMOCP_SHIFT 9
Paul Walmsleyda0747d2009-01-28 12:18:22 -0700414#define OMAP3430ES2_EN_USIMOCP_MASK (1 << 9)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200415
416/* CM_ICLKEN_WKUP specific bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600417#define OMAP3430_EN_WDT1_MASK (1 << 4)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200418#define OMAP3430_EN_WDT1_SHIFT 4
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600419#define OMAP3430_EN_32KSYNC_MASK (1 << 2)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200420#define OMAP3430_EN_32KSYNC_SHIFT 2
421
422/* CM_IDLEST_WKUP specific bits */
Paul Walmsleyda0747d2009-01-28 12:18:22 -0700423#define OMAP3430ES2_ST_USIMOCP_SHIFT 9
424#define OMAP3430ES2_ST_USIMOCP_MASK (1 << 9)
425#define OMAP3430_ST_WDT2_SHIFT 5
426#define OMAP3430_ST_WDT2_MASK (1 << 5)
427#define OMAP3430_ST_WDT1_SHIFT 4
428#define OMAP3430_ST_WDT1_MASK (1 << 4)
429#define OMAP3430_ST_32KSYNC_SHIFT 2
430#define OMAP3430_ST_32KSYNC_MASK (1 << 2)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200431
432/* CM_AUTOIDLE_WKUP */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600433#define OMAP3430ES2_AUTO_USIMOCP_MASK (1 << 9)
Paul Walmsleyda0747d2009-01-28 12:18:22 -0700434#define OMAP3430ES2_AUTO_USIMOCP_SHIFT 9
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600435#define OMAP3430_AUTO_WDT2_MASK (1 << 5)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200436#define OMAP3430_AUTO_WDT2_SHIFT 5
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600437#define OMAP3430_AUTO_WDT1_MASK (1 << 4)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200438#define OMAP3430_AUTO_WDT1_SHIFT 4
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600439#define OMAP3430_AUTO_GPIO1_MASK (1 << 3)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200440#define OMAP3430_AUTO_GPIO1_SHIFT 3
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600441#define OMAP3430_AUTO_32KSYNC_MASK (1 << 2)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200442#define OMAP3430_AUTO_32KSYNC_SHIFT 2
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600443#define OMAP3430_AUTO_GPT12_MASK (1 << 1)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200444#define OMAP3430_AUTO_GPT12_SHIFT 1
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600445#define OMAP3430_AUTO_GPT1_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200446#define OMAP3430_AUTO_GPT1_SHIFT 0
447
448/* CM_CLKSEL_WKUP */
449#define OMAP3430ES2_CLKSEL_USIMOCP_MASK (0xf << 3)
450#define OMAP3430_CLKSEL_RM_SHIFT 1
451#define OMAP3430_CLKSEL_RM_MASK (0x3 << 1)
452#define OMAP3430_CLKSEL_GPT1_SHIFT 0
453#define OMAP3430_CLKSEL_GPT1_MASK (1 << 0)
454
455/* CM_CLKEN_PLL */
456#define OMAP3430_PWRDN_EMU_PERIPH_SHIFT 31
457#define OMAP3430_PWRDN_CAM_SHIFT 30
458#define OMAP3430_PWRDN_DSS1_SHIFT 29
459#define OMAP3430_PWRDN_TV_SHIFT 28
460#define OMAP3430_PWRDN_96M_SHIFT 27
461#define OMAP3430_PERIPH_DPLL_RAMPTIME_SHIFT 24
462#define OMAP3430_PERIPH_DPLL_RAMPTIME_MASK (0x3 << 24)
463#define OMAP3430_PERIPH_DPLL_FREQSEL_SHIFT 20
464#define OMAP3430_PERIPH_DPLL_FREQSEL_MASK (0xf << 20)
465#define OMAP3430_EN_PERIPH_DPLL_DRIFTGUARD_SHIFT 19
466#define OMAP3430_EN_PERIPH_DPLL_DRIFTGUARD_MASK (1 << 19)
467#define OMAP3430_EN_PERIPH_DPLL_SHIFT 16
468#define OMAP3430_EN_PERIPH_DPLL_MASK (0x7 << 16)
469#define OMAP3430_PWRDN_EMU_CORE_SHIFT 12
470#define OMAP3430_CORE_DPLL_RAMPTIME_SHIFT 8
471#define OMAP3430_CORE_DPLL_RAMPTIME_MASK (0x3 << 8)
472#define OMAP3430_CORE_DPLL_FREQSEL_SHIFT 4
473#define OMAP3430_CORE_DPLL_FREQSEL_MASK (0xf << 4)
474#define OMAP3430_EN_CORE_DPLL_DRIFTGUARD_SHIFT 3
475#define OMAP3430_EN_CORE_DPLL_DRIFTGUARD_MASK (1 << 3)
476#define OMAP3430_EN_CORE_DPLL_SHIFT 0
477#define OMAP3430_EN_CORE_DPLL_MASK (0x7 << 0)
478
479/* CM_CLKEN2_PLL */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600480#define OMAP3430ES2_EN_PERIPH2_DPLL_LPMODE_SHIFT 10
Tony Lindgrenc5957132008-03-18 14:53:17 +0200481#define OMAP3430ES2_PERIPH2_DPLL_RAMPTIME_MASK (0x3 << 8)
482#define OMAP3430ES2_PERIPH2_DPLL_FREQSEL_SHIFT 4
483#define OMAP3430ES2_PERIPH2_DPLL_FREQSEL_MASK (0xf << 4)
484#define OMAP3430ES2_EN_PERIPH2_DPLL_DRIFTGUARD_SHIFT 3
485#define OMAP3430ES2_EN_PERIPH2_DPLL_SHIFT 0
486#define OMAP3430ES2_EN_PERIPH2_DPLL_MASK (0x7 << 0)
487
488/* CM_IDLEST_CKGEN */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600489#define OMAP3430_ST_54M_CLK_MASK (1 << 5)
490#define OMAP3430_ST_12M_CLK_MASK (1 << 4)
491#define OMAP3430_ST_48M_CLK_MASK (1 << 3)
492#define OMAP3430_ST_96M_CLK_MASK (1 << 2)
Paul Walmsley542313c2008-07-03 12:24:45 +0300493#define OMAP3430_ST_PERIPH_CLK_SHIFT 1
494#define OMAP3430_ST_PERIPH_CLK_MASK (1 << 1)
495#define OMAP3430_ST_CORE_CLK_SHIFT 0
496#define OMAP3430_ST_CORE_CLK_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200497
498/* CM_IDLEST2_CKGEN */
Paul Walmsleyda0747d2009-01-28 12:18:22 -0700499#define OMAP3430ES2_ST_USIM_CLK_SHIFT 2
500#define OMAP3430ES2_ST_USIM_CLK_MASK (1 << 2)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200501#define OMAP3430ES2_ST_120M_CLK_SHIFT 1
502#define OMAP3430ES2_ST_120M_CLK_MASK (1 << 1)
503#define OMAP3430ES2_ST_PERIPH2_CLK_SHIFT 0
504#define OMAP3430ES2_ST_PERIPH2_CLK_MASK (1 << 0)
505
506/* CM_AUTOIDLE_PLL */
507#define OMAP3430_AUTO_PERIPH_DPLL_SHIFT 3
508#define OMAP3430_AUTO_PERIPH_DPLL_MASK (0x7 << 3)
509#define OMAP3430_AUTO_CORE_DPLL_SHIFT 0
510#define OMAP3430_AUTO_CORE_DPLL_MASK (0x7 << 0)
511
Paul Walmsley542313c2008-07-03 12:24:45 +0300512/* CM_AUTOIDLE2_PLL */
513#define OMAP3430ES2_AUTO_PERIPH2_DPLL_SHIFT 0
514#define OMAP3430ES2_AUTO_PERIPH2_DPLL_MASK (0x7 << 0)
515
Tony Lindgrenc5957132008-03-18 14:53:17 +0200516/* CM_CLKSEL1_PLL */
517/* Note that OMAP3430_CORE_DPLL_CLKOUT_DIV_MASK was (0x3 << 27) on 3430ES1 */
518#define OMAP3430_CORE_DPLL_CLKOUT_DIV_SHIFT 27
519#define OMAP3430_CORE_DPLL_CLKOUT_DIV_MASK (0x1f << 27)
520#define OMAP3430_CORE_DPLL_MULT_SHIFT 16
521#define OMAP3430_CORE_DPLL_MULT_MASK (0x7ff << 16)
522#define OMAP3430_CORE_DPLL_DIV_SHIFT 8
523#define OMAP3430_CORE_DPLL_DIV_MASK (0x7f << 8)
Paul Walmsley9cfd9852009-01-27 19:13:02 -0700524#define OMAP3430_SOURCE_96M_SHIFT 6
525#define OMAP3430_SOURCE_96M_MASK (1 << 6)
526#define OMAP3430_SOURCE_54M_SHIFT 5
527#define OMAP3430_SOURCE_54M_MASK (1 << 5)
528#define OMAP3430_SOURCE_48M_SHIFT 3
529#define OMAP3430_SOURCE_48M_MASK (1 << 3)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200530
531/* CM_CLKSEL2_PLL */
532#define OMAP3430_PERIPH_DPLL_MULT_SHIFT 8
533#define OMAP3430_PERIPH_DPLL_MULT_MASK (0x7ff << 8)
Richard Woodruff358965d2010-02-22 22:09:08 -0700534#define OMAP3630_PERIPH_DPLL_MULT_MASK (0xfff << 8)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200535#define OMAP3430_PERIPH_DPLL_DIV_SHIFT 0
536#define OMAP3430_PERIPH_DPLL_DIV_MASK (0x7f << 0)
Richard Woodruff358965d2010-02-22 22:09:08 -0700537#define OMAP3630_PERIPH_DPLL_DCO_SEL_SHIFT 21
538#define OMAP3630_PERIPH_DPLL_DCO_SEL_MASK (0x7 << 21)
539#define OMAP3630_PERIPH_DPLL_SD_DIV_SHIFT 24
540#define OMAP3630_PERIPH_DPLL_SD_DIV_MASK (0xff << 24)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200541
542/* CM_CLKSEL3_PLL */
543#define OMAP3430_DIV_96M_SHIFT 0
544#define OMAP3430_DIV_96M_MASK (0x1f << 0)
Vishwanath BS678bc9a2010-02-22 22:09:09 -0700545#define OMAP3630_DIV_96M_MASK (0x3f << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200546
547/* CM_CLKSEL4_PLL */
548#define OMAP3430ES2_PERIPH2_DPLL_MULT_SHIFT 8
549#define OMAP3430ES2_PERIPH2_DPLL_MULT_MASK (0x7ff << 8)
550#define OMAP3430ES2_PERIPH2_DPLL_DIV_SHIFT 0
551#define OMAP3430ES2_PERIPH2_DPLL_DIV_MASK (0x7f << 0)
552
553/* CM_CLKSEL5_PLL */
554#define OMAP3430ES2_DIV_120M_SHIFT 0
555#define OMAP3430ES2_DIV_120M_MASK (0x1f << 0)
556
557/* CM_CLKOUT_CTRL */
558#define OMAP3430_CLKOUT2_EN_SHIFT 7
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600559#define OMAP3430_CLKOUT2_EN_MASK (1 << 7)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200560#define OMAP3430_CLKOUT2_DIV_SHIFT 3
561#define OMAP3430_CLKOUT2_DIV_MASK (0x7 << 3)
562#define OMAP3430_CLKOUT2SOURCE_SHIFT 0
563#define OMAP3430_CLKOUT2SOURCE_MASK (0x3 << 0)
564
565/* CM_FCLKEN_DSS */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600566#define OMAP3430_EN_TV_MASK (1 << 2)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200567#define OMAP3430_EN_TV_SHIFT 2
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600568#define OMAP3430_EN_DSS2_MASK (1 << 1)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200569#define OMAP3430_EN_DSS2_SHIFT 1
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600570#define OMAP3430_EN_DSS1_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200571#define OMAP3430_EN_DSS1_SHIFT 0
572
573/* CM_ICLKEN_DSS */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600574#define OMAP3430_CM_ICLKEN_DSS_EN_DSS_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200575#define OMAP3430_CM_ICLKEN_DSS_EN_DSS_SHIFT 0
576
577/* CM_IDLEST_DSS */
Paul Walmsleyda0747d2009-01-28 12:18:22 -0700578#define OMAP3430ES2_ST_DSS_IDLE_SHIFT 1
579#define OMAP3430ES2_ST_DSS_IDLE_MASK (1 << 1)
580#define OMAP3430ES2_ST_DSS_STDBY_SHIFT 0
581#define OMAP3430ES2_ST_DSS_STDBY_MASK (1 << 0)
582#define OMAP3430ES1_ST_DSS_SHIFT 0
583#define OMAP3430ES1_ST_DSS_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200584
585/* CM_AUTOIDLE_DSS */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600586#define OMAP3430_AUTO_DSS_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200587#define OMAP3430_AUTO_DSS_SHIFT 0
588
589/* CM_CLKSEL_DSS */
590#define OMAP3430_CLKSEL_TV_SHIFT 8
591#define OMAP3430_CLKSEL_TV_MASK (0x1f << 8)
Vishwanath BS678bc9a2010-02-22 22:09:09 -0700592#define OMAP3630_CLKSEL_TV_MASK (0x3f << 8)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200593#define OMAP3430_CLKSEL_DSS1_SHIFT 0
594#define OMAP3430_CLKSEL_DSS1_MASK (0x1f << 0)
Vishwanath BS678bc9a2010-02-22 22:09:09 -0700595#define OMAP3630_CLKSEL_DSS1_MASK (0x3f << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200596
597/* CM_SLEEPDEP_DSS specific bits */
598
599/* CM_CLKSTCTRL_DSS */
600#define OMAP3430_CLKTRCTRL_DSS_SHIFT 0
601#define OMAP3430_CLKTRCTRL_DSS_MASK (0x3 << 0)
602
603/* CM_CLKSTST_DSS */
Paul Walmsley801954d2008-08-19 11:08:44 +0300604#define OMAP3430_CLKACTIVITY_DSS_SHIFT 0
605#define OMAP3430_CLKACTIVITY_DSS_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200606
607/* CM_FCLKEN_CAM specific bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600608#define OMAP3430_EN_CSI2_MASK (1 << 1)
Sergio Aguirre6c8fe0b2009-01-27 19:13:09 -0700609#define OMAP3430_EN_CSI2_SHIFT 1
Tony Lindgrenc5957132008-03-18 14:53:17 +0200610
611/* CM_ICLKEN_CAM specific bits */
612
613/* CM_IDLEST_CAM */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600614#define OMAP3430_ST_CAM_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200615
616/* CM_AUTOIDLE_CAM */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600617#define OMAP3430_AUTO_CAM_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200618#define OMAP3430_AUTO_CAM_SHIFT 0
619
620/* CM_CLKSEL_CAM */
621#define OMAP3430_CLKSEL_CAM_SHIFT 0
622#define OMAP3430_CLKSEL_CAM_MASK (0x1f << 0)
Vishwanath BS678bc9a2010-02-22 22:09:09 -0700623#define OMAP3630_CLKSEL_CAM_MASK (0x3f << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200624
625/* CM_SLEEPDEP_CAM specific bits */
626
627/* CM_CLKSTCTRL_CAM */
628#define OMAP3430_CLKTRCTRL_CAM_SHIFT 0
629#define OMAP3430_CLKTRCTRL_CAM_MASK (0x3 << 0)
630
631/* CM_CLKSTST_CAM */
Paul Walmsley801954d2008-08-19 11:08:44 +0300632#define OMAP3430_CLKACTIVITY_CAM_SHIFT 0
633#define OMAP3430_CLKACTIVITY_CAM_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200634
635/* CM_FCLKEN_PER specific bits */
636
637/* CM_ICLKEN_PER specific bits */
638
639/* CM_IDLEST_PER */
Paul Walmsleyda0747d2009-01-28 12:18:22 -0700640#define OMAP3430_ST_WDT3_SHIFT 12
641#define OMAP3430_ST_WDT3_MASK (1 << 12)
642#define OMAP3430_ST_MCBSP4_SHIFT 2
643#define OMAP3430_ST_MCBSP4_MASK (1 << 2)
644#define OMAP3430_ST_MCBSP3_SHIFT 1
645#define OMAP3430_ST_MCBSP3_MASK (1 << 1)
646#define OMAP3430_ST_MCBSP2_SHIFT 0
647#define OMAP3430_ST_MCBSP2_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200648
649/* CM_AUTOIDLE_PER */
Govindraj.Re5863682010-09-27 20:20:25 +0530650#define OMAP3630_AUTO_UART4_MASK (1 << 18)
651#define OMAP3630_AUTO_UART4_SHIFT 18
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600652#define OMAP3430_AUTO_GPIO6_MASK (1 << 17)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200653#define OMAP3430_AUTO_GPIO6_SHIFT 17
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600654#define OMAP3430_AUTO_GPIO5_MASK (1 << 16)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200655#define OMAP3430_AUTO_GPIO5_SHIFT 16
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600656#define OMAP3430_AUTO_GPIO4_MASK (1 << 15)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200657#define OMAP3430_AUTO_GPIO4_SHIFT 15
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600658#define OMAP3430_AUTO_GPIO3_MASK (1 << 14)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200659#define OMAP3430_AUTO_GPIO3_SHIFT 14
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600660#define OMAP3430_AUTO_GPIO2_MASK (1 << 13)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200661#define OMAP3430_AUTO_GPIO2_SHIFT 13
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600662#define OMAP3430_AUTO_WDT3_MASK (1 << 12)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200663#define OMAP3430_AUTO_WDT3_SHIFT 12
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600664#define OMAP3430_AUTO_UART3_MASK (1 << 11)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200665#define OMAP3430_AUTO_UART3_SHIFT 11
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600666#define OMAP3430_AUTO_GPT9_MASK (1 << 10)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200667#define OMAP3430_AUTO_GPT9_SHIFT 10
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600668#define OMAP3430_AUTO_GPT8_MASK (1 << 9)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200669#define OMAP3430_AUTO_GPT8_SHIFT 9
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600670#define OMAP3430_AUTO_GPT7_MASK (1 << 8)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200671#define OMAP3430_AUTO_GPT7_SHIFT 8
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600672#define OMAP3430_AUTO_GPT6_MASK (1 << 7)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200673#define OMAP3430_AUTO_GPT6_SHIFT 7
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600674#define OMAP3430_AUTO_GPT5_MASK (1 << 6)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200675#define OMAP3430_AUTO_GPT5_SHIFT 6
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600676#define OMAP3430_AUTO_GPT4_MASK (1 << 5)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200677#define OMAP3430_AUTO_GPT4_SHIFT 5
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600678#define OMAP3430_AUTO_GPT3_MASK (1 << 4)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200679#define OMAP3430_AUTO_GPT3_SHIFT 4
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600680#define OMAP3430_AUTO_GPT2_MASK (1 << 3)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200681#define OMAP3430_AUTO_GPT2_SHIFT 3
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600682#define OMAP3430_AUTO_MCBSP4_MASK (1 << 2)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200683#define OMAP3430_AUTO_MCBSP4_SHIFT 2
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600684#define OMAP3430_AUTO_MCBSP3_MASK (1 << 1)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200685#define OMAP3430_AUTO_MCBSP3_SHIFT 1
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600686#define OMAP3430_AUTO_MCBSP2_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200687#define OMAP3430_AUTO_MCBSP2_SHIFT 0
688
689/* CM_CLKSEL_PER */
690#define OMAP3430_CLKSEL_GPT9_MASK (1 << 7)
691#define OMAP3430_CLKSEL_GPT9_SHIFT 7
692#define OMAP3430_CLKSEL_GPT8_MASK (1 << 6)
693#define OMAP3430_CLKSEL_GPT8_SHIFT 6
694#define OMAP3430_CLKSEL_GPT7_MASK (1 << 5)
695#define OMAP3430_CLKSEL_GPT7_SHIFT 5
696#define OMAP3430_CLKSEL_GPT6_MASK (1 << 4)
697#define OMAP3430_CLKSEL_GPT6_SHIFT 4
698#define OMAP3430_CLKSEL_GPT5_MASK (1 << 3)
699#define OMAP3430_CLKSEL_GPT5_SHIFT 3
700#define OMAP3430_CLKSEL_GPT4_MASK (1 << 2)
701#define OMAP3430_CLKSEL_GPT4_SHIFT 2
702#define OMAP3430_CLKSEL_GPT3_MASK (1 << 1)
703#define OMAP3430_CLKSEL_GPT3_SHIFT 1
704#define OMAP3430_CLKSEL_GPT2_MASK (1 << 0)
705#define OMAP3430_CLKSEL_GPT2_SHIFT 0
706
707/* CM_SLEEPDEP_PER specific bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600708#define OMAP3430_CM_SLEEPDEP_PER_EN_IVA2_MASK (1 << 2)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200709
710/* CM_CLKSTCTRL_PER */
711#define OMAP3430_CLKTRCTRL_PER_SHIFT 0
712#define OMAP3430_CLKTRCTRL_PER_MASK (0x3 << 0)
713
714/* CM_CLKSTST_PER */
Paul Walmsley801954d2008-08-19 11:08:44 +0300715#define OMAP3430_CLKACTIVITY_PER_SHIFT 0
716#define OMAP3430_CLKACTIVITY_PER_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200717
718/* CM_CLKSEL1_EMU */
719#define OMAP3430_DIV_DPLL4_SHIFT 24
720#define OMAP3430_DIV_DPLL4_MASK (0x1f << 24)
Vishwanath BS678bc9a2010-02-22 22:09:09 -0700721#define OMAP3630_DIV_DPLL4_MASK (0x3f << 24)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200722#define OMAP3430_DIV_DPLL3_SHIFT 16
723#define OMAP3430_DIV_DPLL3_MASK (0x1f << 16)
724#define OMAP3430_CLKSEL_TRACECLK_SHIFT 11
725#define OMAP3430_CLKSEL_TRACECLK_MASK (0x7 << 11)
726#define OMAP3430_CLKSEL_PCLK_SHIFT 8
727#define OMAP3430_CLKSEL_PCLK_MASK (0x7 << 8)
728#define OMAP3430_CLKSEL_PCLKX2_SHIFT 6
729#define OMAP3430_CLKSEL_PCLKX2_MASK (0x3 << 6)
730#define OMAP3430_CLKSEL_ATCLK_SHIFT 4
731#define OMAP3430_CLKSEL_ATCLK_MASK (0x3 << 4)
732#define OMAP3430_TRACE_MUX_CTRL_SHIFT 2
733#define OMAP3430_TRACE_MUX_CTRL_MASK (0x3 << 2)
734#define OMAP3430_MUX_CTRL_SHIFT 0
735#define OMAP3430_MUX_CTRL_MASK (0x3 << 0)
736
737/* CM_CLKSTCTRL_EMU */
738#define OMAP3430_CLKTRCTRL_EMU_SHIFT 0
739#define OMAP3430_CLKTRCTRL_EMU_MASK (0x3 << 0)
740
741/* CM_CLKSTST_EMU */
Paul Walmsley801954d2008-08-19 11:08:44 +0300742#define OMAP3430_CLKACTIVITY_EMU_SHIFT 0
743#define OMAP3430_CLKACTIVITY_EMU_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200744
745/* CM_CLKSEL2_EMU specific bits */
746#define OMAP3430_CORE_DPLL_EMU_MULT_SHIFT 8
747#define OMAP3430_CORE_DPLL_EMU_MULT_MASK (0x7ff << 8)
748#define OMAP3430_CORE_DPLL_EMU_DIV_SHIFT 0
749#define OMAP3430_CORE_DPLL_EMU_DIV_MASK (0x7f << 0)
750
751/* CM_CLKSEL3_EMU specific bits */
752#define OMAP3430_PERIPH_DPLL_EMU_MULT_SHIFT 8
753#define OMAP3430_PERIPH_DPLL_EMU_MULT_MASK (0x7ff << 8)
754#define OMAP3430_PERIPH_DPLL_EMU_DIV_SHIFT 0
755#define OMAP3430_PERIPH_DPLL_EMU_DIV_MASK (0x7f << 0)
756
757/* CM_POLCTRL */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600758#define OMAP3430_CLKOUT2_POL_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200759
760/* CM_IDLEST_NEON */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600761#define OMAP3430_ST_NEON_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200762
763/* CM_CLKSTCTRL_NEON */
764#define OMAP3430_CLKTRCTRL_NEON_SHIFT 0
765#define OMAP3430_CLKTRCTRL_NEON_MASK (0x3 << 0)
766
767/* CM_FCLKEN_USBHOST */
768#define OMAP3430ES2_EN_USBHOST2_SHIFT 1
769#define OMAP3430ES2_EN_USBHOST2_MASK (1 << 1)
770#define OMAP3430ES2_EN_USBHOST1_SHIFT 0
771#define OMAP3430ES2_EN_USBHOST1_MASK (1 << 0)
772
773/* CM_ICLKEN_USBHOST */
774#define OMAP3430ES2_EN_USBHOST_SHIFT 0
775#define OMAP3430ES2_EN_USBHOST_MASK (1 << 0)
776
777/* CM_IDLEST_USBHOST */
Paul Walmsleyda0747d2009-01-28 12:18:22 -0700778#define OMAP3430ES2_ST_USBHOST_IDLE_SHIFT 1
779#define OMAP3430ES2_ST_USBHOST_IDLE_MASK (1 << 1)
780#define OMAP3430ES2_ST_USBHOST_STDBY_SHIFT 0
781#define OMAP3430ES2_ST_USBHOST_STDBY_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200782
783/* CM_AUTOIDLE_USBHOST */
784#define OMAP3430ES2_AUTO_USBHOST_SHIFT 0
785#define OMAP3430ES2_AUTO_USBHOST_MASK (1 << 0)
786
787/* CM_SLEEPDEP_USBHOST */
788#define OMAP3430ES2_EN_MPU_SHIFT 1
789#define OMAP3430ES2_EN_MPU_MASK (1 << 1)
790#define OMAP3430ES2_EN_IVA2_SHIFT 2
791#define OMAP3430ES2_EN_IVA2_MASK (1 << 2)
792
793/* CM_CLKSTCTRL_USBHOST */
794#define OMAP3430ES2_CLKTRCTRL_USBHOST_SHIFT 0
795#define OMAP3430ES2_CLKTRCTRL_USBHOST_MASK (3 << 0)
796
Paul Walmsley801954d2008-08-19 11:08:44 +0300797/* CM_CLKSTST_USBHOST */
798#define OMAP3430ES2_CLKACTIVITY_USBHOST_SHIFT 0
799#define OMAP3430ES2_CLKACTIVITY_USBHOST_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200800
Paul Walmsleybd2122c2010-12-21 21:05:15 -0700801/*
802 *
803 */
804
805/* OMAP3XXX CM_CLKSTCTRL_*.CLKTRCTRL_* register bit values */
806#define OMAP34XX_CLKSTCTRL_DISABLE_AUTO 0x0
807#define OMAP34XX_CLKSTCTRL_FORCE_SLEEP 0x1
808#define OMAP34XX_CLKSTCTRL_FORCE_WAKEUP 0x2
809#define OMAP34XX_CLKSTCTRL_ENABLE_AUTO 0x3
810
811
Tony Lindgrenc5957132008-03-18 14:53:17 +0200812#endif