xref: /linux/drivers/pinctrl/bcm/Kconfig (revision 155cca1b0794a8f541e7eaa45be70df0a49964f3)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Broadcom pinctrl drivers
4#
5
6config PINCTRL_BCM281XX
7	bool "Broadcom BCM281xx pinctrl driver"
8	depends on OF && (ARCH_BCM_MOBILE || COMPILE_TEST)
9	select PINMUX
10	select PINCONF
11	select GENERIC_PINCONF
12	select REGMAP_MMIO
13	default ARCH_BCM_MOBILE
14	help
15	  Say Y here to support Broadcom BCM281xx pinctrl driver, which is used
16	  for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
17	  BCM28145, and BCM28155 SoCs.  This driver requires the pinctrl
18	  framework.  GPIO is provided by a separate GPIO driver.
19
20config PINCTRL_BCM2835
21	bool "Broadcom BCM2835 GPIO (with PINCONF) driver"
22	depends on OF && (ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST)
23	select PINMUX
24	select PINCONF
25	select GENERIC_PINCONF
26	select GPIOLIB
27	select GPIOLIB_IRQCHIP
28	default ARCH_BCM2835 || ARCH_BRCMSTB
29	help
30	   Say Y here to enable the Broadcom BCM2835 GPIO driver.
31
32config PINCTRL_BCM63XX
33	bool
34	select GENERIC_PINCONF
35	select GPIO_REGMAP
36	select PINCONF
37	select PINMUX
38
39config PINCTRL_BCM6328
40	bool "Broadcom BCM6328 GPIO driver"
41	depends on (BMIPS_GENERIC || COMPILE_TEST)
42	select PINCTRL_BCM63XX
43	default BMIPS_GENERIC
44	help
45	   Say Y here to enable the Broadcom BCM6328 GPIO driver.
46
47config PINCTRL_BCM6358
48	bool "Broadcom BCM6358 GPIO driver"
49	depends on (BMIPS_GENERIC || COMPILE_TEST)
50	select PINCTRL_BCM63XX
51	default BMIPS_GENERIC
52	help
53	   Say Y here to enable the Broadcom BCM6358 GPIO driver.
54
55config PINCTRL_BCM6362
56	bool "Broadcom BCM6362 GPIO driver"
57	depends on (BMIPS_GENERIC || COMPILE_TEST)
58	select PINCTRL_BCM63XX
59	default BMIPS_GENERIC
60	help
61	   Say Y here to enable the Broadcom BCM6362 GPIO driver.
62
63config PINCTRL_BCM6368
64	bool "Broadcom BCM6368 GPIO driver"
65	depends on (BMIPS_GENERIC || COMPILE_TEST)
66	select PINCTRL_BCM63XX
67	default BMIPS_GENERIC
68	help
69	   Say Y here to enable the Broadcom BCM6368 GPIO driver.
70
71config PINCTRL_BCM63268
72	bool "Broadcom BCM63268 GPIO driver"
73	depends on (BMIPS_GENERIC || COMPILE_TEST)
74	select PINCTRL_BCM63XX
75	default BMIPS_GENERIC
76	help
77	   Say Y here to enable the Broadcom BCM63268 GPIO driver.
78
79config PINCTRL_IPROC_GPIO
80	bool "Broadcom iProc GPIO (with PINCONF) driver"
81	depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST)
82	select GPIOLIB_IRQCHIP
83	select PINCONF
84	select GENERIC_PINCONF
85	default ARCH_BCM_IPROC
86	help
87	  Say yes here to enable the Broadcom iProc GPIO driver.
88
89	  The Broadcom iProc based SoCs- Cygnus, NS2, NSP and Stingray, use
90	  same GPIO Controller IP hence this driver could be used for all.
91
92	  The Broadcom Cygnus SoC has 3 GPIO controllers including the ASIU
93	  GPIO controller (ASIU), the chipCommonG GPIO controller (CCM), and
94	  the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are
95	  supported by this driver.
96
97	  The Broadcom NSP has two GPIO controllers including the ChipcommonA
98	  GPIO, the ChipcommonB GPIO. Later controller is supported by this
99	  driver.
100
101	  The Broadcom NS2 has two GPIO controller including the CRMU GPIO,
102	  the ChipcommonG GPIO. Both controllers are supported by this driver.
103
104	  The Broadcom Stingray GPIO controllers are supported by this driver.
105
106	  All above SoCs GPIO controllers support basic PINCONF functions such
107	  as bias pull up, pull down, and drive strength configurations, when
108	  these pins are muxed to GPIO.
109
110	  It provides the framework where pins from the individual GPIO can be
111	  individually muxed to GPIO function, through interaction with the
112	  SoCs IOMUX controller. This features could be used only on SoCs which
113	  support individual pin muxing.
114
115config PINCTRL_CYGNUS_MUX
116	bool "Broadcom Cygnus IOMUX driver"
117	depends on (ARCH_BCM_CYGNUS || COMPILE_TEST)
118	depends on OF
119	select PINMUX
120	select GENERIC_PINCONF
121	default ARCH_BCM_CYGNUS
122	help
123	  Say yes here to enable the Broadcom Cygnus IOMUX driver.
124
125	  The Broadcom Cygnus IOMUX driver supports group based IOMUX
126	  configuration, with the exception that certain individual pins
127	  can be overridden to GPIO function
128
129config PINCTRL_NS
130	bool "Broadcom Northstar pins driver"
131	depends on OF && (ARCH_BCM_5301X || COMPILE_TEST)
132	select PINMUX
133	select GENERIC_PINCONF
134	default ARCH_BCM_5301X
135	help
136	  Say yes here to enable the Broadcom NS SoC pins driver.
137
138	  The Broadcom Northstar pins driver supports muxing multi-purpose pins
139	  that can be used for various functions (e.g. SPI, I2C, UART) as well
140	  as GPIOs.
141
142config PINCTRL_NSP_GPIO
143	bool "Broadcom NSP GPIO (with PINCONF) driver"
144	depends on OF_GPIO && (ARCH_BCM_NSP || COMPILE_TEST)
145	select GPIOLIB_IRQCHIP
146	select PINCONF
147	select GENERIC_PINCONF
148	default ARCH_BCM_NSP
149	help
150	  Say yes here to enable the Broadcom NSP GPIO driver.
151
152	  The Broadcom Northstar Plus SoC ChipcommonA GPIO controller is
153	  supported by this driver.
154
155	  The ChipcommonA GPIO controller support basic PINCONF functions such
156	  as bias pull up, pull down, and drive strength configurations, when
157	  these pins are muxed to GPIO.
158
159config PINCTRL_NS2_MUX
160	bool "Broadcom Northstar2 pinmux driver"
161	depends on OF
162	depends on ARCH_BCM_IPROC || COMPILE_TEST
163	select PINMUX
164	select GENERIC_PINCONF
165	default ARM64 && ARCH_BCM_IPROC
166	help
167	  Say yes here to enable the Broadcom NS2 MUX driver.
168
169	  The Broadcom Northstar2 IOMUX driver supports group based IOMUX
170	  configuration.
171
172config PINCTRL_NSP_MUX
173	bool "Broadcom NSP IOMUX driver"
174	depends on (ARCH_BCM_NSP || COMPILE_TEST)
175	depends on OF
176	select PINMUX
177	select GENERIC_PINCONF
178	default ARCH_BCM_NSP
179	help
180	  Say yes here to enable the Broadcom NSP SOC IOMUX driver.
181
182	  The Broadcom Northstar Plus IOMUX driver supports pin based IOMUX
183	  configuration, with certain individual pins can be overridden
184	  to GPIO function.
185