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_INIT_PRIORITY
24	int "GPIO init priority"
25	default KERNEL_INIT_PRIORITY_DEFAULT
26	help
27	  GPIO driver device initialization priority.
28
29config GPIO_GET_DIRECTION
30	bool "Support for querying GPIO direction [EXPERIMENTAL]"
31	select EXPERIMENTAL
32	help
33	  Enable this option if the application does not maintain its own GPIO
34	  direction state.
35
36	  With this option enabled, the application may query GPIO direction
37	  via gpio_port_get_direction(), gpio_pin_is_input(), and
38	  gpio_pin_is_output().
39
40config GPIO_GET_CONFIG
41	bool "Support for get configuration function [EXPERIMENTAL]"
42	select EXPERIMENTAL
43	help
44	  This option enables the support for getting the current configurations
45	  of GPIOs. The driver must implement it to work.
46
47config GPIO_HOGS
48	bool "Support for GPIO hogs"
49	default $(dt_gpio_hogs_enabled)
50	help
51	  Enable support for GPIO hogs. GPIO hogging is a mechanism for providing
52	  automatic GPIO configuration via devicetree.
53
54config GPIO_HOGS_INIT_PRIORITY
55	int "GPIO hogs init priority"
56	default 41
57	depends on GPIO_HOGS
58	help
59	  GPIO hogs initialization priority. GPIO hogs must be initialized after the
60	  GPIO controller drivers.
61
62config GPIO_ENABLE_DISABLE_INTERRUPT
63	bool "Support for enable/disable interrupt without re-config [EXPERIMENTAL]"
64	select EXPERIMENTAL
65	help
66	  This option enables the support for enabling/disabling interrupt with
67	  previous configuration, and enabling/disabling the interrupt only turns
68	  on/off the interrupt signal without changing other registers, such as
69	  pending register, etc. The driver must implement it to work.
70
71
72source "drivers/gpio/Kconfig.b91"
73
74source "drivers/gpio/Kconfig.dw"
75
76source "drivers/gpio/Kconfig.pca95xx"
77
78source "drivers/gpio/Kconfig.mcp23s17"
79
80source "drivers/gpio/Kconfig.mcp23xxx"
81
82source "drivers/gpio/Kconfig.mcux"
83
84source "drivers/gpio/Kconfig.mcux_igpio"
85
86source "drivers/gpio/Kconfig.mcux_lpc"
87
88source "drivers/gpio/Kconfig.mmio32"
89
90source "drivers/gpio/Kconfig.stm32"
91
92source "drivers/gpio/Kconfig.nrfx"
93
94source "drivers/gpio/Kconfig.cmsdk_ahb"
95
96source "drivers/gpio/Kconfig.cc13xx_cc26xx"
97
98source "drivers/gpio/Kconfig.cc32xx"
99
100source "drivers/gpio/Kconfig.sifive"
101
102source "drivers/gpio/Kconfig.esp32"
103
104source "drivers/gpio/Kconfig.gecko"
105
106source "drivers/gpio/Kconfig.sam0"
107
108source "drivers/gpio/Kconfig.sam"
109
110source "drivers/gpio/Kconfig.sx1509b"
111
112source "drivers/gpio/Kconfig.imx"
113
114source "drivers/gpio/Kconfig.it8xxx2"
115
116source "drivers/gpio/Kconfig.ifx_cat1"
117
118source "drivers/gpio/Kconfig.intel"
119
120source "drivers/gpio/Kconfig.xec"
121
122source "drivers/gpio/Kconfig.stellaris"
123
124source "drivers/gpio/Kconfig.rpi_pico"
125
126source "drivers/gpio/Kconfig.rv32m1"
127
128source "drivers/gpio/Kconfig.lmp90xxx"
129
130source "drivers/gpio/Kconfig.ads114s0x"
131
132source "drivers/gpio/Kconfig.litex"
133
134source "drivers/gpio/Kconfig.lpc11u6x"
135
136source "drivers/gpio/Kconfig.xlnx"
137
138source "drivers/gpio/Kconfig.npcx"
139
140source "drivers/gpio/Kconfig.emul"
141
142source "drivers/gpio/Kconfig.emul_sdl"
143
144source "drivers/gpio/Kconfig.psoc6"
145
146source "drivers/gpio/Kconfig.pcal64xxa"
147
148source "drivers/gpio/Kconfig.eos_s3"
149
150source "drivers/gpio/Kconfig.rcar"
151
152source "drivers/gpio/Kconfig.cy8c95xx"
153
154source "drivers/gpio/Kconfig.creg_gpio"
155
156source "drivers/gpio/Kconfig.stmpe1600"
157
158source "drivers/gpio/Kconfig.pca953x"
159
160source "drivers/gpio/Kconfig.pcf8574"
161
162source "drivers/gpio/Kconfig.fxl6408"
163
164source "drivers/gpio/Kconfig.andes_atcgpio100"
165
166source "drivers/gpio/Kconfig.neorv32"
167
168source "drivers/gpio/Kconfig.nct38xx"
169
170source "drivers/gpio/Kconfig.test"
171
172source "drivers/gpio/Kconfig.gd32"
173
174source "drivers/gpio/Kconfig.xlnx_ps"
175
176source "drivers/gpio/Kconfig.sn74hc595"
177
178source "drivers/gpio/Kconfig.mchp_mss"
179
180source "drivers/gpio/Kconfig.xmc4xxx"
181
182source "drivers/gpio/Kconfig.smartbond"
183
184source "drivers/gpio/Kconfig.nxp_s32"
185
186source "drivers/gpio/Kconfig.tca6424a"
187
188source "drivers/gpio/Kconfig.npm1300"
189
190source "drivers/gpio/Kconfig.npm6001"
191
192source "drivers/gpio/Kconfig.rt1718s"
193
194source "drivers/gpio/Kconfig.numicro"
195
196source "drivers/gpio/Kconfig.bd8lb600fs"
197
198source "drivers/gpio/Kconfig.sc18im704"
199
200endif # GPIO
201