mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 03:10:12 +00:00
![Anson Huang](/assets/img/avatar_default.png)
Add a pinctrl driver for i.MX6 SoloX based on pinctrl-imx core driver. Signed-off-by: Anson Huang <b20788@freescale.com> Signed-off-by: Shawn Guo <shawn.guo@freescale.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
414 lines
9.2 KiB
Text
414 lines
9.2 KiB
Text
#
|
|
# PINCTRL infrastructure and drivers
|
|
#
|
|
|
|
config PINCTRL
|
|
bool
|
|
|
|
if PINCTRL
|
|
|
|
menu "Pin controllers"
|
|
depends on PINCTRL
|
|
|
|
config PINMUX
|
|
bool "Support pin multiplexing controllers"
|
|
|
|
config PINCONF
|
|
bool "Support pin configuration controllers"
|
|
|
|
config GENERIC_PINCONF
|
|
bool
|
|
select PINCONF
|
|
|
|
config DEBUG_PINCTRL
|
|
bool "Debug PINCTRL calls"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
Say Y here to add some extra checks and diagnostics to PINCTRL calls.
|
|
|
|
config PINCTRL_ABX500
|
|
bool "ST-Ericsson ABx500 family Mixed Signal Circuit gpio functions"
|
|
depends on AB8500_CORE
|
|
select GENERIC_PINCONF
|
|
help
|
|
Select this to enable the ABx500 family IC GPIO driver
|
|
|
|
config PINCTRL_AB8500
|
|
bool "AB8500 pin controller driver"
|
|
depends on PINCTRL_ABX500 && ARCH_U8500
|
|
|
|
config PINCTRL_AB8540
|
|
bool "AB8540 pin controller driver"
|
|
depends on PINCTRL_ABX500 && ARCH_U8500
|
|
|
|
config PINCTRL_AB9540
|
|
bool "AB9540 pin controller driver"
|
|
depends on PINCTRL_ABX500 && ARCH_U8500
|
|
|
|
config PINCTRL_AB8505
|
|
bool "AB8505 pin controller driver"
|
|
depends on PINCTRL_ABX500 && ARCH_U8500
|
|
|
|
config PINCTRL_ADI2
|
|
bool "ADI pin controller driver"
|
|
depends on BLACKFIN
|
|
select PINMUX
|
|
select IRQ_DOMAIN
|
|
help
|
|
This is the pin controller and gpio driver for ADI BF54x, BF60x and
|
|
future processors. This option is selected automatically when specific
|
|
machine and arch are selected to build.
|
|
|
|
config PINCTRL_AS3722
|
|
bool "Pinctrl and GPIO driver for ams AS3722 PMIC"
|
|
depends on MFD_AS3722 && GPIOLIB
|
|
select PINMUX
|
|
select 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 PINCTRL_BF54x
|
|
def_bool y if BF54x
|
|
select PINCTRL_ADI2
|
|
|
|
config PINCTRL_BF60x
|
|
def_bool y if BF60x
|
|
select PINCTRL_ADI2
|
|
|
|
config PINCTRL_AT91
|
|
bool "AT91 pinctrl driver"
|
|
depends on OF
|
|
depends on ARCH_AT91
|
|
select PINMUX
|
|
select PINCONF
|
|
select GPIOLIB
|
|
select OF_GPIO
|
|
select GPIOLIB_IRQCHIP
|
|
help
|
|
Say Y here to enable the at91 pinctrl driver
|
|
|
|
config PINCTRL_BAYTRAIL
|
|
bool "Intel Baytrail GPIO pin control"
|
|
depends on GPIOLIB && ACPI && X86
|
|
select IRQ_DOMAIN
|
|
help
|
|
driver for memory mapped GPIO functionality on Intel Baytrail
|
|
platforms. Supports 3 banks with 102, 28 and 44 gpios.
|
|
Most pins are usually muxed to some other functionality by firmware,
|
|
so only a small amount is available for gpio use.
|
|
|
|
Requires ACPI device enumeration code to set up a platform device.
|
|
|
|
config PINCTRL_BCM2835
|
|
bool
|
|
select PINMUX
|
|
select PINCONF
|
|
|
|
config PINCTRL_BCM281XX
|
|
bool "Broadcom BCM281xx pinctrl driver"
|
|
depends on OF
|
|
select PINMUX
|
|
select PINCONF
|
|
select GENERIC_PINCONF
|
|
select REGMAP_MMIO
|
|
help
|
|
Say Y here to support Broadcom BCM281xx pinctrl driver, which is used
|
|
for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
|
|
BCM28145, and BCM28155 SoCs. This driver requires the pinctrl
|
|
framework. GPIO is provided by a separate GPIO driver.
|
|
|
|
config PINCTRL_IMX
|
|
bool
|
|
select PINMUX
|
|
select PINCONF
|
|
|
|
config PINCTRL_IMX1_CORE
|
|
bool
|
|
select PINMUX
|
|
select PINCONF
|
|
|
|
config PINCTRL_IMX27
|
|
bool "IMX27 pinctrl driver"
|
|
depends on SOC_IMX27
|
|
select PINCTRL_IMX1_CORE
|
|
help
|
|
Say Y here to enable the imx27 pinctrl driver
|
|
|
|
|
|
config PINCTRL_IMX25
|
|
bool "IMX25 pinctrl driver"
|
|
depends on OF
|
|
depends on SOC_IMX25
|
|
select PINCTRL_IMX
|
|
help
|
|
Say Y here to enable the imx25 pinctrl driver
|
|
|
|
config PINCTRL_IMX35
|
|
bool "IMX35 pinctrl driver"
|
|
depends on SOC_IMX35
|
|
select PINCTRL_IMX
|
|
help
|
|
Say Y here to enable the imx35 pinctrl driver
|
|
|
|
config PINCTRL_IMX50
|
|
bool "IMX50 pinctrl driver"
|
|
depends on SOC_IMX50
|
|
select PINCTRL_IMX
|
|
help
|
|
Say Y here to enable the imx50 pinctrl driver
|
|
|
|
config PINCTRL_IMX51
|
|
bool "IMX51 pinctrl driver"
|
|
depends on SOC_IMX51
|
|
select PINCTRL_IMX
|
|
help
|
|
Say Y here to enable the imx51 pinctrl driver
|
|
|
|
config PINCTRL_IMX53
|
|
bool "IMX53 pinctrl driver"
|
|
depends on SOC_IMX53
|
|
select PINCTRL_IMX
|
|
help
|
|
Say Y here to enable the imx53 pinctrl driver
|
|
|
|
config PINCTRL_IMX6Q
|
|
bool "IMX6Q/DL pinctrl driver"
|
|
depends on SOC_IMX6Q
|
|
select PINCTRL_IMX
|
|
help
|
|
Say Y here to enable the imx6q/dl pinctrl driver
|
|
|
|
config PINCTRL_IMX6SL
|
|
bool "IMX6SL pinctrl driver"
|
|
depends on SOC_IMX6SL
|
|
select PINCTRL_IMX
|
|
help
|
|
Say Y here to enable the imx6sl pinctrl driver
|
|
|
|
config PINCTRL_IMX6SX
|
|
bool "IMX6SX pinctrl driver"
|
|
depends on SOC_IMX6SX
|
|
select PINCTRL_IMX
|
|
help
|
|
Say Y here to enable the imx6sx pinctrl driver
|
|
|
|
config PINCTRL_VF610
|
|
bool "Freescale Vybrid VF610 pinctrl driver"
|
|
depends on SOC_VF610
|
|
select PINCTRL_IMX
|
|
help
|
|
Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
|
|
|
|
config PINCTRL_LANTIQ
|
|
bool
|
|
depends on LANTIQ
|
|
select PINMUX
|
|
select PINCONF
|
|
|
|
config PINCTRL_FALCON
|
|
bool
|
|
depends on SOC_FALCON
|
|
depends on PINCTRL_LANTIQ
|
|
|
|
config PINCTRL_MXS
|
|
bool
|
|
select PINMUX
|
|
select PINCONF
|
|
|
|
config PINCTRL_IMX23
|
|
bool
|
|
select PINCTRL_MXS
|
|
|
|
config PINCTRL_IMX28
|
|
bool
|
|
select PINCTRL_MXS
|
|
|
|
config PINCTRL_MSM
|
|
bool
|
|
select PINMUX
|
|
select PINCONF
|
|
select GENERIC_PINCONF
|
|
select GPIOLIB_IRQCHIP
|
|
|
|
config PINCTRL_APQ8064
|
|
tristate "Qualcomm APQ8064 pin controller driver"
|
|
depends on GPIOLIB && OF
|
|
select PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm APQ8064 platform.
|
|
|
|
config PINCTRL_IPQ8064
|
|
tristate "Qualcomm IPQ8064 pin controller driver"
|
|
depends on GPIOLIB && OF
|
|
select PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm IPQ8064 platform.
|
|
|
|
config PINCTRL_MSM8X74
|
|
tristate "Qualcomm 8x74 pin controller driver"
|
|
depends on GPIOLIB && OF && (ARCH_QCOM || COMPILE_TEST)
|
|
select PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm 8974 platform.
|
|
|
|
config PINCTRL_NOMADIK
|
|
bool "Nomadik pin controller driver"
|
|
depends on ARCH_U8500 || ARCH_NOMADIK
|
|
select PINMUX
|
|
select PINCONF
|
|
select GPIOLIB
|
|
select OF_GPIO
|
|
select GPIOLIB_IRQCHIP
|
|
|
|
config PINCTRL_STN8815
|
|
bool "STN8815 pin controller driver"
|
|
depends on PINCTRL_NOMADIK && ARCH_NOMADIK
|
|
|
|
config PINCTRL_DB8500
|
|
bool "DB8500 pin controller driver"
|
|
depends on PINCTRL_NOMADIK && ARCH_U8500
|
|
|
|
config PINCTRL_DB8540
|
|
bool "DB8540 pin controller driver"
|
|
depends on PINCTRL_NOMADIK && ARCH_U8500
|
|
|
|
config PINCTRL_ROCKCHIP
|
|
bool
|
|
select PINMUX
|
|
select GENERIC_PINCONF
|
|
select GENERIC_IRQ_CHIP
|
|
select MFD_SYSCON
|
|
|
|
config PINCTRL_SINGLE
|
|
tristate "One-register-per-pin type device tree based pinctrl driver"
|
|
depends on OF
|
|
select PINMUX
|
|
select PINCONF
|
|
select GENERIC_PINCONF
|
|
help
|
|
This selects the device tree based generic pinctrl driver.
|
|
|
|
config PINCTRL_SIRF
|
|
bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
|
|
depends on ARCH_SIRF
|
|
select PINMUX
|
|
select GPIOLIB_IRQCHIP
|
|
|
|
config PINCTRL_ST
|
|
bool
|
|
depends on OF
|
|
select PINMUX
|
|
select PINCONF
|
|
select GPIOLIB_IRQCHIP
|
|
|
|
config PINCTRL_TEGRA
|
|
bool
|
|
select PINMUX
|
|
select PINCONF
|
|
|
|
config PINCTRL_TEGRA20
|
|
bool
|
|
select PINCTRL_TEGRA
|
|
|
|
config PINCTRL_TEGRA30
|
|
bool
|
|
select PINCTRL_TEGRA
|
|
|
|
config PINCTRL_TEGRA114
|
|
bool
|
|
select PINCTRL_TEGRA
|
|
|
|
config PINCTRL_TEGRA124
|
|
bool
|
|
select PINCTRL_TEGRA
|
|
|
|
config PINCTRL_TZ1090
|
|
bool "Toumaz Xenif TZ1090 pin control driver"
|
|
depends on SOC_TZ1090
|
|
select PINMUX
|
|
select GENERIC_PINCONF
|
|
|
|
config PINCTRL_TZ1090_PDC
|
|
bool "Toumaz Xenif TZ1090 PDC pin control driver"
|
|
depends on SOC_TZ1090
|
|
select PINMUX
|
|
select PINCONF
|
|
|
|
config PINCTRL_U300
|
|
bool "U300 pin controller driver"
|
|
depends on ARCH_U300
|
|
select PINMUX
|
|
select GENERIC_PINCONF
|
|
|
|
config PINCTRL_COH901
|
|
bool "ST-Ericsson U300 COH 901 335/571 GPIO"
|
|
depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
|
|
select 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 PINCTRL_SAMSUNG
|
|
bool
|
|
select PINMUX
|
|
select PINCONF
|
|
|
|
config PINCTRL_EXYNOS
|
|
bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
|
|
depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
|
|
select PINCTRL_SAMSUNG
|
|
|
|
config PINCTRL_EXYNOS5440
|
|
bool "Samsung EXYNOS5440 SoC pinctrl driver"
|
|
depends on SOC_EXYNOS5440
|
|
select PINMUX
|
|
select PINCONF
|
|
|
|
config PINCTRL_PALMAS
|
|
bool "Pinctrl driver for the PALMAS Series MFD devices"
|
|
depends on OF && MFD_PALMAS
|
|
select PINMUX
|
|
select 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 PINCTRL_S3C24XX
|
|
bool "Samsung S3C24XX SoC pinctrl driver"
|
|
depends on ARCH_S3C24XX
|
|
select PINCTRL_SAMSUNG
|
|
|
|
config PINCTRL_S3C64XX
|
|
bool "Samsung S3C64XX SoC pinctrl driver"
|
|
depends on ARCH_S3C64XX
|
|
select PINCTRL_SAMSUNG
|
|
|
|
source "drivers/pinctrl/berlin/Kconfig"
|
|
source "drivers/pinctrl/mvebu/Kconfig"
|
|
source "drivers/pinctrl/sh-pfc/Kconfig"
|
|
source "drivers/pinctrl/spear/Kconfig"
|
|
source "drivers/pinctrl/sunxi/Kconfig"
|
|
source "drivers/pinctrl/vt8500/Kconfig"
|
|
|
|
config PINCTRL_XWAY
|
|
bool
|
|
depends on SOC_TYPE_XWAY
|
|
depends on PINCTRL_LANTIQ
|
|
|
|
config PINCTRL_TB10X
|
|
bool
|
|
depends on ARC_PLAT_TB10X
|
|
|
|
endmenu
|
|
|
|
endif
|