Robobo
pio_sam3x8c.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 _SAM3X8C_PIO_
31 #define _SAM3X8C_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_PB0 (1u << 0)
64 #define PIO_PB1 (1u << 1)
65 #define PIO_PB2 (1u << 2)
66 #define PIO_PB3 (1u << 3)
67 #define PIO_PB4 (1u << 4)
68 #define PIO_PB5 (1u << 5)
69 #define PIO_PB6 (1u << 6)
70 #define PIO_PB7 (1u << 7)
71 #define PIO_PB8 (1u << 8)
72 #define PIO_PB9 (1u << 9)
73 #define PIO_PB10 (1u << 10)
74 #define PIO_PB11 (1u << 11)
75 #define PIO_PB12 (1u << 12)
76 #define PIO_PB13 (1u << 13)
77 #define PIO_PB14 (1u << 14)
78 #define PIO_PB15 (1u << 15)
79 #define PIO_PB16 (1u << 16)
80 #define PIO_PB17 (1u << 17)
81 #define PIO_PB18 (1u << 18)
82 #define PIO_PB19 (1u << 19)
83 #define PIO_PB20 (1u << 20)
84 #define PIO_PB21 (1u << 21)
85 #define PIO_PB22 (1u << 22)
86 #define PIO_PB23 (1u << 23)
87 #define PIO_PB24 (1u << 24)
88 #define PIO_PB25 (1u << 25)
89 #define PIO_PB26 (1u << 26)
90 #define PIO_PB27 (1u << 27)
91 #define PIO_PB28 (1u << 28)
92 #define PIO_PB29 (1u << 29)
93 #define PIO_PB30 (1u << 30)
94 #define PIO_PB31 (1u << 31)
95 /* ========== Pio definition for ADC peripheral ========== */
96 #define PIO_PA2X1_AD0 (1u << 2)
97 #define PIO_PA3X1_AD1 (1u << 3)
98 #define PIO_PA3X1_WKUP1 (1u << 3)
99 #define PIO_PB17X1_AD10 (1u << 17)
100 #define PIO_PB18X1_AD11 (1u << 18)
101 #define PIO_PB19X1_AD12 (1u << 19)
102 #define PIO_PB20X1_AD13 (1u << 20)
103 #define PIO_PB21X1_AD14 (1u << 21)
104 #define PIO_PB21X1_WKUP13 (1u << 21)
105 #define PIO_PA4X1_AD2 (1u << 4)
106 #define PIO_PA6X1_AD3 (1u << 6)
107 #define PIO_PA22X1_AD4 (1u << 22)
108 #define PIO_PA23X1_AD5 (1u << 23)
109 #define PIO_PA24X1_AD6 (1u << 24)
110 #define PIO_PA16X1_AD7 (1u << 16)
111 #define PIO_PB12X1_AD8 (1u << 12)
112 #define PIO_PB13X1_AD9 (1u << 13)
113 #define PIO_PA11B_ADTRG (1u << 11)
114 /* ========== Pio definition for CAN0 peripheral ========== */
115 #define PIO_PA1A_CANRX0 (1u << 1)
116 #define PIO_PA0A_CANTX0 (1u << 0)
117 /* ========== Pio definition for CAN1 peripheral ========== */
118 #define PIO_PB15A_CANRX1 (1u << 15)
119 #define PIO_PB14A_CANTX1 (1u << 14)
120 /* ========== Pio definition for DACC peripheral ========== */
121 #define PIO_PB15X1_DAC0 (1u << 15)
122 #define PIO_PB15X1_WKUP12 (1u << 15)
123 #define PIO_PB16X1_DAC1 (1u << 16)
124 #define PIO_PA10B_DATRG (1u << 10)
125 /* ========== Pio definition for EMAC peripheral ========== */
126 #define PIO_PC13B_ECOL (1u << 13)
127 #define PIO_PC10B_ECRS (1u << 10)
128 #define PIO_PB4A_ECRSDV (1u << 4)
129 #define PIO_PB4A_ERXDV (1u << 4)
130 #define PIO_PB8A_EMDC (1u << 8)
131 #define PIO_PB9A_EMDIO (1u << 9)
132 #define PIO_PB5A_ERX0 (1u << 5)
133 #define PIO_PB6A_ERX1 (1u << 6)
134 #define PIO_PC11B_ERX2 (1u << 11)
135 #define PIO_PC12B_ERX3 (1u << 12)
136 #define PIO_PC14B_ERXCK (1u << 14)
137 #define PIO_PB7A_ERXER (1u << 7)
138 #define PIO_PB2A_ETX0 (1u << 2)
139 #define PIO_PB3A_ETX1 (1u << 3)
140 #define PIO_PC15B_ETX2 (1u << 15)
141 #define PIO_PC16B_ETX3 (1u << 16)
142 #define PIO_PB0A_ETXCK (1u << 0)
143 #define PIO_PB1A_ETXEN (1u << 1)
144 #define PIO_PC17B_ETXER (1u << 17)
145 /* ========== Pio definition for HSMCI peripheral ========== */
146 #define PIO_PA20A_MCCDA (1u << 20)
147 #define PIO_PE20B_MCCDB (1u << 20)
148 #define PIO_PA19A_MCCK (1u << 19)
149 #define PIO_PA21A_MCDA0 (1u << 21)
150 #define PIO_PA22A_MCDA1 (1u << 22)
151 #define PIO_PA23A_MCDA2 (1u << 23)
152 #define PIO_PA24A_MCDA3 (1u << 24)
153 #define PIO_PD0B_MCDA4 (1u << 0)
154 #define PIO_PD1B_MCDA5 (1u << 1)
155 #define PIO_PD2B_MCDA6 (1u << 2)
156 #define PIO_PD3B_MCDA7 (1u << 3)
157 #define PIO_PE22B_MCDB0 (1u << 22)
158 #define PIO_PE24B_MCDB1 (1u << 24)
159 #define PIO_PE26B_MCDB2 (1u << 26)
160 #define PIO_PE27B_MCDB3 (1u << 27)
161 /* ========== Pio definition for PMC peripheral ========== */
162 #define PIO_PA1B_PCK0 (1u << 1)
163 #define PIO_PB22B_PCK0 (1u << 22)
164 #define PIO_PA24B_PCK1 (1u << 24)
165 #define PIO_PA30B_PCK1 (1u << 30)
166 #define PIO_PA28B_PCK2 (1u << 28)
167 #define PIO_PA31B_PCK2 (1u << 31)
168 /* ========== Pio definition for PWM peripheral ========== */
169 #define PIO_PA5B_PWMFI0 (1u << 5)
170 #define PIO_PA3B_PWMFI1 (1u << 3)
171 #define PIO_PD6B_PWMFI2 (1u << 6)
172 #define PIO_PA8B_PWMH0 (1u << 8)
173 #define PIO_PB12B_PWMH0 (1u << 12)
174 #define PIO_PC3B_PWMH0 (1u << 3)
175 #define PIO_PE15A_PWMH0 (1u << 15)
176 #define PIO_PA19B_PWMH1 (1u << 19)
177 #define PIO_PB13B_PWMH1 (1u << 13)
178 #define PIO_PC5B_PWMH1 (1u << 5)
179 #define PIO_PE16A_PWMH1 (1u << 16)
180 #define PIO_PA13B_PWMH2 (1u << 13)
181 #define PIO_PB14B_PWMH2 (1u << 14)
182 #define PIO_PC7B_PWMH2 (1u << 7)
183 #define PIO_PA9B_PWMH3 (1u << 9)
184 #define PIO_PB15B_PWMH3 (1u << 15)
185 #define PIO_PC9B_PWMH3 (1u << 9)
186 #define PIO_PF3A_PWMH3 (1u << 3)
187 #define PIO_PC20B_PWMH4 (1u << 20)
188 #define PIO_PE20A_PWMH4 (1u << 20)
189 #define PIO_PC19B_PWMH5 (1u << 19)
190 #define PIO_PE22A_PWMH5 (1u << 22)
191 #define PIO_PC18B_PWMH6 (1u << 18)
192 #define PIO_PE24A_PWMH6 (1u << 24)
193 #define PIO_PE26A_PWMH7 (1u << 26)
194 #define PIO_PA21B_PWML0 (1u << 21)
195 #define PIO_PB16B_PWML0 (1u << 16)
196 #define PIO_PC2B_PWML0 (1u << 2)
197 #define PIO_PE18A_PWML0 (1u << 18)
198 #define PIO_PA12B_PWML1 (1u << 12)
199 #define PIO_PB17B_PWML1 (1u << 17)
200 #define PIO_PC4B_PWML1 (1u << 4)
201 #define PIO_PA20B_PWML2 (1u << 20)
202 #define PIO_PB18B_PWML2 (1u << 18)
203 #define PIO_PC6B_PWML2 (1u << 6)
204 #define PIO_PE17A_PWML2 (1u << 17)
205 #define PIO_PA0B_PWML3 (1u << 0)
206 #define PIO_PB19B_PWML3 (1u << 19)
207 #define PIO_PC8B_PWML3 (1u << 8)
208 #define PIO_PB6B_PWML4 (1u << 6)
209 #define PIO_PC21B_PWML4 (1u << 21)
210 #define PIO_PE19A_PWML4 (1u << 19)
211 #define PIO_PB7B_PWML5 (1u << 7)
212 #define PIO_PC22B_PWML5 (1u << 22)
213 #define PIO_PE21A_PWML5 (1u << 21)
214 #define PIO_PB8B_PWML6 (1u << 8)
215 #define PIO_PC23B_PWML6 (1u << 23)
216 #define PIO_PE23A_PWML6 (1u << 23)
217 #define PIO_PB9B_PWML7 (1u << 9)
218 #define PIO_PC24B_PWML7 (1u << 24)
219 #define PIO_PE25A_PWML7 (1u << 25)
220 /* ========== Pio definition for SPI0 peripheral ========== */
221 #define PIO_PA25A_SPI0_MISO (1u << 25)
222 #define PIO_PA26A_SPI0_MOSI (1u << 26)
223 #define PIO_PA28A_SPI0_NPCS0 (1u << 28)
224 #define PIO_PA29A_SPI0_NPCS1 (1u << 29)
225 #define PIO_PB20B_SPI0_NPCS1 (1u << 20)
226 #define PIO_PA30A_SPI0_NPCS2 (1u << 30)
227 #define PIO_PB21B_SPI0_NPCS2 (1u << 21)
228 #define PIO_PA31A_SPI0_NPCS3 (1u << 31)
229 #define PIO_PB23B_SPI0_NPCS3 (1u << 23)
230 #define PIO_PA27A_SPI0_SPCK (1u << 27)
231 /* ========== Pio definition for SSC peripheral ========== */
232 #define PIO_PB18A_RD (1u << 18)
233 #define PIO_PB17A_RF (1u << 17)
234 #define PIO_PB19A_RK (1u << 19)
235 #define PIO_PA16B_TD (1u << 16)
236 #define PIO_PA15B_TF (1u << 15)
237 #define PIO_PA14B_TK (1u << 14)
238 /* ========== Pio definition for TC0 peripheral ========== */
239 #define PIO_PB26B_TCLK0 (1u << 26)
240 #define PIO_PA4A_TCLK1 (1u << 4)
241 #define PIO_PA7A_TCLK2 (1u << 7)
242 #define PIO_PB25B_TIOA0 (1u << 25)
243 #define PIO_PA2A_TIOA1 (1u << 2)
244 #define PIO_PA5A_TIOA2 (1u << 5)
245 #define PIO_PB27B_TIOB0 (1u << 27)
246 #define PIO_PA3A_TIOB1 (1u << 3)
247 #define PIO_PA6A_TIOB2 (1u << 6)
248 /* ========== Pio definition for TC1 peripheral ========== */
249 #define PIO_PA22B_TCLK3 (1u << 22)
250 #define PIO_PA23B_TCLK4 (1u << 23)
251 #define PIO_PB16A_TCLK5 (1u << 16)
252 #define PIO_PB0B_TIOA3 (1u << 0)
253 #define PIO_PE9A_TIOA3 (1u << 9)
254 #define PIO_PB2B_TIOA4 (1u << 2)
255 #define PIO_PE11A_TIOA4 (1u << 11)
256 #define PIO_PB4B_TIOA5 (1u << 4)
257 #define PIO_PE13A_TIOA5 (1u << 13)
258 #define PIO_PB1B_TIOB3 (1u << 1)
259 #define PIO_PE10A_TIOB3 (1u << 10)
260 #define PIO_PB3B_TIOB4 (1u << 3)
261 #define PIO_PE12A_TIOB4 (1u << 12)
262 #define PIO_PB5B_TIOB5 (1u << 5)
263 #define PIO_PE14A_TIOB5 (1u << 14)
264 /* ========== Pio definition for TWI0 peripheral ========== */
265 #define PIO_PA18A_TWCK0 (1u << 18)
266 #define PIO_PA17A_TWD0 (1u << 17)
267 /* ========== Pio definition for TWI1 peripheral ========== */
268 #define PIO_PB13A_TWCK1 (1u << 13)
269 #define PIO_PB12A_TWD1 (1u << 12)
270 /* ========== Pio definition for UART peripheral ========== */
271 #define PIO_PA8A_URXD (1u << 8)
272 #define PIO_PA9A_UTXD (1u << 9)
273 /* ========== Pio definition for UOTGHS peripheral ========== */
274 #define PIO_PB11A_UOTGID (1u << 11)
275 #define PIO_PB10A_UOTGVBOF (1u << 10)
276 /* ========== Pio definition for USART0 peripheral ========== */
277 #define PIO_PB26A_CTS0 (1u << 26)
278 #define PIO_PB25A_RTS0 (1u << 25)
279 #define PIO_PA10A_RXD0 (1u << 10)
280 #define PIO_PA17B_SCK0 (1u << 17)
281 #define PIO_PA11A_TXD0 (1u << 11)
282 /* ========== Pio definition for USART1 peripheral ========== */
283 #define PIO_PA15A_CTS1 (1u << 15)
284 #define PIO_PA14A_RTS1 (1u << 14)
285 #define PIO_PA12A_RXD1 (1u << 12)
286 #define PIO_PA16A_SCK1 (1u << 16)
287 #define PIO_PA13A_TXD1 (1u << 13)
288 /* ========== Pio definition for USART2 peripheral ========== */
289 #define PIO_PB23A_CTS2 (1u << 23)
290 #define PIO_PB22A_RTS2 (1u << 22)
291 #define PIO_PB21A_RXD2 (1u << 21)
292 #define PIO_PB24A_SCK2 (1u << 24)
293 #define PIO_PB20A_TXD2 (1u << 20)
294 /* ========== Pio indexes ========== */
295 #define PIO_PA0_IDX 0
296 #define PIO_PA1_IDX 1
297 #define PIO_PA2_IDX 2
298 #define PIO_PA3_IDX 3
299 #define PIO_PA4_IDX 4
300 #define PIO_PA5_IDX 5
301 #define PIO_PA6_IDX 6
302 #define PIO_PA7_IDX 7
303 #define PIO_PA8_IDX 8
304 #define PIO_PA9_IDX 9
305 #define PIO_PA10_IDX 10
306 #define PIO_PA11_IDX 11
307 #define PIO_PA12_IDX 12
308 #define PIO_PA13_IDX 13
309 #define PIO_PA14_IDX 14
310 #define PIO_PA15_IDX 15
311 #define PIO_PA16_IDX 16
312 #define PIO_PA17_IDX 17
313 #define PIO_PA18_IDX 18
314 #define PIO_PA19_IDX 19
315 #define PIO_PA20_IDX 20
316 #define PIO_PA21_IDX 21
317 #define PIO_PA22_IDX 22
318 #define PIO_PA23_IDX 23
319 #define PIO_PA24_IDX 24
320 #define PIO_PA25_IDX 25
321 #define PIO_PA26_IDX 26
322 #define PIO_PA27_IDX 27
323 #define PIO_PA28_IDX 28
324 #define PIO_PA29_IDX 29
325 #define PIO_PB0_IDX 32
326 #define PIO_PB1_IDX 33
327 #define PIO_PB2_IDX 34
328 #define PIO_PB3_IDX 35
329 #define PIO_PB4_IDX 36
330 #define PIO_PB5_IDX 37
331 #define PIO_PB6_IDX 38
332 #define PIO_PB7_IDX 39
333 #define PIO_PB8_IDX 40
334 #define PIO_PB9_IDX 41
335 #define PIO_PB10_IDX 42
336 #define PIO_PB11_IDX 43
337 #define PIO_PB12_IDX 44
338 #define PIO_PB13_IDX 45
339 #define PIO_PB14_IDX 46
340 #define PIO_PB15_IDX 47
341 #define PIO_PB16_IDX 48
342 #define PIO_PB17_IDX 49
343 #define PIO_PB18_IDX 50
344 #define PIO_PB19_IDX 51
345 #define PIO_PB20_IDX 52
346 #define PIO_PB21_IDX 53
347 #define PIO_PB22_IDX 54
348 #define PIO_PB23_IDX 55
349 #define PIO_PB24_IDX 56
350 #define PIO_PB25_IDX 57
351 #define PIO_PB26_IDX 58
352 #define PIO_PB27_IDX 59
353 #define PIO_PB28_IDX 60
354 #define PIO_PB29_IDX 61
355 #define PIO_PB30_IDX 62
356 #define PIO_PB31_IDX 63
357 
358 #endif /* _SAM3X8C_PIO_ */