1#![allow(unused_imports)]
3
4#[cfg(feature = "3fn")]
5use crate::pio::peripheral::PeripheralC;
6#[cfg(feature = "4fn")]
7use crate::pio::peripheral::PeripheralD;
8use crate::{
9 pac::PIOA,
10 pio::peripheral::{PeripheralA, PeripheralB},
11};
12use seq_macro::seq;
13
14seq! {N in 0..32 {
15 crate::pio::def_pioc! {
16 PioA(PIOA) => {
17 #(Pa: N,)*
18 }
19 }
20}}
21
22#[cfg(any(feature = "sam3a", feature = "sam3x"))]
23crate::pio::pin_peripherals! {
24 pio: PIOA,
25 pinopts: [
26 [pin: Pa0, peripherals: [A, B]],
27 [pin: Pa1, peripherals: [A, B]],
28 [pin: Pa2, peripherals: [A, B]],
29 [pin: Pa3, peripherals: [A, B]],
30 [pin: Pa4, peripherals: [A, B]],
31 [pin: Pa5, peripherals: [A, B]],
32 [pin: Pa6, peripherals: [A, B]],
33 [pin: Pa7, peripherals: [A, B]],
34 [pin: Pa8, peripherals: [A, B]],
35 [pin: Pa9, peripherals: [A, B]],
36 [pin: Pa10, peripherals: [A, B]],
37 [pin: Pa11, peripherals: [A, B]],
38 [pin: Pa12, peripherals: [A, B]],
39 [pin: Pa13, peripherals: [A, B]],
40 [pin: Pa14, peripherals: [A, B]],
41 [pin: Pa15, peripherals: [A, B]],
42 [pin: Pa16, peripherals: [A, B]],
43 [pin: Pa17, peripherals: [A, B]],
44 [pin: Pa18, peripherals: [A, B]],
45 [pin: Pa19, peripherals: [A, B]],
46 [pin: Pa20, peripherals: [A, B]],
47 [pin: Pa21, peripherals: [A, B]],
48 [pin: Pa22, peripherals: [A, B]],
49 [pin: Pa23, peripherals: [A, B]],
50 [pin: Pa24, peripherals: [A, B]],
51 [pin: Pa25, peripherals: [A, B]],
52 [pin: Pa26, peripherals: [A, B]],
53 [pin: Pa27, peripherals: [A, B]],
54 [pin: Pa28, peripherals: [A, B]],
55 [pin: Pa29, peripherals: [A, B]],
56 ],
57}
58
59#[cfg(feature = "sam3x217")]
60crate::pio::pin_peripherals! {
61 pio: PIOA,
62 pinopts: [
63 [pin: Pa30, peripherals: [A, B]],
64 [pin: Pa31, peripherals: [A, B]],
65 ],
66}
67
68#[cfg(feature = "sam3n")]
69crate::pio::pin_peripherals! {
70 pio: PIOA,
71 pinopts: [
72 [pin: Pa0, peripherals: [A, B]],
73 [pin: Pa1, peripherals: [A, B]],
74 [pin: Pa2, peripherals: [A, B, C]],
75 [pin: Pa3, peripherals: [A, B]],
76 [pin: Pa4, peripherals: [A, B]],
77 [pin: Pa5, peripherals: [A, B]],
78 [pin: Pa6, peripherals: [A, B]],
79 [pin: Pa7, peripherals: [A, B]],
80 [pin: Pa8, peripherals: [A, B]],
81 [pin: Pa9, peripherals: [A, B]],
82 [pin: Pa10, peripherals: [A, B]],
83 [pin: Pa11, peripherals: [A, B]],
84 [pin: Pa12, peripherals: [A, B]],
85 [pin: Pa13, peripherals: [A, B]],
86 [pin: Pa14, peripherals: [A, B]],
87 [pin: Pa15, peripherals: [B]],
88 [pin: Pa16, peripherals: [B]],
89 [pin: Pa17, peripherals: [B]],
90 [pin: Pa18, peripherals: [B]],
91 ],
92}
93
94#[cfg(any(feature = "sam3n64", feature = "sam3n100"))]
95crate::pio::pin_peripherals! {
96 pio: PIOA,
97 pinopts: [
98 [pin: Pa21, peripherals: [A, B]],
99 [pin: Pa22, peripherals: [A, B]],
100 [pin: Pa23, peripherals: [A, B]],
101 [pin: Pa24, peripherals: [A, B]],
102 [pin: Pa25, peripherals: [A, B]],
103 [pin: Pa26, peripherals: [B]],
104 [pin: Pa27, peripherals: [B]],
105 [pin: Pa28, peripherals: [B]],
106 [pin: Pa29, peripherals: [B]],
107 [pin: Pa30, peripherals: [B]],
108 [pin: Pa31, peripherals: [A, B]],
109 ],
110}
111
112#[cfg(feature = "sam3s")]
113crate::pio::pin_peripherals! {
114 pio: PIOA,
115 pinopts: [
116 [pin: Pa0, peripherals: [A, B, C]],
117 [pin: Pa1, peripherals: [A, B, C]],
118 [pin: Pa2, peripherals: [A, B, C]],
119 [pin: Pa3, peripherals: [A, B]],
120 [pin: Pa4, peripherals: [A, B]],
121 [pin: Pa5, peripherals: [A, B]],
122 [pin: Pa6, peripherals: [A, B]],
123 [pin: Pa7, peripherals: [A, B]],
124 [pin: Pa8, peripherals: [A, B]],
125 [pin: Pa9, peripherals: [A, B, C]],
126 [pin: Pa10, peripherals: [A, B]],
127 [pin: Pa11, peripherals: [A, B]],
128 [pin: Pa12, peripherals: [A, B]],
129 [pin: Pa13, peripherals: [A, B]],
130 [pin: Pa14, peripherals: [A, B]],
131 [pin: Pa15, peripherals: [A, B, C]],
132 [pin: Pa16, peripherals: [A, B, C]],
133 [pin: Pa17, peripherals: [A, B, C]],
134 [pin: Pa18, peripherals: [A, B, C]],
135 [pin: Pa19, peripherals: [A, B, C]],
136 [pin: Pa20, peripherals: [A, B, C]],
137 ],
138}
139
140#[cfg(any(feature = "sam3s64", feature = "sam3s100"))]
141crate::pio::pin_peripherals! {
142 pio: PIOA,
143 pinopts: [
144 [pin: Pa21, peripherals: [A, B]],
145 [pin: Pa22, peripherals: [A, B, C]],
146 [pin: Pa23, peripherals: [A, B, C]],
147 [pin: Pa24, peripherals: [A, B, C]],
148 [pin: Pa25, peripherals: [A, B, C]],
149 [pin: Pa26, peripherals: [A, B, C]],
150 [pin: Pa27, peripherals: [A, B, C]],
151 [pin: Pa28, peripherals: [A, B, C]],
152 [pin: Pa29, peripherals: [A, B, C]],
153 [pin: Pa30, peripherals: [A, B, C]],
154 [pin: Pa31, peripherals: [A, B, C]],
155 ],
156}
157
158#[cfg(feature = "sam3s8")]
159crate::pio::pin_peripherals! {
160 pio: PIOA,
161 pinopts: [
162 [pin: Pa0, peripherals: [A, B, C]],
163 [pin: Pa1, peripherals: [A, B, C]],
164 [pin: Pa2, peripherals: [A, B, C]],
165 [pin: Pa3, peripherals: [A, B]],
166 [pin: Pa4, peripherals: [A, B]],
167 [pin: Pa5, peripherals: [A, B]],
168 [pin: Pa6, peripherals: [A, B]],
169 [pin: Pa7, peripherals: [A, B]],
170 [pin: Pa8, peripherals: [A, B, C]],
171 [pin: Pa9, peripherals: [A, B]],
172 [pin: Pa10, peripherals: [A, B]],
173 [pin: Pa11, peripherals: [A, B]],
174 [pin: Pa12, peripherals: [A, B]],
175 [pin: Pa13, peripherals: [A, B]],
176 [pin: Pa14, peripherals: [A, B]],
177 [pin: Pa15, peripherals: [A, B, C, D]],
178 [pin: Pa16, peripherals: [A, B, C, D]],
179 [pin: Pa17, peripherals: [A, B, C]],
180 [pin: Pa18, peripherals: [A, B, C]],
181 [pin: Pa19, peripherals: [A, B, C]],
182 [pin: Pa20, peripherals: [A, B, C]],
183 ],
184}
185
186#[cfg(any(feature = "sam3s864", feature = "sam3s8100"))]
187crate::pio::pin_peripherals! {
188 pio: PIOA,
189 pinopts: [
190 [pin: Pa21, peripherals: [A, B]],
191 [pin: Pa22, peripherals: [A, B, C]],
192 [pin: Pa23, peripherals: [A, B, C, D]],
193 [pin: Pa24, peripherals: [A, B, C, D]],
194 [pin: Pa25, peripherals: [A, B, C, D]],
195 [pin: Pa26, peripherals: [A, B, C, D]],
196 [pin: Pa27, peripherals: [A, B, C, D]],
197 [pin: Pa28, peripherals: [A, B, C, D]],
198 [pin: Pa29, peripherals: [A, B, C, D]],
199 [pin: Pa30, peripherals: [A, B, C, D]],
200 [pin: Pa31, peripherals: [A, B, C, D]],
201 ],
202}
203
204#[cfg(feature = "sam3u")]
205crate::pio::pin_peripherals! {
206 pio: PIOA,
207 pinopts: [
208 [pin: Pa0, peripherals: [A, B]],
209 [pin: Pa1, peripherals: [A, B]],
210 [pin: Pa2, peripherals: [A, B]],
211 [pin: Pa3, peripherals: [A, B]],
212 [pin: Pa4, peripherals: [A, B]],
213 [pin: Pa5, peripherals: [A, B]],
214 [pin: Pa6, peripherals: [A, B]],
215 [pin: Pa7, peripherals: [A, B]],
216 [pin: Pa8, peripherals: [A, B]],
217 [pin: Pa9, peripherals: [A, B]],
218 [pin: Pa10, peripherals: [A, B]],
219 [pin: Pa11, peripherals: [A, B]],
220 [pin: Pa12, peripherals: [A, B]],
221 [pin: Pa13, peripherals: [A]],
222 [pin: Pa14, peripherals: [A]],
223 [pin: Pa15, peripherals: [A, B]],
224 [pin: Pa16, peripherals: [A, B]],
225 [pin: Pa17, peripherals: [A, B]],
226 [pin: Pa18, peripherals: [A, B]],
227 [pin: Pa19, peripherals: [A, B]],
228 [pin: Pa20, peripherals: [A, B]],
229 [pin: Pa21, peripherals: [A, B]],
230 [pin: Pa22, peripherals: [A, B]],
231 [pin: Pa23, peripherals: [A, B]],
232 [pin: Pa24, peripherals: [A, B]],
233 [pin: Pa25, peripherals: [A, B]],
234 [pin: Pa26, peripherals: [A, B]],
235 [pin: Pa27, peripherals: [A, B]],
236 [pin: Pa28, peripherals: [A, B]],
237 [pin: Pa29, peripherals: [A, B]],
238 [pin: Pa30, peripherals: [A, B]],
239 [pin: Pa31, peripherals: [A, B]],
240 ],
241}