diff --git a/cpu/saml21/include/periph_cpu.h b/cpu/saml21/include/periph_cpu.h index 0f18db51bc425ae97d34bca456868675076e1447..52f9a7c44074297c52c9f609bd9bcb02e3514c51 100644 --- a/cpu/saml21/include/periph_cpu.h +++ b/cpu/saml21/include/periph_cpu.h @@ -29,12 +29,45 @@ extern "C" { /** * @brief Mapping of pins to EXTI lines, -1 means not EXTI possible */ +#if defined(CPU_MODEL_SAML21E18A) || defined(CPU_MODEL_SAML21E18B) || \ + defined(CPU_MODEL_SAML21E17A) || defined(CPU_MODEL_SAML21E17B) || \ + defined(CPU_MODEL_SAML21E16A) || defined(CPU_MODEL_SAML21E16B) || \ + defined(CPU_MODEL_SAML21E15A) || defined(CPU_MODEL_SAML21E15B) +static const int8_t exti_config[1][32] = { + { 0, 1, 2, 3, 4, 5, 6, 7, -1, 9, 10, 11, -1, -1, 14, 15, + 0, 1, 2, 3, -1, -1, 6, 7, 12, 13, -1, 15, -1, -1, 10, 11}, +}; +#else /* CPU_MODEL_SAML21E */ static const int8_t exti_config[2][32] = { +#if defined(CPU_MODEL_SAML21G18A) || defined(CPU_MODEL_SAML21G18B) || \ + defined(CPU_MODEL_SAML21G17A) || defined(CPU_MODEL_SAML21G17B) || \ + defined(CPU_MODEL_SAML21G16A) || defined(CPU_MODEL_SAML21G16B) + { 0, 1, 2, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, 5, 6, 7, 12, 13, -1, 15, -1, -1, 10, 11}, + {-1, -1, 2, 3, -1, -1, -1, -1, 8, 9, 10, 11, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1}, +#elif defined(CPU_MODEL_SAML21J18A) || defined(CPU_MODEL_SAML21J18B) || \ + defined(CPU_MODEL_SAML21J17A) || defined(CPU_MODEL_SAML21J17B) || \ + defined(CPU_MODEL_SAML21J16A) || defined(CPU_MODEL_SAML21J16B) { 0, 1, 2, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, 0, 1, 2, 3, 4, 5, 6, 7, 12, 13, -1, 15, -1, -1, 10, 11}, { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0, 1, -1, -1, -1, -1, 6, 7, -1, -1, -1, -1, -1, -1, 14, 15}, +#elif defined(CPU_MODEL_SAMR30G18A) + { 0, 1, -1, -1, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, + 0, 1, 2, 3, 4, -1, 6, 7, 12, 13, -1, 15, 8, -1, 10, 11}, + { 0, -1, 2, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, + 0, 1, -1, -1, -1, -1, 6, 7, -1, -1, -1, -1, -1, -1, 14, 15}, +#elif defined(CPU_MODEL_SAMR30E18A) + {-1, -1, -1, -1, -1, -1, 6, 7, -1, 9, 10, 11, -1, -1, 14, 15, + 0, 1, 2, 3, 4, -1, -1, -1, 12, 13, -1, 15, 8, -1, 10, 11}, + { 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, + 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 14, 15}, +#else + #error Please define a proper CPU_MODEL. +#endif }; +#endif /* CPU_MODEL_SAML21E */ #define HAVE_ADC_RES_T typedef enum {