1 // SPDX-License-Identifier: GPL-2.0+
2 //
3 // Copyright (C) 2015-2017 Socionext Inc.
4 //   Author: Masahiro Yamada <yamada.masahiro@socionext.com>
5 
6 #include <linux/kernel.h>
7 #include <linux/init.h>
8 #include <linux/mod_devicetable.h>
9 #include <linux/pinctrl/pinctrl.h>
10 #include <linux/platform_device.h>
11 
12 #include "pinctrl-uniphier.h"
13 
14 static const struct pinctrl_pin_desc uniphier_ld6b_pins[] = {
15 	UNIPHIER_PINCTRL_PIN(0, "ED0", UNIPHIER_PIN_IECTRL_NONE,
16 			     0, UNIPHIER_PIN_DRV_1BIT,
17 			     0, UNIPHIER_PIN_PULL_DOWN),
18 	UNIPHIER_PINCTRL_PIN(1, "ED1", UNIPHIER_PIN_IECTRL_NONE,
19 			     1, UNIPHIER_PIN_DRV_1BIT,
20 			     1, UNIPHIER_PIN_PULL_DOWN),
21 	UNIPHIER_PINCTRL_PIN(2, "ED2", UNIPHIER_PIN_IECTRL_NONE,
22 			     2, UNIPHIER_PIN_DRV_1BIT,
23 			     2, UNIPHIER_PIN_PULL_DOWN),
24 	UNIPHIER_PINCTRL_PIN(3, "ED3", UNIPHIER_PIN_IECTRL_NONE,
25 			     3, UNIPHIER_PIN_DRV_1BIT,
26 			     3, UNIPHIER_PIN_PULL_DOWN),
27 	UNIPHIER_PINCTRL_PIN(4, "ED4", UNIPHIER_PIN_IECTRL_NONE,
28 			     4, UNIPHIER_PIN_DRV_1BIT,
29 			     4, UNIPHIER_PIN_PULL_DOWN),
30 	UNIPHIER_PINCTRL_PIN(5, "ED5", UNIPHIER_PIN_IECTRL_NONE,
31 			     5, UNIPHIER_PIN_DRV_1BIT,
32 			     5, UNIPHIER_PIN_PULL_DOWN),
33 	UNIPHIER_PINCTRL_PIN(6, "ED6", UNIPHIER_PIN_IECTRL_NONE,
34 			     6, UNIPHIER_PIN_DRV_1BIT,
35 			     6, UNIPHIER_PIN_PULL_DOWN),
36 	UNIPHIER_PINCTRL_PIN(7, "ED7", UNIPHIER_PIN_IECTRL_NONE,
37 			     7, UNIPHIER_PIN_DRV_1BIT,
38 			     7, UNIPHIER_PIN_PULL_DOWN),
39 	UNIPHIER_PINCTRL_PIN(8, "XERWE0", UNIPHIER_PIN_IECTRL_NONE,
40 			     8, UNIPHIER_PIN_DRV_1BIT,
41 			     8, UNIPHIER_PIN_PULL_DOWN),
42 	UNIPHIER_PINCTRL_PIN(9, "XERWE1", UNIPHIER_PIN_IECTRL_NONE,
43 			     9, UNIPHIER_PIN_DRV_1BIT,
44 			     9, UNIPHIER_PIN_PULL_DOWN),
45 	UNIPHIER_PINCTRL_PIN(10, "ERXW", UNIPHIER_PIN_IECTRL_NONE,
46 			     10, UNIPHIER_PIN_DRV_1BIT,
47 			     10, UNIPHIER_PIN_PULL_DOWN),
48 	UNIPHIER_PINCTRL_PIN(11, "ES0", UNIPHIER_PIN_IECTRL_NONE,
49 			     11, UNIPHIER_PIN_DRV_1BIT,
50 			     11, UNIPHIER_PIN_PULL_DOWN),
51 	UNIPHIER_PINCTRL_PIN(12, "ES1", UNIPHIER_PIN_IECTRL_NONE,
52 			     12, UNIPHIER_PIN_DRV_1BIT,
53 			     12, UNIPHIER_PIN_PULL_DOWN),
54 	UNIPHIER_PINCTRL_PIN(13, "ES2", UNIPHIER_PIN_IECTRL_NONE,
55 			     13, UNIPHIER_PIN_DRV_1BIT,
56 			     13, UNIPHIER_PIN_PULL_DOWN),
57 	UNIPHIER_PINCTRL_PIN(14, "XECS1", UNIPHIER_PIN_IECTRL_NONE,
58 			     14, UNIPHIER_PIN_DRV_1BIT,
59 			     14, UNIPHIER_PIN_PULL_DOWN),
60 	UNIPHIER_PINCTRL_PIN(15, "PCA00", UNIPHIER_PIN_IECTRL_NONE,
61 			     -1, UNIPHIER_PIN_DRV_FIXED8,
62 			     15, UNIPHIER_PIN_PULL_DOWN),
63 	UNIPHIER_PINCTRL_PIN(16, "PCA01", UNIPHIER_PIN_IECTRL_NONE,
64 			     -1, UNIPHIER_PIN_DRV_FIXED8,
65 			     16, UNIPHIER_PIN_PULL_DOWN),
66 	UNIPHIER_PINCTRL_PIN(17, "PCA02", UNIPHIER_PIN_IECTRL_NONE,
67 			     -1, UNIPHIER_PIN_DRV_FIXED8,
68 			     17, UNIPHIER_PIN_PULL_DOWN),
69 	UNIPHIER_PINCTRL_PIN(18, "PCA03", UNIPHIER_PIN_IECTRL_NONE,
70 			     -1, UNIPHIER_PIN_DRV_FIXED8,
71 			     18, UNIPHIER_PIN_PULL_DOWN),
72 	UNIPHIER_PINCTRL_PIN(19, "PCA04", UNIPHIER_PIN_IECTRL_NONE,
73 			     -1, UNIPHIER_PIN_DRV_FIXED8,
74 			     19, UNIPHIER_PIN_PULL_DOWN),
75 	UNIPHIER_PINCTRL_PIN(20, "PCA05", UNIPHIER_PIN_IECTRL_NONE,
76 			     -1, UNIPHIER_PIN_DRV_FIXED8,
77 			     20, UNIPHIER_PIN_PULL_DOWN),
78 	UNIPHIER_PINCTRL_PIN(21, "PCA06", UNIPHIER_PIN_IECTRL_NONE,
79 			     -1, UNIPHIER_PIN_DRV_FIXED8,
80 			     21, UNIPHIER_PIN_PULL_DOWN),
81 	UNIPHIER_PINCTRL_PIN(22, "PCA07", UNIPHIER_PIN_IECTRL_NONE,
82 			     -1, UNIPHIER_PIN_DRV_FIXED8,
83 			     22, UNIPHIER_PIN_PULL_DOWN),
84 	UNIPHIER_PINCTRL_PIN(23, "PCA08", UNIPHIER_PIN_IECTRL_NONE,
85 			     -1, UNIPHIER_PIN_DRV_FIXED8,
86 			     23, UNIPHIER_PIN_PULL_DOWN),
87 	UNIPHIER_PINCTRL_PIN(24, "PCA09", UNIPHIER_PIN_IECTRL_NONE,
88 			     -1, UNIPHIER_PIN_DRV_FIXED8,
89 			     24, UNIPHIER_PIN_PULL_DOWN),
90 	UNIPHIER_PINCTRL_PIN(25, "PCA10", UNIPHIER_PIN_IECTRL_NONE,
91 			     -1, UNIPHIER_PIN_DRV_FIXED8,
92 			     25, UNIPHIER_PIN_PULL_DOWN),
93 	UNIPHIER_PINCTRL_PIN(26, "PCA11", UNIPHIER_PIN_IECTRL_NONE,
94 			     -1, UNIPHIER_PIN_DRV_FIXED8,
95 			     26, UNIPHIER_PIN_PULL_DOWN),
96 	UNIPHIER_PINCTRL_PIN(27, "PCA12", UNIPHIER_PIN_IECTRL_NONE,
97 			     -1, UNIPHIER_PIN_DRV_FIXED8,
98 			     27, UNIPHIER_PIN_PULL_DOWN),
99 	UNIPHIER_PINCTRL_PIN(28, "PCA13", UNIPHIER_PIN_IECTRL_NONE,
100 			     -1, UNIPHIER_PIN_DRV_FIXED8,
101 			     28, UNIPHIER_PIN_PULL_DOWN),
102 	UNIPHIER_PINCTRL_PIN(29, "PCA14", UNIPHIER_PIN_IECTRL_NONE,
103 			     -1, UNIPHIER_PIN_DRV_FIXED8,
104 			     29, UNIPHIER_PIN_PULL_DOWN),
105 	UNIPHIER_PINCTRL_PIN(30, "XNFRE", UNIPHIER_PIN_IECTRL_NONE,
106 			     30, UNIPHIER_PIN_DRV_1BIT,
107 			     30, UNIPHIER_PIN_PULL_UP),
108 	UNIPHIER_PINCTRL_PIN(31, "XNFWE", UNIPHIER_PIN_IECTRL_NONE,
109 			     31, UNIPHIER_PIN_DRV_1BIT,
110 			     31, UNIPHIER_PIN_PULL_UP),
111 	UNIPHIER_PINCTRL_PIN(32, "NFALE", UNIPHIER_PIN_IECTRL_NONE,
112 			     32, UNIPHIER_PIN_DRV_1BIT,
113 			     32, UNIPHIER_PIN_PULL_DOWN),
114 	UNIPHIER_PINCTRL_PIN(33, "NFCLE", UNIPHIER_PIN_IECTRL_NONE,
115 			     33, UNIPHIER_PIN_DRV_1BIT,
116 			     33, UNIPHIER_PIN_PULL_DOWN),
117 	UNIPHIER_PINCTRL_PIN(34, "XNFWP", UNIPHIER_PIN_IECTRL_NONE,
118 			     34, UNIPHIER_PIN_DRV_1BIT,
119 			     34, UNIPHIER_PIN_PULL_DOWN),
120 	UNIPHIER_PINCTRL_PIN(35, "XNFCE0", UNIPHIER_PIN_IECTRL_NONE,
121 			     35, UNIPHIER_PIN_DRV_1BIT,
122 			     35, UNIPHIER_PIN_PULL_UP),
123 	UNIPHIER_PINCTRL_PIN(36, "NFRYBY0", UNIPHIER_PIN_IECTRL_NONE,
124 			     36, UNIPHIER_PIN_DRV_1BIT,
125 			     36, UNIPHIER_PIN_PULL_UP),
126 	UNIPHIER_PINCTRL_PIN(37, "XNFCE1", UNIPHIER_PIN_IECTRL_NONE,
127 			     37, UNIPHIER_PIN_DRV_1BIT,
128 			     37, UNIPHIER_PIN_PULL_UP),
129 	UNIPHIER_PINCTRL_PIN(38, "NFRYBY1", UNIPHIER_PIN_IECTRL_NONE,
130 			     38, UNIPHIER_PIN_DRV_1BIT,
131 			     38, UNIPHIER_PIN_PULL_UP),
132 	UNIPHIER_PINCTRL_PIN(39, "NFD0", UNIPHIER_PIN_IECTRL_NONE,
133 			     39, UNIPHIER_PIN_DRV_1BIT,
134 			     39, UNIPHIER_PIN_PULL_DOWN),
135 	UNIPHIER_PINCTRL_PIN(40, "NFD1", UNIPHIER_PIN_IECTRL_NONE,
136 			     40, UNIPHIER_PIN_DRV_1BIT,
137 			     40, UNIPHIER_PIN_PULL_DOWN),
138 	UNIPHIER_PINCTRL_PIN(41, "NFD2", UNIPHIER_PIN_IECTRL_NONE,
139 			     41, UNIPHIER_PIN_DRV_1BIT,
140 			     41, UNIPHIER_PIN_PULL_DOWN),
141 	UNIPHIER_PINCTRL_PIN(42, "NFD3", UNIPHIER_PIN_IECTRL_NONE,
142 			     42, UNIPHIER_PIN_DRV_1BIT,
143 			     42, UNIPHIER_PIN_PULL_DOWN),
144 	UNIPHIER_PINCTRL_PIN(43, "NFD4", UNIPHIER_PIN_IECTRL_NONE,
145 			     43, UNIPHIER_PIN_DRV_1BIT,
146 			     43, UNIPHIER_PIN_PULL_DOWN),
147 	UNIPHIER_PINCTRL_PIN(44, "NFD5", UNIPHIER_PIN_IECTRL_NONE,
148 			     44, UNIPHIER_PIN_DRV_1BIT,
149 			     44, UNIPHIER_PIN_PULL_DOWN),
150 	UNIPHIER_PINCTRL_PIN(45, "NFD6", UNIPHIER_PIN_IECTRL_NONE,
151 			     45, UNIPHIER_PIN_DRV_1BIT,
152 			     45, UNIPHIER_PIN_PULL_DOWN),
153 	UNIPHIER_PINCTRL_PIN(46, "NFD7", UNIPHIER_PIN_IECTRL_NONE,
154 			     46, UNIPHIER_PIN_DRV_1BIT,
155 			     46, UNIPHIER_PIN_PULL_DOWN),
156 	UNIPHIER_PINCTRL_PIN(47, "SDCLK", UNIPHIER_PIN_IECTRL_NONE,
157 			     0, UNIPHIER_PIN_DRV_2BIT,
158 			     -1, UNIPHIER_PIN_PULL_UP_FIXED),
159 	UNIPHIER_PINCTRL_PIN(48, "SDCMD", UNIPHIER_PIN_IECTRL_NONE,
160 			     1, UNIPHIER_PIN_DRV_2BIT,
161 			     -1, UNIPHIER_PIN_PULL_UP_FIXED),
162 	UNIPHIER_PINCTRL_PIN(49, "SDDAT0", UNIPHIER_PIN_IECTRL_NONE,
163 			     2, UNIPHIER_PIN_DRV_2BIT,
164 			     -1, UNIPHIER_PIN_PULL_UP_FIXED),
165 	UNIPHIER_PINCTRL_PIN(50, "SDDAT1", UNIPHIER_PIN_IECTRL_NONE,
166 			     3, UNIPHIER_PIN_DRV_2BIT,
167 			     -1, UNIPHIER_PIN_PULL_UP_FIXED),
168 	UNIPHIER_PINCTRL_PIN(51, "SDDAT2", UNIPHIER_PIN_IECTRL_NONE,
169 			     4, UNIPHIER_PIN_DRV_2BIT,
170 			     -1, UNIPHIER_PIN_PULL_UP_FIXED),
171 	UNIPHIER_PINCTRL_PIN(52, "SDDAT3", UNIPHIER_PIN_IECTRL_NONE,
172 			     5, UNIPHIER_PIN_DRV_2BIT,
173 			     -1, UNIPHIER_PIN_PULL_UP_FIXED),
174 	UNIPHIER_PINCTRL_PIN(53, "SDCD", UNIPHIER_PIN_IECTRL_NONE,
175 			     -1, UNIPHIER_PIN_DRV_FIXED8,
176 			     53, UNIPHIER_PIN_PULL_DOWN),
177 	UNIPHIER_PINCTRL_PIN(54, "SDWP", UNIPHIER_PIN_IECTRL_NONE,
178 			     -1, UNIPHIER_PIN_DRV_FIXED8,
179 			     54, UNIPHIER_PIN_PULL_DOWN),
180 	UNIPHIER_PINCTRL_PIN(55, "SDVOLC", UNIPHIER_PIN_IECTRL_NONE,
181 			     -1, UNIPHIER_PIN_DRV_FIXED8,
182 			     55, UNIPHIER_PIN_PULL_DOWN),
183 	UNIPHIER_PINCTRL_PIN(56, "USB0VBUS", UNIPHIER_PIN_IECTRL_NONE,
184 			     -1, UNIPHIER_PIN_DRV_FIXED8,
185 			     56, UNIPHIER_PIN_PULL_DOWN),
186 	UNIPHIER_PINCTRL_PIN(57, "USB0OD", UNIPHIER_PIN_IECTRL_NONE,
187 			     -1, UNIPHIER_PIN_DRV_FIXED8,
188 			     57, UNIPHIER_PIN_PULL_DOWN),
189 	UNIPHIER_PINCTRL_PIN(58, "USB1VBUS", UNIPHIER_PIN_IECTRL_NONE,
190 			     -1, UNIPHIER_PIN_DRV_FIXED8,
191 			     58, UNIPHIER_PIN_PULL_DOWN),
192 	UNIPHIER_PINCTRL_PIN(59, "USB1OD", UNIPHIER_PIN_IECTRL_NONE,
193 			     -1, UNIPHIER_PIN_DRV_FIXED8,
194 			     59, UNIPHIER_PIN_PULL_DOWN),
195 	UNIPHIER_PINCTRL_PIN(60, "USB2VBUS", UNIPHIER_PIN_IECTRL_NONE,
196 			     -1, UNIPHIER_PIN_DRV_FIXED8,
197 			     60, UNIPHIER_PIN_PULL_DOWN),
198 	UNIPHIER_PINCTRL_PIN(61, "USB2OD", UNIPHIER_PIN_IECTRL_NONE,
199 			     -1, UNIPHIER_PIN_DRV_FIXED8,
200 			     61, UNIPHIER_PIN_PULL_DOWN),
201 	UNIPHIER_PINCTRL_PIN(62, "USB3VBUS", UNIPHIER_PIN_IECTRL_NONE,
202 			     -1, UNIPHIER_PIN_DRV_FIXED8,
203 			     62, UNIPHIER_PIN_PULL_DOWN),
204 	UNIPHIER_PINCTRL_PIN(63, "USB3OD", UNIPHIER_PIN_IECTRL_NONE,
205 			     -1, UNIPHIER_PIN_DRV_FIXED8,
206 			     63, UNIPHIER_PIN_PULL_DOWN),
207 	UNIPHIER_PINCTRL_PIN(64, "HS0BCLKOUT", UNIPHIER_PIN_IECTRL_NONE,
208 			     -1, UNIPHIER_PIN_DRV_FIXED8,
209 			     64, UNIPHIER_PIN_PULL_DOWN),
210 	UNIPHIER_PINCTRL_PIN(65, "HS0SYNCOUT", UNIPHIER_PIN_IECTRL_NONE,
211 			     -1, UNIPHIER_PIN_DRV_FIXED8,
212 			     65, UNIPHIER_PIN_PULL_DOWN),
213 	UNIPHIER_PINCTRL_PIN(66, "HS0VALOUT", UNIPHIER_PIN_IECTRL_NONE,
214 			     -1, UNIPHIER_PIN_DRV_FIXED8,
215 			     66, UNIPHIER_PIN_PULL_DOWN),
216 	UNIPHIER_PINCTRL_PIN(67, "HS0DOUT0", UNIPHIER_PIN_IECTRL_NONE,
217 			     -1, UNIPHIER_PIN_DRV_FIXED8,
218 			     67, UNIPHIER_PIN_PULL_DOWN),
219 	UNIPHIER_PINCTRL_PIN(68, "HS0DOUT1", UNIPHIER_PIN_IECTRL_NONE,
220 			     -1, UNIPHIER_PIN_DRV_FIXED8,
221 			     68, UNIPHIER_PIN_PULL_DOWN),
222 	UNIPHIER_PINCTRL_PIN(69, "HS0DOUT2", UNIPHIER_PIN_IECTRL_NONE,
223 			     -1, UNIPHIER_PIN_DRV_FIXED8,
224 			     69, UNIPHIER_PIN_PULL_DOWN),
225 	UNIPHIER_PINCTRL_PIN(70, "HS0DOUT3", UNIPHIER_PIN_IECTRL_NONE,
226 			     -1, UNIPHIER_PIN_DRV_FIXED8,
227 			     70, UNIPHIER_PIN_PULL_DOWN),
228 	UNIPHIER_PINCTRL_PIN(71, "HS0DOUT4", UNIPHIER_PIN_IECTRL_NONE,
229 			     -1, UNIPHIER_PIN_DRV_FIXED8,
230 			     71, UNIPHIER_PIN_PULL_DOWN),
231 	UNIPHIER_PINCTRL_PIN(72, "HS0DOUT5", UNIPHIER_PIN_IECTRL_NONE,
232 			     -1, UNIPHIER_PIN_DRV_FIXED8,
233 			     72, UNIPHIER_PIN_PULL_DOWN),
234 	UNIPHIER_PINCTRL_PIN(73, "HS0DOUT6", UNIPHIER_PIN_IECTRL_NONE,
235 			     -1, UNIPHIER_PIN_DRV_FIXED8,
236 			     73, UNIPHIER_PIN_PULL_DOWN),
237 	UNIPHIER_PINCTRL_PIN(74, "HS0DOUT7", UNIPHIER_PIN_IECTRL_NONE,
238 			     -1, UNIPHIER_PIN_DRV_FIXED8,
239 			     74, UNIPHIER_PIN_PULL_DOWN),
240 	UNIPHIER_PINCTRL_PIN(75, "HS1BCLKIN", UNIPHIER_PIN_IECTRL_NONE,
241 			     -1, UNIPHIER_PIN_DRV_FIXED8,
242 			     75, UNIPHIER_PIN_PULL_DOWN),
243 	UNIPHIER_PINCTRL_PIN(76, "HS1SYNCIN", UNIPHIER_PIN_IECTRL_NONE,
244 			     -1, UNIPHIER_PIN_DRV_FIXED8,
245 			     76, UNIPHIER_PIN_PULL_DOWN),
246 	UNIPHIER_PINCTRL_PIN(77, "HS1VALIN", UNIPHIER_PIN_IECTRL_NONE,
247 			     -1, UNIPHIER_PIN_DRV_FIXED8,
248 			     77, UNIPHIER_PIN_PULL_DOWN),
249 	UNIPHIER_PINCTRL_PIN(78, "HS1DIN0", UNIPHIER_PIN_IECTRL_NONE,
250 			     -1, UNIPHIER_PIN_DRV_FIXED8,
251 			     78, UNIPHIER_PIN_PULL_DOWN),
252 	UNIPHIER_PINCTRL_PIN(79, "HS1DIN1", UNIPHIER_PIN_IECTRL_NONE,
253 			     -1, UNIPHIER_PIN_DRV_FIXED8,
254 			     79, UNIPHIER_PIN_PULL_DOWN),
255 	UNIPHIER_PINCTRL_PIN(80, "HS1DIN2", UNIPHIER_PIN_IECTRL_NONE,
256 			     -1, UNIPHIER_PIN_DRV_FIXED8,
257 			     80, UNIPHIER_PIN_PULL_DOWN),
258 	UNIPHIER_PINCTRL_PIN(81, "HS1DIN3", UNIPHIER_PIN_IECTRL_NONE,
259 			     -1, UNIPHIER_PIN_DRV_FIXED8,
260 			     81, UNIPHIER_PIN_PULL_DOWN),
261 	UNIPHIER_PINCTRL_PIN(82, "HS1DIN4", UNIPHIER_PIN_IECTRL_NONE,
262 			     -1, UNIPHIER_PIN_DRV_FIXED8,
263 			     82, UNIPHIER_PIN_PULL_DOWN),
264 	UNIPHIER_PINCTRL_PIN(83, "HS1DIN5", UNIPHIER_PIN_IECTRL_NONE,
265 			     -1, UNIPHIER_PIN_DRV_FIXED8,
266 			     83, UNIPHIER_PIN_PULL_DOWN),
267 	UNIPHIER_PINCTRL_PIN(84, "HS1DIN6", UNIPHIER_PIN_IECTRL_NONE,
268 			     -1, UNIPHIER_PIN_DRV_FIXED8,
269 			     84, UNIPHIER_PIN_PULL_DOWN),
270 	UNIPHIER_PINCTRL_PIN(85, "HS1DIN7", UNIPHIER_PIN_IECTRL_NONE,
271 			     -1, UNIPHIER_PIN_DRV_FIXED8,
272 			     85, UNIPHIER_PIN_PULL_DOWN),
273 	UNIPHIER_PINCTRL_PIN(86, "HS2BCLKIN", UNIPHIER_PIN_IECTRL_NONE,
274 			     -1, UNIPHIER_PIN_DRV_FIXED8,
275 			     86, UNIPHIER_PIN_PULL_DOWN),
276 	UNIPHIER_PINCTRL_PIN(87, "HS2SYNCIN", UNIPHIER_PIN_IECTRL_NONE,
277 			     -1, UNIPHIER_PIN_DRV_FIXED8,
278 			     87, UNIPHIER_PIN_PULL_DOWN),
279 	UNIPHIER_PINCTRL_PIN(88, "HS2VALIN", UNIPHIER_PIN_IECTRL_NONE,
280 			     -1, UNIPHIER_PIN_DRV_FIXED8,
281 			     88, UNIPHIER_PIN_PULL_DOWN),
282 	UNIPHIER_PINCTRL_PIN(89, "HS2DIN0", UNIPHIER_PIN_IECTRL_NONE,
283 			     -1, UNIPHIER_PIN_DRV_FIXED8,
284 			     89, UNIPHIER_PIN_PULL_DOWN),
285 	UNIPHIER_PINCTRL_PIN(90, "HS2DIN1", UNIPHIER_PIN_IECTRL_NONE,
286 			     -1, UNIPHIER_PIN_DRV_FIXED8,
287 			     90, UNIPHIER_PIN_PULL_DOWN),
288 	UNIPHIER_PINCTRL_PIN(91, "HS2DIN2", UNIPHIER_PIN_IECTRL_NONE,
289 			     -1, UNIPHIER_PIN_DRV_FIXED8,
290 			     91, UNIPHIER_PIN_PULL_DOWN),
291 	UNIPHIER_PINCTRL_PIN(92, "HS2DIN3", UNIPHIER_PIN_IECTRL_NONE,
292 			     -1, UNIPHIER_PIN_DRV_FIXED8,
293 			     92, UNIPHIER_PIN_PULL_DOWN),
294 	UNIPHIER_PINCTRL_PIN(93, "HS2DIN4", UNIPHIER_PIN_IECTRL_NONE,
295 			     -1, UNIPHIER_PIN_DRV_FIXED8,
296 			     93, UNIPHIER_PIN_PULL_DOWN),
297 	UNIPHIER_PINCTRL_PIN(94, "HS2DIN5", UNIPHIER_PIN_IECTRL_NONE,
298 			     -1, UNIPHIER_PIN_DRV_FIXED8,
299 			     94, UNIPHIER_PIN_PULL_DOWN),
300 	UNIPHIER_PINCTRL_PIN(95, "HS2DIN6", UNIPHIER_PIN_IECTRL_NONE,
301 			     -1, UNIPHIER_PIN_DRV_FIXED8,
302 			     95, UNIPHIER_PIN_PULL_DOWN),
303 	UNIPHIER_PINCTRL_PIN(96, "HS2DIN7", UNIPHIER_PIN_IECTRL_NONE,
304 			     -1, UNIPHIER_PIN_DRV_FIXED8,
305 			     96, UNIPHIER_PIN_PULL_DOWN),
306 	UNIPHIER_PINCTRL_PIN(97, "AO1IEC", UNIPHIER_PIN_IECTRL_NONE,
307 			     -1, UNIPHIER_PIN_DRV_FIXED8,
308 			     97, UNIPHIER_PIN_PULL_DOWN),
309 	UNIPHIER_PINCTRL_PIN(98, "AO1DACCK", UNIPHIER_PIN_IECTRL_NONE,
310 			     -1, UNIPHIER_PIN_DRV_FIXED8,
311 			     98, UNIPHIER_PIN_PULL_DOWN),
312 	UNIPHIER_PINCTRL_PIN(99, "AO1BCK", UNIPHIER_PIN_IECTRL_NONE,
313 			     -1, UNIPHIER_PIN_DRV_FIXED8,
314 			     99, UNIPHIER_PIN_PULL_DOWN),
315 	UNIPHIER_PINCTRL_PIN(100, "AO1LRCK", UNIPHIER_PIN_IECTRL_NONE,
316 			     -1, UNIPHIER_PIN_DRV_FIXED8,
317 			     100, UNIPHIER_PIN_PULL_DOWN),
318 	UNIPHIER_PINCTRL_PIN(101, "AO1D0", UNIPHIER_PIN_IECTRL_NONE,
319 			     -1, UNIPHIER_PIN_DRV_FIXED8,
320 			     101, UNIPHIER_PIN_PULL_DOWN),
321 	UNIPHIER_PINCTRL_PIN(102, "AO1D1", UNIPHIER_PIN_IECTRL_NONE,
322 			     -1, UNIPHIER_PIN_DRV_FIXED8,
323 			     102, UNIPHIER_PIN_PULL_DOWN),
324 	UNIPHIER_PINCTRL_PIN(103, "AO1D2", UNIPHIER_PIN_IECTRL_NONE,
325 			     -1, UNIPHIER_PIN_DRV_FIXED8,
326 			     103, UNIPHIER_PIN_PULL_DOWN),
327 	UNIPHIER_PINCTRL_PIN(104, "AO1D3", UNIPHIER_PIN_IECTRL_NONE,
328 			     -1, UNIPHIER_PIN_DRV_FIXED8,
329 			     104, UNIPHIER_PIN_PULL_DOWN),
330 	UNIPHIER_PINCTRL_PIN(105, "AO2DACCK", UNIPHIER_PIN_IECTRL_NONE,
331 			     -1, UNIPHIER_PIN_DRV_FIXED8,
332 			     105, UNIPHIER_PIN_PULL_DOWN),
333 	UNIPHIER_PINCTRL_PIN(106, "AO2BCK", UNIPHIER_PIN_IECTRL_NONE,
334 			     -1, UNIPHIER_PIN_DRV_FIXED8,
335 			     106, UNIPHIER_PIN_PULL_DOWN),
336 	UNIPHIER_PINCTRL_PIN(107, "AO2LRCK", UNIPHIER_PIN_IECTRL_NONE,
337 			     -1, UNIPHIER_PIN_DRV_FIXED8,
338 			     107, UNIPHIER_PIN_PULL_DOWN),
339 	UNIPHIER_PINCTRL_PIN(108, "AO2D0", UNIPHIER_PIN_IECTRL_NONE,
340 			     -1, UNIPHIER_PIN_DRV_FIXED8,
341 			     108, UNIPHIER_PIN_PULL_DOWN),
342 	UNIPHIER_PINCTRL_PIN(109, "SDA0", UNIPHIER_PIN_IECTRL_NONE,
343 			     -1, UNIPHIER_PIN_DRV_FIXED8,
344 			     109, UNIPHIER_PIN_PULL_DOWN),
345 	UNIPHIER_PINCTRL_PIN(110, "SCL0", UNIPHIER_PIN_IECTRL_NONE,
346 			     -1, UNIPHIER_PIN_DRV_FIXED8,
347 			     110, UNIPHIER_PIN_PULL_DOWN),
348 	UNIPHIER_PINCTRL_PIN(111, "SDA1", UNIPHIER_PIN_IECTRL_NONE,
349 			     -1, UNIPHIER_PIN_DRV_FIXED8,
350 			     111, UNIPHIER_PIN_PULL_DOWN),
351 	UNIPHIER_PINCTRL_PIN(112, "SCL1", UNIPHIER_PIN_IECTRL_NONE,
352 			     -1, UNIPHIER_PIN_DRV_FIXED8,
353 			     112, UNIPHIER_PIN_PULL_DOWN),
354 	UNIPHIER_PINCTRL_PIN(113, "SBO0", 0,
355 			     113, UNIPHIER_PIN_DRV_1BIT,
356 			     113, UNIPHIER_PIN_PULL_UP),
357 	UNIPHIER_PINCTRL_PIN(114, "SBI0", 0,
358 			     114, UNIPHIER_PIN_DRV_1BIT,
359 			     114, UNIPHIER_PIN_PULL_UP),
360 	UNIPHIER_PINCTRL_PIN(115, "TXD1", 0,
361 			     115, UNIPHIER_PIN_DRV_1BIT,
362 			     115, UNIPHIER_PIN_PULL_UP),
363 	UNIPHIER_PINCTRL_PIN(116, "RXD1", 0,
364 			     116, UNIPHIER_PIN_DRV_1BIT,
365 			     116, UNIPHIER_PIN_PULL_UP),
366 	UNIPHIER_PINCTRL_PIN(117, "PWSRA", UNIPHIER_PIN_IECTRL_NONE,
367 			     -1, UNIPHIER_PIN_DRV_FIXED8,
368 			     117, UNIPHIER_PIN_PULL_DOWN),
369 	UNIPHIER_PINCTRL_PIN(118, "XIRQ0", UNIPHIER_PIN_IECTRL_NONE,
370 			     -1, UNIPHIER_PIN_DRV_FIXED8,
371 			     118, UNIPHIER_PIN_PULL_DOWN),
372 	UNIPHIER_PINCTRL_PIN(119, "XIRQ1", UNIPHIER_PIN_IECTRL_NONE,
373 			     -1, UNIPHIER_PIN_DRV_FIXED8,
374 			     119, UNIPHIER_PIN_PULL_DOWN),
375 	UNIPHIER_PINCTRL_PIN(120, "XIRQ2", UNIPHIER_PIN_IECTRL_NONE,
376 			     -1, UNIPHIER_PIN_DRV_FIXED8,
377 			     120, UNIPHIER_PIN_PULL_DOWN),
378 	UNIPHIER_PINCTRL_PIN(121, "XIRQ3", UNIPHIER_PIN_IECTRL_NONE,
379 			     -1, UNIPHIER_PIN_DRV_FIXED8,
380 			     121, UNIPHIER_PIN_PULL_DOWN),
381 	UNIPHIER_PINCTRL_PIN(122, "XIRQ4", UNIPHIER_PIN_IECTRL_NONE,
382 			     -1, UNIPHIER_PIN_DRV_FIXED8,
383 			     122, UNIPHIER_PIN_PULL_DOWN),
384 	UNIPHIER_PINCTRL_PIN(123, "XIRQ5", UNIPHIER_PIN_IECTRL_NONE,
385 			     -1, UNIPHIER_PIN_DRV_FIXED8,
386 			     123, UNIPHIER_PIN_PULL_DOWN),
387 	UNIPHIER_PINCTRL_PIN(124, "XIRQ6", UNIPHIER_PIN_IECTRL_NONE,
388 			     -1, UNIPHIER_PIN_DRV_FIXED8,
389 			     124, UNIPHIER_PIN_PULL_DOWN),
390 	UNIPHIER_PINCTRL_PIN(125, "XIRQ7", UNIPHIER_PIN_IECTRL_NONE,
391 			     -1, UNIPHIER_PIN_DRV_FIXED8,
392 			     125, UNIPHIER_PIN_PULL_DOWN),
393 	UNIPHIER_PINCTRL_PIN(126, "XIRQ8", UNIPHIER_PIN_IECTRL_NONE,
394 			     -1, UNIPHIER_PIN_DRV_FIXED8,
395 			     126, UNIPHIER_PIN_PULL_DOWN),
396 	UNIPHIER_PINCTRL_PIN(127, "PORT00", UNIPHIER_PIN_IECTRL_NONE,
397 			     -1, UNIPHIER_PIN_DRV_FIXED8,
398 			     127, UNIPHIER_PIN_PULL_DOWN),
399 	UNIPHIER_PINCTRL_PIN(128, "PORT01", UNIPHIER_PIN_IECTRL_NONE,
400 			     -1, UNIPHIER_PIN_DRV_FIXED8,
401 			     128, UNIPHIER_PIN_PULL_DOWN),
402 	UNIPHIER_PINCTRL_PIN(129, "PORT02", UNIPHIER_PIN_IECTRL_NONE,
403 			     -1, UNIPHIER_PIN_DRV_FIXED8,
404 			     129, UNIPHIER_PIN_PULL_DOWN),
405 	UNIPHIER_PINCTRL_PIN(130, "PORT03", UNIPHIER_PIN_IECTRL_NONE,
406 			     -1, UNIPHIER_PIN_DRV_FIXED8,
407 			     130, UNIPHIER_PIN_PULL_DOWN),
408 	UNIPHIER_PINCTRL_PIN(131, "PORT04", UNIPHIER_PIN_IECTRL_NONE,
409 			     -1, UNIPHIER_PIN_DRV_FIXED8,
410 			     131, UNIPHIER_PIN_PULL_DOWN),
411 	UNIPHIER_PINCTRL_PIN(132, "PORT05", UNIPHIER_PIN_IECTRL_NONE,
412 			     -1, UNIPHIER_PIN_DRV_FIXED8,
413 			     132, UNIPHIER_PIN_PULL_DOWN),
414 	UNIPHIER_PINCTRL_PIN(133, "PORT06", UNIPHIER_PIN_IECTRL_NONE,
415 			     -1, UNIPHIER_PIN_DRV_FIXED8,
416 			     133, UNIPHIER_PIN_PULL_DOWN),
417 	UNIPHIER_PINCTRL_PIN(134, "PORT07", UNIPHIER_PIN_IECTRL_NONE,
418 			     -1, UNIPHIER_PIN_DRV_FIXED8,
419 			     134, UNIPHIER_PIN_PULL_DOWN),
420 	UNIPHIER_PINCTRL_PIN(135, "PORT10", UNIPHIER_PIN_IECTRL_NONE,
421 			     -1, UNIPHIER_PIN_DRV_FIXED8,
422 			     135, UNIPHIER_PIN_PULL_DOWN),
423 	UNIPHIER_PINCTRL_PIN(136, "PORT11", UNIPHIER_PIN_IECTRL_NONE,
424 			     -1, UNIPHIER_PIN_DRV_FIXED8,
425 			     136, UNIPHIER_PIN_PULL_DOWN),
426 	UNIPHIER_PINCTRL_PIN(137, "PORT12", UNIPHIER_PIN_IECTRL_NONE,
427 			     -1, UNIPHIER_PIN_DRV_FIXED8,
428 			     137, UNIPHIER_PIN_PULL_DOWN),
429 	UNIPHIER_PINCTRL_PIN(138, "PORT13", UNIPHIER_PIN_IECTRL_NONE,
430 			     -1, UNIPHIER_PIN_DRV_FIXED8,
431 			     138, UNIPHIER_PIN_PULL_DOWN),
432 	UNIPHIER_PINCTRL_PIN(139, "PORT14", UNIPHIER_PIN_IECTRL_NONE,
433 			     -1, UNIPHIER_PIN_DRV_FIXED8,
434 			     139, UNIPHIER_PIN_PULL_DOWN),
435 	UNIPHIER_PINCTRL_PIN(140, "PORT15", UNIPHIER_PIN_IECTRL_NONE,
436 			     -1, UNIPHIER_PIN_DRV_FIXED8,
437 			     140, UNIPHIER_PIN_PULL_DOWN),
438 	UNIPHIER_PINCTRL_PIN(141, "PORT16", UNIPHIER_PIN_IECTRL_NONE,
439 			     -1, UNIPHIER_PIN_DRV_FIXED8,
440 			     141, UNIPHIER_PIN_PULL_DOWN),
441 	UNIPHIER_PINCTRL_PIN(142, "LPST", UNIPHIER_PIN_IECTRL_NONE,
442 			     142, UNIPHIER_PIN_DRV_1BIT,
443 			     142, UNIPHIER_PIN_PULL_DOWN),
444 	UNIPHIER_PINCTRL_PIN(143, "MDC", 0,
445 			     143, UNIPHIER_PIN_DRV_1BIT,
446 			     143, UNIPHIER_PIN_PULL_DOWN),
447 	UNIPHIER_PINCTRL_PIN(144, "MDIO", 0,
448 			     144, UNIPHIER_PIN_DRV_1BIT,
449 			     144, UNIPHIER_PIN_PULL_DOWN),
450 	UNIPHIER_PINCTRL_PIN(145, "MDIO_INTL", 0,
451 			     145, UNIPHIER_PIN_DRV_1BIT,
452 			     145, UNIPHIER_PIN_PULL_DOWN),
453 	UNIPHIER_PINCTRL_PIN(146, "PHYRSTL", 0,
454 			     146, UNIPHIER_PIN_DRV_1BIT,
455 			     146, UNIPHIER_PIN_PULL_DOWN),
456 	UNIPHIER_PINCTRL_PIN(147, "RGMII_RXCLK", 0,
457 			     147, UNIPHIER_PIN_DRV_1BIT,
458 			     147, UNIPHIER_PIN_PULL_DOWN),
459 	UNIPHIER_PINCTRL_PIN(148, "RGMII_RXD0", 0,
460 			     148, UNIPHIER_PIN_DRV_1BIT,
461 			     148, UNIPHIER_PIN_PULL_DOWN),
462 	UNIPHIER_PINCTRL_PIN(149, "RGMII_RXD1", 0,
463 			     149, UNIPHIER_PIN_DRV_1BIT,
464 			     149, UNIPHIER_PIN_PULL_DOWN),
465 	UNIPHIER_PINCTRL_PIN(150, "RGMII_RXD2", 0,
466 			     150, UNIPHIER_PIN_DRV_1BIT,
467 			     150, UNIPHIER_PIN_PULL_DOWN),
468 	UNIPHIER_PINCTRL_PIN(151, "RGMII_RXD3", 0,
469 			     151, UNIPHIER_PIN_DRV_1BIT,
470 			     151, UNIPHIER_PIN_PULL_DOWN),
471 	UNIPHIER_PINCTRL_PIN(152, "RGMII_RXCTL", 0,
472 			     152, UNIPHIER_PIN_DRV_1BIT,
473 			     152, UNIPHIER_PIN_PULL_DOWN),
474 	UNIPHIER_PINCTRL_PIN(153, "RGMII_TXCLK", 0,
475 			     153, UNIPHIER_PIN_DRV_1BIT,
476 			     153, UNIPHIER_PIN_PULL_DOWN),
477 	UNIPHIER_PINCTRL_PIN(154, "RGMII_TXD0", 0,
478 			     154, UNIPHIER_PIN_DRV_1BIT,
479 			     154, UNIPHIER_PIN_PULL_DOWN),
480 	UNIPHIER_PINCTRL_PIN(155, "RGMII_TXD1", 0,
481 			     155, UNIPHIER_PIN_DRV_1BIT,
482 			     155, UNIPHIER_PIN_PULL_DOWN),
483 	UNIPHIER_PINCTRL_PIN(156, "RGMII_TXD2", 0,
484 			     156, UNIPHIER_PIN_DRV_1BIT,
485 			     156, UNIPHIER_PIN_PULL_DOWN),
486 	UNIPHIER_PINCTRL_PIN(157, "RGMII_TXD3", 0,
487 			     157, UNIPHIER_PIN_DRV_1BIT,
488 			     157, UNIPHIER_PIN_PULL_DOWN),
489 	UNIPHIER_PINCTRL_PIN(158, "RGMII_TXCTL", 0,
490 			     158, UNIPHIER_PIN_DRV_1BIT,
491 			     158, UNIPHIER_PIN_PULL_DOWN),
492 	UNIPHIER_PINCTRL_PIN(159, "A_D_PCD00OUT", UNIPHIER_PIN_IECTRL_NONE,
493 			     -1, UNIPHIER_PIN_DRV_FIXED8,
494 			     159, UNIPHIER_PIN_PULL_DOWN),
495 	UNIPHIER_PINCTRL_PIN(160, "A_D_PCD01OUT", UNIPHIER_PIN_IECTRL_NONE,
496 			     -1, UNIPHIER_PIN_DRV_FIXED8,
497 			     160, UNIPHIER_PIN_PULL_DOWN),
498 	UNIPHIER_PINCTRL_PIN(161, "A_D_PCD02OUT", UNIPHIER_PIN_IECTRL_NONE,
499 			     -1, UNIPHIER_PIN_DRV_FIXED8,
500 			     161, UNIPHIER_PIN_PULL_DOWN),
501 	UNIPHIER_PINCTRL_PIN(162, "A_D_PCD03OUT", UNIPHIER_PIN_IECTRL_NONE,
502 			     -1, UNIPHIER_PIN_DRV_FIXED8,
503 			     162, UNIPHIER_PIN_PULL_DOWN),
504 	UNIPHIER_PINCTRL_PIN(163, "A_D_PCD04OUT", UNIPHIER_PIN_IECTRL_NONE,
505 			     -1, UNIPHIER_PIN_DRV_FIXED8,
506 			     163, UNIPHIER_PIN_PULL_DOWN),
507 	UNIPHIER_PINCTRL_PIN(164, "A_D_PCD05OUT", UNIPHIER_PIN_IECTRL_NONE,
508 			     -1, UNIPHIER_PIN_DRV_FIXED8,
509 			     164, UNIPHIER_PIN_PULL_DOWN),
510 	UNIPHIER_PINCTRL_PIN(165, "A_D_PCD06OUT", UNIPHIER_PIN_IECTRL_NONE,
511 			     -1, UNIPHIER_PIN_DRV_FIXED8,
512 			     165, UNIPHIER_PIN_PULL_DOWN),
513 	UNIPHIER_PINCTRL_PIN(166, "A_D_PCD07OUT", UNIPHIER_PIN_IECTRL_NONE,
514 			     -1, UNIPHIER_PIN_DRV_FIXED8,
515 			     166, UNIPHIER_PIN_PULL_DOWN),
516 	UNIPHIER_PINCTRL_PIN(167, "A_D_PCD00IN", UNIPHIER_PIN_IECTRL_NONE,
517 			     -1, UNIPHIER_PIN_DRV_FIXED8,
518 			     167, UNIPHIER_PIN_PULL_DOWN),
519 	UNIPHIER_PINCTRL_PIN(168, "A_D_PCD01IN", UNIPHIER_PIN_IECTRL_NONE,
520 			     -1, UNIPHIER_PIN_DRV_FIXED8,
521 			     168, UNIPHIER_PIN_PULL_DOWN),
522 	UNIPHIER_PINCTRL_PIN(169, "A_D_PCD02IN", UNIPHIER_PIN_IECTRL_NONE,
523 			     -1, UNIPHIER_PIN_DRV_FIXED8,
524 			     169, UNIPHIER_PIN_PULL_DOWN),
525 	UNIPHIER_PINCTRL_PIN(170, "A_D_PCD03IN", UNIPHIER_PIN_IECTRL_NONE,
526 			     -1, UNIPHIER_PIN_DRV_FIXED8,
527 			     170, UNIPHIER_PIN_PULL_DOWN),
528 	UNIPHIER_PINCTRL_PIN(171, "A_D_PCD04IN", UNIPHIER_PIN_IECTRL_NONE,
529 			     -1, UNIPHIER_PIN_DRV_FIXED8,
530 			     171, UNIPHIER_PIN_PULL_DOWN),
531 	UNIPHIER_PINCTRL_PIN(172, "A_D_PCD05IN", UNIPHIER_PIN_IECTRL_NONE,
532 			     -1, UNIPHIER_PIN_DRV_FIXED8,
533 			     172, UNIPHIER_PIN_PULL_DOWN),
534 	UNIPHIER_PINCTRL_PIN(173, "A_D_PCD06IN", UNIPHIER_PIN_IECTRL_NONE,
535 			     -1, UNIPHIER_PIN_DRV_FIXED8,
536 			     173, UNIPHIER_PIN_PULL_DOWN),
537 	UNIPHIER_PINCTRL_PIN(174, "A_D_PCD07IN", UNIPHIER_PIN_IECTRL_NONE,
538 			     -1, UNIPHIER_PIN_DRV_FIXED8,
539 			     174, UNIPHIER_PIN_PULL_DOWN),
540 	UNIPHIER_PINCTRL_PIN(175, "A_D_PCDNOE", UNIPHIER_PIN_IECTRL_NONE,
541 			     -1, UNIPHIER_PIN_DRV_FIXED8,
542 			     175, UNIPHIER_PIN_PULL_DOWN),
543 	UNIPHIER_PINCTRL_PIN(176, "A_D_PC0READY", UNIPHIER_PIN_IECTRL_NONE,
544 			     -1, UNIPHIER_PIN_DRV_FIXED8,
545 			     176, UNIPHIER_PIN_PULL_DOWN),
546 	UNIPHIER_PINCTRL_PIN(177, "A_D_PC0CD1", UNIPHIER_PIN_IECTRL_NONE,
547 			     -1, UNIPHIER_PIN_DRV_FIXED8,
548 			     177, UNIPHIER_PIN_PULL_DOWN),
549 	UNIPHIER_PINCTRL_PIN(178, "A_D_PC0CD2", UNIPHIER_PIN_IECTRL_NONE,
550 			     -1, UNIPHIER_PIN_DRV_FIXED8,
551 			     178, UNIPHIER_PIN_PULL_DOWN),
552 	UNIPHIER_PINCTRL_PIN(179, "A_D_PC0WAIT", UNIPHIER_PIN_IECTRL_NONE,
553 			     -1, UNIPHIER_PIN_DRV_FIXED8,
554 			     179, UNIPHIER_PIN_PULL_DOWN),
555 	UNIPHIER_PINCTRL_PIN(180, "A_D_PC0RESET", UNIPHIER_PIN_IECTRL_NONE,
556 			     -1, UNIPHIER_PIN_DRV_FIXED8,
557 			     180, UNIPHIER_PIN_PULL_DOWN),
558 	UNIPHIER_PINCTRL_PIN(181, "A_D_PC0CE1", UNIPHIER_PIN_IECTRL_NONE,
559 			     -1, UNIPHIER_PIN_DRV_FIXED8,
560 			     181, UNIPHIER_PIN_PULL_DOWN),
561 	UNIPHIER_PINCTRL_PIN(182, "A_D_PC0WE", UNIPHIER_PIN_IECTRL_NONE,
562 			     -1, UNIPHIER_PIN_DRV_FIXED8,
563 			     182, UNIPHIER_PIN_PULL_DOWN),
564 	UNIPHIER_PINCTRL_PIN(183, "A_D_PC0OE", UNIPHIER_PIN_IECTRL_NONE,
565 			     -1, UNIPHIER_PIN_DRV_FIXED8,
566 			     183, UNIPHIER_PIN_PULL_DOWN),
567 	UNIPHIER_PINCTRL_PIN(184, "A_D_PC0IOWR", UNIPHIER_PIN_IECTRL_NONE,
568 			     -1, UNIPHIER_PIN_DRV_FIXED8,
569 			     184, UNIPHIER_PIN_PULL_DOWN),
570 	UNIPHIER_PINCTRL_PIN(185, "A_D_PC0IORD", UNIPHIER_PIN_IECTRL_NONE,
571 			     -1, UNIPHIER_PIN_DRV_FIXED8,
572 			     185, UNIPHIER_PIN_PULL_DOWN),
573 	UNIPHIER_PINCTRL_PIN(186, "A_D_PC0NOE", UNIPHIER_PIN_IECTRL_NONE,
574 			     -1, UNIPHIER_PIN_DRV_FIXED8,
575 			     186, UNIPHIER_PIN_PULL_DOWN),
576 	UNIPHIER_PINCTRL_PIN(187, "A_D_HS0BCLKIN", 0,
577 			     187, UNIPHIER_PIN_DRV_1BIT,
578 			     187, UNIPHIER_PIN_PULL_DOWN),
579 	UNIPHIER_PINCTRL_PIN(188, "A_D_HS0SYNCIN", 0,
580 			     188, UNIPHIER_PIN_DRV_1BIT,
581 			     188, UNIPHIER_PIN_PULL_DOWN),
582 	UNIPHIER_PINCTRL_PIN(189, "A_D_HS0VALIN", 0,
583 			     189, UNIPHIER_PIN_DRV_1BIT,
584 			     189, UNIPHIER_PIN_PULL_DOWN),
585 	UNIPHIER_PINCTRL_PIN(190, "A_D_HS0DIN0", 0,
586 			     190, UNIPHIER_PIN_DRV_1BIT,
587 			     190, UNIPHIER_PIN_PULL_DOWN),
588 	UNIPHIER_PINCTRL_PIN(191, "A_D_HS0DIN1", 0,
589 			     191, UNIPHIER_PIN_DRV_1BIT,
590 			     191, UNIPHIER_PIN_PULL_DOWN),
591 	UNIPHIER_PINCTRL_PIN(192, "A_D_HS0DIN2", 0,
592 			     192, UNIPHIER_PIN_DRV_1BIT,
593 			     192, UNIPHIER_PIN_PULL_DOWN),
594 	UNIPHIER_PINCTRL_PIN(193, "A_D_HS0DIN3", 0,
595 			     193, UNIPHIER_PIN_DRV_1BIT,
596 			     193, UNIPHIER_PIN_PULL_DOWN),
597 	UNIPHIER_PINCTRL_PIN(194, "A_D_HS0DIN4", 0,
598 			     194, UNIPHIER_PIN_DRV_1BIT,
599 			     194, UNIPHIER_PIN_PULL_DOWN),
600 	UNIPHIER_PINCTRL_PIN(195, "A_D_HS0DIN5", 0,
601 			     195, UNIPHIER_PIN_DRV_1BIT,
602 			     195, UNIPHIER_PIN_PULL_DOWN),
603 	UNIPHIER_PINCTRL_PIN(196, "A_D_HS0DIN6", 0,
604 			     196, UNIPHIER_PIN_DRV_1BIT,
605 			     196, UNIPHIER_PIN_PULL_DOWN),
606 	UNIPHIER_PINCTRL_PIN(197, "A_D_HS0DIN7", 0,
607 			     197, UNIPHIER_PIN_DRV_1BIT,
608 			     197, UNIPHIER_PIN_PULL_DOWN),
609 	UNIPHIER_PINCTRL_PIN(198, "A_D_AO1ARC", 0,
610 			     198, UNIPHIER_PIN_DRV_1BIT,
611 			     198, UNIPHIER_PIN_PULL_DOWN),
612 	UNIPHIER_PINCTRL_PIN(199, "A_D_SPIXRST", UNIPHIER_PIN_IECTRL_NONE,
613 			     199, UNIPHIER_PIN_DRV_1BIT,
614 			     199, UNIPHIER_PIN_PULL_DOWN),
615 	UNIPHIER_PINCTRL_PIN(200, "A_D_SPISCLK0", UNIPHIER_PIN_IECTRL_NONE,
616 			     200, UNIPHIER_PIN_DRV_1BIT,
617 			     200, UNIPHIER_PIN_PULL_DOWN),
618 	UNIPHIER_PINCTRL_PIN(201, "A_D_SPITXD0", UNIPHIER_PIN_IECTRL_NONE,
619 			     201, UNIPHIER_PIN_DRV_1BIT,
620 			     201, UNIPHIER_PIN_PULL_DOWN),
621 	UNIPHIER_PINCTRL_PIN(202, "A_D_SPIRXD0", UNIPHIER_PIN_IECTRL_NONE,
622 			     202, UNIPHIER_PIN_DRV_1BIT,
623 			     202, UNIPHIER_PIN_PULL_DOWN),
624 	UNIPHIER_PINCTRL_PIN(203, "A_D_DMDCLK", UNIPHIER_PIN_IECTRL_NONE,
625 			     -1, UNIPHIER_PIN_DRV_FIXED8,
626 			     203, UNIPHIER_PIN_PULL_DOWN),
627 	UNIPHIER_PINCTRL_PIN(204, "A_D_DMDPSYNC", UNIPHIER_PIN_IECTRL_NONE,
628 			     -1, UNIPHIER_PIN_DRV_FIXED8,
629 			     204, UNIPHIER_PIN_PULL_DOWN),
630 	UNIPHIER_PINCTRL_PIN(205, "A_D_DMDVAL", UNIPHIER_PIN_IECTRL_NONE,
631 			     -1, UNIPHIER_PIN_DRV_FIXED8,
632 			     205, UNIPHIER_PIN_PULL_DOWN),
633 	UNIPHIER_PINCTRL_PIN(206, "A_D_DMDDATA", UNIPHIER_PIN_IECTRL_NONE,
634 			     -1, UNIPHIER_PIN_DRV_FIXED8,
635 			     206, UNIPHIER_PIN_PULL_DOWN),
636 	UNIPHIER_PINCTRL_PIN(207, "A_D_HDMIRXXIRQ", 0,
637 			     207, UNIPHIER_PIN_DRV_1BIT,
638 			     207, UNIPHIER_PIN_PULL_DOWN),
639 	UNIPHIER_PINCTRL_PIN(208, "A_D_VBIXIRQ", 0,
640 			     208, UNIPHIER_PIN_DRV_1BIT,
641 			     208, UNIPHIER_PIN_PULL_DOWN),
642 	UNIPHIER_PINCTRL_PIN(209, "A_D_HDMITXXIRQ", 0,
643 			     209, UNIPHIER_PIN_DRV_1BIT,
644 			     209, UNIPHIER_PIN_PULL_DOWN),
645 	UNIPHIER_PINCTRL_PIN(210, "A_D_DMDIRQ", UNIPHIER_PIN_IECTRL_NONE,
646 			     210, UNIPHIER_PIN_DRV_1BIT,
647 			     210, UNIPHIER_PIN_PULL_DOWN),
648 	UNIPHIER_PINCTRL_PIN(211, "A_D_SPICIRQ", UNIPHIER_PIN_IECTRL_NONE,
649 			     211, UNIPHIER_PIN_DRV_1BIT,
650 			     211, UNIPHIER_PIN_PULL_DOWN),
651 	UNIPHIER_PINCTRL_PIN(212, "A_D_SPIBIRQ", UNIPHIER_PIN_IECTRL_NONE,
652 			     212, UNIPHIER_PIN_DRV_1BIT,
653 			     212, UNIPHIER_PIN_PULL_DOWN),
654 	UNIPHIER_PINCTRL_PIN(213, "A_D_BESDAOUT", UNIPHIER_PIN_IECTRL_NONE,
655 			     -1, UNIPHIER_PIN_DRV_FIXED4,
656 			     213, UNIPHIER_PIN_PULL_DOWN),
657 	UNIPHIER_PINCTRL_PIN(214, "A_D_BESDAIN", UNIPHIER_PIN_IECTRL_NONE,
658 			     -1, UNIPHIER_PIN_DRV_FIXED4,
659 			     214, UNIPHIER_PIN_PULL_DOWN),
660 	UNIPHIER_PINCTRL_PIN(215, "A_D_BESCLOUT", UNIPHIER_PIN_IECTRL_NONE,
661 			     215, UNIPHIER_PIN_DRV_1BIT,
662 			     215, UNIPHIER_PIN_PULL_DOWN),
663 	UNIPHIER_PINCTRL_PIN(216, "A_D_VDACCLKOUT", 0,
664 			     216, UNIPHIER_PIN_DRV_1BIT,
665 			     216, UNIPHIER_PIN_PULL_DOWN),
666 	UNIPHIER_PINCTRL_PIN(217, "A_D_VDACDOUT5", 0,
667 			     217, UNIPHIER_PIN_DRV_1BIT,
668 			     217, UNIPHIER_PIN_PULL_DOWN),
669 	UNIPHIER_PINCTRL_PIN(218, "A_D_VDACDOUT6", 0,
670 			     218, UNIPHIER_PIN_DRV_1BIT,
671 			     218, UNIPHIER_PIN_PULL_DOWN),
672 	UNIPHIER_PINCTRL_PIN(219, "A_D_VDACDOUT7", 0,
673 			     219, UNIPHIER_PIN_DRV_1BIT,
674 			     219, UNIPHIER_PIN_PULL_DOWN),
675 	UNIPHIER_PINCTRL_PIN(220, "A_D_VDACDOUT8", 0,
676 			     220, UNIPHIER_PIN_DRV_1BIT,
677 			     220, UNIPHIER_PIN_PULL_DOWN),
678 	UNIPHIER_PINCTRL_PIN(221, "A_D_VDACDOUT9", 0,
679 			     221, UNIPHIER_PIN_DRV_1BIT,
680 			     221, UNIPHIER_PIN_PULL_DOWN),
681 	UNIPHIER_PINCTRL_PIN(222, "A_D_SIFBCKIN", 0,
682 			     222, UNIPHIER_PIN_DRV_1BIT,
683 			     222, UNIPHIER_PIN_PULL_DOWN),
684 	UNIPHIER_PINCTRL_PIN(223, "A_D_SIFLRCKIN", 0,
685 			     223, UNIPHIER_PIN_DRV_1BIT,
686 			     223, UNIPHIER_PIN_PULL_DOWN),
687 	UNIPHIER_PINCTRL_PIN(224, "A_D_SIFDIN", 0,
688 			     224, UNIPHIER_PIN_DRV_1BIT,
689 			     224, UNIPHIER_PIN_PULL_DOWN),
690 	UNIPHIER_PINCTRL_PIN(225, "A_D_LIBCKOUT", 0,
691 			     225, UNIPHIER_PIN_DRV_1BIT,
692 			     225, UNIPHIER_PIN_PULL_DOWN),
693 	UNIPHIER_PINCTRL_PIN(226, "A_D_LILRCKOUT", 0,
694 			     226, UNIPHIER_PIN_DRV_1BIT,
695 			     226, UNIPHIER_PIN_PULL_DOWN),
696 	UNIPHIER_PINCTRL_PIN(227, "A_D_LIDIN", 0,
697 			     227, UNIPHIER_PIN_DRV_1BIT,
698 			     227, UNIPHIER_PIN_PULL_DOWN),
699 	UNIPHIER_PINCTRL_PIN(228, "A_D_LODOUT", 0,
700 			     228, UNIPHIER_PIN_DRV_1BIT,
701 			     228, UNIPHIER_PIN_PULL_DOWN),
702 	UNIPHIER_PINCTRL_PIN(229, "A_D_HPDOUT", 0,
703 			     229, UNIPHIER_PIN_DRV_1BIT,
704 			     229, UNIPHIER_PIN_PULL_DOWN),
705 	UNIPHIER_PINCTRL_PIN(230, "A_D_MCLK", 0,
706 			     230, UNIPHIER_PIN_DRV_1BIT,
707 			     230, UNIPHIER_PIN_PULL_DOWN),
708 	UNIPHIER_PINCTRL_PIN(231, "A_D_A2PLLREFOUT", 0,
709 			     231, UNIPHIER_PIN_DRV_1BIT,
710 			     231, UNIPHIER_PIN_PULL_DOWN),
711 	UNIPHIER_PINCTRL_PIN(232, "A_D_HDMI3DSDAOUT", 0,
712 			     232, UNIPHIER_PIN_DRV_1BIT,
713 			     232, UNIPHIER_PIN_PULL_DOWN),
714 	UNIPHIER_PINCTRL_PIN(233, "A_D_HDMI3DSDAIN", 0,
715 			     233, UNIPHIER_PIN_DRV_1BIT,
716 			     233, UNIPHIER_PIN_PULL_DOWN),
717 	UNIPHIER_PINCTRL_PIN(234, "A_D_HDMI3DSCLIN", 0,
718 			     234, UNIPHIER_PIN_DRV_1BIT,
719 			     234, UNIPHIER_PIN_PULL_DOWN),
720 };
721 
722 static const unsigned adinter_pins[] = {
723 	159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
724 	173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
725 	187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
726 	201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
727 	215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
728 	229, 230, 231, 232, 233, 234,
729 };
730 static const int adinter_muxvals[] = {
731 	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
732 	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
733 	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
734 	0, 0, 0, 0,
735 };
736 static const unsigned emmc_pins[] = {36, 37, 38, 39, 40, 41, 42};
737 static const int emmc_muxvals[] = {1, 1, 1, 1, 1, 1, 1};
738 static const unsigned emmc_dat8_pins[] = {43, 44, 45, 46};
739 static const int emmc_dat8_muxvals[] = {1, 1, 1, 1};
740 static const unsigned ether_rgmii_pins[] = {143, 144, 145, 146, 147, 148, 149,
741 					    150, 151, 152, 153, 154, 155, 156,
742 					    157, 158};
743 static const int ether_rgmii_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
744 					  0, 0, 0, 0};
745 static const unsigned ether_rmii_pins[] = {143, 144, 145, 146, 147, 148, 149,
746 					   150, 152, 154, 155, 158};
747 static const int ether_rmii_muxvals[] = {0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1};
748 static const unsigned i2c0_pins[] = {109, 110};
749 static const int i2c0_muxvals[] = {0, 0};
750 static const unsigned i2c1_pins[] = {111, 112};
751 static const int i2c1_muxvals[] = {0, 0};
752 static const unsigned i2c2_pins[] = {115, 116};
753 static const int i2c2_muxvals[] = {1, 1};
754 static const unsigned i2c3_pins[] = {118, 119};
755 static const int i2c3_muxvals[] = {1, 1};
756 static const unsigned nand_pins[] = {30, 31, 32, 33, 34, 35, 36, 39, 40, 41,
757 				     42, 43, 44, 45, 46};
758 static const int nand_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
759 static const unsigned nand_cs1_pins[] = {37, 38};
760 static const int nand_cs1_muxvals[] = {0, 0};
761 static const unsigned sd_pins[] = {47, 48, 49, 50, 51, 52, 53, 54, 55};
762 static const int sd_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
763 static const unsigned spi0_pins[] = {199, 200, 201, 202};
764 static const int spi0_muxvals[] = {8, 8, 8, 8};
765 static const unsigned spi1_pins[] = {93, 94, 95, 96};
766 static const int spi1_muxvals[] = {1, 1, 1, 1};
767 static const unsigned system_bus_pins[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
768 					   11, 12, 13};
769 static const int system_bus_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
770 					 0};
771 static const unsigned system_bus_cs1_pins[] = {14};
772 static const int system_bus_cs1_muxvals[] = {0};
773 static const unsigned system_bus_cs2_pins[] = {37};
774 static const int system_bus_cs2_muxvals[] = {6};
775 static const unsigned system_bus_cs3_pins[] = {38};
776 static const int system_bus_cs3_muxvals[] = {6};
777 static const unsigned system_bus_cs4_pins[] = {115};
778 static const int system_bus_cs4_muxvals[] = {6};
779 static const unsigned system_bus_cs5_pins[] = {55};
780 static const int system_bus_cs5_muxvals[] = {6};
781 static const unsigned uart0_pins[] = {135, 136};
782 static const int uart0_muxvals[] = {3, 3};
783 static const unsigned uart0_ctsrts_pins[] = {137, 139};
784 static const int uart0_ctsrts_muxvals[] = {3, 3};
785 static const unsigned uart0_modem_pins[] = {124, 138, 140, 141};
786 static const int uart0_modem_muxvals[] = {3, 3, 3, 3};
787 static const unsigned uart0b_pins[] = {11, 12};
788 static const int uart0b_muxvals[] = {2, 2};
789 static const unsigned uart1_pins[] = {115, 116};
790 static const int uart1_muxvals[] = {0, 0};
791 static const unsigned uart1b_pins[] = {113, 114};
792 static const int uart1b_muxvals[] = {1, 1};
793 static const unsigned uart2_pins[] = {113, 114};
794 static const int uart2_muxvals[] = {2, 2};
795 static const unsigned uart2b_pins[] = {86, 87};
796 static const int uart2b_muxvals[] = {1, 1};
797 static const unsigned usb0_pins[] = {56, 57};
798 static const int usb0_muxvals[] = {0, 0};
799 static const unsigned usb1_pins[] = {58, 59};
800 static const int usb1_muxvals[] = {0, 0};
801 static const unsigned usb2_pins[] = {60, 61};
802 static const int usb2_muxvals[] = {0, 0};
803 static const unsigned usb3_pins[] = {62, 63};
804 static const int usb3_muxvals[] = {0, 0};
805 static const unsigned int gpio_range0_pins[] = {
806 	127, 128, 129, 130, 131, 132, 133, 134,		/* PORT0x */
807 	135, 136, 137, 138, 139, 140, 141, 142,		/* PORT1x */
808 	0, 1, 2, 3, 4, 5, 6, 7,				/* PORT2x */
809 	8, 9, 10, 11, 12, 13, 14, 15,			/* PORT3x */
810 	16, 17, 18, 19, 21, 22, 23, 24,			/* PORT4x */
811 	25, 30, 31, 32, 33, 34, 35, 36,			/* PORT5x */
812 	37, 38, 39, 40, 41, 42, 43, 44,			/* PORT6x */
813 	45, 46, 47, 48, 49, 50, 51, 52,			/* PORT7x */
814 	53, 54, 55, 56, 57, 58, 59, 60,			/* PORT8x */
815 	61, 62, 63, 64, 65, 66, 67, 68,			/* PORT9x */
816 	69, 70, 71, 76, 77, 78, 79, 80,			/* PORT10x */
817 };
818 static const unsigned int gpio_range1_pins[] = {
819 	81, 82, 83, 84, 85, 86, 87, 88,			/* PORT12x */
820 	89, 90, 95, 96, 97, 98, 99, 100,		/* PORT13x */
821 	101, 102, 103, 104, 105, 106, 107, 108,		/* PORT14x */
822 	118, 119, 120, 121, 122, 123, 124, 125,		/* XIRQ0-7 */
823 	126, 72, 73, 92, 177, 93, 94, 176,		/* XIRQ8-15 */
824 	74, 91, 27, 28, 29, 75, 20, 26,			/* XIRQ16-23 */
825 	109, 110, 111, 112, 113, 114, 115, 116,		/* PORT18x */
826 	117, 143, 144, 145, 146, 147, 148, 149,		/* PORT19x */
827 	150, 151, 152, 153, 154, 155, 156, 157,		/* PORT20x */
828 	158, 159, 160, 161, 162, 163, 164, 165,		/* PORT21x */
829 	166, 178, 179, 180, 181, 182, 183, 184,		/* PORT22x */
830 	185, 187, 188, 189, 190, 191, 192, 193,		/* PORT23x */
831 	194, 195, 196, 197, 198, 199, 200, 201,		/* PORT24x */
832 	202, 203, 204, 205, 206, 207, 208, 209,		/* PORT25x */
833 	210, 211, 212, 213, 214, 215, 216, 217,		/* PORT26x */
834 	218, 219, 220, 221, 223, 224, 225, 226,		/* PORT27x */
835 	227, 228, 229, 230, 231, 232, 233, 234,		/* PORT28x */
836 };
837 
838 static const struct uniphier_pinctrl_group uniphier_ld6b_groups[] = {
839 	UNIPHIER_PINCTRL_GROUP(adinter),
840 	UNIPHIER_PINCTRL_GROUP(emmc),
841 	UNIPHIER_PINCTRL_GROUP(emmc_dat8),
842 	UNIPHIER_PINCTRL_GROUP(ether_rgmii),
843 	UNIPHIER_PINCTRL_GROUP(ether_rmii),
844 	UNIPHIER_PINCTRL_GROUP(i2c0),
845 	UNIPHIER_PINCTRL_GROUP(i2c1),
846 	UNIPHIER_PINCTRL_GROUP(i2c2),
847 	UNIPHIER_PINCTRL_GROUP(i2c3),
848 	UNIPHIER_PINCTRL_GROUP(nand),
849 	UNIPHIER_PINCTRL_GROUP(nand_cs1),
850 	UNIPHIER_PINCTRL_GROUP(sd),
851 	UNIPHIER_PINCTRL_GROUP(spi0),
852 	UNIPHIER_PINCTRL_GROUP(spi1),
853 	UNIPHIER_PINCTRL_GROUP(system_bus),
854 	UNIPHIER_PINCTRL_GROUP(system_bus_cs1),
855 	UNIPHIER_PINCTRL_GROUP(system_bus_cs2),
856 	UNIPHIER_PINCTRL_GROUP(system_bus_cs3),
857 	UNIPHIER_PINCTRL_GROUP(system_bus_cs4),
858 	UNIPHIER_PINCTRL_GROUP(system_bus_cs5),
859 	UNIPHIER_PINCTRL_GROUP(uart0),
860 	UNIPHIER_PINCTRL_GROUP(uart0_ctsrts),
861 	UNIPHIER_PINCTRL_GROUP(uart0_modem),
862 	UNIPHIER_PINCTRL_GROUP(uart0b),
863 	UNIPHIER_PINCTRL_GROUP(uart1),
864 	UNIPHIER_PINCTRL_GROUP(uart1b),
865 	UNIPHIER_PINCTRL_GROUP(uart2),
866 	UNIPHIER_PINCTRL_GROUP(uart2b),
867 	UNIPHIER_PINCTRL_GROUP(usb0),
868 	UNIPHIER_PINCTRL_GROUP(usb1),
869 	UNIPHIER_PINCTRL_GROUP(usb2),
870 	UNIPHIER_PINCTRL_GROUP(usb3),
871 	UNIPHIER_PINCTRL_GROUP_GPIO(gpio_range0),
872 	UNIPHIER_PINCTRL_GROUP_GPIO(gpio_range1),
873 };
874 
875 static const char * const adinter_groups[] = {"adinter"};
876 static const char * const emmc_groups[] = {"emmc", "emmc_dat8"};
877 static const char * const ether_rgmii_groups[] = {"ether_rgmii"};
878 static const char * const ether_rmii_groups[] = {"ether_rmii"};
879 static const char * const i2c0_groups[] = {"i2c0"};
880 static const char * const i2c1_groups[] = {"i2c1"};
881 static const char * const i2c2_groups[] = {"i2c2"};
882 static const char * const i2c3_groups[] = {"i2c3"};
883 static const char * const nand_groups[] = {"nand", "nand_cs1"};
884 static const char * const sd_groups[] = {"sd"};
885 static const char * const spi0_groups[] = {"spi0"};
886 static const char * const spi1_groups[] = {"spi1"};
887 static const char * const system_bus_groups[] = {"system_bus",
888 						 "system_bus_cs1",
889 						 "system_bus_cs2",
890 						 "system_bus_cs3",
891 						 "system_bus_cs4",
892 						 "system_bus_cs5"};
893 static const char * const uart0_groups[] = {"uart0", "uart0_ctsrts",
894 					    "uart0_modem", "uart0b"};
895 static const char * const uart1_groups[] = {"uart1", "uart1b"};
896 static const char * const uart2_groups[] = {"uart2", "uart2b"};
897 static const char * const usb0_groups[] = {"usb0"};
898 static const char * const usb1_groups[] = {"usb1"};
899 static const char * const usb2_groups[] = {"usb2"};
900 static const char * const usb3_groups[] = {"usb3"};
901 
902 static const struct uniphier_pinmux_function uniphier_ld6b_functions[] = {
903 	UNIPHIER_PINMUX_FUNCTION(adinter), /* Achip-Dchip interconnect */
904 	UNIPHIER_PINMUX_FUNCTION(emmc),
905 	UNIPHIER_PINMUX_FUNCTION(ether_rgmii),
906 	UNIPHIER_PINMUX_FUNCTION(ether_rmii),
907 	UNIPHIER_PINMUX_FUNCTION(i2c0),
908 	UNIPHIER_PINMUX_FUNCTION(i2c1),
909 	UNIPHIER_PINMUX_FUNCTION(i2c2),
910 	UNIPHIER_PINMUX_FUNCTION(i2c3),
911 	UNIPHIER_PINMUX_FUNCTION(nand),
912 	UNIPHIER_PINMUX_FUNCTION(sd),
913 	UNIPHIER_PINMUX_FUNCTION(spi0),
914 	UNIPHIER_PINMUX_FUNCTION(spi1),
915 	UNIPHIER_PINMUX_FUNCTION(system_bus),
916 	UNIPHIER_PINMUX_FUNCTION(uart0),
917 	UNIPHIER_PINMUX_FUNCTION(uart1),
918 	UNIPHIER_PINMUX_FUNCTION(uart2),
919 	UNIPHIER_PINMUX_FUNCTION(usb0),
920 	UNIPHIER_PINMUX_FUNCTION(usb1),
921 	UNIPHIER_PINMUX_FUNCTION(usb2),
922 	UNIPHIER_PINMUX_FUNCTION(usb3),
923 };
924 
925 static int uniphier_ld6b_get_gpio_muxval(unsigned int pin,
926 					 unsigned int gpio_offset)
927 {
928 	if (gpio_offset >= 120 && gpio_offset <= 143)	/* XIRQx */
929 		/* 15 will do because XIRQ0-23 are aliases of PORT150-177. */
930 		return 14;
931 
932 	return 15;
933 }
934 
935 static const struct uniphier_pinctrl_socdata uniphier_ld6b_pindata = {
936 	.pins = uniphier_ld6b_pins,
937 	.npins = ARRAY_SIZE(uniphier_ld6b_pins),
938 	.groups = uniphier_ld6b_groups,
939 	.groups_count = ARRAY_SIZE(uniphier_ld6b_groups),
940 	.functions = uniphier_ld6b_functions,
941 	.functions_count = ARRAY_SIZE(uniphier_ld6b_functions),
942 	.get_gpio_muxval = uniphier_ld6b_get_gpio_muxval,
943 	.caps = 0,
944 };
945 
946 static int uniphier_ld6b_pinctrl_probe(struct platform_device *pdev)
947 {
948 	return uniphier_pinctrl_probe(pdev, &uniphier_ld6b_pindata);
949 }
950 
951 static const struct of_device_id uniphier_ld6b_pinctrl_match[] = {
952 	{ .compatible = "socionext,uniphier-ld6b-pinctrl" },
953 	{ /* sentinel */ }
954 };
955 
956 static struct platform_driver uniphier_ld6b_pinctrl_driver = {
957 	.probe = uniphier_ld6b_pinctrl_probe,
958 	.driver = {
959 		.name = "uniphier-ld6b-pinctrl",
960 		.of_match_table = uniphier_ld6b_pinctrl_match,
961 		.pm = &uniphier_pinctrl_pm_ops,
962 	},
963 };
964 builtin_platform_driver(uniphier_ld6b_pinctrl_driver);
965