Robobo
pio_sam3n4b.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 _SAM3N4B_PIO_
31 #define _SAM3N4B_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 /* ========== Pio definition for ADC peripheral ========== */
81 #define PIO_PA17X1_AD0 (1u << 17)
82 #define PIO_PA18X1_AD1 (1u << 18)
83 #define PIO_PC13X1_AD10 (1u << 13)
84 #define PIO_PC15X1_AD11 (1u << 15)
85 #define PIO_PC12X1_AD12 (1u << 12)
86 #define PIO_PC29X1_AD13 (1u << 29)
87 #define PIO_PC30X1_AD14 (1u << 30)
88 #define PIO_PC31X1_AD15 (1u << 31)
89 #define PIO_PA19X1_AD2 (1u << 19)
90 #define PIO_PA19X1_WKUP9 (1u << 19)
91 #define PIO_PA20X1_AD3 (1u << 20)
92 #define PIO_PA20X1_WKUP10 (1u << 20)
93 #define PIO_PB0X1_AD4 (1u << 0)
94 #define PIO_PB1X1_AD5 (1u << 1)
95 #define PIO_PB2X1_AD6 (1u << 2)
96 #define PIO_PB2X1_WKUP12 (1u << 2)
97 #define PIO_PB3X1_AD7 (1u << 3)
98 #define PIO_PA21X1_AD8 (1u << 21)
99 #define PIO_PA22X1_AD9 (1u << 22)
100 #define PIO_PA8B_ADTRG (1u << 8)
101 /* ========== Pio definition for DACC peripheral ========== */
102 #define PIO_PB13X1_DAC0 (1u << 13)
103 #define PIO_PA2C_DATRG (1u << 2)
104 /* ========== Pio definition for PMC peripheral ========== */
105 #define PIO_PA6B_PCK0 (1u << 6)
106 #define PIO_PB13B_PCK0 (1u << 13)
107 #define PIO_PC16B_PCK0 (1u << 16)
108 #define PIO_PA17B_PCK1 (1u << 17)
109 #define PIO_PA21B_PCK1 (1u << 21)
110 #define PIO_PC17B_PCK1 (1u << 17)
111 #define PIO_PA18B_PCK2 (1u << 18)
112 #define PIO_PA31B_PCK2 (1u << 31)
113 #define PIO_PB3B_PCK2 (1u << 3)
114 #define PIO_PC14B_PCK2 (1u << 14)
115 /* ========== Pio definition for PWM peripheral ========== */
116 #define PIO_PA0A_PWM0 (1u << 0)
117 #define PIO_PA11B_PWM0 (1u << 11)
118 #define PIO_PA23B_PWM0 (1u << 23)
119 #define PIO_PB0A_PWM0 (1u << 0)
120 #define PIO_PC8B_PWM0 (1u << 8)
121 #define PIO_PC18B_PWM0 (1u << 18)
122 #define PIO_PC22B_PWM0 (1u << 22)
123 #define PIO_PA1A_PWM1 (1u << 1)
124 #define PIO_PA12B_PWM1 (1u << 12)
125 #define PIO_PA24B_PWM1 (1u << 24)
126 #define PIO_PB1A_PWM1 (1u << 1)
127 #define PIO_PC9B_PWM1 (1u << 9)
128 #define PIO_PC19B_PWM1 (1u << 19)
129 #define PIO_PA2A_PWM2 (1u << 2)
130 #define PIO_PA13B_PWM2 (1u << 13)
131 #define PIO_PA25B_PWM2 (1u << 25)
132 #define PIO_PB4B_PWM2 (1u << 4)
133 #define PIO_PC10B_PWM2 (1u << 10)
134 #define PIO_PC20B_PWM2 (1u << 20)
135 #define PIO_PA7B_PWM3 (1u << 7)
136 #define PIO_PA14B_PWM3 (1u << 14)
137 #define PIO_PB14B_PWM3 (1u << 14)
138 #define PIO_PC11B_PWM3 (1u << 11)
139 #define PIO_PC21B_PWM3 (1u << 21)
140 /* ========== Pio definition for SPI peripheral ========== */
141 #define PIO_PA12A_MISO (1u << 12)
142 #define PIO_PA13A_MOSI (1u << 13)
143 #define PIO_PA11A_NPCS0 (1u << 11)
144 #define PIO_PA9B_NPCS1 (1u << 9)
145 #define PIO_PA31A_NPCS1 (1u << 31)
146 #define PIO_PB14A_NPCS1 (1u << 14)
147 #define PIO_PC4B_NPCS1 (1u << 4)
148 #define PIO_PA10B_NPCS2 (1u << 10)
149 #define PIO_PA30B_NPCS2 (1u << 30)
150 #define PIO_PB2B_NPCS2 (1u << 2)
151 #define PIO_PC7B_NPCS2 (1u << 7)
152 #define PIO_PA3B_NPCS3 (1u << 3)
153 #define PIO_PA5B_NPCS3 (1u << 5)
154 #define PIO_PA22B_NPCS3 (1u << 22)
155 #define PIO_PA14A_SPCK (1u << 14)
156 /* ========== Pio definition for TC0 peripheral ========== */
157 #define PIO_PA4B_TCLK0 (1u << 4)
158 #define PIO_PA28B_TCLK1 (1u << 28)
159 #define PIO_PA29B_TCLK2 (1u << 29)
160 #define PIO_PA0B_TIOA0 (1u << 0)
161 #define PIO_PA15B_TIOA1 (1u << 15)
162 #define PIO_PA26B_TIOA2 (1u << 26)
163 #define PIO_PA1B_TIOB0 (1u << 1)
164 #define PIO_PA16B_TIOB1 (1u << 16)
165 #define PIO_PA27B_TIOB2 (1u << 27)
166 /* ========== Pio definition for TWI0 peripheral ========== */
167 #define PIO_PA4A_TWCK0 (1u << 4)
168 #define PIO_PA3A_TWD0 (1u << 3)
169 /* ========== Pio definition for TWI1 peripheral ========== */
170 #define PIO_PB5A_TWCK1 (1u << 5)
171 #define PIO_PB4A_TWD1 (1u << 4)
172 /* ========== Pio definition for UART0 peripheral ========== */
173 #define PIO_PA9A_URXD0 (1u << 9)
174 #define PIO_PA10A_UTXD0 (1u << 10)
175 /* ========== Pio definition for UART1 peripheral ========== */
176 #define PIO_PB2A_URXD1 (1u << 2)
177 #define PIO_PB3A_UTXD1 (1u << 3)
178 /* ========== Pio definition for USART0 peripheral ========== */
179 #define PIO_PA8A_CTS0 (1u << 8)
180 #define PIO_PA7A_RTS0 (1u << 7)
181 #define PIO_PA5A_RXD0 (1u << 5)
182 #define PIO_PA2B_SCK0 (1u << 2)
183 #define PIO_PA6A_TXD0 (1u << 6)
184 /* ========== Pio definition for USART1 peripheral ========== */
185 #define PIO_PA25A_CTS1 (1u << 25)
186 #define PIO_PA24A_RTS1 (1u << 24)
187 #define PIO_PA21A_RXD1 (1u << 21)
188 #define PIO_PA23A_SCK1 (1u << 23)
189 #define PIO_PA22A_TXD1 (1u << 22)
190 /* ========== Pio indexes ========== */
191 #define PIO_PA0_IDX 0
192 #define PIO_PA1_IDX 1
193 #define PIO_PA2_IDX 2
194 #define PIO_PA3_IDX 3
195 #define PIO_PA4_IDX 4
196 #define PIO_PA5_IDX 5
197 #define PIO_PA6_IDX 6
198 #define PIO_PA7_IDX 7
199 #define PIO_PA8_IDX 8
200 #define PIO_PA9_IDX 9
201 #define PIO_PA10_IDX 10
202 #define PIO_PA11_IDX 11
203 #define PIO_PA12_IDX 12
204 #define PIO_PA13_IDX 13
205 #define PIO_PA14_IDX 14
206 #define PIO_PA15_IDX 15
207 #define PIO_PA16_IDX 16
208 #define PIO_PA17_IDX 17
209 #define PIO_PA18_IDX 18
210 #define PIO_PA19_IDX 19
211 #define PIO_PA20_IDX 20
212 #define PIO_PA21_IDX 21
213 #define PIO_PA22_IDX 22
214 #define PIO_PA23_IDX 23
215 #define PIO_PA24_IDX 24
216 #define PIO_PA25_IDX 25
217 #define PIO_PA26_IDX 26
218 #define PIO_PA27_IDX 27
219 #define PIO_PA28_IDX 28
220 #define PIO_PA29_IDX 29
221 #define PIO_PA30_IDX 30
222 #define PIO_PA31_IDX 31
223 #define PIO_PB0_IDX 32
224 #define PIO_PB1_IDX 33
225 #define PIO_PB2_IDX 34
226 #define PIO_PB3_IDX 35
227 #define PIO_PB4_IDX 36
228 #define PIO_PB5_IDX 37
229 #define PIO_PB6_IDX 38
230 #define PIO_PB7_IDX 39
231 #define PIO_PB8_IDX 40
232 #define PIO_PB9_IDX 41
233 #define PIO_PB10_IDX 42
234 #define PIO_PB11_IDX 43
235 #define PIO_PB12_IDX 44
236 #define PIO_PB13_IDX 45
237 #define PIO_PB14_IDX 46
238 
239 #endif /* _SAM3N4B_PIO_ */