Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
b17f2f9b RJ |
2 | # |
3 | # Broadcom pinctrl drivers | |
4 | # | |
5 | ||
6 | config 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 | |
652da824 | 13 | default ARCH_BCM_MOBILE |
b17f2f9b RJ |
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 | ||
20 | config PINCTRL_BCM2835 | |
4434f4c5 | 21 | tristate "Broadcom BCM2835 GPIO (with PINCONF) driver" |
138f79db | 22 | depends on OF && (ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST) |
b17f2f9b RJ |
23 | select PINMUX |
24 | select PINCONF | |
0de70495 | 25 | select GENERIC_PINCONF |
513034d8 | 26 | select GPIOLIB |
85ae9e51 | 27 | select GPIOLIB_IRQCHIP |
ee11f864 DB |
28 | default ARCH_BCM2835 || ARCH_BRCMSTB |
29 | help | |
30 | Say Y here to enable the Broadcom BCM2835 GPIO driver. | |
cbd159ed | 31 | |
f7e322d9 RM |
32 | config PINCTRL_BCM4908 |
33 | tristate "Broadcom BCM4908 pinmux driver" | |
7bb49d77 | 34 | depends on OF && (ARCH_BCMBCA || COMPILE_TEST) |
f7e322d9 RM |
35 | select PINMUX |
36 | select PINCONF | |
37 | select GENERIC_PINCONF | |
38 | select GENERIC_PINCTRL_GROUPS | |
39 | select GENERIC_PINMUX_FUNCTIONS | |
7bb49d77 | 40 | default ARCH_BCMBCA |
f7e322d9 RM |
41 | help |
42 | Driver for BCM4908 family SoCs with integrated pin controller. | |
43 | ||
44 | If compiled as module it will be called pinctrl-bcm4908. | |
45 | ||
132f9501 ÁFR |
46 | config PINCTRL_BCM63XX |
47 | bool | |
26ea7ac9 LW |
48 | select PINMUX |
49 | select PINCONF | |
132f9501 | 50 | select GENERIC_PINCONF |
26ea7ac9 | 51 | select GPIOLIB |
3a528695 | 52 | select REGMAP |
132f9501 | 53 | select GPIO_REGMAP |
132f9501 | 54 | |
d28039fc ÁFR |
55 | config PINCTRL_BCM6318 |
56 | bool "Broadcom BCM6318 GPIO driver" | |
57 | depends on (BMIPS_GENERIC || COMPILE_TEST) | |
da35b19d | 58 | depends on OF |
d28039fc ÁFR |
59 | select PINCTRL_BCM63XX |
60 | default BMIPS_GENERIC | |
61 | help | |
62 | Say Y here to enable the Broadcom BCM6318 GPIO driver. | |
63 | ||
9bf34ac5 ÁFR |
64 | config PINCTRL_BCM6328 |
65 | bool "Broadcom BCM6328 GPIO driver" | |
66 | depends on (BMIPS_GENERIC || COMPILE_TEST) | |
da35b19d | 67 | depends on OF |
9bf34ac5 ÁFR |
68 | select PINCTRL_BCM63XX |
69 | default BMIPS_GENERIC | |
70 | help | |
71 | Say Y here to enable the Broadcom BCM6328 GPIO driver. | |
72 | ||
9494b169 ÁFR |
73 | config PINCTRL_BCM6358 |
74 | bool "Broadcom BCM6358 GPIO driver" | |
75 | depends on (BMIPS_GENERIC || COMPILE_TEST) | |
da35b19d | 76 | depends on OF |
9494b169 ÁFR |
77 | select PINCTRL_BCM63XX |
78 | default BMIPS_GENERIC | |
79 | help | |
80 | Say Y here to enable the Broadcom BCM6358 GPIO driver. | |
81 | ||
705791e2 ÁFR |
82 | config PINCTRL_BCM6362 |
83 | bool "Broadcom BCM6362 GPIO driver" | |
84 | depends on (BMIPS_GENERIC || COMPILE_TEST) | |
da35b19d | 85 | depends on OF |
705791e2 ÁFR |
86 | select PINCTRL_BCM63XX |
87 | default BMIPS_GENERIC | |
88 | help | |
89 | Say Y here to enable the Broadcom BCM6362 GPIO driver. | |
90 | ||
50554acc ÁFR |
91 | config PINCTRL_BCM6368 |
92 | bool "Broadcom BCM6368 GPIO driver" | |
93 | depends on (BMIPS_GENERIC || COMPILE_TEST) | |
da35b19d | 94 | depends on OF |
50554acc ÁFR |
95 | select PINCTRL_BCM63XX |
96 | default BMIPS_GENERIC | |
97 | help | |
98 | Say Y here to enable the Broadcom BCM6368 GPIO driver. | |
99 | ||
155cca1b ÁFR |
100 | config PINCTRL_BCM63268 |
101 | bool "Broadcom BCM63268 GPIO driver" | |
102 | depends on (BMIPS_GENERIC || COMPILE_TEST) | |
da35b19d | 103 | depends on OF |
155cca1b ÁFR |
104 | select PINCTRL_BCM63XX |
105 | default BMIPS_GENERIC | |
106 | help | |
107 | Say Y here to enable the Broadcom BCM63268 GPIO driver. | |
108 | ||
616043d5 PK |
109 | config PINCTRL_IPROC_GPIO |
110 | bool "Broadcom iProc GPIO (with PINCONF) driver" | |
111 | depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST) | |
b64333ce RJ |
112 | select GPIOLIB_IRQCHIP |
113 | select PINCONF | |
114 | select GENERIC_PINCONF | |
616043d5 | 115 | default ARCH_BCM_IPROC |
b64333ce | 116 | help |
616043d5 PK |
117 | Say yes here to enable the Broadcom iProc GPIO driver. |
118 | ||
119 | The Broadcom iProc based SoCs- Cygnus, NS2, NSP and Stingray, use | |
120 | same GPIO Controller IP hence this driver could be used for all. | |
b64333ce RJ |
121 | |
122 | The Broadcom Cygnus SoC has 3 GPIO controllers including the ASIU | |
123 | GPIO controller (ASIU), the chipCommonG GPIO controller (CCM), and | |
124 | the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are | |
125 | supported by this driver. | |
126 | ||
616043d5 PK |
127 | The Broadcom NSP has two GPIO controllers including the ChipcommonA |
128 | GPIO, the ChipcommonB GPIO. Later controller is supported by this | |
129 | driver. | |
130 | ||
131 | The Broadcom NS2 has two GPIO controller including the CRMU GPIO, | |
132 | the ChipcommonG GPIO. Both controllers are supported by this driver. | |
133 | ||
134 | The Broadcom Stingray GPIO controllers are supported by this driver. | |
135 | ||
136 | All above SoCs GPIO controllers support basic PINCONF functions such | |
b64333ce RJ |
137 | as bias pull up, pull down, and drive strength configurations, when |
138 | these pins are muxed to GPIO. | |
139 | ||
616043d5 PK |
140 | It provides the framework where pins from the individual GPIO can be |
141 | individually muxed to GPIO function, through interaction with the | |
142 | SoCs IOMUX controller. This features could be used only on SoCs which | |
143 | support individual pin muxing. | |
b64333ce | 144 | |
cbd159ed RJ |
145 | config PINCTRL_CYGNUS_MUX |
146 | bool "Broadcom Cygnus IOMUX driver" | |
147 | depends on (ARCH_BCM_CYGNUS || COMPILE_TEST) | |
53056f59 | 148 | depends on OF |
cbd159ed RJ |
149 | select PINMUX |
150 | select GENERIC_PINCONF | |
151 | default ARCH_BCM_CYGNUS | |
152 | help | |
153 | Say yes here to enable the Broadcom Cygnus IOMUX driver. | |
154 | ||
155 | The Broadcom Cygnus IOMUX driver supports group based IOMUX | |
156 | configuration, with the exception that certain individual pins | |
03671057 | 157 | can be overridden to GPIO function |
8bfcbbbc | 158 | |
c12fb177 RM |
159 | config PINCTRL_NS |
160 | bool "Broadcom Northstar pins driver" | |
161 | depends on OF && (ARCH_BCM_5301X || COMPILE_TEST) | |
162 | select PINMUX | |
163 | select GENERIC_PINCONF | |
4b1643cb RM |
164 | select GENERIC_PINCTRL_GROUPS |
165 | select GENERIC_PINMUX_FUNCTIONS | |
c12fb177 RM |
166 | default ARCH_BCM_5301X |
167 | help | |
168 | Say yes here to enable the Broadcom NS SoC pins driver. | |
169 | ||
170 | The Broadcom Northstar pins driver supports muxing multi-purpose pins | |
171 | that can be used for various functions (e.g. SPI, I2C, UART) as well | |
172 | as GPIOs. | |
173 | ||
8bfcbbbc YRDR |
174 | config PINCTRL_NSP_GPIO |
175 | bool "Broadcom NSP GPIO (with PINCONF) driver" | |
176 | depends on OF_GPIO && (ARCH_BCM_NSP || COMPILE_TEST) | |
177 | select GPIOLIB_IRQCHIP | |
178 | select PINCONF | |
179 | select GENERIC_PINCONF | |
180 | default ARCH_BCM_NSP | |
181 | help | |
182 | Say yes here to enable the Broadcom NSP GPIO driver. | |
183 | ||
184 | The Broadcom Northstar Plus SoC ChipcommonA GPIO controller is | |
185 | supported by this driver. | |
186 | ||
187 | The ChipcommonA GPIO controller support basic PINCONF functions such | |
188 | as bias pull up, pull down, and drive strength configurations, when | |
189 | these pins are muxed to GPIO. | |
b5aa1006 YRDR |
190 | |
191 | config PINCTRL_NS2_MUX | |
192 | bool "Broadcom Northstar2 pinmux driver" | |
193 | depends on OF | |
194 | depends on ARCH_BCM_IPROC || COMPILE_TEST | |
195 | select PINMUX | |
196 | select GENERIC_PINCONF | |
197 | default ARM64 && ARCH_BCM_IPROC | |
198 | help | |
199 | Say yes here to enable the Broadcom NS2 MUX driver. | |
200 | ||
201 | The Broadcom Northstar2 IOMUX driver supports group based IOMUX | |
202 | configuration. | |
cc4fa83f YRDR |
203 | |
204 | config PINCTRL_NSP_MUX | |
205 | bool "Broadcom NSP IOMUX driver" | |
206 | depends on (ARCH_BCM_NSP || COMPILE_TEST) | |
53056f59 | 207 | depends on OF |
cc4fa83f YRDR |
208 | select PINMUX |
209 | select GENERIC_PINCONF | |
210 | default ARCH_BCM_NSP | |
211 | help | |
212 | Say yes here to enable the Broadcom NSP SOC IOMUX driver. | |
213 | ||
214 | The Broadcom Northstar Plus IOMUX driver supports pin based IOMUX | |
215 | configuration, with certain individual pins can be overridden | |
216 | to GPIO function. |