| /* |
| * Copyright (c) 2019 Derek Hageman <hageman@inthat.cloud> |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #ifndef ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_INTC_SAM0_EIC_PRIV_H_ |
| #define ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_INTC_SAM0_EIC_PRIV_H_ |
| |
| #include <errno.h> |
| #include <zephyr/types.h> |
| #include <soc.h> |
| |
| /* |
| * Used in the ASF headers, but not always defined by them (looks like they |
| * sometimes define __L instead). |
| */ |
| #ifndef _L |
| #define _L(i) i ## L |
| #endif |
| |
| /* |
| * Unfortunately the ASF headers define the EIC mappings somewhat painfully: |
| * the macros have both the port letter and are only defined if that pin |
| * has an EIC channel. So we can't just use a macro expansion here, because |
| * some of them might be undefined for a port and we can't test for another |
| * macro definition inside a macro. |
| */ |
| static const uint8_t sam0_eic_channels[PORT_GROUPS][32] = { |
| #if PORT_GROUPS >= 1 |
| { |
| #ifdef PIN_PA00A_EIC_EXTINT_NUM |
| PIN_PA00A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA01A_EIC_EXTINT_NUM |
| PIN_PA01A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA02A_EIC_EXTINT_NUM |
| PIN_PA02A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA03A_EIC_EXTINT_NUM |
| PIN_PA03A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA04A_EIC_EXTINT_NUM |
| PIN_PA04A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA05A_EIC_EXTINT_NUM |
| PIN_PA05A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA06A_EIC_EXTINT_NUM |
| PIN_PA06A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA07A_EIC_EXTINT_NUM |
| PIN_PA07A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA08A_EIC_EXTINT_NUM |
| PIN_PA08A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA09A_EIC_EXTINT_NUM |
| PIN_PA09A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA10A_EIC_EXTINT_NUM |
| PIN_PA10A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA11A_EIC_EXTINT_NUM |
| PIN_PA11A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA12A_EIC_EXTINT_NUM |
| PIN_PA12A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA13A_EIC_EXTINT_NUM |
| PIN_PA13A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA14A_EIC_EXTINT_NUM |
| PIN_PA14A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA15A_EIC_EXTINT_NUM |
| PIN_PA15A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA16A_EIC_EXTINT_NUM |
| PIN_PA16A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA17A_EIC_EXTINT_NUM |
| PIN_PA17A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA18A_EIC_EXTINT_NUM |
| PIN_PA18A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA19A_EIC_EXTINT_NUM |
| PIN_PA19A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA20A_EIC_EXTINT_NUM |
| PIN_PA20A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA21A_EIC_EXTINT_NUM |
| PIN_PA21A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA22A_EIC_EXTINT_NUM |
| PIN_PA22A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA23A_EIC_EXTINT_NUM |
| PIN_PA23A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA24A_EIC_EXTINT_NUM |
| PIN_PA24A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA25A_EIC_EXTINT_NUM |
| PIN_PA25A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA26A_EIC_EXTINT_NUM |
| PIN_PA26A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA27A_EIC_EXTINT_NUM |
| PIN_PA27A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA28A_EIC_EXTINT_NUM |
| PIN_PA28A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA29A_EIC_EXTINT_NUM |
| PIN_PA29A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA30A_EIC_EXTINT_NUM |
| PIN_PA30A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PA31A_EIC_EXTINT_NUM |
| PIN_PA31A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| }, |
| #endif |
| |
| #if PORT_GROUPS >= 2 |
| { |
| #ifdef PIN_PB00A_EIC_EXTINT_NUM |
| PIN_PB00A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB01A_EIC_EXTINT_NUM |
| PIN_PB01A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB02A_EIC_EXTINT_NUM |
| PIN_PB02A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB03A_EIC_EXTINT_NUM |
| PIN_PB03A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB04A_EIC_EXTINT_NUM |
| PIN_PB04A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB05A_EIC_EXTINT_NUM |
| PIN_PB05A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB06A_EIC_EXTINT_NUM |
| PIN_PB06A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB07A_EIC_EXTINT_NUM |
| PIN_PB07A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB08A_EIC_EXTINT_NUM |
| PIN_PB08A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB09A_EIC_EXTINT_NUM |
| PIN_PB09A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB10A_EIC_EXTINT_NUM |
| PIN_PB10A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB11A_EIC_EXTINT_NUM |
| PIN_PB11A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB12A_EIC_EXTINT_NUM |
| PIN_PB12A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB13A_EIC_EXTINT_NUM |
| PIN_PB13A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB14A_EIC_EXTINT_NUM |
| PIN_PB14A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB15A_EIC_EXTINT_NUM |
| PIN_PB15A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB16A_EIC_EXTINT_NUM |
| PIN_PB16A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB17A_EIC_EXTINT_NUM |
| PIN_PB17A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB18A_EIC_EXTINT_NUM |
| PIN_PB18A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB19A_EIC_EXTINT_NUM |
| PIN_PB19A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB20A_EIC_EXTINT_NUM |
| PIN_PB20A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB21A_EIC_EXTINT_NUM |
| PIN_PB21A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB22A_EIC_EXTINT_NUM |
| PIN_PB22A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB23A_EIC_EXTINT_NUM |
| PIN_PB23A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB24A_EIC_EXTINT_NUM |
| PIN_PB24A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB25A_EIC_EXTINT_NUM |
| PIN_PB25A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB26A_EIC_EXTINT_NUM |
| PIN_PB26A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB27A_EIC_EXTINT_NUM |
| PIN_PB27A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB28A_EIC_EXTINT_NUM |
| PIN_PB28A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB29A_EIC_EXTINT_NUM |
| PIN_PB29A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB30A_EIC_EXTINT_NUM |
| PIN_PB30A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PB31A_EIC_EXTINT_NUM |
| PIN_PB31A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| }, |
| #endif |
| |
| #if PORT_GROUPS >= 3 |
| { |
| #ifdef PIN_PC00A_EIC_EXTINT_NUM |
| PIN_PC00A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC01A_EIC_EXTINT_NUM |
| PIN_PC01A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC02A_EIC_EXTINT_NUM |
| PIN_PC02A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC03A_EIC_EXTINT_NUM |
| PIN_PC03A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC04A_EIC_EXTINT_NUM |
| PIN_PC04A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC05A_EIC_EXTINT_NUM |
| PIN_PC05A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC06A_EIC_EXTINT_NUM |
| PIN_PC06A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC07A_EIC_EXTINT_NUM |
| PIN_PC07A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC08A_EIC_EXTINT_NUM |
| PIN_PC08A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC09A_EIC_EXTINT_NUM |
| PIN_PC09A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC10A_EIC_EXTINT_NUM |
| PIN_PC10A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC11A_EIC_EXTINT_NUM |
| PIN_PC11A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC12A_EIC_EXTINT_NUM |
| PIN_PC12A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC13A_EIC_EXTINT_NUM |
| PIN_PC13A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC14A_EIC_EXTINT_NUM |
| PIN_PC14A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC15A_EIC_EXTINT_NUM |
| PIN_PC15A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC16A_EIC_EXTINT_NUM |
| PIN_PC16A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC17A_EIC_EXTINT_NUM |
| PIN_PC17A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC18A_EIC_EXTINT_NUM |
| PIN_PC18A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC19A_EIC_EXTINT_NUM |
| PIN_PC19A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC20A_EIC_EXTINT_NUM |
| PIN_PC20A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC21A_EIC_EXTINT_NUM |
| PIN_PC21A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC22A_EIC_EXTINT_NUM |
| PIN_PC22A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC23A_EIC_EXTINT_NUM |
| PIN_PC23A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC24A_EIC_EXTINT_NUM |
| PIN_PC24A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC25A_EIC_EXTINT_NUM |
| PIN_PC25A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC26A_EIC_EXTINT_NUM |
| PIN_PC26A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC27A_EIC_EXTINT_NUM |
| PIN_PC27A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC28A_EIC_EXTINT_NUM |
| PIN_PC28A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC29A_EIC_EXTINT_NUM |
| PIN_PC29A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC30A_EIC_EXTINT_NUM |
| PIN_PC30A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PC31A_EIC_EXTINT_NUM |
| PIN_PC31A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| }, |
| #endif |
| |
| #if PORT_GROUPS >= 4 |
| { |
| #ifdef PIN_PD00A_EIC_EXTINT_NUM |
| PIN_PD00A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD01A_EIC_EXTINT_NUM |
| PIN_PD01A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD02A_EIC_EXTINT_NUM |
| PIN_PD02A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD03A_EIC_EXTINT_NUM |
| PIN_PD03A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD04A_EIC_EXTINT_NUM |
| PIN_PD04A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD05A_EIC_EXTINT_NUM |
| PIN_PD05A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD06A_EIC_EXTINT_NUM |
| PIN_PD06A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD07A_EIC_EXTINT_NUM |
| PIN_PD07A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD08A_EIC_EXTINT_NUM |
| PIN_PD08A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD09A_EIC_EXTINT_NUM |
| PIN_PD09A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD10A_EIC_EXTINT_NUM |
| PIN_PD10A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD11A_EIC_EXTINT_NUM |
| PIN_PD11A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD12A_EIC_EXTINT_NUM |
| PIN_PD12A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD13A_EIC_EXTINT_NUM |
| PIN_PD13A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD14A_EIC_EXTINT_NUM |
| PIN_PD14A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD15A_EIC_EXTINT_NUM |
| PIN_PD15A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD16A_EIC_EXTINT_NUM |
| PIN_PD16A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD17A_EIC_EXTINT_NUM |
| PIN_PD17A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD18A_EIC_EXTINT_NUM |
| PIN_PD18A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD19A_EIC_EXTINT_NUM |
| PIN_PD19A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD20A_EIC_EXTINT_NUM |
| PIN_PD20A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD21A_EIC_EXTINT_NUM |
| PIN_PD21A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD22A_EIC_EXTINT_NUM |
| PIN_PD22A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD23A_EIC_EXTINT_NUM |
| PIN_PD23A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD24A_EIC_EXTINT_NUM |
| PIN_PD24A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD25A_EIC_EXTINT_NUM |
| PIN_PD25A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD26A_EIC_EXTINT_NUM |
| PIN_PD26A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD27A_EIC_EXTINT_NUM |
| PIN_PD27A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD28A_EIC_EXTINT_NUM |
| PIN_PD28A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD29A_EIC_EXTINT_NUM |
| PIN_PD29A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD30A_EIC_EXTINT_NUM |
| PIN_PD30A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| #ifdef PIN_PD31A_EIC_EXTINT_NUM |
| PIN_PD31A_EIC_EXTINT_NUM, |
| #else |
| 0xFF, |
| #endif |
| }, |
| #endif |
| }; |
| |
| static inline int sam0_eic_map_to_line(int port, int pin) |
| { |
| uint8_t ch = sam0_eic_channels[port][pin]; |
| |
| if (ch == 0xFF) { |
| return -ENOTSUP; |
| } |
| return ch; |
| } |
| |
| #endif /* ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_INTC_SAM0_EIC_PRIV_H_ */ |