diff options
Diffstat (limited to 'arch/arm/mach-ep93xx/soc.h')
-rw-r--r-- | arch/arm/mach-ep93xx/soc.h | 90 |
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 */ |
108 | void ep93xx_syscon_swlocked_write(unsigned int val, void __iomem *reg); | 198 | void ep93xx_syscon_swlocked_write(unsigned int val, void __iomem *reg); |
109 | void ep93xx_devcfg_set_clear(unsigned int set_bits, unsigned int clear_bits); | 199 | void ep93xx_devcfg_set_clear(unsigned int set_bits, unsigned int clear_bits); |