]>
Commit | Line | Data |
---|---|---|
2ba384e6 JH |
1 | /* |
2 | * PIC32 pinctrl driver | |
3 | * | |
4 | * Joshua Henderson, <[email protected]> | |
5 | * Copyright (C) 2015 Microchip Technology Inc. All rights reserved. | |
6 | * | |
7 | * This program is free software; you can distribute it and/or modify it | |
8 | * under the terms of the GNU General Public License (Version 2) as | |
9 | * published by the Free Software Foundation. | |
10 | * | |
11 | * This program is distributed in the hope it will be useful, but WITHOUT | |
12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
14 | * for more details. | |
15 | */ | |
16 | #include <linux/clk.h> | |
17 | #include <linux/gpio/driver.h> | |
18 | #include <linux/interrupt.h> | |
19 | #include <linux/io.h> | |
20 | #include <linux/irq.h> | |
21 | #include <linux/of.h> | |
22 | #include <linux/of_device.h> | |
23 | #include <linux/pinctrl/pinconf.h> | |
24 | #include <linux/pinctrl/pinconf-generic.h> | |
25 | #include <linux/pinctrl/pinctrl.h> | |
26 | #include <linux/pinctrl/pinmux.h> | |
27 | #include <linux/platform_device.h> | |
28 | #include <linux/slab.h> | |
29 | #include <linux/spinlock.h> | |
30 | ||
31 | #include <asm/mach-pic32/pic32.h> | |
32 | ||
33 | #include "pinctrl-utils.h" | |
34 | #include "pinctrl-pic32.h" | |
35 | ||
36 | #define PINS_PER_BANK 16 | |
37 | ||
38 | #define PIC32_CNCON_EDGE 11 | |
39 | #define PIC32_CNCON_ON 15 | |
40 | ||
41 | #define PIN_CONFIG_MICROCHIP_DIGITAL (PIN_CONFIG_END + 1) | |
42 | #define PIN_CONFIG_MICROCHIP_ANALOG (PIN_CONFIG_END + 2) | |
43 | ||
44 | static const struct pinconf_generic_params pic32_mpp_bindings[] = { | |
45 | {"microchip,digital", PIN_CONFIG_MICROCHIP_DIGITAL, 0}, | |
46 | {"microchip,analog", PIN_CONFIG_MICROCHIP_ANALOG, 0}, | |
47 | }; | |
48 | ||
49 | #define GPIO_BANK_START(bank) ((bank) * PINS_PER_BANK) | |
50 | ||
51 | struct pic32_function { | |
52 | const char *name; | |
53 | const char * const *groups; | |
54 | unsigned int ngroups; | |
55 | }; | |
56 | ||
57 | struct pic32_pin_group { | |
58 | const char *name; | |
59 | unsigned int pin; | |
60 | struct pic32_desc_function *functions; | |
61 | }; | |
62 | ||
63 | struct pic32_desc_function { | |
64 | const char *name; | |
65 | u32 muxreg; | |
66 | u32 muxval; | |
67 | }; | |
68 | ||
69 | struct pic32_gpio_bank { | |
70 | void __iomem *reg_base; | |
71 | struct gpio_chip gpio_chip; | |
72 | struct irq_chip irq_chip; | |
73 | struct clk *clk; | |
74 | }; | |
75 | ||
76 | struct pic32_pinctrl { | |
77 | void __iomem *reg_base; | |
78 | struct device *dev; | |
79 | struct pinctrl_dev *pctldev; | |
80 | const struct pinctrl_pin_desc *pins; | |
81 | unsigned int npins; | |
82 | const struct pic32_function *functions; | |
83 | unsigned int nfunctions; | |
84 | const struct pic32_pin_group *groups; | |
85 | unsigned int ngroups; | |
86 | struct pic32_gpio_bank *gpio_banks; | |
87 | unsigned int nbanks; | |
88 | struct clk *clk; | |
89 | }; | |
90 | ||
91 | static const struct pinctrl_pin_desc pic32_pins[] = { | |
92 | PINCTRL_PIN(0, "A0"), | |
93 | PINCTRL_PIN(1, "A1"), | |
94 | PINCTRL_PIN(2, "A2"), | |
95 | PINCTRL_PIN(3, "A3"), | |
96 | PINCTRL_PIN(4, "A4"), | |
97 | PINCTRL_PIN(5, "A5"), | |
98 | PINCTRL_PIN(6, "A6"), | |
99 | PINCTRL_PIN(7, "A7"), | |
100 | PINCTRL_PIN(8, "A8"), | |
101 | PINCTRL_PIN(9, "A9"), | |
102 | PINCTRL_PIN(10, "A10"), | |
103 | PINCTRL_PIN(11, "A11"), | |
104 | PINCTRL_PIN(12, "A12"), | |
105 | PINCTRL_PIN(13, "A13"), | |
106 | PINCTRL_PIN(14, "A14"), | |
107 | PINCTRL_PIN(15, "A15"), | |
108 | PINCTRL_PIN(16, "B0"), | |
109 | PINCTRL_PIN(17, "B1"), | |
110 | PINCTRL_PIN(18, "B2"), | |
111 | PINCTRL_PIN(19, "B3"), | |
112 | PINCTRL_PIN(20, "B4"), | |
113 | PINCTRL_PIN(21, "B5"), | |
114 | PINCTRL_PIN(22, "B6"), | |
115 | PINCTRL_PIN(23, "B7"), | |
116 | PINCTRL_PIN(24, "B8"), | |
117 | PINCTRL_PIN(25, "B9"), | |
118 | PINCTRL_PIN(26, "B10"), | |
119 | PINCTRL_PIN(27, "B11"), | |
120 | PINCTRL_PIN(28, "B12"), | |
121 | PINCTRL_PIN(29, "B13"), | |
122 | PINCTRL_PIN(30, "B14"), | |
123 | PINCTRL_PIN(31, "B15"), | |
124 | PINCTRL_PIN(33, "C1"), | |
125 | PINCTRL_PIN(34, "C2"), | |
126 | PINCTRL_PIN(35, "C3"), | |
127 | PINCTRL_PIN(36, "C4"), | |
128 | PINCTRL_PIN(44, "C12"), | |
129 | PINCTRL_PIN(45, "C13"), | |
130 | PINCTRL_PIN(46, "C14"), | |
131 | PINCTRL_PIN(47, "C15"), | |
132 | PINCTRL_PIN(48, "D0"), | |
133 | PINCTRL_PIN(49, "D1"), | |
134 | PINCTRL_PIN(50, "D2"), | |
135 | PINCTRL_PIN(51, "D3"), | |
136 | PINCTRL_PIN(52, "D4"), | |
137 | PINCTRL_PIN(53, "D5"), | |
138 | PINCTRL_PIN(54, "D6"), | |
139 | PINCTRL_PIN(55, "D7"), | |
140 | PINCTRL_PIN(57, "D9"), | |
141 | PINCTRL_PIN(58, "D10"), | |
142 | PINCTRL_PIN(59, "D11"), | |
143 | PINCTRL_PIN(60, "D12"), | |
144 | PINCTRL_PIN(61, "D13"), | |
145 | PINCTRL_PIN(62, "D14"), | |
146 | PINCTRL_PIN(63, "D15"), | |
147 | PINCTRL_PIN(64, "E0"), | |
148 | PINCTRL_PIN(65, "E1"), | |
149 | PINCTRL_PIN(66, "E2"), | |
150 | PINCTRL_PIN(67, "E3"), | |
151 | PINCTRL_PIN(68, "E4"), | |
152 | PINCTRL_PIN(69, "E5"), | |
153 | PINCTRL_PIN(70, "E6"), | |
154 | PINCTRL_PIN(71, "E7"), | |
155 | PINCTRL_PIN(72, "E8"), | |
156 | PINCTRL_PIN(73, "E9"), | |
157 | PINCTRL_PIN(80, "F0"), | |
158 | PINCTRL_PIN(81, "F1"), | |
159 | PINCTRL_PIN(82, "F2"), | |
160 | PINCTRL_PIN(83, "F3"), | |
161 | PINCTRL_PIN(84, "F4"), | |
162 | PINCTRL_PIN(85, "F5"), | |
163 | PINCTRL_PIN(88, "F8"), | |
164 | PINCTRL_PIN(92, "F12"), | |
165 | PINCTRL_PIN(93, "F13"), | |
166 | PINCTRL_PIN(96, "G0"), | |
167 | PINCTRL_PIN(97, "G1"), | |
168 | PINCTRL_PIN(102, "G6"), | |
169 | PINCTRL_PIN(103, "G7"), | |
170 | PINCTRL_PIN(104, "G8"), | |
171 | PINCTRL_PIN(105, "G9"), | |
172 | PINCTRL_PIN(108, "G12"), | |
173 | PINCTRL_PIN(109, "G13"), | |
174 | PINCTRL_PIN(110, "G14"), | |
175 | PINCTRL_PIN(111, "G15"), | |
176 | PINCTRL_PIN(112, "H0"), | |
177 | PINCTRL_PIN(113, "H1"), | |
178 | PINCTRL_PIN(114, "H2"), | |
179 | PINCTRL_PIN(115, "H3"), | |
180 | PINCTRL_PIN(116, "H4"), | |
181 | PINCTRL_PIN(117, "H5"), | |
182 | PINCTRL_PIN(118, "H6"), | |
183 | PINCTRL_PIN(119, "H7"), | |
184 | PINCTRL_PIN(120, "H8"), | |
185 | PINCTRL_PIN(121, "H9"), | |
186 | PINCTRL_PIN(122, "H10"), | |
187 | PINCTRL_PIN(123, "H11"), | |
188 | PINCTRL_PIN(124, "H12"), | |
189 | PINCTRL_PIN(125, "H13"), | |
190 | PINCTRL_PIN(126, "H14"), | |
191 | PINCTRL_PIN(127, "H15"), | |
192 | PINCTRL_PIN(128, "J0"), | |
193 | PINCTRL_PIN(129, "J1"), | |
194 | PINCTRL_PIN(130, "J2"), | |
195 | PINCTRL_PIN(131, "J3"), | |
196 | PINCTRL_PIN(132, "J4"), | |
197 | PINCTRL_PIN(133, "J5"), | |
198 | PINCTRL_PIN(134, "J6"), | |
199 | PINCTRL_PIN(135, "J7"), | |
200 | PINCTRL_PIN(136, "J8"), | |
201 | PINCTRL_PIN(137, "J9"), | |
202 | PINCTRL_PIN(138, "J10"), | |
203 | PINCTRL_PIN(139, "J11"), | |
204 | PINCTRL_PIN(140, "J12"), | |
205 | PINCTRL_PIN(141, "J13"), | |
206 | PINCTRL_PIN(142, "J14"), | |
207 | PINCTRL_PIN(143, "J15"), | |
208 | PINCTRL_PIN(144, "K0"), | |
209 | PINCTRL_PIN(145, "K1"), | |
210 | PINCTRL_PIN(146, "K2"), | |
211 | PINCTRL_PIN(147, "K3"), | |
212 | PINCTRL_PIN(148, "K4"), | |
213 | PINCTRL_PIN(149, "K5"), | |
214 | PINCTRL_PIN(150, "K6"), | |
215 | PINCTRL_PIN(151, "K7"), | |
216 | }; | |
217 | ||
218 | static const char * const pic32_input0_group[] = { | |
219 | "D2", "G8", "F4", "F1", "B9", "B10", "C14", "B5", | |
220 | "C1", "D14", "G1", "A14", "D6", | |
221 | }; | |
222 | ||
223 | static const char * const pic32_input1_group[] = { | |
224 | "D3", "G7", "F5", "D11", "F0", "B1", "E5", "C13", | |
225 | "B3", "C4", "G0", "A15", "D7", | |
226 | }; | |
227 | ||
228 | static const char * const pic32_input2_group[] = { | |
229 | "D9", "G6", "B8", "B15", "D4", "B0", "E3", "B7", | |
230 | "F12", "D12", "F8", "C3", "E9", | |
231 | }; | |
232 | ||
233 | static const char * const pic32_input3_group[] = { | |
234 | "G9", "B14", "D0", "B6", "D5", "B2", "F3", "F13", | |
235 | "F2", "C2", "E8", | |
236 | }; | |
237 | ||
238 | static const char * const pic32_output0_group[] = { | |
239 | "D2", "G8", "F4", "D10", "F1", "B9", "B10", "C14", | |
240 | "B5", "C1", "D14", "G1", "A14", "D6", | |
241 | }; | |
242 | ||
243 | static const char * const pic32_output0_1_group[] = { | |
244 | "D2", "G8", "F4", "D10", "F1", "B9", "B10", "C14", | |
245 | "B5", "C1", "D14", "G1", "A14", "D6", | |
246 | "D3", "G7", "F5", "D11", "F0", "B1", "E5", "C13", | |
247 | "B3", "C4", "D15", "G0", "A15", "D7", | |
248 | }; | |
249 | ||
250 | static const char *const pic32_output1_group[] = { | |
251 | "D3", "G7", "F5", "D11", "F0", "B1", "E5", "C13", | |
252 | "B3", "C4", "D15", "G0", "A15", "D7", | |
253 | }; | |
254 | ||
255 | static const char *const pic32_output1_3_group[] = { | |
256 | "D3", "G7", "F5", "D11", "F0", "B1", "E5", "C13", | |
257 | "B3", "C4", "D15", "G0", "A15", "D7", | |
258 | "G9", "B14", "D0", "B6", "D5", "B2", "F3", "F13", | |
259 | "C2", "E8", "F2", | |
260 | }; | |
261 | ||
262 | static const char * const pic32_output2_group[] = { | |
263 | "D9", "G6", "B8", "B15", "D4", "B0", "E3", "B7", | |
264 | "F12", "D12", "F8", "C3", "E9", | |
265 | }; | |
266 | ||
267 | static const char * const pic32_output2_3_group[] = { | |
268 | "D9", "G6", "B8", "B15", "D4", "B0", "E3", "B7", | |
269 | "F12", "D12", "F8", "C3", "E9", | |
270 | "G9", "B14", "D0", "B6", "D5", "B2", "F3", "F13", | |
271 | "C2", "E8", "F2", | |
272 | }; | |
273 | ||
274 | static const char * const pic32_output3_group[] = { | |
275 | "G9", "B14", "D0", "B6", "D5", "B2", "F3", "F13", | |
276 | "C2", "E8", "F2", | |
277 | }; | |
278 | ||
279 | #define FUNCTION(_name, _gr) \ | |
280 | { \ | |
281 | .name = #_name, \ | |
282 | .groups = pic32_##_gr##_group, \ | |
283 | .ngroups = ARRAY_SIZE(pic32_##_gr##_group), \ | |
284 | } | |
285 | ||
286 | static const struct pic32_function pic32_functions[] = { | |
287 | FUNCTION(INT3, input0), | |
288 | FUNCTION(T2CK, input0), | |
289 | FUNCTION(T6CK, input0), | |
290 | FUNCTION(IC3, input0), | |
291 | FUNCTION(IC7, input0), | |
292 | FUNCTION(U1RX, input0), | |
293 | FUNCTION(U2CTS, input0), | |
294 | FUNCTION(U5RX, input0), | |
295 | FUNCTION(U6CTS, input0), | |
296 | FUNCTION(SDI1, input0), | |
297 | FUNCTION(SDI3, input0), | |
298 | FUNCTION(SDI5, input0), | |
299 | FUNCTION(SS6IN, input0), | |
300 | FUNCTION(REFCLKI1, input0), | |
301 | FUNCTION(INT4, input1), | |
302 | FUNCTION(T5CK, input1), | |
303 | FUNCTION(T7CK, input1), | |
304 | FUNCTION(IC4, input1), | |
305 | FUNCTION(IC8, input1), | |
306 | FUNCTION(U3RX, input1), | |
307 | FUNCTION(U4CTS, input1), | |
308 | FUNCTION(SDI2, input1), | |
309 | FUNCTION(SDI4, input1), | |
310 | FUNCTION(C1RX, input1), | |
311 | FUNCTION(REFCLKI4, input1), | |
312 | FUNCTION(INT2, input2), | |
313 | FUNCTION(T3CK, input2), | |
314 | FUNCTION(T8CK, input2), | |
315 | FUNCTION(IC2, input2), | |
316 | FUNCTION(IC5, input2), | |
317 | FUNCTION(IC9, input2), | |
318 | FUNCTION(U1CTS, input2), | |
319 | FUNCTION(U2RX, input2), | |
320 | FUNCTION(U5CTS, input2), | |
321 | FUNCTION(SS1IN, input2), | |
322 | FUNCTION(SS3IN, input2), | |
323 | FUNCTION(SS4IN, input2), | |
324 | FUNCTION(SS5IN, input2), | |
325 | FUNCTION(C2RX, input2), | |
326 | FUNCTION(INT1, input3), | |
327 | FUNCTION(T4CK, input3), | |
328 | FUNCTION(T9CK, input3), | |
329 | FUNCTION(IC1, input3), | |
330 | FUNCTION(IC6, input3), | |
331 | FUNCTION(U3CTS, input3), | |
332 | FUNCTION(U4RX, input3), | |
333 | FUNCTION(U6RX, input3), | |
334 | FUNCTION(SS2IN, input3), | |
335 | FUNCTION(SDI6, input3), | |
336 | FUNCTION(OCFA, input3), | |
337 | FUNCTION(REFCLKI3, input3), | |
338 | FUNCTION(U3TX, output0), | |
339 | FUNCTION(U4RTS, output0), | |
340 | FUNCTION(SDO1, output0_1), | |
341 | FUNCTION(SDO2, output0_1), | |
342 | FUNCTION(SDO3, output0_1), | |
343 | FUNCTION(SDO5, output0_1), | |
344 | FUNCTION(SS6OUT, output0), | |
345 | FUNCTION(OC3, output0), | |
346 | FUNCTION(OC6, output0), | |
347 | FUNCTION(REFCLKO4, output0), | |
348 | FUNCTION(C2OUT, output0), | |
349 | FUNCTION(C1TX, output0), | |
350 | FUNCTION(U1TX, output1), | |
351 | FUNCTION(U2RTS, output1), | |
352 | FUNCTION(U5TX, output1), | |
353 | FUNCTION(U6RTS, output1), | |
354 | FUNCTION(SDO4, output1_3), | |
355 | FUNCTION(OC4, output1), | |
356 | FUNCTION(OC7, output1), | |
357 | FUNCTION(REFCLKO1, output1), | |
358 | FUNCTION(U3RTS, output2), | |
359 | FUNCTION(U4TX, output2), | |
360 | FUNCTION(U6TX, output2_3), | |
361 | FUNCTION(SS1OUT, output2), | |
362 | FUNCTION(SS3OUT, output2), | |
363 | FUNCTION(SS4OUT, output2), | |
364 | FUNCTION(SS5OUT, output2), | |
365 | FUNCTION(SDO6, output2_3), | |
366 | FUNCTION(OC5, output2), | |
367 | FUNCTION(OC8, output2), | |
368 | FUNCTION(C1OUT, output2), | |
369 | FUNCTION(REFCLKO3, output2), | |
370 | FUNCTION(U1RTS, output3), | |
371 | FUNCTION(U2TX, output3), | |
372 | FUNCTION(U5RTS, output3), | |
373 | FUNCTION(SS2OUT, output3), | |
374 | FUNCTION(OC2, output3), | |
375 | FUNCTION(OC1, output3), | |
376 | FUNCTION(OC9, output3), | |
377 | FUNCTION(C2TX, output3), | |
378 | }; | |
379 | ||
380 | #define PIC32_PINCTRL_GROUP(_pin, _name, ...) \ | |
381 | { \ | |
382 | .name = #_name, \ | |
383 | .pin = _pin, \ | |
384 | .functions = (struct pic32_desc_function[]){ \ | |
385 | __VA_ARGS__, { } }, \ | |
386 | } | |
387 | ||
388 | #define PIC32_PINCTRL_FUNCTION(_name, _muxreg, _muxval) \ | |
389 | { \ | |
390 | .name = #_name, \ | |
391 | .muxreg = _muxreg, \ | |
392 | .muxval = _muxval, \ | |
393 | } | |
394 | ||
395 | static const struct pic32_pin_group pic32_groups[] = { | |
396 | PIC32_PINCTRL_GROUP(14, A14, | |
397 | PIC32_PINCTRL_FUNCTION(INT3, INT3R, 13), | |
398 | PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 13), | |
399 | PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 13), | |
400 | PIC32_PINCTRL_FUNCTION(IC3, IC3R, 13), | |
401 | PIC32_PINCTRL_FUNCTION(IC7, IC7R, 13), | |
402 | PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 13), | |
403 | PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 13), | |
404 | PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 13), | |
405 | PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 13), | |
406 | PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 13), | |
407 | PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 13), | |
408 | PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 13), | |
409 | PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 13), | |
410 | PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 13), | |
411 | PIC32_PINCTRL_FUNCTION(U3TX, RPA14R, 1), | |
412 | PIC32_PINCTRL_FUNCTION(U4RTS, RPA14R, 2), | |
413 | PIC32_PINCTRL_FUNCTION(SDO1, RPA14R, 5), | |
414 | PIC32_PINCTRL_FUNCTION(SDO2, RPA14R, 6), | |
415 | PIC32_PINCTRL_FUNCTION(SDO3, RPA14R, 7), | |
416 | PIC32_PINCTRL_FUNCTION(SDO5, RPA14R, 9), | |
417 | PIC32_PINCTRL_FUNCTION(SS6OUT, RPA14R, 10), | |
418 | PIC32_PINCTRL_FUNCTION(OC3, RPA14R, 11), | |
419 | PIC32_PINCTRL_FUNCTION(OC6, RPA14R, 12), | |
420 | PIC32_PINCTRL_FUNCTION(REFCLKO4, RPA14R, 13), | |
421 | PIC32_PINCTRL_FUNCTION(C2OUT, RPA14R, 14), | |
422 | PIC32_PINCTRL_FUNCTION(C1TX, RPA14R, 15)), | |
423 | PIC32_PINCTRL_GROUP(15, A15, | |
424 | PIC32_PINCTRL_FUNCTION(INT4, INT4R, 13), | |
425 | PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 13), | |
426 | PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 13), | |
427 | PIC32_PINCTRL_FUNCTION(IC4, IC4R, 13), | |
428 | PIC32_PINCTRL_FUNCTION(IC8, IC8R, 13), | |
429 | PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 13), | |
430 | PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 13), | |
431 | PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 13), | |
432 | PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 13), | |
433 | PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 13), | |
434 | PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 13), | |
435 | PIC32_PINCTRL_FUNCTION(U1TX, RPA15R, 1), | |
436 | PIC32_PINCTRL_FUNCTION(U2RTS, RPA15R, 2), | |
437 | PIC32_PINCTRL_FUNCTION(U5TX, RPA15R, 3), | |
438 | PIC32_PINCTRL_FUNCTION(U6RTS, RPA15R, 4), | |
439 | PIC32_PINCTRL_FUNCTION(SDO1, RPA15R, 5), | |
440 | PIC32_PINCTRL_FUNCTION(SDO2, RPA15R, 6), | |
441 | PIC32_PINCTRL_FUNCTION(SDO3, RPA15R, 7), | |
442 | PIC32_PINCTRL_FUNCTION(SDO4, RPA15R, 8), | |
443 | PIC32_PINCTRL_FUNCTION(SDO5, RPA15R, 9), | |
444 | PIC32_PINCTRL_FUNCTION(OC4, RPA15R, 11), | |
445 | PIC32_PINCTRL_FUNCTION(OC7, RPA15R, 12), | |
446 | PIC32_PINCTRL_FUNCTION(REFCLKO1, RPA15R, 15)), | |
447 | PIC32_PINCTRL_GROUP(16, B0, | |
448 | PIC32_PINCTRL_FUNCTION(INT2, INT2R, 5), | |
449 | PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 5), | |
450 | PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 5), | |
451 | PIC32_PINCTRL_FUNCTION(IC2, IC2R, 5), | |
452 | PIC32_PINCTRL_FUNCTION(IC5, IC5R, 5), | |
453 | PIC32_PINCTRL_FUNCTION(IC9, IC9R, 5), | |
454 | PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 5), | |
455 | PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 5), | |
456 | PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 5), | |
457 | PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 5), | |
458 | PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 5), | |
459 | PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 5), | |
460 | PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 5), | |
461 | PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 5), | |
462 | PIC32_PINCTRL_FUNCTION(U3RTS, RPB0R, 1), | |
463 | PIC32_PINCTRL_FUNCTION(U4TX, RPB0R, 2), | |
464 | PIC32_PINCTRL_FUNCTION(U6TX, RPB0R, 4), | |
465 | PIC32_PINCTRL_FUNCTION(SS1OUT, RPB0R, 5), | |
466 | PIC32_PINCTRL_FUNCTION(SS3OUT, RPB0R, 7), | |
467 | PIC32_PINCTRL_FUNCTION(SS4OUT, RPB0R, 8), | |
468 | PIC32_PINCTRL_FUNCTION(SS5OUT, RPB0R, 9), | |
469 | PIC32_PINCTRL_FUNCTION(SDO6, RPB0R, 10), | |
470 | PIC32_PINCTRL_FUNCTION(OC5, RPB0R, 11), | |
471 | PIC32_PINCTRL_FUNCTION(OC8, RPB0R, 12), | |
472 | PIC32_PINCTRL_FUNCTION(C1OUT, RPB0R, 14), | |
473 | PIC32_PINCTRL_FUNCTION(REFCLKO3, RPB0R, 15)), | |
474 | PIC32_PINCTRL_GROUP(17, B1, | |
475 | PIC32_PINCTRL_FUNCTION(INT4, INT4R, 5), | |
476 | PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 5), | |
477 | PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 5), | |
478 | PIC32_PINCTRL_FUNCTION(IC4, IC4R, 5), | |
479 | PIC32_PINCTRL_FUNCTION(IC8, IC8R, 5), | |
480 | PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 5), | |
481 | PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 5), | |
482 | PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 5), | |
483 | PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 5), | |
484 | PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 5), | |
485 | PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 5), | |
486 | PIC32_PINCTRL_FUNCTION(U1TX, RPB1R, 1), | |
487 | PIC32_PINCTRL_FUNCTION(U2RTS, RPB1R, 2), | |
488 | PIC32_PINCTRL_FUNCTION(U5TX, RPB1R, 3), | |
489 | PIC32_PINCTRL_FUNCTION(U6RTS, RPB1R, 4), | |
490 | PIC32_PINCTRL_FUNCTION(SDO1, RPB1R, 5), | |
491 | PIC32_PINCTRL_FUNCTION(SDO2, RPB1R, 6), | |
492 | PIC32_PINCTRL_FUNCTION(SDO3, RPB1R, 7), | |
493 | PIC32_PINCTRL_FUNCTION(SDO4, RPB1R, 8), | |
494 | PIC32_PINCTRL_FUNCTION(SDO5, RPB1R, 9), | |
495 | PIC32_PINCTRL_FUNCTION(OC4, RPB1R, 11), | |
496 | PIC32_PINCTRL_FUNCTION(OC7, RPB1R, 12), | |
497 | PIC32_PINCTRL_FUNCTION(REFCLKO1, RPB1R, 15)), | |
498 | PIC32_PINCTRL_GROUP(18, B2, | |
499 | PIC32_PINCTRL_FUNCTION(INT1, INT1R, 7), | |
500 | PIC32_PINCTRL_FUNCTION(T4CK, T4CKR, 7), | |
501 | PIC32_PINCTRL_FUNCTION(T9CK, T9CKR, 7), | |
502 | PIC32_PINCTRL_FUNCTION(IC1, IC1R, 7), | |
503 | PIC32_PINCTRL_FUNCTION(IC6, IC6R, 7), | |
504 | PIC32_PINCTRL_FUNCTION(U3CTS, U3CTSR, 7), | |
505 | PIC32_PINCTRL_FUNCTION(U4RX, U4RXR, 7), | |
506 | PIC32_PINCTRL_FUNCTION(U6RX, U6RXR, 7), | |
507 | PIC32_PINCTRL_FUNCTION(SS2IN, SS2INR, 7), | |
508 | PIC32_PINCTRL_FUNCTION(SDI6, SDI6R, 7), | |
509 | PIC32_PINCTRL_FUNCTION(OCFA, OCFAR, 7), | |
510 | PIC32_PINCTRL_FUNCTION(REFCLKI3, REFCLKI3R, 7), | |
511 | PIC32_PINCTRL_FUNCTION(U1RTS, RPB2R, 1), | |
512 | PIC32_PINCTRL_FUNCTION(U2TX, RPB2R, 2), | |
513 | PIC32_PINCTRL_FUNCTION(U5RTS, RPB2R, 3), | |
514 | PIC32_PINCTRL_FUNCTION(U6TX, RPB2R, 4), | |
515 | PIC32_PINCTRL_FUNCTION(SS2OUT, RPB2R, 6), | |
516 | PIC32_PINCTRL_FUNCTION(SDO4, RPB2R, 8), | |
517 | PIC32_PINCTRL_FUNCTION(SDO6, RPB2R, 10), | |
518 | PIC32_PINCTRL_FUNCTION(OC2, RPB2R, 11), | |
519 | PIC32_PINCTRL_FUNCTION(OC1, RPB2R, 12), | |
520 | PIC32_PINCTRL_FUNCTION(OC9, RPB2R, 13), | |
521 | PIC32_PINCTRL_FUNCTION(C2TX, RPB2R, 15)), | |
522 | PIC32_PINCTRL_GROUP(19, B3, | |
523 | PIC32_PINCTRL_FUNCTION(INT4, INT4R, 8), | |
524 | PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 8), | |
525 | PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 8), | |
526 | PIC32_PINCTRL_FUNCTION(IC4, IC4R, 8), | |
527 | PIC32_PINCTRL_FUNCTION(IC8, IC8R, 8), | |
528 | PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 8), | |
529 | PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 8), | |
530 | PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 8), | |
531 | PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 8), | |
532 | PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 8), | |
533 | PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 8), | |
534 | PIC32_PINCTRL_FUNCTION(U1TX, RPB3R, 1), | |
535 | PIC32_PINCTRL_FUNCTION(U2RTS, RPB3R, 2), | |
536 | PIC32_PINCTRL_FUNCTION(U5TX, RPB3R, 3), | |
537 | PIC32_PINCTRL_FUNCTION(U6RTS, RPB3R, 4), | |
538 | PIC32_PINCTRL_FUNCTION(SDO1, RPB3R, 5), | |
539 | PIC32_PINCTRL_FUNCTION(SDO2, RPB3R, 6), | |
540 | PIC32_PINCTRL_FUNCTION(SDO3, RPB3R, 7), | |
541 | PIC32_PINCTRL_FUNCTION(SDO4, RPB3R, 8), | |
542 | PIC32_PINCTRL_FUNCTION(SDO5, RPB3R, 9), | |
543 | PIC32_PINCTRL_FUNCTION(OC4, RPB3R, 11), | |
544 | PIC32_PINCTRL_FUNCTION(OC7, RPB3R, 12), | |
545 | PIC32_PINCTRL_FUNCTION(REFCLKO1, RPB3R, 15)), | |
546 | PIC32_PINCTRL_GROUP(21, B5, | |
547 | PIC32_PINCTRL_FUNCTION(INT3, INT3R, 8), | |
548 | PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 8), | |
549 | PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 8), | |
550 | PIC32_PINCTRL_FUNCTION(IC3, IC3R, 8), | |
551 | PIC32_PINCTRL_FUNCTION(IC7, IC7R, 8), | |
552 | PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 8), | |
553 | PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 8), | |
554 | PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 8), | |
555 | PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 8), | |
556 | PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 8), | |
557 | PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 8), | |
558 | PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 8), | |
559 | PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 8), | |
560 | PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 8), | |
561 | PIC32_PINCTRL_FUNCTION(U3TX, RPB5R, 1), | |
562 | PIC32_PINCTRL_FUNCTION(U4RTS, RPB5R, 2), | |
563 | PIC32_PINCTRL_FUNCTION(SDO1, RPB5R, 5), | |
564 | PIC32_PINCTRL_FUNCTION(SDO2, RPB5R, 6), | |
565 | PIC32_PINCTRL_FUNCTION(SDO3, RPB5R, 7), | |
566 | PIC32_PINCTRL_FUNCTION(SDO5, RPB5R, 9), | |
567 | PIC32_PINCTRL_FUNCTION(SS6OUT, RPB5R, 10), | |
568 | PIC32_PINCTRL_FUNCTION(OC3, RPB5R, 11), | |
569 | PIC32_PINCTRL_FUNCTION(OC6, RPB5R, 12), | |
570 | PIC32_PINCTRL_FUNCTION(REFCLKO4, RPB5R, 13), | |
571 | PIC32_PINCTRL_FUNCTION(C2OUT, RPB5R, 14), | |
572 | PIC32_PINCTRL_FUNCTION(C1TX, RPB5R, 15)), | |
573 | PIC32_PINCTRL_GROUP(22, B6, | |
574 | PIC32_PINCTRL_FUNCTION(INT1, INT1R, 4), | |
575 | PIC32_PINCTRL_FUNCTION(T4CK, T4CKR, 4), | |
576 | PIC32_PINCTRL_FUNCTION(T9CK, T9CKR, 4), | |
577 | PIC32_PINCTRL_FUNCTION(IC1, IC1R, 4), | |
578 | PIC32_PINCTRL_FUNCTION(IC6, IC6R, 4), | |
579 | PIC32_PINCTRL_FUNCTION(U3CTS, U3CTSR, 4), | |
580 | PIC32_PINCTRL_FUNCTION(U4RX, U4RXR, 4), | |
581 | PIC32_PINCTRL_FUNCTION(U6RX, U6RXR, 4), | |
582 | PIC32_PINCTRL_FUNCTION(SS2IN, SS2INR, 4), | |
583 | PIC32_PINCTRL_FUNCTION(SDI6, SDI6R, 4), | |
584 | PIC32_PINCTRL_FUNCTION(OCFA, OCFAR, 4), | |
585 | PIC32_PINCTRL_FUNCTION(REFCLKI3, REFCLKI3R, 4), | |
586 | PIC32_PINCTRL_FUNCTION(U1RTS, RPB6R, 1), | |
587 | PIC32_PINCTRL_FUNCTION(U2TX, RPB6R, 2), | |
588 | PIC32_PINCTRL_FUNCTION(U5RTS, RPB6R, 3), | |
589 | PIC32_PINCTRL_FUNCTION(U6TX, RPB6R, 4), | |
590 | PIC32_PINCTRL_FUNCTION(SS2OUT, RPB6R, 6), | |
591 | PIC32_PINCTRL_FUNCTION(SDO4, RPB6R, 8), | |
592 | PIC32_PINCTRL_FUNCTION(SDO6, RPB6R, 10), | |
593 | PIC32_PINCTRL_FUNCTION(OC2, RPB6R, 11), | |
594 | PIC32_PINCTRL_FUNCTION(OC1, RPB6R, 12), | |
595 | PIC32_PINCTRL_FUNCTION(OC9, RPB6R, 13), | |
596 | PIC32_PINCTRL_FUNCTION(C2TX, RPB6R, 15)), | |
597 | PIC32_PINCTRL_GROUP(23, B7, | |
598 | PIC32_PINCTRL_FUNCTION(INT2, INT2R, 7), | |
599 | PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 7), | |
600 | PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 7), | |
601 | PIC32_PINCTRL_FUNCTION(IC2, IC2R, 7), | |
602 | PIC32_PINCTRL_FUNCTION(IC5, IC5R, 7), | |
603 | PIC32_PINCTRL_FUNCTION(IC9, IC9R, 7), | |
604 | PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 7), | |
605 | PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 7), | |
606 | PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 7), | |
607 | PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 7), | |
608 | PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 7), | |
609 | PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 7), | |
610 | PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 7), | |
611 | PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 7), | |
612 | PIC32_PINCTRL_FUNCTION(U3RTS, RPB7R, 1), | |
613 | PIC32_PINCTRL_FUNCTION(U4TX, RPB7R, 2), | |
614 | PIC32_PINCTRL_FUNCTION(U6TX, RPB7R, 4), | |
615 | PIC32_PINCTRL_FUNCTION(SS1OUT, RPB7R, 5), | |
616 | PIC32_PINCTRL_FUNCTION(SS3OUT, RPB7R, 7), | |
617 | PIC32_PINCTRL_FUNCTION(SS4OUT, RPB7R, 8), | |
618 | PIC32_PINCTRL_FUNCTION(SS5OUT, RPB7R, 9), | |
619 | PIC32_PINCTRL_FUNCTION(SDO6, RPB7R, 10), | |
620 | PIC32_PINCTRL_FUNCTION(OC5, RPB7R, 11), | |
621 | PIC32_PINCTRL_FUNCTION(OC8, RPB7R, 12), | |
622 | PIC32_PINCTRL_FUNCTION(C1OUT, RPB7R, 14), | |
623 | PIC32_PINCTRL_FUNCTION(REFCLKO3, RPB7R, 15)), | |
624 | PIC32_PINCTRL_GROUP(24, B8, | |
625 | PIC32_PINCTRL_FUNCTION(INT2, INT2R, 2), | |
626 | PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 2), | |
627 | PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 2), | |
628 | PIC32_PINCTRL_FUNCTION(IC2, IC2R, 2), | |
629 | PIC32_PINCTRL_FUNCTION(IC5, IC5R, 2), | |
630 | PIC32_PINCTRL_FUNCTION(IC9, IC9R, 2), | |
631 | PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 2), | |
632 | PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 2), | |
633 | PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 2), | |
634 | PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 2), | |
635 | PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 2), | |
636 | PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 2), | |
637 | PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 2), | |
638 | PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 2), | |
639 | PIC32_PINCTRL_FUNCTION(U3RTS, RPB8R, 1), | |
640 | PIC32_PINCTRL_FUNCTION(U4TX, RPB8R, 2), | |
641 | PIC32_PINCTRL_FUNCTION(U6TX, RPB8R, 4), | |
642 | PIC32_PINCTRL_FUNCTION(SS1OUT, RPB8R, 5), | |
643 | PIC32_PINCTRL_FUNCTION(SS3OUT, RPB8R, 7), | |
644 | PIC32_PINCTRL_FUNCTION(SS4OUT, RPB8R, 8), | |
645 | PIC32_PINCTRL_FUNCTION(SS5OUT, RPB8R, 9), | |
646 | PIC32_PINCTRL_FUNCTION(SDO6, RPB8R, 10), | |
647 | PIC32_PINCTRL_FUNCTION(OC5, RPB8R, 11), | |
648 | PIC32_PINCTRL_FUNCTION(OC8, RPB8R, 12), | |
649 | PIC32_PINCTRL_FUNCTION(C1OUT, RPB8R, 14), | |
650 | PIC32_PINCTRL_FUNCTION(REFCLKO3, RPB8R, 15)), | |
651 | PIC32_PINCTRL_GROUP(25, B9, | |
652 | PIC32_PINCTRL_FUNCTION(INT3, INT3R, 5), | |
653 | PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 5), | |
654 | PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 5), | |
655 | PIC32_PINCTRL_FUNCTION(IC3, IC3R, 5), | |
656 | PIC32_PINCTRL_FUNCTION(IC7, IC7R, 5), | |
657 | PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 5), | |
658 | PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 5), | |
659 | PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 5), | |
660 | PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 5), | |
661 | PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 5), | |
662 | PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 5), | |
663 | PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 5), | |
664 | PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 5), | |
665 | PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 5), | |
666 | PIC32_PINCTRL_FUNCTION(U3TX, RPB9R, 1), | |
667 | PIC32_PINCTRL_FUNCTION(U4RTS, RPB9R, 2), | |
668 | PIC32_PINCTRL_FUNCTION(SDO1, RPB9R, 5), | |
669 | PIC32_PINCTRL_FUNCTION(SDO2, RPB9R, 6), | |
670 | PIC32_PINCTRL_FUNCTION(SDO3, RPB9R, 7), | |
671 | PIC32_PINCTRL_FUNCTION(SDO5, RPB9R, 9), | |
672 | PIC32_PINCTRL_FUNCTION(SS6OUT, RPB9R, 10), | |
673 | PIC32_PINCTRL_FUNCTION(OC3, RPB9R, 11), | |
674 | PIC32_PINCTRL_FUNCTION(OC6, RPB9R, 12), | |
675 | PIC32_PINCTRL_FUNCTION(REFCLKO4, RPB9R, 13), | |
676 | PIC32_PINCTRL_FUNCTION(C2OUT, RPB9R, 14), | |
677 | PIC32_PINCTRL_FUNCTION(C1TX, RPB9R, 15)), | |
678 | PIC32_PINCTRL_GROUP(26, B10, | |
679 | PIC32_PINCTRL_FUNCTION(INT3, INT3R, 6), | |
680 | PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 6), | |
681 | PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 6), | |
682 | PIC32_PINCTRL_FUNCTION(IC3, IC3R, 6), | |
683 | PIC32_PINCTRL_FUNCTION(IC7, IC7R, 6), | |
684 | PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 6), | |
685 | PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 6), | |
686 | PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 6), | |
687 | PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 6), | |
688 | PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 6), | |
689 | PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 6), | |
690 | PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 6), | |
691 | PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 6), | |
692 | PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 6), | |
693 | PIC32_PINCTRL_FUNCTION(U3TX, RPB10R, 1), | |
694 | PIC32_PINCTRL_FUNCTION(U4RTS, RPB10R, 2), | |
695 | PIC32_PINCTRL_FUNCTION(SDO1, RPB10R, 5), | |
696 | PIC32_PINCTRL_FUNCTION(SDO2, RPB10R, 6), | |
697 | PIC32_PINCTRL_FUNCTION(SDO3, RPB10R, 7), | |
698 | PIC32_PINCTRL_FUNCTION(SDO5, RPB10R, 9), | |
699 | PIC32_PINCTRL_FUNCTION(SS6OUT, RPB10R, 10), | |
700 | PIC32_PINCTRL_FUNCTION(OC3, RPB10R, 11), | |
701 | PIC32_PINCTRL_FUNCTION(OC6, RPB10R, 12), | |
702 | PIC32_PINCTRL_FUNCTION(REFCLKO4, RPB10R, 13), | |
703 | PIC32_PINCTRL_FUNCTION(C2OUT, RPB10R, 14), | |
704 | PIC32_PINCTRL_FUNCTION(C1TX, RPB10R, 15)), | |
705 | PIC32_PINCTRL_GROUP(30, B14, | |
706 | PIC32_PINCTRL_FUNCTION(INT1, INT1R, 2), | |
707 | PIC32_PINCTRL_FUNCTION(T4CK, T4CKR, 2), | |
708 | PIC32_PINCTRL_FUNCTION(T9CK, T9CKR, 2), | |
709 | PIC32_PINCTRL_FUNCTION(IC1, IC1R, 2), | |
710 | PIC32_PINCTRL_FUNCTION(IC6, IC6R, 2), | |
711 | PIC32_PINCTRL_FUNCTION(U3CTS, U3CTSR, 2), | |
712 | PIC32_PINCTRL_FUNCTION(U4RX, U4RXR, 2), | |
713 | PIC32_PINCTRL_FUNCTION(U6RX, U6RXR, 2), | |
714 | PIC32_PINCTRL_FUNCTION(SS2IN, SS2INR, 2), | |
715 | PIC32_PINCTRL_FUNCTION(SDI6, SDI6R, 2), | |
716 | PIC32_PINCTRL_FUNCTION(OCFA, OCFAR, 2), | |
717 | PIC32_PINCTRL_FUNCTION(REFCLKI3, REFCLKI3R, 2), | |
718 | PIC32_PINCTRL_FUNCTION(U1RTS, RPB14R, 1), | |
719 | PIC32_PINCTRL_FUNCTION(U2TX, RPB14R, 2), | |
720 | PIC32_PINCTRL_FUNCTION(U5RTS, RPB14R, 3), | |
721 | PIC32_PINCTRL_FUNCTION(U6TX, RPB14R, 4), | |
722 | PIC32_PINCTRL_FUNCTION(SS2OUT, RPB14R, 6), | |
723 | PIC32_PINCTRL_FUNCTION(SDO4, RPB14R, 8), | |
724 | PIC32_PINCTRL_FUNCTION(SDO6, RPB14R, 10), | |
725 | PIC32_PINCTRL_FUNCTION(OC2, RPB14R, 11), | |
726 | PIC32_PINCTRL_FUNCTION(OC1, RPB14R, 12), | |
727 | PIC32_PINCTRL_FUNCTION(OC9, RPB14R, 13), | |
728 | PIC32_PINCTRL_FUNCTION(C2TX, RPB14R, 15)), | |
729 | PIC32_PINCTRL_GROUP(31, B15, | |
730 | PIC32_PINCTRL_FUNCTION(INT2, INT2R, 3), | |
731 | PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 3), | |
732 | PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 3), | |
733 | PIC32_PINCTRL_FUNCTION(IC2, IC2R, 3), | |
734 | PIC32_PINCTRL_FUNCTION(IC5, IC5R, 3), | |
735 | PIC32_PINCTRL_FUNCTION(IC9, IC9R, 3), | |
736 | PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 3), | |
737 | PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 3), | |
738 | PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 3), | |
739 | PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 3), | |
740 | PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 3), | |
741 | PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 3), | |
742 | PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 3), | |
743 | PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 3), | |
744 | PIC32_PINCTRL_FUNCTION(U3RTS, RPB15R, 1), | |
745 | PIC32_PINCTRL_FUNCTION(U4TX, RPB15R, 2), | |
746 | PIC32_PINCTRL_FUNCTION(U6TX, RPB15R, 4), | |
747 | PIC32_PINCTRL_FUNCTION(SS1OUT, RPB15R, 5), | |
748 | PIC32_PINCTRL_FUNCTION(SS3OUT, RPB15R, 7), | |
749 | PIC32_PINCTRL_FUNCTION(SS4OUT, RPB15R, 8), | |
750 | PIC32_PINCTRL_FUNCTION(SS5OUT, RPB15R, 9), | |
751 | PIC32_PINCTRL_FUNCTION(SDO6, RPB15R, 10), | |
752 | PIC32_PINCTRL_FUNCTION(OC5, RPB15R, 11), | |
753 | PIC32_PINCTRL_FUNCTION(OC8, RPB15R, 12), | |
754 | PIC32_PINCTRL_FUNCTION(C1OUT, RPB15R, 14), | |
755 | PIC32_PINCTRL_FUNCTION(REFCLKO3, RPB15R, 15)), | |
756 | PIC32_PINCTRL_GROUP(33, C1, | |
757 | PIC32_PINCTRL_FUNCTION(INT3, INT3R, 10), | |
758 | PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 10), | |
759 | PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 10), | |
760 | PIC32_PINCTRL_FUNCTION(IC3, IC3R, 10), | |
761 | PIC32_PINCTRL_FUNCTION(IC7, IC7R, 10), | |
762 | PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 10), | |
763 | PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 10), | |
764 | PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 10), | |
765 | PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 10), | |
766 | PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 10), | |
767 | PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 10), | |
768 | PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 10), | |
769 | PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 10), | |
770 | PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 10), | |
771 | PIC32_PINCTRL_FUNCTION(U3TX, RPC1R, 1), | |
772 | PIC32_PINCTRL_FUNCTION(U4RTS, RPC1R, 2), | |
773 | PIC32_PINCTRL_FUNCTION(SDO1, RPC1R, 5), | |
774 | PIC32_PINCTRL_FUNCTION(SDO2, RPC1R, 6), | |
775 | PIC32_PINCTRL_FUNCTION(SDO3, RPC1R, 7), | |
776 | PIC32_PINCTRL_FUNCTION(SDO5, RPC1R, 9), | |
777 | PIC32_PINCTRL_FUNCTION(SS6OUT, RPC1R, 10), | |
778 | PIC32_PINCTRL_FUNCTION(OC3, RPC1R, 11), | |
779 | PIC32_PINCTRL_FUNCTION(OC6, RPC1R, 12), | |
780 | PIC32_PINCTRL_FUNCTION(REFCLKO4, RPC1R, 13), | |
781 | PIC32_PINCTRL_FUNCTION(C2OUT, RPC1R, 14), | |
782 | PIC32_PINCTRL_FUNCTION(C1TX, RPC1R, 15)), | |
783 | PIC32_PINCTRL_GROUP(34, C2, | |
784 | PIC32_PINCTRL_FUNCTION(INT1, INT1R, 12), | |
785 | PIC32_PINCTRL_FUNCTION(T4CK, T4CKR, 12), | |
786 | PIC32_PINCTRL_FUNCTION(T9CK, T9CKR, 12), | |
787 | PIC32_PINCTRL_FUNCTION(IC1, IC1R, 12), | |
788 | PIC32_PINCTRL_FUNCTION(IC6, IC6R, 12), | |
789 | PIC32_PINCTRL_FUNCTION(U3CTS, U3CTSR, 12), | |
790 | PIC32_PINCTRL_FUNCTION(U4RX, U4RXR, 12), | |
791 | PIC32_PINCTRL_FUNCTION(U6RX, U6RXR, 12), | |
792 | PIC32_PINCTRL_FUNCTION(SS2IN, SS2INR, 12), | |
793 | PIC32_PINCTRL_FUNCTION(SDI6, SDI6R, 12), | |
794 | PIC32_PINCTRL_FUNCTION(OCFA, OCFAR, 12), | |
795 | PIC32_PINCTRL_FUNCTION(REFCLKI3, REFCLKI3R, 12), | |
796 | PIC32_PINCTRL_FUNCTION(U1RTS, RPC2R, 1), | |
797 | PIC32_PINCTRL_FUNCTION(U2TX, RPC2R, 2), | |
798 | PIC32_PINCTRL_FUNCTION(U5RTS, RPC2R, 3), | |
799 | PIC32_PINCTRL_FUNCTION(U6TX, RPC2R, 4), | |
800 | PIC32_PINCTRL_FUNCTION(SS2OUT, RPC2R, 6), | |
801 | PIC32_PINCTRL_FUNCTION(SDO4, RPC2R, 8), | |
802 | PIC32_PINCTRL_FUNCTION(SDO6, RPC2R, 10), | |
803 | PIC32_PINCTRL_FUNCTION(OC2, RPC2R, 11), | |
804 | PIC32_PINCTRL_FUNCTION(OC1, RPC2R, 12), | |
805 | PIC32_PINCTRL_FUNCTION(OC9, RPC2R, 13), | |
806 | PIC32_PINCTRL_FUNCTION(C2TX, RPC2R, 15)), | |
807 | PIC32_PINCTRL_GROUP(35, C3, | |
808 | PIC32_PINCTRL_FUNCTION(INT2, INT2R, 12), | |
809 | PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 12), | |
810 | PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 12), | |
811 | PIC32_PINCTRL_FUNCTION(IC2, IC2R, 12), | |
812 | PIC32_PINCTRL_FUNCTION(IC5, IC5R, 12), | |
813 | PIC32_PINCTRL_FUNCTION(IC9, IC9R, 12), | |
814 | PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 12), | |
815 | PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 12), | |
816 | PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 12), | |
817 | PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 12), | |
818 | PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 12), | |
819 | PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 12), | |
820 | PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 12), | |
821 | PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 12), | |
822 | PIC32_PINCTRL_FUNCTION(U3RTS, RPC3R, 1), | |
823 | PIC32_PINCTRL_FUNCTION(U4TX, RPC3R, 2), | |
824 | PIC32_PINCTRL_FUNCTION(U6TX, RPC3R, 4), | |
825 | PIC32_PINCTRL_FUNCTION(SS1OUT, RPC3R, 5), | |
826 | PIC32_PINCTRL_FUNCTION(SS3OUT, RPC3R, 7), | |
827 | PIC32_PINCTRL_FUNCTION(SS4OUT, RPC3R, 8), | |
828 | PIC32_PINCTRL_FUNCTION(SS5OUT, RPC3R, 9), | |
829 | PIC32_PINCTRL_FUNCTION(SDO6, RPC3R, 10), | |
830 | PIC32_PINCTRL_FUNCTION(OC5, RPC3R, 11), | |
831 | PIC32_PINCTRL_FUNCTION(OC8, RPC3R, 12), | |
832 | PIC32_PINCTRL_FUNCTION(C1OUT, RPC3R, 14), | |
833 | PIC32_PINCTRL_FUNCTION(REFCLKO3, RPC3R, 15)), | |
834 | PIC32_PINCTRL_GROUP(36, C4, | |
835 | PIC32_PINCTRL_FUNCTION(INT4, INT4R, 10), | |
836 | PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 10), | |
837 | PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 10), | |
838 | PIC32_PINCTRL_FUNCTION(IC4, IC4R, 10), | |
839 | PIC32_PINCTRL_FUNCTION(IC8, IC8R, 10), | |
840 | PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 10), | |
841 | PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 10), | |
842 | PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 10), | |
843 | PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 10), | |
844 | PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 10), | |
845 | PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 10), | |
846 | PIC32_PINCTRL_FUNCTION(U1TX, RPC4R, 1), | |
847 | PIC32_PINCTRL_FUNCTION(U2RTS, RPC4R, 2), | |
848 | PIC32_PINCTRL_FUNCTION(U5TX, RPC4R, 3), | |
849 | PIC32_PINCTRL_FUNCTION(U6RTS, RPC4R, 4), | |
850 | PIC32_PINCTRL_FUNCTION(SDO1, RPC4R, 5), | |
851 | PIC32_PINCTRL_FUNCTION(SDO2, RPC4R, 6), | |
852 | PIC32_PINCTRL_FUNCTION(SDO3, RPC4R, 7), | |
853 | PIC32_PINCTRL_FUNCTION(SDO4, RPC4R, 8), | |
854 | PIC32_PINCTRL_FUNCTION(SDO5, RPC4R, 9), | |
855 | PIC32_PINCTRL_FUNCTION(OC4, RPC4R, 11), | |
856 | PIC32_PINCTRL_FUNCTION(OC7, RPC4R, 12), | |
857 | PIC32_PINCTRL_FUNCTION(REFCLKO1, RPC4R, 15)), | |
858 | PIC32_PINCTRL_GROUP(45, C13, | |
859 | PIC32_PINCTRL_FUNCTION(INT4, INT4R, 7), | |
860 | PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 7), | |
861 | PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 7), | |
862 | PIC32_PINCTRL_FUNCTION(IC4, IC4R, 7), | |
863 | PIC32_PINCTRL_FUNCTION(IC8, IC8R, 7), | |
864 | PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 7), | |
865 | PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 7), | |
866 | PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 7), | |
867 | PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 7), | |
868 | PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 7), | |
869 | PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 7), | |
870 | PIC32_PINCTRL_FUNCTION(U1TX, RPC13R, 1), | |
871 | PIC32_PINCTRL_FUNCTION(U2RTS, RPC13R, 2), | |
872 | PIC32_PINCTRL_FUNCTION(U5TX, RPC13R, 3), | |
873 | PIC32_PINCTRL_FUNCTION(U6RTS, RPC13R, 4), | |
874 | PIC32_PINCTRL_FUNCTION(SDO1, RPC13R, 5), | |
875 | PIC32_PINCTRL_FUNCTION(SDO2, RPC13R, 6), | |
876 | PIC32_PINCTRL_FUNCTION(SDO3, RPC13R, 7), | |
877 | PIC32_PINCTRL_FUNCTION(SDO4, RPC13R, 8), | |
878 | PIC32_PINCTRL_FUNCTION(SDO5, RPC13R, 9), | |
879 | PIC32_PINCTRL_FUNCTION(OC4, RPC13R, 11), | |
880 | PIC32_PINCTRL_FUNCTION(OC7, RPC13R, 12), | |
881 | PIC32_PINCTRL_FUNCTION(REFCLKO1, RPC13R, 15)), | |
882 | PIC32_PINCTRL_GROUP(46, C14, | |
883 | PIC32_PINCTRL_FUNCTION(INT3, INT3R, 7), | |
884 | PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 7), | |
885 | PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 7), | |
886 | PIC32_PINCTRL_FUNCTION(IC3, IC3R, 7), | |
887 | PIC32_PINCTRL_FUNCTION(IC7, IC7R, 7), | |
888 | PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 7), | |
889 | PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 7), | |
890 | PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 7), | |
891 | PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 7), | |
892 | PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 7), | |
893 | PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 7), | |
894 | PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 7), | |
895 | PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 7), | |
896 | PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 7), | |
897 | PIC32_PINCTRL_FUNCTION(U3TX, RPC14R, 1), | |
898 | PIC32_PINCTRL_FUNCTION(U4RTS, RPC14R, 2), | |
899 | PIC32_PINCTRL_FUNCTION(SDO1, RPC14R, 5), | |
900 | PIC32_PINCTRL_FUNCTION(SDO2, RPC14R, 6), | |
901 | PIC32_PINCTRL_FUNCTION(SDO3, RPC14R, 7), | |
902 | PIC32_PINCTRL_FUNCTION(SDO5, RPC14R, 9), | |
903 | PIC32_PINCTRL_FUNCTION(SS6OUT, RPC14R, 10), | |
904 | PIC32_PINCTRL_FUNCTION(OC3, RPC14R, 11), | |
905 | PIC32_PINCTRL_FUNCTION(OC6, RPC14R, 12), | |
906 | PIC32_PINCTRL_FUNCTION(REFCLKO4, RPC14R, 13), | |
907 | PIC32_PINCTRL_FUNCTION(C2OUT, RPC14R, 14), | |
908 | PIC32_PINCTRL_FUNCTION(C1TX, RPC14R, 15)), | |
909 | PIC32_PINCTRL_GROUP(48, D0, | |
910 | PIC32_PINCTRL_FUNCTION(INT1, INT1R, 3), | |
911 | PIC32_PINCTRL_FUNCTION(T4CK, T4CKR, 3), | |
912 | PIC32_PINCTRL_FUNCTION(T9CK, T9CKR, 3), | |
913 | PIC32_PINCTRL_FUNCTION(IC1, IC1R, 3), | |
914 | PIC32_PINCTRL_FUNCTION(IC6, IC6R, 3), | |
915 | PIC32_PINCTRL_FUNCTION(U3CTS, U3CTSR, 3), | |
916 | PIC32_PINCTRL_FUNCTION(U4RX, U4RXR, 3), | |
917 | PIC32_PINCTRL_FUNCTION(U6RX, U6RXR, 3), | |
918 | PIC32_PINCTRL_FUNCTION(SS2IN, SS2INR, 3), | |
919 | PIC32_PINCTRL_FUNCTION(SDI6, SDI6R, 3), | |
920 | PIC32_PINCTRL_FUNCTION(OCFA, OCFAR, 3), | |
921 | PIC32_PINCTRL_FUNCTION(REFCLKI3, REFCLKI3R, 3), | |
922 | PIC32_PINCTRL_FUNCTION(U1RTS, RPD0R, 1), | |
923 | PIC32_PINCTRL_FUNCTION(U2TX, RPD0R, 2), | |
924 | PIC32_PINCTRL_FUNCTION(U5RTS, RPD0R, 3), | |
925 | PIC32_PINCTRL_FUNCTION(U6TX, RPD0R, 4), | |
926 | PIC32_PINCTRL_FUNCTION(SS2OUT, RPD0R, 6), | |
927 | PIC32_PINCTRL_FUNCTION(SDO4, RPD0R, 8), | |
928 | PIC32_PINCTRL_FUNCTION(SDO6, RPD0R, 10), | |
929 | PIC32_PINCTRL_FUNCTION(OC2, RPD0R, 11), | |
930 | PIC32_PINCTRL_FUNCTION(OC1, RPD0R, 12), | |
931 | PIC32_PINCTRL_FUNCTION(OC9, RPD0R, 13), | |
932 | PIC32_PINCTRL_FUNCTION(C2TX, RPD0R, 15)), | |
933 | PIC32_PINCTRL_GROUP(50, D2, | |
934 | PIC32_PINCTRL_FUNCTION(INT3, INT3R, 0), | |
935 | PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 0), | |
936 | PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 0), | |
937 | PIC32_PINCTRL_FUNCTION(IC3, IC3R, 0), | |
938 | PIC32_PINCTRL_FUNCTION(IC7, IC7R, 0), | |
939 | PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 0), | |
940 | PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 0), | |
941 | PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 0), | |
942 | PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 0), | |
943 | PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 0), | |
944 | PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 0), | |
945 | PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 0), | |
946 | PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 0), | |
947 | PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 0), | |
948 | PIC32_PINCTRL_FUNCTION(U3TX, RPD2R, 1), | |
949 | PIC32_PINCTRL_FUNCTION(U4RTS, RPD2R, 2), | |
950 | PIC32_PINCTRL_FUNCTION(SDO1, RPD2R, 5), | |
951 | PIC32_PINCTRL_FUNCTION(SDO2, RPD2R, 6), | |
952 | PIC32_PINCTRL_FUNCTION(SDO3, RPD2R, 7), | |
953 | PIC32_PINCTRL_FUNCTION(SDO5, RPD2R, 9), | |
954 | PIC32_PINCTRL_FUNCTION(SS6OUT, RPD2R, 10), | |
955 | PIC32_PINCTRL_FUNCTION(OC3, RPD2R, 11), | |
956 | PIC32_PINCTRL_FUNCTION(OC6, RPD2R, 12), | |
957 | PIC32_PINCTRL_FUNCTION(REFCLKO4, RPD2R, 13), | |
958 | PIC32_PINCTRL_FUNCTION(C2OUT, RPD2R, 14), | |
959 | PIC32_PINCTRL_FUNCTION(C1TX, RPD2R, 15)), | |
960 | PIC32_PINCTRL_GROUP(51, D3, | |
961 | PIC32_PINCTRL_FUNCTION(INT4, INT4R, 0), | |
962 | PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 0), | |
963 | PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 0), | |
964 | PIC32_PINCTRL_FUNCTION(IC4, IC4R, 0), | |
965 | PIC32_PINCTRL_FUNCTION(IC8, IC8R, 0), | |
966 | PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 0), | |
967 | PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 0), | |
968 | PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 0), | |
969 | PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 0), | |
970 | PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 0), | |
971 | PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 0), | |
972 | PIC32_PINCTRL_FUNCTION(U1TX, RPD3R, 1), | |
973 | PIC32_PINCTRL_FUNCTION(U2RTS, RPD3R, 2), | |
974 | PIC32_PINCTRL_FUNCTION(U5TX, RPD3R, 3), | |
975 | PIC32_PINCTRL_FUNCTION(U6RTS, RPD3R, 4), | |
976 | PIC32_PINCTRL_FUNCTION(SDO1, RPD3R, 5), | |
977 | PIC32_PINCTRL_FUNCTION(SDO2, RPD3R, 6), | |
978 | PIC32_PINCTRL_FUNCTION(SDO3, RPD3R, 7), | |
979 | PIC32_PINCTRL_FUNCTION(SDO4, RPD3R, 8), | |
980 | PIC32_PINCTRL_FUNCTION(SDO5, RPD3R, 9), | |
981 | PIC32_PINCTRL_FUNCTION(OC4, RPD3R, 11), | |
982 | PIC32_PINCTRL_FUNCTION(OC7, RPD3R, 12), | |
983 | PIC32_PINCTRL_FUNCTION(REFCLKO1, RPD3R, 15)), | |
984 | PIC32_PINCTRL_GROUP(52, D4, | |
985 | PIC32_PINCTRL_FUNCTION(INT2, INT2R, 4), | |
986 | PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 4), | |
987 | PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 4), | |
988 | PIC32_PINCTRL_FUNCTION(IC2, IC2R, 4), | |
989 | PIC32_PINCTRL_FUNCTION(IC5, IC5R, 4), | |
990 | PIC32_PINCTRL_FUNCTION(IC9, IC9R, 4), | |
991 | PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 4), | |
992 | PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 4), | |
993 | PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 4), | |
994 | PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 4), | |
995 | PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 4), | |
996 | PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 4), | |
997 | PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 4), | |
998 | PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 4), | |
999 | PIC32_PINCTRL_FUNCTION(U3RTS, RPD4R, 1), | |
1000 | PIC32_PINCTRL_FUNCTION(U4TX, RPD4R, 2), | |
1001 | PIC32_PINCTRL_FUNCTION(U6TX, RPD4R, 4), | |
1002 | PIC32_PINCTRL_FUNCTION(SS1OUT, RPD4R, 5), | |
1003 | PIC32_PINCTRL_FUNCTION(SS3OUT, RPD4R, 7), | |
1004 | PIC32_PINCTRL_FUNCTION(SS4OUT, RPD4R, 8), | |
1005 | PIC32_PINCTRL_FUNCTION(SS5OUT, RPD4R, 9), | |
1006 | PIC32_PINCTRL_FUNCTION(SDO6, RPD4R, 10), | |
1007 | PIC32_PINCTRL_FUNCTION(OC5, RPD4R, 11), | |
1008 | PIC32_PINCTRL_FUNCTION(OC8, RPD4R, 12), | |
1009 | PIC32_PINCTRL_FUNCTION(C1OUT, RPD4R, 14), | |
1010 | PIC32_PINCTRL_FUNCTION(REFCLKO3, RPD4R, 15)), | |
1011 | PIC32_PINCTRL_GROUP(53, D5, | |
1012 | PIC32_PINCTRL_FUNCTION(INT1, INT1R, 6), | |
1013 | PIC32_PINCTRL_FUNCTION(T4CK, T4CKR, 6), | |
1014 | PIC32_PINCTRL_FUNCTION(T9CK, T9CKR, 6), | |
1015 | PIC32_PINCTRL_FUNCTION(IC1, IC1R, 6), | |
1016 | PIC32_PINCTRL_FUNCTION(IC6, IC6R, 6), | |
1017 | PIC32_PINCTRL_FUNCTION(U3CTS, U3CTSR, 6), | |
1018 | PIC32_PINCTRL_FUNCTION(U4RX, U4RXR, 6), | |
1019 | PIC32_PINCTRL_FUNCTION(U6RX, U6RXR, 6), | |
1020 | PIC32_PINCTRL_FUNCTION(SS2IN, SS2INR, 6), | |
1021 | PIC32_PINCTRL_FUNCTION(SDI6, SDI6R, 6), | |
1022 | PIC32_PINCTRL_FUNCTION(OCFA, OCFAR, 6), | |
1023 | PIC32_PINCTRL_FUNCTION(REFCLKI3, REFCLKI3R, 6), | |
1024 | PIC32_PINCTRL_FUNCTION(U1RTS, RPD5R, 1), | |
1025 | PIC32_PINCTRL_FUNCTION(U2TX, RPD5R, 2), | |
1026 | PIC32_PINCTRL_FUNCTION(U5RTS, RPD5R, 3), | |
1027 | PIC32_PINCTRL_FUNCTION(U6TX, RPD5R, 4), | |
1028 | PIC32_PINCTRL_FUNCTION(SS2OUT, RPD5R, 6), | |
1029 | PIC32_PINCTRL_FUNCTION(SDO4, RPD5R, 8), | |
1030 | PIC32_PINCTRL_FUNCTION(SDO6, RPD5R, 10), | |
1031 | PIC32_PINCTRL_FUNCTION(OC2, RPD5R, 11), | |
1032 | PIC32_PINCTRL_FUNCTION(OC1, RPD5R, 12), | |
1033 | PIC32_PINCTRL_FUNCTION(OC9, RPD5R, 13), | |
1034 | PIC32_PINCTRL_FUNCTION(C2TX, RPD5R, 15)), | |
1035 | PIC32_PINCTRL_GROUP(54, D6, | |
1036 | PIC32_PINCTRL_FUNCTION(INT3, INT3R, 14), | |
1037 | PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 14), | |
1038 | PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 14), | |
1039 | PIC32_PINCTRL_FUNCTION(IC3, IC3R, 14), | |
1040 | PIC32_PINCTRL_FUNCTION(IC7, IC7R, 14), | |
1041 | PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 14), | |
1042 | PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 14), | |
1043 | PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 14), | |
1044 | PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 14), | |
1045 | PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 14), | |
1046 | PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 14), | |
1047 | PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 14), | |
1048 | PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 14), | |
1049 | PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 14), | |
1050 | PIC32_PINCTRL_FUNCTION(U3TX, RPD6R, 1), | |
1051 | PIC32_PINCTRL_FUNCTION(U4RTS, RPD6R, 2), | |
1052 | PIC32_PINCTRL_FUNCTION(SDO1, RPD6R, 5), | |
1053 | PIC32_PINCTRL_FUNCTION(SDO2, RPD6R, 6), | |
1054 | PIC32_PINCTRL_FUNCTION(SDO3, RPD6R, 7), | |
1055 | PIC32_PINCTRL_FUNCTION(SDO5, RPD6R, 9), | |
1056 | PIC32_PINCTRL_FUNCTION(SS6OUT, RPD6R, 10), | |
1057 | PIC32_PINCTRL_FUNCTION(OC3, RPD6R, 11), | |
1058 | PIC32_PINCTRL_FUNCTION(OC6, RPD6R, 12), | |
1059 | PIC32_PINCTRL_FUNCTION(REFCLKO4, RPD6R, 13), | |
1060 | PIC32_PINCTRL_FUNCTION(C2OUT, RPD6R, 14), | |
1061 | PIC32_PINCTRL_FUNCTION(C1TX, RPD6R, 15)), | |
1062 | PIC32_PINCTRL_GROUP(55, D7, | |
1063 | PIC32_PINCTRL_FUNCTION(INT4, INT4R, 14), | |
1064 | PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 14), | |
1065 | PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 14), | |
1066 | PIC32_PINCTRL_FUNCTION(IC4, IC4R, 14), | |
1067 | PIC32_PINCTRL_FUNCTION(IC8, IC8R, 14), | |
1068 | PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 14), | |
1069 | PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 14), | |
1070 | PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 14), | |
1071 | PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 14), | |
1072 | PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 14), | |
1073 | PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 14), | |
1074 | PIC32_PINCTRL_FUNCTION(U1TX, RPD7R, 1), | |
1075 | PIC32_PINCTRL_FUNCTION(U2RTS, RPD7R, 2), | |
1076 | PIC32_PINCTRL_FUNCTION(U5TX, RPD7R, 3), | |
1077 | PIC32_PINCTRL_FUNCTION(U6RTS, RPD7R, 4), | |
1078 | PIC32_PINCTRL_FUNCTION(SDO1, RPD7R, 5), | |
1079 | PIC32_PINCTRL_FUNCTION(SDO2, RPD7R, 6), | |
1080 | PIC32_PINCTRL_FUNCTION(SDO3, RPD7R, 7), | |
1081 | PIC32_PINCTRL_FUNCTION(SDO4, RPD7R, 8), | |
1082 | PIC32_PINCTRL_FUNCTION(SDO5, RPD7R, 9), | |
1083 | PIC32_PINCTRL_FUNCTION(OC4, RPD7R, 11), | |
1084 | PIC32_PINCTRL_FUNCTION(OC7, RPD7R, 12), | |
1085 | PIC32_PINCTRL_FUNCTION(REFCLKO1, RPD7R, 15)), | |
1086 | PIC32_PINCTRL_GROUP(57, D9, | |
1087 | PIC32_PINCTRL_FUNCTION(INT2, INT2R, 0), | |
1088 | PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 0), | |
1089 | PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 0), | |
1090 | PIC32_PINCTRL_FUNCTION(IC2, IC2R, 0), | |
1091 | PIC32_PINCTRL_FUNCTION(IC5, IC5R, 0), | |
1092 | PIC32_PINCTRL_FUNCTION(IC9, IC9R, 0), | |
1093 | PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 0), | |
1094 | PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 0), | |
1095 | PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 0), | |
1096 | PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 0), | |
1097 | PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 0), | |
1098 | PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 0), | |
1099 | PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 0), | |
1100 | PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 0), | |
1101 | PIC32_PINCTRL_FUNCTION(U3RTS, RPD9R, 1), | |
1102 | PIC32_PINCTRL_FUNCTION(U4TX, RPD9R, 2), | |
1103 | PIC32_PINCTRL_FUNCTION(U6TX, RPD9R, 4), | |
1104 | PIC32_PINCTRL_FUNCTION(SS1OUT, RPD9R, 5), | |
1105 | PIC32_PINCTRL_FUNCTION(SS3OUT, RPD9R, 7), | |
1106 | PIC32_PINCTRL_FUNCTION(SS4OUT, RPD9R, 8), | |
1107 | PIC32_PINCTRL_FUNCTION(SS5OUT, RPD9R, 9), | |
1108 | PIC32_PINCTRL_FUNCTION(SDO6, RPD9R, 10), | |
1109 | PIC32_PINCTRL_FUNCTION(OC5, RPD9R, 11), | |
1110 | PIC32_PINCTRL_FUNCTION(OC8, RPD9R, 12), | |
1111 | PIC32_PINCTRL_FUNCTION(C1OUT, RPD9R, 14), | |
1112 | PIC32_PINCTRL_FUNCTION(REFCLKO3, RPD9R, 15)), | |
1113 | PIC32_PINCTRL_GROUP(58, D10, | |
1114 | PIC32_PINCTRL_FUNCTION(U3TX, RPD10R, 1), | |
1115 | PIC32_PINCTRL_FUNCTION(U4RTS, RPD10R, 2), | |
1116 | PIC32_PINCTRL_FUNCTION(SDO1, RPD10R, 5), | |
1117 | PIC32_PINCTRL_FUNCTION(SDO2, RPD10R, 6), | |
1118 | PIC32_PINCTRL_FUNCTION(SDO3, RPD10R, 7), | |
1119 | PIC32_PINCTRL_FUNCTION(SDO5, RPD10R, 9), | |
1120 | PIC32_PINCTRL_FUNCTION(SS6OUT, RPD10R, 10), | |
1121 | PIC32_PINCTRL_FUNCTION(OC3, RPD10R, 11), | |
1122 | PIC32_PINCTRL_FUNCTION(OC6, RPD10R, 12), | |
1123 | PIC32_PINCTRL_FUNCTION(REFCLKO4, RPD10R, 13), | |
1124 | PIC32_PINCTRL_FUNCTION(C2OUT, RPD10R, 14), | |
1125 | PIC32_PINCTRL_FUNCTION(C1TX, RPD10R, 15)), | |
1126 | PIC32_PINCTRL_GROUP(59, D11, | |
1127 | PIC32_PINCTRL_FUNCTION(INT4, INT4R, 3), | |
1128 | PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 3), | |
1129 | PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 3), | |
1130 | PIC32_PINCTRL_FUNCTION(IC4, IC4R, 3), | |
1131 | PIC32_PINCTRL_FUNCTION(IC8, IC8R, 3), | |
1132 | PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 3), | |
1133 | PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 3), | |
1134 | PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 3), | |
1135 | PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 3), | |
1136 | PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 3), | |
1137 | PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 3), | |
1138 | PIC32_PINCTRL_FUNCTION(U1TX, RPD11R, 1), | |
1139 | PIC32_PINCTRL_FUNCTION(U2RTS, RPD11R, 2), | |
1140 | PIC32_PINCTRL_FUNCTION(U5TX, RPD11R, 3), | |
1141 | PIC32_PINCTRL_FUNCTION(U6RTS, RPD11R, 4), | |
1142 | PIC32_PINCTRL_FUNCTION(SDO1, RPD11R, 5), | |
1143 | PIC32_PINCTRL_FUNCTION(SDO2, RPD11R, 6), | |
1144 | PIC32_PINCTRL_FUNCTION(SDO3, RPD11R, 7), | |
1145 | PIC32_PINCTRL_FUNCTION(SDO4, RPD11R, 8), | |
1146 | PIC32_PINCTRL_FUNCTION(SDO5, RPD11R, 9), | |
1147 | PIC32_PINCTRL_FUNCTION(OC4, RPD11R, 11), | |
1148 | PIC32_PINCTRL_FUNCTION(OC7, RPD11R, 12), | |
1149 | PIC32_PINCTRL_FUNCTION(REFCLKO1, RPD11R, 15)), | |
1150 | PIC32_PINCTRL_GROUP(60, D12, | |
1151 | PIC32_PINCTRL_FUNCTION(INT2, INT2R, 10), | |
1152 | PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 10), | |
1153 | PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 10), | |
1154 | PIC32_PINCTRL_FUNCTION(IC2, IC2R, 10), | |
1155 | PIC32_PINCTRL_FUNCTION(IC5, IC5R, 10), | |
1156 | PIC32_PINCTRL_FUNCTION(IC9, IC9R, 10), | |
1157 | PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 10), | |
1158 | PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 10), | |
1159 | PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 10), | |
1160 | PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 10), | |
1161 | PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 10), | |
1162 | PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 10), | |
1163 | PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 10), | |
1164 | PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 10), | |
1165 | PIC32_PINCTRL_FUNCTION(U3RTS, RPD12R, 1), | |
1166 | PIC32_PINCTRL_FUNCTION(U4TX, RPD12R, 2), | |
1167 | PIC32_PINCTRL_FUNCTION(U6TX, RPD12R, 4), | |
1168 | PIC32_PINCTRL_FUNCTION(SS1OUT, RPD12R, 5), | |
1169 | PIC32_PINCTRL_FUNCTION(SS3OUT, RPD12R, 7), | |
1170 | PIC32_PINCTRL_FUNCTION(SS4OUT, RPD12R, 8), | |
1171 | PIC32_PINCTRL_FUNCTION(SS5OUT, RPD12R, 9), | |
1172 | PIC32_PINCTRL_FUNCTION(SDO6, RPD12R, 10), | |
1173 | PIC32_PINCTRL_FUNCTION(OC5, RPD12R, 11), | |
1174 | PIC32_PINCTRL_FUNCTION(OC8, RPD12R, 12), | |
1175 | PIC32_PINCTRL_FUNCTION(C1OUT, RPD12R, 14), | |
1176 | PIC32_PINCTRL_FUNCTION(REFCLKO3, RPD12R, 15)), | |
1177 | PIC32_PINCTRL_GROUP(62, D14, | |
1178 | PIC32_PINCTRL_FUNCTION(INT3, INT3R, 11), | |
1179 | PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 11), | |
1180 | PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 11), | |
1181 | PIC32_PINCTRL_FUNCTION(IC3, IC3R, 11), | |
1182 | PIC32_PINCTRL_FUNCTION(IC7, IC7R, 11), | |
1183 | PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 11), | |
1184 | PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 11), | |
1185 | PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 11), | |
1186 | PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 11), | |
1187 | PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 11), | |
1188 | PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 11), | |
1189 | PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 11), | |
1190 | PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 11), | |
1191 | PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 11), | |
1192 | PIC32_PINCTRL_FUNCTION(U3TX, RPD14R, 1), | |
1193 | PIC32_PINCTRL_FUNCTION(U4RTS, RPD14R, 2), | |
1194 | PIC32_PINCTRL_FUNCTION(SDO1, RPD14R, 5), | |
1195 | PIC32_PINCTRL_FUNCTION(SDO2, RPD14R, 6), | |
1196 | PIC32_PINCTRL_FUNCTION(SDO3, RPD14R, 7), | |
1197 | PIC32_PINCTRL_FUNCTION(SDO5, RPD14R, 9), | |
1198 | PIC32_PINCTRL_FUNCTION(SS6OUT, RPD14R, 10), | |
1199 | PIC32_PINCTRL_FUNCTION(OC3, RPD14R, 11), | |
1200 | PIC32_PINCTRL_FUNCTION(OC6, RPD14R, 12), | |
1201 | PIC32_PINCTRL_FUNCTION(REFCLKO4, RPD14R, 13), | |
1202 | PIC32_PINCTRL_FUNCTION(C2OUT, RPD14R, 14), | |
1203 | PIC32_PINCTRL_FUNCTION(C1TX, RPD14R, 15)), | |
1204 | PIC32_PINCTRL_GROUP(63, D15, | |
1205 | PIC32_PINCTRL_FUNCTION(U1TX, RPD15R, 1), | |
1206 | PIC32_PINCTRL_FUNCTION(U2RTS, RPD15R, 2), | |
1207 | PIC32_PINCTRL_FUNCTION(U5TX, RPD15R, 3), | |
1208 | PIC32_PINCTRL_FUNCTION(U6RTS, RPD15R, 4), | |
1209 | PIC32_PINCTRL_FUNCTION(SDO1, RPD15R, 5), | |
1210 | PIC32_PINCTRL_FUNCTION(SDO2, RPD15R, 6), | |
1211 | PIC32_PINCTRL_FUNCTION(SDO3, RPD15R, 7), | |
1212 | PIC32_PINCTRL_FUNCTION(SDO4, RPD15R, 8), | |
1213 | PIC32_PINCTRL_FUNCTION(SDO5, RPD15R, 9), | |
1214 | PIC32_PINCTRL_FUNCTION(OC4, RPD15R, 11), | |
1215 | PIC32_PINCTRL_FUNCTION(OC7, RPD15R, 12), | |
1216 | PIC32_PINCTRL_FUNCTION(REFCLKO1, RPD15R, 15)), | |
1217 | PIC32_PINCTRL_GROUP(67, E3, | |
1218 | PIC32_PINCTRL_FUNCTION(INT2, INT2R, 6), | |
1219 | PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 6), | |
1220 | PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 6), | |
1221 | PIC32_PINCTRL_FUNCTION(IC2, IC2R, 6), | |
1222 | PIC32_PINCTRL_FUNCTION(IC5, IC5R, 6), | |
1223 | PIC32_PINCTRL_FUNCTION(IC9, IC9R, 6), | |
1224 | PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 6), | |
1225 | PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 6), | |
1226 | PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 6), | |
1227 | PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 6), | |
1228 | PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 6), | |
1229 | PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 6), | |
1230 | PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 6), | |
1231 | PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 6), | |
1232 | PIC32_PINCTRL_FUNCTION(U3RTS, RPE3R, 1), | |
1233 | PIC32_PINCTRL_FUNCTION(U4TX, RPE3R, 2), | |
1234 | PIC32_PINCTRL_FUNCTION(U6TX, RPE3R, 4), | |
1235 | PIC32_PINCTRL_FUNCTION(SS1OUT, RPE3R, 5), | |
1236 | PIC32_PINCTRL_FUNCTION(SS3OUT, RPE3R, 7), | |
1237 | PIC32_PINCTRL_FUNCTION(SS4OUT, RPE3R, 8), | |
1238 | PIC32_PINCTRL_FUNCTION(SS5OUT, RPE3R, 9), | |
1239 | PIC32_PINCTRL_FUNCTION(SDO6, RPE3R, 10), | |
1240 | PIC32_PINCTRL_FUNCTION(OC5, RPE3R, 11), | |
1241 | PIC32_PINCTRL_FUNCTION(OC8, RPE3R, 12), | |
1242 | PIC32_PINCTRL_FUNCTION(C1OUT, RPE3R, 14), | |
1243 | PIC32_PINCTRL_FUNCTION(REFCLKO3, RPE3R, 15)), | |
1244 | PIC32_PINCTRL_GROUP(69, E5, | |
1245 | PIC32_PINCTRL_FUNCTION(INT4, INT4R, 6), | |
1246 | PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 6), | |
1247 | PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 6), | |
1248 | PIC32_PINCTRL_FUNCTION(IC4, IC4R, 6), | |
1249 | PIC32_PINCTRL_FUNCTION(IC8, IC8R, 6), | |
1250 | PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 6), | |
1251 | PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 6), | |
1252 | PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 6), | |
1253 | PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 6), | |
1254 | PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 6), | |
1255 | PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 6), | |
1256 | PIC32_PINCTRL_FUNCTION(U1TX, RPE5R, 1), | |
1257 | PIC32_PINCTRL_FUNCTION(U2RTS, RPE5R, 2), | |
1258 | PIC32_PINCTRL_FUNCTION(U5TX, RPE5R, 3), | |
1259 | PIC32_PINCTRL_FUNCTION(U6RTS, RPE5R, 4), | |
1260 | PIC32_PINCTRL_FUNCTION(SDO1, RPE5R, 5), | |
1261 | PIC32_PINCTRL_FUNCTION(SDO2, RPE5R, 6), | |
1262 | PIC32_PINCTRL_FUNCTION(SDO3, RPE5R, 7), | |
1263 | PIC32_PINCTRL_FUNCTION(SDO4, RPE5R, 8), | |
1264 | PIC32_PINCTRL_FUNCTION(SDO5, RPE5R, 9), | |
1265 | PIC32_PINCTRL_FUNCTION(OC4, RPE5R, 11), | |
1266 | PIC32_PINCTRL_FUNCTION(OC7, RPE5R, 12), | |
1267 | PIC32_PINCTRL_FUNCTION(REFCLKO1, RPE5R, 15)), | |
1268 | PIC32_PINCTRL_GROUP(72, E8, | |
1269 | PIC32_PINCTRL_FUNCTION(INT1, INT1R, 13), | |
1270 | PIC32_PINCTRL_FUNCTION(T4CK, T4CKR, 13), | |
1271 | PIC32_PINCTRL_FUNCTION(T9CK, T9CKR, 13), | |
1272 | PIC32_PINCTRL_FUNCTION(IC1, IC1R, 13), | |
1273 | PIC32_PINCTRL_FUNCTION(IC6, IC6R, 13), | |
1274 | PIC32_PINCTRL_FUNCTION(U3CTS, U3CTSR, 13), | |
1275 | PIC32_PINCTRL_FUNCTION(U4RX, U4RXR, 13), | |
1276 | PIC32_PINCTRL_FUNCTION(U6RX, U6RXR, 13), | |
1277 | PIC32_PINCTRL_FUNCTION(SS2IN, SS2INR, 13), | |
1278 | PIC32_PINCTRL_FUNCTION(SDI6, SDI6R, 13), | |
1279 | PIC32_PINCTRL_FUNCTION(OCFA, OCFAR, 13), | |
1280 | PIC32_PINCTRL_FUNCTION(REFCLKI3, REFCLKI3R, 13), | |
1281 | PIC32_PINCTRL_FUNCTION(U1RTS, RPE8R, 1), | |
1282 | PIC32_PINCTRL_FUNCTION(U2TX, RPE8R, 2), | |
1283 | PIC32_PINCTRL_FUNCTION(U5RTS, RPE8R, 3), | |
1284 | PIC32_PINCTRL_FUNCTION(U6TX, RPE8R, 4), | |
1285 | PIC32_PINCTRL_FUNCTION(SS2OUT, RPE8R, 6), | |
1286 | PIC32_PINCTRL_FUNCTION(SDO4, RPE8R, 8), | |
1287 | PIC32_PINCTRL_FUNCTION(SDO6, RPE8R, 10), | |
1288 | PIC32_PINCTRL_FUNCTION(OC2, RPE8R, 11), | |
1289 | PIC32_PINCTRL_FUNCTION(OC1, RPE8R, 12), | |
1290 | PIC32_PINCTRL_FUNCTION(OC9, RPE8R, 13), | |
1291 | PIC32_PINCTRL_FUNCTION(C2TX, RPE8R, 15)), | |
1292 | PIC32_PINCTRL_GROUP(73, E9, | |
1293 | PIC32_PINCTRL_FUNCTION(INT2, INT2R, 13), | |
1294 | PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 13), | |
1295 | PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 13), | |
1296 | PIC32_PINCTRL_FUNCTION(IC2, IC2R, 13), | |
1297 | PIC32_PINCTRL_FUNCTION(IC5, IC5R, 13), | |
1298 | PIC32_PINCTRL_FUNCTION(IC9, IC9R, 13), | |
1299 | PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 13), | |
1300 | PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 13), | |
1301 | PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 13), | |
1302 | PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 13), | |
1303 | PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 13), | |
1304 | PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 13), | |
1305 | PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 13), | |
1306 | PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 13), | |
1307 | PIC32_PINCTRL_FUNCTION(U3RTS, RPE9R, 1), | |
1308 | PIC32_PINCTRL_FUNCTION(U4TX, RPE9R, 2), | |
1309 | PIC32_PINCTRL_FUNCTION(U6TX, RPE9R, 4), | |
1310 | PIC32_PINCTRL_FUNCTION(SS1OUT, RPE9R, 5), | |
1311 | PIC32_PINCTRL_FUNCTION(SS3OUT, RPE9R, 7), | |
1312 | PIC32_PINCTRL_FUNCTION(SS4OUT, RPE9R, 8), | |
1313 | PIC32_PINCTRL_FUNCTION(SS5OUT, RPE9R, 9), | |
1314 | PIC32_PINCTRL_FUNCTION(SDO6, RPE9R, 10), | |
1315 | PIC32_PINCTRL_FUNCTION(OC5, RPE9R, 11), | |
1316 | PIC32_PINCTRL_FUNCTION(OC8, RPE9R, 12), | |
1317 | PIC32_PINCTRL_FUNCTION(C1OUT, RPE9R, 14), | |
1318 | PIC32_PINCTRL_FUNCTION(REFCLKO3, RPE9R, 15)), | |
1319 | PIC32_PINCTRL_GROUP(80, F0, | |
1320 | PIC32_PINCTRL_FUNCTION(INT4, INT4R, 4), | |
1321 | PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 4), | |
1322 | PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 4), | |
1323 | PIC32_PINCTRL_FUNCTION(IC4, IC4R, 4), | |
1324 | PIC32_PINCTRL_FUNCTION(IC8, IC8R, 4), | |
1325 | PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 4), | |
1326 | PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 4), | |
1327 | PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 4), | |
1328 | PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 4), | |
1329 | PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 4), | |
1330 | PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 4), | |
1331 | PIC32_PINCTRL_FUNCTION(U1TX, RPF0R, 1), | |
1332 | PIC32_PINCTRL_FUNCTION(U2RTS, RPF0R, 2), | |
1333 | PIC32_PINCTRL_FUNCTION(U5TX, RPF0R, 3), | |
1334 | PIC32_PINCTRL_FUNCTION(U6RTS, RPF0R, 4), | |
1335 | PIC32_PINCTRL_FUNCTION(SDO1, RPF0R, 5), | |
1336 | PIC32_PINCTRL_FUNCTION(SDO2, RPF0R, 6), | |
1337 | PIC32_PINCTRL_FUNCTION(SDO3, RPF0R, 7), | |
1338 | PIC32_PINCTRL_FUNCTION(SDO4, RPF0R, 8), | |
1339 | PIC32_PINCTRL_FUNCTION(SDO5, RPF0R, 9), | |
1340 | PIC32_PINCTRL_FUNCTION(OC4, RPF0R, 11), | |
1341 | PIC32_PINCTRL_FUNCTION(OC7, RPF0R, 12), | |
1342 | PIC32_PINCTRL_FUNCTION(REFCLKO1, RPF0R, 15)), | |
1343 | PIC32_PINCTRL_GROUP(81, F1, | |
1344 | PIC32_PINCTRL_FUNCTION(INT3, INT3R, 4), | |
1345 | PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 4), | |
1346 | PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 4), | |
1347 | PIC32_PINCTRL_FUNCTION(IC3, IC3R, 4), | |
1348 | PIC32_PINCTRL_FUNCTION(IC7, IC7R, 4), | |
1349 | PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 4), | |
1350 | PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 4), | |
1351 | PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 4), | |
1352 | PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 4), | |
1353 | PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 4), | |
1354 | PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 4), | |
1355 | PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 4), | |
1356 | PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 4), | |
1357 | PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 4), | |
1358 | PIC32_PINCTRL_FUNCTION(U3TX, RPF1R, 1), | |
1359 | PIC32_PINCTRL_FUNCTION(U4RTS, RPF1R, 2), | |
1360 | PIC32_PINCTRL_FUNCTION(SDO1, RPF1R, 5), | |
1361 | PIC32_PINCTRL_FUNCTION(SDO2, RPF1R, 6), | |
1362 | PIC32_PINCTRL_FUNCTION(SDO3, RPF1R, 7), | |
1363 | PIC32_PINCTRL_FUNCTION(SDO5, RPF1R, 9), | |
1364 | PIC32_PINCTRL_FUNCTION(SS6OUT, RPF1R, 10), | |
1365 | PIC32_PINCTRL_FUNCTION(OC3, RPF1R, 11), | |
1366 | PIC32_PINCTRL_FUNCTION(OC6, RPF1R, 12), | |
1367 | PIC32_PINCTRL_FUNCTION(REFCLKO4, RPF1R, 13), | |
1368 | PIC32_PINCTRL_FUNCTION(C2OUT, RPF1R, 14), | |
1369 | PIC32_PINCTRL_FUNCTION(C1TX, RPF1R, 15)), | |
1370 | PIC32_PINCTRL_GROUP(82, F2, | |
1371 | PIC32_PINCTRL_FUNCTION(INT1, INT1R, 11), | |
1372 | PIC32_PINCTRL_FUNCTION(T4CK, T4CKR, 11), | |
1373 | PIC32_PINCTRL_FUNCTION(T9CK, T9CKR, 11), | |
1374 | PIC32_PINCTRL_FUNCTION(IC1, IC1R, 11), | |
1375 | PIC32_PINCTRL_FUNCTION(IC6, IC6R, 11), | |
1376 | PIC32_PINCTRL_FUNCTION(U3CTS, U3CTSR, 11), | |
1377 | PIC32_PINCTRL_FUNCTION(U4RX, U4RXR, 11), | |
1378 | PIC32_PINCTRL_FUNCTION(U6RX, U6RXR, 11), | |
1379 | PIC32_PINCTRL_FUNCTION(SS2IN, SS2INR, 11), | |
1380 | PIC32_PINCTRL_FUNCTION(SDI6, SDI6R, 11), | |
1381 | PIC32_PINCTRL_FUNCTION(OCFA, OCFAR, 11), | |
1382 | PIC32_PINCTRL_FUNCTION(REFCLKI3, REFCLKI3R, 11), | |
1383 | PIC32_PINCTRL_FUNCTION(U1RTS, RPF2R, 1), | |
1384 | PIC32_PINCTRL_FUNCTION(U2TX, RPF2R, 2), | |
1385 | PIC32_PINCTRL_FUNCTION(U5RTS, RPF2R, 3), | |
1386 | PIC32_PINCTRL_FUNCTION(U6TX, RPF2R, 4), | |
1387 | PIC32_PINCTRL_FUNCTION(SS2OUT, RPF2R, 6), | |
1388 | PIC32_PINCTRL_FUNCTION(SDO4, RPF2R, 8), | |
1389 | PIC32_PINCTRL_FUNCTION(SDO6, RPF2R, 10), | |
1390 | PIC32_PINCTRL_FUNCTION(OC2, RPF2R, 11), | |
1391 | PIC32_PINCTRL_FUNCTION(OC1, RPF2R, 12), | |
1392 | PIC32_PINCTRL_FUNCTION(OC9, RPF2R, 13), | |
1393 | PIC32_PINCTRL_FUNCTION(C2TX, RPF2R, 15)), | |
1394 | PIC32_PINCTRL_GROUP(83, F3, | |
1395 | PIC32_PINCTRL_FUNCTION(INT1, INT1R, 8), | |
1396 | PIC32_PINCTRL_FUNCTION(T4CK, T4CKR, 8), | |
1397 | PIC32_PINCTRL_FUNCTION(T9CK, T9CKR, 8), | |
1398 | PIC32_PINCTRL_FUNCTION(IC1, IC1R, 8), | |
1399 | PIC32_PINCTRL_FUNCTION(IC6, IC6R, 8), | |
1400 | PIC32_PINCTRL_FUNCTION(U3CTS, U3CTSR, 8), | |
1401 | PIC32_PINCTRL_FUNCTION(U4RX, U4RXR, 8), | |
1402 | PIC32_PINCTRL_FUNCTION(U6RX, U6RXR, 8), | |
1403 | PIC32_PINCTRL_FUNCTION(SS2IN, SS2INR, 8), | |
1404 | PIC32_PINCTRL_FUNCTION(SDI6, SDI6R, 8), | |
1405 | PIC32_PINCTRL_FUNCTION(OCFA, OCFAR, 8), | |
1406 | PIC32_PINCTRL_FUNCTION(REFCLKI3, REFCLKI3R, 8), | |
1407 | PIC32_PINCTRL_FUNCTION(U1RTS, RPF3R, 1), | |
1408 | PIC32_PINCTRL_FUNCTION(U2TX, RPF3R, 2), | |
1409 | PIC32_PINCTRL_FUNCTION(U5RTS, RPF3R, 3), | |
1410 | PIC32_PINCTRL_FUNCTION(U6TX, RPF3R, 4), | |
1411 | PIC32_PINCTRL_FUNCTION(SS2OUT, RPF3R, 6), | |
1412 | PIC32_PINCTRL_FUNCTION(SDO4, RPF3R, 8), | |
1413 | PIC32_PINCTRL_FUNCTION(SDO6, RPF3R, 10), | |
1414 | PIC32_PINCTRL_FUNCTION(OC2, RPF3R, 11), | |
1415 | PIC32_PINCTRL_FUNCTION(OC1, RPF3R, 12), | |
1416 | PIC32_PINCTRL_FUNCTION(OC9, RPF3R, 13), | |
1417 | PIC32_PINCTRL_FUNCTION(C2TX, RPF3R, 15)), | |
1418 | PIC32_PINCTRL_GROUP(84, F4, | |
1419 | PIC32_PINCTRL_FUNCTION(INT3, INT3R, 2), | |
1420 | PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 2), | |
1421 | PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 2), | |
1422 | PIC32_PINCTRL_FUNCTION(IC3, IC3R, 2), | |
1423 | PIC32_PINCTRL_FUNCTION(IC7, IC7R, 2), | |
1424 | PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 2), | |
1425 | PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 2), | |
1426 | PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 2), | |
1427 | PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 2), | |
1428 | PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 2), | |
1429 | PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 2), | |
1430 | PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 2), | |
1431 | PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 2), | |
1432 | PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 2), | |
1433 | PIC32_PINCTRL_FUNCTION(U3TX, RPF4R, 1), | |
1434 | PIC32_PINCTRL_FUNCTION(U4RTS, RPF4R, 2), | |
1435 | PIC32_PINCTRL_FUNCTION(SDO1, RPF4R, 5), | |
1436 | PIC32_PINCTRL_FUNCTION(SDO2, RPF4R, 6), | |
1437 | PIC32_PINCTRL_FUNCTION(SDO3, RPF4R, 7), | |
1438 | PIC32_PINCTRL_FUNCTION(SDO5, RPF4R, 9), | |
1439 | PIC32_PINCTRL_FUNCTION(SS6OUT, RPF4R, 10), | |
1440 | PIC32_PINCTRL_FUNCTION(OC3, RPF4R, 11), | |
1441 | PIC32_PINCTRL_FUNCTION(OC6, RPF4R, 12), | |
1442 | PIC32_PINCTRL_FUNCTION(REFCLKO4, RPF4R, 13), | |
1443 | PIC32_PINCTRL_FUNCTION(C2OUT, RPF4R, 14), | |
1444 | PIC32_PINCTRL_FUNCTION(C1TX, RPF4R, 15)), | |
1445 | PIC32_PINCTRL_GROUP(85, F5, | |
1446 | PIC32_PINCTRL_FUNCTION(INT4, INT4R, 2), | |
1447 | PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 2), | |
1448 | PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 2), | |
1449 | PIC32_PINCTRL_FUNCTION(IC4, IC4R, 2), | |
1450 | PIC32_PINCTRL_FUNCTION(IC8, IC8R, 2), | |
1451 | PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 2), | |
1452 | PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 2), | |
1453 | PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 2), | |
1454 | PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 2), | |
1455 | PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 2), | |
1456 | PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 2), | |
1457 | PIC32_PINCTRL_FUNCTION(U1TX, RPF5R, 1), | |
1458 | PIC32_PINCTRL_FUNCTION(U2RTS, RPF5R, 2), | |
1459 | PIC32_PINCTRL_FUNCTION(U5TX, RPF5R, 3), | |
1460 | PIC32_PINCTRL_FUNCTION(U6RTS, RPF5R, 4), | |
1461 | PIC32_PINCTRL_FUNCTION(SDO1, RPF5R, 5), | |
1462 | PIC32_PINCTRL_FUNCTION(SDO2, RPF5R, 6), | |
1463 | PIC32_PINCTRL_FUNCTION(SDO3, RPF5R, 7), | |
1464 | PIC32_PINCTRL_FUNCTION(SDO4, RPF5R, 8), | |
1465 | PIC32_PINCTRL_FUNCTION(SDO5, RPF5R, 9), | |
1466 | PIC32_PINCTRL_FUNCTION(OC4, RPF5R, 11), | |
1467 | PIC32_PINCTRL_FUNCTION(OC7, RPF5R, 12), | |
1468 | PIC32_PINCTRL_FUNCTION(REFCLKO1, RPF5R, 15)), | |
1469 | PIC32_PINCTRL_GROUP(88, F8, | |
1470 | PIC32_PINCTRL_FUNCTION(INT2, INT2R, 11), | |
1471 | PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 11), | |
1472 | PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 11), | |
1473 | PIC32_PINCTRL_FUNCTION(IC2, IC2R, 11), | |
1474 | PIC32_PINCTRL_FUNCTION(IC5, IC5R, 11), | |
1475 | PIC32_PINCTRL_FUNCTION(IC9, IC9R, 11), | |
1476 | PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 11), | |
1477 | PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 11), | |
1478 | PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 11), | |
1479 | PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 11), | |
1480 | PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 11), | |
1481 | PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 11), | |
1482 | PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 11), | |
1483 | PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 11), | |
1484 | PIC32_PINCTRL_FUNCTION(U3RTS, RPF8R, 1), | |
1485 | PIC32_PINCTRL_FUNCTION(U4TX, RPF8R, 2), | |
1486 | PIC32_PINCTRL_FUNCTION(U6TX, RPF8R, 4), | |
1487 | PIC32_PINCTRL_FUNCTION(SS1OUT, RPF8R, 5), | |
1488 | PIC32_PINCTRL_FUNCTION(SS3OUT, RPF8R, 7), | |
1489 | PIC32_PINCTRL_FUNCTION(SS4OUT, RPF8R, 8), | |
1490 | PIC32_PINCTRL_FUNCTION(SS5OUT, RPF8R, 9), | |
1491 | PIC32_PINCTRL_FUNCTION(SDO6, RPF8R, 10), | |
1492 | PIC32_PINCTRL_FUNCTION(OC5, RPF8R, 11), | |
1493 | PIC32_PINCTRL_FUNCTION(OC8, RPF8R, 12), | |
1494 | PIC32_PINCTRL_FUNCTION(C1OUT, RPF8R, 14), | |
1495 | PIC32_PINCTRL_FUNCTION(REFCLKO3, RPF8R, 15)), | |
1496 | PIC32_PINCTRL_GROUP(92, F12, | |
1497 | PIC32_PINCTRL_FUNCTION(INT2, INT2R, 9), | |
1498 | PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 9), | |
1499 | PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 9), | |
1500 | PIC32_PINCTRL_FUNCTION(IC2, IC2R, 9), | |
1501 | PIC32_PINCTRL_FUNCTION(IC5, IC5R, 9), | |
1502 | PIC32_PINCTRL_FUNCTION(IC9, IC9R, 9), | |
1503 | PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 9), | |
1504 | PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 9), | |
1505 | PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 9), | |
1506 | PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 9), | |
1507 | PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 9), | |
1508 | PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 9), | |
1509 | PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 9), | |
1510 | PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 9), | |
1511 | PIC32_PINCTRL_FUNCTION(U3RTS, RPF12R, 1), | |
1512 | PIC32_PINCTRL_FUNCTION(U4TX, RPF12R, 2), | |
1513 | PIC32_PINCTRL_FUNCTION(U6TX, RPF12R, 4), | |
1514 | PIC32_PINCTRL_FUNCTION(SS1OUT, RPF12R, 5), | |
1515 | PIC32_PINCTRL_FUNCTION(SS3OUT, RPF12R, 7), | |
1516 | PIC32_PINCTRL_FUNCTION(SS4OUT, RPF12R, 8), | |
1517 | PIC32_PINCTRL_FUNCTION(SS5OUT, RPF12R, 9), | |
1518 | PIC32_PINCTRL_FUNCTION(SDO6, RPF12R, 10), | |
1519 | PIC32_PINCTRL_FUNCTION(OC5, RPF12R, 11), | |
1520 | PIC32_PINCTRL_FUNCTION(OC8, RPF12R, 12), | |
1521 | PIC32_PINCTRL_FUNCTION(C1OUT, RPF12R, 14), | |
1522 | PIC32_PINCTRL_FUNCTION(REFCLKO3, RPF12R, 15)), | |
1523 | PIC32_PINCTRL_GROUP(93, F13, | |
1524 | PIC32_PINCTRL_FUNCTION(INT1, INT1R, 9), | |
1525 | PIC32_PINCTRL_FUNCTION(T4CK, T4CKR, 9), | |
1526 | PIC32_PINCTRL_FUNCTION(T9CK, T9CKR, 9), | |
1527 | PIC32_PINCTRL_FUNCTION(IC1, IC1R, 9), | |
1528 | PIC32_PINCTRL_FUNCTION(IC6, IC6R, 9), | |
1529 | PIC32_PINCTRL_FUNCTION(U3CTS, U3CTSR, 9), | |
1530 | PIC32_PINCTRL_FUNCTION(U4RX, U4RXR, 9), | |
1531 | PIC32_PINCTRL_FUNCTION(U6RX, U6RXR, 9), | |
1532 | PIC32_PINCTRL_FUNCTION(SS2IN, SS2INR, 9), | |
1533 | PIC32_PINCTRL_FUNCTION(SDI6, SDI6R, 9), | |
1534 | PIC32_PINCTRL_FUNCTION(OCFA, OCFAR, 9), | |
1535 | PIC32_PINCTRL_FUNCTION(REFCLKI3, REFCLKI3R, 9), | |
1536 | PIC32_PINCTRL_FUNCTION(U1RTS, RPF13R, 1), | |
1537 | PIC32_PINCTRL_FUNCTION(U2TX, RPF13R, 2), | |
1538 | PIC32_PINCTRL_FUNCTION(U5RTS, RPF13R, 3), | |
1539 | PIC32_PINCTRL_FUNCTION(U6TX, RPF13R, 4), | |
1540 | PIC32_PINCTRL_FUNCTION(SS2OUT, RPF13R, 6), | |
1541 | PIC32_PINCTRL_FUNCTION(SDO4, RPF13R, 8), | |
1542 | PIC32_PINCTRL_FUNCTION(SDO6, RPF13R, 10), | |
1543 | PIC32_PINCTRL_FUNCTION(OC2, RPF13R, 11), | |
1544 | PIC32_PINCTRL_FUNCTION(OC1, RPF13R, 12), | |
1545 | PIC32_PINCTRL_FUNCTION(OC9, RPF13R, 13), | |
1546 | PIC32_PINCTRL_FUNCTION(C2TX, RPF13R, 15)), | |
1547 | PIC32_PINCTRL_GROUP(96, G0, | |
1548 | PIC32_PINCTRL_FUNCTION(INT4, INT4R, 12), | |
1549 | PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 12), | |
1550 | PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 12), | |
1551 | PIC32_PINCTRL_FUNCTION(IC4, IC4R, 12), | |
1552 | PIC32_PINCTRL_FUNCTION(IC8, IC8R, 12), | |
1553 | PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 12), | |
1554 | PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 12), | |
1555 | PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 12), | |
1556 | PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 12), | |
1557 | PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 12), | |
1558 | PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 12), | |
1559 | PIC32_PINCTRL_FUNCTION(U1TX, RPG0R, 1), | |
1560 | PIC32_PINCTRL_FUNCTION(U2RTS, RPG0R, 2), | |
1561 | PIC32_PINCTRL_FUNCTION(U5TX, RPG0R, 3), | |
1562 | PIC32_PINCTRL_FUNCTION(U6RTS, RPG0R, 4), | |
1563 | PIC32_PINCTRL_FUNCTION(SDO1, RPG0R, 5), | |
1564 | PIC32_PINCTRL_FUNCTION(SDO2, RPG0R, 6), | |
1565 | PIC32_PINCTRL_FUNCTION(SDO3, RPG0R, 7), | |
1566 | PIC32_PINCTRL_FUNCTION(SDO4, RPG0R, 8), | |
1567 | PIC32_PINCTRL_FUNCTION(SDO5, RPG0R, 9), | |
1568 | PIC32_PINCTRL_FUNCTION(OC4, RPG0R, 11), | |
1569 | PIC32_PINCTRL_FUNCTION(OC7, RPG0R, 12), | |
1570 | PIC32_PINCTRL_FUNCTION(REFCLKO1, RPG0R, 15)), | |
1571 | PIC32_PINCTRL_GROUP(97, G1, | |
1572 | PIC32_PINCTRL_FUNCTION(INT3, INT3R, 12), | |
1573 | PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 12), | |
1574 | PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 12), | |
1575 | PIC32_PINCTRL_FUNCTION(IC3, IC3R, 12), | |
1576 | PIC32_PINCTRL_FUNCTION(IC7, IC7R, 12), | |
1577 | PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 12), | |
1578 | PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 12), | |
1579 | PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 12), | |
1580 | PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 12), | |
1581 | PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 12), | |
1582 | PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 12), | |
1583 | PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 12), | |
1584 | PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 12), | |
1585 | PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 12), | |
1586 | PIC32_PINCTRL_FUNCTION(U3TX, RPG1R, 1), | |
1587 | PIC32_PINCTRL_FUNCTION(U4RTS, RPG1R, 2), | |
1588 | PIC32_PINCTRL_FUNCTION(SDO1, RPG1R, 5), | |
1589 | PIC32_PINCTRL_FUNCTION(SDO2, RPG1R, 6), | |
1590 | PIC32_PINCTRL_FUNCTION(SDO3, RPG1R, 7), | |
1591 | PIC32_PINCTRL_FUNCTION(SDO5, RPG1R, 9), | |
1592 | PIC32_PINCTRL_FUNCTION(SS6OUT, RPG1R, 10), | |
1593 | PIC32_PINCTRL_FUNCTION(OC3, RPG1R, 11), | |
1594 | PIC32_PINCTRL_FUNCTION(OC6, RPG1R, 12), | |
1595 | PIC32_PINCTRL_FUNCTION(REFCLKO4, RPG1R, 13), | |
1596 | PIC32_PINCTRL_FUNCTION(C2OUT, RPG1R, 14), | |
1597 | PIC32_PINCTRL_FUNCTION(C1TX, RPG1R, 15)), | |
1598 | PIC32_PINCTRL_GROUP(102, G6, | |
1599 | PIC32_PINCTRL_FUNCTION(INT2, INT2R, 1), | |
1600 | PIC32_PINCTRL_FUNCTION(T3CK, T3CKR, 1), | |
1601 | PIC32_PINCTRL_FUNCTION(T8CK, T8CKR, 1), | |
1602 | PIC32_PINCTRL_FUNCTION(IC2, IC2R, 1), | |
1603 | PIC32_PINCTRL_FUNCTION(IC5, IC5R, 1), | |
1604 | PIC32_PINCTRL_FUNCTION(IC9, IC9R, 1), | |
1605 | PIC32_PINCTRL_FUNCTION(U1CTS, U1CTSR, 1), | |
1606 | PIC32_PINCTRL_FUNCTION(U2RX, U2RXR, 1), | |
1607 | PIC32_PINCTRL_FUNCTION(U5CTS, U5CTSR, 1), | |
1608 | PIC32_PINCTRL_FUNCTION(SS1IN, SS1INR, 1), | |
1609 | PIC32_PINCTRL_FUNCTION(SS3IN, SS3INR, 1), | |
1610 | PIC32_PINCTRL_FUNCTION(SS4IN, SS4INR, 1), | |
1611 | PIC32_PINCTRL_FUNCTION(SS5IN, SS5INR, 1), | |
1612 | PIC32_PINCTRL_FUNCTION(C2RX, C2RXR, 1), | |
1613 | PIC32_PINCTRL_FUNCTION(U3RTS, RPG6R, 1), | |
1614 | PIC32_PINCTRL_FUNCTION(U4TX, RPG6R, 2), | |
1615 | PIC32_PINCTRL_FUNCTION(U6TX, RPG6R, 4), | |
1616 | PIC32_PINCTRL_FUNCTION(SS1OUT, RPG6R, 5), | |
1617 | PIC32_PINCTRL_FUNCTION(SS3OUT, RPG6R, 7), | |
1618 | PIC32_PINCTRL_FUNCTION(SS4OUT, RPG6R, 8), | |
1619 | PIC32_PINCTRL_FUNCTION(SS5OUT, RPG6R, 9), | |
1620 | PIC32_PINCTRL_FUNCTION(SDO6, RPG6R, 10), | |
1621 | PIC32_PINCTRL_FUNCTION(OC5, RPG6R, 11), | |
1622 | PIC32_PINCTRL_FUNCTION(OC8, RPG6R, 12), | |
1623 | PIC32_PINCTRL_FUNCTION(C1OUT, RPG6R, 14), | |
1624 | PIC32_PINCTRL_FUNCTION(REFCLKO3, RPG6R, 15)), | |
1625 | PIC32_PINCTRL_GROUP(103, G7, | |
1626 | PIC32_PINCTRL_FUNCTION(INT4, INT4R, 1), | |
1627 | PIC32_PINCTRL_FUNCTION(T5CK, T5CKR, 1), | |
1628 | PIC32_PINCTRL_FUNCTION(T7CK, T7CKR, 1), | |
1629 | PIC32_PINCTRL_FUNCTION(IC4, IC4R, 1), | |
1630 | PIC32_PINCTRL_FUNCTION(IC8, IC8R, 1), | |
1631 | PIC32_PINCTRL_FUNCTION(U3RX, U3RXR, 1), | |
1632 | PIC32_PINCTRL_FUNCTION(U4CTS, U4CTSR, 1), | |
1633 | PIC32_PINCTRL_FUNCTION(SDI2, SDI2R, 1), | |
1634 | PIC32_PINCTRL_FUNCTION(SDI4, SDI4R, 1), | |
1635 | PIC32_PINCTRL_FUNCTION(C1RX, C1RXR, 1), | |
1636 | PIC32_PINCTRL_FUNCTION(REFCLKI4, REFCLKI4R, 1), | |
1637 | PIC32_PINCTRL_FUNCTION(U1TX, RPG7R, 1), | |
1638 | PIC32_PINCTRL_FUNCTION(U2RTS, RPG7R, 2), | |
1639 | PIC32_PINCTRL_FUNCTION(U5TX, RPG7R, 3), | |
1640 | PIC32_PINCTRL_FUNCTION(U6RTS, RPG7R, 4), | |
1641 | PIC32_PINCTRL_FUNCTION(SDO1, RPG7R, 5), | |
1642 | PIC32_PINCTRL_FUNCTION(SDO2, RPG7R, 6), | |
1643 | PIC32_PINCTRL_FUNCTION(SDO3, RPG7R, 7), | |
1644 | PIC32_PINCTRL_FUNCTION(SDO4, RPG7R, 8), | |
1645 | PIC32_PINCTRL_FUNCTION(SDO5, RPG7R, 9), | |
1646 | PIC32_PINCTRL_FUNCTION(OC4, RPG7R, 11), | |
1647 | PIC32_PINCTRL_FUNCTION(OC7, RPG7R, 12), | |
1648 | PIC32_PINCTRL_FUNCTION(REFCLKO1, RPG7R, 15)), | |
1649 | PIC32_PINCTRL_GROUP(104, G8, | |
1650 | PIC32_PINCTRL_FUNCTION(INT3, INT3R, 1), | |
1651 | PIC32_PINCTRL_FUNCTION(T2CK, T2CKR, 1), | |
1652 | PIC32_PINCTRL_FUNCTION(T6CK, T6CKR, 1), | |
1653 | PIC32_PINCTRL_FUNCTION(IC3, IC3R, 1), | |
1654 | PIC32_PINCTRL_FUNCTION(IC7, IC7R, 1), | |
1655 | PIC32_PINCTRL_FUNCTION(U1RX, U1RXR, 1), | |
1656 | PIC32_PINCTRL_FUNCTION(U2CTS, U2CTSR, 1), | |
1657 | PIC32_PINCTRL_FUNCTION(U5RX, U5RXR, 1), | |
1658 | PIC32_PINCTRL_FUNCTION(U6CTS, U6CTSR, 1), | |
1659 | PIC32_PINCTRL_FUNCTION(SDI1, SDI1R, 1), | |
1660 | PIC32_PINCTRL_FUNCTION(SDI3, SDI3R, 1), | |
1661 | PIC32_PINCTRL_FUNCTION(SDI5, SDI5R, 1), | |
1662 | PIC32_PINCTRL_FUNCTION(SS6IN, SS6INR, 1), | |
1663 | PIC32_PINCTRL_FUNCTION(REFCLKI1, REFCLKI1R, 1), | |
1664 | PIC32_PINCTRL_FUNCTION(U3TX, RPG8R, 1), | |
1665 | PIC32_PINCTRL_FUNCTION(U4RTS, RPG8R, 2), | |
1666 | PIC32_PINCTRL_FUNCTION(SDO1, RPG8R, 5), | |
1667 | PIC32_PINCTRL_FUNCTION(SDO2, RPG8R, 6), | |
1668 | PIC32_PINCTRL_FUNCTION(SDO3, RPG8R, 7), | |
1669 | PIC32_PINCTRL_FUNCTION(SDO5, RPG8R, 9), | |
1670 | PIC32_PINCTRL_FUNCTION(SS6OUT, RPG8R, 10), | |
1671 | PIC32_PINCTRL_FUNCTION(OC3, RPG8R, 11), | |
1672 | PIC32_PINCTRL_FUNCTION(OC6, RPG8R, 12), | |
1673 | PIC32_PINCTRL_FUNCTION(REFCLKO4, RPG8R, 13), | |
1674 | PIC32_PINCTRL_FUNCTION(C2OUT, RPG8R, 14), | |
1675 | PIC32_PINCTRL_FUNCTION(C1TX, RPG8R, 15)), | |
1676 | PIC32_PINCTRL_GROUP(105, G9, | |
1677 | PIC32_PINCTRL_FUNCTION(INT1, INT1R, 1), | |
1678 | PIC32_PINCTRL_FUNCTION(T4CK, T4CKR, 1), | |
1679 | PIC32_PINCTRL_FUNCTION(T9CK, T9CKR, 1), | |
1680 | PIC32_PINCTRL_FUNCTION(IC1, IC1R, 1), | |
1681 | PIC32_PINCTRL_FUNCTION(IC6, IC6R, 1), | |
1682 | PIC32_PINCTRL_FUNCTION(U3CTS, U3CTSR, 1), | |
1683 | PIC32_PINCTRL_FUNCTION(U4RX, U4RXR, 1), | |
1684 | PIC32_PINCTRL_FUNCTION(U6RX, U6RXR, 1), | |
1685 | PIC32_PINCTRL_FUNCTION(SS2IN, SS2INR, 1), | |
1686 | PIC32_PINCTRL_FUNCTION(SDI6, SDI6R, 1), | |
1687 | PIC32_PINCTRL_FUNCTION(OCFA, OCFAR, 1), | |
1688 | PIC32_PINCTRL_FUNCTION(REFCLKI3, REFCLKI3R, 1), | |
1689 | PIC32_PINCTRL_FUNCTION(U1RTS, RPG9R, 1), | |
1690 | PIC32_PINCTRL_FUNCTION(U2TX, RPG9R, 2), | |
1691 | PIC32_PINCTRL_FUNCTION(U5RTS, RPG9R, 3), | |
1692 | PIC32_PINCTRL_FUNCTION(U6TX, RPG9R, 4), | |
1693 | PIC32_PINCTRL_FUNCTION(SS2OUT, RPG9R, 6), | |
1694 | PIC32_PINCTRL_FUNCTION(SDO4, RPG9R, 8), | |
1695 | PIC32_PINCTRL_FUNCTION(SDO6, RPG9R, 10), | |
1696 | PIC32_PINCTRL_FUNCTION(OC2, RPG9R, 11), | |
1697 | PIC32_PINCTRL_FUNCTION(OC1, RPG9R, 12), | |
1698 | PIC32_PINCTRL_FUNCTION(OC9, RPG9R, 13), | |
1699 | PIC32_PINCTRL_FUNCTION(C2TX, RPG9R, 15)), | |
1700 | }; | |
1701 | ||
1702 | static inline struct pic32_gpio_bank *irqd_to_bank(struct irq_data *d) | |
1703 | { | |
1704 | return gpiochip_get_data(irq_data_get_irq_chip_data(d)); | |
1705 | } | |
1706 | ||
1707 | static inline struct pic32_gpio_bank *pctl_to_bank(struct pic32_pinctrl *pctl, | |
1708 | unsigned pin) | |
1709 | { | |
1710 | return &pctl->gpio_banks[pin / PINS_PER_BANK]; | |
1711 | } | |
1712 | ||
1713 | static int pic32_pinctrl_get_groups_count(struct pinctrl_dev *pctldev) | |
1714 | { | |
1715 | struct pic32_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); | |
1716 | ||
1717 | return pctl->ngroups; | |
1718 | } | |
1719 | ||
1720 | static const char *pic32_pinctrl_get_group_name(struct pinctrl_dev *pctldev, | |
1721 | unsigned group) | |
1722 | { | |
1723 | struct pic32_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); | |
1724 | ||
1725 | return pctl->groups[group].name; | |
1726 | } | |
1727 | ||
1728 | static int pic32_pinctrl_get_group_pins(struct pinctrl_dev *pctldev, | |
1729 | unsigned group, | |
1730 | const unsigned **pins, | |
1731 | unsigned *num_pins) | |
1732 | { | |
1733 | struct pic32_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); | |
1734 | ||
1735 | *pins = &pctl->groups[group].pin; | |
1736 | *num_pins = 1; | |
1737 | ||
1738 | return 0; | |
1739 | } | |
1740 | ||
1741 | static const struct pinctrl_ops pic32_pinctrl_ops = { | |
1742 | .get_groups_count = pic32_pinctrl_get_groups_count, | |
1743 | .get_group_name = pic32_pinctrl_get_group_name, | |
1744 | .get_group_pins = pic32_pinctrl_get_group_pins, | |
1745 | .dt_node_to_map = pinconf_generic_dt_node_to_map_pin, | |
d32f7fd3 | 1746 | .dt_free_map = pinctrl_utils_free_map, |
2ba384e6 JH |
1747 | }; |
1748 | ||
1749 | static int pic32_pinmux_get_functions_count(struct pinctrl_dev *pctldev) | |
1750 | { | |
1751 | struct pic32_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); | |
1752 | ||
1753 | return pctl->nfunctions; | |
1754 | } | |
1755 | ||
1756 | static const char * | |
1757 | pic32_pinmux_get_function_name(struct pinctrl_dev *pctldev, unsigned func) | |
1758 | { | |
1759 | struct pic32_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); | |
1760 | ||
1761 | return pctl->functions[func].name; | |
1762 | } | |
1763 | ||
1764 | static int pic32_pinmux_get_function_groups(struct pinctrl_dev *pctldev, | |
1765 | unsigned func, | |
1766 | const char * const **groups, | |
1767 | unsigned * const num_groups) | |
1768 | { | |
1769 | struct pic32_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); | |
1770 | ||
1771 | *groups = pctl->functions[func].groups; | |
1772 | *num_groups = pctl->functions[func].ngroups; | |
1773 | ||
1774 | return 0; | |
1775 | } | |
1776 | ||
1777 | static int pic32_pinmux_enable(struct pinctrl_dev *pctldev, | |
1778 | unsigned func, unsigned group) | |
1779 | { | |
1780 | struct pic32_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); | |
1781 | const struct pic32_pin_group *pg = &pctl->groups[group]; | |
1782 | const struct pic32_function *pf = &pctl->functions[func]; | |
1783 | const char *fname = pf->name; | |
1784 | struct pic32_desc_function *functions = pg->functions; | |
1785 | ||
1786 | while (functions->name) { | |
1787 | if (!strcmp(functions->name, fname)) { | |
1788 | dev_dbg(pctl->dev, | |
1789 | "setting function %s reg 0x%x = %d\n", | |
1790 | fname, functions->muxreg, functions->muxval); | |
1791 | ||
1792 | writel(functions->muxval, pctl->reg_base + functions->muxreg); | |
1793 | ||
1794 | return 0; | |
1795 | } | |
1796 | ||
1797 | functions++; | |
1798 | } | |
1799 | ||
1800 | dev_err(pctl->dev, "cannot mux pin %u to function %u\n", group, func); | |
1801 | ||
1802 | return -EINVAL; | |
1803 | } | |
1804 | ||
1805 | static int pic32_gpio_request_enable(struct pinctrl_dev *pctldev, | |
1806 | struct pinctrl_gpio_range *range, | |
1807 | unsigned offset) | |
1808 | { | |
1809 | struct pic32_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); | |
1810 | struct pic32_gpio_bank *bank = gpiochip_get_data(range->gc); | |
1811 | u32 mask = BIT(offset - bank->gpio_chip.base); | |
1812 | ||
1813 | dev_dbg(pctl->dev, "requesting gpio %d in bank %d with mask 0x%x\n", | |
1814 | offset, bank->gpio_chip.base, mask); | |
1815 | ||
1816 | writel(mask, bank->reg_base + PIC32_CLR(ANSEL_REG)); | |
1817 | ||
1818 | return 0; | |
1819 | } | |
1820 | ||
1821 | static int pic32_gpio_direction_input(struct gpio_chip *chip, | |
1822 | unsigned offset) | |
1823 | { | |
1824 | struct pic32_gpio_bank *bank = gpiochip_get_data(chip); | |
1825 | u32 mask = BIT(offset); | |
1826 | ||
1827 | writel(mask, bank->reg_base + PIC32_SET(TRIS_REG)); | |
1828 | ||
1829 | return 0; | |
1830 | } | |
1831 | ||
1832 | static int pic32_gpio_get(struct gpio_chip *chip, unsigned offset) | |
1833 | { | |
1834 | struct pic32_gpio_bank *bank = gpiochip_get_data(chip); | |
1835 | ||
1836 | return !!(readl(bank->reg_base + PORT_REG) & BIT(offset)); | |
1837 | } | |
1838 | ||
1839 | static void pic32_gpio_set(struct gpio_chip *chip, unsigned offset, | |
1840 | int value) | |
1841 | { | |
1842 | struct pic32_gpio_bank *bank = gpiochip_get_data(chip); | |
1843 | u32 mask = BIT(offset); | |
1844 | ||
1845 | if (value) | |
1846 | writel(mask, bank->reg_base + PIC32_SET(PORT_REG)); | |
1847 | else | |
1848 | writel(mask, bank->reg_base + PIC32_CLR(PORT_REG)); | |
1849 | } | |
1850 | ||
1851 | static int pic32_gpio_direction_output(struct gpio_chip *chip, | |
1852 | unsigned offset, int value) | |
1853 | { | |
1854 | struct pic32_gpio_bank *bank = gpiochip_get_data(chip); | |
1855 | u32 mask = BIT(offset); | |
1856 | ||
1857 | pic32_gpio_set(chip, offset, value); | |
1858 | writel(mask, bank->reg_base + PIC32_CLR(TRIS_REG)); | |
1859 | ||
1860 | return 0; | |
1861 | } | |
1862 | ||
1863 | static int pic32_gpio_set_direction(struct pinctrl_dev *pctldev, | |
1864 | struct pinctrl_gpio_range *range, | |
1865 | unsigned offset, bool input) | |
1866 | { | |
1867 | struct gpio_chip *chip = range->gc; | |
1868 | ||
1869 | if (input) | |
1870 | pic32_gpio_direction_input(chip, offset); | |
1871 | else | |
1872 | pic32_gpio_direction_output(chip, offset, 0); | |
1873 | ||
1874 | return 0; | |
1875 | } | |
1876 | ||
1877 | static const struct pinmux_ops pic32_pinmux_ops = { | |
1878 | .get_functions_count = pic32_pinmux_get_functions_count, | |
1879 | .get_function_name = pic32_pinmux_get_function_name, | |
1880 | .get_function_groups = pic32_pinmux_get_function_groups, | |
1881 | .set_mux = pic32_pinmux_enable, | |
1882 | .gpio_request_enable = pic32_gpio_request_enable, | |
1883 | .gpio_set_direction = pic32_gpio_set_direction, | |
1884 | }; | |
1885 | ||
1886 | static int pic32_pinconf_get(struct pinctrl_dev *pctldev, unsigned pin, | |
1887 | unsigned long *config) | |
1888 | { | |
1889 | struct pic32_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); | |
1890 | struct pic32_gpio_bank *bank = pctl_to_bank(pctl, pin); | |
1891 | unsigned param = pinconf_to_config_param(*config); | |
1892 | u32 mask = BIT(pin - bank->gpio_chip.base); | |
1893 | u32 arg; | |
1894 | ||
1895 | switch (param) { | |
1896 | case PIN_CONFIG_BIAS_PULL_UP: | |
1897 | arg = !!(readl(bank->reg_base + CNPU_REG) & mask); | |
1898 | break; | |
1899 | case PIN_CONFIG_BIAS_PULL_DOWN: | |
1900 | arg = !!(readl(bank->reg_base + CNPD_REG) & mask); | |
1901 | break; | |
1902 | case PIN_CONFIG_MICROCHIP_DIGITAL: | |
1903 | arg = !(readl(bank->reg_base + ANSEL_REG) & mask); | |
1904 | break; | |
1905 | case PIN_CONFIG_MICROCHIP_ANALOG: | |
1906 | arg = !!(readl(bank->reg_base + ANSEL_REG) & mask); | |
1907 | break; | |
1908 | case PIN_CONFIG_DRIVE_OPEN_DRAIN: | |
1909 | arg = !!(readl(bank->reg_base + ODCU_REG) & mask); | |
1910 | break; | |
1911 | case PIN_CONFIG_INPUT_ENABLE: | |
1912 | arg = !!(readl(bank->reg_base + TRIS_REG) & mask); | |
1913 | break; | |
1914 | case PIN_CONFIG_OUTPUT: | |
1915 | arg = !(readl(bank->reg_base + TRIS_REG) & mask); | |
1916 | break; | |
1917 | default: | |
1918 | dev_err(pctl->dev, "Property %u not supported\n", param); | |
1919 | return -ENOTSUPP; | |
1920 | } | |
1921 | ||
1922 | *config = pinconf_to_config_packed(param, arg); | |
1923 | ||
1924 | return 0; | |
1925 | } | |
1926 | ||
1927 | static int pic32_pinconf_set(struct pinctrl_dev *pctldev, unsigned pin, | |
1928 | unsigned long *configs, unsigned num_configs) | |
1929 | { | |
1930 | struct pic32_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); | |
1931 | struct pic32_gpio_bank *bank = pctl_to_bank(pctl, pin); | |
1932 | unsigned param; | |
1933 | u32 arg; | |
1934 | unsigned int i; | |
1935 | u32 offset = pin - bank->gpio_chip.base; | |
1936 | u32 mask = BIT(offset); | |
1937 | ||
1938 | dev_dbg(pctl->dev, "setting pin %d bank %d mask 0x%x\n", | |
1939 | pin, bank->gpio_chip.base, mask); | |
1940 | ||
1941 | for (i = 0; i < num_configs; i++) { | |
1942 | param = pinconf_to_config_param(configs[i]); | |
1943 | arg = pinconf_to_config_argument(configs[i]); | |
1944 | ||
1945 | switch (param) { | |
1946 | case PIN_CONFIG_BIAS_PULL_UP: | |
1947 | dev_dbg(pctl->dev, " pullup\n"); | |
1948 | writel(mask, bank->reg_base +PIC32_SET(CNPU_REG)); | |
1949 | break; | |
1950 | case PIN_CONFIG_BIAS_PULL_DOWN: | |
1951 | dev_dbg(pctl->dev, " pulldown\n"); | |
1952 | writel(mask, bank->reg_base + PIC32_SET(CNPD_REG)); | |
1953 | break; | |
1954 | case PIN_CONFIG_MICROCHIP_DIGITAL: | |
1955 | dev_dbg(pctl->dev, " digital\n"); | |
1956 | writel(mask, bank->reg_base + PIC32_CLR(ANSEL_REG)); | |
1957 | break; | |
1958 | case PIN_CONFIG_MICROCHIP_ANALOG: | |
1959 | dev_dbg(pctl->dev, " analog\n"); | |
1960 | writel(mask, bank->reg_base + PIC32_SET(ANSEL_REG)); | |
1961 | break; | |
1962 | case PIN_CONFIG_DRIVE_OPEN_DRAIN: | |
1963 | dev_dbg(pctl->dev, " opendrain\n"); | |
1964 | writel(mask, bank->reg_base + PIC32_SET(ODCU_REG)); | |
1965 | break; | |
1966 | case PIN_CONFIG_INPUT_ENABLE: | |
1967 | pic32_gpio_direction_input(&bank->gpio_chip, offset); | |
1968 | break; | |
1969 | case PIN_CONFIG_OUTPUT: | |
1970 | pic32_gpio_direction_output(&bank->gpio_chip, | |
1971 | offset, arg); | |
1972 | break; | |
1973 | default: | |
1974 | dev_err(pctl->dev, "Property %u not supported\n", | |
1975 | param); | |
1976 | return -ENOTSUPP; | |
1977 | } | |
1978 | } | |
1979 | ||
1980 | return 0; | |
1981 | } | |
1982 | ||
1983 | static const struct pinconf_ops pic32_pinconf_ops = { | |
1984 | .pin_config_get = pic32_pinconf_get, | |
1985 | .pin_config_set = pic32_pinconf_set, | |
1986 | .is_generic = true, | |
1987 | }; | |
1988 | ||
1989 | static struct pinctrl_desc pic32_pinctrl_desc = { | |
1990 | .name = "pic32-pinctrl", | |
1991 | .pctlops = &pic32_pinctrl_ops, | |
1992 | .pmxops = &pic32_pinmux_ops, | |
1993 | .confops = &pic32_pinconf_ops, | |
1994 | .owner = THIS_MODULE, | |
1995 | }; | |
1996 | ||
1997 | static int pic32_gpio_get_direction(struct gpio_chip *chip, unsigned offset) | |
1998 | { | |
1999 | struct pic32_gpio_bank *bank = gpiochip_get_data(chip); | |
2000 | ||
2001 | return !!(readl(bank->reg_base + TRIS_REG) & BIT(offset)); | |
2002 | } | |
2003 | ||
2004 | static void pic32_gpio_irq_ack(struct irq_data *data) | |
2005 | { | |
2006 | struct pic32_gpio_bank *bank = irqd_to_bank(data); | |
2007 | ||
2008 | writel(0, bank->reg_base + CNF_REG); | |
2009 | } | |
2010 | ||
2011 | static void pic32_gpio_irq_mask(struct irq_data *data) | |
2012 | { | |
2013 | struct pic32_gpio_bank *bank = irqd_to_bank(data); | |
2014 | ||
2015 | writel(BIT(PIC32_CNCON_ON), bank->reg_base + PIC32_CLR(CNCON_REG)); | |
2016 | } | |
2017 | ||
2018 | static void pic32_gpio_irq_unmask(struct irq_data *data) | |
2019 | { | |
2020 | struct pic32_gpio_bank *bank = irqd_to_bank(data); | |
2021 | ||
2022 | writel(BIT(PIC32_CNCON_ON), bank->reg_base + PIC32_SET(CNCON_REG)); | |
2023 | } | |
2024 | ||
2025 | static unsigned int pic32_gpio_irq_startup(struct irq_data *data) | |
2026 | { | |
2027 | struct gpio_chip *chip = irq_data_get_irq_chip_data(data); | |
2028 | ||
2029 | pic32_gpio_direction_input(chip, data->hwirq); | |
2030 | pic32_gpio_irq_unmask(data); | |
2031 | ||
2032 | return 0; | |
2033 | } | |
2034 | ||
2035 | static int pic32_gpio_irq_set_type(struct irq_data *data, unsigned int type) | |
2036 | { | |
2037 | struct pic32_gpio_bank *bank = irqd_to_bank(data); | |
2038 | u32 mask = BIT(data->hwirq); | |
2039 | ||
2040 | switch (type & IRQ_TYPE_SENSE_MASK) { | |
2041 | case IRQ_TYPE_EDGE_RISING: | |
2042 | /* enable RISE */ | |
2043 | writel(mask, bank->reg_base + PIC32_SET(CNEN_REG)); | |
2044 | /* disable FALL */ | |
2045 | writel(mask, bank->reg_base + PIC32_CLR(CNNE_REG)); | |
2046 | /* enable EDGE */ | |
2047 | writel(BIT(PIC32_CNCON_EDGE), bank->reg_base + PIC32_SET(CNCON_REG)); | |
2048 | break; | |
2049 | case IRQ_TYPE_EDGE_FALLING: | |
2050 | /* disable RISE */ | |
2051 | writel(mask, bank->reg_base + PIC32_CLR(CNEN_REG)); | |
2052 | /* enable FALL */ | |
2053 | writel(mask, bank->reg_base + PIC32_SET(CNNE_REG)); | |
2054 | /* enable EDGE */ | |
2055 | writel(BIT(PIC32_CNCON_EDGE), bank->reg_base + PIC32_SET(CNCON_REG)); | |
2056 | break; | |
2057 | case IRQ_TYPE_EDGE_BOTH: | |
2058 | /* enable RISE */ | |
2059 | writel(mask, bank->reg_base + PIC32_SET(CNEN_REG)); | |
2060 | /* enable FALL */ | |
2061 | writel(mask, bank->reg_base + PIC32_SET(CNNE_REG)); | |
2062 | /* enable EDGE */ | |
2063 | writel(BIT(PIC32_CNCON_EDGE), bank->reg_base + PIC32_SET(CNCON_REG)); | |
2064 | break; | |
2065 | default: | |
2066 | return -EINVAL; | |
2067 | } | |
2068 | ||
2069 | irq_set_handler_locked(data, handle_edge_irq); | |
2070 | ||
2071 | return 0; | |
2072 | } | |
2073 | ||
2074 | static u32 pic32_gpio_get_pending(struct gpio_chip *gc, unsigned long status) | |
2075 | { | |
2076 | struct pic32_gpio_bank *bank = gpiochip_get_data(gc); | |
2077 | u32 pending = 0; | |
2078 | u32 cnen_rise, cnne_fall; | |
2079 | u32 pin; | |
2080 | ||
2081 | cnen_rise = readl(bank->reg_base + CNEN_REG); | |
2082 | cnne_fall = readl(bank->reg_base + CNNE_REG); | |
2083 | ||
2084 | for_each_set_bit(pin, &status, BITS_PER_LONG) { | |
2085 | u32 mask = BIT(pin); | |
2086 | ||
2087 | if ((mask & cnen_rise) || (mask && cnne_fall)) | |
2088 | pending |= mask; | |
2089 | } | |
2090 | ||
2091 | return pending; | |
2092 | } | |
2093 | ||
2094 | static void pic32_gpio_irq_handler(struct irq_desc *desc) | |
2095 | { | |
2096 | struct gpio_chip *gc = irq_desc_get_handler_data(desc); | |
2097 | struct pic32_gpio_bank *bank = gpiochip_get_data(gc); | |
2098 | struct irq_chip *chip = irq_desc_get_chip(desc); | |
2099 | unsigned long pending; | |
2100 | unsigned int pin; | |
2101 | u32 stat; | |
2102 | ||
2103 | chained_irq_enter(chip, desc); | |
2104 | ||
2105 | stat = readl(bank->reg_base + CNF_REG); | |
2106 | pending = pic32_gpio_get_pending(gc, stat); | |
2107 | ||
2108 | for_each_set_bit(pin, &pending, BITS_PER_LONG) | |
2109 | generic_handle_irq(irq_linear_revmap(gc->irqdomain, pin)); | |
2110 | ||
2111 | chained_irq_exit(chip, desc); | |
2112 | } | |
2113 | ||
2114 | #define GPIO_BANK(_bank, _npins) \ | |
2115 | { \ | |
2116 | .gpio_chip = { \ | |
2117 | .label = "GPIO" #_bank, \ | |
2118 | .request = gpiochip_generic_request, \ | |
2119 | .free = gpiochip_generic_free, \ | |
2120 | .get_direction = pic32_gpio_get_direction, \ | |
2121 | .direction_input = pic32_gpio_direction_input, \ | |
2122 | .direction_output = pic32_gpio_direction_output, \ | |
2123 | .get = pic32_gpio_get, \ | |
2124 | .set = pic32_gpio_set, \ | |
2125 | .ngpio = _npins, \ | |
2126 | .base = GPIO_BANK_START(_bank), \ | |
2127 | .owner = THIS_MODULE, \ | |
2128 | .can_sleep = 0, \ | |
2129 | }, \ | |
2130 | .irq_chip = { \ | |
2131 | .name = "GPIO" #_bank, \ | |
2132 | .irq_startup = pic32_gpio_irq_startup, \ | |
2133 | .irq_ack = pic32_gpio_irq_ack, \ | |
2134 | .irq_mask = pic32_gpio_irq_mask, \ | |
2135 | .irq_unmask = pic32_gpio_irq_unmask, \ | |
2136 | .irq_set_type = pic32_gpio_irq_set_type, \ | |
2137 | }, \ | |
2138 | } | |
2139 | ||
2140 | static struct pic32_gpio_bank pic32_gpio_banks[] = { | |
2141 | GPIO_BANK(0, PINS_PER_BANK), | |
2142 | GPIO_BANK(1, PINS_PER_BANK), | |
2143 | GPIO_BANK(2, PINS_PER_BANK), | |
2144 | GPIO_BANK(3, PINS_PER_BANK), | |
2145 | GPIO_BANK(4, PINS_PER_BANK), | |
2146 | GPIO_BANK(5, PINS_PER_BANK), | |
2147 | GPIO_BANK(6, PINS_PER_BANK), | |
2148 | GPIO_BANK(7, PINS_PER_BANK), | |
2149 | GPIO_BANK(8, PINS_PER_BANK), | |
2150 | GPIO_BANK(9, PINS_PER_BANK), | |
2151 | }; | |
2152 | ||
2153 | static int pic32_pinctrl_probe(struct platform_device *pdev) | |
2154 | { | |
2155 | struct pic32_pinctrl *pctl; | |
2156 | struct resource *res; | |
2157 | int ret; | |
2158 | ||
2159 | pctl = devm_kzalloc(&pdev->dev, sizeof(*pctl), GFP_KERNEL); | |
2160 | if (!pctl) | |
2161 | return -ENOMEM; | |
2162 | pctl->dev = &pdev->dev; | |
2163 | dev_set_drvdata(&pdev->dev, pctl); | |
2164 | ||
2165 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); | |
2166 | pctl->reg_base = devm_ioremap_resource(&pdev->dev, res); | |
2167 | if (IS_ERR(pctl->reg_base)) | |
2168 | return PTR_ERR(pctl->reg_base); | |
2169 | ||
2170 | pctl->clk = devm_clk_get(&pdev->dev, NULL); | |
2171 | if (IS_ERR(pctl->clk)) { | |
2172 | ret = PTR_ERR(pctl->clk); | |
2173 | dev_err(&pdev->dev, "clk get failed\n"); | |
2174 | return ret; | |
2175 | } | |
2176 | ||
2177 | ret = clk_prepare_enable(pctl->clk); | |
2178 | if (ret) { | |
2179 | dev_err(&pdev->dev, "clk enable failed\n"); | |
2180 | return ret; | |
2181 | } | |
2182 | ||
2183 | pctl->pins = pic32_pins; | |
2184 | pctl->npins = ARRAY_SIZE(pic32_pins); | |
2185 | pctl->functions = pic32_functions; | |
2186 | pctl->nfunctions = ARRAY_SIZE(pic32_functions); | |
2187 | pctl->groups = pic32_groups; | |
2188 | pctl->ngroups = ARRAY_SIZE(pic32_groups); | |
2189 | pctl->gpio_banks = pic32_gpio_banks; | |
2190 | pctl->nbanks = ARRAY_SIZE(pic32_gpio_banks); | |
2191 | ||
2192 | pic32_pinctrl_desc.pins = pctl->pins; | |
2193 | pic32_pinctrl_desc.npins = pctl->npins; | |
2194 | pic32_pinctrl_desc.custom_params = pic32_mpp_bindings; | |
2195 | pic32_pinctrl_desc.num_custom_params = ARRAY_SIZE(pic32_mpp_bindings); | |
2196 | ||
a0f16cc3 LD |
2197 | pctl->pctldev = devm_pinctrl_register(&pdev->dev, &pic32_pinctrl_desc, |
2198 | pctl); | |
2ba384e6 JH |
2199 | if (IS_ERR(pctl->pctldev)) { |
2200 | dev_err(&pdev->dev, "Failed to register pinctrl device\n"); | |
2201 | return PTR_ERR(pctl->pctldev); | |
2202 | } | |
2203 | ||
2204 | return 0; | |
2205 | } | |
2206 | ||
2207 | static int pic32_gpio_probe(struct platform_device *pdev) | |
2208 | { | |
2209 | struct device_node *np = pdev->dev.of_node; | |
2210 | struct pic32_gpio_bank *bank; | |
2211 | u32 id; | |
2212 | int irq, ret; | |
2213 | struct resource *res; | |
2214 | ||
2215 | if (of_property_read_u32(np, "microchip,gpio-bank", &id)) { | |
2216 | dev_err(&pdev->dev, "microchip,gpio-bank property not found\n"); | |
2217 | return -EINVAL; | |
2218 | } | |
2219 | ||
2220 | if (id >= ARRAY_SIZE(pic32_gpio_banks)) { | |
2221 | dev_err(&pdev->dev, "invalid microchip,gpio-bank property\n"); | |
2222 | return -EINVAL; | |
2223 | } | |
2224 | ||
2225 | bank = &pic32_gpio_banks[id]; | |
2226 | ||
2227 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); | |
2228 | bank->reg_base = devm_ioremap_resource(&pdev->dev, res); | |
2229 | if (IS_ERR(bank->reg_base)) | |
2230 | return PTR_ERR(bank->reg_base); | |
2231 | ||
2232 | irq = platform_get_irq(pdev, 0); | |
2233 | if (irq < 0) { | |
2234 | dev_err(&pdev->dev, "irq get failed\n"); | |
2235 | return irq; | |
2236 | } | |
2237 | ||
2238 | bank->clk = devm_clk_get(&pdev->dev, NULL); | |
2239 | if (IS_ERR(bank->clk)) { | |
2240 | ret = PTR_ERR(bank->clk); | |
2241 | dev_err(&pdev->dev, "clk get failed\n"); | |
2242 | return ret; | |
2243 | } | |
2244 | ||
2245 | ret = clk_prepare_enable(bank->clk); | |
2246 | if (ret) { | |
2247 | dev_err(&pdev->dev, "clk enable failed\n"); | |
2248 | return ret; | |
2249 | } | |
2250 | ||
2251 | bank->gpio_chip.parent = &pdev->dev; | |
2252 | bank->gpio_chip.of_node = np; | |
2253 | ret = gpiochip_add_data(&bank->gpio_chip, bank); | |
2254 | if (ret < 0) { | |
2255 | dev_err(&pdev->dev, "Failed to add GPIO chip %u: %d\n", | |
2256 | id, ret); | |
2257 | return ret; | |
2258 | } | |
2259 | ||
2260 | ret = gpiochip_irqchip_add(&bank->gpio_chip, &bank->irq_chip, | |
2261 | 0, handle_level_irq, IRQ_TYPE_NONE); | |
2262 | if (ret < 0) { | |
2263 | dev_err(&pdev->dev, "Failed to add IRQ chip %u: %d\n", | |
2264 | id, ret); | |
2265 | gpiochip_remove(&bank->gpio_chip); | |
2266 | return ret; | |
2267 | } | |
2268 | ||
2269 | gpiochip_set_chained_irqchip(&bank->gpio_chip, &bank->irq_chip, | |
2270 | irq, pic32_gpio_irq_handler); | |
2271 | ||
2272 | return 0; | |
2273 | } | |
2274 | ||
2275 | static const struct of_device_id pic32_pinctrl_of_match[] = { | |
2276 | { .compatible = "microchip,pic32mzda-pinctrl", }, | |
2277 | { }, | |
2278 | }; | |
2279 | ||
2280 | static struct platform_driver pic32_pinctrl_driver = { | |
2281 | .driver = { | |
2282 | .name = "pic32-pinctrl", | |
2283 | .of_match_table = pic32_pinctrl_of_match, | |
2284 | .suppress_bind_attrs = true, | |
2285 | }, | |
2286 | .probe = pic32_pinctrl_probe, | |
2287 | }; | |
2288 | ||
2289 | static const struct of_device_id pic32_gpio_of_match[] = { | |
2290 | { .compatible = "microchip,pic32mzda-gpio", }, | |
2291 | { }, | |
2292 | }; | |
2293 | ||
2294 | static struct platform_driver pic32_gpio_driver = { | |
2295 | .driver = { | |
2296 | .name = "pic32-gpio", | |
2297 | .of_match_table = pic32_gpio_of_match, | |
2298 | .suppress_bind_attrs = true, | |
2299 | }, | |
2300 | .probe = pic32_gpio_probe, | |
2301 | }; | |
2302 | ||
2303 | static int __init pic32_gpio_register(void) | |
2304 | { | |
2305 | return platform_driver_register(&pic32_gpio_driver); | |
2306 | } | |
2307 | arch_initcall(pic32_gpio_register); | |
2308 | ||
2309 | static int __init pic32_pinctrl_register(void) | |
2310 | { | |
2311 | return platform_driver_register(&pic32_pinctrl_driver); | |
2312 | } | |
2313 | arch_initcall(pic32_pinctrl_register); |