zephyr/drivers/gpio
Gerard Marull-Paretas 2533b13cd2 drivers: gpio: nrfx: add custom drive flags
Now that we have 8 bits reserved for vendor specific GPIO flags,
introduce a new set of flags for nRF platforms to configure pins drive
mode. These new flags are equivalent to the previous existing ones, but
use a naming scheme the fits better with vendor hardware capabilities.

The table below shows the equivalence between old and new flag

| Old flags                 | New flags             |
|---------------------------|-----------------------|
| `NRF_GPIO_DS_DFLT_LOW`    | `NRF_GPIO_DRIVE_S0`   |
| `NRF_GPIO_DS_DFLT_HIGH`   | `NRF_GPIO_DRIVE_S1`   |
| `NRF_GPIO_DS_ALT_LOW`     | `NRF_GPIO_DRIVE_H0`   |
| `NRF_GPIO_DS_ALT_HIGH`    | `NRF_GPIO_DRIVE_H1`   |
| `NRF_GPIO_DS_DFLT`        | `NRF_GPIO_DRIVE_S0S1` |
| `NRF_GPIO_DS_ALT`         | `NRF_GPIO_DRIVE_H0H1` |
| `NRF_GPIO_DS_DFLT_LOW \|` | `NRF_GPIO_DRIVE_S0H1` |
| `NRF_GPIO_DS_ALT_HIGH`    |                       |
| `NRF_GPIO_DS_ALT_LOW \|`  | `NRF_GPIO_DRIVE_H0S1` |
| `NRF_GPIO_DS_DFLT_HIGH`   |                       |

Documentation has been written to explain in more detail the meaning of
the flags and how they can be used.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-07-11 13:22:24 +02:00
..
CMakeLists.txt drivers: gpio: ti: add gpio extender sn74hc595 2022-07-04 16:10:37 +02:00
gpio_andes_atcgpio100.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_b91.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_cc13xx_cc26xx.c drivers: adjust cc13xx_cc26xx drivers for hal_ti update 2022-07-08 09:37:43 +02:00
gpio_cc32xx.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_cmsdk_ahb.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_cmsdk_ahb.h drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_creg_gpio.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_cy8c95xx.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_dw.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_dw.h drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_dw_registers.h drivers: gpio_dw: update to use new GPIO API 2020-02-05 12:00:36 +01:00
gpio_emul.c drivers: gpio_emul: support gpio_port_get_direction 2022-06-24 16:19:58 +02:00
gpio_eos_s3.c drivers: gpio: eos_s3: support port_get_direction 2022-06-24 16:19:58 +02:00
gpio_esp32.c drivers: gpio_esp32: Drop IRAM_ATTR from forward declarations 2022-06-20 10:28:06 +02:00
gpio_fxl6408.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_gd32.c soc: arm: gigadevice: use common API headers 2022-06-22 18:41:19 +09:00
gpio_gecko.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_handlers.c api: gpio: add gpio direction query functions and driver api 2022-06-24 16:19:58 +02:00
gpio_imx.c include: add more missing zephyr/ prefixes 2022-05-27 15:20:27 -07:00
gpio_intel.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_ite_it8xxx2.c drivers: add mising braces to single line if statements 2022-07-06 11:00:45 -04:00
gpio_litex.c drivers: gpio: litex: support port_get_direction 2022-06-24 16:19:58 +02:00
gpio_lmp90xxx.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_lpc11u6x.c drivers: add mising braces to single line if statements 2022-07-06 11:00:45 -04:00
gpio_mchp_xec.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_mchp_xec_v2.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_mcp23s17.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_mcp23s17.h drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_mcp23sxx.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_mcp23xxx.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_mcp23xxx.h drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_mcp230xx.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_mcux.c drivers: gpio: mcux: support port_get_direction 2022-06-24 16:19:58 +02:00
gpio_mcux_igpio.c drivers: gpio: gpio_mcux_igpio: add workaround for non contiguous pins 2022-05-18 10:55:22 +02:00
gpio_mcux_lpc.c drivers: gpio: gpio_mcux_lpc: fix lost interrupts 2022-06-30 15:19:53 -05:00
gpio_mmio32.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_nct38xx.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_nct38xx.h drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_nct38xx_alert.c drivers: add mising braces to single line if statements 2022-07-06 11:00:45 -04:00
gpio_nct38xx_port.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_neorv32.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_npcx.c driver: gpio: npcx: Add checking whether pad's configuration is valid 2022-07-08 12:05:09 +02:00
gpio_nrfx.c drivers: gpio: nrfx: add custom drive flags 2022-07-11 13:22:24 +02:00
gpio_pca95xx.c drivers: gpio: pca95xx: do not write to output regs if pin is input 2022-06-05 14:47:41 +02:00
gpio_pca953x.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_pcal6408a.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_psoc6.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_rcar.c drivers: clock: rcar: Rename global includes file 2022-06-28 18:11:44 +02:00
gpio_rpi_pico.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_rv32m1.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_sam.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_sam0.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_sam4l.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_shell.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_sifive.c drivers: gpio: sifive: support port_get_direction 2022-06-24 16:19:58 +02:00
gpio_sn74hc595.c drivers: gpio: ti: add gpio extender sn74hc595 2022-07-04 16:10:37 +02:00
gpio_stellaris.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_stm32.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_stm32.h drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_stmpe1600.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_sx1509b.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_test.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02: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: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_xlnx_ps.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_xlnx_ps.h drivers: gpio: Xilinx PS MIO / EMIO GPIO driver 2022-03-15 08:44:46 -07:00
gpio_xlnx_ps_bank.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
gpio_xlnx_ps_bank.h drivers: gpio: Xilinx PS MIO / EMIO GPIO driver 2022-03-15 08:44:46 -07:00
Kconfig drivers: gpio: ti: add gpio extender sn74hc595 2022-07-04 16:10:37 +02:00
Kconfig.andes_atcgpio100 drivers: gpio: remove unused HAS_DTS_GPIO Kconfig symbol 2022-06-10 09:47:31 +02:00
Kconfig.b91 drivers: gpio: introduce new Telink B91 GPIO driver 2021-07-21 05:37:12 -04:00
Kconfig.cc13xx_cc26xx drivers: gpio: cleanup select HAS_DTS_GPIO 2020-04-04 09:27:12 -05:00
Kconfig.cc32xx drivers: cc32xx: use DT_INST_FOREACH to reduce code duplication 2020-04-26 06:05:10 -05:00
Kconfig.cmsdk_ahb drivers: gpio: cmsdk_ahb: Convert driver to be full DTS based 2020-04-03 04:11:36 -05:00
Kconfig.creg_gpio drivers: gpio: Refactor drivers to use shared init priority 2021-11-15 14:38:55 -05:00
Kconfig.cy8c95xx drivers: gpio: add initial support for cy8c95xx I/O expander 2021-04-28 10:53:52 -04:00
Kconfig.dw drivers: gpio: Change DW driver to use depends on instead of select 2022-07-02 06:03:33 -04:00
Kconfig.emul gpio: emulated: default Kconfig value 2022-01-06 11:56:15 -05:00
Kconfig.eos_s3 drivers: gpio: remove unused HAS_DTS_GPIO Kconfig symbol 2022-06-10 09:47:31 +02:00
Kconfig.esp32 drivers: gpio: esp32: use dts and improve code checks 2021-10-21 10:53:34 -04:00
Kconfig.fxl6408 drivers: gpio: Add fxl6408 driver 2021-08-09 13:02:20 -04:00
Kconfig.gd32 drivers: gpio: gd32: enable gd32vf103 2022-01-11 11:50:35 +01:00
Kconfig.gecko drivers: gpio: cleanup select HAS_DTS_GPIO 2020-04-04 09:27:12 -05:00
Kconfig.imx drivers: gpio: gpio_imx: Convert driver to new DT_INST macros 2020-04-04 09:34:00 -05:00
Kconfig.intel drivers: gpio: Generic GPIO driver for Intel SoC 2021-05-07 09:45:50 -04:00
Kconfig.it8xxx2 drivers: gpio: remove unused HAS_DTS_GPIO Kconfig symbol 2022-06-10 09:47:31 +02:00
Kconfig.litex drivers: gpio: cleanup select HAS_DTS_GPIO 2020-04-04 09:27:12 -05:00
Kconfig.lmp90xxx drivers: gpio: revert kconfig init priority for off-chip gpios 2021-12-07 09:53:45 -06:00
Kconfig.lpc11u6x drivers: gpio: add driver for NXP LPC11U6X MCUs 2020-07-29 20:12:24 +02:00
Kconfig.mcp23s17 drivers: gpio: remove unused HAS_DTS_GPIO Kconfig symbol 2022-06-10 09:47:31 +02:00
Kconfig.mcp23xxx driver: gpio: mcp23xxx: Refactor to generic. 2021-12-08 08:55:28 -05:00
Kconfig.mcux drivers: gpio: remove unused HAS_DTS_GPIO Kconfig symbol 2022-06-10 09:47:31 +02:00
Kconfig.mcux_igpio drivers: gpio: mcux_igpio: Convert driver to new DT_INST macros 2020-04-20 11:08:46 -05:00
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: Clean up header comments and make them consistent 2019-11-04 17:31:27 -05:00
Kconfig.nct38xx driver: gpio: nct38xx: Improve kconfig prompt 2021-11-23 13:19:21 -05:00
Kconfig.neorv32 drivers: gpio: add neorv32 gpio driver 2021-10-15 09:46:53 -04:00
Kconfig.npcx driver: npcx7: fixed typo in Kconfig.npcx files. 2020-12-07 12:11:17 -05:00
Kconfig.nrfx drivers: gpio: nrfx: Use mask to determine if sense is used 2021-12-22 12:03:00 +01:00
Kconfig.pca95xx drivers: gpio: pca95xx: remove superfluous default n for boolean 2022-04-15 10:32:24 -07: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: rcar: set default according to dt enabled 2022-01-21 14:25:25 -05:00
Kconfig.rpi_pico drivers: gpio: Added support for raspberry pi 2022-02-02 16:23:35 +01:00
Kconfig.rv32m1 drivers: gpio: rv32m1: Convert driver to new DT_INST macros 2020-04-10 14:38:04 -05:00
Kconfig.sam soc: arm: atmel_sam: samv71: Fix SPI build dependency 2022-01-18 12:12:52 -05:00
Kconfig.sam0 drivers: gpio: cleanup select HAS_DTS_GPIO 2020-04-04 09:27:12 -05:00
Kconfig.sifive boards: riscv: hifive_unleashed: add GPIO support 2022-02-21 20:46:47 -05:00
Kconfig.sn74hc595 drivers: gpio: ti: add gpio extender sn74hc595 2022-07-04 16:10:37 +02:00
Kconfig.stellaris drivers: gpio: cleanup select HAS_DTS_GPIO 2020-04-04 09:27:12 -05:00
Kconfig.stm32 drivers: gpio: stm32: remove SWJ from Kconfig 2022-03-16 10:26:37 +01:00
Kconfig.stmpe1600 drivers: gpio: add new driver for STMPE1600 gpio expander 2021-07-15 19:23:16 -04:00
Kconfig.sx1509b drivers: gpio: sx1509b: remove superfluous default n for boolean 2022-04-15 10:32:24 -07:00
Kconfig.test drivers: gpio: test driver 2022-01-04 09:10:40 -05:00
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
Kconfig.xlnx_ps drivers: gpio: Xilinx PS MIO / EMIO GPIO driver 2022-03-15 08:44:46 -07:00