123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311 |
- #
- # 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
|