zephyr/soc/arm
Derek Hageman 4462069d74 drivers: gpio: sam0: Add interrupt support
This adds interrupt support to the SAM0 GPIO driver.  This is heavily
inspired by @nzmichaelh work in #5715.  The primary difference
from that implementation is that here the External Interrupt
Controller (EIC) is separated out into an interrupt controller driver
that is less tightly coupled to the GPIO API.  Instead it implements
more of a conversion from the EIC's own odd multiplexing to a more
traditional port and pin mask IRQ-like callback.  Unfortunately,
through the EIC on the SAMD2x are relatively well behaved
in terms of pin to EIC line mappings, other chips that share the
peripheral interface are not.  So the EIC driver implements a
per-line lookup to the pin and port pair using definitions extracted
from the ASF headers.

The EIC driver still makes some assumptions about how it will be used:
mostly it assumes exactly one callback per port.  This should be fine
as the only intended user is the GPIO driver itself.

This has been tested with some simple programs and with
tests/drivers/gpio/gpio_basic_api on a SAMD21 breakout and an
adafruit_trinket_m0 board.

Signed-off-by: Derek Hageman <hageman@inthat.cloud>
2019-05-07 08:43:56 -04:00
..
arm soc: arm: select CPU_HAS_SYSTICK in ARCH Kconfig 2019-04-25 23:09:23 -07:00
atmel_sam soc: arm: select CPU_HAS_SYSTICK in ARCH Kconfig 2019-04-25 23:09:23 -07:00
atmel_sam0 drivers: gpio: sam0: Add interrupt support 2019-05-07 08:43:56 -04:00
cypress soc: arm: rename CPU_HAS_SYSTICK to CPU_CORTEX_M_HAS_SYSTICK 2019-04-25 23:09:23 -07:00
microchip_mec soc : arm : microchip_mec Add Microchip MEC1501 SoC 2019-04-30 14:08:23 -07:00
nordic_nrf soc: arm: nordic_nrf: unrevert provide custom busy_wait implementations 2019-05-07 14:32:21 +02:00
nxp_imx soc: nxp_imx: mimxrt1064_evk: Add I2C support 2019-04-26 03:48:07 -07:00
nxp_kinetis soc: arm: rename CPU_HAS_SYSTICK to CPU_CORTEX_M_HAS_SYSTICK 2019-04-25 23:09:23 -07:00
nxp_lpc soc: arm: rename CPU_HAS_SYSTICK to CPU_CORTEX_M_HAS_SYSTICK 2019-04-25 23:09:23 -07:00
silabs_exx32 soc: arm: rename CPU_HAS_SYSTICK to CPU_CORTEX_M_HAS_SYSTICK 2019-04-25 23:09:23 -07:00
st_stm32 DTS: Add UART 5 for STM32F4 SOC 2019-05-06 08:46:47 -05:00
ti_lm3s6965 soc: arm: select CPU_HAS_SYSTICK in ARCH Kconfig 2019-04-25 23:09:23 -07:00
ti_simplelink soc: ti_simplelink: add support for TI CC13x2 / CC26x2 series 2019-05-04 09:13:43 -05:00
CMakeLists.txt license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
Kconfig soc: arm: Kconfig option to indicate double-precision FP 2019-02-08 14:09:18 -06:00