217 lines
6.3 KiB
Plaintext
217 lines
6.3 KiB
Plaintext
|
# SPDX-License-Identifier: GPL-2.0-only
|
||
|
#
|
||
|
# Broadcom pinctrl drivers
|
||
|
#
|
||
|
|
||
|
config PINCTRL_BCM281XX
|
||
|
bool "Broadcom BCM281xx pinctrl driver"
|
||
|
depends on OF && (ARCH_BCM_MOBILE || COMPILE_TEST)
|
||
|
select PINMUX
|
||
|
select PINCONF
|
||
|
select GENERIC_PINCONF
|
||
|
select REGMAP_MMIO
|
||
|
default ARCH_BCM_MOBILE
|
||
|
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_BCM2835
|
||
|
tristate "Broadcom BCM2835 GPIO (with PINCONF) driver"
|
||
|
depends on OF && (ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST)
|
||
|
select PINMUX
|
||
|
select PINCONF
|
||
|
select GENERIC_PINCONF
|
||
|
select GPIOLIB
|
||
|
select GPIOLIB_IRQCHIP
|
||
|
default ARCH_BCM2835 || ARCH_BRCMSTB
|
||
|
help
|
||
|
Say Y here to enable the Broadcom BCM2835 GPIO driver.
|
||
|
|
||
|
config PINCTRL_BCM4908
|
||
|
tristate "Broadcom BCM4908 pinmux driver"
|
||
|
depends on OF && (ARCH_BCM4908 || COMPILE_TEST)
|
||
|
select PINMUX
|
||
|
select PINCONF
|
||
|
select GENERIC_PINCONF
|
||
|
select GENERIC_PINCTRL_GROUPS
|
||
|
select GENERIC_PINMUX_FUNCTIONS
|
||
|
default ARCH_BCM4908
|
||
|
help
|
||
|
Driver for BCM4908 family SoCs with integrated pin controller.
|
||
|
|
||
|
If compiled as module it will be called pinctrl-bcm4908.
|
||
|
|
||
|
config PINCTRL_BCM63XX
|
||
|
bool
|
||
|
select PINMUX
|
||
|
select PINCONF
|
||
|
select GENERIC_PINCONF
|
||
|
select GPIOLIB
|
||
|
select REGMAP
|
||
|
select GPIO_REGMAP
|
||
|
|
||
|
config PINCTRL_BCM6318
|
||
|
bool "Broadcom BCM6318 GPIO driver"
|
||
|
depends on (BMIPS_GENERIC || COMPILE_TEST)
|
||
|
depends on OF
|
||
|
select PINCTRL_BCM63XX
|
||
|
default BMIPS_GENERIC
|
||
|
help
|
||
|
Say Y here to enable the Broadcom BCM6318 GPIO driver.
|
||
|
|
||
|
config PINCTRL_BCM6328
|
||
|
bool "Broadcom BCM6328 GPIO driver"
|
||
|
depends on (BMIPS_GENERIC || COMPILE_TEST)
|
||
|
depends on OF
|
||
|
select PINCTRL_BCM63XX
|
||
|
default BMIPS_GENERIC
|
||
|
help
|
||
|
Say Y here to enable the Broadcom BCM6328 GPIO driver.
|
||
|
|
||
|
config PINCTRL_BCM6358
|
||
|
bool "Broadcom BCM6358 GPIO driver"
|
||
|
depends on (BMIPS_GENERIC || COMPILE_TEST)
|
||
|
depends on OF
|
||
|
select PINCTRL_BCM63XX
|
||
|
default BMIPS_GENERIC
|
||
|
help
|
||
|
Say Y here to enable the Broadcom BCM6358 GPIO driver.
|
||
|
|
||
|
config PINCTRL_BCM6362
|
||
|
bool "Broadcom BCM6362 GPIO driver"
|
||
|
depends on (BMIPS_GENERIC || COMPILE_TEST)
|
||
|
depends on OF
|
||
|
select PINCTRL_BCM63XX
|
||
|
default BMIPS_GENERIC
|
||
|
help
|
||
|
Say Y here to enable the Broadcom BCM6362 GPIO driver.
|
||
|
|
||
|
config PINCTRL_BCM6368
|
||
|
bool "Broadcom BCM6368 GPIO driver"
|
||
|
depends on (BMIPS_GENERIC || COMPILE_TEST)
|
||
|
depends on OF
|
||
|
select PINCTRL_BCM63XX
|
||
|
default BMIPS_GENERIC
|
||
|
help
|
||
|
Say Y here to enable the Broadcom BCM6368 GPIO driver.
|
||
|
|
||
|
config PINCTRL_BCM63268
|
||
|
bool "Broadcom BCM63268 GPIO driver"
|
||
|
depends on (BMIPS_GENERIC || COMPILE_TEST)
|
||
|
depends on OF
|
||
|
select PINCTRL_BCM63XX
|
||
|
default BMIPS_GENERIC
|
||
|
help
|
||
|
Say Y here to enable the Broadcom BCM63268 GPIO driver.
|
||
|
|
||
|
config PINCTRL_IPROC_GPIO
|
||
|
bool "Broadcom iProc GPIO (with PINCONF) driver"
|
||
|
depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST)
|
||
|
select GPIOLIB_IRQCHIP
|
||
|
select PINCONF
|
||
|
select GENERIC_PINCONF
|
||
|
default ARCH_BCM_IPROC
|
||
|
help
|
||
|
Say yes here to enable the Broadcom iProc GPIO driver.
|
||
|
|
||
|
The Broadcom iProc based SoCs- Cygnus, NS2, NSP and Stingray, use
|
||
|
same GPIO Controller IP hence this driver could be used for all.
|
||
|
|
||
|
The Broadcom Cygnus SoC has 3 GPIO controllers including the ASIU
|
||
|
GPIO controller (ASIU), the chipCommonG GPIO controller (CCM), and
|
||
|
the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are
|
||
|
supported by this driver.
|
||
|
|
||
|
The Broadcom NSP has two GPIO controllers including the ChipcommonA
|
||
|
GPIO, the ChipcommonB GPIO. Later controller is supported by this
|
||
|
driver.
|
||
|
|
||
|
The Broadcom NS2 has two GPIO controller including the CRMU GPIO,
|
||
|
the ChipcommonG GPIO. Both controllers are supported by this driver.
|
||
|
|
||
|
The Broadcom Stingray GPIO controllers are supported by this driver.
|
||
|
|
||
|
All above SoCs GPIO controllers support basic PINCONF functions such
|
||
|
as bias pull up, pull down, and drive strength configurations, when
|
||
|
these pins are muxed to GPIO.
|
||
|
|
||
|
It provides the framework where pins from the individual GPIO can be
|
||
|
individually muxed to GPIO function, through interaction with the
|
||
|
SoCs IOMUX controller. This features could be used only on SoCs which
|
||
|
support individual pin muxing.
|
||
|
|
||
|
config PINCTRL_CYGNUS_MUX
|
||
|
bool "Broadcom Cygnus IOMUX driver"
|
||
|
depends on (ARCH_BCM_CYGNUS || COMPILE_TEST)
|
||
|
depends on OF
|
||
|
select PINMUX
|
||
|
select GENERIC_PINCONF
|
||
|
default ARCH_BCM_CYGNUS
|
||
|
help
|
||
|
Say yes here to enable the Broadcom Cygnus IOMUX driver.
|
||
|
|
||
|
The Broadcom Cygnus IOMUX driver supports group based IOMUX
|
||
|
configuration, with the exception that certain individual pins
|
||
|
can be overridden to GPIO function
|
||
|
|
||
|
config PINCTRL_NS
|
||
|
bool "Broadcom Northstar pins driver"
|
||
|
depends on OF && (ARCH_BCM_5301X || COMPILE_TEST)
|
||
|
select PINMUX
|
||
|
select GENERIC_PINCONF
|
||
|
select GENERIC_PINCTRL_GROUPS
|
||
|
select GENERIC_PINMUX_FUNCTIONS
|
||
|
default ARCH_BCM_5301X
|
||
|
help
|
||
|
Say yes here to enable the Broadcom NS SoC pins driver.
|
||
|
|
||
|
The Broadcom Northstar pins driver supports muxing multi-purpose pins
|
||
|
that can be used for various functions (e.g. SPI, I2C, UART) as well
|
||
|
as GPIOs.
|
||
|
|
||
|
config PINCTRL_NSP_GPIO
|
||
|
bool "Broadcom NSP GPIO (with PINCONF) driver"
|
||
|
depends on OF_GPIO && (ARCH_BCM_NSP || COMPILE_TEST)
|
||
|
select GPIOLIB_IRQCHIP
|
||
|
select PINCONF
|
||
|
select GENERIC_PINCONF
|
||
|
default ARCH_BCM_NSP
|
||
|
help
|
||
|
Say yes here to enable the Broadcom NSP GPIO driver.
|
||
|
|
||
|
The Broadcom Northstar Plus SoC ChipcommonA GPIO controller is
|
||
|
supported by this driver.
|
||
|
|
||
|
The ChipcommonA GPIO controller support basic PINCONF functions such
|
||
|
as bias pull up, pull down, and drive strength configurations, when
|
||
|
these pins are muxed to GPIO.
|
||
|
|
||
|
config PINCTRL_NS2_MUX
|
||
|
bool "Broadcom Northstar2 pinmux driver"
|
||
|
depends on OF
|
||
|
depends on ARCH_BCM_IPROC || COMPILE_TEST
|
||
|
select PINMUX
|
||
|
select GENERIC_PINCONF
|
||
|
default ARM64 && ARCH_BCM_IPROC
|
||
|
help
|
||
|
Say yes here to enable the Broadcom NS2 MUX driver.
|
||
|
|
||
|
The Broadcom Northstar2 IOMUX driver supports group based IOMUX
|
||
|
configuration.
|
||
|
|
||
|
config PINCTRL_NSP_MUX
|
||
|
bool "Broadcom NSP IOMUX driver"
|
||
|
depends on (ARCH_BCM_NSP || COMPILE_TEST)
|
||
|
depends on OF
|
||
|
select PINMUX
|
||
|
select GENERIC_PINCONF
|
||
|
default ARCH_BCM_NSP
|
||
|
help
|
||
|
Say yes here to enable the Broadcom NSP SOC IOMUX driver.
|
||
|
|
||
|
The Broadcom Northstar Plus IOMUX driver supports pin based IOMUX
|
||
|
configuration, with certain individual pins can be overridden
|
||
|
to GPIO function.
|