# GPIO configuration options

# Copyright (c) 2015 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

menuconfig GPIO
	bool "General-Purpose Input/Output (GPIO) drivers"
	help
	  Include GPIO drivers in system config

if GPIO

module = GPIO
module-str = gpio
source "subsys/logging/Kconfig.template.log_config"

config GPIO_SHELL
	bool "GPIO Shell"
	depends on SHELL
	help
	  Enable GPIO Shell for testing.

config GPIO_INIT_PRIORITY
	int "GPIO init priority"
	default KERNEL_INIT_PRIORITY_DEFAULT
	help
	  GPIO driver device initialization priority.

config GPIO_GET_DIRECTION
	bool "Support for querying GPIO direction [EXPERIMENTAL]"
	select EXPERIMENTAL
	help
	  Enable this option if the application does not maintain its own GPIO
	  direction state.

	  With this option enabled, the application may query GPIO direction
	  via gpio_port_get_direction(), gpio_pin_is_input(), and
	  gpio_pin_is_output().

config GPIO_GET_CONFIG
	bool "Support for get configuration function [EXPERIMENTAL]"
	select EXPERIMENTAL
	help
	  This option enables the support for getting the current configurations
	  of GPIOs. The driver must implement it to work.

config GPIO_HOGS
	bool "Support for GPIO hogs"
	default $(dt_gpio_hogs_enabled)
	help
	  Enable support for GPIO hogs. GPIO hogging is a mechanism for providing
	  automatic GPIO configuration via devicetree.

config GPIO_HOGS_INIT_PRIORITY
	int "GPIO hogs init priority"
	default 41
	depends on GPIO_HOGS
	help
	  GPIO hogs initialization priority. GPIO hogs must be initialized after the
	  GPIO controller drivers.

config GPIO_ENABLE_DISABLE_INTERRUPT
	bool "Support for enable/disable interrupt without re-config [EXPERIMENTAL]"
	select EXPERIMENTAL
	help
	  This option enables the support for enabling/disabling interrupt with
	  previous configuration, and enabling/disabling the interrupt only turns
	  on/off the interrupt signal without changing other registers, such as
	  pending register, etc. The driver must implement it to work.


source "drivers/gpio/Kconfig.b91"

source "drivers/gpio/Kconfig.dw"

source "drivers/gpio/Kconfig.pca95xx"

source "drivers/gpio/Kconfig.mcp23s17"

source "drivers/gpio/Kconfig.mcp23xxx"

source "drivers/gpio/Kconfig.mcux"

source "drivers/gpio/Kconfig.mcux_igpio"

source "drivers/gpio/Kconfig.mcux_lpc"

source "drivers/gpio/Kconfig.mmio32"

source "drivers/gpio/Kconfig.stm32"

source "drivers/gpio/Kconfig.nrfx"

source "drivers/gpio/Kconfig.cmsdk_ahb"

source "drivers/gpio/Kconfig.cc13xx_cc26xx"

source "drivers/gpio/Kconfig.cc32xx"

source "drivers/gpio/Kconfig.sifive"

source "drivers/gpio/Kconfig.esp32"

source "drivers/gpio/Kconfig.gecko"

source "drivers/gpio/Kconfig.sam0"

source "drivers/gpio/Kconfig.sam"

source "drivers/gpio/Kconfig.sx1509b"

source "drivers/gpio/Kconfig.imx"

source "drivers/gpio/Kconfig.it8xxx2"

source "drivers/gpio/Kconfig.ifx_cat1"

source "drivers/gpio/Kconfig.intel"

source "drivers/gpio/Kconfig.xec"

source "drivers/gpio/Kconfig.stellaris"

source "drivers/gpio/Kconfig.rpi_pico"

source "drivers/gpio/Kconfig.rv32m1"

source "drivers/gpio/Kconfig.lmp90xxx"

source "drivers/gpio/Kconfig.ads114s0x"

source "drivers/gpio/Kconfig.litex"

source "drivers/gpio/Kconfig.lpc11u6x"

source "drivers/gpio/Kconfig.xlnx"

source "drivers/gpio/Kconfig.npcx"

source "drivers/gpio/Kconfig.emul"

source "drivers/gpio/Kconfig.emul_sdl"

source "drivers/gpio/Kconfig.psoc6"

source "drivers/gpio/Kconfig.pcal64xxa"

source "drivers/gpio/Kconfig.eos_s3"

source "drivers/gpio/Kconfig.rcar"

source "drivers/gpio/Kconfig.cy8c95xx"

source "drivers/gpio/Kconfig.creg_gpio"

source "drivers/gpio/Kconfig.stmpe1600"

source "drivers/gpio/Kconfig.pca953x"

source "drivers/gpio/Kconfig.pcf8574"

source "drivers/gpio/Kconfig.fxl6408"

source "drivers/gpio/Kconfig.andes_atcgpio100"

source "drivers/gpio/Kconfig.neorv32"

source "drivers/gpio/Kconfig.nct38xx"

source "drivers/gpio/Kconfig.test"

source "drivers/gpio/Kconfig.gd32"

source "drivers/gpio/Kconfig.xlnx_ps"

source "drivers/gpio/Kconfig.sn74hc595"

source "drivers/gpio/Kconfig.mchp_mss"

source "drivers/gpio/Kconfig.xmc4xxx"

source "drivers/gpio/Kconfig.smartbond"

source "drivers/gpio/Kconfig.nxp_s32"

source "drivers/gpio/Kconfig.tca6424a"

source "drivers/gpio/Kconfig.npm1300"

source "drivers/gpio/Kconfig.npm6001"

source "drivers/gpio/Kconfig.rt1718s"

source "drivers/gpio/Kconfig.numicro"

source "drivers/gpio/Kconfig.bd8lb600fs"

source "drivers/gpio/Kconfig.sc18im704"

endif # GPIO
