Robobo
pio_sam3u4e.h
1 /* ----------------------------------------------------------------------------
2  * SAM Software Package License
3  * ----------------------------------------------------------------------------
4  * Copyright (c) 2012, Atmel Corporation
5  *
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following condition is met:
10  *
11  * - Redistributions of source code must retain the above copyright notice,
12  * this list of conditions and the disclaimer below.
13  *
14  * Atmel's name may not be used to endorse or promote products derived from
15  * this software without specific prior written permission.
16  *
17  * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
18  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
20  * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
21  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
23  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  * ----------------------------------------------------------------------------
28  */
29 
30 #ifndef _SAM3U4E_PIO_
31 #define _SAM3U4E_PIO_
32 
33 #define PIO_PA0 (1u << 0)
34 #define PIO_PA1 (1u << 1)
35 #define PIO_PA2 (1u << 2)
36 #define PIO_PA3 (1u << 3)
37 #define PIO_PA4 (1u << 4)
38 #define PIO_PA5 (1u << 5)
39 #define PIO_PA6 (1u << 6)
40 #define PIO_PA7 (1u << 7)
41 #define PIO_PA8 (1u << 8)
42 #define PIO_PA9 (1u << 9)
43 #define PIO_PA10 (1u << 10)
44 #define PIO_PA11 (1u << 11)
45 #define PIO_PA12 (1u << 12)
46 #define PIO_PA13 (1u << 13)
47 #define PIO_PA14 (1u << 14)
48 #define PIO_PA15 (1u << 15)
49 #define PIO_PA16 (1u << 16)
50 #define PIO_PA17 (1u << 17)
51 #define PIO_PA18 (1u << 18)
52 #define PIO_PA19 (1u << 19)
53 #define PIO_PA20 (1u << 20)
54 #define PIO_PA21 (1u << 21)
55 #define PIO_PA22 (1u << 22)
56 #define PIO_PA23 (1u << 23)
57 #define PIO_PA24 (1u << 24)
58 #define PIO_PA25 (1u << 25)
59 #define PIO_PA26 (1u << 26)
60 #define PIO_PA27 (1u << 27)
61 #define PIO_PA28 (1u << 28)
62 #define PIO_PA29 (1u << 29)
63 #define PIO_PA30 (1u << 30)
64 #define PIO_PA31 (1u << 31)
65 #define PIO_PB0 (1u << 0)
66 #define PIO_PB1 (1u << 1)
67 #define PIO_PB2 (1u << 2)
68 #define PIO_PB3 (1u << 3)
69 #define PIO_PB4 (1u << 4)
70 #define PIO_PB5 (1u << 5)
71 #define PIO_PB6 (1u << 6)
72 #define PIO_PB7 (1u << 7)
73 #define PIO_PB8 (1u << 8)
74 #define PIO_PB9 (1u << 9)
75 #define PIO_PB10 (1u << 10)
76 #define PIO_PB11 (1u << 11)
77 #define PIO_PB12 (1u << 12)
78 #define PIO_PB13 (1u << 13)
79 #define PIO_PB14 (1u << 14)
80 #define PIO_PB15 (1u << 15)
81 #define PIO_PB16 (1u << 16)
82 #define PIO_PB17 (1u << 17)
83 #define PIO_PB18 (1u << 18)
84 #define PIO_PB19 (1u << 19)
85 #define PIO_PB20 (1u << 20)
86 #define PIO_PB21 (1u << 21)
87 #define PIO_PB22 (1u << 22)
88 #define PIO_PB23 (1u << 23)
89 #define PIO_PB24 (1u << 24)
90 #define PIO_PB25 (1u << 25)
91 #define PIO_PB26 (1u << 26)
92 #define PIO_PB27 (1u << 27)
93 #define PIO_PB28 (1u << 28)
94 #define PIO_PB29 (1u << 29)
95 #define PIO_PB30 (1u << 30)
96 #define PIO_PB31 (1u << 31)
97 #define PIO_PC0 (1u << 0)
98 #define PIO_PC1 (1u << 1)
99 #define PIO_PC2 (1u << 2)
100 #define PIO_PC3 (1u << 3)
101 #define PIO_PC4 (1u << 4)
102 #define PIO_PC5 (1u << 5)
103 #define PIO_PC6 (1u << 6)
104 #define PIO_PC7 (1u << 7)
105 #define PIO_PC8 (1u << 8)
106 #define PIO_PC9 (1u << 9)
107 #define PIO_PC10 (1u << 10)
108 #define PIO_PC11 (1u << 11)
109 #define PIO_PC12 (1u << 12)
110 #define PIO_PC13 (1u << 13)
111 #define PIO_PC14 (1u << 14)
112 #define PIO_PC15 (1u << 15)
113 #define PIO_PC16 (1u << 16)
114 #define PIO_PC17 (1u << 17)
115 #define PIO_PC18 (1u << 18)
116 #define PIO_PC19 (1u << 19)
117 #define PIO_PC20 (1u << 20)
118 #define PIO_PC21 (1u << 21)
119 #define PIO_PC22 (1u << 22)
120 #define PIO_PC23 (1u << 23)
121 #define PIO_PC24 (1u << 24)
122 #define PIO_PC25 (1u << 25)
123 #define PIO_PC26 (1u << 26)
124 #define PIO_PC27 (1u << 27)
125 #define PIO_PC28 (1u << 28)
126 #define PIO_PC29 (1u << 29)
127 #define PIO_PC30 (1u << 30)
128 #define PIO_PC31 (1u << 31)
129 /* ========== Pio definition for ADC peripheral ========== */
130 #define PIO_PB5X1_AD0 (1u << 5)
131 #define PIO_PB6X1_AD1 (1u << 6)
132 #define PIO_PB7X1_AD2 (1u << 7)
133 #define PIO_PB8X1_AD3 (1u << 8)
134 #define PIO_PC28X1_AD4 (1u << 28)
135 #define PIO_PC29X1_AD5 (1u << 29)
136 #define PIO_PC30X1_AD6 (1u << 30)
137 #define PIO_PC31X1_AD7 (1u << 31)
138 #define PIO_PA17B_ADTRG (1u << 17)
139 /* ========== Pio definition for ADC12B peripheral ========== */
140 #define PIO_PA22X1_AD12B0 (1u << 22)
141 #define PIO_PA30X1_AD12B1 (1u << 30)
142 #define PIO_PB3X1_AD12B2 (1u << 3)
143 #define PIO_PB4X1_AD12B3 (1u << 4)
144 #define PIO_PC15X1_AD12B4 (1u << 15)
145 #define PIO_PC16X1_AD12B5 (1u << 16)
146 #define PIO_PC17X1_AD12B6 (1u << 17)
147 #define PIO_PC18X1_AD12B7 (1u << 18)
148 #define PIO_PA2B_AD12BTRG (1u << 2)
149 /* ========== Pio definition for EBI peripheral ========== */
150 #define PIO_PB7B_A0 (1u << 7)
151 #define PIO_PB7B_NBS0 (1u << 7)
152 #define PIO_PB8B_A1 (1u << 8)
153 #define PIO_PC8A_A10 (1u << 8)
154 #define PIO_PC9A_A11 (1u << 9)
155 #define PIO_PC10A_A12 (1u << 10)
156 #define PIO_PC11A_A13 (1u << 11)
157 #define PIO_PC20A_A14 (1u << 20)
158 #define PIO_PC21A_A15 (1u << 21)
159 #define PIO_PC22A_A16 (1u << 22)
160 #define PIO_PC23A_A17 (1u << 23)
161 #define PIO_PC24A_A18 (1u << 24)
162 #define PIO_PC25A_A19 (1u << 25)
163 #define PIO_PB0B_A2 (1u << 0)
164 #define PIO_PC0A_A2 (1u << 0)
165 #define PIO_PC13A_A2 (1u << 13)
166 #define PIO_PC26A_A20 (1u << 26)
167 #define PIO_PB21A_A21 (1u << 21)
168 #define PIO_PB21A_NANDALE (1u << 21)
169 #define PIO_PB22A_A22 (1u << 22)
170 #define PIO_PB22A_NANDCLE (1u << 22)
171 #define PIO_PC27A_A23 (1u << 27)
172 #define PIO_PB1B_A3 (1u << 1)
173 #define PIO_PC1A_A3 (1u << 1)
174 #define PIO_PC14A_A3 (1u << 14)
175 #define PIO_PB2B_A4 (1u << 2)
176 #define PIO_PC2A_A4 (1u << 2)
177 #define PIO_PB3B_A5 (1u << 3)
178 #define PIO_PC3A_A5 (1u << 3)
179 #define PIO_PB4B_A6 (1u << 4)
180 #define PIO_PC4A_A6 (1u << 4)
181 #define PIO_PB5B_A7 (1u << 5)
182 #define PIO_PC5A_A7 (1u << 5)
183 #define PIO_PC6A_A8 (1u << 6)
184 #define PIO_PC7A_A9 (1u << 7)
185 #define PIO_PB9A_D0 (1u << 9)
186 #define PIO_PB10A_D1 (1u << 10)
187 #define PIO_PB27A_D10 (1u << 27)
188 #define PIO_PB28A_D11 (1u << 28)
189 #define PIO_PB29A_D12 (1u << 29)
190 #define PIO_PB30A_D13 (1u << 30)
191 #define PIO_PB31A_D14 (1u << 31)
192 #define PIO_PB6B_D15 (1u << 6)
193 #define PIO_PB11A_D2 (1u << 11)
194 #define PIO_PB12A_D3 (1u << 12)
195 #define PIO_PB13A_D4 (1u << 13)
196 #define PIO_PB14A_D5 (1u << 14)
197 #define PIO_PB15A_D6 (1u << 15)
198 #define PIO_PB16A_D7 (1u << 16)
199 #define PIO_PB25A_D8 (1u << 25)
200 #define PIO_PB26A_D9 (1u << 26)
201 #define PIO_PB17A_NANDOE (1u << 17)
202 #define PIO_PB24A_NANDRDY (1u << 24)
203 #define PIO_PB18A_NANDWE (1u << 18)
204 #define PIO_PB20A_NCS0 (1u << 20)
205 #define PIO_PA16B_NCS1 (1u << 16)
206 #define PIO_PC12A_NCS1 (1u << 12)
207 #define PIO_PC16A_NCS2 (1u << 16)
208 #define PIO_PC17A_NCS3 (1u << 17)
209 #define PIO_PB19A_NRD (1u << 19)
210 #define PIO_PC18A_NWAIT (1u << 18)
211 #define PIO_PB23A_NWR0 (1u << 23)
212 #define PIO_PB23A_NWE (1u << 23)
213 #define PIO_PC15A_NWR1 (1u << 15)
214 #define PIO_PC15A_NBS1 (1u << 15)
215 /* ========== Pio definition for HSMCI peripheral ========== */
216 #define PIO_PA4A_MCCDA (1u << 4)
217 #define PIO_PA3A_MCCK (1u << 3)
218 #define PIO_PA5A_MCDA0 (1u << 5)
219 #define PIO_PA6A_MCDA1 (1u << 6)
220 #define PIO_PA7A_MCDA2 (1u << 7)
221 #define PIO_PA8A_MCDA3 (1u << 8)
222 #define PIO_PC28B_MCDA4 (1u << 28)
223 #define PIO_PC29B_MCDA5 (1u << 29)
224 #define PIO_PC30B_MCDA6 (1u << 30)
225 #define PIO_PC31B_MCDA7 (1u << 31)
226 /* ========== Pio definition for PMC peripheral ========== */
227 #define PIO_PA21B_PCK0 (1u << 21)
228 #define PIO_PA27B_PCK0 (1u << 27)
229 #define PIO_PA3B_PCK1 (1u << 3)
230 #define PIO_PB24B_PCK1 (1u << 24)
231 #define PIO_PB23B_PCK2 (1u << 23)
232 /* ========== Pio definition for PWM peripheral ========== */
233 #define PIO_PA11B_PWMFI0 (1u << 11)
234 #define PIO_PA12B_PWMFI1 (1u << 12)
235 #define PIO_PA18B_PWMFI2 (1u << 18)
236 #define PIO_PA4B_PWMH0 (1u << 4)
237 #define PIO_PA28B_PWMH0 (1u << 28)
238 #define PIO_PB0A_PWMH0 (1u << 0)
239 #define PIO_PB13B_PWMH0 (1u << 13)
240 #define PIO_PC24B_PWMH0 (1u << 24)
241 #define PIO_PA5B_PWMH1 (1u << 5)
242 #define PIO_PA29B_PWMH1 (1u << 29)
243 #define PIO_PB1A_PWMH1 (1u << 1)
244 #define PIO_PB14B_PWMH1 (1u << 14)
245 #define PIO_PC25B_PWMH1 (1u << 25)
246 #define PIO_PA6B_PWMH2 (1u << 6)
247 #define PIO_PA15B_PWMH2 (1u << 15)
248 #define PIO_PB2A_PWMH2 (1u << 2)
249 #define PIO_PB15B_PWMH2 (1u << 15)
250 #define PIO_PC26B_PWMH2 (1u << 26)
251 #define PIO_PA20B_PWMH3 (1u << 20)
252 #define PIO_PB3A_PWMH3 (1u << 3)
253 #define PIO_PB16B_PWMH3 (1u << 16)
254 #define PIO_PC27B_PWMH3 (1u << 27)
255 #define PIO_PA7B_PWML0 (1u << 7)
256 #define PIO_PB17B_PWML0 (1u << 17)
257 #define PIO_PB25B_PWML0 (1u << 25)
258 #define PIO_PC6B_PWML0 (1u << 6)
259 #define PIO_PC29A_PWML0 (1u << 29)
260 #define PIO_PA8B_PWML1 (1u << 8)
261 #define PIO_PB18B_PWML1 (1u << 18)
262 #define PIO_PB26B_PWML1 (1u << 26)
263 #define PIO_PC7B_PWML1 (1u << 7)
264 #define PIO_PC30A_PWML1 (1u << 30)
265 #define PIO_PA9B_PWML2 (1u << 9)
266 #define PIO_PB19B_PWML2 (1u << 19)
267 #define PIO_PB27B_PWML2 (1u << 27)
268 #define PIO_PC8B_PWML2 (1u << 8)
269 #define PIO_PC31A_PWML2 (1u << 31)
270 #define PIO_PA10B_PWML3 (1u << 10)
271 #define PIO_PB20B_PWML3 (1u << 20)
272 #define PIO_PB28B_PWML3 (1u << 28)
273 #define PIO_PC9B_PWML3 (1u << 9)
274 #define PIO_PC16B_PWML3 (1u << 16)
275 /* ========== Pio definition for SPI peripheral ========== */
276 #define PIO_PA13A_MISO (1u << 13)
277 #define PIO_PA14A_MOSI (1u << 14)
278 #define PIO_PA16A_NPCS0 (1u << 16)
279 #define PIO_PA0B_NPCS1 (1u << 0)
280 #define PIO_PC3B_NPCS1 (1u << 3)
281 #define PIO_PC19B_NPCS1 (1u << 19)
282 #define PIO_PA1B_NPCS2 (1u << 1)
283 #define PIO_PC4B_NPCS2 (1u << 4)
284 #define PIO_PC14B_NPCS2 (1u << 14)
285 #define PIO_PA19B_NPCS3 (1u << 19)
286 #define PIO_PC5B_NPCS3 (1u << 5)
287 #define PIO_PA15A_SPCK (1u << 15)
288 /* ========== Pio definition for SSC peripheral ========== */
289 #define PIO_PA27A_RD (1u << 27)
290 #define PIO_PA31A_RF (1u << 31)
291 #define PIO_PA29A_RK (1u << 29)
292 #define PIO_PA26A_TD (1u << 26)
293 #define PIO_PA30A_TF (1u << 30)
294 #define PIO_PA28A_TK (1u << 28)
295 /* ========== Pio definition for TC0 peripheral ========== */
296 #define PIO_PA2A_TCLK0 (1u << 2)
297 #define PIO_PB4A_TCLK1 (1u << 4)
298 #define PIO_PA26B_TCLK2 (1u << 26)
299 #define PIO_PA1A_TIOA0 (1u << 1)
300 #define PIO_PB5A_TIOA1 (1u << 5)
301 #define PIO_PA30B_TIOA2 (1u << 30)
302 #define PIO_PA0A_TIOB0 (1u << 0)
303 #define PIO_PB6A_TIOB1 (1u << 6)
304 #define PIO_PA31B_TIOB2 (1u << 31)
305 /* ========== Pio definition for TWI0 peripheral ========== */
306 #define PIO_PA10A_TWCK0 (1u << 10)
307 #define PIO_PA9A_TWD0 (1u << 9)
308 /* ========== Pio definition for TWI1 peripheral ========== */
309 #define PIO_PA25A_TWCK1 (1u << 25)
310 #define PIO_PA24A_TWD1 (1u << 24)
311 /* ========== Pio definition for UART peripheral ========== */
312 #define PIO_PA11A_URXD (1u << 11)
313 #define PIO_PA12A_UTXD (1u << 12)
314 /* ========== Pio definition for USART0 peripheral ========== */
315 #define PIO_PB8A_CTS0 (1u << 8)
316 #define PIO_PB11B_DCD0 (1u << 11)
317 #define PIO_PB10B_DSR0 (1u << 10)
318 #define PIO_PB9B_DTR0 (1u << 9)
319 #define PIO_PB12B_RI0 (1u << 12)
320 #define PIO_PB7A_RTS0 (1u << 7)
321 #define PIO_PA19A_RXD0 (1u << 19)
322 #define PIO_PA17A_SCK0 (1u << 17)
323 #define PIO_PA18A_TXD0 (1u << 18)
324 /* ========== Pio definition for USART1 peripheral ========== */
325 #define PIO_PA23B_CTS1 (1u << 23)
326 #define PIO_PA22B_RTS1 (1u << 22)
327 #define PIO_PA21A_RXD1 (1u << 21)
328 #define PIO_PA24B_SCK1 (1u << 24)
329 #define PIO_PA20A_TXD1 (1u << 20)
330 /* ========== Pio definition for USART2 peripheral ========== */
331 #define PIO_PB22B_CTS2 (1u << 22)
332 #define PIO_PB21B_RTS2 (1u << 21)
333 #define PIO_PA23A_RXD2 (1u << 23)
334 #define PIO_PA25B_SCK2 (1u << 25)
335 #define PIO_PA22A_TXD2 (1u << 22)
336 /* ========== Pio definition for USART3 peripheral ========== */
337 #define PIO_PC10B_CTS3 (1u << 10)
338 #define PIO_PC11B_RTS3 (1u << 11)
339 #define PIO_PC13B_RXD3 (1u << 13)
340 #define PIO_PC19A_SCK3 (1u << 19)
341 #define PIO_PC12B_TXD3 (1u << 12)
342 /* ========== Pio indexes ========== */
343 #define PIO_PA0_IDX 0
344 #define PIO_PA1_IDX 1
345 #define PIO_PA2_IDX 2
346 #define PIO_PA3_IDX 3
347 #define PIO_PA4_IDX 4
348 #define PIO_PA5_IDX 5
349 #define PIO_PA6_IDX 6
350 #define PIO_PA7_IDX 7
351 #define PIO_PA8_IDX 8
352 #define PIO_PA9_IDX 9
353 #define PIO_PA10_IDX 10
354 #define PIO_PA11_IDX 11
355 #define PIO_PA12_IDX 12
356 #define PIO_PA13_IDX 13
357 #define PIO_PA14_IDX 14
358 #define PIO_PA15_IDX 15
359 #define PIO_PA16_IDX 16
360 #define PIO_PA17_IDX 17
361 #define PIO_PA18_IDX 18
362 #define PIO_PA19_IDX 19
363 #define PIO_PA20_IDX 20
364 #define PIO_PA21_IDX 21
365 #define PIO_PA22_IDX 22
366 #define PIO_PA23_IDX 23
367 #define PIO_PA24_IDX 24
368 #define PIO_PA25_IDX 25
369 #define PIO_PA26_IDX 26
370 #define PIO_PA27_IDX 27
371 #define PIO_PA28_IDX 28
372 #define PIO_PA29_IDX 29
373 #define PIO_PA30_IDX 30
374 #define PIO_PA31_IDX 31
375 #define PIO_PB0_IDX 32
376 #define PIO_PB1_IDX 33
377 #define PIO_PB2_IDX 34
378 #define PIO_PB3_IDX 35
379 #define PIO_PB4_IDX 36
380 #define PIO_PB5_IDX 37
381 #define PIO_PB6_IDX 38
382 #define PIO_PB7_IDX 39
383 #define PIO_PB8_IDX 40
384 #define PIO_PB9_IDX 41
385 #define PIO_PB10_IDX 42
386 #define PIO_PB11_IDX 43
387 #define PIO_PB12_IDX 44
388 #define PIO_PB13_IDX 45
389 #define PIO_PB14_IDX 46
390 #define PIO_PB15_IDX 47
391 #define PIO_PB16_IDX 48
392 #define PIO_PB17_IDX 49
393 #define PIO_PB18_IDX 50
394 #define PIO_PB19_IDX 51
395 #define PIO_PB20_IDX 52
396 #define PIO_PB21_IDX 53
397 #define PIO_PB22_IDX 54
398 #define PIO_PB23_IDX 55
399 #define PIO_PB24_IDX 56
400 #define PIO_PB25_IDX 57
401 #define PIO_PB26_IDX 58
402 #define PIO_PB27_IDX 59
403 #define PIO_PB28_IDX 60
404 #define PIO_PB29_IDX 61
405 #define PIO_PB30_IDX 62
406 #define PIO_PB31_IDX 63
407 #define PIO_PC0_IDX 64
408 #define PIO_PC1_IDX 65
409 #define PIO_PC2_IDX 66
410 #define PIO_PC3_IDX 67
411 #define PIO_PC4_IDX 68
412 #define PIO_PC5_IDX 69
413 #define PIO_PC6_IDX 70
414 #define PIO_PC7_IDX 71
415 #define PIO_PC8_IDX 72
416 #define PIO_PC9_IDX 73
417 #define PIO_PC10_IDX 74
418 #define PIO_PC11_IDX 75
419 #define PIO_PC12_IDX 76
420 #define PIO_PC13_IDX 77
421 #define PIO_PC14_IDX 78
422 #define PIO_PC15_IDX 79
423 #define PIO_PC16_IDX 80
424 #define PIO_PC17_IDX 81
425 #define PIO_PC18_IDX 82
426 #define PIO_PC19_IDX 83
427 #define PIO_PC20_IDX 84
428 #define PIO_PC21_IDX 85
429 #define PIO_PC22_IDX 86
430 #define PIO_PC23_IDX 87
431 #define PIO_PC24_IDX 88
432 #define PIO_PC25_IDX 89
433 #define PIO_PC26_IDX 90
434 #define PIO_PC27_IDX 91
435 #define PIO_PC28_IDX 92
436 #define PIO_PC29_IDX 93
437 #define PIO_PC30_IDX 94
438 #define PIO_PC31_IDX 95
439 
440 #endif /* _SAM3U4E_PIO_ */