Loading...
Searching...
No Matches
exti_config.h
1/*
2 * Copyright (C) 2020 ML!PA Consulting GmbH
3 *
4 * This file is subject to the terms and conditions of the GNU Lesser
5 * General Public License v2.1. See the file LICENSE in the top level
6 * directory for more details.
7 */
8
18#ifndef EXTI_CONFIG_H
19#define EXTI_CONFIG_H
20
21#include "cpu_conf.h"
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
30static const int8_t exti_config[PORT_GROUPS][32] = {
31#if PORT_GROUPS >= 1
32{
33#ifdef PIN_PA00A_EIC_EXTINT_NUM
34 PIN_PA00A_EIC_EXTINT_NUM,
35#else
36 -1,
37#endif
38#ifdef PIN_PA01A_EIC_EXTINT_NUM
39 PIN_PA01A_EIC_EXTINT_NUM,
40#else
41 -1,
42#endif
43#ifdef PIN_PA02A_EIC_EXTINT_NUM
44 PIN_PA02A_EIC_EXTINT_NUM,
45#else
46 -1,
47#endif
48#ifdef PIN_PA03A_EIC_EXTINT_NUM
49 PIN_PA03A_EIC_EXTINT_NUM,
50#else
51 -1,
52#endif
53#ifdef PIN_PA04A_EIC_EXTINT_NUM
54 PIN_PA04A_EIC_EXTINT_NUM,
55#else
56 -1,
57#endif
58#ifdef PIN_PA05A_EIC_EXTINT_NUM
59 PIN_PA05A_EIC_EXTINT_NUM,
60#else
61 -1,
62#endif
63#ifdef PIN_PA06A_EIC_EXTINT_NUM
64 PIN_PA06A_EIC_EXTINT_NUM,
65#else
66 -1,
67#endif
68#ifdef PIN_PA07A_EIC_EXTINT_NUM
69 PIN_PA07A_EIC_EXTINT_NUM,
70#else
71 -1,
72#endif
73#ifdef PIN_PA08A_EIC_EXTINT_NUM
74 PIN_PA08A_EIC_EXTINT_NUM,
75#else
76 -1,
77#endif
78#ifdef PIN_PA09A_EIC_EXTINT_NUM
79 PIN_PA09A_EIC_EXTINT_NUM,
80#else
81 -1,
82#endif
83#ifdef PIN_PA10A_EIC_EXTINT_NUM
84 PIN_PA10A_EIC_EXTINT_NUM,
85#else
86 -1,
87#endif
88#ifdef PIN_PA11A_EIC_EXTINT_NUM
89 PIN_PA11A_EIC_EXTINT_NUM,
90#else
91 -1,
92#endif
93#ifdef PIN_PA12A_EIC_EXTINT_NUM
94 PIN_PA12A_EIC_EXTINT_NUM,
95#else
96 -1,
97#endif
98#ifdef PIN_PA13A_EIC_EXTINT_NUM
99 PIN_PA13A_EIC_EXTINT_NUM,
100#else
101 -1,
102#endif
103#ifdef PIN_PA14A_EIC_EXTINT_NUM
104 PIN_PA14A_EIC_EXTINT_NUM,
105#else
106 -1,
107#endif
108#ifdef PIN_PA15A_EIC_EXTINT_NUM
109 PIN_PA15A_EIC_EXTINT_NUM,
110#else
111 -1,
112#endif
113#ifdef PIN_PA16A_EIC_EXTINT_NUM
114 PIN_PA16A_EIC_EXTINT_NUM,
115#else
116 -1,
117#endif
118#ifdef PIN_PA17A_EIC_EXTINT_NUM
119 PIN_PA17A_EIC_EXTINT_NUM,
120#else
121 -1,
122#endif
123#ifdef PIN_PA18A_EIC_EXTINT_NUM
124 PIN_PA18A_EIC_EXTINT_NUM,
125#else
126 -1,
127#endif
128#ifdef PIN_PA19A_EIC_EXTINT_NUM
129 PIN_PA19A_EIC_EXTINT_NUM,
130#else
131 -1,
132#endif
133#ifdef PIN_PA20A_EIC_EXTINT_NUM
134 PIN_PA20A_EIC_EXTINT_NUM,
135#else
136 -1,
137#endif
138#ifdef PIN_PA21A_EIC_EXTINT_NUM
139 PIN_PA21A_EIC_EXTINT_NUM,
140#else
141 -1,
142#endif
143#ifdef PIN_PA22A_EIC_EXTINT_NUM
144 PIN_PA22A_EIC_EXTINT_NUM,
145#else
146 -1,
147#endif
148#ifdef PIN_PA23A_EIC_EXTINT_NUM
149 PIN_PA23A_EIC_EXTINT_NUM,
150#else
151 -1,
152#endif
153#ifdef PIN_PA24A_EIC_EXTINT_NUM
154 PIN_PA24A_EIC_EXTINT_NUM,
155#else
156 -1,
157#endif
158#ifdef PIN_PA25A_EIC_EXTINT_NUM
159 PIN_PA25A_EIC_EXTINT_NUM,
160#else
161 -1,
162#endif
163#ifdef PIN_PA26A_EIC_EXTINT_NUM
164 PIN_PA26A_EIC_EXTINT_NUM,
165#else
166 -1,
167#endif
168#ifdef PIN_PA27A_EIC_EXTINT_NUM
169 PIN_PA27A_EIC_EXTINT_NUM,
170#else
171 -1,
172#endif
173#ifdef PIN_PA28A_EIC_EXTINT_NUM
174 PIN_PA28A_EIC_EXTINT_NUM,
175#else
176 -1,
177#endif
178#ifdef PIN_PA29A_EIC_EXTINT_NUM
179 PIN_PA29A_EIC_EXTINT_NUM,
180#else
181 -1,
182#endif
183#ifdef PIN_PA30A_EIC_EXTINT_NUM
184 PIN_PA30A_EIC_EXTINT_NUM,
185#else
186 -1,
187#endif
188#ifdef PIN_PA31A_EIC_EXTINT_NUM
189 PIN_PA31A_EIC_EXTINT_NUM,
190#else
191 -1,
192#endif
193},
194#endif
195
196#if PORT_GROUPS >= 2
197{
198#ifdef PIN_PB00A_EIC_EXTINT_NUM
199 PIN_PB00A_EIC_EXTINT_NUM,
200#else
201 -1,
202#endif
203#ifdef PIN_PB01A_EIC_EXTINT_NUM
204 PIN_PB01A_EIC_EXTINT_NUM,
205#else
206 -1,
207#endif
208#ifdef PIN_PB02A_EIC_EXTINT_NUM
209 PIN_PB02A_EIC_EXTINT_NUM,
210#else
211 -1,
212#endif
213#ifdef PIN_PB03A_EIC_EXTINT_NUM
214 PIN_PB03A_EIC_EXTINT_NUM,
215#else
216 -1,
217#endif
218#ifdef PIN_PB04A_EIC_EXTINT_NUM
219 PIN_PB04A_EIC_EXTINT_NUM,
220#else
221 -1,
222#endif
223#ifdef PIN_PB05A_EIC_EXTINT_NUM
224 PIN_PB05A_EIC_EXTINT_NUM,
225#else
226 -1,
227#endif
228#ifdef PIN_PB06A_EIC_EXTINT_NUM
229 PIN_PB06A_EIC_EXTINT_NUM,
230#else
231 -1,
232#endif
233#ifdef PIN_PB07A_EIC_EXTINT_NUM
234 PIN_PB07A_EIC_EXTINT_NUM,
235#else
236 -1,
237#endif
238#ifdef PIN_PB08A_EIC_EXTINT_NUM
239 PIN_PB08A_EIC_EXTINT_NUM,
240#else
241 -1,
242#endif
243#ifdef PIN_PB09A_EIC_EXTINT_NUM
244 PIN_PB09A_EIC_EXTINT_NUM,
245#else
246 -1,
247#endif
248#ifdef PIN_PB10A_EIC_EXTINT_NUM
249 PIN_PB10A_EIC_EXTINT_NUM,
250#else
251 -1,
252#endif
253#ifdef PIN_PB11A_EIC_EXTINT_NUM
254 PIN_PB11A_EIC_EXTINT_NUM,
255#else
256 -1,
257#endif
258#ifdef PIN_PB12A_EIC_EXTINT_NUM
259 PIN_PB12A_EIC_EXTINT_NUM,
260#else
261 -1,
262#endif
263#ifdef PIN_PB13A_EIC_EXTINT_NUM
264 PIN_PB13A_EIC_EXTINT_NUM,
265#else
266 -1,
267#endif
268#ifdef PIN_PB14A_EIC_EXTINT_NUM
269 PIN_PB14A_EIC_EXTINT_NUM,
270#else
271 -1,
272#endif
273#ifdef PIN_PB15A_EIC_EXTINT_NUM
274 PIN_PB15A_EIC_EXTINT_NUM,
275#else
276 -1,
277#endif
278#ifdef PIN_PB16A_EIC_EXTINT_NUM
279 PIN_PB16A_EIC_EXTINT_NUM,
280#else
281 -1,
282#endif
283#ifdef PIN_PB17A_EIC_EXTINT_NUM
284 PIN_PB17A_EIC_EXTINT_NUM,
285#else
286 -1,
287#endif
288#ifdef PIN_PB18A_EIC_EXTINT_NUM
289 PIN_PB18A_EIC_EXTINT_NUM,
290#else
291 -1,
292#endif
293#ifdef PIN_PB19A_EIC_EXTINT_NUM
294 PIN_PB19A_EIC_EXTINT_NUM,
295#else
296 -1,
297#endif
298#ifdef PIN_PB20A_EIC_EXTINT_NUM
299 PIN_PB20A_EIC_EXTINT_NUM,
300#else
301 -1,
302#endif
303#ifdef PIN_PB21A_EIC_EXTINT_NUM
304 PIN_PB21A_EIC_EXTINT_NUM,
305#else
306 -1,
307#endif
308#ifdef PIN_PB22A_EIC_EXTINT_NUM
309 PIN_PB22A_EIC_EXTINT_NUM,
310#else
311 -1,
312#endif
313#ifdef PIN_PB23A_EIC_EXTINT_NUM
314 PIN_PB23A_EIC_EXTINT_NUM,
315#else
316 -1,
317#endif
318#ifdef PIN_PB24A_EIC_EXTINT_NUM
319 PIN_PB24A_EIC_EXTINT_NUM,
320#else
321 -1,
322#endif
323#ifdef PIN_PB25A_EIC_EXTINT_NUM
324 PIN_PB25A_EIC_EXTINT_NUM,
325#else
326 -1,
327#endif
328#ifdef PIN_PB26A_EIC_EXTINT_NUM
329 PIN_PB26A_EIC_EXTINT_NUM,
330#else
331 -1,
332#endif
333#ifdef PIN_PB27A_EIC_EXTINT_NUM
334 PIN_PB27A_EIC_EXTINT_NUM,
335#else
336 -1,
337#endif
338#ifdef PIN_PB28A_EIC_EXTINT_NUM
339 PIN_PB28A_EIC_EXTINT_NUM,
340#else
341 -1,
342#endif
343#ifdef PIN_PB29A_EIC_EXTINT_NUM
344 PIN_PB29A_EIC_EXTINT_NUM,
345#else
346 -1,
347#endif
348#ifdef PIN_PB30A_EIC_EXTINT_NUM
349 PIN_PB30A_EIC_EXTINT_NUM,
350#else
351 -1,
352#endif
353#ifdef PIN_PB31A_EIC_EXTINT_NUM
354 PIN_PB31A_EIC_EXTINT_NUM,
355#else
356 -1,
357#endif
358},
359#endif
360
361#if PORT_GROUPS >= 3
362{
363#ifdef PIN_PC00A_EIC_EXTINT_NUM
364 PIN_PC00A_EIC_EXTINT_NUM,
365#else
366 -1,
367#endif
368#ifdef PIN_PC01A_EIC_EXTINT_NUM
369 PIN_PC01A_EIC_EXTINT_NUM,
370#else
371 -1,
372#endif
373#ifdef PIN_PC02A_EIC_EXTINT_NUM
374 PIN_PC02A_EIC_EXTINT_NUM,
375#else
376 -1,
377#endif
378#ifdef PIN_PC03A_EIC_EXTINT_NUM
379 PIN_PC03A_EIC_EXTINT_NUM,
380#else
381 -1,
382#endif
383#ifdef PIN_PC04A_EIC_EXTINT_NUM
384 PIN_PC04A_EIC_EXTINT_NUM,
385#else
386 -1,
387#endif
388#ifdef PIN_PC05A_EIC_EXTINT_NUM
389 PIN_PC05A_EIC_EXTINT_NUM,
390#else
391 -1,
392#endif
393#ifdef PIN_PC06A_EIC_EXTINT_NUM
394 PIN_PC06A_EIC_EXTINT_NUM,
395#else
396 -1,
397#endif
398#ifdef PIN_PC07A_EIC_EXTINT_NUM
399 PIN_PC07A_EIC_EXTINT_NUM,
400#else
401 -1,
402#endif
403#ifdef PIN_PC08A_EIC_EXTINT_NUM
404 PIN_PC08A_EIC_EXTINT_NUM,
405#else
406 -1,
407#endif
408#ifdef PIN_PC09A_EIC_EXTINT_NUM
409 PIN_PC09A_EIC_EXTINT_NUM,
410#else
411 -1,
412#endif
413#ifdef PIN_PC10A_EIC_EXTINT_NUM
414 PIN_PC10A_EIC_EXTINT_NUM,
415#else
416 -1,
417#endif
418#ifdef PIN_PC11A_EIC_EXTINT_NUM
419 PIN_PC11A_EIC_EXTINT_NUM,
420#else
421 -1,
422#endif
423#ifdef PIN_PC12A_EIC_EXTINT_NUM
424 PIN_PC12A_EIC_EXTINT_NUM,
425#else
426 -1,
427#endif
428#ifdef PIN_PC13A_EIC_EXTINT_NUM
429 PIN_PC13A_EIC_EXTINT_NUM,
430#else
431 -1,
432#endif
433#ifdef PIN_PC14A_EIC_EXTINT_NUM
434 PIN_PC14A_EIC_EXTINT_NUM,
435#else
436 -1,
437#endif
438#ifdef PIN_PC15A_EIC_EXTINT_NUM
439 PIN_PC15A_EIC_EXTINT_NUM,
440#else
441 -1,
442#endif
443#ifdef PIN_PC16A_EIC_EXTINT_NUM
444 PIN_PC16A_EIC_EXTINT_NUM,
445#else
446 -1,
447#endif
448#ifdef PIN_PC17A_EIC_EXTINT_NUM
449 PIN_PC17A_EIC_EXTINT_NUM,
450#else
451 -1,
452#endif
453#ifdef PIN_PC18A_EIC_EXTINT_NUM
454 PIN_PC18A_EIC_EXTINT_NUM,
455#else
456 -1,
457#endif
458#ifdef PIN_PC19A_EIC_EXTINT_NUM
459 PIN_PC19A_EIC_EXTINT_NUM,
460#else
461 -1,
462#endif
463#ifdef PIN_PC20A_EIC_EXTINT_NUM
464 PIN_PC20A_EIC_EXTINT_NUM,
465#else
466 -1,
467#endif
468#ifdef PIN_PC21A_EIC_EXTINT_NUM
469 PIN_PC21A_EIC_EXTINT_NUM,
470#else
471 -1,
472#endif
473#ifdef PIN_PC22A_EIC_EXTINT_NUM
474 PIN_PC22A_EIC_EXTINT_NUM,
475#else
476 -1,
477#endif
478#ifdef PIN_PC23A_EIC_EXTINT_NUM
479 PIN_PC23A_EIC_EXTINT_NUM,
480#else
481 -1,
482#endif
483#ifdef PIN_PC24A_EIC_EXTINT_NUM
484 PIN_PC24A_EIC_EXTINT_NUM,
485#else
486 -1,
487#endif
488#ifdef PIN_PC25A_EIC_EXTINT_NUM
489 PIN_PC25A_EIC_EXTINT_NUM,
490#else
491 -1,
492#endif
493#ifdef PIN_PC26A_EIC_EXTINT_NUM
494 PIN_PC26A_EIC_EXTINT_NUM,
495#else
496 -1,
497#endif
498#ifdef PIN_PC27A_EIC_EXTINT_NUM
499 PIN_PC27A_EIC_EXTINT_NUM,
500#else
501 -1,
502#endif
503#ifdef PIN_PC28A_EIC_EXTINT_NUM
504 PIN_PC28A_EIC_EXTINT_NUM,
505#else
506 -1,
507#endif
508#ifdef PIN_PC29A_EIC_EXTINT_NUM
509 PIN_PC29A_EIC_EXTINT_NUM,
510#else
511 -1,
512#endif
513#ifdef PIN_PC30A_EIC_EXTINT_NUM
514 PIN_PC30A_EIC_EXTINT_NUM,
515#else
516 -1,
517#endif
518#ifdef PIN_PC31A_EIC_EXTINT_NUM
519 PIN_PC31A_EIC_EXTINT_NUM,
520#else
521 -1,
522#endif
523},
524#endif
525
526#if PORT_GROUPS >= 4
527{
528#ifdef PIN_PD00A_EIC_EXTINT_NUM
529 PIN_PD00A_EIC_EXTINT_NUM,
530#else
531 -1,
532#endif
533#ifdef PIN_PD01A_EIC_EXTINT_NUM
534 PIN_PD01A_EIC_EXTINT_NUM,
535#else
536 -1,
537#endif
538#ifdef PIN_PD02A_EIC_EXTINT_NUM
539 PIN_PD02A_EIC_EXTINT_NUM,
540#else
541 -1,
542#endif
543#ifdef PIN_PD03A_EIC_EXTINT_NUM
544 PIN_PD03A_EIC_EXTINT_NUM,
545#else
546 -1,
547#endif
548#ifdef PIN_PD04A_EIC_EXTINT_NUM
549 PIN_PD04A_EIC_EXTINT_NUM,
550#else
551 -1,
552#endif
553#ifdef PIN_PD05A_EIC_EXTINT_NUM
554 PIN_PD05A_EIC_EXTINT_NUM,
555#else
556 -1,
557#endif
558#ifdef PIN_PD06A_EIC_EXTINT_NUM
559 PIN_PD06A_EIC_EXTINT_NUM,
560#else
561 -1,
562#endif
563#ifdef PIN_PD07A_EIC_EXTINT_NUM
564 PIN_PD07A_EIC_EXTINT_NUM,
565#else
566 -1,
567#endif
568#ifdef PIN_PD08A_EIC_EXTINT_NUM
569 PIN_PD08A_EIC_EXTINT_NUM,
570#else
571 -1,
572#endif
573#ifdef PIN_PD09A_EIC_EXTINT_NUM
574 PIN_PD09A_EIC_EXTINT_NUM,
575#else
576 -1,
577#endif
578#ifdef PIN_PD10A_EIC_EXTINT_NUM
579 PIN_PD10A_EIC_EXTINT_NUM,
580#else
581 -1,
582#endif
583#ifdef PIN_PD11A_EIC_EXTINT_NUM
584 PIN_PD11A_EIC_EXTINT_NUM,
585#else
586 -1,
587#endif
588#ifdef PIN_PD12A_EIC_EXTINT_NUM
589 PIN_PD12A_EIC_EXTINT_NUM,
590#else
591 -1,
592#endif
593#ifdef PIN_PD13A_EIC_EXTINT_NUM
594 PIN_PD13A_EIC_EXTINT_NUM,
595#else
596 -1,
597#endif
598#ifdef PIN_PD14A_EIC_EXTINT_NUM
599 PIN_PD14A_EIC_EXTINT_NUM,
600#else
601 -1,
602#endif
603#ifdef PIN_PD15A_EIC_EXTINT_NUM
604 PIN_PD15A_EIC_EXTINT_NUM,
605#else
606 -1,
607#endif
608#ifdef PIN_PD16A_EIC_EXTINT_NUM
609 PIN_PD16A_EIC_EXTINT_NUM,
610#else
611 -1,
612#endif
613#ifdef PIN_PD17A_EIC_EXTINT_NUM
614 PIN_PD17A_EIC_EXTINT_NUM,
615#else
616 -1,
617#endif
618#ifdef PIN_PD18A_EIC_EXTINT_NUM
619 PIN_PD18A_EIC_EXTINT_NUM,
620#else
621 -1,
622#endif
623#ifdef PIN_PD19A_EIC_EXTINT_NUM
624 PIN_PD19A_EIC_EXTINT_NUM,
625#else
626 -1,
627#endif
628#ifdef PIN_PD20A_EIC_EXTINT_NUM
629 PIN_PD20A_EIC_EXTINT_NUM,
630#else
631 -1,
632#endif
633#ifdef PIN_PD21A_EIC_EXTINT_NUM
634 PIN_PD21A_EIC_EXTINT_NUM,
635#else
636 -1,
637#endif
638#ifdef PIN_PD22A_EIC_EXTINT_NUM
639 PIN_PD22A_EIC_EXTINT_NUM,
640#else
641 -1,
642#endif
643#ifdef PIN_PD23A_EIC_EXTINT_NUM
644 PIN_PD23A_EIC_EXTINT_NUM,
645#else
646 -1,
647#endif
648#ifdef PIN_PD24A_EIC_EXTINT_NUM
649 PIN_PD24A_EIC_EXTINT_NUM,
650#else
651 -1,
652#endif
653#ifdef PIN_PD25A_EIC_EXTINT_NUM
654 PIN_PD25A_EIC_EXTINT_NUM,
655#else
656 -1,
657#endif
658#ifdef PIN_PD26A_EIC_EXTINT_NUM
659 PIN_PD26A_EIC_EXTINT_NUM,
660#else
661 -1,
662#endif
663#ifdef PIN_PD27A_EIC_EXTINT_NUM
664 PIN_PD27A_EIC_EXTINT_NUM,
665#else
666 -1,
667#endif
668#ifdef PIN_PD28A_EIC_EXTINT_NUM
669 PIN_PD28A_EIC_EXTINT_NUM,
670#else
671 -1,
672#endif
673#ifdef PIN_PD29A_EIC_EXTINT_NUM
674 PIN_PD29A_EIC_EXTINT_NUM,
675#else
676 -1,
677#endif
678#ifdef PIN_PD30A_EIC_EXTINT_NUM
679 PIN_PD30A_EIC_EXTINT_NUM,
680#else
681 -1,
682#endif
683#ifdef PIN_PD31A_EIC_EXTINT_NUM
684 PIN_PD31A_EIC_EXTINT_NUM,
685#else
686 -1,
687#endif
688},
689#endif
690};
691
692#ifdef __cplusplus
693}
694#endif
695
696#endif /* EXTI_CONFIG_H */
static const int8_t exti_config[PORT_GROUPS][32]
Generic EXTI map for all CPUs of the sam0 family.
Definition exti_config.h:30
Implementation specific CPU configuration options.