zephyr/drivers/gpio
Andrzej Kaczmarek 422092f2d3 drivers: gpio: smartbond: Add GPIO latching for PM
This adds automatic GPIO latching before going to extended sleep and
restoring state after wakeup.

Mode and state for each pin is stored, then ports are latched to retain
state when PD_COM is disabled during sleep. On wakeup mode and state for
each pin is restored and ports are unlatched to make it work again.

Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
Signed-off-by: Jerzy Kasenberg <jerzy.kasenberg@codecoup.pl>
2024-04-25 16:17:53 +02:00
..
CMakeLists.txt drivers: ad559x: add i2c bus support 2024-04-01 12:18:47 -05:00
gpio_ad559x.c drivers: ad559x: add i2c bus support 2024-04-01 12:18:47 -05:00
gpio_ads114s0x.c drivers: gpio: fix optional operations usage 2023-09-07 20:18:33 +02:00
gpio_altera_pio.c drivers: gpio: altera_pio add spinlock 2023-09-25 16:41:17 +02:00
gpio_ambiq.c drivers: gpio: Add default for switch statement 2024-02-25 22:26:00 -05:00
gpio_andes_atcgpio100.c drivers: gpio: atcgpio100: remove redundant include 2024-01-19 15:13:53 +00:00
gpio_axp192.c drivers: gpio: axp192: Add support to control EXTEN pin 2024-03-06 10:23:31 +00:00
gpio_b91.c drivers: gpio: b91: add missing PLIC header 2024-01-15 09:58:03 +01:00
gpio_bcm2711.c drivers: gpio: Add GPIO driver for BCM2711 2023-10-24 11:03:44 +02:00
gpio_bd8lb600fs.c drivers: gpio: split up driver for BD8LB600FS into a GPIO and MFD 2024-03-15 09:00:26 +01:00
gpio_cc13xx_cc26xx.c drivers: gpio: expose gpio_utils.h to external GPIO drivers 2022-10-27 15:38:51 +02:00
gpio_cc32xx.c drivers: gpio: expose gpio_utils.h to external GPIO drivers 2022-10-27 15:38:51 +02:00
gpio_cmsdk_ahb.c treewide: Update clock control API usage 2023-04-05 10:55:46 +02:00
gpio_creg_gpio.c drivers: gpio: fix optional operations usage 2023-09-07 20:18:33 +02:00
gpio_cy8c95xx.c drivers: gpio: fix optional operations usage 2023-09-07 20:18:33 +02:00
gpio_davinci.c drivers: gpio: davinci: Add pinctrl 2023-11-13 09:42:11 +01:00
gpio_dw.c drivers: gpio: dw: Address warning of unused gpio_dw_isr 2024-03-24 12:49:23 +01:00
gpio_dw.h drivers: gpio: dw: Remove dead clock gate code 2022-07-14 10:31:42 +02:00
gpio_dw_registers.h drivers: gpio_dw: update to use new GPIO API 2020-02-05 12:00:36 +01:00
gpio_efinix_sapphire.c drivers: gpio: correct spelling 2024-01-13 00:24:04 +00:00
gpio_emul.c drivers: gpio: Implement pin interrupt enable and disable 2023-04-06 11:44:07 -04:00
gpio_emul_sdl.c drivers gpio SDL emul: Split in top and bottom 2023-07-06 16:04:15 +02:00
gpio_emul_sdl_bottom.c drivers gpio SDL emul: Split in top and bottom 2023-07-06 16:04:15 +02:00
gpio_emul_sdl_bottom.h drivers gpio SDL emul: Split in top and bottom 2023-07-06 16:04:15 +02:00
gpio_ene_kb1200.c drivers: gpio: initial device driver for ENE KB1200 2024-03-15 09:39:48 +00:00
gpio_eos_s3.c drivers: gpio: Add default for switch statement 2024-02-25 22:26:00 -05:00
gpio_esp32.c soc: xtensa,riscv: esp32xx: refactor folder structure 2023-07-25 18:12:33 +02:00
gpio_fxl6408.c drivers: gpio: fix optional operations usage 2023-09-07 20:18:33 +02:00
gpio_gd32.c treewide: Update clock control API usage 2023-04-05 10:55:46 +02:00
gpio_gecko.c boards: arm: efr32bg27_brd2602: Initial support 2023-04-21 12:55:06 +02:00
gpio_handlers.c syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
gpio_hogs.c init: remove the need for a dummy device pointer in SYS_INIT functions 2023-04-12 14:28:07 +00:00
gpio_ifx_cat1.c drivers: cat1: Updates to support latest version of HAL/PDL 2023-09-01 09:52:25 +02:00
gpio_imx.c drivers: gpio: fix coverity memory overwrite error 2023-07-21 10:55:21 +00:00
gpio_intel.c drivers: gpio: gpio_intel: add acpi base resource enumeration 2024-04-22 06:50:38 -07:00
gpio_ite_it8xxx2.c ITE: drivers/gpio: Correct the wake up control input 2023-12-01 12:41:22 +01:00
gpio_ite_it8xxx2_v2.c ITE: drivers/gpio: Fix untrusted loop bound 2024-02-19 19:59:27 +01:00
gpio_kscan_ite_it8xxx2.c ITE: drivers/gpio: Add critical section to avoid race condition 2023-08-25 13:14:47 +02:00
gpio_litex.c drivers: gpio: expose gpio_utils.h to external GPIO drivers 2022-10-27 15:38:51 +02:00
gpio_lmp90xxx.c drivers: gpio: fix optional operations usage 2023-09-07 20:18:33 +02:00
gpio_lpc11u6x.c drivers: gpio: expose gpio_utils.h to external GPIO drivers 2022-10-27 15:38:51 +02:00
gpio_mchp_mss.c drivers: gpio: mchp_mss: remove redundant include 2024-01-19 15:13:53 +00:00
gpio_mchp_xec.c drivers/gpio: Make MCHP XEC pin configure closer to XEC V2 2023-10-26 09:47:30 +02:00
gpio_mchp_xec_v2.c drivers: gpio: mec172x: Add message to warn about pins not in GPIO mode 2024-04-05 23:47:32 +03:00
gpio_mcp23s17.c drivers: gpio: fix optional operations usage 2023-09-07 20:18:33 +02:00
gpio_mcp23sxx.c drivers: gpio: mcp23xxx: add support for reset pin 2023-03-20 10:43:12 +01:00
gpio_mcp23xxx.c drivers: gpio: Add default for switch statement 2024-02-25 22:26:00 -05:00
gpio_mcp23xxx.h drivers: gpio: mcp23xxx: add support for reset pin 2023-03-20 10:43:12 +01:00
gpio_mcp230xx.c drivers: gpio: mcp23xxx: add support for reset pin 2023-03-20 10:43:12 +01:00
gpio_mcux.c drivers: gpio_mcux: Add support for GPIO ICR 2024-03-13 22:38:46 +00:00
gpio_mcux_igpio.c hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
gpio_mcux_lpc.c drivers: gpio: mcux_lpc: Support MCI_IO_MUX 2024-03-13 16:45:13 +00:00
gpio_mcux_rgpio.c driver: add new gpio driver "gpio_mcux_rgpio" 2024-01-16 20:50:11 -05:00
gpio_mmio32.c drivers: gpio: fix optional operations usage 2023-09-07 20:18:33 +02:00
gpio_nct38xx.c gpio: nct38xx: Remove reg access wrappers 2023-09-11 11:00:47 +02:00
gpio_nct38xx.h mfd: Add NCT38xx multi-function driver 2023-09-11 11:00:47 +02:00
gpio_nct38xx_alert.c gpio: nct38xx: Remove reg access wrappers 2023-09-11 11:00:47 +02:00
gpio_nct38xx_port.c gpio: nct38xx: Remove reg access wrappers 2023-09-11 11:00:47 +02:00
gpio_neorv32.c drivers: gpio: fix optional operations usage 2023-09-07 20:18:33 +02:00
gpio_npcx.c intc: miwu: npcx: improve interrupt latency of miwu input events 2023-05-17 09:48:54 +02:00
gpio_npm1300.c drivers: gpio: npm1300: Event configuration based on active state 2024-03-21 10:25:42 +00:00
gpio_npm6001.c drivers: gpio: fix optional operations usage 2023-09-07 20:18:33 +02:00
gpio_nrfx.c modules: hal_nordic: nrfx: update API version to 3.2.0 2024-01-08 11:19:37 +01:00
gpio_numaker.c drivers: gpio: support for Nuvoton numaker series GPIO 2023-06-21 09:26:00 +00:00
gpio_numicro.c drivers: gpio: Add default for switch statement 2024-02-25 22:26:00 -05:00
gpio_nxp_s32.c gpio: nxp_s32: support passing external interrupts to WKPU 2023-10-11 16:38:34 +01:00
gpio_pca95xx.c drivers: gpio: fix optional operations usage 2023-09-07 20:18:33 +02:00
gpio_pca953x.c drivers: gpio: pca953x: check return values from I2C API functions 2024-01-03 10:21:28 +01:00
gpio_pcal64xxa.c gpio: pcal64xxa: switch to 8 bit internal data automatically 2024-03-12 16:06:25 +01:00
gpio_pcf857x.c drivers: gpio: PCF857x: Modify PCF8574 driver 2024-01-16 15:19:14 +00:00
gpio_psoc6.c drivers: gpio: Add default for switch statement 2024-02-25 22:26:00 -05:00
gpio_rcar.c drivers: gpio: rcar: Add R-Car Gen4 support 2023-11-25 08:50:47 -05:00
gpio_renesas_ra.c drivers: gpio: Rename renesas ra driver 2024-01-29 11:32:46 +01:00
gpio_rpi_pico.c drivers: gpio_rpi_pico.c: add support for single-ended IO 2023-02-26 18:38:08 -05:00
gpio_rt1718s.c drivers: gpio: use gpio_is_ready_dt helper function 2023-08-28 08:48:35 -05:00
gpio_rt1718s.h driver: gpio: rt1718s: Add RT1718S GPIO driver 2022-11-28 10:48:53 +01:00
gpio_rt1718s_port.c drivers: gpio: Add default for switch statement 2024-02-25 22:26:00 -05:00
gpio_rv32m1.c drivers: gpio: Add default for switch statement 2024-02-25 22:26:00 -05:00
gpio_rzt2m.c drivers: gpio: add interrupt support to renesas rzt2m gpio 2024-03-29 10:56:55 +01:00
gpio_sam.c treewide: Update clock control API usage 2023-04-05 10:55:46 +02:00
gpio_sam0.c drivers: gpio: expose gpio_utils.h to external GPIO drivers 2022-10-27 15:38:51 +02:00
gpio_sam4l.c treewide: Update clock control API usage 2023-04-05 10:55:46 +02:00
gpio_sc18im704.c drivers: gpio: fix optional operations usage 2023-09-07 20:18:33 +02:00
gpio_sedi.c drivers: gpio: Add default for switch statement 2024-02-25 22:26:00 -05:00
gpio_shell.c drivers: gpio: shell: add vendor specific flags argument 2023-11-17 12:41:14 +01:00
gpio_sifive.c drivers: gpio: sifive: remove unnecessary check 2024-01-19 15:13:53 +00:00
gpio_smartbond.c drivers: gpio: smartbond: Add GPIO latching for PM 2024-04-25 16:17:53 +02:00
gpio_sn74hc595.c drivers: gpio: fix optional operations usage 2023-09-07 20:18:33 +02:00
gpio_stellaris.c gpio: stellaris: implement gpio_pin_get_config 2023-07-26 08:16:44 +00:00
gpio_stm32.c drivers: gpio: Add default for switch statement 2024-02-25 22:26:00 -05:00
gpio_stm32.h drivers: pinmux: stm32: drop driver 2023-02-23 16:56:04 -05:00
gpio_stmpe1600.c drivers: gpio: fix optional operations usage 2023-09-07 20:18:33 +02:00
gpio_sx1509b.c drivers: gpio: fix optional operations usage 2023-09-07 20:18:33 +02:00
gpio_tca6424a.c drivers: gpio: use gpio_is_ready_dt helper function 2023-08-28 08:48:35 -05:00
gpio_test.c drivers: gpio: fix optional operations usage 2023-09-07 20:18:33 +02:00
gpio_tle9104.c drivers: gpio: split up driver for TLE9104 into a MFD 2024-04-09 11:07:27 +02:00
gpio_xlnx_axi.c drivers: gpio: xlnx_axi: fix polling mode 2024-03-26 11:18:28 -05:00
gpio_xlnx_ps.c drivers: gpio: xlnx_ps: fix up initialization priorities 2023-08-28 15:43:06 -04:00
gpio_xlnx_ps.h drivers: gpio: xlnx_ps: Fix compiler warning 2022-08-20 11:32:37 -05:00
gpio_xlnx_ps_bank.c drivers: gpio: expose gpio_utils.h to external GPIO drivers 2022-10-27 15:38:51 +02:00
gpio_xlnx_ps_bank.h drivers: gpio: Xilinx PS MIO / EMIO GPIO driver 2022-03-15 08:44:46 -07:00
gpio_xmc4xxx.c drivers: gpio: fix optional operations usage 2023-09-07 20:18:33 +02:00
Kconfig drivers: ad559x: add i2c bus support 2024-04-01 12:18:47 -05:00
Kconfig.ad559x drivers: ad559x: add i2c bus support 2024-04-01 12:18:47 -05:00
Kconfig.ads114s0x drivers: gpio: implement GPIOs in ADS114S08 2023-05-11 12:04:15 -04:00
Kconfig.altera drivers: gpio: Add ALTERA PIO 2023-09-25 16:41:17 +02:00
Kconfig.ambiq drivers: gpio: add Ambiq GPIO driver 2023-12-01 16:25:47 +01:00
Kconfig.andes_atcgpio100 drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.axp192 drivers: mfd: gpio: adjust init priority 2023-10-26 09:50:31 +02:00
Kconfig.b91 drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.bcm2711 drivers: gpio: Add GPIO driver for BCM2711 2023-10-24 11:03:44 +02:00
Kconfig.bd8lb600fs drivers: gpio: split up driver for BD8LB600FS into a GPIO and MFD 2024-03-15 09:00:26 +01:00
Kconfig.cc13xx_cc26xx drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.cc32xx drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.cmsdk_ahb drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.creg_gpio drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.cy8c95xx drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.davinci drivers: gpio: Add Davinci gpio controller support 2023-08-31 10:31:37 +02:00
Kconfig.dw drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.efinix_sapphire drivers: gpio: gpio_efinix_sapphire: initial version 2023-06-27 12:09:57 +00:00
Kconfig.emul drivers/gpio emul: Fix reference to example overlay 2024-03-20 15:43:05 +01:00
Kconfig.emul_sdl drivers: gpio: Add SDL emulated GPIO support 2022-10-03 10:12:03 +02:00
Kconfig.ene drivers: gpio: initial device driver for ENE KB1200 2024-03-15 09:39:48 +00:00
Kconfig.eos_s3 drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.esp32 drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.fxl6408 drivers: gpio: fxl6408: Fix Kconfig dependency for log level config 2023-06-06 06:51:48 -04:00
Kconfig.gd32 drivers: gpio: gd32: add dependency on the EXTI 2022-11-09 06:26:41 -05:00
Kconfig.gecko drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.ifx_cat1 drivers: gpio: Add Infineon CAT1 GPIO driver 2023-03-01 11:44:57 +01:00
Kconfig.imx drivers: all: imx: remove conditional support for pinctrl 2023-04-24 13:34:22 +02:00
Kconfig.intel drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.it8xxx2 ITE: drivers/gpio: Add gpio_ite_it8xxx2_v2 driver 2023-04-19 03:48:38 -04:00
Kconfig.litex drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.lmp90xxx drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.lpc11u6x drivers: gpio: remove pinmux dependency in lpc11u6x Kconfig 2022-10-11 08:25:46 -05:00
Kconfig.mchp_mss drivers: gpio: add Microchip PolarFire SoC GPIO driver 2022-08-01 10:29:21 +02:00
Kconfig.mcp23s17 drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.mcp23xxx drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.mcux drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.mcux_igpio drivers: all: mcux: remove conditional support for pinctrl 2023-04-24 13:34:22 +02:00
Kconfig.mcux_lpc drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.mcux_rgpio driver: add new gpio driver "gpio_mcux_rgpio" 2024-01-16 20:50:11 -05:00
Kconfig.mmio32 kconfig: Clean up header comments and make them consistent 2019-11-04 17:31:27 -05:00
Kconfig.nct38xx drivers: mfd: gpio: adjust init priority 2023-10-26 09:50:31 +02:00
Kconfig.neorv32 drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.npcx drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.npm1300 drivers: mfd: gpio: adjust init priority 2023-10-26 09:50:31 +02:00
Kconfig.npm6001 drivers: mfd: gpio: adjust init priority 2023-10-26 09:50:31 +02:00
Kconfig.nrfx modules: hal_nordic: nrfx: update API version to 3.2.0 2024-01-08 11:19:37 +01:00
Kconfig.numaker drivers: gpio: support for Nuvoton numaker series GPIO 2023-06-21 09:26:00 +00:00
Kconfig.numicro drivers: gpio: add driver for nuvoton numicro 2022-12-08 18:46:33 +01:00
Kconfig.nxp_s32 drivers: select nocache only when supported 2023-09-26 15:09:51 +02:00
Kconfig.pca95xx drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.pca953x drivers: gpio: pca953x: select I2C 2022-10-03 10:12:03 +02:00
Kconfig.pcal64xxa drivers: gpio: add driver for PCAL6416A 2023-02-28 20:09:19 -05:00
Kconfig.pcf857x drivers: gpio: PCF857x: Modify PCF8574 driver 2024-01-16 15:19:14 +00:00
Kconfig.psoc6 drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.rcar drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.renesas_ra drivers: gpio: Rename renesas ra driver 2024-01-29 11:32:46 +01:00
Kconfig.rpi_pico drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.rt1718s driver: gpio: rt1718s: Add RT1718S GPIO driver 2022-11-28 10:48:53 +01:00
Kconfig.rv32m1 drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.rzt2m drivers: gpio: add rzt2m gpio driver 2023-11-15 11:41:35 +01:00
Kconfig.sam drivers: gpio: sam: Fix Kconfig default for SAM4L 2022-07-26 08:49:38 +02:00
Kconfig.sam0 drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.sc18im704 drivers: gpio: Add NXP SC18IM704 GPIO support 2023-04-03 20:02:51 +02:00
Kconfig.sedi drivers: gpio: Add Intel SEDI gpio driver 2023-09-12 10:56:08 +02:00
Kconfig.sifive drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.smartbond drivers: gpio: smartbond: Add GPIO latching for PM 2024-04-25 16:17:53 +02:00
Kconfig.sn74hc595 drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.stellaris drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.stm32 drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.stmpe1600 drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.sx1509b drivers: gpio: sx1509b: select I2C 2022-08-26 10:06:43 -07:00
Kconfig.tca6424a drivers: gpio: Add TCA6424A driver 2022-11-18 10:10:11 +01:00
Kconfig.test drivers: gpio: Cleanup Kconfig.test 2022-09-01 10:25:57 +02:00
Kconfig.tle9104 drivers: gpio: split up driver for TLE9104 into a MFD 2024-04-09 11:07:27 +02:00
Kconfig.xec drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.xlnx drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.xlnx_ps drivers: gpio: Update drivers to use devicetree Kconfig symbol 2022-07-23 09:26:09 -05:00
Kconfig.xmc4xxx drivers: gpio: Add xmc4xxx drivers 2022-08-05 13:00:21 +02:00