blob: 9e63cb743a976a9506e0f431ca6ecd24b4c20fae [file] [log] [blame]
Tony Lindgrenc5957132008-03-18 14:53:17 +02001#ifndef __ARCH_ARM_MACH_OMAP2_PRM_REGBITS_34XX_H
2#define __ARCH_ARM_MACH_OMAP2_PRM_REGBITS_34XX_H
3
4/*
5 * OMAP3430 Power/Reset 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 "prm.h"
18
19/* Shared register bits */
20
21/* PRM_VC_CMD_VAL_0, PRM_VC_CMD_VAL_1 shared bits */
22#define OMAP3430_ON_SHIFT 24
23#define OMAP3430_ON_MASK (0xff << 24)
24#define OMAP3430_ONLP_SHIFT 16
25#define OMAP3430_ONLP_MASK (0xff << 16)
26#define OMAP3430_RET_SHIFT 8
27#define OMAP3430_RET_MASK (0xff << 8)
28#define OMAP3430_OFF_SHIFT 0
29#define OMAP3430_OFF_MASK (0xff << 0)
30
31/* PRM_VP1_CONFIG, PRM_VP2_CONFIG shared bits */
32#define OMAP3430_ERROROFFSET_SHIFT 24
33#define OMAP3430_ERROROFFSET_MASK (0xff << 24)
34#define OMAP3430_ERRORGAIN_SHIFT 16
35#define OMAP3430_ERRORGAIN_MASK (0xff << 16)
36#define OMAP3430_INITVOLTAGE_SHIFT 8
37#define OMAP3430_INITVOLTAGE_MASK (0xff << 8)
Paul Walmsley2bc4ef72010-05-18 18:47:24 -060038#define OMAP3430_TIMEOUTEN_MASK (1 << 3)
39#define OMAP3430_INITVDD_MASK (1 << 2)
40#define OMAP3430_FORCEUPDATE_MASK (1 << 1)
41#define OMAP3430_VPENABLE_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +020042
43/* PRM_VP1_VSTEPMIN, PRM_VP2_VSTEPMIN shared bits */
44#define OMAP3430_SMPSWAITTIMEMIN_SHIFT 8
45#define OMAP3430_SMPSWAITTIMEMIN_MASK (0xffff << 8)
46#define OMAP3430_VSTEPMIN_SHIFT 0
47#define OMAP3430_VSTEPMIN_MASK (0xff << 0)
48
49/* PRM_VP1_VSTEPMAX, PRM_VP2_VSTEPMAX shared bits */
50#define OMAP3430_SMPSWAITTIMEMAX_SHIFT 8
51#define OMAP3430_SMPSWAITTIMEMAX_MASK (0xffff << 8)
52#define OMAP3430_VSTEPMAX_SHIFT 0
53#define OMAP3430_VSTEPMAX_MASK (0xff << 0)
54
55/* PRM_VP1_VLIMITTO, PRM_VP2_VLIMITTO shared bits */
56#define OMAP3430_VDDMAX_SHIFT 24
57#define OMAP3430_VDDMAX_MASK (0xff << 24)
58#define OMAP3430_VDDMIN_SHIFT 16
59#define OMAP3430_VDDMIN_MASK (0xff << 16)
60#define OMAP3430_TIMEOUT_SHIFT 0
61#define OMAP3430_TIMEOUT_MASK (0xffff << 0)
62
63/* PRM_VP1_VOLTAGE, PRM_VP2_VOLTAGE shared bits */
64#define OMAP3430_VPVOLTAGE_SHIFT 0
65#define OMAP3430_VPVOLTAGE_MASK (0xff << 0)
66
67/* PRM_VP1_STATUS, PRM_VP2_STATUS shared bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -060068#define OMAP3430_VPINIDLE_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +020069
70/* PM_WKDEP_IVA2, PM_WKDEP_MPU shared bits */
Paul Walmsleyecb24aa2008-08-19 11:08:43 +030071#define OMAP3430_EN_PER_SHIFT 7
72#define OMAP3430_EN_PER_MASK (1 << 7)
Tony Lindgrenc5957132008-03-18 14:53:17 +020073
74/* PM_PWSTCTRL_IVA2, PM_PWSTCTRL_MPU, PM_PWSTCTRL_CORE shared bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -060075#define OMAP3430_MEMORYCHANGE_MASK (1 << 3)
Tony Lindgrenc5957132008-03-18 14:53:17 +020076
77/* PM_PWSTST_IVA2, PM_PWSTST_CORE shared bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -060078#define OMAP3430_LOGICSTATEST_MASK (1 << 2)
Tony Lindgrenc5957132008-03-18 14:53:17 +020079
80/* PM_PREPWSTST_IVA2, PM_PREPWSTST_CORE shared bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -060081#define OMAP3430_LASTLOGICSTATEENTERED_MASK (1 << 2)
Tony Lindgrenc5957132008-03-18 14:53:17 +020082
83/*
84 * PM_PREPWSTST_IVA2, PM_PREPWSTST_MPU, PM_PREPWSTST_CORE,
85 * PM_PREPWSTST_GFX, PM_PREPWSTST_DSS, PM_PREPWSTST_CAM,
86 * PM_PREPWSTST_PER, PM_PREPWSTST_NEON shared bits
87 */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -060088#define OMAP3430_LASTPOWERSTATEENTERED_SHIFT 0
89#define OMAP3430_LASTPOWERSTATEENTERED_MASK (0x3 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +020090
91/* PRM_IRQSTATUS_IVA2, PRM_IRQSTATUS_MPU shared bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -060092#define OMAP3430_WKUP_ST_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +020093
94/* PRM_IRQENABLE_IVA2, PRM_IRQENABLE_MPU shared bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -060095#define OMAP3430_WKUP_EN_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +020096
97/* PM_MPUGRPSEL1_CORE, PM_IVA2GRPSEL1_CORE shared bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -060098#define OMAP3430_GRPSEL_MMC2_MASK (1 << 25)
99#define OMAP3430_GRPSEL_MMC1_MASK (1 << 24)
100#define OMAP3430_GRPSEL_MCSPI4_MASK (1 << 21)
101#define OMAP3430_GRPSEL_MCSPI3_MASK (1 << 20)
102#define OMAP3430_GRPSEL_MCSPI2_MASK (1 << 19)
103#define OMAP3430_GRPSEL_MCSPI1_MASK (1 << 18)
104#define OMAP3430_GRPSEL_I2C3_MASK (1 << 17)
105#define OMAP3430_GRPSEL_I2C2_MASK (1 << 16)
106#define OMAP3430_GRPSEL_I2C1_MASK (1 << 15)
107#define OMAP3430_GRPSEL_UART2_MASK (1 << 14)
108#define OMAP3430_GRPSEL_UART1_MASK (1 << 13)
109#define OMAP3430_GRPSEL_GPT11_MASK (1 << 12)
110#define OMAP3430_GRPSEL_GPT10_MASK (1 << 11)
111#define OMAP3430_GRPSEL_MCBSP5_MASK (1 << 10)
112#define OMAP3430_GRPSEL_MCBSP1_MASK (1 << 9)
113#define OMAP3430_GRPSEL_HSOTGUSB_MASK (1 << 4)
114#define OMAP3430_GRPSEL_D2D_MASK (1 << 3)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200115
116/*
117 * PM_PWSTCTRL_GFX, PM_PWSTCTRL_DSS, PM_PWSTCTRL_CAM,
118 * PM_PWSTCTRL_PER shared bits
119 */
120#define OMAP3430_MEMONSTATE_SHIFT 16
121#define OMAP3430_MEMONSTATE_MASK (0x3 << 16)
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600122#define OMAP3430_MEMRETSTATE_MASK (1 << 8)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200123
124/* PM_MPUGRPSEL_PER, PM_IVA2GRPSEL_PER shared bits */
Govindraj.Re5863682010-09-27 20:20:25 +0530125#define OMAP3630_GRPSEL_UART4_MASK (1 << 18)
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600126#define OMAP3430_GRPSEL_GPIO6_MASK (1 << 17)
127#define OMAP3430_GRPSEL_GPIO5_MASK (1 << 16)
128#define OMAP3430_GRPSEL_GPIO4_MASK (1 << 15)
129#define OMAP3430_GRPSEL_GPIO3_MASK (1 << 14)
130#define OMAP3430_GRPSEL_GPIO2_MASK (1 << 13)
131#define OMAP3430_GRPSEL_UART3_MASK (1 << 11)
132#define OMAP3430_GRPSEL_GPT9_MASK (1 << 10)
133#define OMAP3430_GRPSEL_GPT8_MASK (1 << 9)
134#define OMAP3430_GRPSEL_GPT7_MASK (1 << 8)
135#define OMAP3430_GRPSEL_GPT6_MASK (1 << 7)
136#define OMAP3430_GRPSEL_GPT5_MASK (1 << 6)
137#define OMAP3430_GRPSEL_GPT4_MASK (1 << 5)
138#define OMAP3430_GRPSEL_GPT3_MASK (1 << 4)
139#define OMAP3430_GRPSEL_GPT2_MASK (1 << 3)
140#define OMAP3430_GRPSEL_MCBSP4_MASK (1 << 2)
141#define OMAP3430_GRPSEL_MCBSP3_MASK (1 << 1)
142#define OMAP3430_GRPSEL_MCBSP2_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200143
144/* PM_MPUGRPSEL_WKUP, PM_IVA2GRPSEL_WKUP shared bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600145#define OMAP3430_GRPSEL_IO_MASK (1 << 8)
146#define OMAP3430_GRPSEL_SR2_MASK (1 << 7)
147#define OMAP3430_GRPSEL_SR1_MASK (1 << 6)
148#define OMAP3430_GRPSEL_GPIO1_MASK (1 << 3)
149#define OMAP3430_GRPSEL_GPT12_MASK (1 << 1)
150#define OMAP3430_GRPSEL_GPT1_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200151
152/* Bits specific to each register */
153
154/* RM_RSTCTRL_IVA2 */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600155#define OMAP3430_RST3_IVA2_MASK (1 << 2)
156#define OMAP3430_RST2_IVA2_MASK (1 << 1)
157#define OMAP3430_RST1_IVA2_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200158
159/* RM_RSTST_IVA2 specific bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600160#define OMAP3430_EMULATION_VSEQ_RST_MASK (1 << 13)
161#define OMAP3430_EMULATION_VHWA_RST_MASK (1 << 12)
162#define OMAP3430_EMULATION_IVA2_RST_MASK (1 << 11)
163#define OMAP3430_IVA2_SW_RST3_MASK (1 << 10)
164#define OMAP3430_IVA2_SW_RST2_MASK (1 << 9)
165#define OMAP3430_IVA2_SW_RST1_MASK (1 << 8)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200166
167/* PM_WKDEP_IVA2 specific bits */
168
169/* PM_PWSTCTRL_IVA2 specific bits */
170#define OMAP3430_L2FLATMEMONSTATE_SHIFT 22
171#define OMAP3430_L2FLATMEMONSTATE_MASK (0x3 << 22)
172#define OMAP3430_SHAREDL2CACHEFLATONSTATE_SHIFT 20
173#define OMAP3430_SHAREDL2CACHEFLATONSTATE_MASK (0x3 << 20)
174#define OMAP3430_L1FLATMEMONSTATE_SHIFT 18
175#define OMAP3430_L1FLATMEMONSTATE_MASK (0x3 << 18)
176#define OMAP3430_SHAREDL1CACHEFLATONSTATE_SHIFT 16
177#define OMAP3430_SHAREDL1CACHEFLATONSTATE_MASK (0x3 << 16)
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600178#define OMAP3430_L2FLATMEMRETSTATE_MASK (1 << 11)
179#define OMAP3430_SHAREDL2CACHEFLATRETSTATE_MASK (1 << 10)
180#define OMAP3430_L1FLATMEMRETSTATE_MASK (1 << 9)
181#define OMAP3430_SHAREDL1CACHEFLATRETSTATE_MASK (1 << 8)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200182
183/* PM_PWSTST_IVA2 specific bits */
184#define OMAP3430_L2FLATMEMSTATEST_SHIFT 10
185#define OMAP3430_L2FLATMEMSTATEST_MASK (0x3 << 10)
186#define OMAP3430_SHAREDL2CACHEFLATSTATEST_SHIFT 8
187#define OMAP3430_SHAREDL2CACHEFLATSTATEST_MASK (0x3 << 8)
188#define OMAP3430_L1FLATMEMSTATEST_SHIFT 6
189#define OMAP3430_L1FLATMEMSTATEST_MASK (0x3 << 6)
190#define OMAP3430_SHAREDL1CACHEFLATSTATEST_SHIFT 4
191#define OMAP3430_SHAREDL1CACHEFLATSTATEST_MASK (0x3 << 4)
192
193/* PM_PREPWSTST_IVA2 specific bits */
194#define OMAP3430_LASTL2FLATMEMSTATEENTERED_SHIFT 10
195#define OMAP3430_LASTL2FLATMEMSTATEENTERED_MASK (0x3 << 10)
196#define OMAP3430_LASTSHAREDL2CACHEFLATSTATEENTERED_SHIFT 8
197#define OMAP3430_LASTSHAREDL2CACHEFLATSTATEENTERED_MASK (0x3 << 8)
198#define OMAP3430_LASTL1FLATMEMSTATEENTERED_SHIFT 6
199#define OMAP3430_LASTL1FLATMEMSTATEENTERED_MASK (0x3 << 6)
200#define OMAP3430_LASTSHAREDL1CACHEFLATSTATEENTERED_SHIFT 4
201#define OMAP3430_LASTSHAREDL1CACHEFLATSTATEENTERED_MASK (0x3 << 4)
202
203/* PRM_IRQSTATUS_IVA2 specific bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600204#define OMAP3430_PRM_IRQSTATUS_IVA2_IVA2_DPLL_ST_MASK (1 << 2)
205#define OMAP3430_FORCEWKUP_ST_MASK (1 << 1)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200206
207/* PRM_IRQENABLE_IVA2 specific bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600208#define OMAP3430_PRM_IRQENABLE_IVA2_IVA2_DPLL_RECAL_EN_MASK (1 << 2)
209#define OMAP3430_FORCEWKUP_EN_MASK (1 << 1)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200210
211/* PRM_REVISION specific bits */
212
213/* PRM_SYSCONFIG specific bits */
214
215/* PRM_IRQSTATUS_MPU specific bits */
216#define OMAP3430ES2_SND_PERIPH_DPLL_ST_SHIFT 25
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600217#define OMAP3430ES2_SND_PERIPH_DPLL_ST_MASK (1 << 25)
218#define OMAP3430_VC_TIMEOUTERR_ST_MASK (1 << 24)
219#define OMAP3430_VC_RAERR_ST_MASK (1 << 23)
220#define OMAP3430_VC_SAERR_ST_MASK (1 << 22)
221#define OMAP3430_VP2_TRANXDONE_ST_MASK (1 << 21)
222#define OMAP3430_VP2_EQVALUE_ST_MASK (1 << 20)
223#define OMAP3430_VP2_NOSMPSACK_ST_MASK (1 << 19)
224#define OMAP3430_VP2_MAXVDD_ST_MASK (1 << 18)
225#define OMAP3430_VP2_MINVDD_ST_MASK (1 << 17)
226#define OMAP3430_VP2_OPPCHANGEDONE_ST_MASK (1 << 16)
227#define OMAP3430_VP1_TRANXDONE_ST_MASK (1 << 15)
228#define OMAP3430_VP1_EQVALUE_ST_MASK (1 << 14)
229#define OMAP3430_VP1_NOSMPSACK_ST_MASK (1 << 13)
230#define OMAP3430_VP1_MAXVDD_ST_MASK (1 << 12)
231#define OMAP3430_VP1_MINVDD_ST_MASK (1 << 11)
232#define OMAP3430_VP1_OPPCHANGEDONE_ST_MASK (1 << 10)
233#define OMAP3430_IO_ST_MASK (1 << 9)
234#define OMAP3430_PRM_IRQSTATUS_MPU_IVA2_DPLL_ST_MASK (1 << 8)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200235#define OMAP3430_PRM_IRQSTATUS_MPU_IVA2_DPLL_ST_SHIFT 8
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600236#define OMAP3430_MPU_DPLL_ST_MASK (1 << 7)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200237#define OMAP3430_MPU_DPLL_ST_SHIFT 7
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600238#define OMAP3430_PERIPH_DPLL_ST_MASK (1 << 6)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200239#define OMAP3430_PERIPH_DPLL_ST_SHIFT 6
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600240#define OMAP3430_CORE_DPLL_ST_MASK (1 << 5)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200241#define OMAP3430_CORE_DPLL_ST_SHIFT 5
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600242#define OMAP3430_TRANSITION_ST_MASK (1 << 4)
243#define OMAP3430_EVGENOFF_ST_MASK (1 << 3)
244#define OMAP3430_EVGENON_ST_MASK (1 << 2)
245#define OMAP3430_FS_USB_WKUP_ST_MASK (1 << 1)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200246
247/* PRM_IRQENABLE_MPU specific bits */
248#define OMAP3430ES2_SND_PERIPH_DPLL_RECAL_EN_SHIFT 25
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600249#define OMAP3430ES2_SND_PERIPH_DPLL_RECAL_EN_MASK (1 << 25)
250#define OMAP3430_VC_TIMEOUTERR_EN_MASK (1 << 24)
251#define OMAP3430_VC_RAERR_EN_MASK (1 << 23)
252#define OMAP3430_VC_SAERR_EN_MASK (1 << 22)
253#define OMAP3430_VP2_TRANXDONE_EN_MASK (1 << 21)
254#define OMAP3430_VP2_EQVALUE_EN_MASK (1 << 20)
255#define OMAP3430_VP2_NOSMPSACK_EN_MASK (1 << 19)
256#define OMAP3430_VP2_MAXVDD_EN_MASK (1 << 18)
257#define OMAP3430_VP2_MINVDD_EN_MASK (1 << 17)
258#define OMAP3430_VP2_OPPCHANGEDONE_EN_MASK (1 << 16)
259#define OMAP3430_VP1_TRANXDONE_EN_MASK (1 << 15)
260#define OMAP3430_VP1_EQVALUE_EN_MASK (1 << 14)
261#define OMAP3430_VP1_NOSMPSACK_EN_MASK (1 << 13)
262#define OMAP3430_VP1_MAXVDD_EN_MASK (1 << 12)
263#define OMAP3430_VP1_MINVDD_EN_MASK (1 << 11)
264#define OMAP3430_VP1_OPPCHANGEDONE_EN_MASK (1 << 10)
265#define OMAP3430_IO_EN_MASK (1 << 9)
266#define OMAP3430_PRM_IRQENABLE_MPU_IVA2_DPLL_RECAL_EN_MASK (1 << 8)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200267#define OMAP3430_PRM_IRQENABLE_MPU_IVA2_DPLL_RECAL_EN_SHIFT 8
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600268#define OMAP3430_MPU_DPLL_RECAL_EN_MASK (1 << 7)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200269#define OMAP3430_MPU_DPLL_RECAL_EN_SHIFT 7
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600270#define OMAP3430_PERIPH_DPLL_RECAL_EN_MASK (1 << 6)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200271#define OMAP3430_PERIPH_DPLL_RECAL_EN_SHIFT 6
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600272#define OMAP3430_CORE_DPLL_RECAL_EN_MASK (1 << 5)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200273#define OMAP3430_CORE_DPLL_RECAL_EN_SHIFT 5
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600274#define OMAP3430_TRANSITION_EN_MASK (1 << 4)
275#define OMAP3430_EVGENOFF_EN_MASK (1 << 3)
276#define OMAP3430_EVGENON_EN_MASK (1 << 2)
277#define OMAP3430_FS_USB_WKUP_EN_MASK (1 << 1)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200278
279/* RM_RSTST_MPU specific bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600280#define OMAP3430_EMULATION_MPU_RST_MASK (1 << 11)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200281
282/* PM_WKDEP_MPU specific bits */
Paul Walmsleyecb24aa2008-08-19 11:08:43 +0300283#define OMAP3430_PM_WKDEP_MPU_EN_DSS_SHIFT 5
284#define OMAP3430_PM_WKDEP_MPU_EN_DSS_MASK (1 << 5)
285#define OMAP3430_PM_WKDEP_MPU_EN_IVA2_SHIFT 2
286#define OMAP3430_PM_WKDEP_MPU_EN_IVA2_MASK (1 << 2)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200287
288/* PM_EVGENCTRL_MPU */
289#define OMAP3430_OFFLOADMODE_SHIFT 3
290#define OMAP3430_OFFLOADMODE_MASK (0x3 << 3)
291#define OMAP3430_ONLOADMODE_SHIFT 1
292#define OMAP3430_ONLOADMODE_MASK (0x3 << 1)
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600293#define OMAP3430_ENABLE_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200294
295/* PM_EVGENONTIM_MPU */
296#define OMAP3430_ONTIMEVAL_SHIFT 0
297#define OMAP3430_ONTIMEVAL_MASK (0xffffffff << 0)
298
299/* PM_EVGENOFFTIM_MPU */
300#define OMAP3430_OFFTIMEVAL_SHIFT 0
301#define OMAP3430_OFFTIMEVAL_MASK (0xffffffff << 0)
302
303/* PM_PWSTCTRL_MPU specific bits */
304#define OMAP3430_L2CACHEONSTATE_SHIFT 16
305#define OMAP3430_L2CACHEONSTATE_MASK (0x3 << 16)
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600306#define OMAP3430_L2CACHERETSTATE_MASK (1 << 8)
307#define OMAP3430_LOGICL1CACHERETSTATE_MASK (1 << 2)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200308
309/* PM_PWSTST_MPU specific bits */
310#define OMAP3430_L2CACHESTATEST_SHIFT 6
311#define OMAP3430_L2CACHESTATEST_MASK (0x3 << 6)
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600312#define OMAP3430_LOGICL1CACHESTATEST_MASK (1 << 2)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200313
314/* PM_PREPWSTST_MPU specific bits */
315#define OMAP3430_LASTL2CACHESTATEENTERED_SHIFT 6
316#define OMAP3430_LASTL2CACHESTATEENTERED_MASK (0x3 << 6)
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600317#define OMAP3430_LASTLOGICL1CACHESTATEENTERED_MASK (1 << 2)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200318
319/* RM_RSTCTRL_CORE */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600320#define OMAP3430_RM_RSTCTRL_CORE_MODEM_SW_RSTPWRON_MASK (1 << 1)
321#define OMAP3430_RM_RSTCTRL_CORE_MODEM_SW_RST_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200322
323/* RM_RSTST_CORE specific bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600324#define OMAP3430_MODEM_SECURITY_VIOL_RST_MASK (1 << 10)
325#define OMAP3430_RM_RSTST_CORE_MODEM_SW_RSTPWRON_MASK (1 << 9)
326#define OMAP3430_RM_RSTST_CORE_MODEM_SW_RST_MASK (1 << 8)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200327
328/* PM_WKEN1_CORE specific bits */
329
330/* PM_MPUGRPSEL1_CORE specific bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600331#define OMAP3430_GRPSEL_FSHOSTUSB_MASK (1 << 5)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200332
333/* PM_IVA2GRPSEL1_CORE specific bits */
334
335/* PM_WKST1_CORE specific bits */
336
337/* PM_PWSTCTRL_CORE specific bits */
338#define OMAP3430_MEM2ONSTATE_SHIFT 18
339#define OMAP3430_MEM2ONSTATE_MASK (0x3 << 18)
340#define OMAP3430_MEM1ONSTATE_SHIFT 16
341#define OMAP3430_MEM1ONSTATE_MASK (0x3 << 16)
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600342#define OMAP3430_MEM2RETSTATE_MASK (1 << 9)
343#define OMAP3430_MEM1RETSTATE_MASK (1 << 8)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200344
345/* PM_PWSTST_CORE specific bits */
346#define OMAP3430_MEM2STATEST_SHIFT 6
347#define OMAP3430_MEM2STATEST_MASK (0x3 << 6)
348#define OMAP3430_MEM1STATEST_SHIFT 4
349#define OMAP3430_MEM1STATEST_MASK (0x3 << 4)
350
351/* PM_PREPWSTST_CORE specific bits */
352#define OMAP3430_LASTMEM2STATEENTERED_SHIFT 6
353#define OMAP3430_LASTMEM2STATEENTERED_MASK (0x3 << 6)
354#define OMAP3430_LASTMEM1STATEENTERED_SHIFT 4
355#define OMAP3430_LASTMEM1STATEENTERED_MASK (0x3 << 4)
356
357/* RM_RSTST_GFX specific bits */
358
359/* PM_WKDEP_GFX specific bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600360#define OMAP3430_PM_WKDEP_GFX_EN_IVA2_MASK (1 << 2)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200361
362/* PM_PWSTCTRL_GFX specific bits */
363
364/* PM_PWSTST_GFX specific bits */
365
366/* PM_PREPWSTST_GFX specific bits */
367
368/* PM_WKEN_WKUP specific bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600369#define OMAP3430_EN_IO_CHAIN_MASK (1 << 16)
370#define OMAP3430_EN_IO_MASK (1 << 8)
371#define OMAP3430_EN_GPIO1_MASK (1 << 3)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200372
373/* PM_MPUGRPSEL_WKUP specific bits */
374
375/* PM_IVA2GRPSEL_WKUP specific bits */
376
377/* PM_WKST_WKUP specific bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600378#define OMAP3430_ST_IO_CHAIN_MASK (1 << 16)
379#define OMAP3430_ST_IO_MASK (1 << 8)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200380
381/* PRM_CLKSEL */
382#define OMAP3430_SYS_CLKIN_SEL_SHIFT 0
383#define OMAP3430_SYS_CLKIN_SEL_MASK (0x7 << 0)
384
385/* PRM_CLKOUT_CTRL */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600386#define OMAP3430_CLKOUT_EN_MASK (1 << 7)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200387#define OMAP3430_CLKOUT_EN_SHIFT 7
388
389/* RM_RSTST_DSS specific bits */
390
391/* PM_WKEN_DSS */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600392#define OMAP3430_PM_WKEN_DSS_EN_DSS_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200393
394/* PM_WKDEP_DSS specific bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600395#define OMAP3430_PM_WKDEP_DSS_EN_IVA2_MASK (1 << 2)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200396
397/* PM_PWSTCTRL_DSS specific bits */
398
399/* PM_PWSTST_DSS specific bits */
400
401/* PM_PREPWSTST_DSS specific bits */
402
403/* RM_RSTST_CAM specific bits */
404
405/* PM_WKDEP_CAM specific bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600406#define OMAP3430_PM_WKDEP_CAM_EN_IVA2_MASK (1 << 2)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200407
408/* PM_PWSTCTRL_CAM specific bits */
409
410/* PM_PWSTST_CAM specific bits */
411
412/* PM_PREPWSTST_CAM specific bits */
413
414/* PM_PWSTCTRL_USBHOST specific bits */
Kalle Jokiniemi8dbe4392009-05-16 08:28:17 -0700415#define OMAP3430ES2_SAVEANDRESTORE_SHIFT 4
Tony Lindgrenc5957132008-03-18 14:53:17 +0200416
417/* RM_RSTST_PER specific bits */
418
419/* PM_WKEN_PER specific bits */
420
421/* PM_MPUGRPSEL_PER specific bits */
422
423/* PM_IVA2GRPSEL_PER specific bits */
424
425/* PM_WKST_PER specific bits */
426
427/* PM_WKDEP_PER specific bits */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600428#define OMAP3430_PM_WKDEP_PER_EN_IVA2_MASK (1 << 2)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200429
430/* PM_PWSTCTRL_PER specific bits */
431
432/* PM_PWSTST_PER specific bits */
433
434/* PM_PREPWSTST_PER specific bits */
435
436/* RM_RSTST_EMU specific bits */
437
438/* PM_PWSTST_EMU specific bits */
439
440/* PRM_VC_SMPS_SA */
441#define OMAP3430_PRM_VC_SMPS_SA_SA1_SHIFT 16
442#define OMAP3430_PRM_VC_SMPS_SA_SA1_MASK (0x7f << 16)
443#define OMAP3430_PRM_VC_SMPS_SA_SA0_SHIFT 0
444#define OMAP3430_PRM_VC_SMPS_SA_SA0_MASK (0x7f << 0)
445
446/* PRM_VC_SMPS_VOL_RA */
447#define OMAP3430_VOLRA1_SHIFT 16
448#define OMAP3430_VOLRA1_MASK (0xff << 16)
449#define OMAP3430_VOLRA0_SHIFT 0
450#define OMAP3430_VOLRA0_MASK (0xff << 0)
451
452/* PRM_VC_SMPS_CMD_RA */
453#define OMAP3430_CMDRA1_SHIFT 16
454#define OMAP3430_CMDRA1_MASK (0xff << 16)
455#define OMAP3430_CMDRA0_SHIFT 0
456#define OMAP3430_CMDRA0_MASK (0xff << 0)
457
458/* PRM_VC_CMD_VAL_0 specific bits */
Jouni Hogander027d8de2008-05-16 13:58:18 +0300459#define OMAP3430_VC_CMD_ON_SHIFT 24
460#define OMAP3430_VC_CMD_ON_MASK (0xFF << 24)
461#define OMAP3430_VC_CMD_ONLP_SHIFT 16
462#define OMAP3430_VC_CMD_ONLP_MASK (0xFF << 16)
463#define OMAP3430_VC_CMD_RET_SHIFT 8
464#define OMAP3430_VC_CMD_RET_MASK (0xFF << 8)
465#define OMAP3430_VC_CMD_OFF_SHIFT 0
466#define OMAP3430_VC_CMD_OFF_MASK (0xFF << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200467
468/* PRM_VC_CMD_VAL_1 specific bits */
469
470/* PRM_VC_CH_CONF */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600471#define OMAP3430_CMD1_MASK (1 << 20)
472#define OMAP3430_RACEN1_MASK (1 << 19)
473#define OMAP3430_RAC1_MASK (1 << 18)
474#define OMAP3430_RAV1_MASK (1 << 17)
475#define OMAP3430_PRM_VC_CH_CONF_SA1_MASK (1 << 16)
476#define OMAP3430_CMD0_MASK (1 << 4)
477#define OMAP3430_RACEN0_MASK (1 << 3)
478#define OMAP3430_RAC0_MASK (1 << 2)
479#define OMAP3430_RAV0_MASK (1 << 1)
480#define OMAP3430_PRM_VC_CH_CONF_SA0_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200481
482/* PRM_VC_I2C_CFG */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600483#define OMAP3430_HSMASTER_MASK (1 << 5)
484#define OMAP3430_SREN_MASK (1 << 4)
485#define OMAP3430_HSEN_MASK (1 << 3)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200486#define OMAP3430_MCODE_SHIFT 0
487#define OMAP3430_MCODE_MASK (0x7 << 0)
488
489/* PRM_VC_BYPASS_VAL */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600490#define OMAP3430_VALID_MASK (1 << 24)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200491#define OMAP3430_DATA_SHIFT 16
492#define OMAP3430_DATA_MASK (0xff << 16)
493#define OMAP3430_REGADDR_SHIFT 8
494#define OMAP3430_REGADDR_MASK (0xff << 8)
495#define OMAP3430_SLAVEADDR_SHIFT 0
496#define OMAP3430_SLAVEADDR_MASK (0x7f << 0)
497
498/* PRM_RSTCTRL */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600499#define OMAP3430_RST_DPLL3_MASK (1 << 2)
500#define OMAP3430_RST_GS_MASK (1 << 1)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200501
502/* PRM_RSTTIME */
503#define OMAP3430_RSTTIME2_SHIFT 8
504#define OMAP3430_RSTTIME2_MASK (0x1f << 8)
505#define OMAP3430_RSTTIME1_SHIFT 0
506#define OMAP3430_RSTTIME1_MASK (0xff << 0)
507
508/* PRM_RSTST */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600509#define OMAP3430_ICECRUSHER_RST_MASK (1 << 10)
510#define OMAP3430_ICEPICK_RST_MASK (1 << 9)
511#define OMAP3430_VDD2_VOLTAGE_MANAGER_RST_MASK (1 << 8)
512#define OMAP3430_VDD1_VOLTAGE_MANAGER_RST_MASK (1 << 7)
513#define OMAP3430_EXTERNAL_WARM_RST_MASK (1 << 6)
514#define OMAP3430_SECURE_WD_RST_MASK (1 << 5)
515#define OMAP3430_MPU_WD_RST_MASK (1 << 4)
516#define OMAP3430_SECURITY_VIOL_RST_MASK (1 << 3)
517#define OMAP3430_GLOBAL_SW_RST_MASK (1 << 1)
518#define OMAP3430_GLOBAL_COLD_RST_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200519
520/* PRM_VOLTCTRL */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600521#define OMAP3430_SEL_VMODE_MASK (1 << 4)
522#define OMAP3430_SEL_OFF_MASK (1 << 3)
523#define OMAP3430_AUTO_OFF_MASK (1 << 2)
524#define OMAP3430_AUTO_RET_MASK (1 << 1)
525#define OMAP3430_AUTO_SLEEP_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200526
527/* PRM_SRAM_PCHARGE */
528#define OMAP3430_PCHARGE_TIME_SHIFT 0
529#define OMAP3430_PCHARGE_TIME_MASK (0xff << 0)
530
531/* PRM_CLKSRC_CTRL */
532#define OMAP3430_SYSCLKDIV_SHIFT 6
533#define OMAP3430_SYSCLKDIV_MASK (0x3 << 6)
534#define OMAP3430_AUTOEXTCLKMODE_SHIFT 3
535#define OMAP3430_AUTOEXTCLKMODE_MASK (0x3 << 3)
536#define OMAP3430_SYSCLKSEL_SHIFT 0
537#define OMAP3430_SYSCLKSEL_MASK (0x3 << 0)
538
539/* PRM_VOLTSETUP1 */
540#define OMAP3430_SETUP_TIME2_SHIFT 16
541#define OMAP3430_SETUP_TIME2_MASK (0xffff << 16)
542#define OMAP3430_SETUP_TIME1_SHIFT 0
543#define OMAP3430_SETUP_TIME1_MASK (0xffff << 0)
544
545/* PRM_VOLTOFFSET */
546#define OMAP3430_OFFSET_TIME_SHIFT 0
547#define OMAP3430_OFFSET_TIME_MASK (0xffff << 0)
548
549/* PRM_CLKSETUP */
550#define OMAP3430_SETUP_TIME_SHIFT 0
551#define OMAP3430_SETUP_TIME_MASK (0xffff << 0)
552
553/* PRM_POLCTRL */
Paul Walmsley2bc4ef72010-05-18 18:47:24 -0600554#define OMAP3430_OFFMODE_POL_MASK (1 << 3)
555#define OMAP3430_CLKOUT_POL_MASK (1 << 2)
556#define OMAP3430_CLKREQ_POL_MASK (1 << 1)
557#define OMAP3430_EXTVOL_POL_MASK (1 << 0)
Tony Lindgrenc5957132008-03-18 14:53:17 +0200558
559/* PRM_VOLTSETUP2 */
560#define OMAP3430_OFFMODESETUPTIME_SHIFT 0
561#define OMAP3430_OFFMODESETUPTIME_MASK (0xffff << 0)
562
563/* PRM_VP1_CONFIG specific bits */
564
565/* PRM_VP1_VSTEPMIN specific bits */
566
567/* PRM_VP1_VSTEPMAX specific bits */
568
569/* PRM_VP1_VLIMITTO specific bits */
570
571/* PRM_VP1_VOLTAGE specific bits */
572
573/* PRM_VP1_STATUS specific bits */
574
575/* PRM_VP2_CONFIG specific bits */
576
577/* PRM_VP2_VSTEPMIN specific bits */
578
579/* PRM_VP2_VSTEPMAX specific bits */
580
581/* PRM_VP2_VLIMITTO specific bits */
582
583/* PRM_VP2_VOLTAGE specific bits */
584
585/* PRM_VP2_STATUS specific bits */
586
587/* RM_RSTST_NEON specific bits */
588
589/* PM_WKDEP_NEON specific bits */
590
591/* PM_PWSTCTRL_NEON specific bits */
592
593/* PM_PWSTST_NEON specific bits */
594
595/* PM_PREPWSTST_NEON specific bits */
596
597#endif