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