1# GPIO configuration options
2
3# Copyright (c) 2015 Intel Corporation
4# SPDX-License-Identifier: Apache-2.0
5
6menuconfig GPIO
7	bool "General-Purpose Input/Output (GPIO) drivers"
8	help
9	  Include GPIO drivers in system config
10
11if GPIO
12
13module = GPIO
14module-str = gpio
15source "subsys/logging/Kconfig.template.log_config"
16
17config GPIO_SHELL
18	bool "GPIO Shell"
19	depends on SHELL
20	help
21	  Enable GPIO Shell for testing.
22
23config GPIO_SHELL_INFO_CMD
24	bool "GPIO Shell info command"
25	default y
26	depends on GPIO_SHELL
27	help
28	  Enable GPIO Shell information command.
29	  This command provides a shell user extra information about gpio
30	  controller reserved pins and line names.
31
32config GPIO_SHELL_TOGGLE_CMD
33	bool "GPIO Shell toggle command"
34	default y
35	depends on GPIO_SHELL
36	help
37	  Enable GPIO Shell toggle command.
38
39config GPIO_SHELL_BLINK_CMD
40	bool "GPIO Shell blink command"
41	default y
42	depends on GPIO_SHELL
43	help
44	  Enable GPIO Shell blink command.
45	  This command provides a shell user the ability to 'blink' a pin
46	  at 1Hz.
47
48config GPIO_INIT_PRIORITY
49	int "GPIO init priority"
50	default KERNEL_INIT_PRIORITY_DEFAULT
51	help
52	  GPIO driver device initialization priority.
53
54config GPIO_GET_DIRECTION
55	bool "Support for querying GPIO direction [EXPERIMENTAL]"
56	select EXPERIMENTAL
57	help
58	  Enable this option if the application does not maintain its own GPIO
59	  direction state.
60
61	  With this option enabled, the application may query GPIO direction
62	  via gpio_port_get_direction(), gpio_pin_is_input(), and
63	  gpio_pin_is_output().
64
65config GPIO_GET_CONFIG
66	bool "Support for get configuration function [EXPERIMENTAL]"
67	select EXPERIMENTAL
68	help
69	  This option enables the support for getting the current configurations
70	  of GPIOs. The driver must implement it to work.
71
72config GPIO_HOGS
73	bool "Support for GPIO hogs"
74	default $(dt_gpio_hogs_enabled)
75	help
76	  Enable support for GPIO hogs. GPIO hogging is a mechanism for providing
77	  automatic GPIO configuration via devicetree.
78
79config GPIO_HOGS_INIT_PRIORITY
80	int "GPIO hogs init priority"
81	default 41
82	depends on GPIO_HOGS
83	help
84	  GPIO hogs initialization priority. GPIO hogs must be initialized after the
85	  GPIO controller drivers.
86
87config GPIO_ENABLE_DISABLE_INTERRUPT
88	bool "Support for enable/disable interrupt without re-config [EXPERIMENTAL]"
89	select EXPERIMENTAL
90	help
91	  This option enables the support for enabling/disabling interrupt with
92	  previous configuration, and enabling/disabling the interrupt only turns
93	  on/off the interrupt signal without changing other registers, such as
94	  pending register, etc. The driver must implement it to work.
95
96# zephyr-keep-sorted-start
97source "drivers/gpio/Kconfig.ad559x"
98source "drivers/gpio/Kconfig.adp5585"
99source "drivers/gpio/Kconfig.ads114s0x"
100source "drivers/gpio/Kconfig.altera"
101source "drivers/gpio/Kconfig.ambiq"
102source "drivers/gpio/Kconfig.andes_atcgpio100"
103source "drivers/gpio/Kconfig.aw9523b"
104source "drivers/gpio/Kconfig.axp192"
105source "drivers/gpio/Kconfig.b91"
106source "drivers/gpio/Kconfig.bcm2711"
107source "drivers/gpio/Kconfig.bd8lb600fs"
108source "drivers/gpio/Kconfig.brcmstb"
109source "drivers/gpio/Kconfig.cc13xx_cc26xx"
110source "drivers/gpio/Kconfig.cc32xx"
111source "drivers/gpio/Kconfig.cmsdk_ahb"
112source "drivers/gpio/Kconfig.creg_gpio"
113source "drivers/gpio/Kconfig.cy8c95xx"
114source "drivers/gpio/Kconfig.davinci"
115source "drivers/gpio/Kconfig.dw"
116source "drivers/gpio/Kconfig.efinix_sapphire"
117source "drivers/gpio/Kconfig.emul"
118source "drivers/gpio/Kconfig.emul_sdl"
119source "drivers/gpio/Kconfig.ene"
120source "drivers/gpio/Kconfig.eos_s3"
121source "drivers/gpio/Kconfig.esp32"
122source "drivers/gpio/Kconfig.fxl6408"
123source "drivers/gpio/Kconfig.gd32"
124source "drivers/gpio/Kconfig.gecko"
125source "drivers/gpio/Kconfig.grgpio"
126source "drivers/gpio/Kconfig.ifx_cat1"
127source "drivers/gpio/Kconfig.imx"
128source "drivers/gpio/Kconfig.intel"
129source "drivers/gpio/Kconfig.iproc"
130source "drivers/gpio/Kconfig.it8801"
131source "drivers/gpio/Kconfig.it8xxx2"
132source "drivers/gpio/Kconfig.litex"
133source "drivers/gpio/Kconfig.lmp90xxx"
134source "drivers/gpio/Kconfig.lpc11u6x"
135source "drivers/gpio/Kconfig.max14906"
136source "drivers/gpio/Kconfig.max14916"
137source "drivers/gpio/Kconfig.max22190"
138source "drivers/gpio/Kconfig.max32"
139source "drivers/gpio/Kconfig.mchp_mss"
140source "drivers/gpio/Kconfig.mcp23xxx"
141source "drivers/gpio/Kconfig.mcux"
142source "drivers/gpio/Kconfig.mcux_igpio"
143source "drivers/gpio/Kconfig.mcux_lpc"
144source "drivers/gpio/Kconfig.mcux_rgpio"
145source "drivers/gpio/Kconfig.mec5"
146source "drivers/gpio/Kconfig.mmio32"
147source "drivers/gpio/Kconfig.nct38xx"
148source "drivers/gpio/Kconfig.neorv32"
149source "drivers/gpio/Kconfig.npcx"
150source "drivers/gpio/Kconfig.npm1300"
151source "drivers/gpio/Kconfig.npm2100"
152source "drivers/gpio/Kconfig.npm6001"
153source "drivers/gpio/Kconfig.nrfx"
154source "drivers/gpio/Kconfig.numaker"
155source "drivers/gpio/Kconfig.numicro"
156source "drivers/gpio/Kconfig.nxp_s32"
157source "drivers/gpio/Kconfig.pca953x"
158source "drivers/gpio/Kconfig.pca95xx"
159source "drivers/gpio/Kconfig.pca_series"
160source "drivers/gpio/Kconfig.pcal64xxa"
161source "drivers/gpio/Kconfig.pcf857x"
162source "drivers/gpio/Kconfig.psoc6"
163source "drivers/gpio/Kconfig.rcar"
164source "drivers/gpio/Kconfig.renesas_ra"
165source "drivers/gpio/Kconfig.renesas_ra_ioport"
166source "drivers/gpio/Kconfig.renesas_rz"
167source "drivers/gpio/Kconfig.rp1"
168source "drivers/gpio/Kconfig.rpi_pico"
169source "drivers/gpio/Kconfig.rt1718s"
170source "drivers/gpio/Kconfig.rv32m1"
171source "drivers/gpio/Kconfig.rzt2m"
172source "drivers/gpio/Kconfig.sam"
173source "drivers/gpio/Kconfig.sam0"
174source "drivers/gpio/Kconfig.sc18im704"
175source "drivers/gpio/Kconfig.sedi"
176source "drivers/gpio/Kconfig.si32"
177source "drivers/gpio/Kconfig.sifive"
178source "drivers/gpio/Kconfig.smartbond"
179source "drivers/gpio/Kconfig.sn74hc595"
180source "drivers/gpio/Kconfig.stellaris"
181source "drivers/gpio/Kconfig.stm32"
182source "drivers/gpio/Kconfig.stmpe1600"
183source "drivers/gpio/Kconfig.sx1509b"
184source "drivers/gpio/Kconfig.tca6424a"
185source "drivers/gpio/Kconfig.test"
186source "drivers/gpio/Kconfig.tle9104"
187source "drivers/gpio/Kconfig.wch_ch32v00x"
188source "drivers/gpio/Kconfig.xec"
189source "drivers/gpio/Kconfig.xlnx"
190source "drivers/gpio/Kconfig.xlnx_ps"
191source "drivers/gpio/Kconfig.xmc4xxx"
192# zephyr-keep-sorted-stop
193
194endif # GPIO
195