aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-ep93xx/soc.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-ep93xx/soc.h')
-rw-r--r--arch/arm/mach-ep93xx/soc.h90
1 files changed, 90 insertions, 0 deletions
diff --git a/arch/arm/mach-ep93xx/soc.h b/arch/arm/mach-ep93xx/soc.h
index 5cad26973033..d9b01a7f3241 100644
--- a/arch/arm/mach-ep93xx/soc.h
+++ b/arch/arm/mach-ep93xx/soc.h
@@ -104,6 +104,96 @@
104#define EP93XX_WATCHDOG_PHYS_BASE EP93XX_APB_PHYS(0x00140000) 104#define EP93XX_WATCHDOG_PHYS_BASE EP93XX_APB_PHYS(0x00140000)
105#define EP93XX_WATCHDOG_BASE EP93XX_APB_IOMEM(0x00140000) 105#define EP93XX_WATCHDOG_BASE EP93XX_APB_IOMEM(0x00140000)
106 106
107/* System controller */
108#define EP93XX_SYSCON_BASE EP93XX_APB_IOMEM(0x00130000)
109#define EP93XX_SYSCON_REG(x) (EP93XX_SYSCON_BASE + (x))
110#define EP93XX_SYSCON_POWER_STATE EP93XX_SYSCON_REG(0x00)
111#define EP93XX_SYSCON_PWRCNT EP93XX_SYSCON_REG(0x04)
112#define EP93XX_SYSCON_PWRCNT_FIR_EN (1<<31)
113#define EP93XX_SYSCON_PWRCNT_UARTBAUD (1<<29)
114#define EP93XX_SYSCON_PWRCNT_USH_EN (1<<28)
115#define EP93XX_SYSCON_PWRCNT_DMA_M2M1 (1<<27)
116#define EP93XX_SYSCON_PWRCNT_DMA_M2M0 (1<<26)
117#define EP93XX_SYSCON_PWRCNT_DMA_M2P8 (1<<25)
118#define EP93XX_SYSCON_PWRCNT_DMA_M2P9 (1<<24)
119#define EP93XX_SYSCON_PWRCNT_DMA_M2P6 (1<<23)
120#define EP93XX_SYSCON_PWRCNT_DMA_M2P7 (1<<22)
121#define EP93XX_SYSCON_PWRCNT_DMA_M2P4 (1<<21)
122#define EP93XX_SYSCON_PWRCNT_DMA_M2P5 (1<<20)
123#define EP93XX_SYSCON_PWRCNT_DMA_M2P2 (1<<19)
124#define EP93XX_SYSCON_PWRCNT_DMA_M2P3 (1<<18)
125#define EP93XX_SYSCON_PWRCNT_DMA_M2P0 (1<<17)
126#define EP93XX_SYSCON_PWRCNT_DMA_M2P1 (1<<16)
127#define EP93XX_SYSCON_HALT EP93XX_SYSCON_REG(0x08)
128#define EP93XX_SYSCON_STANDBY EP93XX_SYSCON_REG(0x0c)
129#define EP93XX_SYSCON_CLKSET1 EP93XX_SYSCON_REG(0x20)
130#define EP93XX_SYSCON_CLKSET1_NBYP1 (1<<23)
131#define EP93XX_SYSCON_CLKSET2 EP93XX_SYSCON_REG(0x24)
132#define EP93XX_SYSCON_CLKSET2_NBYP2 (1<<19)
133#define EP93XX_SYSCON_CLKSET2_PLL2_EN (1<<18)
134#define EP93XX_SYSCON_DEVCFG EP93XX_SYSCON_REG(0x80)
135#define EP93XX_SYSCON_DEVCFG_SWRST (1<<31)
136#define EP93XX_SYSCON_DEVCFG_D1ONG (1<<30)
137#define EP93XX_SYSCON_DEVCFG_D0ONG (1<<29)
138#define EP93XX_SYSCON_DEVCFG_IONU2 (1<<28)
139#define EP93XX_SYSCON_DEVCFG_GONK (1<<27)
140#define EP93XX_SYSCON_DEVCFG_TONG (1<<26)
141#define EP93XX_SYSCON_DEVCFG_MONG (1<<25)
142#define EP93XX_SYSCON_DEVCFG_U3EN (1<<24)
143#define EP93XX_SYSCON_DEVCFG_CPENA (1<<23)
144#define EP93XX_SYSCON_DEVCFG_A2ONG (1<<22)
145#define EP93XX_SYSCON_DEVCFG_A1ONG (1<<21)
146#define EP93XX_SYSCON_DEVCFG_U2EN (1<<20)
147#define EP93XX_SYSCON_DEVCFG_EXVC (1<<19)
148#define EP93XX_SYSCON_DEVCFG_U1EN (1<<18)
149#define EP93XX_SYSCON_DEVCFG_TIN (1<<17)
150#define EP93XX_SYSCON_DEVCFG_HC3IN (1<<15)
151#define EP93XX_SYSCON_DEVCFG_HC3EN (1<<14)
152#define EP93XX_SYSCON_DEVCFG_HC1IN (1<<13)
153#define EP93XX_SYSCON_DEVCFG_HC1EN (1<<12)
154#define EP93XX_SYSCON_DEVCFG_HONIDE (1<<11)
155#define EP93XX_SYSCON_DEVCFG_GONIDE (1<<10)
156#define EP93XX_SYSCON_DEVCFG_PONG (1<<9)
157#define EP93XX_SYSCON_DEVCFG_EONIDE (1<<8)
158#define EP93XX_SYSCON_DEVCFG_I2SONSSP (1<<7)
159#define EP93XX_SYSCON_DEVCFG_I2SONAC97 (1<<6)
160#define EP93XX_SYSCON_DEVCFG_RASONP3 (1<<4)
161#define EP93XX_SYSCON_DEVCFG_RAS (1<<3)
162#define EP93XX_SYSCON_DEVCFG_ADCPD (1<<2)
163#define EP93XX_SYSCON_DEVCFG_KEYS (1<<1)
164#define EP93XX_SYSCON_DEVCFG_SHENA (1<<0)
165#define EP93XX_SYSCON_VIDCLKDIV EP93XX_SYSCON_REG(0x84)
166#define EP93XX_SYSCON_CLKDIV_ENABLE (1<<15)
167#define EP93XX_SYSCON_CLKDIV_ESEL (1<<14)
168#define EP93XX_SYSCON_CLKDIV_PSEL (1<<13)
169#define EP93XX_SYSCON_CLKDIV_PDIV_SHIFT 8
170#define EP93XX_SYSCON_I2SCLKDIV EP93XX_SYSCON_REG(0x8c)
171#define EP93XX_SYSCON_I2SCLKDIV_SENA (1<<31)
172#define EP93XX_SYSCON_I2SCLKDIV_ORIDE (1<<29)
173#define EP93XX_SYSCON_I2SCLKDIV_SPOL (1<<19)
174#define EP93XX_I2SCLKDIV_SDIV (1 << 16)
175#define EP93XX_I2SCLKDIV_LRDIV32 (0 << 17)
176#define EP93XX_I2SCLKDIV_LRDIV64 (1 << 17)
177#define EP93XX_I2SCLKDIV_LRDIV128 (2 << 17)
178#define EP93XX_I2SCLKDIV_LRDIV_MASK (3 << 17)
179#define EP93XX_SYSCON_KEYTCHCLKDIV EP93XX_SYSCON_REG(0x90)
180#define EP93XX_SYSCON_KEYTCHCLKDIV_TSEN (1<<31)
181#define EP93XX_SYSCON_KEYTCHCLKDIV_ADIV (1<<16)
182#define EP93XX_SYSCON_KEYTCHCLKDIV_KEN (1<<15)
183#define EP93XX_SYSCON_KEYTCHCLKDIV_KDIV (1<<0)
184#define EP93XX_SYSCON_SYSCFG EP93XX_SYSCON_REG(0x9c)
185#define EP93XX_SYSCON_SYSCFG_REV_MASK (0xf0000000)
186#define EP93XX_SYSCON_SYSCFG_REV_SHIFT (28)
187#define EP93XX_SYSCON_SYSCFG_SBOOT (1<<8)
188#define EP93XX_SYSCON_SYSCFG_LCSN7 (1<<7)
189#define EP93XX_SYSCON_SYSCFG_LCSN6 (1<<6)
190#define EP93XX_SYSCON_SYSCFG_LASDO (1<<5)
191#define EP93XX_SYSCON_SYSCFG_LEEDA (1<<4)
192#define EP93XX_SYSCON_SYSCFG_LEECLK (1<<3)
193#define EP93XX_SYSCON_SYSCFG_LCSN2 (1<<1)
194#define EP93XX_SYSCON_SYSCFG_LCSN1 (1<<0)
195#define EP93XX_SYSCON_SWLOCK EP93XX_SYSCON_REG(0xc0)
196
107/* EP93xx System Controller software locked register write */ 197/* EP93xx System Controller software locked register write */
108void ep93xx_syscon_swlocked_write(unsigned int val, void __iomem *reg); 198void ep93xx_syscon_swlocked_write(unsigned int val, void __iomem *reg);
109void ep93xx_devcfg_set_clear(unsigned int set_bits, unsigned int clear_bits); 199void ep93xx_devcfg_set_clear(unsigned int set_bits, unsigned int clear_bits);