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::PIOC,
10 pio::peripheral::{PeripheralA, PeripheralB},
11};
12use seq_macro::seq;
13
14#[cfg(any(feature = "sam3a", feature = "sam3x"))]
15seq! {N in 0..31 { crate::pio::def_pioc! {
17 PioC(PIOC) => {
18 #(Pc: N,)*
19 }
20 }
21}}
22
23#[cfg(any(feature = "sam3x144", feature = "sam3x217"))]
24crate::pio::pin_peripherals! {
25 pio: PIOC,
26 pinopts: [
27 [pin: Pc2, peripherals: [A, B]],
28 [pin: Pc3, peripherals: [A, B]],
29 [pin: Pc4, peripherals: [A, B]],
30 [pin: Pc5, peripherals: [A, B]],
31 [pin: Pc6, peripherals: [A, B]],
32 [pin: Pc7, peripherals: [A, B]],
33 [pin: Pc8, peripherals: [A, B]],
34 [pin: Pc9, peripherals: [A, B]],
35 [pin: Pc10, peripherals: [A, B]],
36 [pin: Pc11, peripherals: [A, B]],
37 [pin: Pc12, peripherals: [A, B]],
38 [pin: Pc13, peripherals: [A, B]],
39 [pin: Pc14, peripherals: [A, B]],
40 [pin: Pc15, peripherals: [A, B]],
41 [pin: Pc16, peripherals: [A, B]],
42 [pin: Pc17, peripherals: [A, B]],
43 [pin: Pc18, peripherals: [A, B]],
44 [pin: Pc19, peripherals: [A, B]],
45 [pin: Pc20, peripherals: [A, B]],
46 [pin: Pc21, peripherals: [A, B]],
47 [pin: Pc22, peripherals: [A, B]],
48 [pin: Pc23, peripherals: [A, B]],
49 [pin: Pc24, peripherals: [A, B]],
50 [pin: Pc25, peripherals: [A, B]],
51 [pin: Pc26, peripherals: [A, B]],
52 [pin: Pc27, peripherals: [A, B]],
53 [pin: Pc28, peripherals: [A, B]],
54 [pin: Pc29, peripherals: [A, B]],
55 [pin: Pc30, peripherals: [A, B]],
56 ],
57}
58
59#[cfg(any(
60 feature = "sam3n100",
61 feature = "sam3s100",
62 feature = "sam3s8100",
63 feature = "sam3u144"
64))]
65seq! {N in 0..32 {
66 crate::pio::def_pioc! {
67 PioC(PIOC) => {
68 #(Pc: N,)*
69 }
70 }
71}}
72
73#[cfg(feature = "sam3n100")]
74crate::pio::pin_peripherals! {
75 pio: PIOC,
76 pinopts: [
77 [pin: Pc4, peripherals: [B]],
78 [pin: Pc7, peripherals: [B]],
79 [pin: Pc8, peripherals: [B]],
80 [pin: Pc9, peripherals: [B]],
81 [pin: Pc10, peripherals: [B]],
82 [pin: Pc11, peripherals: [B]],
83 [pin: Pc14, peripherals: [B]],
84 [pin: Pc16, peripherals: [B]],
85 [pin: Pc17, peripherals: [B]],
86 [pin: Pc18, peripherals: [B]],
87 [pin: Pc19, peripherals: [B]],
88 [pin: Pc20, peripherals: [B]],
89 [pin: Pc21, peripherals: [B]],
90 [pin: Pc22, peripherals: [B]],
91 [pin: Pc23, peripherals: [B]],
92 [pin: Pc24, peripherals: [B]],
93 [pin: Pc25, peripherals: [B]],
94 [pin: Pc26, peripherals: [B]],
95 [pin: Pc27, peripherals: [B]],
96 [pin: Pc28, peripherals: [B]],
97 [pin: Pc29, peripherals: [B]],
98 [pin: Pc30, peripherals: [B]],
99 [pin: Pc31, peripherals: [B]],
100 ],
101}
102
103#[cfg(feature = "sam3s100")]
104crate::pio::pin_peripherals! {
105 pio: PIOC,
106 pinopts: [
107 [pin: Pc0, peripherals: [A, B]],
108 [pin: Pc1, peripherals: [A, B]],
109 [pin: Pc2, peripherals: [A, B]],
110 [pin: Pc3, peripherals: [A, B]],
111 [pin: Pc4, peripherals: [A, B]],
112 [pin: Pc5, peripherals: [A]],
113 [pin: Pc6, peripherals: [A]],
114 [pin: Pc7, peripherals: [A]],
115 [pin: Pc8, peripherals: [A]],
116 [pin: Pc9, peripherals: [A]],
117 [pin: Pc10, peripherals: [A]],
118 [pin: Pc11, peripherals: [A]],
119 [pin: Pc12, peripherals: [A]],
120 [pin: Pc13, peripherals: [A, B]],
121 [pin: Pc14, peripherals: [A]],
122 [pin: Pc15, peripherals: [A, B]],
123 [pin: Pc16, peripherals: [A]],
124 [pin: Pc17, peripherals: [A]],
125 [pin: Pc18, peripherals: [A, B]],
126 [pin: Pc19, peripherals: [A, B]],
127 [pin: Pc20, peripherals: [A, B]],
128 [pin: Pc21, peripherals: [A, B]],
129 [pin: Pc22, peripherals: [A, B]],
130 [pin: Pc23, peripherals: [A, B]],
131 [pin: Pc24, peripherals: [A, B]],
132 [pin: Pc25, peripherals: [A, B]],
133 [pin: Pc26, peripherals: [A, B]],
134 [pin: Pc27, peripherals: [A, B]],
135 [pin: Pc28, peripherals: [A, B]],
136 [pin: Pc29, peripherals: [A, B]],
137 [pin: Pc30, peripherals: [A, B]],
138 [pin: Pc31, peripherals: [A, B]],
139 ],
140}
141
142#[cfg(feature = "sam3s8100")]
143crate::pio::pin_peripherals! {
144 pio: PIOC,
145 pinopts: [
146 [pin: Pc0, peripherals: [A, B]],
147 [pin: Pc1, peripherals: [A, B]],
148 [pin: Pc2, peripherals: [A, B]],
149 [pin: Pc3, peripherals: [A, B]],
150 [pin: Pc4, peripherals: [A, B]],
151 [pin: Pc5, peripherals: [A]],
152 [pin: Pc6, peripherals: [A]],
153 [pin: Pc7, peripherals: [A]],
154 [pin: Pc8, peripherals: [A]],
155 [pin: Pc9, peripherals: [A, B]],
156 [pin: Pc10, peripherals: [A, B]],
157 [pin: Pc11, peripherals: [A]],
158 [pin: Pc12, peripherals: [A]],
159 [pin: Pc13, peripherals: [A, B]],
160 [pin: Pc14, peripherals: [A, B]],
161 [pin: Pc15, peripherals: [A, B]],
162 [pin: Pc16, peripherals: [A, B]],
163 [pin: Pc17, peripherals: [A, B]],
164 [pin: Pc18, peripherals: [A, B]],
165 [pin: Pc19, peripherals: [A, B]],
166 [pin: Pc20, peripherals: [A, B]],
167 [pin: Pc21, peripherals: [A, B]],
168 [pin: Pc22, peripherals: [A, B]],
169 [pin: Pc23, peripherals: [A, B]],
170 [pin: Pc24, peripherals: [A, B]],
171 [pin: Pc25, peripherals: [A, B]],
172 [pin: Pc26, peripherals: [A, B]],
173 [pin: Pc27, peripherals: [A, B]],
174 [pin: Pc28, peripherals: [A, B]],
175 [pin: Pc29, peripherals: [A, B]],
176 [pin: Pc30, peripherals: [A, B]],
177 [pin: Pc31, peripherals: [A, B]],
178 ],
179}
180
181#[cfg(feature = "sam3u144")]
182crate::pio::pin_peripherals! {
183 pio: PIOC,
184 pinopts: [
185 [pin: Pc0, peripherals: [A]],
186 [pin: Pc1, peripherals: [A]],
187 [pin: Pc2, peripherals: [A]],
188 [pin: Pc3, peripherals: [A, B]],
189 [pin: Pc4, peripherals: [A, B]],
190 [pin: Pc5, peripherals: [A, B]],
191 [pin: Pc6, peripherals: [A, B]],
192 [pin: Pc7, peripherals: [A, B]],
193 [pin: Pc8, peripherals: [A, B]],
194 [pin: Pc9, peripherals: [A, B]],
195 [pin: Pc10, peripherals: [A, B]],
196 [pin: Pc11, peripherals: [A, B]],
197 [pin: Pc12, peripherals: [A, B]],
198 [pin: Pc13, peripherals: [A, B]],
199 [pin: Pc14, peripherals: [A, B]],
200 [pin: Pc15, peripherals: [A]],
201 [pin: Pc16, peripherals: [A, B]],
202 [pin: Pc17, peripherals: [A]],
203 [pin: Pc18, peripherals: [A]],
204 [pin: Pc19, peripherals: [A, B]],
205 [pin: Pc20, peripherals: [A]],
206 [pin: Pc21, peripherals: [A]],
207 [pin: Pc22, peripherals: [A]],
208 [pin: Pc23, peripherals: [A]],
209 [pin: Pc24, peripherals: [A, B]],
210 [pin: Pc25, peripherals: [A, B]],
211 [pin: Pc26, peripherals: [A, B]],
212 [pin: Pc27, peripherals: [A, B]],
213 [pin: Pc28, peripherals: [B]],
214 [pin: Pc29, peripherals: [A, B]],
215 [pin: Pc30, peripherals: [A, B]],
216 [pin: Pc31, peripherals: [A, B]],
217 ],
218}