1 // ----------------------------------------------------------------------------
2 //          ATMEL Microcontroller Software Support  -  ROUSSET  -
3 // ----------------------------------------------------------------------------
4 //  The software is delivered "AS IS" without warranty or condition of any
5 //  kind, either express, implied or statutory. This includes without
6 //  limitation any warranty or condition with respect to merchantability or
7 //  fitness for any particular purpose, or against the infringements of
8 //  intellectual property rights of others.
9 // ----------------------------------------------------------------------------
10 // File Name           : AT91RM9200.h
11 // Object              : AT91RM9200 definitions
12 // Generated           : AT91 SW Application Group  04/16/2003 (12:30:06)
13 //
14 // ----------------------------------------------------------------------------
15 
16 #ifndef AT91RM9200_H
17 #define AT91RM9200_H
18 
19 #ifndef __ASSEMBLY__
20 
21  /* Hardware register definition */
22 typedef volatile unsigned int AT91_REG;
23 
24 #endif	/* __ASSEMBLY__ */
25 
26 // *****************************************************************************
27 //               PERIPHERAL ID DEFINITIONS FOR AT91RM9200
28 // *****************************************************************************
29 #define AT91C_ID_FIQ    ( 0) // Advanced Interrupt Controller (FIQ)
30 #define AT91C_ID_SYS    ( 1) // System Peripheral
31 #define AT91C_ID_PIOA   ( 2) // Parallel IO Controller A
32 #define AT91C_ID_PIOB   ( 3) // Parallel IO Controller B
33 #define AT91C_ID_PIOC   ( 4) // Parallel IO Controller C
34 #define AT91C_ID_PIOD   ( 5) // Parallel IO Controller D
35 #define AT91C_ID_US0    ( 6) // USART 0
36 #define AT91C_ID_US1    ( 7) // USART 1
37 #define AT91C_ID_US2    ( 8) // USART 2
38 #define AT91C_ID_US3    ( 9) // USART 3
39 #define AT91C_ID_MCI    (10) // Multimedia Card Interface
40 #define AT91C_ID_UDP    (11) // USB Device Port
41 #define AT91C_ID_TWI    (12) // Two-Wire Interface
42 #define AT91C_ID_SPI    (13) // Serial Peripheral Interface
43 #define AT91C_ID_SSC0   (14) // Serial Synchronous Controller 0
44 #define AT91C_ID_SSC1   (15) // Serial Synchronous Controller 1
45 #define AT91C_ID_SSC2   (16) // Serial Synchronous Controller 2
46 #define AT91C_ID_TC0    (17) // Timer Counter 0
47 #define AT91C_ID_TC1    (18) // Timer Counter 1
48 #define AT91C_ID_TC2    (19) // Timer Counter 2
49 #define AT91C_ID_TC3    (20) // Timer Counter 3
50 #define AT91C_ID_TC4    (21) // Timer Counter 4
51 #define AT91C_ID_TC5    (22) // Timer Counter 5
52 #define AT91C_ID_UHP    (23) // USB Host port
53 #define AT91C_ID_EMAC   (24) // Ethernet MAC
54 #define AT91C_ID_IRQ0   (25) // Advanced Interrupt Controller (IRQ0)
55 #define AT91C_ID_IRQ1   (26) // Advanced Interrupt Controller (IRQ1)
56 #define AT91C_ID_IRQ2   (27) // Advanced Interrupt Controller (IRQ2)
57 #define AT91C_ID_IRQ3   (28) // Advanced Interrupt Controller (IRQ3)
58 #define AT91C_ID_IRQ4   (29) // Advanced Interrupt Controller (IRQ4)
59 #define AT91C_ID_IRQ5   (30) // Advanced Interrupt Controller (IRQ5)
60 #define AT91C_ID_IRQ6   (31) // Advanced Interrupt Controller (IRQ6)
61 
62 
63 // *****************************************************************************
64 //               BASE ADDRESS DEFINITIONS FOR AT91RM9200
65 // *****************************************************************************
66 #define AT91C_BASE_SYS		(0xFFFFF000) // (SYS) Base Address
67 #define AT91C_BASE_PDC_SPI	(0xFFFE0100) // (PDC_SPI) Base Address
68 #define AT91C_BASE_SPI		(0xFFFE0000) // (SPI) Base Address
69 #define AT91C_BASE_PDC_SSC2	(0xFFFD8100) // (PDC_SSC2) Base Address
70 #define AT91C_BASE_SSC2		(0xFFFD8000) // (SSC2) Base Address
71 #define AT91C_BASE_PDC_SSC1	(0xFFFD4100) // (PDC_SSC1) Base Address
72 #define AT91C_BASE_SSC1		(0xFFFD4000) // (SSC1) Base Address
73 #define AT91C_BASE_PDC_SSC0	(0xFFFD0100) // (PDC_SSC0) Base Address
74 #define AT91C_BASE_SSC0		(0xFFFD0000) // (SSC0) Base Address
75 #define AT91C_BASE_PDC_US3	(0xFFFCC100) // (PDC_US3) Base Address
76 #define AT91C_BASE_US3		(0xFFFCC000) // (US3) Base Address
77 #define AT91C_BASE_PDC_US2	(0xFFFC8100) // (PDC_US2) Base Address
78 #define AT91C_BASE_US2		(0xFFFC8000) // (US2) Base Address
79 #define AT91C_BASE_PDC_US1	(0xFFFC4100) // (PDC_US1) Base Address
80 #define AT91C_BASE_US1		(0xFFFC4000) // (US1) Base Address
81 #define AT91C_BASE_PDC_US0	(0xFFFC0100) // (PDC_US0) Base Address
82 #define AT91C_BASE_US0		(0xFFFC0000) // (US0) Base Address
83 #define AT91C_BASE_EMAC		(0xFFFBC000) // (EMAC) Base Address
84 #define AT91C_BASE_PDC_MCI	(0xFFFB4100) // (PDC_MCI) Base Address
85 #define AT91C_BASE_TWI		(0xFFFB8000) // (TWI) Base Address
86 #define AT91C_BASE_MCI		(0xFFFB4000) // (MCI) Base Address
87 #define AT91C_BASE_UDP		(0xFFFB0000) // (UDP) Base Address
88 #define AT91C_BASE_TC5		(0xFFFA4080) // (TC5) Base Address
89 #define AT91C_BASE_TC4		(0xFFFA4040) // (TC4) Base Address
90 #define AT91C_BASE_TC3		(0xFFFA4000) // (TC3) Base Address
91 #define AT91C_BASE_TCB1		(0xFFFA4000) // (TCB1) Base Address
92 #define AT91C_BASE_TC2		(0xFFFA0080) // (TC2) Base Address
93 #define AT91C_BASE_TC1		(0xFFFA0040) // (TC1) Base Address
94 #define AT91C_BASE_TC0		(0xFFFA0000) // (TC0) Base Address
95 #define AT91C_BASE_TCB0		(0xFFFA0000) // (TCB0) Base Address
96 
97 
98 // *****************************************************************************
99 //               PIO DEFINITIONS FOR AT91RM9200
100 // *****************************************************************************
101 #define AT91C_PIO_PA0		(1 <<  0)
102 #define AT91C_PA0_MISO		(AT91C_PIO_PA0) //  SPI Master In Slave
103 #define AT91C_PA0_PCK3		(AT91C_PIO_PA0) //  PMC Programmable Clock Output 3
104 #define AT91C_PIO_PA1		(1 <<  1)
105 #define AT91C_PA1_MOSI		(AT91C_PIO_PA1) //  SPI Master Out Slave
106 #define AT91C_PA1_PCK0		(AT91C_PIO_PA1) //  PMC Programmable Clock Output 0
107 #define AT91C_PIO_PA2		(1 <<  2)
108 #define AT91C_PA2_SPCK		(AT91C_PIO_PA2) //  SPI Serial Clock
109 #define AT91C_PA2_IRQ4		(AT91C_PIO_PA2) //  AIC Interrupt Input 4
110 #define AT91C_PIO_PA3		(1 <<  3)
111 #define AT91C_PA3_NPCS0		(AT91C_PIO_PA3) //  SPI Peripheral Chip Select 0
112 #define AT91C_PA3_IRQ5		(AT91C_PIO_PA3) //  AIC Interrupt Input 5
113 #define AT91C_PIO_PA4		(1 <<  4)
114 #define AT91C_PA4_NPCS1		(AT91C_PIO_PA4) //  SPI Peripheral Chip Select 1
115 #define AT91C_PA4_PCK1		(AT91C_PIO_PA4) //  PMC Programmable Clock Output 1
116 #define AT91C_PIO_PA5		(1 <<  5)
117 #define AT91C_PA5_NPCS2		(AT91C_PIO_PA5) //  SPI Peripheral Chip Select 2
118 #define AT91C_PA5_TXD3		(AT91C_PIO_PA5) //  USART 3 Transmit Data
119 #define AT91C_PIO_PA6		(1 <<  6)
120 #define AT91C_PA6_NPCS3		(AT91C_PIO_PA6) //  SPI Peripheral Chip Select 3
121 #define AT91C_PA6_RXD3		(AT91C_PIO_PA6) //  USART 3 Receive Data
122 #define AT91C_PIO_PA7		(1 <<  7)
123 #define AT91C_PA7_ETXCK_EREFCK	(AT91C_PIO_PA7) //  Ethernet MAC Transmit Clock/Reference Clock
124 #define AT91C_PA7_PCK2		(AT91C_PIO_PA7) //  PMC Programmable Clock 2
125 #define AT91C_PIO_PA8		(1 <<  8)
126 #define AT91C_PA8_ETXEN		(AT91C_PIO_PA8) //  Ethernet MAC Transmit Enable
127 #define AT91C_PA8_MCCDB		(AT91C_PIO_PA8) //  Multimedia Card B Command
128 #define AT91C_PIO_PA9		(1 <<  9)
129 #define AT91C_PA9_ETX0		(AT91C_PIO_PA9) //  Ethernet MAC Transmit Data 0
130 #define AT91C_PA9_MCDB0		(AT91C_PIO_PA9) //  Multimedia Card B Data 0
131 #define AT91C_PIO_PA10		(1 << 10)
132 #define AT91C_PA10_ETX1		(AT91C_PIO_PA10) //  Ethernet MAC Transmit Data 1
133 #define AT91C_PA10_MCDB1	(AT91C_PIO_PA10) //  Multimedia Card B Data 1
134 #define AT91C_PIO_PA11		(1 << 11)
135 #define AT91C_PA11_ECRS_ECRSDV	(AT91C_PIO_PA11) //  Ethernet MAC Carrier Sense/Carrier Sense and Data Valid
136 #define AT91C_PA11_MCDB2	(AT91C_PIO_PA11) //  Multimedia Card B Data 2
137 #define AT91C_PIO_PA12		(1 << 12)
138 #define AT91C_PA12_ERX0		(AT91C_PIO_PA12) //  Ethernet MAC Receive Data 0
139 #define AT91C_PA12_MCDB3	(AT91C_PIO_PA12) //  Multimedia Card B Data 3
140 #define AT91C_PIO_PA13 		(1 << 13)
141 #define AT91C_PA13_ERX1		(AT91C_PIO_PA13) //  Ethernet MAC Receive Data 1
142 #define AT91C_PA13_TCLK0	(AT91C_PIO_PA13) //  Timer Counter 0 external clock input
143 #define AT91C_PIO_PA14		(1 << 14)
144 #define AT91C_PA14_ERXER	(AT91C_PIO_PA14) //  Ethernet MAC Receive Error
145 #define AT91C_PA14_TCLK1	(AT91C_PIO_PA14) //  Timer Counter 1 external clock input
146 #define AT91C_PIO_PA15		(1 << 15)
147 #define AT91C_PA15_EMDC		(AT91C_PIO_PA15) //  Ethernet MAC Management Data Clock
148 #define AT91C_PA15_TCLK2	(AT91C_PIO_PA15) //  Timer Counter 2 external clock input
149 #define AT91C_PIO_PA16		(1 << 16)
150 #define AT91C_PA16_EMDIO	(AT91C_PIO_PA16) //  Ethernet MAC Management Data Input/Output
151 #define AT91C_PA16_IRQ6		(AT91C_PIO_PA16) //  AIC Interrupt input 6
152 #define AT91C_PIO_PA17		(1 << 17)
153 #define AT91C_PA17_TXD0		(AT91C_PIO_PA17) //  USART 0 Transmit Data
154 #define AT91C_PA17_TIOA0	(AT91C_PIO_PA17) //  Timer Counter 0 Multipurpose Timer I/O Pin A
155 #define AT91C_PIO_PA18		(1 << 18)
156 #define AT91C_PA18_RXD0		(AT91C_PIO_PA18) //  USART 0 Receive Data
157 #define AT91C_PA18_TIOB0	(AT91C_PIO_PA18) //  Timer Counter 0 Multipurpose Timer I/O Pin B
158 #define AT91C_PIO_PA19		(1 << 19)
159 #define AT91C_PA19_SCK0		(AT91C_PIO_PA19) //  USART 0 Serial Clock
160 #define AT91C_PA19_TIOA1	(AT91C_PIO_PA19) //  Timer Counter 1 Multipurpose Timer I/O Pin A
161 #define AT91C_PIO_PA20		(1 << 20)
162 #define AT91C_PA20_CTS0		(AT91C_PIO_PA20) //  USART 0 Clear To Send
163 #define AT91C_PA20_TIOB1	(AT91C_PIO_PA20) //  Timer Counter 1 Multipurpose Timer I/O Pin B
164 #define AT91C_PIO_PA21		(1 << 21)
165 #define AT91C_PA21_RTS0		(AT91C_PIO_PA21) //  USART 0 Ready To Send
166 #define AT91C_PA21_TIOA2	(AT91C_PIO_PA21) //  Timer Counter 2 Multipurpose Timer I/O Pin A
167 #define AT91C_PIO_PA22		(1 << 22)
168 #define AT91C_PA22_RXD2		(AT91C_PIO_PA22) //  USART 2 Receive Data
169 #define AT91C_PA22_TIOB2	(AT91C_PIO_PA22) //  Timer Counter 2 Multipurpose Timer I/O Pin B
170 #define AT91C_PIO_PA23		(1 << 23)
171 #define AT91C_PA23_TXD2		(AT91C_PIO_PA23) //  USART 2 Transmit Data
172 #define AT91C_PA23_IRQ3		(AT91C_PIO_PA23) //  Interrupt input 3
173 #define AT91C_PIO_PA24		(1 << 24)
174 #define AT91C_PA24_SCK2		(AT91C_PIO_PA24) //  USART2 Serial Clock
175 #define AT91C_PA24_PCK1		(AT91C_PIO_PA24) //  PMC Programmable Clock Output 1
176 #define AT91C_PIO_PA25		(1 << 25)
177 #define AT91C_PA25_TWD		(AT91C_PIO_PA25) //  TWI Two-wire Serial Data
178 #define AT91C_PA25_IRQ2		(AT91C_PIO_PA25) //  Interrupt input 2
179 #define AT91C_PIO_PA26		(1 << 26)
180 #define AT91C_PA26_TWCK		(AT91C_PIO_PA26) //  TWI Two-wire Serial Clock
181 #define AT91C_PA26_IRQ1		(AT91C_PIO_PA26) //  Interrupt input 1
182 #define AT91C_PIO_PA27		(1 << 27)
183 #define AT91C_PA27_MCCK		(AT91C_PIO_PA27) //  Multimedia Card Clock
184 #define AT91C_PA27_TCLK3	(AT91C_PIO_PA27) //  Timer Counter 3 External Clock Input
185 #define AT91C_PIO_PA28		(1 << 28)
186 #define AT91C_PA28_MCCDA	(AT91C_PIO_PA28) //  Multimedia Card A Command
187 #define AT91C_PA28_TCLK4	(AT91C_PIO_PA28) //  Timer Counter 4 external Clock Input
188 #define AT91C_PIO_PA29		(1 << 29)
189 #define AT91C_PA29_MCDA0	(AT91C_PIO_PA29) //  Multimedia Card A Data 0
190 #define AT91C_PA29_TCLK5	(AT91C_PIO_PA29) //  Timer Counter 5 external clock input
191 #define AT91C_PIO_PA30		(1 << 30)
192 #define AT91C_PA30_DRXD		(AT91C_PIO_PA30) //  DBGU Debug Receive Data
193 #define AT91C_PA30_CTS2		(AT91C_PIO_PA30) //  USART 2 Clear To Send
194 #define AT91C_PIO_PA31		(1 << 31)
195 #define AT91C_PA31_DTXD		(AT91C_PIO_PA31) //  DBGU Debug Transmit Data
196 #define AT91C_PA31_RTS2		(AT91C_PIO_PA31) //  USART 2 Ready To Send
197 
198 #define AT91C_PIO_PB0		(1 <<  0)
199 #define AT91C_PB0_TF0		(AT91C_PIO_PB0) //  SSC Transmit Frame Sync 0
200 #define AT91C_PB0_RTS3		(AT91C_PIO_PB0) //  USART 3 Ready To Send
201 #define AT91C_PIO_PB1		(1 <<  1)
202 #define AT91C_PB1_TK0		(AT91C_PIO_PB1) //  SSC Transmit Clock 0
203 #define AT91C_PB1_CTS3		(AT91C_PIO_PB1) //  USART 3 Clear To Send
204 #define AT91C_PIO_PB2		(1 <<  2)
205 #define AT91C_PB2_TD0		(AT91C_PIO_PB2) //  SSC Transmit data
206 #define AT91C_PB2_SCK3		(AT91C_PIO_PB2) //  USART 3 Serial Clock
207 #define AT91C_PIO_PB3		(1 <<  3)
208 #define AT91C_PB3_RD0		(AT91C_PIO_PB3) //  SSC Receive Data
209 #define AT91C_PB3_MCDA1		(AT91C_PIO_PB3) //  Multimedia Card A Data 1
210 #define AT91C_PIO_PB4		(1 <<  4)
211 #define AT91C_PB4_RK0		(AT91C_PIO_PB4) //  SSC Receive Clock
212 #define AT91C_PB4_MCDA2		(AT91C_PIO_PB4) //  Multimedia Card A Data 2
213 #define AT91C_PIO_PB5		(1 <<  5)
214 #define AT91C_PB5_RF0		(AT91C_PIO_PB5) //  SSC Receive Frame Sync 0
215 #define AT91C_PB5_MCDA3		(AT91C_PIO_PB5) //  Multimedia Card A Data 3
216 #define AT91C_PIO_PB6		(1 <<  6)
217 #define AT91C_PB6_TF1		(AT91C_PIO_PB6) //  SSC Transmit Frame Sync 1
218 #define AT91C_PB6_TIOA3		(AT91C_PIO_PB6) //  Timer Counter 4 Multipurpose Timer I/O Pin A
219 #define AT91C_PIO_PB7		(1 <<  7)
220 #define AT91C_PB7_TK1		(AT91C_PIO_PB7) //  SSC Transmit Clock 1
221 #define AT91C_PB7_TIOB3		(AT91C_PIO_PB7) //  Timer Counter 3 Multipurpose Timer I/O Pin B
222 #define AT91C_PIO_PB8		(1 <<  8)
223 #define AT91C_PB8_TD1		(AT91C_PIO_PB8) //  SSC Transmit Data 1
224 #define AT91C_PB8_TIOA4		(AT91C_PIO_PB8) //  Timer Counter 4 Multipurpose Timer I/O Pin A
225 #define AT91C_PIO_PB9		(1 <<  9)
226 #define AT91C_PB9_RD1		(AT91C_PIO_PB9) //  SSC Receive Data 1
227 #define AT91C_PB9_TIOB4		(AT91C_PIO_PB9) //  Timer Counter 4 Multipurpose Timer I/O Pin B
228 #define AT91C_PIO_PB10		(1 << 10)
229 #define AT91C_PB10_RK1		(AT91C_PIO_PB10) //  SSC Receive Clock 1
230 #define AT91C_PB10_TIOA5	(AT91C_PIO_PB10) //  Timer Counter 5 Multipurpose Timer I/O Pin A
231 #define AT91C_PIO_PB11		(1 << 11)
232 #define AT91C_PB11_RF1		(AT91C_PIO_PB11) //  SSC Receive Frame Sync 1
233 #define AT91C_PB11_TIOB5	(AT91C_PIO_PB11) //  Timer Counter 5 Multipurpose Timer I/O Pin B
234 #define AT91C_PIO_PB12		(1 << 12)
235 #define AT91C_PB12_TF2		(AT91C_PIO_PB12) //  SSC Transmit Frame Sync 2
236 #define AT91C_PB12_ETX2		(AT91C_PIO_PB12) //  Ethernet MAC Transmit Data 2
237 #define AT91C_PIO_PB13		(1 << 13)
238 #define AT91C_PB13_TK2		(AT91C_PIO_PB13) //  SSC Transmit Clock 2
239 #define AT91C_PB13_ETX3		(AT91C_PIO_PB13) //  Ethernet MAC Transmit Data 3
240 #define AT91C_PIO_PB14		(1 << 14)
241 #define AT91C_PB14_TD2		(AT91C_PIO_PB14) //  SSC Transmit Data 2
242 #define AT91C_PB14_ETXER	(AT91C_PIO_PB14) //  Ethernet MAC Transmikt Coding Error
243 #define AT91C_PIO_PB15		(1 << 15)
244 #define AT91C_PB15_RD2		(AT91C_PIO_PB15) //  SSC Receive Data 2
245 #define AT91C_PB15_ERX2		(AT91C_PIO_PB15) //  Ethernet MAC Receive Data 2
246 #define AT91C_PIO_PB16		(1 << 16)
247 #define AT91C_PB16_RK2		(AT91C_PIO_PB16) //  SSC Receive Clock 2
248 #define AT91C_PB16_ERX3		(AT91C_PIO_PB16) //  Ethernet MAC Receive Data 3
249 #define AT91C_PIO_PB17		(1 << 17)
250 #define AT91C_PB17_RF2		(AT91C_PIO_PB17) //  SSC Receive Frame Sync 2
251 #define AT91C_PB17_ERXDV	(AT91C_PIO_PB17) //  Ethernet MAC Receive Data Valid
252 #define AT91C_PIO_PB18		(1 << 18)
253 #define AT91C_PB18_RI1		(AT91C_PIO_PB18) //  USART 1 Ring Indicator
254 #define AT91C_PB18_ECOL		(AT91C_PIO_PB18) //  Ethernet MAC Collision Detected
255 #define AT91C_PIO_PB19		(1 << 19)
256 #define AT91C_PB19_DTR1		(AT91C_PIO_PB19) //  USART 1 Data Terminal ready
257 #define AT91C_PB19_ERXCK	(AT91C_PIO_PB19) //  Ethernet MAC Receive Clock
258 #define AT91C_PIO_PB20		(1 << 20)
259 #define AT91C_PB20_TXD1		(AT91C_PIO_PB20) //  USART 1 Transmit Data
260 #define AT91C_PIO_PB21		(1 << 21)
261 #define AT91C_PB21_RXD1		(AT91C_PIO_PB21) //  USART 1 Receive Data
262 #define AT91C_PIO_PB22		(1 << 22)
263 #define AT91C_PB22_SCK1		(AT91C_PIO_PB22) //  USART1 Serial Clock
264 #define AT91C_PIO_PB23		(1 << 23)
265 #define AT91C_PB23_DCD1		(AT91C_PIO_PB23) //  USART 1 Data Carrier Detect
266 #define AT91C_PIO_PB24		(1 << 24)
267 #define AT91C_PB24_CTS1		(AT91C_PIO_PB24) //  USART 1 Clear To Send
268 #define AT91C_PIO_PB25		(1 << 25)
269 #define AT91C_PB25_DSR1		(AT91C_PIO_PB25) //  USART 1 Data Set ready
270 #define AT91C_PB25_EF100	(AT91C_PIO_PB25) //  Ethernet MAC Force 100 Mbits/sec
271 #define AT91C_PIO_PB26		(1 << 26)
272 #define AT91C_PB26_RTS1		(AT91C_PIO_PB26) //  USART 1 Ready To Send
273 #define AT91C_PIO_PB27		(1 << 27)
274 #define AT91C_PB27_PCK0		(AT91C_PIO_PB27) //  PMC Programmable Clock Output 0
275 #define AT91C_PIO_PB28		(1 << 28)
276 #define AT91C_PB28_FIQ		(AT91C_PIO_PB28) //  AIC Fast Interrupt Input
277 #define AT91C_PIO_PB29		(1 << 29)
278 #define AT91C_PB29_IRQ0		(AT91C_PIO_PB29) //  Interrupt input 0
279 
280 #define AT91C_PIO_PC0		(1 <<  0)
281 #define AT91C_PC0_BFCK		(AT91C_PIO_PC0) //  Burst Flash Clock
282 #define AT91C_PIO_PC1		(1 <<  1)
283 #define AT91C_PC1_BFRDY_SMOE	(AT91C_PIO_PC1) //  Burst Flash Ready
284 #define AT91C_PIO_PC2		(1 <<  2)
285 #define AT91C_PC2_BFAVD		(AT91C_PIO_PC2) //  Burst Flash Address Valid
286 #define AT91C_PIO_PC3		(1 <<  3)
287 #define AT91C_PC3_BFBAA_SMWE	(AT91C_PIO_PC3) //  Burst Flash Address Advance / SmartMedia Write Enable
288 #define AT91C_PIO_PC4		(1 <<  4)
289 #define AT91C_PC4_BFOE		(AT91C_PIO_PC4) //  Burst Flash Output Enable
290 #define AT91C_PIO_PC5		(1 <<  5)
291 #define AT91C_PC5_BFWE		(AT91C_PIO_PC5) //  Burst Flash Write Enable
292 #define AT91C_PIO_PC6		(1 <<  6)
293 #define AT91C_PC6_NWAIT		(AT91C_PIO_PC6) //  NWAIT
294 #define AT91C_PIO_PC7		(1 <<  7)
295 #define AT91C_PC7_A23		(AT91C_PIO_PC7) //  Address Bus[23]
296 #define AT91C_PIO_PC8		(1 <<  8)
297 #define AT91C_PC8_A24		(AT91C_PIO_PC8) //  Address Bus[24]
298 #define AT91C_PIO_PC9		(1 <<  9)
299 #define AT91C_PC9_A25_CFRNW	(AT91C_PIO_PC9) //  Address Bus[25] /  Compact Flash Read Not Write
300 #define AT91C_PIO_PC10		(1 << 10)
301 #define AT91C_PC10_NCS4_CFCS	(AT91C_PIO_PC10) //  Compact Flash Chip Select
302 #define AT91C_PIO_PC11		(1 << 11)
303 #define AT91C_PC11_NCS5_CFCE1	(AT91C_PIO_PC11) //  Chip Select 5 / Compact Flash Chip Enable 1
304 #define AT91C_PIO_PC12		(1 << 12)
305 #define AT91C_PC12_NCS6_CFCE2	(AT91C_PIO_PC12) //  Chip Select 6 / Compact Flash Chip Enable 2
306 #define AT91C_PIO_PC13		(1 << 13)
307 #define AT91C_PC13_NCS7		(AT91C_PIO_PC13) //  Chip Select 7
308 #define AT91C_PIO_PC14		(1 << 14)
309 #define AT91C_PIO_PC15		(1 << 15)
310 #define AT91C_PIO_PC16		(1 << 16)
311 #define AT91C_PC16_D16		(AT91C_PIO_PC16) //  Data Bus [16]
312 #define AT91C_PIO_PC17		(1 << 17)
313 #define AT91C_PC17_D17		(AT91C_PIO_PC17) //  Data Bus [17]
314 #define AT91C_PIO_PC18		(1 << 18)
315 #define AT91C_PC18_D18		(AT91C_PIO_PC18) //  Data Bus [18]
316 #define AT91C_PIO_PC19		(1 << 19)
317 #define AT91C_PC19_D19		(AT91C_PIO_PC19) //  Data Bus [19]
318 #define AT91C_PIO_PC20		(1 << 20)
319 #define AT91C_PC20_D20		(AT91C_PIO_PC20) //  Data Bus [20]
320 #define AT91C_PIO_PC21		(1 << 21)
321 #define AT91C_PC21_D21		(AT91C_PIO_PC21) //  Data Bus [21]
322 #define AT91C_PIO_PC22		(1 << 22)
323 #define AT91C_PC22_D22		(AT91C_PIO_PC22) //  Data Bus [22]
324 #define AT91C_PIO_PC23		(1 << 23)
325 #define AT91C_PC23_D23		(AT91C_PIO_PC23) //  Data Bus [23]
326 #define AT91C_PIO_PC24		(1 << 24)
327 #define AT91C_PC24_D24		(AT91C_PIO_PC24) //  Data Bus [24]
328 #define AT91C_PIO_PC25		(1 << 25)
329 #define AT91C_PC25_D25		(AT91C_PIO_PC25) //  Data Bus [25]
330 #define AT91C_PIO_PC26		(1 << 26)
331 #define AT91C_PC26_D26		(AT91C_PIO_PC26) //  Data Bus [26]
332 #define AT91C_PIO_PC27		(1 << 27)
333 #define AT91C_PC27_D27		(AT91C_PIO_PC27) //  Data Bus [27]
334 #define AT91C_PIO_PC28		(1 << 28)
335 #define AT91C_PC28_D28		(AT91C_PIO_PC28) //  Data Bus [28]
336 #define AT91C_PIO_PC29		(1 << 29)
337 #define AT91C_PC29_D29		(AT91C_PIO_PC29) //  Data Bus [29]
338 #define AT91C_PIO_PC30		(1 << 30)
339 #define AT91C_PC30_D30		(AT91C_PIO_PC30) //  Data Bus [30]
340 #define AT91C_PIO_PC31		(1 << 31)
341 #define AT91C_PC31_D31		(AT91C_PIO_PC31) //  Data Bus [31]
342 
343 #define AT91C_PIO_PD0		(1 <<  0)
344 #define AT91C_PD0_ETX0		(AT91C_PIO_PD0) //  Ethernet MAC Transmit Data 0
345 #define AT91C_PIO_PD1		(1 <<  1)
346 #define AT91C_PD1_ETX1		(AT91C_PIO_PD1) //  Ethernet MAC Transmit Data 1
347 #define AT91C_PIO_PD2		(1 <<  2)
348 #define AT91C_PD2_ETX2		(AT91C_PIO_PD2) //  Ethernet MAC Transmit Data 2
349 #define AT91C_PIO_PD3		(1 <<  3)
350 #define AT91C_PD3_ETX3		(AT91C_PIO_PD3) //  Ethernet MAC Transmit Data 3
351 #define AT91C_PIO_PD4		(1 <<  4)
352 #define AT91C_PD4_ETXEN		(AT91C_PIO_PD4) //  Ethernet MAC Transmit Enable
353 #define AT91C_PIO_PD5		(1 <<  5)
354 #define AT91C_PD5_ETXER		(AT91C_PIO_PD5) //  Ethernet MAC Transmit Coding Error
355 #define AT91C_PIO_PD6		(1 <<  6)
356 #define AT91C_PD6_DTXD		(AT91C_PIO_PD6) //  DBGU Debug Transmit Data
357 #define AT91C_PIO_PD7		(1 <<  7)
358 #define AT91C_PD7_PCK0		(AT91C_PIO_PD7) //  PMC Programmable Clock Output 0
359 #define AT91C_PD7_TSYNC		(AT91C_PIO_PD7) //  ETM Synchronization signal
360 #define AT91C_PIO_PD8		(1 <<  8)
361 #define AT91C_PD8_PCK1		(AT91C_PIO_PD8) //  PMC Programmable Clock Output 1
362 #define AT91C_PD8_TCLK		(AT91C_PIO_PD8) //  ETM Trace Clock signal
363 #define AT91C_PIO_PD9		(1 <<  9)
364 #define AT91C_PD9_PCK2		(AT91C_PIO_PD9) //  PMC Programmable Clock 2
365 #define AT91C_PD9_TPS0		(AT91C_PIO_PD9) //  ETM ARM9 pipeline status 0
366 #define AT91C_PIO_PD10		(1 << 10)
367 #define AT91C_PD10_PCK3		(AT91C_PIO_PD10) //  PMC Programmable Clock Output 3
368 #define AT91C_PD10_TPS1		(AT91C_PIO_PD10) //  ETM ARM9 pipeline status 1
369 #define AT91C_PIO_PD11		(1 << 11)
370 #define AT91C_PD11_TPS2		(AT91C_PIO_PD11) //  ETM ARM9 pipeline status 2
371 #define AT91C_PIO_PD12		(1 << 12)
372 #define AT91C_PD12_TPK0		(AT91C_PIO_PD12) //  ETM Trace Packet 0
373 #define AT91C_PIO_PD13		(1 << 13)
374 #define AT91C_PD13_TPK1		(AT91C_PIO_PD13) //  ETM Trace Packet 1
375 #define AT91C_PIO_PD14		(1 << 14)
376 #define AT91C_PD14_TPK2		(AT91C_PIO_PD14) //  ETM Trace Packet 2
377 #define AT91C_PIO_PD15		(1 << 15)
378 #define AT91C_PD15_TD0		(AT91C_PIO_PD15) //  SSC Transmit data
379 #define AT91C_PD15_TPK3		(AT91C_PIO_PD15) //  ETM Trace Packet 3
380 #define AT91C_PIO_PD16		(1 << 16)
381 #define AT91C_PD16_TD1		(AT91C_PIO_PD16) //  SSC Transmit Data 1
382 #define AT91C_PD16_TPK4		(AT91C_PIO_PD16) //  ETM Trace Packet 4
383 #define AT91C_PIO_PD17		(1 << 17)
384 #define AT91C_PD17_TD2		(AT91C_PIO_PD17) //  SSC Transmit Data 2
385 #define AT91C_PD17_TPK5		(AT91C_PIO_PD17) //  ETM Trace Packet 5
386 #define AT91C_PIO_PD18		(1 << 18)
387 #define AT91C_PD18_NPCS1	(AT91C_PIO_PD18) //  SPI Peripheral Chip Select 1
388 #define AT91C_PD18_TPK6		(AT91C_PIO_PD18) //  ETM Trace Packet 6
389 #define AT91C_PIO_PD19		(1 << 19)
390 #define AT91C_PD19_NPCS2	(AT91C_PIO_PD19) //  SPI Peripheral Chip Select 2
391 #define AT91C_PD19_TPK7		(AT91C_PIO_PD19) //  ETM Trace Packet 7
392 #define AT91C_PIO_PD20		(1 << 20)
393 #define AT91C_PD20_NPCS3	(AT91C_PIO_PD20) //  SPI Peripheral Chip Select 3
394 #define AT91C_PD20_TPK8		(AT91C_PIO_PD20) //  ETM Trace Packet 8
395 #define AT91C_PIO_PD21		(1 << 21)
396 #define AT91C_PD21_RTS0		(AT91C_PIO_PD21) //  Usart 0 Ready To Send
397 #define AT91C_PD21_TPK9		(AT91C_PIO_PD21) //  ETM Trace Packet 9
398 #define AT91C_PIO_PD22		(1 << 22)
399 #define AT91C_PD22_RTS1		(AT91C_PIO_PD22) //  Usart 0 Ready To Send
400 #define AT91C_PD22_TPK10	(AT91C_PIO_PD22) //  ETM Trace Packet 10
401 #define AT91C_PIO_PD23		(1 << 23)
402 #define AT91C_PD23_RTS2		(AT91C_PIO_PD23) //  USART 2 Ready To Send
403 #define AT91C_PD23_TPK11	(AT91C_PIO_PD23) //  ETM Trace Packet 11
404 #define AT91C_PIO_PD24		(1 << 24)
405 #define AT91C_PD24_RTS3		(AT91C_PIO_PD24) //  USART 3 Ready To Send
406 #define AT91C_PD24_TPK12	(AT91C_PIO_PD24) //  ETM Trace Packet 12
407 #define AT91C_PIO_PD25		(1 << 25)
408 #define AT91C_PD25_DTR1		(AT91C_PIO_PD25) //  USART 1 Data Terminal ready
409 #define AT91C_PD25_TPK13	(AT91C_PIO_PD25) //  ETM Trace Packet 13
410 #define AT91C_PIO_PD26		(1 << 26)
411 #define AT91C_PD26_TPK14	(AT91C_PIO_PD26) //  ETM Trace Packet 14
412 #define AT91C_PIO_PD27		(1 << 27)
413 #define AT91C_PD27_TPK15	(AT91C_PIO_PD27) //  ETM Trace Packet 15
414 
415 #endif
416