xref: /linux/drivers/pinctrl/bcm/Kconfig (revision ee11f864f18349f01b7be94b8e0328353462b7b0)
1b17f2f9bSRay Jui#
2b17f2f9bSRay Jui# Broadcom pinctrl drivers
3b17f2f9bSRay Jui#
4b17f2f9bSRay Jui
5b17f2f9bSRay Juiconfig PINCTRL_BCM281XX
6b17f2f9bSRay Jui	bool "Broadcom BCM281xx pinctrl driver"
7b17f2f9bSRay Jui	depends on OF && (ARCH_BCM_MOBILE || COMPILE_TEST)
8b17f2f9bSRay Jui	select PINMUX
9b17f2f9bSRay Jui	select PINCONF
10b17f2f9bSRay Jui	select GENERIC_PINCONF
11b17f2f9bSRay Jui	select REGMAP_MMIO
12652da824SFlorian Fainelli	default ARCH_BCM_MOBILE
13b17f2f9bSRay Jui	help
14b17f2f9bSRay Jui	  Say Y here to support Broadcom BCM281xx pinctrl driver, which is used
15b17f2f9bSRay Jui	  for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
16b17f2f9bSRay Jui	  BCM28145, and BCM28155 SoCs.  This driver requires the pinctrl
17b17f2f9bSRay Jui	  framework.  GPIO is provided by a separate GPIO driver.
18b17f2f9bSRay Jui
19b17f2f9bSRay Juiconfig PINCTRL_BCM2835
20*ee11f864SDoug Berger	bool "Broadcom BCM2835 GPIO (with PINCONF) driver"
21*ee11f864SDoug Berger	depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST
22b17f2f9bSRay Jui	select PINMUX
23b17f2f9bSRay Jui	select PINCONF
240de70495SMatheus Castello	select GENERIC_PINCONF
2585ae9e51SLinus Walleij	select GPIOLIB_IRQCHIP
26*ee11f864SDoug Berger	default ARCH_BCM2835 || ARCH_BRCMSTB
27*ee11f864SDoug Berger	help
28*ee11f864SDoug Berger	   Say Y here to enable the Broadcom BCM2835 GPIO driver.
29cbd159edSRay Jui
30616043d5SPramod Kumarconfig PINCTRL_IPROC_GPIO
31616043d5SPramod Kumar	bool "Broadcom iProc GPIO (with PINCONF) driver"
32616043d5SPramod Kumar	depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST)
33b64333ceSRay Jui	select GPIOLIB_IRQCHIP
34b64333ceSRay Jui	select PINCONF
35b64333ceSRay Jui	select GENERIC_PINCONF
36616043d5SPramod Kumar	default ARCH_BCM_IPROC
37b64333ceSRay Jui	help
38616043d5SPramod Kumar	  Say yes here to enable the Broadcom iProc GPIO driver.
39616043d5SPramod Kumar
40616043d5SPramod Kumar	  The Broadcom iProc based SoCs- Cygnus, NS2, NSP and Stingray, use
41616043d5SPramod Kumar	  same GPIO Controller IP hence this driver could be used for all.
42b64333ceSRay Jui
43b64333ceSRay Jui	  The Broadcom Cygnus SoC has 3 GPIO controllers including the ASIU
44b64333ceSRay Jui	  GPIO controller (ASIU), the chipCommonG GPIO controller (CCM), and
45b64333ceSRay Jui	  the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are
46b64333ceSRay Jui	  supported by this driver.
47b64333ceSRay Jui
48616043d5SPramod Kumar	  The Broadcom NSP has two GPIO controllers including the ChipcommonA
49616043d5SPramod Kumar	  GPIO, the ChipcommonB GPIO. Later controller is supported by this
50616043d5SPramod Kumar	  driver.
51616043d5SPramod Kumar
52616043d5SPramod Kumar	  The Broadcom NS2 has two GPIO controller including the CRMU GPIO,
53616043d5SPramod Kumar	  the ChipcommonG GPIO. Both controllers are supported by this driver.
54616043d5SPramod Kumar
55616043d5SPramod Kumar	  The Broadcom Stingray GPIO controllers are supported by this driver.
56616043d5SPramod Kumar
57616043d5SPramod Kumar	  All above SoCs GPIO controllers support basic PINCONF functions such
58b64333ceSRay Jui	  as bias pull up, pull down, and drive strength configurations, when
59b64333ceSRay Jui	  these pins are muxed to GPIO.
60b64333ceSRay Jui
61616043d5SPramod Kumar	  It provides the framework where pins from the individual GPIO can be
62616043d5SPramod Kumar	  individually muxed to GPIO function, through interaction with the
63616043d5SPramod Kumar	  SoCs IOMUX controller. This features could be used only on SoCs which
64616043d5SPramod Kumar	  support individual pin muxing.
65b64333ceSRay Jui
66cbd159edSRay Juiconfig PINCTRL_CYGNUS_MUX
67cbd159edSRay Jui	bool "Broadcom Cygnus IOMUX driver"
68cbd159edSRay Jui	depends on (ARCH_BCM_CYGNUS || COMPILE_TEST)
6953056f59SArnd Bergmann	depends on OF
70cbd159edSRay Jui	select PINMUX
71cbd159edSRay Jui	select GENERIC_PINCONF
72cbd159edSRay Jui	default ARCH_BCM_CYGNUS
73cbd159edSRay Jui	help
74cbd159edSRay Jui	  Say yes here to enable the Broadcom Cygnus IOMUX driver.
75cbd159edSRay Jui
76cbd159edSRay Jui	  The Broadcom Cygnus IOMUX driver supports group based IOMUX
77cbd159edSRay Jui	  configuration, with the exception that certain individual pins
7803671057SMasahiro Yamada	  can be overridden to GPIO function
798bfcbbbcSYendapally Reddy Dhananjaya Reddy
80c12fb177SRafał Miłeckiconfig PINCTRL_NS
81c12fb177SRafał Miłecki	bool "Broadcom Northstar pins driver"
82c12fb177SRafał Miłecki	depends on OF && (ARCH_BCM_5301X || COMPILE_TEST)
83c12fb177SRafał Miłecki	select PINMUX
84c12fb177SRafał Miłecki	select GENERIC_PINCONF
85c12fb177SRafał Miłecki	default ARCH_BCM_5301X
86c12fb177SRafał Miłecki	help
87c12fb177SRafał Miłecki	  Say yes here to enable the Broadcom NS SoC pins driver.
88c12fb177SRafał Miłecki
89c12fb177SRafał Miłecki	  The Broadcom Northstar pins driver supports muxing multi-purpose pins
90c12fb177SRafał Miłecki	  that can be used for various functions (e.g. SPI, I2C, UART) as well
91c12fb177SRafał Miłecki	  as GPIOs.
92c12fb177SRafał Miłecki
938bfcbbbcSYendapally Reddy Dhananjaya Reddyconfig PINCTRL_NSP_GPIO
948bfcbbbcSYendapally Reddy Dhananjaya Reddy	bool "Broadcom NSP GPIO (with PINCONF) driver"
958bfcbbbcSYendapally Reddy Dhananjaya Reddy	depends on OF_GPIO && (ARCH_BCM_NSP || COMPILE_TEST)
968bfcbbbcSYendapally Reddy Dhananjaya Reddy	select GPIOLIB_IRQCHIP
978bfcbbbcSYendapally Reddy Dhananjaya Reddy	select PINCONF
988bfcbbbcSYendapally Reddy Dhananjaya Reddy	select GENERIC_PINCONF
998bfcbbbcSYendapally Reddy Dhananjaya Reddy	default ARCH_BCM_NSP
1008bfcbbbcSYendapally Reddy Dhananjaya Reddy	help
1018bfcbbbcSYendapally Reddy Dhananjaya Reddy	  Say yes here to enable the Broadcom NSP GPIO driver.
1028bfcbbbcSYendapally Reddy Dhananjaya Reddy
1038bfcbbbcSYendapally Reddy Dhananjaya Reddy	  The Broadcom Northstar Plus SoC ChipcommonA GPIO controller is
1048bfcbbbcSYendapally Reddy Dhananjaya Reddy	  supported by this driver.
1058bfcbbbcSYendapally Reddy Dhananjaya Reddy
1068bfcbbbcSYendapally Reddy Dhananjaya Reddy	  The ChipcommonA GPIO controller support basic PINCONF functions such
1078bfcbbbcSYendapally Reddy Dhananjaya Reddy	  as bias pull up, pull down, and drive strength configurations, when
1088bfcbbbcSYendapally Reddy Dhananjaya Reddy	  these pins are muxed to GPIO.
109b5aa1006SYendapally Reddy Dhananjaya Reddy
110b5aa1006SYendapally Reddy Dhananjaya Reddyconfig PINCTRL_NS2_MUX
111b5aa1006SYendapally Reddy Dhananjaya Reddy	bool "Broadcom Northstar2 pinmux driver"
112b5aa1006SYendapally Reddy Dhananjaya Reddy	depends on OF
113b5aa1006SYendapally Reddy Dhananjaya Reddy	depends on ARCH_BCM_IPROC || COMPILE_TEST
114b5aa1006SYendapally Reddy Dhananjaya Reddy	select PINMUX
115b5aa1006SYendapally Reddy Dhananjaya Reddy	select GENERIC_PINCONF
116b5aa1006SYendapally Reddy Dhananjaya Reddy	default ARM64 && ARCH_BCM_IPROC
117b5aa1006SYendapally Reddy Dhananjaya Reddy	help
118b5aa1006SYendapally Reddy Dhananjaya Reddy	  Say yes here to enable the Broadcom NS2 MUX driver.
119b5aa1006SYendapally Reddy Dhananjaya Reddy
120b5aa1006SYendapally Reddy Dhananjaya Reddy	  The Broadcom Northstar2 IOMUX driver supports group based IOMUX
121b5aa1006SYendapally Reddy Dhananjaya Reddy	  configuration.
122cc4fa83fSYendapally Reddy Dhananjaya Reddy
123cc4fa83fSYendapally Reddy Dhananjaya Reddyconfig PINCTRL_NSP_MUX
124cc4fa83fSYendapally Reddy Dhananjaya Reddy	bool "Broadcom NSP IOMUX driver"
125cc4fa83fSYendapally Reddy Dhananjaya Reddy	depends on (ARCH_BCM_NSP || COMPILE_TEST)
12653056f59SArnd Bergmann	depends on OF
127cc4fa83fSYendapally Reddy Dhananjaya Reddy	select PINMUX
128cc4fa83fSYendapally Reddy Dhananjaya Reddy	select GENERIC_PINCONF
129cc4fa83fSYendapally Reddy Dhananjaya Reddy	default ARCH_BCM_NSP
130cc4fa83fSYendapally Reddy Dhananjaya Reddy	help
131cc4fa83fSYendapally Reddy Dhananjaya Reddy	  Say yes here to enable the Broadcom NSP SOC IOMUX driver.
132cc4fa83fSYendapally Reddy Dhananjaya Reddy
133cc4fa83fSYendapally Reddy Dhananjaya Reddy	  The Broadcom Northstar Plus IOMUX driver supports pin based IOMUX
134cc4fa83fSYendapally Reddy Dhananjaya Reddy	  configuration, with certain individual pins can be overridden
135cc4fa83fSYendapally Reddy Dhananjaya Reddy	  to GPIO function.
136