diff options
Diffstat (limited to 'include/asm-arm')
46 files changed, 549 insertions, 809 deletions
diff --git a/include/asm-arm/arch-at91/at91rm9200.h b/include/asm-arm/arch-at91/at91rm9200.h index a12ac8ab2ad0..802891a9cd81 100644 --- a/include/asm-arm/arch-at91/at91rm9200.h +++ b/include/asm-arm/arch-at91/at91rm9200.h | |||
@@ -107,185 +107,4 @@ | |||
107 | #define AT91RM9200_UHP_BASE 0x00300000 /* USB Host controller */ | 107 | #define AT91RM9200_UHP_BASE 0x00300000 /* USB Host controller */ |
108 | 108 | ||
109 | 109 | ||
110 | #if 0 | ||
111 | /* | ||
112 | * PIO pin definitions (peripheral A/B multiplexing). | ||
113 | */ | ||
114 | #define AT91_PA0_MISO (1 << 0) /* A: SPI Master-In Slave-Out */ | ||
115 | #define AT91_PA0_PCK3 (1 << 0) /* B: PMC Programmable Clock Output 3 */ | ||
116 | #define AT91_PA1_MOSI (1 << 1) /* A: SPI Master-Out Slave-In */ | ||
117 | #define AT91_PA1_PCK0 (1 << 1) /* B: PMC Programmable Clock Output 0 */ | ||
118 | #define AT91_PA2_SPCK (1 << 2) /* A: SPI Serial Clock */ | ||
119 | #define AT91_PA2_IRQ4 (1 << 2) /* B: External Interrupt 4 */ | ||
120 | #define AT91_PA3_NPCS0 (1 << 3) /* A: SPI Peripheral Chip Select 0 */ | ||
121 | #define AT91_PA3_IRQ5 (1 << 3) /* B: External Interrupt 5 */ | ||
122 | #define AT91_PA4_NPCS1 (1 << 4) /* A: SPI Peripheral Chip Select 1 */ | ||
123 | #define AT91_PA4_PCK1 (1 << 4) /* B: PMC Programmable Clock Output 1 */ | ||
124 | #define AT91_PA5_NPCS2 (1 << 5) /* A: SPI Peripheral Chip Select 2 */ | ||
125 | #define AT91_PA5_TXD3 (1 << 5) /* B: USART Transmit Data 3 */ | ||
126 | #define AT91_PA6_NPCS3 (1 << 6) /* A: SPI Peripheral Chip Select 3 */ | ||
127 | #define AT91_PA6_RXD3 (1 << 6) /* B: USART Receive Data 3 */ | ||
128 | #define AT91_PA7_ETXCK_EREFCK (1 << 7) /* A: Ethernet Reference Clock / Transmit Clock */ | ||
129 | #define AT91_PA7_PCK2 (1 << 7) /* B: PMC Programmable Clock Output 2 */ | ||
130 | #define AT91_PA8_ETXEN (1 << 8) /* A: Ethernet Transmit Enable */ | ||
131 | #define AT91_PA8_MCCDB (1 << 8) /* B: MMC Multimedia Card B Command */ | ||
132 | #define AT91_PA9_ETX0 (1 << 9) /* A: Ethernet Transmit Data 0 */ | ||
133 | #define AT91_PA9_MCDB0 (1 << 9) /* B: MMC Multimedia Card B Data 0 */ | ||
134 | #define AT91_PA10_ETX1 (1 << 10) /* A: Ethernet Transmit Data 1 */ | ||
135 | #define AT91_PA10_MCDB1 (1 << 10) /* B: MMC Multimedia Card B Data 1 */ | ||
136 | #define AT91_PA11_ECRS_ECRSDV (1 << 11) /* A: Ethernet Carrier Sense / Data Valid */ | ||
137 | #define AT91_PA11_MCDB2 (1 << 11) /* B: MMC Multimedia Card B Data 2 */ | ||
138 | #define AT91_PA12_ERX0 (1 << 12) /* A: Ethernet Receive Data 0 */ | ||
139 | #define AT91_PA12_MCDB3 (1 << 12) /* B: MMC Multimedia Card B Data 3 */ | ||
140 | #define AT91_PA13_ERX1 (1 << 13) /* A: Ethernet Receive Data 1 */ | ||
141 | #define AT91_PA13_TCLK0 (1 << 13) /* B: TC External Clock Input 0 */ | ||
142 | #define AT91_PA14_ERXER (1 << 14) /* A: Ethernet Receive Error */ | ||
143 | #define AT91_PA14_TCLK1 (1 << 14) /* B: TC External Clock Input 1 */ | ||
144 | #define AT91_PA15_EMDC (1 << 15) /* A: Ethernet Management Data Clock */ | ||
145 | #define AT91_PA15_TCLK2 (1 << 15) /* B: TC External Clock Input 2 */ | ||
146 | #define AT91_PA16_EMDIO (1 << 16) /* A: Ethernet Management Data I/O */ | ||
147 | #define AT91_PA16_IRQ6 (1 << 16) /* B: External Interrupt 6 */ | ||
148 | #define AT91_PA17_TXD0 (1 << 17) /* A: USART Transmit Data 0 */ | ||
149 | #define AT91_PA17_TIOA0 (1 << 17) /* B: TC I/O Line A 0 */ | ||
150 | #define AT91_PA18_RXD0 (1 << 18) /* A: USART Receive Data 0 */ | ||
151 | #define AT91_PA18_TIOB0 (1 << 18) /* B: TC I/O Line B 0 */ | ||
152 | #define AT91_PA19_SCK0 (1 << 19) /* A: USART Serial Clock 0 */ | ||
153 | #define AT91_PA19_TIOA1 (1 << 19) /* B: TC I/O Line A 1 */ | ||
154 | #define AT91_PA20_CTS0 (1 << 20) /* A: USART Clear To Send 0 */ | ||
155 | #define AT91_PA20_TIOB1 (1 << 20) /* B: TC I/O Line B 1 */ | ||
156 | #define AT91_PA21_RTS0 (1 << 21) /* A: USART Ready To Send 0 */ | ||
157 | #define AT91_PA21_TIOA2 (1 << 21) /* B: TC I/O Line A 2 */ | ||
158 | #define AT91_PA22_RXD2 (1 << 22) /* A: USART Receive Data 2 */ | ||
159 | #define AT91_PA22_TIOB2 (1 << 22) /* B: TC I/O Line B 2 */ | ||
160 | #define AT91_PA23_TXD2 (1 << 23) /* A: USART Transmit Data 2 */ | ||
161 | #define AT91_PA23_IRQ3 (1 << 23) /* B: External Interrupt 3 */ | ||
162 | #define AT91_PA24_SCK2 (1 << 24) /* A: USART Serial Clock 2 */ | ||
163 | #define AT91_PA24_PCK1 (1 << 24) /* B: PMC Programmable Clock Output 1 */ | ||
164 | #define AT91_PA25_TWD (1 << 25) /* A: TWI Two-wire Serial Data */ | ||
165 | #define AT91_PA25_IRQ2 (1 << 25) /* B: External Interrupt 2 */ | ||
166 | #define AT91_PA26_TWCK (1 << 26) /* A: TWI Two-wire Serial Clock */ | ||
167 | #define AT91_PA26_IRQ1 (1 << 26) /* B: External Interrupt 1 */ | ||
168 | #define AT91_PA27_MCCK (1 << 27) /* A: MMC Multimedia Card Clock */ | ||
169 | #define AT91_PA27_TCLK3 (1 << 27) /* B: TC External Clock Input 3 */ | ||
170 | #define AT91_PA28_MCCDA (1 << 28) /* A: MMC Multimedia Card A Command */ | ||
171 | #define AT91_PA28_TCLK4 (1 << 28) /* B: TC External Clock Input 4 */ | ||
172 | #define AT91_PA29_MCDA0 (1 << 29) /* A: MMC Multimedia Card A Data 0 */ | ||
173 | #define AT91_PA29_TCLK5 (1 << 29) /* B: TC External Clock Input 5 */ | ||
174 | #define AT91_PA30_DRXD (1 << 30) /* A: DBGU Receive Data */ | ||
175 | #define AT91_PA30_CTS2 (1 << 30) /* B: USART Clear To Send 2 */ | ||
176 | #define AT91_PA31_DTXD (1 << 31) /* A: DBGU Transmit Data */ | ||
177 | #define AT91_PA31_RTS2 (1 << 31) /* B: USART Ready To Send 2 */ | ||
178 | |||
179 | #define AT91_PB0_TF0 (1 << 0) /* A: SSC Transmit Frame Sync 0 */ | ||
180 | #define AT91_PB0_RTS3 (1 << 0) /* B: USART Ready To Send 3 */ | ||
181 | #define AT91_PB1_TK0 (1 << 1) /* A: SSC Transmit Clock 0 */ | ||
182 | #define AT91_PB1_CTS3 (1 << 1) /* B: USART Clear To Send 3 */ | ||
183 | #define AT91_PB2_TD0 (1 << 2) /* A: SSC Transmit Data 0 */ | ||
184 | #define AT91_PB2_SCK3 (1 << 2) /* B: USART Serial Clock 3 */ | ||
185 | #define AT91_PB3_RD0 (1 << 3) /* A: SSC Receive Data 0 */ | ||
186 | #define AT91_PB3_MCDA1 (1 << 3) /* B: MMC Multimedia Card A Data 1 */ | ||
187 | #define AT91_PB4_RK0 (1 << 4) /* A: SSC Receive Clock 0 */ | ||
188 | #define AT91_PB4_MCDA2 (1 << 4) /* B: MMC Multimedia Card A Data 2 */ | ||
189 | #define AT91_PB5_RF0 (1 << 5) /* A: SSC Receive Frame Sync 0 */ | ||
190 | #define AT91_PB5_MCDA3 (1 << 5) /* B: MMC Multimedia Card A Data 3 */ | ||
191 | #define AT91_PB6_TF1 (1 << 6) /* A: SSC Transmit Frame Sync 1 */ | ||
192 | #define AT91_PB6_TIOA3 (1 << 6) /* B: TC I/O Line A 3 */ | ||
193 | #define AT91_PB7_TK1 (1 << 7) /* A: SSC Transmit Clock 1 */ | ||
194 | #define AT91_PB7_TIOB3 (1 << 7) /* B: TC I/O Line B 3 */ | ||
195 | #define AT91_PB8_TD1 (1 << 8) /* A: SSC Transmit Data 1 */ | ||
196 | #define AT91_PB8_TIOA4 (1 << 8) /* B: TC I/O Line A 4 */ | ||
197 | #define AT91_PB9_RD1 (1 << 9) /* A: SSC Receive Data 1 */ | ||
198 | #define AT91_PB9_TIOB4 (1 << 9) /* B: TC I/O Line B 4 */ | ||
199 | #define AT91_PB10_RK1 (1 << 10) /* A: SSC Receive Clock 1 */ | ||
200 | #define AT91_PB10_TIOA5 (1 << 10) /* B: TC I/O Line A 5 */ | ||
201 | #define AT91_PB11_RF1 (1 << 11) /* A: SSC Receive Frame Sync 1 */ | ||
202 | #define AT91_PB11_TIOB5 (1 << 11) /* B: TC I/O Line B 5 */ | ||
203 | #define AT91_PB12_TF2 (1 << 12) /* A: SSC Transmit Frame Sync 2 */ | ||
204 | #define AT91_PB12_ETX2 (1 << 12) /* B: Ethernet Transmit Data 2 */ | ||
205 | #define AT91_PB13_TK2 (1 << 13) /* A: SSC Transmit Clock 3 */ | ||
206 | #define AT91_PB13_ETX3 (1 << 13) /* B: Ethernet Transmit Data 3 */ | ||
207 | #define AT91_PB14_TD2 (1 << 14) /* A: SSC Transmit Data 2 */ | ||
208 | #define AT91_PB14_ETXER (1 << 14) /* B: Ethernet Transmit Coding Error */ | ||
209 | #define AT91_PB15_RD2 (1 << 15) /* A: SSC Receive Data 2 */ | ||
210 | #define AT91_PB15_ERX2 (1 << 15) /* B: Ethernet Receive Data 2 */ | ||
211 | #define AT91_PB16_RK2 (1 << 16) /* A: SSC Receive Clock 2 */ | ||
212 | #define AT91_PB16_ERX3 (1 << 16) /* B: Ethernet Receive Data 3 */ | ||
213 | #define AT91_PB17_RF2 (1 << 17) /* A: SSC Receive Frame Sync 2 */ | ||
214 | #define AT91_PB17_ERXDV (1 << 17) /* B: Ethernet Receive Data Valid */ | ||
215 | #define AT91_PB18_RI1 (1 << 18) /* A: USART Ring Indicator 1 */ | ||
216 | #define AT91_PB18_ECOL (1 << 18) /* B: Ethernet Collision Detected */ | ||
217 | #define AT91_PB19_DTR1 (1 << 19) /* A: USART Data Terminal Ready 1 */ | ||
218 | #define AT91_PB19_ERXCK (1 << 19) /* B: Ethernet Receive Clock */ | ||
219 | #define AT91_PB20_TXD1 (1 << 20) /* A: USART Transmit Data 1 */ | ||
220 | #define AT91_PB21_RXD1 (1 << 21) /* A: USART Receive Data 1 */ | ||
221 | #define AT91_PB22_SCK1 (1 << 22) /* A: USART Serial Clock 1 */ | ||
222 | #define AT91_PB23_DCD1 (1 << 23) /* A: USART Data Carrier Detect 1 */ | ||
223 | #define AT91_PB24_CTS1 (1 << 24) /* A: USART Clear To Send 1 */ | ||
224 | #define AT91_PB25_DSR1 (1 << 25) /* A: USART Data Set Ready 1 */ | ||
225 | #define AT91_PB25_EF100 (1 << 25) /* B: Ethernet Force 100 Mbit */ | ||
226 | #define AT91_PB26_RTS1 (1 << 26) /* A: USART Ready To Send 1 */ | ||
227 | #define AT91_PB27_PCK0 (1 << 27) /* B: PMC Programmable Clock Output 0 */ | ||
228 | #define AT91_PB28_FIQ (1 << 28) /* A: Fast Interrupt */ | ||
229 | #define AT91_PB29_IRQ0 (1 << 29) /* A: External Interrupt 0 */ | ||
230 | |||
231 | #define AT91_PC0_BFCK (1 << 0) /* A: Burst Flash Clock */ | ||
232 | #define AT91_PC1_BFRDY_SMOE (1 << 1) /* A: Burst Flash Ready / SmartMedia Output Enable */ | ||
233 | #define AT91_PC2_BFAVD (1 << 2) /* A: Burst Flash Address Valid */ | ||
234 | #define AT91_PC3_BFBAA_SMWE (1 << 3) /* A: Burst Flash Address Advance / SmartMedia Write Enable */ | ||
235 | #define AT91_PC4_BFOE (1 << 4) /* A: Burst Flash Output Enable */ | ||
236 | #define AT91_PC5_BFWE (1 << 5) /* A: Burst Flash Write Enable */ | ||
237 | #define AT91_PC6_NWAIT (1 << 6) /* A: SMC Wait Signal */ | ||
238 | #define AT91_PC7_A23 (1 << 7) /* A: Address Bus 23 */ | ||
239 | #define AT91_PC8_A24 (1 << 8) /* A: Address Bus 24 */ | ||
240 | #define AT91_PC9_A25_CFRNW (1 << 9) /* A: Address Bus 25 / Compact Flash Read Not Write */ | ||
241 | #define AT91_PC10_NCS4_CFCS (1 << 10) /* A: SMC Chip Select 4 / Compact Flash Chip Select */ | ||
242 | #define AT91_PC11_NCS5_CFCE1 (1 << 11) /* A: SMC Chip Select 5 / Compact Flash Chip Enable 1 */ | ||
243 | #define AT91_PC12_NCS6_CFCE2 (1 << 12) /* A: SMC Chip Select 6 / Compact Flash Chip Enable 2 */ | ||
244 | #define AT91_PC13_NCS7 (1 << 13) /* A: Chip Select 7 */ | ||
245 | |||
246 | #define AT91_PD0_ETX0 (1 << 0) /* A: Ethernet Transmit Data 0 */ | ||
247 | #define AT91_PD1_ETX1 (1 << 1) /* A: Ethernet Transmit Data 1 */ | ||
248 | #define AT91_PD2_ETX2 (1 << 2) /* A: Ethernet Transmit Data 2 */ | ||
249 | #define AT91_PD3_ETX3 (1 << 3) /* A: Ethernet Transmit Data 3 */ | ||
250 | #define AT91_PD4_ETXEN (1 << 4) /* A: Ethernet Transmit Enable */ | ||
251 | #define AT91_PD5_ETXER (1 << 5) /* A: Ethernet Transmit Coding Error */ | ||
252 | #define AT91_PD6_DTXD (1 << 6) /* A: DBGU Transmit Data */ | ||
253 | #define AT91_PD7_PCK0 (1 << 7) /* A: PMC Programmable Clock Output 0 */ | ||
254 | #define AT91_PD7_TSYNC (1 << 7) /* B: ETM Trace Synchronization Signal */ | ||
255 | #define AT91_PD8_PCK1 (1 << 8) /* A: PMC Programmable Clock Output 1 */ | ||
256 | #define AT91_PD8_TCLK (1 << 8) /* B: ETM Trace Clock */ | ||
257 | #define AT91_PD9_PCK2 (1 << 9) /* A: PMC Programmable Clock Output 2 */ | ||
258 | #define AT91_PD9_TPS0 (1 << 9) /* B: ETM Trace ARM Pipeline Status 0 */ | ||
259 | #define AT91_PD10_PCK3 (1 << 10) /* A: PMC Programmable Clock Output 3 */ | ||
260 | #define AT91_PD10_TPS1 (1 << 10) /* B: ETM Trace ARM Pipeline Status 1 */ | ||
261 | #define AT91_PD11_TPS2 (1 << 11) /* B: ETM Trace ARM Pipeline Status 2 */ | ||
262 | #define AT91_PD12_TPK0 (1 << 12) /* B: ETM Trace Packet Port 0 */ | ||
263 | #define AT91_PD13_TPK1 (1 << 13) /* B: ETM Trace Packet Port 1 */ | ||
264 | #define AT91_PD14_TPK2 (1 << 14) /* B: ETM Trace Packet Port 2 */ | ||
265 | #define AT91_PD15_TD0 (1 << 15) /* A: SSC Transmit Data 0 */ | ||
266 | #define AT91_PD15_TPK3 (1 << 15) /* B: ETM Trace Packet Port 3 */ | ||
267 | #define AT91_PD16_TD1 (1 << 16) /* A: SSC Transmit Data 1 */ | ||
268 | #define AT91_PD16_TPK4 (1 << 16) /* B: ETM Trace Packet Port 4 */ | ||
269 | #define AT91_PD17_TD2 (1 << 17) /* A: SSC Transmit Data 2 */ | ||
270 | #define AT91_PD17_TPK5 (1 << 17) /* B: ETM Trace Packet Port 5 */ | ||
271 | #define AT91_PD18_NPCS1 (1 << 18) /* A: SPI Peripheral Chip Select 1 */ | ||
272 | #define AT91_PD18_TPK6 (1 << 18) /* B: ETM Trace Packet Port 6 */ | ||
273 | #define AT91_PD19_NPCS2 (1 << 19) /* A: SPI Peripheral Chip Select 2 */ | ||
274 | #define AT91_PD19_TPK7 (1 << 19) /* B: ETM Trace Packet Port 7 */ | ||
275 | #define AT91_PD20_NPCS3 (1 << 20) /* A: SPI Peripheral Chip Select 3 */ | ||
276 | #define AT91_PD20_TPK8 (1 << 20) /* B: ETM Trace Packet Port 8 */ | ||
277 | #define AT91_PD21_RTS0 (1 << 21) /* A: USART Ready To Send 0 */ | ||
278 | #define AT91_PD21_TPK9 (1 << 21) /* B: ETM Trace Packet Port 9 */ | ||
279 | #define AT91_PD22_RTS1 (1 << 22) /* A: USART Ready To Send 1 */ | ||
280 | #define AT91_PD22_TPK10 (1 << 22) /* B: ETM Trace Packet Port 10 */ | ||
281 | #define AT91_PD23_RTS2 (1 << 23) /* A: USART Ready To Send 2 */ | ||
282 | #define AT91_PD23_TPK11 (1 << 23) /* B: ETM Trace Packet Port 11 */ | ||
283 | #define AT91_PD24_RTS3 (1 << 24) /* A: USART Ready To Send 3 */ | ||
284 | #define AT91_PD24_TPK12 (1 << 24) /* B: ETM Trace Packet Port 12 */ | ||
285 | #define AT91_PD25_DTR1 (1 << 25) /* A: USART Data Terminal Ready 1 */ | ||
286 | #define AT91_PD25_TPK13 (1 << 25) /* B: ETM Trace Packet Port 13 */ | ||
287 | #define AT91_PD26_TPK14 (1 << 26) /* B: ETM Trace Packet Port 14 */ | ||
288 | #define AT91_PD27_TPK15 (1 << 27) /* B: ETM Trace Packet Port 15 */ | ||
289 | #endif | ||
290 | |||
291 | #endif | 110 | #endif |
diff --git a/include/asm-arm/arch-at91/at91sam9260.h b/include/asm-arm/arch-at91/at91sam9260.h index 2cadebc36af7..0427f8698c07 100644 --- a/include/asm-arm/arch-at91/at91sam9260.h +++ b/include/asm-arm/arch-at91/at91sam9260.h | |||
@@ -117,13 +117,4 @@ | |||
117 | #define AT91SAM9XE_SRAM_BASE 0x00300000 /* Internal SRAM base address */ | 117 | #define AT91SAM9XE_SRAM_BASE 0x00300000 /* Internal SRAM base address */ |
118 | 118 | ||
119 | 119 | ||
120 | #if 0 | ||
121 | /* | ||
122 | * PIO pin definitions (peripheral A/B multiplexing). | ||
123 | */ | ||
124 | |||
125 | // TODO: Add | ||
126 | |||
127 | #endif | ||
128 | |||
129 | #endif | 120 | #endif |
diff --git a/include/asm-arm/arch-at91/at91sam9261.h b/include/asm-arm/arch-at91/at91sam9261.h index 01b58ffe2e27..9eb459570330 100644 --- a/include/asm-arm/arch-at91/at91sam9261.h +++ b/include/asm-arm/arch-at91/at91sam9261.h | |||
@@ -98,195 +98,4 @@ | |||
98 | #define AT91SAM9261_LCDC_BASE 0x00600000 /* LDC controller */ | 98 | #define AT91SAM9261_LCDC_BASE 0x00600000 /* LDC controller */ |
99 | 99 | ||
100 | 100 | ||
101 | #if 0 | ||
102 | /* | ||
103 | * PIO pin definitions (peripheral A/B multiplexing). | ||
104 | */ | ||
105 | #define AT91_PA0_SPI0_MISO (1 << 0) /* A: SPI0 Master In Slave */ | ||
106 | #define AT91_PA0_MCDA0 (1 << 0) /* B: Multimedia Card A Data 0 */ | ||
107 | #define AT91_PA1_SPI0_MOSI (1 << 1) /* A: SPI0 Master Out Slave */ | ||
108 | #define AT91_PA1_MCCDA (1 << 1) /* B: Multimedia Card A Command */ | ||
109 | #define AT91_PA2_SPI0_SPCK (1 << 2) /* A: SPI0 Serial Clock */ | ||
110 | #define AT91_PA2_MCCK (1 << 2) /* B: Multimedia Card Clock */ | ||
111 | #define AT91_PA3_SPI0_NPCS0 (1 << 3) /* A: SPI0 Peripheral Chip Select 0 */ | ||
112 | #define AT91_PA4_SPI0_NPCS1 (1 << 4) /* A: SPI0 Peripheral Chip Select 1 */ | ||
113 | #define AT91_PA4_MCDA1 (1 << 4) /* B: Multimedia Card A Data 1 */ | ||
114 | #define AT91_PA5_SPI0_NPCS2 (1 << 5) /* A: SPI0 Peripheral Chip Select 2 */ | ||
115 | #define AT91_PA5_MCDA2 (1 << 5) /* B: Multimedia Card A Data 2 */ | ||
116 | #define AT91_PA6_SPI0_NPCS3 (1 << 6) /* A: SPI0 Peripheral Chip Select 3 */ | ||
117 | #define AT91_PA6_MCDA3 (1 << 6) /* B: Multimedia Card A Data 3 */ | ||
118 | #define AT91_PA7_TWD (1 << 7) /* A: TWI Two-wire Serial Data */ | ||
119 | #define AT91_PA7_PCK0 (1 << 7) /* B: PMC Programmable clock Output 0 */ | ||
120 | #define AT91_PA8_TWCK (1 << 8) /* A: TWI Two-wire Serial Clock */ | ||
121 | #define AT91_PA8_PCK1 (1 << 8) /* B: PMC Programmable clock Output 1 */ | ||
122 | #define AT91_PA9_DRXD (1 << 9) /* A: DBGU Debug Receive Data */ | ||
123 | #define AT91_PA9_PCK2 (1 << 9) /* B: PMC Programmable clock Output 2 */ | ||
124 | #define AT91_PA10_DTXD (1 << 10) /* A: DBGU Debug Transmit Data */ | ||
125 | #define AT91_PA10_PCK3 (1 << 10) /* B: PMC Programmable clock Output 3 */ | ||
126 | #define AT91_PA11_TSYNC (1 << 11) /* A: Trace Synchronization Signal */ | ||
127 | #define AT91_PA11_SCK1 (1 << 11) /* B: USART1 Serial Clock */ | ||
128 | #define AT91_PA12_TCLK (1 << 12) /* A: Trace Clock */ | ||
129 | #define AT91_PA12_RTS1 (1 << 12) /* B: USART1 Ready To Send */ | ||
130 | #define AT91_PA13_TPS0 (1 << 13) /* A: Trace ARM Pipeline Status 0 */ | ||
131 | #define AT91_PA13_CTS1 (1 << 13) /* B: USART1 Clear To Send */ | ||
132 | #define AT91_PA14_TPS1 (1 << 14) /* A: Trace ARM Pipeline Status 1 */ | ||
133 | #define AT91_PA14_SCK2 (1 << 14) /* B: USART2 Serial Clock */ | ||
134 | #define AT91_PA15_TPS2 (1 << 15) /* A: Trace ARM Pipeline Status 2 */ | ||
135 | #define AT91_PA15_RTS2 (1 << 15) /* B: USART2 Ready To Send */ | ||
136 | #define AT91_PA16_TPK0 (1 << 16) /* A: Trace Packet Port 0 */ | ||
137 | #define AT91_PA16_CTS2 (1 << 16) /* B: USART2 Clear To Send */ | ||
138 | #define AT91_PA17_TPK1 (1 << 17) /* A: Trace Packet Port 1 */ | ||
139 | #define AT91_PA17_TF1 (1 << 17) /* B: SSC1 Transmit Frame Sync */ | ||
140 | #define AT91_PA18_TPK2 (1 << 18) /* A: Trace Packet Port 2 */ | ||
141 | #define AT91_PA18_TK1 (1 << 18) /* B: SSC1 Transmit Clock */ | ||
142 | #define AT91_PA19_TPK3 (1 << 19) /* A: Trace Packet Port 3 */ | ||
143 | #define AT91_PA19_TD1 (1 << 19) /* B: SSC1 Transmit Data */ | ||
144 | #define AT91_PA20_TPK4 (1 << 20) /* A: Trace Packet Port 4 */ | ||
145 | #define AT91_PA20_RD1 (1 << 20) /* B: SSC1 Receive Data */ | ||
146 | #define AT91_PA21_TPK5 (1 << 21) /* A: Trace Packet Port 5 */ | ||
147 | #define AT91_PA21_RK1 (1 << 21) /* B: SSC1 Receive Clock */ | ||
148 | #define AT91_PA22_TPK6 (1 << 22) /* A: Trace Packet Port 6 */ | ||
149 | #define AT91_PA22_RF1 (1 << 22) /* B: SSC1 Receive Frame Sync */ | ||
150 | #define AT91_PA23_TPK7 (1 << 23) /* A: Trace Packet Port 7 */ | ||
151 | #define AT91_PA23_RTS0 (1 << 23) /* B: USART0 Ready To Send */ | ||
152 | #define AT91_PA24_TPK8 (1 << 24) /* A: Trace Packet Port 8 */ | ||
153 | #define AT91_PA24_SPI1_NPCS1 (1 << 24) /* B: SPI1 Peripheral Chip Select 1 */ | ||
154 | #define AT91_PA25_TPK9 (1 << 25) /* A: Trace Packet Port 9 */ | ||
155 | #define AT91_PA25_SPI1_NPCS2 (1 << 25) /* B: SPI1 Peripheral Chip Select 2 */ | ||
156 | #define AT91_PA26_TPK10 (1 << 26) /* A: Trace Packet Port 10 */ | ||
157 | #define AT91_PA26_SPI1_NPCS3 (1 << 26) /* B: SPI1 Peripheral Chip Select 3 */ | ||
158 | #define AT91_PA27_TPK11 (1 << 27) /* A: Trace Packet Port 11 */ | ||
159 | #define AT91_PA27_SPI0_NPCS1 (1 << 27) /* B: SPI0 Peripheral Chip Select 1 */ | ||
160 | #define AT91_PA28_TPK12 (1 << 28) /* A: Trace Packet Port 12 */ | ||
161 | #define AT91_PA28_SPI0_NPCS2 (1 << 28) /* B: SPI0 Peripheral Chip Select 2 */ | ||
162 | #define AT91_PA29_TPK13 (1 << 29) /* A: Trace Packet Port 13 */ | ||
163 | #define AT91_PA29_SPI0_NPCS3 (1 << 29) /* B: SPI0 Peripheral Chip Select 3 */ | ||
164 | #define AT91_PA30_TPK14 (1 << 30) /* A: Trace Packet Port 14 */ | ||
165 | #define AT91_PA30_A23 (1 << 30) /* B: Address Bus bit 23 */ | ||
166 | #define AT91_PA31_TPK15 (1 << 31) /* A: Trace Packet Port 15 */ | ||
167 | #define AT91_PA31_A24 (1 << 31) /* B: Address Bus bit 24 */ | ||
168 | |||
169 | #define AT91_PB0_LCDVSYNC (1 << 0) /* A: LCD Vertical Synchronization */ | ||
170 | #define AT91_PB1_LCDHSYNC (1 << 1) /* A: LCD Horizontal Synchronization */ | ||
171 | #define AT91_PB2_LCDDOTCK (1 << 2) /* A: LCD Dot Clock */ | ||
172 | #define AT91_PB2_PCK0 (1 << 2) /* B: PMC Programmable clock Output 0 */ | ||
173 | #define AT91_PB3_LCDDEN (1 << 3) /* A: LCD Data Enable */ | ||
174 | #define AT91_PB4_LCDCC (1 << 4) /* A: LCD Contrast Control */ | ||
175 | #define AT91_PB4_LCDD2 (1 << 4) /* B: LCD Data Bus Bit 2 */ | ||
176 | #define AT91_PB5_LCDD0 (1 << 5) /* A: LCD Data Bus Bit 0 */ | ||
177 | #define AT91_PB5_LCDD3 (1 << 5) /* B: LCD Data Bus Bit 3 */ | ||
178 | #define AT91_PB6_LCDD1 (1 << 6) /* A: LCD Data Bus Bit 1 */ | ||
179 | #define AT91_PB6_LCDD4 (1 << 6) /* B: LCD Data Bus Bit 4 */ | ||
180 | #define AT91_PB7_LCDD2 (1 << 7) /* A: LCD Data Bus Bit 2 */ | ||
181 | #define AT91_PB7_LCDD5 (1 << 7) /* B: LCD Data Bus Bit 5 */ | ||
182 | #define AT91_PB8_LCDD3 (1 << 8) /* A: LCD Data Bus Bit 3 */ | ||
183 | #define AT91_PB8_LCDD6 (1 << 8) /* B: LCD Data Bus Bit 6 */ | ||
184 | #define AT91_PB9_LCDD4 (1 << 9) /* A: LCD Data Bus Bit 4 */ | ||
185 | #define AT91_PB9_LCDD7 (1 << 9) /* B: LCD Data Bus Bit 7 */ | ||
186 | #define AT91_PB10_LCDD5 (1 << 10) /* A: LCD Data Bus Bit 5 */ | ||
187 | #define AT91_PB10_LCDD10 (1 << 10) /* B: LCD Data Bus Bit 10 */ | ||
188 | #define AT91_PB11_LCDD6 (1 << 11) /* A: LCD Data Bus Bit 6 */ | ||
189 | #define AT91_PB11_LCDD11 (1 << 11) /* B: LCD Data Bus Bit 11 */ | ||
190 | #define AT91_PB12_LCDD7 (1 << 12) /* A: LCD Data Bus Bit 7 */ | ||
191 | #define AT91_PB12_LCDD12 (1 << 12) /* B: LCD Data Bus Bit 12 */ | ||
192 | #define AT91_PB13_LCDD8 (1 << 13) /* A: LCD Data Bus Bit 8 */ | ||
193 | #define AT91_PB13_LCDD13 (1 << 13) /* B: LCD Data Bus Bit 13 */ | ||
194 | #define AT91_PB14_LCDD9 (1 << 14) /* A: LCD Data Bus Bit 9 */ | ||
195 | #define AT91_PB14_LCDD14 (1 << 14) /* B: LCD Data Bus Bit 14 */ | ||
196 | #define AT91_PB15_LCDD10 (1 << 15) /* A: LCD Data Bus Bit 10 */ | ||
197 | #define AT91_PB15_LCDD15 (1 << 15) /* B: LCD Data Bus Bit 15 */ | ||
198 | #define AT91_PB16_LCDD11 (1 << 16) /* A: LCD Data Bus Bit 11 */ | ||
199 | #define AT91_PB16_LCDD19 (1 << 16) /* B: LCD Data Bus Bit 19 */ | ||
200 | #define AT91_PB17_LCDD12 (1 << 17) /* A: LCD Data Bus Bit 12 */ | ||
201 | #define AT91_PB17_LCDD20 (1 << 17) /* B: LCD Data Bus Bit 20 */ | ||
202 | #define AT91_PB18_LCDD13 (1 << 18) /* A: LCD Data Bus Bit 13 */ | ||
203 | #define AT91_PB18_LCDD21 (1 << 18) /* B: LCD Data Bus Bit 21 */ | ||
204 | #define AT91_PB19_LCDD14 (1 << 19) /* A: LCD Data Bus Bit 14 */ | ||
205 | #define AT91_PB19_LCDD22 (1 << 19) /* B: LCD Data Bus Bit 22 */ | ||
206 | #define AT91_PB20_LCDD15 (1 << 20) /* A: LCD Data Bus Bit 15 */ | ||
207 | #define AT91_PB20_LCDD23 (1 << 20) /* B: LCD Data Bus Bit 23 */ | ||
208 | #define AT91_PB21_TF0 (1 << 21) /* A: SSC0 Transmit Frame Sync */ | ||
209 | #define AT91_PB21_LCDD16 (1 << 21) /* B: LCD Data Bus Bit 16 */ | ||
210 | #define AT91_PB22_TK0 (1 << 22) /* A: SSC0 Transmit Clock */ | ||
211 | #define AT91_PB22_LCDD17 (1 << 22) /* B: LCD Data Bus Bit 17 */ | ||
212 | #define AT91_PB23_TD0 (1 << 23) /* A: SSC0 Transmit Data */ | ||
213 | #define AT91_PB23_LCDD18 (1 << 23) /* B: LCD Data Bus Bit 18 */ | ||
214 | #define AT91_PB24_RD0 (1 << 24) /* A: SSC0 Receive Data */ | ||
215 | #define AT91_PB24_LCDD19 (1 << 24) /* B: LCD Data Bus Bit 19 */ | ||
216 | #define AT91_PB25_RK0 (1 << 25) /* A: SSC0 Receive Clock */ | ||
217 | #define AT91_PB25_LCDD20 (1 << 25) /* B: LCD Data Bus Bit 20 */ | ||
218 | #define AT91_PB26_RF0 (1 << 26) /* A: SSC0 Receive Frame Sync */ | ||
219 | #define AT91_PB26_LCDD21 (1 << 26) /* B: LCD Data Bus Bit 21 */ | ||
220 | #define AT91_PB27_SPI1_NPCS1 (1 << 27) /* A: SPI1 Peripheral Chip Select 1 */ | ||
221 | #define AT91_PB27_LCDD22 (1 << 27) /* B: LCD Data Bus Bit 22 */ | ||
222 | #define AT91_PB28_SPI1_NPCS0 (1 << 28) /* A: SPI1 Peripheral Chip Select 0 */ | ||
223 | #define AT91_PB28_LCDD23 (1 << 28) /* B: LCD Data Bus Bit 23 */ | ||
224 | #define AT91_PB29_SPI1_SPCK (1 << 29) /* A: SPI1 Serial Clock */ | ||
225 | #define AT91_PB29_IRQ2 (1 << 29) /* B: Interrupt input 2 */ | ||
226 | #define AT91_PB30_SPI1_MISO (1 << 30) /* A: SPI1 Master In Slave */ | ||
227 | #define AT91_PB30_IRQ1 (1 << 30) /* B: Interrupt input 1 */ | ||
228 | #define AT91_PB31_SPI1_MOSI (1 << 31) /* A: SPI1 Master Out Slave */ | ||
229 | #define AT91_PB31_PCK2 (1 << 31) /* B: PMC Programmable clock Output 2 */ | ||
230 | |||
231 | #define AT91_PC0_SMOE (1 << 0) /* A: SmartMedia Output Enable */ | ||
232 | #define AT91_PC0_NCS6 (1 << 0) /* B: Chip Select 6 */ | ||
233 | #define AT91_PC1_SMWE (1 << 1) /* A: SmartMedia Write Enable */ | ||
234 | #define AT91_PC1_NCS7 (1 << 1) /* B: Chip Select 7 */ | ||
235 | #define AT91_PC2_NWAIT (1 << 2) /* A: NWAIT */ | ||
236 | #define AT91_PC2_IRQ0 (1 << 2) /* B: Interrupt input 0 */ | ||
237 | #define AT91_PC3_A25_CFRNW (1 << 3) /* A: Address Bus[25] / Compact Flash Read Not Write */ | ||
238 | #define AT91_PC4_NCS4_CFCS0 (1 << 4) /* A: Chip Select 4 / CompactFlash Chip Select 0 */ | ||
239 | #define AT91_PC5_NCS5_CFCS1 (1 << 5) /* A: Chip Select 5 / CompactFlash Chip Select 1 */ | ||
240 | #define AT91_PC6_CFCE1 (1 << 6) /* A: CompactFlash Chip Enable 1 */ | ||
241 | #define AT91_PC7_CFCE2 (1 << 7) /* A: CompactFlash Chip Enable 2 */ | ||
242 | #define AT91_PC8_TXD0 (1 << 8) /* A: USART0 Transmit Data */ | ||
243 | #define AT91_PC8_PCK2 (1 << 8) /* B: PMC Programmable clock Output 2 */ | ||
244 | #define AT91_PC9_RXD0 (1 << 9) /* A: USART0 Receive Data */ | ||
245 | #define AT91_PC9_PCK3 (1 << 9) /* B: PMC Programmable clock Output 3 */ | ||
246 | #define AT91_PC10_RTS0 (1 << 10) /* A: USART0 Ready To Send */ | ||
247 | #define AT91_PC10_SCK0 (1 << 10) /* B: USART0 Serial Clock */ | ||
248 | #define AT91_PC11_CTS0 (1 << 11) /* A: USART0 Clear To Send */ | ||
249 | #define AT91_PC11_FIQ (1 << 11) /* B: AIC Fast Interrupt Input */ | ||
250 | #define AT91_PC12_TXD1 (1 << 12) /* A: USART1 Transmit Data */ | ||
251 | #define AT91_PC12_NCS6 (1 << 12) /* B: Chip Select 6 */ | ||
252 | #define AT91_PC13_RXD1 (1 << 13) /* A: USART1 Receive Data */ | ||
253 | #define AT91_PC13_NCS7 (1 << 13) /* B: Chip Select 7 */ | ||
254 | #define AT91_PC14_TXD2 (1 << 14) /* A: USART2 Transmit Data */ | ||
255 | #define AT91_PC14_SPI1_NPCS2 (1 << 14) /* B: SPI1 Peripheral Chip Select 2 */ | ||
256 | #define AT91_PC15_RXD2 (1 << 15) /* A: USART2 Receive Data */ | ||
257 | #define AT91_PC15_SPI1_NPCS3 (1 << 15) /* B: SPI1 Peripheral Chip Select 3 */ | ||
258 | #define AT91_PC16_D16 (1 << 16) /* A: Data Bus [16] */ | ||
259 | #define AT91_PC16_TCLK0 (1 << 16) /* B: Timer Counter 0 external clock input */ | ||
260 | #define AT91_PC17_D17 (1 << 17) /* A: Data Bus [17] */ | ||
261 | #define AT91_PC17_TCLK1 (1 << 17) /* B: Timer Counter 1 external clock input */ | ||
262 | #define AT91_PC18_D18 (1 << 18) /* A: Data Bus [18] */ | ||
263 | #define AT91_PC18_TCLK2 (1 << 18) /* B: Timer Counter 2 external clock input */ | ||
264 | #define AT91_PC19_D19 (1 << 19) /* A: Data Bus [19] */ | ||
265 | #define AT91_PC19_TIOA0 (1 << 19) /* B: Timer Counter 0 Multipurpose Timer I/O Pin A */ | ||
266 | #define AT91_PC20_D20 (1 << 20) /* A: Data Bus [20] */ | ||
267 | #define AT91_PC20_TIOB0 (1 << 20) /* B: Timer Counter 0 Multipurpose Timer I/O Pin B */ | ||
268 | #define AT91_PC21_D21 (1 << 21) /* A: Data Bus [21] */ | ||
269 | #define AT91_PC21_TIOA1 (1 << 21) /* B: Timer Counter 1 Multipurpose Timer I/O Pin A */ | ||
270 | #define AT91_PC22_D22 (1 << 22) /* A: Data Bus [22] */ | ||
271 | #define AT91_PC22_TIOB1 (1 << 22) /* B: Timer Counter 1 Multipurpose Timer I/O Pin B */ | ||
272 | #define AT91_PC23_D23 (1 << 23) /* A: Data Bus [23] */ | ||
273 | #define AT91_PC23_TIOA2 (1 << 23) /* B: Timer Counter 2 Multipurpose Timer I/O Pin A */ | ||
274 | #define AT91_PC24_D24 (1 << 24) /* A: Data Bus [24] */ | ||
275 | #define AT91_PC24_TIOB2 (1 << 24) /* B: Timer Counter 2 Multipurpose Timer I/O Pin B */ | ||
276 | #define AT91_PC25_D25 (1 << 25) /* A: Data Bus [25] */ | ||
277 | #define AT91_PC25_TF2 (1 << 25) /* B: SSC2 Transmit Frame Sync */ | ||
278 | #define AT91_PC26_D26 (1 << 26) /* A: Data Bus [26] */ | ||
279 | #define AT91_PC26_TK2 (1 << 26) /* B: SSC2 Transmit Clock */ | ||
280 | #define AT91_PC27_D27 (1 << 27) /* A: Data Bus [27] */ | ||
281 | #define AT91_PC27_TD2 (1 << 27) /* B: SSC2 Transmit Data */ | ||
282 | #define AT91_PC28_D28 (1 << 28) /* A: Data Bus [28] */ | ||
283 | #define AT91_PC28_RD2 (1 << 28) /* B: SSC2 Receive Data */ | ||
284 | #define AT91_PC29_D29 (1 << 29) /* A: Data Bus [29] */ | ||
285 | #define AT91_PC29_RK2 (1 << 29) /* B: SSC2 Receive Clock */ | ||
286 | #define AT91_PC30_D30 (1 << 30) /* A: Data Bus [30] */ | ||
287 | #define AT91_PC30_RF2 (1 << 30) /* B: SSC2 Receive Frame Sync */ | ||
288 | #define AT91_PC31_D31 (1 << 31) /* A: Data Bus [31] */ | ||
289 | #define AT91_PC31_PCK1 (1 << 31) /* B: PMC Programmable clock Output 1 */ | ||
290 | #endif | ||
291 | |||
292 | #endif | 101 | #endif |
diff --git a/include/asm-arm/arch-at91/at91sam9263.h b/include/asm-arm/arch-at91/at91sam9263.h index f4af68ae0ea9..115c47ac7ebb 100644 --- a/include/asm-arm/arch-at91/at91sam9263.h +++ b/include/asm-arm/arch-at91/at91sam9263.h | |||
@@ -119,13 +119,5 @@ | |||
119 | #define AT91SAM9263_DMAC_BASE 0x00800000 /* DMA Controller */ | 119 | #define AT91SAM9263_DMAC_BASE 0x00800000 /* DMA Controller */ |
120 | #define AT91SAM9263_UHP_BASE 0x00a00000 /* USB Host controller */ | 120 | #define AT91SAM9263_UHP_BASE 0x00a00000 /* USB Host controller */ |
121 | 121 | ||
122 | #if 0 | ||
123 | /* | ||
124 | * PIO pin definitions (peripheral A/B multiplexing). | ||
125 | */ | ||
126 | |||
127 | // TODO: Add | ||
128 | |||
129 | #endif | ||
130 | 122 | ||
131 | #endif | 123 | #endif |
diff --git a/include/asm-arm/arch-at91/board.h b/include/asm-arm/arch-at91/board.h index 7a34a5b1fed0..0ce6ee98ed0b 100644 --- a/include/asm-arm/arch-at91/board.h +++ b/include/asm-arm/arch-at91/board.h | |||
@@ -121,7 +121,7 @@ extern void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data); | |||
121 | /* AC97 */ | 121 | /* AC97 */ |
122 | struct atmel_ac97_data { | 122 | struct atmel_ac97_data { |
123 | u8 reset_pin; /* reset */ | 123 | u8 reset_pin; /* reset */ |
124 | } | 124 | }; |
125 | extern void __init at91_add_device_ac97(struct atmel_ac97_data *data); | 125 | extern void __init at91_add_device_ac97(struct atmel_ac97_data *data); |
126 | 126 | ||
127 | /* LEDs */ | 127 | /* LEDs */ |
diff --git a/include/asm-arm/arch-at91/cpu.h b/include/asm-arm/arch-at91/cpu.h index d464ca58cdbc..7ef4eebe9f8e 100644 --- a/include/asm-arm/arch-at91/cpu.h +++ b/include/asm-arm/arch-at91/cpu.h | |||
@@ -68,4 +68,10 @@ static inline unsigned long at91_arch_identify(void) | |||
68 | #define cpu_is_at91sam9263() (0) | 68 | #define cpu_is_at91sam9263() (0) |
69 | #endif | 69 | #endif |
70 | 70 | ||
71 | /* | ||
72 | * Since this is ARM, we will never run on any AVR32 CPU. But these | ||
73 | * definitions may reduce clutter in common drivers. | ||
74 | */ | ||
75 | #define cpu_is_at32ap7000() (0) | ||
76 | |||
71 | #endif | 77 | #endif |
diff --git a/include/asm-arm/arch-imx/imx-regs.h b/include/asm-arm/arch-imx/imx-regs.h index de6494a4dc6b..30de404c61f5 100644 --- a/include/asm-arm/arch-imx/imx-regs.h +++ b/include/asm-arm/arch-imx/imx-regs.h | |||
@@ -297,7 +297,7 @@ | |||
297 | #define SAR(x) __REG2( IMX_DMAC_BASE + 0x80, (x) << 6) /* Source Address Registers */ | 297 | #define SAR(x) __REG2( IMX_DMAC_BASE + 0x80, (x) << 6) /* Source Address Registers */ |
298 | #define DAR(x) __REG2( IMX_DMAC_BASE + 0x84, (x) << 6) /* Destination Address Registers */ | 298 | #define DAR(x) __REG2( IMX_DMAC_BASE + 0x84, (x) << 6) /* Destination Address Registers */ |
299 | #define CNTR(x) __REG2( IMX_DMAC_BASE + 0x88, (x) << 6) /* Count Registers */ | 299 | #define CNTR(x) __REG2( IMX_DMAC_BASE + 0x88, (x) << 6) /* Count Registers */ |
300 | #define CCR(x) __REG2( IMX_DMAC_BASE + 0x8c, (x) << 6) /* Control Registers */ | 300 | #define CCR(x) __REG2( IMX_DMAC_BASE + 0x8c, (x) << 6) /* Control Registers */ |
301 | #define RSSR(x) __REG2( IMX_DMAC_BASE + 0x90, (x) << 6) /* Request source select Registers */ | 301 | #define RSSR(x) __REG2( IMX_DMAC_BASE + 0x90, (x) << 6) /* Request source select Registers */ |
302 | #define BLR(x) __REG2( IMX_DMAC_BASE + 0x94, (x) << 6) /* Burst length Registers */ | 302 | #define BLR(x) __REG2( IMX_DMAC_BASE + 0x94, (x) << 6) /* Burst length Registers */ |
303 | #define RTOR(x) __REG2( IMX_DMAC_BASE + 0x98, (x) << 6) /* Request timeout Registers */ | 303 | #define RTOR(x) __REG2( IMX_DMAC_BASE + 0x98, (x) << 6) /* Request timeout Registers */ |
diff --git a/include/asm-arm/arch-integrator/platform.h b/include/asm-arm/arch-integrator/platform.h index 96ad3d2a66d1..83c4c1ceb411 100644 --- a/include/asm-arm/arch-integrator/platform.h +++ b/include/asm-arm/arch-integrator/platform.h | |||
@@ -17,7 +17,7 @@ | |||
17 | * from .s file by awk -f s2h.awk | 17 | * from .s file by awk -f s2h.awk |
18 | */ | 18 | */ |
19 | /************************************************************************** | 19 | /************************************************************************** |
20 | * * Copyright © ARM Limited 1998. All rights reserved. | 20 | * * Copyright © ARM Limited 1998. All rights reserved. |
21 | * ***********************************************************************/ | 21 | * ***********************************************************************/ |
22 | /* ************************************************************************ | 22 | /* ************************************************************************ |
23 | * | 23 | * |
diff --git a/include/asm-arm/arch-iop32x/glantank.h b/include/asm-arm/arch-iop32x/glantank.h index 3b065618dd00..bf0665acc1c1 100644 --- a/include/asm-arm/arch-iop32x/glantank.h +++ b/include/asm-arm/arch-iop32x/glantank.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * include/asm/arch-iop32x/glantank.h | 2 | * include/asm-arm/arch-iop32x/glantank.h |
3 | * | 3 | * |
4 | * IO-Data GLAN Tank board registers | 4 | * IO-Data GLAN Tank board registers |
5 | */ | 5 | */ |
diff --git a/include/asm-arm/arch-iop32x/n2100.h b/include/asm-arm/arch-iop32x/n2100.h index fed31a648425..77a8af476629 100644 --- a/include/asm-arm/arch-iop32x/n2100.h +++ b/include/asm-arm/arch-iop32x/n2100.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * include/asm/arch-iop32x/n2100.h | 2 | * include/asm-arm/arch-iop32x/n2100.h |
3 | * | 3 | * |
4 | * Thecus N2100 board registers | 4 | * Thecus N2100 board registers |
5 | */ | 5 | */ |
diff --git a/include/asm-arm/arch-omap/aic23.h b/include/asm-arm/arch-omap/aic23.h index 6513065941d0..aec2d6563622 100644 --- a/include/asm-arm/arch-omap/aic23.h +++ b/include/asm-arm/arch-omap/aic23.h | |||
@@ -110,7 +110,7 @@ | |||
110 | #define TLV320AIC23ID1 (0x1a) // cs low | 110 | #define TLV320AIC23ID1 (0x1a) // cs low |
111 | #define TLV320AIC23ID2 (0x1b) // cs high | 111 | #define TLV320AIC23ID2 (0x1b) // cs high |
112 | 112 | ||
113 | void tlv320aic23_power_up(void); | 113 | void aic23_power_up(void); |
114 | void tlv320aic23_power_down(void); | 114 | void aic23_power_down(void); |
115 | 115 | ||
116 | #endif /* __ASM_ARCH_AIC23_H */ | 116 | #endif /* __ASM_ARCH_AIC23_H */ |
diff --git a/include/asm-arm/arch-omap/board-apollon.h b/include/asm-arm/arch-omap/board-apollon.h index de0c5b792c58..dcb587b311f1 100644 --- a/include/asm-arm/arch-omap/board-apollon.h +++ b/include/asm-arm/arch-omap/board-apollon.h | |||
@@ -30,16 +30,7 @@ | |||
30 | #define __ASM_ARCH_OMAP_APOLLON_H | 30 | #define __ASM_ARCH_OMAP_APOLLON_H |
31 | 31 | ||
32 | /* Placeholder for APOLLON specific defines */ | 32 | /* Placeholder for APOLLON specific defines */ |
33 | /* GPMC CS0 */ | ||
34 | #define APOLLON_CS0_BASE 0x00000000 | ||
35 | /* GPMC CS1 */ | ||
36 | #define APOLLON_CS1_BASE 0x08000000 | ||
37 | #define APOLLON_ETHR_START (APOLLON_CS1_BASE + 0x300) | ||
38 | #define APOLLON_ETHR_GPIO_IRQ 74 | 33 | #define APOLLON_ETHR_GPIO_IRQ 74 |
39 | /* GPMC CS2 - reserved for OneNAND */ | ||
40 | #define APOLLON_CS2_BASE 0x10000000 | ||
41 | /* GPMC CS3 - reserved for NOR or NAND */ | ||
42 | #define APOLLON_CS3_BASE 0x18000000 | ||
43 | 34 | ||
44 | #endif /* __ASM_ARCH_OMAP_APOLLON_H */ | 35 | #endif /* __ASM_ARCH_OMAP_APOLLON_H */ |
45 | 36 | ||
diff --git a/include/asm-arm/arch-omap/board-h4.h b/include/asm-arm/arch-omap/board-h4.h index 7ef664bc9e33..7e0efef4bb65 100644 --- a/include/asm-arm/arch-omap/board-h4.h +++ b/include/asm-arm/arch-omap/board-h4.h | |||
@@ -30,9 +30,6 @@ | |||
30 | #define __ASM_ARCH_OMAP_H4_H | 30 | #define __ASM_ARCH_OMAP_H4_H |
31 | 31 | ||
32 | /* Placeholder for H4 specific defines */ | 32 | /* Placeholder for H4 specific defines */ |
33 | /* GPMC CS1 */ | ||
34 | #define OMAP24XX_ETHR_START 0x08000300 | ||
35 | #define OMAP24XX_ETHR_GPIO_IRQ 92 | 33 | #define OMAP24XX_ETHR_GPIO_IRQ 92 |
36 | #define H4_CS0_BASE 0x04000000 | ||
37 | #endif /* __ASM_ARCH_OMAP_H4_H */ | 34 | #endif /* __ASM_ARCH_OMAP_H4_H */ |
38 | 35 | ||
diff --git a/include/asm-arm/arch-omap/board.h b/include/asm-arm/arch-omap/board.h index edf1dc6ad919..031672c56377 100644 --- a/include/asm-arm/arch-omap/board.h +++ b/include/asm-arm/arch-omap/board.h | |||
@@ -4,7 +4,7 @@ | |||
4 | * Information structures for board-specific data | 4 | * Information structures for board-specific data |
5 | * | 5 | * |
6 | * Copyright (C) 2004 Nokia Corporation | 6 | * Copyright (C) 2004 Nokia Corporation |
7 | * Written by Juha Yrjölä <juha.yrjola@nokia.com> | 7 | * Written by Juha Yrjölä <juha.yrjola@nokia.com> |
8 | */ | 8 | */ |
9 | 9 | ||
10 | #ifndef _OMAP_BOARD_H | 10 | #ifndef _OMAP_BOARD_H |
@@ -12,6 +12,8 @@ | |||
12 | 12 | ||
13 | #include <linux/types.h> | 13 | #include <linux/types.h> |
14 | 14 | ||
15 | #include <asm/arch/gpio-switch.h> | ||
16 | |||
15 | /* Different peripheral ids */ | 17 | /* Different peripheral ids */ |
16 | #define OMAP_TAG_CLOCK 0x4f01 | 18 | #define OMAP_TAG_CLOCK 0x4f01 |
17 | #define OMAP_TAG_MMC 0x4f02 | 19 | #define OMAP_TAG_MMC 0x4f02 |
@@ -99,26 +101,31 @@ struct omap_usb_config { | |||
99 | struct omap_lcd_config { | 101 | struct omap_lcd_config { |
100 | char panel_name[16]; | 102 | char panel_name[16]; |
101 | char ctrl_name[16]; | 103 | char ctrl_name[16]; |
104 | s16 nreset_gpio; | ||
105 | u8 data_lines; | ||
106 | }; | ||
107 | |||
108 | struct device; | ||
109 | struct fb_info; | ||
110 | struct omap_backlight_config { | ||
111 | int default_intensity; | ||
112 | int (*set_power)(struct device *dev, int state); | ||
113 | int (*check_fb)(struct fb_info *fb); | ||
102 | }; | 114 | }; |
103 | 115 | ||
104 | struct omap_fbmem_config { | 116 | struct omap_fbmem_config { |
105 | u32 fb_sram_start; | 117 | u32 start; |
106 | u32 fb_sram_size; | 118 | u32 size; |
107 | u32 fb_sdram_start; | 119 | }; |
108 | u32 fb_sdram_size; | 120 | |
109 | }; | 121 | struct omap_pwm_led_platform_data { |
110 | 122 | const char *name; | |
111 | /* Cover: | 123 | int intensity_timer; |
112 | * high -> closed | 124 | int blink_timer; |
113 | * low -> open | 125 | void (*set_power)(struct omap_pwm_led_platform_data *self, int on_off); |
114 | * Connection: | 126 | }; |
115 | * high -> connected | 127 | |
116 | * low -> disconnected | 128 | /* See include/asm-arm/arch-omap/gpio-switch.h for definitions */ |
117 | */ | ||
118 | #define OMAP_GPIO_SWITCH_TYPE_COVER 0x0000 | ||
119 | #define OMAP_GPIO_SWITCH_TYPE_CONNECTION 0x0001 | ||
120 | #define OMAP_GPIO_SWITCH_FLAG_INVERTED 0x0001 | ||
121 | #define OMAP_GPIO_SWITCH_FLAG_OUTPUT 0x0002 | ||
122 | struct omap_gpio_switch_config { | 129 | struct omap_gpio_switch_config { |
123 | char name[12]; | 130 | char name[12]; |
124 | u16 gpio; | 131 | u16 gpio; |
diff --git a/include/asm-arm/arch-omap/dma.h b/include/asm-arm/arch-omap/dma.h index d591d0585bba..f7774192a41e 100644 --- a/include/asm-arm/arch-omap/dma.h +++ b/include/asm-arm/arch-omap/dma.h | |||
@@ -2,7 +2,7 @@ | |||
2 | * linux/include/asm-arm/arch-omap/dma.h | 2 | * linux/include/asm-arm/arch-omap/dma.h |
3 | * | 3 | * |
4 | * Copyright (C) 2003 Nokia Corporation | 4 | * Copyright (C) 2003 Nokia Corporation |
5 | * Author: Juha Yrjölä <juha.yrjola@nokia.com> | 5 | * Author: Juha Yrjölä <juha.yrjola@nokia.com> |
6 | * | 6 | * |
7 | * This program is free software; you can redistribute it and/or modify | 7 | * This program is free software; you can redistribute it and/or modify |
8 | * it under the terms of the GNU General Public License as published by | 8 | * it under the terms of the GNU General Public License as published by |
diff --git a/include/asm-arm/arch-omap/dsp.h b/include/asm-arm/arch-omap/dsp.h deleted file mode 100644 index 06dad83dd41f..000000000000 --- a/include/asm-arm/arch-omap/dsp.h +++ /dev/null | |||
@@ -1,250 +0,0 @@ | |||
1 | /* | ||
2 | * linux/include/asm-arm/arch-omap/dsp.h | ||
3 | * | ||
4 | * Header for OMAP DSP driver | ||
5 | * | ||
6 | * Copyright (C) 2002-2005 Nokia Corporation | ||
7 | * | ||
8 | * Written by Toshihiro Kobayashi <toshihiro.kobayashi@nokia.com> | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License as published by | ||
12 | * the Free Software Foundation; either version 2 of the License, or | ||
13 | * (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
18 | * GNU General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public License | ||
21 | * along with this program; if not, write to the Free Software | ||
22 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
23 | * | ||
24 | * 2005/06/01: DSP Gateway version 3.3 | ||
25 | */ | ||
26 | |||
27 | #ifndef ASM_ARCH_DSP_H | ||
28 | #define ASM_ARCH_DSP_H | ||
29 | |||
30 | |||
31 | /* | ||
32 | * for /dev/dspctl/ctl | ||
33 | */ | ||
34 | #define OMAP_DSP_IOCTL_RESET 1 | ||
35 | #define OMAP_DSP_IOCTL_RUN 2 | ||
36 | #define OMAP_DSP_IOCTL_SETRSTVECT 3 | ||
37 | #define OMAP_DSP_IOCTL_CPU_IDLE 4 | ||
38 | #define OMAP_DSP_IOCTL_MPUI_WORDSWAP_ON 5 | ||
39 | #define OMAP_DSP_IOCTL_MPUI_WORDSWAP_OFF 6 | ||
40 | #define OMAP_DSP_IOCTL_MPUI_BYTESWAP_ON 7 | ||
41 | #define OMAP_DSP_IOCTL_MPUI_BYTESWAP_OFF 8 | ||
42 | #define OMAP_DSP_IOCTL_GBL_IDLE 9 | ||
43 | #define OMAP_DSP_IOCTL_DSPCFG 10 | ||
44 | #define OMAP_DSP_IOCTL_DSPUNCFG 11 | ||
45 | #define OMAP_DSP_IOCTL_TASKCNT 12 | ||
46 | #define OMAP_DSP_IOCTL_POLL 13 | ||
47 | #define OMAP_DSP_IOCTL_REGMEMR 40 | ||
48 | #define OMAP_DSP_IOCTL_REGMEMW 41 | ||
49 | #define OMAP_DSP_IOCTL_REGIOR 42 | ||
50 | #define OMAP_DSP_IOCTL_REGIOW 43 | ||
51 | #define OMAP_DSP_IOCTL_GETVAR 44 | ||
52 | #define OMAP_DSP_IOCTL_SETVAR 45 | ||
53 | #define OMAP_DSP_IOCTL_RUNLEVEL 50 | ||
54 | #define OMAP_DSP_IOCTL_SUSPEND 51 | ||
55 | #define OMAP_DSP_IOCTL_RESUME 52 | ||
56 | #define OMAP_DSP_IOCTL_FBEN 53 | ||
57 | #define OMAP_DSP_IOCTL_FBDIS 54 | ||
58 | #define OMAP_DSP_IOCTL_MBSEND 99 | ||
59 | |||
60 | /* | ||
61 | * for taskdev | ||
62 | * (ioctls below should be >= 0x10000) | ||
63 | */ | ||
64 | #define OMAP_DSP_TASK_IOCTL_BFLSH 0x10000 | ||
65 | #define OMAP_DSP_TASK_IOCTL_SETBSZ 0x10001 | ||
66 | #define OMAP_DSP_TASK_IOCTL_LOCK 0x10002 | ||
67 | #define OMAP_DSP_TASK_IOCTL_UNLOCK 0x10003 | ||
68 | #define OMAP_DSP_TASK_IOCTL_GETNAME 0x10004 | ||
69 | |||
70 | /* | ||
71 | * for /dev/dspctl/mem | ||
72 | */ | ||
73 | #define OMAP_DSP_MEM_IOCTL_EXMAP 1 | ||
74 | #define OMAP_DSP_MEM_IOCTL_EXUNMAP 2 | ||
75 | #define OMAP_DSP_MEM_IOCTL_EXMAP_FLUSH 3 | ||
76 | #define OMAP_DSP_MEM_IOCTL_FBEXPORT 5 | ||
77 | #define OMAP_DSP_MEM_IOCTL_MMUITACK 7 | ||
78 | #define OMAP_DSP_MEM_IOCTL_MMUINIT 9 | ||
79 | #define OMAP_DSP_MEM_IOCTL_KMEM_RESERVE 11 | ||
80 | #define OMAP_DSP_MEM_IOCTL_KMEM_RELEASE 12 | ||
81 | |||
82 | struct omap_dsp_mapinfo { | ||
83 | unsigned long dspadr; | ||
84 | unsigned long size; | ||
85 | }; | ||
86 | |||
87 | /* | ||
88 | * for /dev/dspctl/twch | ||
89 | */ | ||
90 | #define OMAP_DSP_TWCH_IOCTL_MKDEV 1 | ||
91 | #define OMAP_DSP_TWCH_IOCTL_RMDEV 2 | ||
92 | #define OMAP_DSP_TWCH_IOCTL_TADD 11 | ||
93 | #define OMAP_DSP_TWCH_IOCTL_TDEL 12 | ||
94 | #define OMAP_DSP_TWCH_IOCTL_TKILL 13 | ||
95 | |||
96 | #define OMAP_DSP_DEVSTATE_NOTASK 0x00000001 | ||
97 | #define OMAP_DSP_DEVSTATE_ATTACHED 0x00000002 | ||
98 | #define OMAP_DSP_DEVSTATE_GARBAGE 0x00000004 | ||
99 | #define OMAP_DSP_DEVSTATE_INVALID 0x00000008 | ||
100 | #define OMAP_DSP_DEVSTATE_ADDREQ 0x00000100 | ||
101 | #define OMAP_DSP_DEVSTATE_DELREQ 0x00000200 | ||
102 | #define OMAP_DSP_DEVSTATE_ADDFAIL 0x00001000 | ||
103 | #define OMAP_DSP_DEVSTATE_ADDING 0x00010000 | ||
104 | #define OMAP_DSP_DEVSTATE_DELING 0x00020000 | ||
105 | #define OMAP_DSP_DEVSTATE_KILLING 0x00040000 | ||
106 | #define OMAP_DSP_DEVSTATE_STATE_MASK 0x7fffffff | ||
107 | #define OMAP_DSP_DEVSTATE_STALE 0x80000000 | ||
108 | |||
109 | struct omap_dsp_taddinfo { | ||
110 | unsigned char minor; | ||
111 | unsigned long taskadr; | ||
112 | }; | ||
113 | #define OMAP_DSP_TADD_ABORTADR 0xffffffff | ||
114 | |||
115 | |||
116 | /* | ||
117 | * error cause definition (for error detection device) | ||
118 | */ | ||
119 | #define OMAP_DSP_ERRDT_WDT 0x00000001 | ||
120 | #define OMAP_DSP_ERRDT_MMU 0x00000002 | ||
121 | |||
122 | |||
123 | /* | ||
124 | * mailbox protocol definitions | ||
125 | */ | ||
126 | |||
127 | struct omap_dsp_mailbox_cmd { | ||
128 | unsigned short cmd; | ||
129 | unsigned short data; | ||
130 | }; | ||
131 | |||
132 | struct omap_dsp_reginfo { | ||
133 | unsigned short adr; | ||
134 | unsigned short val; | ||
135 | }; | ||
136 | |||
137 | struct omap_dsp_varinfo { | ||
138 | unsigned char varid; | ||
139 | unsigned short val[0]; | ||
140 | }; | ||
141 | |||
142 | #define OMAP_DSP_MBPROT_REVISION 0x0019 | ||
143 | |||
144 | #define OMAP_DSP_MBCMD_WDSND 0x10 | ||
145 | #define OMAP_DSP_MBCMD_WDREQ 0x11 | ||
146 | #define OMAP_DSP_MBCMD_BKSND 0x20 | ||
147 | #define OMAP_DSP_MBCMD_BKREQ 0x21 | ||
148 | #define OMAP_DSP_MBCMD_BKYLD 0x23 | ||
149 | #define OMAP_DSP_MBCMD_BKSNDP 0x24 | ||
150 | #define OMAP_DSP_MBCMD_BKREQP 0x25 | ||
151 | #define OMAP_DSP_MBCMD_TCTL 0x30 | ||
152 | #define OMAP_DSP_MBCMD_TCTLDATA 0x31 | ||
153 | #define OMAP_DSP_MBCMD_POLL 0x32 | ||
154 | #define OMAP_DSP_MBCMD_WDT 0x50 /* v3.3: obsolete */ | ||
155 | #define OMAP_DSP_MBCMD_RUNLEVEL 0x51 | ||
156 | #define OMAP_DSP_MBCMD_PM 0x52 | ||
157 | #define OMAP_DSP_MBCMD_SUSPEND 0x53 | ||
158 | #define OMAP_DSP_MBCMD_KFUNC 0x54 | ||
159 | #define OMAP_DSP_MBCMD_TCFG 0x60 | ||
160 | #define OMAP_DSP_MBCMD_TADD 0x62 | ||
161 | #define OMAP_DSP_MBCMD_TDEL 0x63 | ||
162 | #define OMAP_DSP_MBCMD_TSTOP 0x65 | ||
163 | #define OMAP_DSP_MBCMD_DSPCFG 0x70 | ||
164 | #define OMAP_DSP_MBCMD_REGRW 0x72 | ||
165 | #define OMAP_DSP_MBCMD_GETVAR 0x74 | ||
166 | #define OMAP_DSP_MBCMD_SETVAR 0x75 | ||
167 | #define OMAP_DSP_MBCMD_ERR 0x78 | ||
168 | #define OMAP_DSP_MBCMD_DBG 0x79 | ||
169 | |||
170 | #define OMAP_DSP_MBCMD_TCTL_TINIT 0x0000 | ||
171 | #define OMAP_DSP_MBCMD_TCTL_TEN 0x0001 | ||
172 | #define OMAP_DSP_MBCMD_TCTL_TDIS 0x0002 | ||
173 | #define OMAP_DSP_MBCMD_TCTL_TCLR 0x0003 | ||
174 | #define OMAP_DSP_MBCMD_TCTL_TCLR_FORCE 0x0004 | ||
175 | |||
176 | #define OMAP_DSP_MBCMD_RUNLEVEL_USER 0x01 | ||
177 | #define OMAP_DSP_MBCMD_RUNLEVEL_SUPER 0x0e | ||
178 | #define OMAP_DSP_MBCMD_RUNLEVEL_RECOVERY 0x10 | ||
179 | |||
180 | #define OMAP_DSP_MBCMD_PM_DISABLE 0x00 | ||
181 | #define OMAP_DSP_MBCMD_PM_ENABLE 0x01 | ||
182 | |||
183 | #define OMAP_DSP_MBCMD_KFUNC_FBCTL 0x00 | ||
184 | #define OMAP_DSP_MBCMD_KFUNC_AUDIO_PWR 0x01 | ||
185 | |||
186 | #define OMAP_DSP_MBCMD_FBCTL_UPD 0x0000 | ||
187 | #define OMAP_DSP_MBCMD_FBCTL_ENABLE 0x0002 | ||
188 | #define OMAP_DSP_MBCMD_FBCTL_DISABLE 0x0003 | ||
189 | |||
190 | #define OMAP_DSP_MBCMD_AUDIO_PWR_UP 0x0000 | ||
191 | #define OMAP_DSP_MBCMD_AUDIO_PWR_DOWN1 0x0001 | ||
192 | #define OMAP_DSP_MBCMD_AUDIO_PWR_DOWN2 0x0002 | ||
193 | |||
194 | #define OMAP_DSP_MBCMD_TDEL_SAFE 0x0000 | ||
195 | #define OMAP_DSP_MBCMD_TDEL_KILL 0x0001 | ||
196 | |||
197 | #define OMAP_DSP_MBCMD_DSPCFG_REQ 0x00 | ||
198 | #define OMAP_DSP_MBCMD_DSPCFG_SYSADRH 0x28 | ||
199 | #define OMAP_DSP_MBCMD_DSPCFG_SYSADRL 0x29 | ||
200 | #define OMAP_DSP_MBCMD_DSPCFG_PROTREV 0x70 | ||
201 | #define OMAP_DSP_MBCMD_DSPCFG_ABORT 0x78 | ||
202 | #define OMAP_DSP_MBCMD_DSPCFG_LAST 0x80 | ||
203 | |||
204 | #define OMAP_DSP_MBCMD_REGRW_MEMR 0x00 | ||
205 | #define OMAP_DSP_MBCMD_REGRW_MEMW 0x01 | ||
206 | #define OMAP_DSP_MBCMD_REGRW_IOR 0x02 | ||
207 | #define OMAP_DSP_MBCMD_REGRW_IOW 0x03 | ||
208 | #define OMAP_DSP_MBCMD_REGRW_DATA 0x04 | ||
209 | |||
210 | #define OMAP_DSP_MBCMD_VARID_ICRMASK 0x00 | ||
211 | #define OMAP_DSP_MBCMD_VARID_LOADINFO 0x01 | ||
212 | |||
213 | #define OMAP_DSP_TTYP_ARCV 0x0001 | ||
214 | #define OMAP_DSP_TTYP_ASND 0x0002 | ||
215 | #define OMAP_DSP_TTYP_BKMD 0x0004 | ||
216 | #define OMAP_DSP_TTYP_BKDM 0x0008 | ||
217 | #define OMAP_DSP_TTYP_PVMD 0x0010 | ||
218 | #define OMAP_DSP_TTYP_PVDM 0x0020 | ||
219 | |||
220 | #define OMAP_DSP_EID_BADTID 0x10 | ||
221 | #define OMAP_DSP_EID_BADTCN 0x11 | ||
222 | #define OMAP_DSP_EID_BADBID 0x20 | ||
223 | #define OMAP_DSP_EID_BADCNT 0x21 | ||
224 | #define OMAP_DSP_EID_NOTLOCKED 0x22 | ||
225 | #define OMAP_DSP_EID_STVBUF 0x23 | ||
226 | #define OMAP_DSP_EID_BADADR 0x24 | ||
227 | #define OMAP_DSP_EID_BADTCTL 0x30 | ||
228 | #define OMAP_DSP_EID_BADPARAM 0x50 | ||
229 | #define OMAP_DSP_EID_FATAL 0x58 | ||
230 | #define OMAP_DSP_EID_NOMEM 0xc0 | ||
231 | #define OMAP_DSP_EID_NORES 0xc1 | ||
232 | #define OMAP_DSP_EID_IPBFULL 0xc2 | ||
233 | #define OMAP_DSP_EID_WDT 0xd0 | ||
234 | #define OMAP_DSP_EID_TASKNOTRDY 0xe0 | ||
235 | #define OMAP_DSP_EID_TASKBSY 0xe1 | ||
236 | #define OMAP_DSP_EID_TASKERR 0xef | ||
237 | #define OMAP_DSP_EID_BADCFGTYP 0xf0 | ||
238 | #define OMAP_DSP_EID_DEBUG 0xf8 | ||
239 | #define OMAP_DSP_EID_BADSEQ 0xfe | ||
240 | #define OMAP_DSP_EID_BADCMD 0xff | ||
241 | |||
242 | #define OMAP_DSP_TNM_LEN 16 | ||
243 | |||
244 | #define OMAP_DSP_TID_FREE 0xff | ||
245 | #define OMAP_DSP_TID_ANON 0xfe | ||
246 | |||
247 | #define OMAP_DSP_BID_NULL 0xffff | ||
248 | #define OMAP_DSP_BID_PVT 0xfffe | ||
249 | |||
250 | #endif /* ASM_ARCH_DSP_H */ | ||
diff --git a/include/asm-arm/arch-omap/dsp_common.h b/include/asm-arm/arch-omap/dsp_common.h index 16a459dfa714..c61f868f24ee 100644 --- a/include/asm-arm/arch-omap/dsp_common.h +++ b/include/asm-arm/arch-omap/dsp_common.h | |||
@@ -1,38 +1,34 @@ | |||
1 | /* | 1 | /* |
2 | * linux/include/asm-arm/arch-omap/dsp_common.h | 2 | * This file is part of OMAP DSP driver (DSP Gateway version 3.3.1) |
3 | * | 3 | * |
4 | * Header for OMAP DSP subsystem control | 4 | * Copyright (C) 2004-2006 Nokia Corporation. All rights reserved. |
5 | * | 5 | * |
6 | * Copyright (C) 2004,2005 Nokia Corporation | 6 | * Contact: Toshihiro Kobayashi <toshihiro.kobayashi@nokia.com> |
7 | * | 7 | * |
8 | * Written by Toshihiro Kobayashi <toshihiro.kobayashi@nokia.com> | 8 | * This program is free software; you can redistribute it and/or |
9 | * modify it under the terms of the GNU General Public License | ||
10 | * version 2 as published by the Free Software Foundation. | ||
9 | * | 11 | * |
10 | * This program is free software; you can redistribute it and/or modify | 12 | * This program is distributed in the hope that it will be useful, but |
11 | * it under the terms of the GNU General Public License as published by | 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | * the Free Software Foundation; either version 2 of the License, or | 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
13 | * (at your option) any later version. | 15 | * General Public License for more details. |
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
18 | * GNU General Public License for more details. | ||
19 | * | 16 | * |
20 | * You should have received a copy of the GNU General Public License | 17 | * You should have received a copy of the GNU General Public License |
21 | * along with this program; if not, write to the Free Software | 18 | * along with this program; if not, write to the Free Software |
22 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 19 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA |
20 | * 02110-1301 USA | ||
23 | * | 21 | * |
24 | * 2005/06/03: DSP Gateway version 3.3 | ||
25 | */ | 22 | */ |
26 | 23 | ||
27 | #ifndef ASM_ARCH_DSP_COMMON_H | 24 | #ifndef ASM_ARCH_DSP_COMMON_H |
28 | #define ASM_ARCH_DSP_COMMON_H | 25 | #define ASM_ARCH_DSP_COMMON_H |
29 | 26 | ||
27 | #ifdef CONFIG_ARCH_OMAP1 | ||
30 | extern void omap_dsp_request_mpui(void); | 28 | extern void omap_dsp_request_mpui(void); |
31 | extern void omap_dsp_release_mpui(void); | 29 | extern void omap_dsp_release_mpui(void); |
32 | extern int omap_dsp_request_mem(void); | 30 | extern int omap_dsp_request_mem(void); |
33 | extern int omap_dsp_release_mem(void); | 31 | extern int omap_dsp_release_mem(void); |
34 | 32 | #endif | |
35 | extern void (*omap_dsp_audio_pwr_up_request)(int stage); | ||
36 | extern void (*omap_dsp_audio_pwr_down_request)(int stage); | ||
37 | 33 | ||
38 | #endif /* ASM_ARCH_DSP_COMMON_H */ | 34 | #endif /* ASM_ARCH_DSP_COMMON_H */ |
diff --git a/include/asm-arm/arch-omap/gpio-switch.h b/include/asm-arm/arch-omap/gpio-switch.h new file mode 100644 index 000000000000..10da0e07c0cf --- /dev/null +++ b/include/asm-arm/arch-omap/gpio-switch.h | |||
@@ -0,0 +1,54 @@ | |||
1 | /* | ||
2 | * GPIO switch definitions | ||
3 | * | ||
4 | * Copyright (C) 2006 Nokia Corporation | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #ifndef __ASM_ARCH_OMAP_GPIO_SWITCH_H | ||
12 | #define __ASM_ARCH_OMAP_GPIO_SWITCH_H | ||
13 | |||
14 | #include <linux/types.h> | ||
15 | |||
16 | /* Cover: | ||
17 | * high -> closed | ||
18 | * low -> open | ||
19 | * Connection: | ||
20 | * high -> connected | ||
21 | * low -> disconnected | ||
22 | * Activity: | ||
23 | * high -> active | ||
24 | * low -> inactive | ||
25 | * | ||
26 | */ | ||
27 | #define OMAP_GPIO_SWITCH_TYPE_COVER 0x0000 | ||
28 | #define OMAP_GPIO_SWITCH_TYPE_CONNECTION 0x0001 | ||
29 | #define OMAP_GPIO_SWITCH_TYPE_ACTIVITY 0x0002 | ||
30 | #define OMAP_GPIO_SWITCH_FLAG_INVERTED 0x0001 | ||
31 | #define OMAP_GPIO_SWITCH_FLAG_OUTPUT 0x0002 | ||
32 | |||
33 | struct omap_gpio_switch { | ||
34 | const char *name; | ||
35 | s16 gpio; | ||
36 | unsigned flags:4; | ||
37 | unsigned type:4; | ||
38 | |||
39 | /* Time in ms to debounce when transitioning from | ||
40 | * inactive state to active state. */ | ||
41 | u16 debounce_rising; | ||
42 | /* Same for transition from active to inactive state. */ | ||
43 | u16 debounce_falling; | ||
44 | |||
45 | /* notify board-specific code about state changes */ | ||
46 | void (* notify)(void *data, int state); | ||
47 | void *notify_data; | ||
48 | }; | ||
49 | |||
50 | /* Call at init time only */ | ||
51 | extern void omap_register_gpio_switches(const struct omap_gpio_switch *tbl, | ||
52 | int count); | ||
53 | |||
54 | #endif | ||
diff --git a/include/asm-arm/arch-omap/gpio.h b/include/asm-arm/arch-omap/gpio.h index 590917efc94a..97b397dd7e87 100644 --- a/include/asm-arm/arch-omap/gpio.h +++ b/include/asm-arm/arch-omap/gpio.h | |||
@@ -5,7 +5,7 @@ | |||
5 | * | 5 | * |
6 | * Copyright (C) 2003-2005 Nokia Corporation | 6 | * Copyright (C) 2003-2005 Nokia Corporation |
7 | * | 7 | * |
8 | * Written by Juha Yrjölä <juha.yrjola@nokia.com> | 8 | * Written by Juha Yrjölä <juha.yrjola@nokia.com> |
9 | * | 9 | * |
10 | * This program is free software; you can redistribute it and/or modify | 10 | * This program is free software; you can redistribute it and/or modify |
11 | * it under the terms of the GNU General Public License as published by | 11 | * it under the terms of the GNU General Public License as published by |
diff --git a/include/asm-arm/arch-omap/gpmc.h b/include/asm-arm/arch-omap/gpmc.h index 7c03ef6c14c4..995cc83482eb 100644 --- a/include/asm-arm/arch-omap/gpmc.h +++ b/include/asm-arm/arch-omap/gpmc.h | |||
@@ -87,5 +87,7 @@ extern int gpmc_cs_calc_divider(int cs, unsigned int sync_clk); | |||
87 | extern int gpmc_cs_set_timings(int cs, const struct gpmc_timings *t); | 87 | extern int gpmc_cs_set_timings(int cs, const struct gpmc_timings *t); |
88 | extern int gpmc_cs_request(int cs, unsigned long size, unsigned long *base); | 88 | extern int gpmc_cs_request(int cs, unsigned long size, unsigned long *base); |
89 | extern void gpmc_cs_free(int cs); | 89 | extern void gpmc_cs_free(int cs); |
90 | extern int gpmc_cs_set_reserved(int cs, int reserved); | ||
91 | extern int gpmc_cs_reserved(int cs); | ||
90 | 92 | ||
91 | #endif | 93 | #endif |
diff --git a/include/asm-arm/arch-omap/hardware.h b/include/asm-arm/arch-omap/hardware.h index 481048d65214..e225f4f39b34 100644 --- a/include/asm-arm/arch-omap/hardware.h +++ b/include/asm-arm/arch-omap/hardware.h | |||
@@ -267,6 +267,15 @@ | |||
267 | #define OMAP_LPG2_PMR (OMAP_LPG2_BASE + 0x04) | 267 | #define OMAP_LPG2_PMR (OMAP_LPG2_BASE + 0x04) |
268 | 268 | ||
269 | /* | 269 | /* |
270 | * ---------------------------------------------------------------------------- | ||
271 | * Pulse-Width Light | ||
272 | * ---------------------------------------------------------------------------- | ||
273 | */ | ||
274 | #define OMAP_PWL_BASE 0xfffb5800 | ||
275 | #define OMAP_PWL_ENABLE (OMAP_PWL_BASE + 0x00) | ||
276 | #define OMAP_PWL_CLK_ENABLE (OMAP_PWL_BASE + 0x04) | ||
277 | |||
278 | /* | ||
270 | * --------------------------------------------------------------------------- | 279 | * --------------------------------------------------------------------------- |
271 | * Processor specific defines | 280 | * Processor specific defines |
272 | * --------------------------------------------------------------------------- | 281 | * --------------------------------------------------------------------------- |
diff --git a/include/asm-arm/arch-omap/hwa742.h b/include/asm-arm/arch-omap/hwa742.h new file mode 100644 index 000000000000..577f492f2d3c --- /dev/null +++ b/include/asm-arm/arch-omap/hwa742.h | |||
@@ -0,0 +1,12 @@ | |||
1 | #ifndef _HWA742_H | ||
2 | #define _HWA742_H | ||
3 | |||
4 | struct hwa742_platform_data { | ||
5 | void (*power_up)(struct device *dev); | ||
6 | void (*power_down)(struct device *dev); | ||
7 | unsigned long (*get_clock_rate)(struct device *dev); | ||
8 | |||
9 | unsigned te_connected:1; | ||
10 | }; | ||
11 | |||
12 | #endif | ||
diff --git a/include/asm-arm/arch-omap/io.h b/include/asm-arm/arch-omap/io.h index 78f68e6a4f0c..4aca7e3d7566 100644 --- a/include/asm-arm/arch-omap/io.h +++ b/include/asm-arm/arch-omap/io.h | |||
@@ -77,6 +77,17 @@ | |||
77 | #define io_p2v(pa) ((pa) + IO_OFFSET) /* Works for L3 and L4 */ | 77 | #define io_p2v(pa) ((pa) + IO_OFFSET) /* Works for L3 and L4 */ |
78 | #define io_v2p(va) ((va) - IO_OFFSET) /* Works for L3 and L4 */ | 78 | #define io_v2p(va) ((va) - IO_OFFSET) /* Works for L3 and L4 */ |
79 | 79 | ||
80 | /* DSP */ | ||
81 | #define DSP_MEM_24XX_PHYS OMAP24XX_DSP_MEM_BASE /* 0x58000000 */ | ||
82 | #define DSP_MEM_24XX_VIRT 0xe0000000 | ||
83 | #define DSP_MEM_24XX_SIZE 0x28000 | ||
84 | #define DSP_IPI_24XX_PHYS OMAP24XX_DSP_IPI_BASE /* 0x59000000 */ | ||
85 | #define DSP_IPI_24XX_VIRT 0xe1000000 | ||
86 | #define DSP_IPI_24XX_SIZE SZ_4K | ||
87 | #define DSP_MMU_24XX_PHYS OMAP24XX_DSP_MMU_BASE /* 0x5a000000 */ | ||
88 | #define DSP_MMU_24XX_VIRT 0xe2000000 | ||
89 | #define DSP_MMU_24XX_SIZE SZ_4K | ||
90 | |||
80 | #endif | 91 | #endif |
81 | 92 | ||
82 | #ifndef __ASSEMBLER__ | 93 | #ifndef __ASSEMBLER__ |
diff --git a/include/asm-arm/arch-omap/irqs.h b/include/asm-arm/arch-omap/irqs.h index c5bb05a69b81..3ede58b51db2 100644 --- a/include/asm-arm/arch-omap/irqs.h +++ b/include/asm-arm/arch-omap/irqs.h | |||
@@ -37,8 +37,6 @@ | |||
37 | #define INT_DSP_MMU_ABORT 7 | 37 | #define INT_DSP_MMU_ABORT 7 |
38 | #define INT_HOST 8 | 38 | #define INT_HOST 8 |
39 | #define INT_ABORT 9 | 39 | #define INT_ABORT 9 |
40 | #define INT_DSP_MAILBOX1 10 | ||
41 | #define INT_DSP_MAILBOX2 11 | ||
42 | #define INT_BRIDGE_PRIV 13 | 40 | #define INT_BRIDGE_PRIV 13 |
43 | #define INT_GPIO_BANK1 14 | 41 | #define INT_GPIO_BANK1 14 |
44 | #define INT_UART3 15 | 42 | #define INT_UART3 15 |
@@ -63,6 +61,8 @@ | |||
63 | #define INT_1510_RES2 2 | 61 | #define INT_1510_RES2 2 |
64 | #define INT_1510_SPI_TX 4 | 62 | #define INT_1510_SPI_TX 4 |
65 | #define INT_1510_SPI_RX 5 | 63 | #define INT_1510_SPI_RX 5 |
64 | #define INT_1510_DSP_MAILBOX1 10 | ||
65 | #define INT_1510_DSP_MAILBOX2 11 | ||
66 | #define INT_1510_RES12 12 | 66 | #define INT_1510_RES12 12 |
67 | #define INT_1510_LB_MMU 17 | 67 | #define INT_1510_LB_MMU 17 |
68 | #define INT_1510_RES18 18 | 68 | #define INT_1510_RES18 18 |
@@ -75,6 +75,8 @@ | |||
75 | #define INT_1610_IH2_FIQ 2 | 75 | #define INT_1610_IH2_FIQ 2 |
76 | #define INT_1610_McBSP2_TX 4 | 76 | #define INT_1610_McBSP2_TX 4 |
77 | #define INT_1610_McBSP2_RX 5 | 77 | #define INT_1610_McBSP2_RX 5 |
78 | #define INT_1610_DSP_MAILBOX1 10 | ||
79 | #define INT_1610_DSP_MAILBOX2 11 | ||
78 | #define INT_1610_LCD_LINE 12 | 80 | #define INT_1610_LCD_LINE 12 |
79 | #define INT_1610_GPTIMER1 17 | 81 | #define INT_1610_GPTIMER1 17 |
80 | #define INT_1610_GPTIMER2 18 | 82 | #define INT_1610_GPTIMER2 18 |
@@ -131,11 +133,11 @@ | |||
131 | #define INT_RTC_TIMER (25 + IH2_BASE) | 133 | #define INT_RTC_TIMER (25 + IH2_BASE) |
132 | #define INT_RTC_ALARM (26 + IH2_BASE) | 134 | #define INT_RTC_ALARM (26 + IH2_BASE) |
133 | #define INT_MEM_STICK (27 + IH2_BASE) | 135 | #define INT_MEM_STICK (27 + IH2_BASE) |
134 | #define INT_DSP_MMU (28 + IH2_BASE) | ||
135 | 136 | ||
136 | /* | 137 | /* |
137 | * OMAP-1510 specific IRQ numbers for interrupt handler 2 | 138 | * OMAP-1510 specific IRQ numbers for interrupt handler 2 |
138 | */ | 139 | */ |
140 | #define INT_1510_DSP_MMU (28 + IH2_BASE) | ||
139 | #define INT_1510_COM_SPI_RO (31 + IH2_BASE) | 141 | #define INT_1510_COM_SPI_RO (31 + IH2_BASE) |
140 | 142 | ||
141 | /* | 143 | /* |
@@ -146,6 +148,7 @@ | |||
146 | #define INT_1610_USB_OTG (8 + IH2_BASE) | 148 | #define INT_1610_USB_OTG (8 + IH2_BASE) |
147 | #define INT_1610_SoSSI (9 + IH2_BASE) | 149 | #define INT_1610_SoSSI (9 + IH2_BASE) |
148 | #define INT_1610_SoSSI_MATCH (19 + IH2_BASE) | 150 | #define INT_1610_SoSSI_MATCH (19 + IH2_BASE) |
151 | #define INT_1610_DSP_MMU (28 + IH2_BASE) | ||
149 | #define INT_1610_McBSP2RX_OF (31 + IH2_BASE) | 152 | #define INT_1610_McBSP2RX_OF (31 + IH2_BASE) |
150 | #define INT_1610_STI (32 + IH2_BASE) | 153 | #define INT_1610_STI (32 + IH2_BASE) |
151 | #define INT_1610_STI_WAKEUP (33 + IH2_BASE) | 154 | #define INT_1610_STI_WAKEUP (33 + IH2_BASE) |
@@ -239,10 +242,15 @@ | |||
239 | #define INT_24XX_SDMA_IRQ3 15 | 242 | #define INT_24XX_SDMA_IRQ3 15 |
240 | #define INT_24XX_CAM_IRQ 24 | 243 | #define INT_24XX_CAM_IRQ 24 |
241 | #define INT_24XX_DSS_IRQ 25 | 244 | #define INT_24XX_DSS_IRQ 25 |
245 | #define INT_24XX_MAIL_U0_MPU 26 | ||
246 | #define INT_24XX_DSP_UMA 27 | ||
247 | #define INT_24XX_DSP_MMU 28 | ||
242 | #define INT_24XX_GPIO_BANK1 29 | 248 | #define INT_24XX_GPIO_BANK1 29 |
243 | #define INT_24XX_GPIO_BANK2 30 | 249 | #define INT_24XX_GPIO_BANK2 30 |
244 | #define INT_24XX_GPIO_BANK3 31 | 250 | #define INT_24XX_GPIO_BANK3 31 |
245 | #define INT_24XX_GPIO_BANK4 32 | 251 | #define INT_24XX_GPIO_BANK4 32 |
252 | #define INT_24XX_GPIO_BANK5 33 | ||
253 | #define INT_24XX_MAIL_U3_MPU 34 | ||
246 | #define INT_24XX_GPTIMER1 37 | 254 | #define INT_24XX_GPTIMER1 37 |
247 | #define INT_24XX_GPTIMER2 38 | 255 | #define INT_24XX_GPTIMER2 38 |
248 | #define INT_24XX_GPTIMER3 39 | 256 | #define INT_24XX_GPTIMER3 39 |
@@ -262,6 +270,12 @@ | |||
262 | #define INT_24XX_UART1_IRQ 72 | 270 | #define INT_24XX_UART1_IRQ 72 |
263 | #define INT_24XX_UART2_IRQ 73 | 271 | #define INT_24XX_UART2_IRQ 73 |
264 | #define INT_24XX_UART3_IRQ 74 | 272 | #define INT_24XX_UART3_IRQ 74 |
273 | #define INT_24XX_USB_IRQ_GEN 75 | ||
274 | #define INT_24XX_USB_IRQ_NISO 76 | ||
275 | #define INT_24XX_USB_IRQ_ISO 77 | ||
276 | #define INT_24XX_USB_IRQ_HGEN 78 | ||
277 | #define INT_24XX_USB_IRQ_HSOF 79 | ||
278 | #define INT_24XX_USB_IRQ_OTG 80 | ||
265 | #define INT_24XX_MMC_IRQ 83 | 279 | #define INT_24XX_MMC_IRQ 83 |
266 | 280 | ||
267 | /* Max. 128 level 2 IRQs (OMAP1610), 192 GPIOs (OMAP730) and | 281 | /* Max. 128 level 2 IRQs (OMAP1610), 192 GPIOs (OMAP730) and |
diff --git a/include/asm-arm/arch-omap/lcd_lph8923.h b/include/asm-arm/arch-omap/lcd_lph8923.h deleted file mode 100644 index 004e67e22ca7..000000000000 --- a/include/asm-arm/arch-omap/lcd_lph8923.h +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | #ifndef __LCD_LPH8923_H | ||
2 | #define __LCD_LPH8923_H | ||
3 | |||
4 | enum lcd_lph8923_test_num { | ||
5 | LCD_LPH8923_TEST_RGB_LINES, | ||
6 | }; | ||
7 | |||
8 | enum lcd_lph8923_test_result { | ||
9 | LCD_LPH8923_TEST_SUCCESS, | ||
10 | LCD_LPH8923_TEST_INVALID, | ||
11 | LCD_LPH8923_TEST_FAILED, | ||
12 | }; | ||
13 | |||
14 | #endif | ||
diff --git a/include/asm-arm/arch-omap/lcd_mipid.h b/include/asm-arm/arch-omap/lcd_mipid.h new file mode 100644 index 000000000000..f8fbc4801e52 --- /dev/null +++ b/include/asm-arm/arch-omap/lcd_mipid.h | |||
@@ -0,0 +1,24 @@ | |||
1 | #ifndef __LCD_MIPID_H | ||
2 | #define __LCD_MIPID_H | ||
3 | |||
4 | enum mipid_test_num { | ||
5 | MIPID_TEST_RGB_LINES, | ||
6 | }; | ||
7 | |||
8 | enum mipid_test_result { | ||
9 | MIPID_TEST_SUCCESS, | ||
10 | MIPID_TEST_INVALID, | ||
11 | MIPID_TEST_FAILED, | ||
12 | }; | ||
13 | |||
14 | #ifdef __KERNEL__ | ||
15 | |||
16 | struct mipid_platform_data { | ||
17 | int nreset_gpio; | ||
18 | int data_lines; | ||
19 | void (*shutdown)(struct mipid_platform_data *pdata); | ||
20 | }; | ||
21 | |||
22 | #endif | ||
23 | |||
24 | #endif | ||
diff --git a/include/asm-arm/arch-omap/led.h b/include/asm-arm/arch-omap/led.h new file mode 100644 index 000000000000..f3acae28e2da --- /dev/null +++ b/include/asm-arm/arch-omap/led.h | |||
@@ -0,0 +1,24 @@ | |||
1 | /* | ||
2 | * linux/include/asm-arm/arch-omap/led.h | ||
3 | * | ||
4 | * Copyright (C) 2006 Samsung Electronics | ||
5 | * Kyungmin Park <kyungmin.park@samsung.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | #ifndef ASMARM_ARCH_LED_H | ||
12 | #define ASMARM_ARCH_LED_H | ||
13 | |||
14 | struct omap_led_config { | ||
15 | struct led_classdev cdev; | ||
16 | s16 gpio; | ||
17 | }; | ||
18 | |||
19 | struct omap_led_platform_data { | ||
20 | s16 nr_leds; | ||
21 | struct omap_led_config *leds; | ||
22 | }; | ||
23 | |||
24 | #endif | ||
diff --git a/include/asm-arm/arch-omap/mailbox.h b/include/asm-arm/arch-omap/mailbox.h new file mode 100644 index 000000000000..4bf0909461f2 --- /dev/null +++ b/include/asm-arm/arch-omap/mailbox.h | |||
@@ -0,0 +1,73 @@ | |||
1 | /* mailbox.h */ | ||
2 | |||
3 | #ifndef MAILBOX_H | ||
4 | #define MAILBOX_H | ||
5 | |||
6 | #include <linux/wait.h> | ||
7 | #include <linux/workqueue.h> | ||
8 | #include <linux/blkdev.h> | ||
9 | |||
10 | typedef u32 mbox_msg_t; | ||
11 | typedef void (mbox_receiver_t)(mbox_msg_t msg); | ||
12 | struct omap_mbox; | ||
13 | |||
14 | typedef int __bitwise omap_mbox_irq_t; | ||
15 | #define IRQ_TX ((__force omap_mbox_irq_t) 1) | ||
16 | #define IRQ_RX ((__force omap_mbox_irq_t) 2) | ||
17 | |||
18 | typedef int __bitwise omap_mbox_type_t; | ||
19 | #define OMAP_MBOX_TYPE1 ((__force omap_mbox_type_t) 1) | ||
20 | #define OMAP_MBOX_TYPE2 ((__force omap_mbox_type_t) 2) | ||
21 | |||
22 | struct omap_mbox_ops { | ||
23 | omap_mbox_type_t type; | ||
24 | int (*startup)(struct omap_mbox *mbox); | ||
25 | void (*shutdown)(struct omap_mbox *mbox); | ||
26 | /* fifo */ | ||
27 | mbox_msg_t (*fifo_read)(struct omap_mbox *mbox); | ||
28 | void (*fifo_write)(struct omap_mbox *mbox, mbox_msg_t msg); | ||
29 | int (*fifo_empty)(struct omap_mbox *mbox); | ||
30 | int (*fifo_full)(struct omap_mbox *mbox); | ||
31 | /* irq */ | ||
32 | void (*enable_irq)(struct omap_mbox *mbox, omap_mbox_irq_t irq); | ||
33 | void (*disable_irq)(struct omap_mbox *mbox, omap_mbox_irq_t irq); | ||
34 | void (*ack_irq)(struct omap_mbox *mbox, omap_mbox_irq_t irq); | ||
35 | int (*is_irq)(struct omap_mbox *mbox, omap_mbox_irq_t irq); | ||
36 | }; | ||
37 | |||
38 | struct omap_mbox_queue { | ||
39 | spinlock_t lock; | ||
40 | request_queue_t *queue; | ||
41 | struct work_struct work; | ||
42 | int (*callback)(void *); | ||
43 | struct omap_mbox *mbox; | ||
44 | }; | ||
45 | |||
46 | struct omap_mbox { | ||
47 | char *name; | ||
48 | unsigned int irq; | ||
49 | |||
50 | struct omap_mbox_queue *txq, *rxq; | ||
51 | |||
52 | struct omap_mbox_ops *ops; | ||
53 | |||
54 | mbox_msg_t seq_snd, seq_rcv; | ||
55 | |||
56 | struct device dev; | ||
57 | |||
58 | struct omap_mbox *next; | ||
59 | void *priv; | ||
60 | |||
61 | void (*err_notify)(void); | ||
62 | }; | ||
63 | |||
64 | int omap_mbox_msg_send(struct omap_mbox *, mbox_msg_t msg, void *); | ||
65 | void omap_mbox_init_seq(struct omap_mbox *); | ||
66 | |||
67 | struct omap_mbox *omap_mbox_get(const char *); | ||
68 | void omap_mbox_put(struct omap_mbox *); | ||
69 | |||
70 | int omap_mbox_register(struct omap_mbox *); | ||
71 | int omap_mbox_unregister(struct omap_mbox *); | ||
72 | |||
73 | #endif /* MAILBOX_H */ | ||
diff --git a/include/asm-arm/arch-omap/mcspi.h b/include/asm-arm/arch-omap/mcspi.h index 9e7f40a88e1b..1254e4945b6f 100644 --- a/include/asm-arm/arch-omap/mcspi.h +++ b/include/asm-arm/arch-omap/mcspi.h | |||
@@ -2,7 +2,6 @@ | |||
2 | #define _OMAP2_MCSPI_H | 2 | #define _OMAP2_MCSPI_H |
3 | 3 | ||
4 | struct omap2_mcspi_platform_config { | 4 | struct omap2_mcspi_platform_config { |
5 | unsigned long base; | ||
6 | unsigned short num_cs; | 5 | unsigned short num_cs; |
7 | }; | 6 | }; |
8 | 7 | ||
diff --git a/include/asm-arm/arch-omap/memory.h b/include/asm-arm/arch-omap/memory.h index 48fabc493163..14cba97c18ad 100644 --- a/include/asm-arm/arch-omap/memory.h +++ b/include/asm-arm/arch-omap/memory.h | |||
@@ -86,5 +86,18 @@ | |||
86 | 86 | ||
87 | #endif /* CONFIG_ARCH_OMAP15XX */ | 87 | #endif /* CONFIG_ARCH_OMAP15XX */ |
88 | 88 | ||
89 | /* Override the ARM default */ | ||
90 | #ifdef CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE | ||
91 | |||
92 | #if (CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE == 0) | ||
93 | #undef CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE | ||
94 | #define CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE 2 | ||
95 | #endif | ||
96 | |||
97 | #define CONSISTENT_DMA_SIZE \ | ||
98 | (((CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE + 1) & ~1) * 1024 * 1024) | ||
99 | |||
100 | #endif | ||
101 | |||
89 | #endif | 102 | #endif |
90 | 103 | ||
diff --git a/include/asm-arm/arch-omap/menelaus.h b/include/asm-arm/arch-omap/menelaus.h index 88cd4c87f0de..82d276a6bd95 100644 --- a/include/asm-arm/arch-omap/menelaus.h +++ b/include/asm-arm/arch-omap/menelaus.h | |||
@@ -7,10 +7,19 @@ | |||
7 | #ifndef __ASM_ARCH_MENELAUS_H | 7 | #ifndef __ASM_ARCH_MENELAUS_H |
8 | #define __ASM_ARCH_MENELAUS_H | 8 | #define __ASM_ARCH_MENELAUS_H |
9 | 9 | ||
10 | extern void menelaus_mmc_register(void (*callback)(unsigned long data, u8 card_mask), | 10 | extern int menelaus_register_mmc_callback(void (*callback)(void *data, u8 card_mask), |
11 | unsigned long data); | 11 | void *data); |
12 | extern void menelaus_mmc_remove(void); | 12 | extern void menelaus_unregister_mmc_callback(void); |
13 | extern void menelaus_mmc_opendrain(int enable); | 13 | extern int menelaus_set_mmc_opendrain(int slot, int enable); |
14 | extern int menelaus_set_mmc_slot(int slot, int enable, int power, int cd_on); | ||
15 | |||
16 | extern int menelaus_set_vmem(unsigned int mV); | ||
17 | extern int menelaus_set_vio(unsigned int mV); | ||
18 | extern int menelaus_set_vmmc(unsigned int mV); | ||
19 | extern int menelaus_set_vaux(unsigned int mV); | ||
20 | extern int menelaus_set_vdcdc(int dcdc, unsigned int mV); | ||
21 | extern int menelaus_set_slot_sel(int enable); | ||
22 | extern int menelaus_get_slot_pin_states(void); | ||
14 | 23 | ||
15 | #if defined(CONFIG_ARCH_OMAP24XX) && defined(CONFIG_MENELAUS) | 24 | #if defined(CONFIG_ARCH_OMAP24XX) && defined(CONFIG_MENELAUS) |
16 | #define omap_has_menelaus() 1 | 25 | #define omap_has_menelaus() 1 |
diff --git a/include/asm-arm/arch-omap/omap16xx.h b/include/asm-arm/arch-omap/omap16xx.h index f0c7f0fb4dc0..f7f5cdfdccce 100644 --- a/include/asm-arm/arch-omap/omap16xx.h +++ b/include/asm-arm/arch-omap/omap16xx.h | |||
@@ -159,15 +159,6 @@ | |||
159 | #define UART3_MVR (OMAP_UART3_BASE + 0x50) | 159 | #define UART3_MVR (OMAP_UART3_BASE + 0x50) |
160 | 160 | ||
161 | /* | 161 | /* |
162 | * ---------------------------------------------------------------------------- | ||
163 | * Pulse-Width Light | ||
164 | * ---------------------------------------------------------------------------- | ||
165 | */ | ||
166 | #define OMAP16XX_PWL_BASE (0xfffb5800) | ||
167 | #define OMAP16XX_PWL_ENABLE (OMAP16XX_PWL_BASE + 0x00) | ||
168 | #define OMAP16XX_PWL_CLK_ENABLE (OMAP16XX_PWL_BASE + 0x04) | ||
169 | |||
170 | /* | ||
171 | * --------------------------------------------------------------------------- | 162 | * --------------------------------------------------------------------------- |
172 | * Watchdog timer | 163 | * Watchdog timer |
173 | * --------------------------------------------------------------------------- | 164 | * --------------------------------------------------------------------------- |
@@ -199,5 +190,8 @@ | |||
199 | #define WSPR_DISABLE_0 (0x0000aaaa) | 190 | #define WSPR_DISABLE_0 (0x0000aaaa) |
200 | #define WSPR_DISABLE_1 (0x00005555) | 191 | #define WSPR_DISABLE_1 (0x00005555) |
201 | 192 | ||
193 | /* Mailbox */ | ||
194 | #define OMAP16XX_MAILBOX_BASE (0xfffcf000) | ||
195 | |||
202 | #endif /* __ASM_ARCH_OMAP16XX_H */ | 196 | #endif /* __ASM_ARCH_OMAP16XX_H */ |
203 | 197 | ||
diff --git a/include/asm-arm/arch-omap/omap24xx.h b/include/asm-arm/arch-omap/omap24xx.h index 6e59805fa654..708b2fac77f2 100644 --- a/include/asm-arm/arch-omap/omap24xx.h +++ b/include/asm-arm/arch-omap/omap24xx.h | |||
@@ -20,5 +20,14 @@ | |||
20 | #define OMAP24XX_PRCM_BASE (L4_24XX_BASE + 0x8000) | 20 | #define OMAP24XX_PRCM_BASE (L4_24XX_BASE + 0x8000) |
21 | #define OMAP24XX_SDRC_BASE (L3_24XX_BASE + 0x9000) | 21 | #define OMAP24XX_SDRC_BASE (L3_24XX_BASE + 0x9000) |
22 | 22 | ||
23 | /* DSP SS */ | ||
24 | #define OMAP24XX_DSP_BASE 0x58000000 | ||
25 | #define OMAP24XX_DSP_MEM_BASE (OMAP24XX_DSP_BASE + 0x0) | ||
26 | #define OMAP24XX_DSP_IPI_BASE (OMAP24XX_DSP_BASE + 0x1000000) | ||
27 | #define OMAP24XX_DSP_MMU_BASE (OMAP24XX_DSP_BASE + 0x2000000) | ||
28 | |||
29 | /* Mailbox */ | ||
30 | #define OMAP24XX_MAILBOX_BASE (L4_24XX_BASE + 0x94000) | ||
31 | |||
23 | #endif /* __ASM_ARCH_OMAP24XX_H */ | 32 | #endif /* __ASM_ARCH_OMAP24XX_H */ |
24 | 33 | ||
diff --git a/include/asm-arm/arch-omap/omapfb.h b/include/asm-arm/arch-omap/omapfb.h index fccdb3db025f..46d7a4f60854 100644 --- a/include/asm-arm/arch-omap/omapfb.h +++ b/include/asm-arm/arch-omap/omapfb.h | |||
@@ -24,6 +24,9 @@ | |||
24 | #ifndef __OMAPFB_H | 24 | #ifndef __OMAPFB_H |
25 | #define __OMAPFB_H | 25 | #define __OMAPFB_H |
26 | 26 | ||
27 | #include <asm/ioctl.h> | ||
28 | #include <asm/types.h> | ||
29 | |||
27 | /* IOCTL commands. */ | 30 | /* IOCTL commands. */ |
28 | 31 | ||
29 | #define OMAP_IOW(num, dtype) _IOW('O', num, dtype) | 32 | #define OMAP_IOW(num, dtype) _IOW('O', num, dtype) |
@@ -35,26 +38,46 @@ | |||
35 | #define OMAPFB_SYNC_GFX OMAP_IO(37) | 38 | #define OMAPFB_SYNC_GFX OMAP_IO(37) |
36 | #define OMAPFB_VSYNC OMAP_IO(38) | 39 | #define OMAPFB_VSYNC OMAP_IO(38) |
37 | #define OMAPFB_SET_UPDATE_MODE OMAP_IOW(40, int) | 40 | #define OMAPFB_SET_UPDATE_MODE OMAP_IOW(40, int) |
38 | #define OMAPFB_UPDATE_WINDOW_OLD OMAP_IOW(41, struct omapfb_update_window_old) | 41 | #define OMAPFB_GET_CAPS OMAP_IOR(42, struct omapfb_caps) |
39 | #define OMAPFB_GET_CAPS OMAP_IOR(42, unsigned long) | ||
40 | #define OMAPFB_GET_UPDATE_MODE OMAP_IOW(43, int) | 42 | #define OMAPFB_GET_UPDATE_MODE OMAP_IOW(43, int) |
41 | #define OMAPFB_LCD_TEST OMAP_IOW(45, int) | 43 | #define OMAPFB_LCD_TEST OMAP_IOW(45, int) |
42 | #define OMAPFB_CTRL_TEST OMAP_IOW(46, int) | 44 | #define OMAPFB_CTRL_TEST OMAP_IOW(46, int) |
43 | #define OMAPFB_UPDATE_WINDOW OMAP_IOW(47, struct omapfb_update_window) | 45 | #define OMAPFB_UPDATE_WINDOW_OLD OMAP_IOW(47, struct omapfb_update_window_old) |
44 | #define OMAPFB_SETUP_PLANE OMAP_IOW(48, struct omapfb_setup_plane) | ||
45 | #define OMAPFB_ENABLE_PLANE OMAP_IOW(49, struct omapfb_enable_plane) | ||
46 | #define OMAPFB_SET_COLOR_KEY OMAP_IOW(50, struct omapfb_color_key) | 46 | #define OMAPFB_SET_COLOR_KEY OMAP_IOW(50, struct omapfb_color_key) |
47 | #define OMAPFB_GET_COLOR_KEY OMAP_IOW(51, struct omapfb_color_key) | ||
48 | #define OMAPFB_SETUP_PLANE OMAP_IOW(52, struct omapfb_plane_info) | ||
49 | #define OMAPFB_QUERY_PLANE OMAP_IOW(53, struct omapfb_plane_info) | ||
50 | #define OMAPFB_UPDATE_WINDOW OMAP_IOW(54, struct omapfb_update_window) | ||
51 | #define OMAPFB_SETUP_MEM OMAP_IOW(55, struct omapfb_mem_info) | ||
52 | #define OMAPFB_QUERY_MEM OMAP_IOW(56, struct omapfb_mem_info) | ||
47 | 53 | ||
48 | #define OMAPFB_CAPS_GENERIC_MASK 0x00000fff | 54 | #define OMAPFB_CAPS_GENERIC_MASK 0x00000fff |
49 | #define OMAPFB_CAPS_LCDC_MASK 0x00fff000 | 55 | #define OMAPFB_CAPS_LCDC_MASK 0x00fff000 |
50 | #define OMAPFB_CAPS_PANEL_MASK 0xff000000 | 56 | #define OMAPFB_CAPS_PANEL_MASK 0xff000000 |
51 | 57 | ||
52 | #define OMAPFB_CAPS_MANUAL_UPDATE 0x00001000 | 58 | #define OMAPFB_CAPS_MANUAL_UPDATE 0x00001000 |
59 | #define OMAPFB_CAPS_TEARSYNC 0x00002000 | ||
60 | #define OMAPFB_CAPS_PLANE_RELOCATE_MEM 0x00004000 | ||
61 | #define OMAPFB_CAPS_PLANE_SCALE 0x00008000 | ||
62 | #define OMAPFB_CAPS_WINDOW_PIXEL_DOUBLE 0x00010000 | ||
63 | #define OMAPFB_CAPS_WINDOW_SCALE 0x00020000 | ||
64 | #define OMAPFB_CAPS_WINDOW_OVERLAY 0x00040000 | ||
53 | #define OMAPFB_CAPS_SET_BACKLIGHT 0x01000000 | 65 | #define OMAPFB_CAPS_SET_BACKLIGHT 0x01000000 |
54 | 66 | ||
55 | /* Values from DSP must map to lower 16-bits */ | 67 | /* Values from DSP must map to lower 16-bits */ |
56 | #define OMAPFB_FORMAT_MASK 0x00ff | 68 | #define OMAPFB_FORMAT_MASK 0x00ff |
57 | #define OMAPFB_FORMAT_FLAG_DOUBLE 0x0100 | 69 | #define OMAPFB_FORMAT_FLAG_DOUBLE 0x0100 |
70 | #define OMAPFB_FORMAT_FLAG_TEARSYNC 0x0200 | ||
71 | #define OMAPFB_FORMAT_FLAG_FORCE_VSYNC 0x0400 | ||
72 | #define OMAPFB_FORMAT_FLAG_ENABLE_OVERLAY 0x0800 | ||
73 | #define OMAPFB_FORMAT_FLAG_DISABLE_OVERLAY 0x1000 | ||
74 | |||
75 | #define OMAPFB_EVENT_READY 1 | ||
76 | #define OMAPFB_EVENT_DISABLED 2 | ||
77 | |||
78 | #define OMAPFB_MEMTYPE_SDRAM 0 | ||
79 | #define OMAPFB_MEMTYPE_SRAM 1 | ||
80 | #define OMAPFB_MEMTYPE_MAX 1 | ||
58 | 81 | ||
59 | enum omapfb_color_format { | 82 | enum omapfb_color_format { |
60 | OMAPFB_COLOR_RGB565 = 0, | 83 | OMAPFB_COLOR_RGB565 = 0, |
@@ -64,17 +87,23 @@ enum omapfb_color_format { | |||
64 | OMAPFB_COLOR_CLUT_4BPP, | 87 | OMAPFB_COLOR_CLUT_4BPP, |
65 | OMAPFB_COLOR_CLUT_2BPP, | 88 | OMAPFB_COLOR_CLUT_2BPP, |
66 | OMAPFB_COLOR_CLUT_1BPP, | 89 | OMAPFB_COLOR_CLUT_1BPP, |
90 | OMAPFB_COLOR_RGB444, | ||
91 | OMAPFB_COLOR_YUY422, | ||
67 | }; | 92 | }; |
68 | 93 | ||
69 | struct omapfb_update_window { | 94 | struct omapfb_update_window { |
70 | __u32 x, y; | 95 | __u32 x, y; |
71 | __u32 width, height; | 96 | __u32 width, height; |
72 | __u32 format; | 97 | __u32 format; |
98 | __u32 out_x, out_y; | ||
99 | __u32 out_width, out_height; | ||
100 | __u32 reserved[8]; | ||
73 | }; | 101 | }; |
74 | 102 | ||
75 | struct omapfb_update_window_old { | 103 | struct omapfb_update_window_old { |
76 | __u32 x, y; | 104 | __u32 x, y; |
77 | __u32 width, height; | 105 | __u32 width, height; |
106 | __u32 format; | ||
78 | }; | 107 | }; |
79 | 108 | ||
80 | enum omapfb_plane { | 109 | enum omapfb_plane { |
@@ -88,18 +117,28 @@ enum omapfb_channel_out { | |||
88 | OMAPFB_CHANNEL_OUT_DIGIT, | 117 | OMAPFB_CHANNEL_OUT_DIGIT, |
89 | }; | 118 | }; |
90 | 119 | ||
91 | struct omapfb_setup_plane { | 120 | struct omapfb_plane_info { |
92 | __u8 plane; | 121 | __u32 pos_x; |
122 | __u32 pos_y; | ||
123 | __u8 enabled; | ||
93 | __u8 channel_out; | 124 | __u8 channel_out; |
94 | __u32 offset; | 125 | __u8 mirror; |
95 | __u32 pos_x, pos_y; | 126 | __u8 reserved1; |
96 | __u32 width, height; | 127 | __u32 out_width; |
97 | __u32 color_mode; | 128 | __u32 out_height; |
129 | __u32 reserved2[12]; | ||
98 | }; | 130 | }; |
99 | 131 | ||
100 | struct omapfb_enable_plane { | 132 | struct omapfb_mem_info { |
101 | __u8 plane; | 133 | __u32 size; |
102 | __u8 enable; | 134 | __u8 type; |
135 | __u8 reserved[3]; | ||
136 | }; | ||
137 | |||
138 | struct omapfb_caps { | ||
139 | __u32 ctrl; | ||
140 | __u32 plane_color; | ||
141 | __u32 wnd_color; | ||
103 | }; | 142 | }; |
104 | 143 | ||
105 | enum omapfb_color_key_type { | 144 | enum omapfb_color_key_type { |
@@ -141,6 +180,9 @@ enum omapfb_update_mode { | |||
141 | 180 | ||
142 | #define OMAP_LCDC_PANEL_TFT 0x0100 | 181 | #define OMAP_LCDC_PANEL_TFT 0x0100 |
143 | 182 | ||
183 | #define OMAPFB_PLANE_XRES_MIN 8 | ||
184 | #define OMAPFB_PLANE_YRES_MIN 8 | ||
185 | |||
144 | #ifdef CONFIG_ARCH_OMAP1 | 186 | #ifdef CONFIG_ARCH_OMAP1 |
145 | #define OMAPFB_PLANE_NUM 1 | 187 | #define OMAPFB_PLANE_NUM 1 |
146 | #else | 188 | #else |
@@ -169,19 +211,19 @@ struct lcd_panel { | |||
169 | int pcd; /* pixel clock divider. | 211 | int pcd; /* pixel clock divider. |
170 | Obsolete use pixel_clock instead */ | 212 | Obsolete use pixel_clock instead */ |
171 | 213 | ||
172 | int (*init) (struct omapfb_device *fbdev); | 214 | int (*init) (struct lcd_panel *panel, |
173 | void (*cleanup) (void); | 215 | struct omapfb_device *fbdev); |
174 | int (*enable) (void); | 216 | void (*cleanup) (struct lcd_panel *panel); |
175 | void (*disable) (void); | 217 | int (*enable) (struct lcd_panel *panel); |
176 | unsigned long (*get_caps) (void); | 218 | void (*disable) (struct lcd_panel *panel); |
177 | int (*set_bklight_level)(unsigned int level); | 219 | unsigned long (*get_caps) (struct lcd_panel *panel); |
178 | unsigned int (*get_bklight_level)(void); | 220 | int (*set_bklight_level)(struct lcd_panel *panel, |
179 | unsigned int (*get_bklight_max) (void); | 221 | unsigned int level); |
180 | int (*run_test) (int test_num); | 222 | unsigned int (*get_bklight_level)(struct lcd_panel *panel); |
223 | unsigned int (*get_bklight_max) (struct lcd_panel *panel); | ||
224 | int (*run_test) (struct lcd_panel *panel, int test_num); | ||
181 | }; | 225 | }; |
182 | 226 | ||
183 | struct omapfb_device; | ||
184 | |||
185 | struct extif_timings { | 227 | struct extif_timings { |
186 | int cs_on_time; | 228 | int cs_on_time; |
187 | int cs_off_time; | 229 | int cs_off_time; |
@@ -202,9 +244,10 @@ struct extif_timings { | |||
202 | }; | 244 | }; |
203 | 245 | ||
204 | struct lcd_ctrl_extif { | 246 | struct lcd_ctrl_extif { |
205 | int (*init) (void); | 247 | int (*init) (struct omapfb_device *fbdev); |
206 | void (*cleanup) (void); | 248 | void (*cleanup) (void); |
207 | void (*get_clk_info) (u32 *clk_period, u32 *max_clk_div); | 249 | void (*get_clk_info) (u32 *clk_period, u32 *max_clk_div); |
250 | unsigned long (*get_max_tx_rate)(void); | ||
208 | int (*convert_timings) (struct extif_timings *timings); | 251 | int (*convert_timings) (struct extif_timings *timings); |
209 | void (*set_timings) (const struct extif_timings *timings); | 252 | void (*set_timings) (const struct extif_timings *timings); |
210 | void (*set_bits_per_cycle)(int bpc); | 253 | void (*set_bits_per_cycle)(int bpc); |
@@ -213,31 +256,48 @@ struct lcd_ctrl_extif { | |||
213 | void (*write_data) (const void *buf, unsigned int len); | 256 | void (*write_data) (const void *buf, unsigned int len); |
214 | void (*transfer_area) (int width, int height, | 257 | void (*transfer_area) (int width, int height, |
215 | void (callback)(void * data), void *data); | 258 | void (callback)(void * data), void *data); |
259 | int (*setup_tearsync) (unsigned pin_cnt, | ||
260 | unsigned hs_pulse_time, unsigned vs_pulse_time, | ||
261 | int hs_pol_inv, int vs_pol_inv, int div); | ||
262 | int (*enable_tearsync) (int enable, unsigned line); | ||
263 | |||
216 | unsigned long max_transmit_size; | 264 | unsigned long max_transmit_size; |
217 | }; | 265 | }; |
218 | 266 | ||
219 | struct omapfb_notifier_block { | 267 | struct omapfb_notifier_block { |
220 | struct notifier_block nb; | 268 | struct notifier_block nb; |
221 | void *data; | 269 | void *data; |
270 | int plane_idx; | ||
222 | }; | 271 | }; |
223 | 272 | ||
224 | typedef int (*omapfb_notifier_callback_t)(struct omapfb_notifier_block *, | 273 | typedef int (*omapfb_notifier_callback_t)(struct notifier_block *, |
225 | unsigned long event, | 274 | unsigned long event, |
226 | struct omapfb_device *fbdev); | 275 | void *fbi); |
276 | |||
277 | struct omapfb_mem_region { | ||
278 | dma_addr_t paddr; | ||
279 | void *vaddr; | ||
280 | unsigned long size; | ||
281 | u8 type; /* OMAPFB_PLANE_MEM_* */ | ||
282 | unsigned alloc:1; /* allocated by the driver */ | ||
283 | unsigned map:1; /* kernel mapped by the driver */ | ||
284 | }; | ||
285 | |||
286 | struct omapfb_mem_desc { | ||
287 | int region_cnt; | ||
288 | struct omapfb_mem_region region[OMAPFB_PLANE_NUM]; | ||
289 | }; | ||
227 | 290 | ||
228 | struct lcd_ctrl { | 291 | struct lcd_ctrl { |
229 | const char *name; | 292 | const char *name; |
230 | void *data; | 293 | void *data; |
231 | 294 | ||
232 | int (*init) (struct omapfb_device *fbdev, | 295 | int (*init) (struct omapfb_device *fbdev, |
233 | int ext_mode, int req_vram_size); | 296 | int ext_mode, |
297 | struct omapfb_mem_desc *req_md); | ||
234 | void (*cleanup) (void); | 298 | void (*cleanup) (void); |
235 | void (*bind_client) (struct omapfb_notifier_block *nb); | 299 | void (*bind_client) (struct omapfb_notifier_block *nb); |
236 | void (*get_vram_layout)(unsigned long *size, | 300 | void (*get_caps) (int plane, struct omapfb_caps *caps); |
237 | void **virt_base, | ||
238 | dma_addr_t *phys_base); | ||
239 | int (*mmap) (struct vm_area_struct *vma); | ||
240 | unsigned long (*get_caps) (void); | ||
241 | int (*set_update_mode)(enum omapfb_update_mode mode); | 301 | int (*set_update_mode)(enum omapfb_update_mode mode); |
242 | enum omapfb_update_mode (*get_update_mode)(void); | 302 | enum omapfb_update_mode (*get_update_mode)(void); |
243 | int (*setup_plane) (int plane, int channel_out, | 303 | int (*setup_plane) (int plane, int channel_out, |
@@ -245,8 +305,16 @@ struct lcd_ctrl { | |||
245 | int screen_width, | 305 | int screen_width, |
246 | int pos_x, int pos_y, int width, | 306 | int pos_x, int pos_y, int width, |
247 | int height, int color_mode); | 307 | int height, int color_mode); |
308 | int (*setup_mem) (int plane, size_t size, | ||
309 | int mem_type, unsigned long *paddr); | ||
310 | int (*mmap) (struct fb_info *info, | ||
311 | struct vm_area_struct *vma); | ||
312 | int (*set_scale) (int plane, | ||
313 | int orig_width, int orig_height, | ||
314 | int out_width, int out_height); | ||
248 | int (*enable_plane) (int plane, int enable); | 315 | int (*enable_plane) (int plane, int enable); |
249 | int (*update_window) (struct omapfb_update_window *win, | 316 | int (*update_window) (struct fb_info *fbi, |
317 | struct omapfb_update_window *win, | ||
250 | void (*callback)(void *), | 318 | void (*callback)(void *), |
251 | void *callback_data); | 319 | void *callback_data); |
252 | void (*sync) (void); | 320 | void (*sync) (void); |
@@ -257,7 +325,7 @@ struct lcd_ctrl { | |||
257 | u16 blue, u16 transp, | 325 | u16 blue, u16 transp, |
258 | int update_hw_mem); | 326 | int update_hw_mem); |
259 | int (*set_color_key) (struct omapfb_color_key *ck); | 327 | int (*set_color_key) (struct omapfb_color_key *ck); |
260 | 328 | int (*get_color_key) (struct omapfb_color_key *ck); | |
261 | }; | 329 | }; |
262 | 330 | ||
263 | enum omapfb_state { | 331 | enum omapfb_state { |
@@ -266,19 +334,20 @@ enum omapfb_state { | |||
266 | OMAPFB_ACTIVE = 100 | 334 | OMAPFB_ACTIVE = 100 |
267 | }; | 335 | }; |
268 | 336 | ||
337 | struct omapfb_plane_struct { | ||
338 | int idx; | ||
339 | struct omapfb_plane_info info; | ||
340 | enum omapfb_color_format color_mode; | ||
341 | struct omapfb_device *fbdev; | ||
342 | }; | ||
343 | |||
269 | struct omapfb_device { | 344 | struct omapfb_device { |
270 | int state; | 345 | int state; |
271 | int ext_lcdc; /* Using external | 346 | int ext_lcdc; /* Using external |
272 | LCD controller */ | 347 | LCD controller */ |
273 | struct mutex rqueue_mutex; | 348 | struct mutex rqueue_mutex; |
274 | 349 | ||
275 | void *vram_virt_base; | ||
276 | dma_addr_t vram_phys_base; | ||
277 | unsigned long vram_size; | ||
278 | |||
279 | int color_mode; | ||
280 | int palette_size; | 350 | int palette_size; |
281 | int mirror; | ||
282 | u32 pseudo_palette[17]; | 351 | u32 pseudo_palette[17]; |
283 | 352 | ||
284 | struct lcd_panel *panel; /* LCD panel */ | 353 | struct lcd_panel *panel; /* LCD panel */ |
@@ -286,19 +355,19 @@ struct omapfb_device { | |||
286 | struct lcd_ctrl *int_ctrl; /* internal LCD ctrl */ | 355 | struct lcd_ctrl *int_ctrl; /* internal LCD ctrl */ |
287 | struct lcd_ctrl_extif *ext_if; /* LCD ctrl external | 356 | struct lcd_ctrl_extif *ext_if; /* LCD ctrl external |
288 | interface */ | 357 | interface */ |
289 | struct fb_info *fb_info; | ||
290 | |||
291 | struct device *dev; | 358 | struct device *dev; |
359 | struct fb_var_screeninfo new_var; /* for mode changes */ | ||
360 | |||
361 | struct omapfb_mem_desc mem_desc; | ||
362 | struct fb_info *fb_info[OMAPFB_PLANE_NUM]; | ||
292 | }; | 363 | }; |
293 | 364 | ||
294 | struct omapfb_platform_data { | 365 | struct omapfb_platform_data { |
295 | struct omap_lcd_config lcd; | 366 | struct omap_lcd_config lcd; |
296 | struct omap_fbmem_config fbmem; | 367 | struct omapfb_mem_desc mem_desc; |
368 | void *ctrl_platform_data; | ||
297 | }; | 369 | }; |
298 | 370 | ||
299 | #define OMAPFB_EVENT_READY 1 | ||
300 | #define OMAPFB_EVENT_DISABLED 2 | ||
301 | |||
302 | #ifdef CONFIG_ARCH_OMAP1 | 371 | #ifdef CONFIG_ARCH_OMAP1 |
303 | extern struct lcd_ctrl omap1_lcd_ctrl; | 372 | extern struct lcd_ctrl omap1_lcd_ctrl; |
304 | #else | 373 | #else |
@@ -310,15 +379,16 @@ extern void omapfb_write_first_pixel(struct omapfb_device *fbdev, u16 pixval); | |||
310 | extern void omapfb_notify_clients(struct omapfb_device *fbdev, | 379 | extern void omapfb_notify_clients(struct omapfb_device *fbdev, |
311 | unsigned long event); | 380 | unsigned long event); |
312 | extern int omapfb_register_client(struct omapfb_notifier_block *nb, | 381 | extern int omapfb_register_client(struct omapfb_notifier_block *nb, |
313 | omapfb_notifier_callback_t callback, | 382 | omapfb_notifier_callback_t callback, |
314 | void *callback_data); | 383 | void *callback_data); |
315 | extern int omapfb_unregister_client(struct omapfb_notifier_block *nb); | 384 | extern int omapfb_unregister_client(struct omapfb_notifier_block *nb); |
316 | extern int omapfb_update_window_async(struct omapfb_update_window *win, | 385 | extern int omapfb_update_window_async(struct fb_info *fbi, |
317 | void (*callback)(void *), | 386 | struct omapfb_update_window *win, |
318 | void *callback_data); | 387 | void (*callback)(void *), |
388 | void *callback_data); | ||
319 | 389 | ||
320 | /* in arch/arm/plat-omap/devices.c */ | 390 | /* in arch/arm/plat-omap/fb.c */ |
321 | extern void omapfb_reserve_mem(void); | 391 | extern void omapfb_set_ctrl_platform_data(void *pdata); |
322 | 392 | ||
323 | #endif /* __KERNEL__ */ | 393 | #endif /* __KERNEL__ */ |
324 | 394 | ||
diff --git a/include/asm-arm/arch-omap/sram.h b/include/asm-arm/arch-omap/sram.h index 6fc0dd57b7c3..bb9bb3fd532f 100644 --- a/include/asm-arm/arch-omap/sram.h +++ b/include/asm-arm/arch-omap/sram.h | |||
@@ -20,9 +20,6 @@ extern void omap2_sram_reprogram_sdrc(u32 perf_level, u32 dll_val, | |||
20 | u32 mem_type); | 20 | u32 mem_type); |
21 | extern u32 omap2_set_prcm(u32 dpll_ctrl_val, u32 sdrc_rfr_val, int bypass); | 21 | extern u32 omap2_set_prcm(u32 dpll_ctrl_val, u32 sdrc_rfr_val, int bypass); |
22 | 22 | ||
23 | extern unsigned long omap_fb_sram_start; | ||
24 | extern unsigned long omap_fb_sram_size; | ||
25 | |||
26 | /* Do not use these */ | 23 | /* Do not use these */ |
27 | extern void sram_reprogram_clock(u32 ckctl, u32 dpllctl); | 24 | extern void sram_reprogram_clock(u32 ckctl, u32 dpllctl); |
28 | extern unsigned long sram_reprogram_clock_sz; | 25 | extern unsigned long sram_reprogram_clock_sz; |
diff --git a/include/asm-arm/arch-omap/usb.h b/include/asm-arm/arch-omap/usb.h index 054fb9a8e0c6..99ae9eabaf71 100644 --- a/include/asm-arm/arch-omap/usb.h +++ b/include/asm-arm/arch-omap/usb.h | |||
@@ -7,9 +7,27 @@ | |||
7 | 7 | ||
8 | /*-------------------------------------------------------------------------*/ | 8 | /*-------------------------------------------------------------------------*/ |
9 | 9 | ||
10 | #define OTG_BASE 0xfffb0400 | 10 | #define OMAP1_OTG_BASE 0xfffb0400 |
11 | #define UDC_BASE 0xfffb4000 | 11 | #define OMAP1_UDC_BASE 0xfffb4000 |
12 | #define OMAP_OHCI_BASE 0xfffba000 | 12 | #define OMAP1_OHCI_BASE 0xfffba000 |
13 | |||
14 | #define OMAP2_OHCI_BASE 0x4805e000 | ||
15 | #define OMAP2_UDC_BASE 0x4805e200 | ||
16 | #define OMAP2_OTG_BASE 0x4805e300 | ||
17 | |||
18 | #ifdef CONFIG_ARCH_OMAP1 | ||
19 | |||
20 | #define OTG_BASE OMAP1_OTG_BASE | ||
21 | #define UDC_BASE OMAP1_UDC_BASE | ||
22 | #define OMAP_OHCI_BASE OMAP1_OHCI_BASE | ||
23 | |||
24 | #else | ||
25 | |||
26 | #define OTG_BASE OMAP2_OTG_BASE | ||
27 | #define UDC_BASE OMAP2_UDC_BASE | ||
28 | #define OMAP_OHCI_BASE OMAP2_OHCI_BASE | ||
29 | |||
30 | #endif | ||
13 | 31 | ||
14 | /*-------------------------------------------------------------------------*/ | 32 | /*-------------------------------------------------------------------------*/ |
15 | 33 | ||
@@ -28,6 +46,7 @@ | |||
28 | # define HST_IDLE_EN (1 << 14) | 46 | # define HST_IDLE_EN (1 << 14) |
29 | # define DEV_IDLE_EN (1 << 13) | 47 | # define DEV_IDLE_EN (1 << 13) |
30 | # define OTG_RESET_DONE (1 << 2) | 48 | # define OTG_RESET_DONE (1 << 2) |
49 | # define OTG_SOFT_RESET (1 << 1) | ||
31 | #define OTG_SYSCON_2_REG OTG_REG32(0x08) | 50 | #define OTG_SYSCON_2_REG OTG_REG32(0x08) |
32 | # define OTG_EN (1 << 31) | 51 | # define OTG_EN (1 << 31) |
33 | # define USBX_SYNCHRO (1 << 30) | 52 | # define USBX_SYNCHRO (1 << 30) |
@@ -103,6 +122,7 @@ | |||
103 | 122 | ||
104 | /*-------------------------------------------------------------------------*/ | 123 | /*-------------------------------------------------------------------------*/ |
105 | 124 | ||
125 | /* OMAP1 */ | ||
106 | #define USB_TRANSCEIVER_CTRL_REG __REG32(0xfffe1000 + 0x0064) | 126 | #define USB_TRANSCEIVER_CTRL_REG __REG32(0xfffe1000 + 0x0064) |
107 | # define CONF_USB2_UNI_R (1 << 8) | 127 | # define CONF_USB2_UNI_R (1 << 8) |
108 | # define CONF_USB1_UNI_R (1 << 7) | 128 | # define CONF_USB1_UNI_R (1 << 7) |
@@ -111,7 +131,17 @@ | |||
111 | # define CONF_USB_PWRDN_DM_R (1 << 2) | 131 | # define CONF_USB_PWRDN_DM_R (1 << 2) |
112 | # define CONF_USB_PWRDN_DP_R (1 << 1) | 132 | # define CONF_USB_PWRDN_DP_R (1 << 1) |
113 | 133 | ||
114 | 134 | /* OMAP2 */ | |
115 | 135 | #define CONTROL_DEVCONF_REG __REG32(L4_24XX_BASE + 0x0274) | |
136 | # define USB_UNIDIR 0x0 | ||
137 | # define USB_UNIDIR_TLL 0x1 | ||
138 | # define USB_BIDIR 0x2 | ||
139 | # define USB_BIDIR_TLL 0x3 | ||
140 | # define USBT0WRMODEI(x) ((x) << 22) | ||
141 | # define USBT1WRMODEI(x) ((x) << 20) | ||
142 | # define USBT2WRMODEI(x) ((x) << 18) | ||
143 | # define USBT2TLL5PI (1 << 17) | ||
144 | # define USB0PUENACTLOI (1 << 16) | ||
145 | # define USBSTANDBYCTRL (1 << 15) | ||
116 | 146 | ||
117 | #endif /* __ASM_ARCH_OMAP_USB_H */ | 147 | #endif /* __ASM_ARCH_OMAP_USB_H */ |
diff --git a/include/asm-arm/arch-s3c2410/regs-power.h b/include/asm-arm/arch-s3c2410/regs-power.h index 6c319ea2afac..94ff96505b6a 100644 --- a/include/asm-arm/arch-s3c2410/regs-power.h +++ b/include/asm-arm/arch-s3c2410/regs-power.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* linux/include/asm/arch-s3c2410/regs-power.h | 1 | /* linux/include/asm-arm/arch-s3c2410/regs-power.h |
2 | * | 2 | * |
3 | * Copyright (c) 2003,2004,2005,2006 Simtec Electronics <linux@simtec.co.uk> | 3 | * Copyright (c) 2003,2004,2005,2006 Simtec Electronics <linux@simtec.co.uk> |
4 | * http://armlinux.simtec.co.uk/ | 4 | * http://armlinux.simtec.co.uk/ |
diff --git a/include/asm-arm/arch-s3c2410/regs-s3c2443-clock.h b/include/asm-arm/arch-s3c2410/regs-s3c2443-clock.h index ff0536d2de42..cd9e26568f85 100644 --- a/include/asm-arm/arch-s3c2410/regs-s3c2443-clock.h +++ b/include/asm-arm/arch-s3c2410/regs-s3c2443-clock.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* linux/include/asm-arm/arch-s3c2410/regs-clock.h | 1 | /* linux/include/asm-arm/arch-s3c2410/regs-s3c2443-clock.h |
2 | * | 2 | * |
3 | * Copyright (c) 2007 Simtec Electronics | 3 | * Copyright (c) 2007 Simtec Electronics |
4 | * Ben Dooks <ben@simtec.co.uk> | 4 | * Ben Dooks <ben@simtec.co.uk> |
diff --git a/include/asm-arm/arch-s3c2410/regs-watchdog.h b/include/asm-arm/arch-s3c2410/regs-watchdog.h index f4fff448c7bd..a9c5d491bdb6 100644 --- a/include/asm-arm/arch-s3c2410/regs-watchdog.h +++ b/include/asm-arm/arch-s3c2410/regs-watchdog.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* linux/include/asm/arch-s3c2410/regs-watchdog.h | 1 | /* linux/include/asm-arm/arch-s3c2410/regs-watchdog.h |
2 | * | 2 | * |
3 | * Copyright (c) 2003 Simtec Electronics <linux@simtec.co.uk> | 3 | * Copyright (c) 2003 Simtec Electronics <linux@simtec.co.uk> |
4 | * http://www.simtec.co.uk/products/SWLINUX/ | 4 | * http://www.simtec.co.uk/products/SWLINUX/ |
diff --git a/include/asm-arm/arch-s3c2410/udc.h b/include/asm-arm/arch-s3c2410/udc.h index e59ec339d614..b8aa6cb69b58 100644 --- a/include/asm-arm/arch-s3c2410/udc.h +++ b/include/asm-arm/arch-s3c2410/udc.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* linux/include/asm/arch-s3c2410/udc.h | 1 | /* linux/include/asm-arm/arch-s3c2410/udc.h |
2 | * | 2 | * |
3 | * Copyright (c) 2005 Arnaud Patard <arnaud.patard@rtp-net.org> | 3 | * Copyright (c) 2005 Arnaud Patard <arnaud.patard@rtp-net.org> |
4 | * | 4 | * |
diff --git a/include/asm-arm/cacheflush.h b/include/asm-arm/cacheflush.h index afad32c76e6c..d1294a46c70c 100644 --- a/include/asm-arm/cacheflush.h +++ b/include/asm-arm/cacheflush.h | |||
@@ -102,6 +102,14 @@ | |||
102 | //# endif | 102 | //# endif |
103 | #endif | 103 | #endif |
104 | 104 | ||
105 | #if defined(CONFIG_CPU_V7) | ||
106 | //# ifdef _CACHE | ||
107 | # define MULTI_CACHE 1 | ||
108 | //# else | ||
109 | //# define _CACHE v7 | ||
110 | //# endif | ||
111 | #endif | ||
112 | |||
105 | #if !defined(_CACHE) && !defined(MULTI_CACHE) | 113 | #if !defined(_CACHE) && !defined(MULTI_CACHE) |
106 | #error Unknown cache maintainence model | 114 | #error Unknown cache maintainence model |
107 | #endif | 115 | #endif |
@@ -418,11 +426,19 @@ static inline void flush_anon_page(struct vm_area_struct *vma, | |||
418 | */ | 426 | */ |
419 | #define flush_icache_page(vma,page) do { } while (0) | 427 | #define flush_icache_page(vma,page) do { } while (0) |
420 | 428 | ||
421 | #define __cacheid_present(val) (val != read_cpuid(CPUID_ID)) | 429 | #define __cacheid_present(val) (val != read_cpuid(CPUID_ID)) |
422 | #define __cacheid_vivt(val) ((val & (15 << 25)) != (14 << 25)) | 430 | #define __cacheid_type_v7(val) ((val & (7 << 29)) == (4 << 29)) |
423 | #define __cacheid_vipt(val) ((val & (15 << 25)) == (14 << 25)) | 431 | |
424 | #define __cacheid_vipt_nonaliasing(val) ((val & (15 << 25 | 1 << 23)) == (14 << 25)) | 432 | #define __cacheid_vivt_prev7(val) ((val & (15 << 25)) != (14 << 25)) |
425 | #define __cacheid_vipt_aliasing(val) ((val & (15 << 25 | 1 << 23)) == (14 << 25 | 1 << 23)) | 433 | #define __cacheid_vipt_prev7(val) ((val & (15 << 25)) == (14 << 25)) |
434 | #define __cacheid_vipt_nonaliasing_prev7(val) ((val & (15 << 25 | 1 << 23)) == (14 << 25)) | ||
435 | #define __cacheid_vipt_aliasing_prev7(val) ((val & (15 << 25 | 1 << 23)) == (14 << 25 | 1 << 23)) | ||
436 | |||
437 | #define __cacheid_vivt(val) (__cacheid_type_v7(val) ? 0 : __cacheid_vivt_prev7(val)) | ||
438 | #define __cacheid_vipt(val) (__cacheid_type_v7(val) ? 1 : __cacheid_vipt_prev7(val)) | ||
439 | #define __cacheid_vipt_nonaliasing(val) (__cacheid_type_v7(val) ? 1 : __cacheid_vipt_nonaliasing_prev7(val)) | ||
440 | #define __cacheid_vipt_aliasing(val) (__cacheid_type_v7(val) ? 0 : __cacheid_vipt_aliasing_prev7(val)) | ||
441 | #define __cacheid_vivt_asid_tagged_instr(val) (__cacheid_type_v7(val) ? ((val & (3 << 14)) == (1 << 14)) : 0) | ||
426 | 442 | ||
427 | #if defined(CONFIG_CPU_CACHE_VIVT) && !defined(CONFIG_CPU_CACHE_VIPT) | 443 | #if defined(CONFIG_CPU_CACHE_VIVT) && !defined(CONFIG_CPU_CACHE_VIPT) |
428 | 444 | ||
@@ -430,6 +446,7 @@ static inline void flush_anon_page(struct vm_area_struct *vma, | |||
430 | #define cache_is_vipt() 0 | 446 | #define cache_is_vipt() 0 |
431 | #define cache_is_vipt_nonaliasing() 0 | 447 | #define cache_is_vipt_nonaliasing() 0 |
432 | #define cache_is_vipt_aliasing() 0 | 448 | #define cache_is_vipt_aliasing() 0 |
449 | #define icache_is_vivt_asid_tagged() 0 | ||
433 | 450 | ||
434 | #elif defined(CONFIG_CPU_CACHE_VIPT) | 451 | #elif defined(CONFIG_CPU_CACHE_VIPT) |
435 | 452 | ||
@@ -447,6 +464,12 @@ static inline void flush_anon_page(struct vm_area_struct *vma, | |||
447 | __cacheid_vipt_aliasing(__val); \ | 464 | __cacheid_vipt_aliasing(__val); \ |
448 | }) | 465 | }) |
449 | 466 | ||
467 | #define icache_is_vivt_asid_tagged() \ | ||
468 | ({ \ | ||
469 | unsigned int __val = read_cpuid(CPUID_CACHETYPE); \ | ||
470 | __cacheid_vivt_asid_tagged_instr(__val); \ | ||
471 | }) | ||
472 | |||
450 | #else | 473 | #else |
451 | 474 | ||
452 | #define cache_is_vivt() \ | 475 | #define cache_is_vivt() \ |
@@ -475,6 +498,13 @@ static inline void flush_anon_page(struct vm_area_struct *vma, | |||
475 | __cacheid_vipt_aliasing(__val); \ | 498 | __cacheid_vipt_aliasing(__val); \ |
476 | }) | 499 | }) |
477 | 500 | ||
501 | #define icache_is_vivt_asid_tagged() \ | ||
502 | ({ \ | ||
503 | unsigned int __val = read_cpuid(CPUID_CACHETYPE); \ | ||
504 | __cacheid_present(__val) && \ | ||
505 | __cacheid_vivt_asid_tagged_instr(__val); \ | ||
506 | }) | ||
507 | |||
478 | #endif | 508 | #endif |
479 | 509 | ||
480 | #endif | 510 | #endif |
diff --git a/include/asm-arm/dma-mapping.h b/include/asm-arm/dma-mapping.h index abfb75b654c7..c8b5d0db0cf0 100644 --- a/include/asm-arm/dma-mapping.h +++ b/include/asm-arm/dma-mapping.h | |||
@@ -445,7 +445,7 @@ extern void dmabounce_unregister_dev(struct device *); | |||
445 | * | 445 | * |
446 | * The dmabounce routines call this function whenever a dma-mapping | 446 | * The dmabounce routines call this function whenever a dma-mapping |
447 | * is requested to determine whether a given buffer needs to be bounced | 447 | * is requested to determine whether a given buffer needs to be bounced |
448 | * or not. The function must return 0 if the the buffer is OK for | 448 | * or not. The function must return 0 if the buffer is OK for |
449 | * DMA access and 1 if the buffer needs to be bounced. | 449 | * DMA access and 1 if the buffer needs to be bounced. |
450 | * | 450 | * |
451 | */ | 451 | */ |
diff --git a/include/asm-arm/glue.h b/include/asm-arm/glue.h index 0cc5d3b10ce2..22274ce81375 100644 --- a/include/asm-arm/glue.h +++ b/include/asm-arm/glue.h | |||
@@ -38,6 +38,7 @@ | |||
38 | * v5tej_early - ARMv5 with Thumb and Java early abort handler | 38 | * v5tej_early - ARMv5 with Thumb and Java early abort handler |
39 | * xscale - ARMv5 with Thumb with Xscale extensions | 39 | * xscale - ARMv5 with Thumb with Xscale extensions |
40 | * v6_early - ARMv6 generic early abort handler | 40 | * v6_early - ARMv6 generic early abort handler |
41 | * v7_early - ARMv7 generic early abort handler | ||
41 | */ | 42 | */ |
42 | #undef CPU_ABORT_HANDLER | 43 | #undef CPU_ABORT_HANDLER |
43 | #undef MULTI_ABORT | 44 | #undef MULTI_ABORT |
@@ -106,6 +107,14 @@ | |||
106 | # endif | 107 | # endif |
107 | #endif | 108 | #endif |
108 | 109 | ||
110 | #ifdef CONFIG_CPU_ABRT_EV7 | ||
111 | # ifdef CPU_ABORT_HANDLER | ||
112 | # define MULTI_ABORT 1 | ||
113 | # else | ||
114 | # define CPU_ABORT_HANDLER v7_early_abort | ||
115 | # endif | ||
116 | #endif | ||
117 | |||
109 | #ifndef CPU_ABORT_HANDLER | 118 | #ifndef CPU_ABORT_HANDLER |
110 | #error Unknown data abort handler type | 119 | #error Unknown data abort handler type |
111 | #endif | 120 | #endif |
diff --git a/include/asm-arm/mmu_context.h b/include/asm-arm/mmu_context.h index f8755c818b54..4981ad419198 100644 --- a/include/asm-arm/mmu_context.h +++ b/include/asm-arm/mmu_context.h | |||
@@ -36,8 +36,9 @@ void __check_kvm_seq(struct mm_struct *mm); | |||
36 | * The context ID is used by debuggers and trace logic, and | 36 | * The context ID is used by debuggers and trace logic, and |
37 | * should be unique within all running processes. | 37 | * should be unique within all running processes. |
38 | */ | 38 | */ |
39 | #define ASID_BITS 8 | 39 | #define ASID_BITS 8 |
40 | #define ASID_MASK ((~0) << ASID_BITS) | 40 | #define ASID_MASK ((~0) << ASID_BITS) |
41 | #define ASID_FIRST_VERSION (1 << ASID_BITS) | ||
41 | 42 | ||
42 | extern unsigned int cpu_last_asid; | 43 | extern unsigned int cpu_last_asid; |
43 | 44 | ||
@@ -96,8 +97,7 @@ switch_mm(struct mm_struct *prev, struct mm_struct *next, | |||
96 | #ifdef CONFIG_MMU | 97 | #ifdef CONFIG_MMU |
97 | unsigned int cpu = smp_processor_id(); | 98 | unsigned int cpu = smp_processor_id(); |
98 | 99 | ||
99 | if (prev != next) { | 100 | if (!cpu_test_and_set(cpu, next->cpu_vm_mask) || prev != next) { |
100 | cpu_set(cpu, next->cpu_vm_mask); | ||
101 | check_context(next); | 101 | check_context(next); |
102 | cpu_switch_mm(next->pgd, next); | 102 | cpu_switch_mm(next->pgd, next); |
103 | if (cache_is_vivt()) | 103 | if (cache_is_vivt()) |
diff --git a/include/asm-arm/proc-fns.h b/include/asm-arm/proc-fns.h index ea7e54c319be..5599d4e5e708 100644 --- a/include/asm-arm/proc-fns.h +++ b/include/asm-arm/proc-fns.h | |||
@@ -193,6 +193,14 @@ | |||
193 | # define CPU_NAME cpu_v6 | 193 | # define CPU_NAME cpu_v6 |
194 | # endif | 194 | # endif |
195 | # endif | 195 | # endif |
196 | # ifdef CONFIG_CPU_V7 | ||
197 | # ifdef CPU_NAME | ||
198 | # undef MULTI_CPU | ||
199 | # define MULTI_CPU | ||
200 | # else | ||
201 | # define CPU_NAME cpu_v7 | ||
202 | # endif | ||
203 | # endif | ||
196 | #endif | 204 | #endif |
197 | 205 | ||
198 | #ifndef __ASSEMBLY__ | 206 | #ifndef __ASSEMBLY__ |
diff --git a/include/asm-arm/system.h b/include/asm-arm/system.h index f2da3b6e3a83..6f8e6a69dc5f 100644 --- a/include/asm-arm/system.h +++ b/include/asm-arm/system.h | |||
@@ -14,6 +14,7 @@ | |||
14 | #define CPU_ARCH_ARMv5TE 6 | 14 | #define CPU_ARCH_ARMv5TE 6 |
15 | #define CPU_ARCH_ARMv5TEJ 7 | 15 | #define CPU_ARCH_ARMv5TEJ 7 |
16 | #define CPU_ARCH_ARMv6 8 | 16 | #define CPU_ARCH_ARMv6 8 |
17 | #define CPU_ARCH_ARMv7 9 | ||
17 | 18 | ||
18 | /* | 19 | /* |
19 | * CR1 bits (CP#15 CR1) | 20 | * CR1 bits (CP#15 CR1) |
@@ -155,7 +156,11 @@ extern unsigned int user_debug; | |||
155 | #define vectors_high() (0) | 156 | #define vectors_high() (0) |
156 | #endif | 157 | #endif |
157 | 158 | ||
158 | #if defined(CONFIG_CPU_XSC3) || __LINUX_ARM_ARCH__ >= 6 | 159 | #if __LINUX_ARM_ARCH__ >= 7 |
160 | #define isb() __asm__ __volatile__ ("isb" : : : "memory") | ||
161 | #define dsb() __asm__ __volatile__ ("dsb" : : : "memory") | ||
162 | #define dmb() __asm__ __volatile__ ("dmb" : : : "memory") | ||
163 | #elif defined(CONFIG_CPU_XSC3) || __LINUX_ARM_ARCH__ == 6 | ||
159 | #define isb() __asm__ __volatile__ ("mcr p15, 0, %0, c7, c5, 4" \ | 164 | #define isb() __asm__ __volatile__ ("mcr p15, 0, %0, c7, c5, 4" \ |
160 | : : "r" (0) : "memory") | 165 | : : "r" (0) : "memory") |
161 | #define dsb() __asm__ __volatile__ ("mcr p15, 0, %0, c7, c10, 4" \ | 166 | #define dsb() __asm__ __volatile__ ("mcr p15, 0, %0, c7, c10, 4" \ |