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