Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
# SPDX-License-Identifier: GPL-2.0-only
#
# CONFIG_PINCTRL infrastructure and drivers
#

menuconfig CONFIG_PINCTRL
	bool "Pin controllers"

if CONFIG_PINCTRL

config CONFIG_GENERIC_PINCTRL_GROUPS
	bool

config CONFIG_PINMUX
	bool "Support pin multiplexing controllers" if CONFIG_COMPILE_TEST

config CONFIG_GENERIC_PINMUX_FUNCTIONS
	bool
	select CONFIG_PINMUX

config CONFIG_PINCONF
	bool "Support pin configuration controllers" if CONFIG_COMPILE_TEST

config CONFIG_GENERIC_PINCONF
	bool
	select CONFIG_PINCONF

config CONFIG_DEBUG_PINCTRL
	bool "Debug PINCTRL calls"
	depends on CONFIG_DEBUG_KERNEL
	help
	  Say Y here to add some extra checks and diagnostics to CONFIG_PINCTRL calls.

config CONFIG_PINCTRL_ARTPEC6
        bool "Axis ARTPEC-6 pin controller driver"
        depends on CONFIG_MACH_ARTPEC6
        select CONFIG_PINMUX
        select CONFIG_GENERIC_PINCONF
        help
          This is the driver for the Axis ARTPEC-6 pin controller. This driver
          supports pin function multiplexing as well as pin bias and drive
          strength configuration. Device tree integration instructions can be
          found in Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt

config CONFIG_PINCTRL_AS3722
	tristate "Pinctrl and GPIO driver for ams AS3722 PMIC"
	depends on CONFIG_MFD_AS3722 && CONFIG_GPIOLIB
	select CONFIG_PINMUX
	select CONFIG_GENERIC_PINCONF
	help
	  AS3722 device supports the configuration of GPIO pins for different
	  functionality. This driver supports the pinmux, push-pull and
	  open drain configuration for the GPIO pins of AS3722 devices. It also
	  supports the GPIO functionality through gpiolib.

config CONFIG_PINCTRL_AXP209
	tristate "X-Powers AXP209 PMIC pinctrl and GPIO Support"
	depends on CONFIG_MFD_AXP20X
	depends on CONFIG_OF
	select CONFIG_PINMUX
	select CONFIG_GENERIC_PINCONF
	select CONFIG_GPIOLIB
	help
	  AXP PMICs provides multiple GPIOs that can be muxed for different
	  functions. This driver bundles a pinctrl driver to select the function
	  muxing and a GPIO driver to handle the GPIO when the GPIO function is
	  selected.
	  Say yes to enable pinctrl and GPIO support for the AXP209 PMIC

config CONFIG_PINCTRL_AT91
	bool "AT91 pinctrl driver"
	depends on CONFIG_OF
	depends on CONFIG_ARCH_AT91
	select CONFIG_PINMUX
	select CONFIG_PINCONF
	select CONFIG_GPIOLIB
	select CONFIG_OF_GPIO
	select CONFIG_GPIOLIB_IRQCHIP
	help
	  Say Y here to enable the at91 pinctrl driver

config CONFIG_PINCTRL_AT91PIO4
	bool "AT91 PIO4 pinctrl driver"
	depends on CONFIG_OF
	depends on CONFIG_ARCH_AT91
	select CONFIG_PINMUX
	select CONFIG_GENERIC_PINCONF
	select CONFIG_GPIOLIB
	select CONFIG_GPIOLIB_IRQCHIP
	select CONFIG_OF_GPIO
	help
	  Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
	  controller available on sama5d2 SoC.

config CONFIG_PINCTRL_AMD
	tristate "AMD GPIO pin control"
	depends on CONFIG_HAS_IOMEM
	select CONFIG_GPIOLIB
	select CONFIG_GPIOLIB_IRQCHIP
	select CONFIG_PINMUX
	select CONFIG_PINCONF
	select CONFIG_GENERIC_PINCONF
	help
	  driver for memory mapped GPIO functionality on AMD platforms
	  (x86 or arm).Most pins are usually muxed to some other
	  functionality by firmware,so only a small amount is available
	  for gpio use.

	  Requires CONFIG_ACPI/FDT device enumeration code to set up a platform
	  device.

config CONFIG_PINCTRL_BM1880
	bool "Bitmain BM1880 Pinctrl driver"
	depends on CONFIG_OF && (CONFIG_ARCH_BITMAIN || CONFIG_COMPILE_TEST)
	default CONFIG_ARCH_BITMAIN
	select CONFIG_PINMUX
	help
	  Pinctrl driver for Bitmain BM1880 SoC.

config CONFIG_PINCTRL_DA850_PUPD
	tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups"
	depends on CONFIG_OF && (CONFIG_ARCH_DAVINCI_DA850 || CONFIG_COMPILE_TEST)
	select CONFIG_PINCONF
	select CONFIG_GENERIC_PINCONF
	help
	  Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
	  pullup/pulldown pin groups.

config CONFIG_PINCTRL_DIGICOLOR
	bool
	depends on CONFIG_OF && (CONFIG_ARCH_DIGICOLOR || CONFIG_COMPILE_TEST)
	select CONFIG_PINMUX
	select CONFIG_GENERIC_PINCONF

config CONFIG_PINCTRL_LANTIQ
	bool
	depends on CONFIG_LANTIQ
	select CONFIG_PINMUX
	select CONFIG_PINCONF

config CONFIG_PINCTRL_LPC18XX
	bool "NXP LPC18XX/43XX SCU pinctrl driver"
	depends on CONFIG_OF && (CONFIG_ARCH_LPC18XX || CONFIG_COMPILE_TEST)
	default CONFIG_ARCH_LPC18XX
	select CONFIG_PINMUX
	select CONFIG_GENERIC_PINCONF
	help
	  Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).

config CONFIG_PINCTRL_FALCON
	bool
	depends on CONFIG_SOC_FALCON
	depends on CONFIG_PINCTRL_LANTIQ

config CONFIG_PINCTRL_GEMINI
	bool
	depends on CONFIG_ARCH_GEMINI
	default CONFIG_ARCH_GEMINI
	select CONFIG_PINMUX
	select CONFIG_GENERIC_PINCONF
	select CONFIG_MFD_SYSCON

config CONFIG_PINCTRL_MCP23S08
	tristate "Microchip MCP23xxx I/O expander"
	depends on CONFIG_SPI_MASTER || CONFIG_I2C
	depends on CONFIG_I2C || CONFIG_I2C=n
	select CONFIG_GPIOLIB
	select CONFIG_GPIOLIB_IRQCHIP
	select CONFIG_REGMAP_I2C if CONFIG_I2C
	select CONFIG_REGMAP_SPI if CONFIG_SPI_MASTER
	select CONFIG_GENERIC_PINCONF
	help
	  CONFIG_SPI/CONFIG_I2C driver for Microchip MCP23S08 / MCP23S17 / MCP23S18 /
	  MCP23008 / MCP23017 / MCP23018 I/O expanders.
	  This provides a GPIO interface supporting inputs and outputs and a
	  corresponding interrupt-controller.

config CONFIG_PINCTRL_OXNAS
	bool
	depends on CONFIG_OF
	select CONFIG_PINMUX
	select CONFIG_PINCONF
	select CONFIG_GENERIC_PINCONF
	select CONFIG_GPIOLIB
	select CONFIG_OF_GPIO
	select CONFIG_GPIOLIB_IRQCHIP
	select CONFIG_MFD_SYSCON

config CONFIG_PINCTRL_ROCKCHIP
	bool
	select CONFIG_PINMUX
	select CONFIG_GENERIC_PINCONF
	select CONFIG_GENERIC_IRQ_CHIP
	select CONFIG_MFD_SYSCON

config CONFIG_PINCTRL_RZA1
	bool "Renesas RZ/A1 gpio and pinctrl driver"
	depends on CONFIG_OF
	depends on CONFIG_ARCH_R7S72100 || CONFIG_COMPILE_TEST
	select CONFIG_GPIOLIB
	select CONFIG_GENERIC_PINCTRL_GROUPS
	select CONFIG_GENERIC_PINMUX_FUNCTIONS
	select CONFIG_GENERIC_PINCONF
	help
	  This selects pinctrl driver for Renesas RZ/CONFIG_A1 platforms.

config CONFIG_PINCTRL_RZA2
	bool "Renesas RZ/A2 gpio and pinctrl driver"
	depends on CONFIG_OF
	depends on CONFIG_ARCH_R7S9210 || CONFIG_COMPILE_TEST
	select CONFIG_GPIOLIB
	select CONFIG_GENERIC_PINCTRL_GROUPS
	select CONFIG_GENERIC_PINMUX_FUNCTIONS
	select CONFIG_GENERIC_PINCONF
	help
	  This selects GPIO and pinctrl driver for Renesas RZ/A2 platforms.

config CONFIG_PINCTRL_RZN1
	bool "Renesas RZ/N1 pinctrl driver"
	depends on CONFIG_OF
	depends on CONFIG_ARCH_RZN1 || CONFIG_COMPILE_TEST
	select CONFIG_GENERIC_PINCTRL_GROUPS
	select CONFIG_GENERIC_PINMUX_FUNCTIONS
	select CONFIG_GENERIC_PINCONF
	help
	  This selects pinctrl driver for Renesas RZ/N1 devices.

config CONFIG_PINCTRL_SINGLE
	tristate "One-register-per-pin type device tree based pinctrl driver"
	depends on CONFIG_OF
	depends on CONFIG_HAS_IOMEM
	select CONFIG_GENERIC_PINCTRL_GROUPS
	select CONFIG_GENERIC_PINMUX_FUNCTIONS
	select CONFIG_GENERIC_PINCONF
	help
	  This selects the device tree based generic pinctrl driver.

config CONFIG_PINCTRL_SIRF
	bool "CSR SiRFprimaII pin controller driver"
	depends on CONFIG_ARCH_SIRF
	select CONFIG_PINMUX
	select CONFIG_PINCONF
	select CONFIG_GENERIC_PINCONF
	select CONFIG_GPIOLIB_IRQCHIP

config CONFIG_PINCTRL_SX150X
	bool "Semtech SX150x I2C GPIO expander pinctrl driver"
	depends on CONFIG_I2C=y
	select CONFIG_PINMUX
	select CONFIG_PINCONF
	select CONFIG_GENERIC_PINCONF
	select CONFIG_GPIOLIB
	select CONFIG_GPIOLIB_IRQCHIP
	select CONFIG_REGMAP
	help
	  Say yes here to provide support for Semtech SX150x-series CONFIG_I2C
	  GPIO expanders as pinctrl module.
	  Compatible models include:
	  - 8 bits:  sx1508q, sx1502q
	  - 16 bits: sx1509q, sx1506q

config CONFIG_PINCTRL_PISTACHIO
	def_bool y if CONFIG_MACH_PISTACHIO
	depends on CONFIG_GPIOLIB
	select CONFIG_PINMUX
	select CONFIG_GENERIC_PINCONF
	select CONFIG_GPIOLIB_IRQCHIP
	select CONFIG_OF_GPIO

config CONFIG_PINCTRL_ST
	bool
	depends on CONFIG_OF
	select CONFIG_PINMUX
	select CONFIG_PINCONF
	select CONFIG_GPIOLIB_IRQCHIP

config CONFIG_PINCTRL_STMFX
	tristate "STMicroelectronics STMFX GPIO expander pinctrl driver"
	depends on CONFIG_I2C
	depends on CONFIG_OF_GPIO
	select CONFIG_GENERIC_PINCONF
	select CONFIG_GPIOLIB_IRQCHIP
	select CONFIG_MFD_STMFX
	help
	  Driver for STMicroelectronics Multi-Function eXpander (STMFX)
	  GPIO expander.
	  This provides a GPIO interface supporting inputs and outputs,
	  and configuring push-pull, open-drain, and can also be used as
	  interrupt-controller.

config CONFIG_PINCTRL_U300
	bool "U300 pin controller driver"
	depends on CONFIG_ARCH_U300
	select CONFIG_PINMUX
	select CONFIG_GENERIC_PINCONF

config CONFIG_PINCTRL_COH901
	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
	depends on CONFIG_GPIOLIB && CONFIG_ARCH_U300 && CONFIG_PINCTRL_U300
	select CONFIG_GPIOLIB_IRQCHIP
	help
	  Say yes here to support GPIO interface on ST-Ericsson U300.
	  The names of the two IP block variants supported are
	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
	  ports of 8 GPIO pins each.

config CONFIG_PINCTRL_MAX77620
	tristate "MAX77620/MAX20024 Pincontrol support"
	depends on CONFIG_MFD_MAX77620 && CONFIG_OF
	select CONFIG_PINMUX
	select CONFIG_GENERIC_PINCONF
	help
	  Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
	  This PMIC has 8 GPIO pins that work as GPIO as well as special
	  function in alternate mode. This driver also configure push-pull,
	  open drain, FPS slots etc.

config CONFIG_PINCTRL_PALMAS
	tristate "Pinctrl driver for the PALMAS Series MFD devices"
	depends on CONFIG_OF && CONFIG_MFD_PALMAS
	select CONFIG_PINMUX
	select CONFIG_GENERIC_PINCONF
	help
	  Palmas device supports the configuration of pins for different
	  functionality. This driver supports the pinmux, push-pull and
	  open drain configuration for the Palmas series devices like
	  TPS65913, TPS80036 etc.

config CONFIG_PINCTRL_PIC32
	bool "Microchip PIC32 pin controller driver"
	depends on CONFIG_OF
	depends on CONFIG_MACH_PIC32
	select CONFIG_PINMUX
	select CONFIG_GENERIC_PINCONF
	select CONFIG_GPIOLIB_IRQCHIP
	select CONFIG_OF_GPIO
	help
	  This is the pin controller and gpio driver for Microchip PIC32
	  microcontrollers. This option is selected automatically when specific
	  machine and arch are selected to build.

config CONFIG_PINCTRL_PIC32MZDA
	def_bool y if CONFIG_PIC32MZDA
	select CONFIG_PINCTRL_PIC32

config CONFIG_PINCTRL_ZYNQ
	bool "Pinctrl driver for Xilinx Zynq"
	depends on CONFIG_ARCH_ZYNQ
	select CONFIG_PINMUX
	select CONFIG_GENERIC_PINCONF
	help
	  This selects the pinctrl driver for Xilinx Zynq.

config CONFIG_PINCTRL_INGENIC
	bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
	default CONFIG_MACH_INGENIC
	depends on CONFIG_OF
	depends on CONFIG_MIPS || CONFIG_COMPILE_TEST
	select CONFIG_GENERIC_PINCONF
	select CONFIG_GENERIC_PINCTRL_GROUPS
	select CONFIG_GENERIC_PINMUX_FUNCTIONS
	select CONFIG_GPIOLIB
	select CONFIG_GPIOLIB_IRQCHIP
	select CONFIG_REGMAP_MMIO

config CONFIG_PINCTRL_RK805
	tristate "Pinctrl and GPIO driver for RK805 PMIC"
	depends on CONFIG_MFD_RK808
	select CONFIG_GPIOLIB
	select CONFIG_PINMUX
	select CONFIG_GENERIC_PINCONF
	help
	  This selects the pinctrl driver for RK805.

config CONFIG_PINCTRL_OCELOT
	bool "Pinctrl driver for the Microsemi Ocelot and Jaguar2 SoCs"
	depends on CONFIG_OF
	depends on CONFIG_HAS_IOMEM
	select CONFIG_GPIOLIB
	select CONFIG_GPIOLIB_IRQCHIP
	select CONFIG_GENERIC_PINCONF
	select CONFIG_GENERIC_PINCTRL_GROUPS
	select CONFIG_GENERIC_PINMUX_FUNCTIONS
	select CONFIG_OF_GPIO
	select CONFIG_REGMAP_MMIO

source "drivers/pinctrl/actions/Kconfig"
source "drivers/pinctrl/aspeed/Kconfig"
source "drivers/pinctrl/bcm/Kconfig"
source "drivers/pinctrl/berlin/Kconfig"
source "drivers/pinctrl/freescale/Kconfig"
source "drivers/pinctrl/intel/Kconfig"
source "drivers/pinctrl/mvebu/Kconfig"
source "drivers/pinctrl/nomadik/Kconfig"
source "drivers/pinctrl/nuvoton/Kconfig"
source "drivers/pinctrl/pxa/Kconfig"
source "drivers/pinctrl/qcom/Kconfig"
source "drivers/pinctrl/samsung/Kconfig"
source "drivers/pinctrl/sh-pfc/Kconfig"
source "drivers/pinctrl/spear/Kconfig"
source "drivers/pinctrl/sprd/Kconfig"
source "drivers/pinctrl/stm32/Kconfig"
source "drivers/pinctrl/sunxi/Kconfig"
source "drivers/pinctrl/tegra/Kconfig"
source "drivers/pinctrl/ti/Kconfig"
source "drivers/pinctrl/uniphier/Kconfig"
source "drivers/pinctrl/vt8500/Kconfig"
source "drivers/pinctrl/mediatek/Kconfig"
source "drivers/pinctrl/zte/Kconfig"
source "drivers/pinctrl/meson/Kconfig"
source "drivers/pinctrl/cirrus/Kconfig"

config CONFIG_PINCTRL_XWAY
	bool
	depends on CONFIG_SOC_TYPE_XWAY
	depends on CONFIG_PINCTRL_LANTIQ

config CONFIG_PINCTRL_TB10X
	bool
	depends on CONFIG_OF && CONFIG_ARC_PLAT_TB10X
	select CONFIG_GPIOLIB

endif