zephyr/dts/arm/atmel
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
..
sam3x.dtsi
sam4s.dtsi
sam4s2a.dtsi
sam4s2b.dtsi
sam4s2c.dtsi
sam4s4a.dtsi
sam4s4b.dtsi
sam4s4c.dtsi
sam4s8b.dtsi
sam4s8c.dtsi
sam4s16b.dtsi
sam4s16c.dtsi
samd.dtsi drivers: gpio: sam0: Add interrupt support 2019-05-07 08:43:56 -04:00
samd20.dtsi drivers: adc: Add SAM0 ADC driver 2019-05-07 08:41:27 -04:00
samd21.dtsi drivers: adc: Add SAM0 ADC driver 2019-05-07 08:41:27 -04:00
same70.dtsi
same70q21.dtsi
samr21.dtsi drivers: adc: Add SAM0 ADC driver 2019-05-07 08:41:27 -04:00