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