zephyr/drivers/gpio
Scott Worley c66250f5ba drivers: GPIO: Microchip: Fix GPIO interrupt enable spurious interrupt
Fix for issue 34879.
Microchip MEC GPIO hardware can trigger a spurious interrupt when
interrupt detection is set to edge mode especially falling edge mode.
Clearing the status immediately after enabling interrupt detection does
not work because the hardware takes a small number of AHB clocks to
set the status. After interrupt detection enable we use an ARM data
memory barrier to insure the write completes before clearing spurious
status and enabling the interrupt in the GIRQ.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2021-08-05 11:29:35 +02:00
..
CMakeLists.txt drivers: gpio: Add PCA953X driver (gpio port expander) 2021-07-31 14:56:34 -04:00
gpio_b91.c drivers: gpio: introduce new Telink B91 GPIO driver 2021-07-21 05:37:12 -04:00
gpio_cc13xx_cc26xx.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_cc32xx.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_cmsdk_ahb.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_cmsdk_ahb.h
gpio_creg_gpio.c driver: gpio: add initial support for synopsys creg gpio 2021-07-13 09:42:59 -04:00
gpio_cy8c95xx.c drivers: gpio: gpio_cy8c95xx: Add error check of i2c_reg_read_byte 2021-05-14 02:56:31 -05:00
gpio_dw_registers.h
gpio_dw.c pm: use actions for device PM control 2021-08-04 08:23:01 -04:00
gpio_dw.h pm: device: remove usage of local states 2021-08-04 08:23:01 -04:00
gpio_emul.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_eos_s3.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_esp32.c esp32: drivers: interrupt_controller: review GPIO interrupt usage 2021-07-16 07:19:28 -04:00
gpio_gecko.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_handlers.c api: gpio: do not support INT flags in gpio_pin_configure 2021-05-07 12:42:08 -05:00
gpio_imx.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_intel.c gpio: intel: fix reg address for Apollo Lake 2021-05-18 20:45:55 -04:00
gpio_ite_it8xxx2.c gpio: it8xxx2: disable irq before configuring pin interrupt 2021-07-28 21:10:40 -04:00
gpio_litex.c drivers: gpio_litex: add support for changing IRQ type 2021-06-04 16:24:52 -05:00
gpio_lmp90xxx.c drivers: gpio: lmp90xxx: convert to new DT helper macros 2021-06-04 16:18:51 -05:00
gpio_lpc11u6x.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_mchp_xec_v2.c Microchip: MEC172x GPIO driver version 2 2021-07-27 18:01:55 -04:00
gpio_mchp_xec.c drivers: GPIO: Microchip: Fix GPIO interrupt enable spurious interrupt 2021-08-05 11:29:35 +02:00
gpio_mcp23s17.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_mcp23s17.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
gpio_mcux_igpio.c drivers: igpio: Do not require GPIO interrupts to be present 2021-06-29 11:30:00 -04:00
gpio_mcux_lpc.c drivers: gpio: Refactor mcux lpc driver to use DT_INST_FOREACH 2021-07-19 20:00:54 -04:00
gpio_mcux.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_mmio32.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
gpio_npcx.c driver: gpio: npcx: force io type as open-drain if select to 1p8v. 2021-04-30 12:38:59 -05:00
gpio_nrfx.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_pca95xx.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_pca953x.c drivers: gpio: Add PCA953X driver (gpio port expander) 2021-07-31 14:56:34 -04:00
gpio_pcal6408a.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_psoc6.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_rcar.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_rv32m1.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_sam0.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_sam4l.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_sam.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_shell.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
gpio_sifive.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_stellaris.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_stm32.c pm: use actions for device PM control 2021-08-04 08:23:01 -04:00
gpio_stm32.h pm: device: remove usage of local states 2021-08-04 08:23:01 -04:00
gpio_stmpe1600.c drivers: gpio: add new driver for STMPE1600 gpio expander 2021-07-15 19:23:16 -04:00
gpio_sx1509b.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
gpio_utils.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
gpio_xlnx_axi.c drivers: gpio: remove usage of device_pm_control_nop 2021-04-28 10:55:35 -04:00
Kconfig drivers: gpio: Add PCA953X driver (gpio port expander) 2021-07-31 14:56:34 -04:00
Kconfig.b91 drivers: gpio: introduce new Telink B91 GPIO driver 2021-07-21 05:37:12 -04:00
Kconfig.cc13xx_cc26xx
Kconfig.cc32xx
Kconfig.cmsdk_ahb
Kconfig.creg_gpio driver: gpio: add initial support for synopsys creg gpio 2021-07-13 09:42:59 -04:00
Kconfig.cy8c95xx drivers: gpio: add initial support for cy8c95xx I/O expander 2021-04-28 10:53:52 -04:00
Kconfig.dw
Kconfig.emul gpio: add driver for emulated GPIO 2020-12-27 18:15:33 +01:00
Kconfig.eos_s3 drivers: gpio: add EOS S3 GPIO driver 2021-03-11 08:58:20 -05:00
Kconfig.esp32 esp32: drivers: interrupt_controller: review GPIO interrupt usage 2021-07-16 07:19:28 -04:00
Kconfig.gecko
Kconfig.imx
Kconfig.intel drivers: gpio: Generic GPIO driver for Intel SoC 2021-05-07 09:45:50 -04:00
Kconfig.it8xxx2 drivers/gpio: it8xxx2 platform gpio driver 2020-12-16 08:47:36 -05:00
Kconfig.litex
Kconfig.lmp90xxx
Kconfig.lpc11u6x drivers: gpio: add driver for NXP LPC11U6X MCUs 2020-07-29 20:12:24 +02:00
Kconfig.mcp23s17
Kconfig.mcux
Kconfig.mcux_igpio
Kconfig.mcux_lpc drivers: gpio: mcux_lpc: Convert driver to use devicetree port prop 2021-05-31 17:45:05 +02:00
Kconfig.mmio32
Kconfig.npcx driver: npcx7: fixed typo in Kconfig.npcx files. 2020-12-07 12:11:17 -05:00
Kconfig.nrfx drivers: gpio_nrfx: support edge interrupts using GPIO SENSE 2021-03-16 10:02:42 +01:00
Kconfig.pca95xx drivers: gpio_pca95xx: Add GPIO driver enable interrupt support 2020-10-23 13:47:41 +02:00
Kconfig.pca953x drivers: gpio: Add PCA953X driver (gpio port expander) 2021-07-31 14:56:34 -04:00
Kconfig.pcal6408a drivers: gpio: Add support for PCAL6408A I/O expander 2021-03-03 11:38:03 +03:00
Kconfig.psoc6 drivers: gpio: Fix when psoc6 gpio driver is built 2021-05-10 13:47:11 -05:00
Kconfig.rcar drivers: gpio: add Renesas RCar gpio 2021-04-22 10:38:45 +02:00
Kconfig.rv32m1
Kconfig.sam drivers: gpio: sam: Add sam4l SoC support 2020-12-02 11:48:43 -06:00
Kconfig.sam0
Kconfig.sifive drivers: gpio: sifive: use interrupt-cell to set IRQ priority 2021-01-16 17:22:08 -05:00
Kconfig.stellaris
Kconfig.stm32 drivers/gpio: stm32: Set SWJ higher prio vs device pin configuration 2021-03-08 08:37:01 -06:00
Kconfig.stmpe1600 drivers: gpio: add new driver for STMPE1600 gpio expander 2021-07-15 19:23:16 -04:00
Kconfig.sx1509b
Kconfig.xec Microchip: MEC172x GPIO driver version 2 2021-07-27 18:01:55 -04:00
Kconfig.xlnx drivers: gpio: add driver for the Xilinx AXI GPIO IP 2020-08-14 13:35:39 -05:00