diff options
Diffstat (limited to 'src/atsam/gpio.c')
-rw-r--r-- | src/atsam/gpio.c | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/src/atsam/gpio.c b/src/atsam/gpio.c index 768a3949..2af2bfc0 100644 --- a/src/atsam/gpio.c +++ b/src/atsam/gpio.c @@ -11,15 +11,28 @@ #include "internal.h" // gpio_peripheral #include "sched.h" // sched_shutdown +DECL_ENUMERATION_RANGE("pin", "PA0", GPIO('A', 0), 32); +DECL_ENUMERATION_RANGE("pin", "PB0", GPIO('B', 0), 32); +#ifdef PIOC +DECL_ENUMERATION_RANGE("pin", "PC0", GPIO('C', 0), 32); +#endif +#ifdef PIOD +DECL_ENUMERATION_RANGE("pin", "PD0", GPIO('D', 0), 32); +#endif +#ifdef PIOE +DECL_ENUMERATION_RANGE("pin", "PE0", GPIO('E', 0), 32); +#endif + static Pio * const digital_regs[] = { -#if CONFIG_MACH_SAM3X8E - PIOA, PIOB, PIOC, PIOD -#elif CONFIG_MACH_SAM3X8C - PIOA, PIOB -#elif CONFIG_MACH_SAM4S8C - PIOA, PIOB, PIOC -#elif CONFIG_MACH_SAM4E8E - PIOA, PIOB, PIOC, PIOD, PIOE + PIOA, PIOB, +#ifdef PIOC + PIOC, +#endif +#ifdef PIOD + PIOD, +#endif +#ifdef PIOE + PIOE, #endif }; |