| # | |
| # PINCTRL infrastructure and drivers | |
| # | |
| menu "Pin controllers" | |
| config PINCTRL | |
| bool "Support pin controllers" | |
| depends on DM | |
| help | |
| This enables the basic support for pinctrl framework. You may want | |
| to enable some more options depending on what you want to do. | |
| config PINCTRL_FULL | |
| bool "Support full pin controllers" | |
| depends on PINCTRL && OF_CONTROL | |
| default y | |
| help | |
| This provides Linux-compatible device tree interface for the pinctrl | |
| subsystem. This feature depends on device tree configuration because | |
| it parses a device tree to look for the pinctrl device which the | |
| peripheral device is associated with. | |
| If this option is disabled (it is the only possible choice for non-DT | |
| boards), the pinctrl core provides no systematic mechanism for | |
| identifying peripheral devices, applying needed pinctrl settings. | |
| It is totally up to the implementation of each low-level driver. | |
| You can save memory footprint in return for some limitations. | |
| config PINCTRL_GENERIC | |
| bool "Support generic pin controllers" | |
| depends on PINCTRL_FULL | |
| default y | |
| help | |
| Say Y here if you want to use the pinctrl subsystem through the | |
| generic DT interface. If enabled, some functions become available | |
| to parse common properties such as "pins", "groups", "functions" and | |
| some pin configuration parameters. It would be easier if you only | |
| need the generic DT interface for pin muxing and pin configuration. | |
| If you need to handle vendor-specific DT properties, you can disable | |
| this option and implement your own set_state callback in the pinctrl | |
| operations. | |
| config PINMUX | |
| bool "Support pin multiplexing controllers" | |
| depends on PINCTRL_GENERIC | |
| default y | |
| help | |
| This option enables pin multiplexing through the generic pinctrl | |
| framework. Most SoCs have their own multiplexing arrangement where | |
| a single pin can be used for several functions. An SoC pinctrl driver | |
| allows the required function to be selected for each pin. | |
| The driver is typically controlled by the device tree. | |
| config PINCONF | |
| bool "Support pin configuration controllers" | |
| depends on PINCTRL_GENERIC | |
| help | |
| This option enables pin configuration through the generic pinctrl | |
| framework. | |
| config SPL_PINCTRL | |
| bool "Support pin controllers in SPL" | |
| depends on SPL && SPL_DM | |
| help | |
| This option is an SPL-variant of the PINCTRL option. | |
| See the help of PINCTRL for details. | |
| config SPL_PINCTRL_FULL | |
| bool "Support full pin controllers in SPL" | |
| depends on SPL_PINCTRL && SPL_OF_CONTROL | |
| default n if TARGET_STM32F746_DISCO | |
| default y | |
| help | |
| This option is an SPL-variant of the PINCTRL_FULL option. | |
| See the help of PINCTRL_FULL for details. | |
| config SPL_PINCTRL_GENERIC | |
| bool "Support generic pin controllers in SPL" | |
| depends on SPL_PINCTRL_FULL | |
| default y | |
| help | |
| This option is an SPL-variant of the PINCTRL_GENERIC option. | |
| See the help of PINCTRL_GENERIC for details. | |
| config SPL_PINMUX | |
| bool "Support pin multiplexing controllers in SPL" | |
| depends on SPL_PINCTRL_GENERIC | |
| default y | |
| help | |
| This option is an SPL-variant of the PINMUX option. | |
| See the help of PINMUX for details. | |
| The pinctrl subsystem can add a substantial overhead to the SPL | |
| image since it typically requires quite a few tables either in the | |
| driver or in the device tree. If this is acceptable and you need | |
| to adjust pin multiplexing in SPL in order to boot into U-Boot, | |
| enable this option. You will need to enable device tree in SPL | |
| for this to work. | |
| config SPL_PINCONF | |
| bool "Support pin configuration controllers in SPL" | |
| depends on SPL_PINCTRL_GENERIC | |
| help | |
| This option is an SPL-variant of the PINCONF option. | |
| See the help of PINCONF for details. | |
| if PINCTRL || SPL_PINCTRL | |
| config PINCTRL_AR933X | |
| bool "QCA/Athores ar933x pin control driver" | |
| depends on DM && SOC_AR933X | |
| help | |
| Support pin multiplexing control on QCA/Athores ar933x SoCs. | |
| The driver is controlled by a device tree node which contains | |
| both the GPIO definitions and pin control functions for each | |
| available multiplex function. | |
| config PINCTRL_AT91 | |
| bool "AT91 pinctrl driver" | |
| depends on DM | |
| help | |
| This option is to enable the AT91 pinctrl driver for AT91 PIO | |
| controller. | |
| AT91 PIO controller is a combined gpio-controller, pin-mux and | |
| pin-config module. Each I/O pin may be dedicated as a general-purpose | |
| I/O or be assigned to a function of an embedded peripheral. Each I/O | |
| pin has a glitch filter providing rejection of glitches lower than | |
| one-half of peripheral clock cycle and a debouncing filter providing | |
| rejection of unwanted pulses from key or push button operations. You | |
| can also control the multi-driver capability, pull-up and pull-down | |
| feature on each I/O pin. | |
| config PINCTRL_AT91PIO4 | |
| bool "AT91 PIO4 pinctrl driver" | |
| depends on DM | |
| help | |
| This option is to enable the AT91 pinctrl driver for AT91 PIO4 | |
| controller which is available on SAMA5D2 SoC. | |
| config PINCTRL_PIC32 | |
| bool "Microchip PIC32 pin-control and pin-mux driver" | |
| depends on DM && MACH_PIC32 | |
| default y | |
| help | |
| Supports individual pin selection and configuration for each | |
| remappable peripheral available on Microchip PIC32 | |
| SoCs. This driver is controlled by a device tree node which | |
| contains both GPIO defintion and pin control functions. | |
| config PINCTRL_QCA953X | |
| bool "QCA/Athores qca953x pin control driver" | |
| depends on DM && SOC_QCA953X | |
| help | |
| Support pin multiplexing control on QCA/Athores qca953x SoCs. | |
| The driver is controlled by a device tree node which contains both | |
| the GPIO definitions and pin control functions for each available | |
| multiplex function. | |
| config PINCTRL_ROCKCHIP_RK3036 | |
| bool "Rockchip rk3036 pin control driver" | |
| depends on DM | |
| help | |
| Support pin multiplexing control on Rockchip rk3036 SoCs. | |
| The driver is controlled by a device tree node which contains both | |
| the GPIO definitions and pin control functions for each available | |
| multiplex function. | |
| config PINCTRL_ROCKCHIP_RK3128 | |
| bool "Rockchip rk3128 pin control driver" | |
| depends on DM | |
| help | |
| Support pin multiplexing control on Rockchip rk3128 SoCs. | |
| The driver is controlled by a device tree node which contains both | |
| the GPIO definitions and pin control functions for each available | |
| multiplex function. | |
| config PINCTRL_ROCKCHIP_RK3188 | |
| bool "Rockchip rk3188 pin control driver" | |
| depends on DM | |
| help | |
| Support pin multiplexing control on Rockchip rk3188 SoCs. | |
| The driver is controlled by a device tree node which contains both | |
| the GPIO definitions and pin control functions for each available | |
| multiplex function. | |
| config PINCTRL_ROCKCHIP_RK322X | |
| bool "Rockchip rk322x pin control driver" | |
| depends on DM | |
| help | |
| Support pin multiplexing control on Rockchip rk322x SoCs. | |
| The driver is controlled by a device tree node which contains both | |
| the GPIO definitions and pin control functions for each available | |
| multiplex function. | |
| config PINCTRL_ROCKCHIP_RK3288 | |
| bool "Rockchip rk3288 pin control driver" | |
| depends on DM | |
| help | |
| Support pin multiplexing control on Rockchip rk3288 SoCs. | |
| The driver is controlled by a device tree node which contains both | |
| the GPIO definitions and pin control functions for each available | |
| multiplex function. | |
| config PINCTRL_ROCKCHIP_RK3328 | |
| bool "Rockchip rk3328 pin control driver" | |
| depends on DM | |
| help | |
| Support pin multiplexing control on Rockchip rk3328 SoCs. | |
| The driver is controlled by a device tree node which contains both | |
| the GPIO definitions and pin control functions for each available | |
| multiplex function. | |
| config PINCTRL_ROCKCHIP_RK3368 | |
| bool "Rockchip RK3368 pin control driver" | |
| depends on DM | |
| help | |
| Support pin multiplexing control on Rockchip rk3368 SoCs. | |
| The driver is controlled by a device tree node which contains both | |
| the GPIO definitions and pin control functions for each available | |
| multiplex function. | |
| config PINCTRL_ROCKCHIP_RK3399 | |
| bool "Rockchip rk3399 pin control driver" | |
| depends on DM | |
| help | |
| Support pin multiplexing control on Rockchip rk3399 SoCs. | |
| The driver is controlled by a device tree node which contains both | |
| the GPIO definitions and pin control functions for each available | |
| multiplex function. | |
| config PINCTRL_ROCKCHIP_RV1108 | |
| bool "Rockchip rv1108 pin control driver" | |
| depends on DM | |
| help | |
| Support pin multiplexing control on Rockchip rv1108 SoC. | |
| The driver is controlled by a device tree node which contains | |
| both the GPIO definitions and pin control functions for each | |
| available multiplex function. | |
| config PINCTRL_SANDBOX | |
| bool "Sandbox pinctrl driver" | |
| depends on SANDBOX | |
| help | |
| This enables pinctrl driver for sandbox. | |
| Currently, this driver actually does nothing but print debug | |
| messages when pinctrl operations are invoked. | |
| config PINCTRL_SINGLE | |
| bool "Single register pin-control and pin-multiplex driver" | |
| depends on DM | |
| help | |
| This enables pinctrl driver for systems using a single register for | |
| pin configuration and multiplexing. TI's AM335X SoCs are examples of | |
| such systems. | |
| Depending on the platform make sure to also enable OF_TRANSLATE and | |
| eventually SPL_OF_TRANSLATE to get correct address translations. | |
| config PINCTRL_STI | |
| bool "STMicroelectronics STi pin-control and pin-mux driver" | |
| depends on DM && ARCH_STI | |
| default y | |
| help | |
| Support pin multiplexing control on STMicrolectronics STi SoCs. | |
| The driver is controlled by a device tree node which contains both | |
| the GPIO definitions and pin control functions for each available | |
| multiplex function. | |
| config PINCTRL_STM32 | |
| bool "ST STM32 pin control driver" | |
| depends on DM | |
| help | |
| Supports pin multiplexing control on stm32 SoCs. | |
| The driver is controlled by a device tree node which contains both | |
| the GPIO definitions and pin control functions for each available | |
| multiplex function. | |
| config ASPEED_AST2500_PINCTRL | |
| bool "Aspeed AST2500 pin control driver" | |
| depends on DM && PINCTRL_GENERIC && ASPEED_AST2500 | |
| default y | |
| help | |
| Support pin multiplexing control on Aspeed ast2500 SoC. The driver uses | |
| Generic Pinctrl framework and is compatible with the Linux driver, | |
| i.e. it uses the same device tree configuration. | |
| endif | |
| source "drivers/pinctrl/meson/Kconfig" | |
| source "drivers/pinctrl/nxp/Kconfig" | |
| source "drivers/pinctrl/renesas/Kconfig" | |
| source "drivers/pinctrl/uniphier/Kconfig" | |
| source "drivers/pinctrl/exynos/Kconfig" | |
| source "drivers/pinctrl/mvebu/Kconfig" | |
| source "drivers/pinctrl/broadcom/Kconfig" | |
| endmenu |