1 /*
2  * Copyright (C) 2015 Masahiro Yamada <yamada.masahiro@socionext.com>
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  */
14 
15 #include <linux/kernel.h>
16 #include <linux/module.h>
17 #include <linux/pinctrl/pinctrl.h>
18 #include <linux/platform_device.h>
19 
20 #include "pinctrl-uniphier.h"
21 
22 #define DRIVER_NAME "proxstream2-pinctrl"
23 
24 static const struct pinctrl_pin_desc proxstream2_pins[] = {
25 	UNIPHIER_PINCTRL_PIN(0, "ED0", UNIPHIER_PIN_IECTRL_NONE,
26 			     0, UNIPHIER_PIN_DRV_4_8,
27 			     0, UNIPHIER_PIN_PULL_DOWN),
28 	UNIPHIER_PINCTRL_PIN(1, "ED1", UNIPHIER_PIN_IECTRL_NONE,
29 			     1, UNIPHIER_PIN_DRV_4_8,
30 			     1, UNIPHIER_PIN_PULL_DOWN),
31 	UNIPHIER_PINCTRL_PIN(2, "ED2", UNIPHIER_PIN_IECTRL_NONE,
32 			     2, UNIPHIER_PIN_DRV_4_8,
33 			     2, UNIPHIER_PIN_PULL_DOWN),
34 	UNIPHIER_PINCTRL_PIN(3, "ED3", UNIPHIER_PIN_IECTRL_NONE,
35 			     3, UNIPHIER_PIN_DRV_4_8,
36 			     3, UNIPHIER_PIN_PULL_DOWN),
37 	UNIPHIER_PINCTRL_PIN(4, "ED4", UNIPHIER_PIN_IECTRL_NONE,
38 			     4, UNIPHIER_PIN_DRV_4_8,
39 			     4, UNIPHIER_PIN_PULL_DOWN),
40 	UNIPHIER_PINCTRL_PIN(5, "ED5", UNIPHIER_PIN_IECTRL_NONE,
41 			     5, UNIPHIER_PIN_DRV_4_8,
42 			     5, UNIPHIER_PIN_PULL_DOWN),
43 	UNIPHIER_PINCTRL_PIN(6, "ED6", UNIPHIER_PIN_IECTRL_NONE,
44 			     6, UNIPHIER_PIN_DRV_4_8,
45 			     6, UNIPHIER_PIN_PULL_DOWN),
46 	UNIPHIER_PINCTRL_PIN(7, "ED7", UNIPHIER_PIN_IECTRL_NONE,
47 			     7, UNIPHIER_PIN_DRV_4_8,
48 			     7, UNIPHIER_PIN_PULL_DOWN),
49 	UNIPHIER_PINCTRL_PIN(8, "XERWE0", UNIPHIER_PIN_IECTRL_NONE,
50 			     8, UNIPHIER_PIN_DRV_4_8,
51 			     8, UNIPHIER_PIN_PULL_DOWN),
52 	UNIPHIER_PINCTRL_PIN(9, "XERWE1", UNIPHIER_PIN_IECTRL_NONE,
53 			     9, UNIPHIER_PIN_DRV_4_8,
54 			     9, UNIPHIER_PIN_PULL_DOWN),
55 	UNIPHIER_PINCTRL_PIN(10, "ERXW", UNIPHIER_PIN_IECTRL_NONE,
56 			     10, UNIPHIER_PIN_DRV_4_8,
57 			     10, UNIPHIER_PIN_PULL_DOWN),
58 	UNIPHIER_PINCTRL_PIN(11, "ES0", UNIPHIER_PIN_IECTRL_NONE,
59 			     11, UNIPHIER_PIN_DRV_4_8,
60 			     11, UNIPHIER_PIN_PULL_DOWN),
61 	UNIPHIER_PINCTRL_PIN(12, "ES1", UNIPHIER_PIN_IECTRL_NONE,
62 			     12, UNIPHIER_PIN_DRV_4_8,
63 			     12, UNIPHIER_PIN_PULL_DOWN),
64 	UNIPHIER_PINCTRL_PIN(13, "ES2", UNIPHIER_PIN_IECTRL_NONE,
65 			     13, UNIPHIER_PIN_DRV_4_8,
66 			     13, UNIPHIER_PIN_PULL_DOWN),
67 	UNIPHIER_PINCTRL_PIN(14, "XECS1", UNIPHIER_PIN_IECTRL_NONE,
68 			     14, UNIPHIER_PIN_DRV_4_8,
69 			     14, UNIPHIER_PIN_PULL_DOWN),
70 	UNIPHIER_PINCTRL_PIN(15, "SMTRST0", UNIPHIER_PIN_IECTRL_NONE,
71 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
72 			     15, UNIPHIER_PIN_PULL_DOWN),
73 	UNIPHIER_PINCTRL_PIN(16, "SMTCMD0", UNIPHIER_PIN_IECTRL_NONE,
74 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
75 			     16, UNIPHIER_PIN_PULL_DOWN),
76 	UNIPHIER_PINCTRL_PIN(17, "SMTD0", UNIPHIER_PIN_IECTRL_NONE,
77 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
78 			     17, UNIPHIER_PIN_PULL_DOWN),
79 	UNIPHIER_PINCTRL_PIN(18, "SMTSEL0", UNIPHIER_PIN_IECTRL_NONE,
80 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
81 			     18, UNIPHIER_PIN_PULL_DOWN),
82 	UNIPHIER_PINCTRL_PIN(19, "SMTCLK0CG", UNIPHIER_PIN_IECTRL_NONE,
83 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
84 			     19, UNIPHIER_PIN_PULL_DOWN),
85 	UNIPHIER_PINCTRL_PIN(20, "SMTDET0", UNIPHIER_PIN_IECTRL_NONE,
86 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
87 			     20, UNIPHIER_PIN_PULL_DOWN),
88 	UNIPHIER_PINCTRL_PIN(21, "SMTRST1", UNIPHIER_PIN_IECTRL_NONE,
89 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
90 			     21, UNIPHIER_PIN_PULL_DOWN),
91 	UNIPHIER_PINCTRL_PIN(22, "SMTCMD1", UNIPHIER_PIN_IECTRL_NONE,
92 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
93 			     22, UNIPHIER_PIN_PULL_DOWN),
94 	UNIPHIER_PINCTRL_PIN(23, "SMTD1", UNIPHIER_PIN_IECTRL_NONE,
95 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
96 			     23, UNIPHIER_PIN_PULL_DOWN),
97 	UNIPHIER_PINCTRL_PIN(24, "SMTSEL1", UNIPHIER_PIN_IECTRL_NONE,
98 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
99 			     24, UNIPHIER_PIN_PULL_DOWN),
100 	UNIPHIER_PINCTRL_PIN(25, "SMTCLK1CG", UNIPHIER_PIN_IECTRL_NONE,
101 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
102 			     25, UNIPHIER_PIN_PULL_DOWN),
103 	UNIPHIER_PINCTRL_PIN(26, "SMTDET1", UNIPHIER_PIN_IECTRL_NONE,
104 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
105 			     26, UNIPHIER_PIN_PULL_DOWN),
106 	UNIPHIER_PINCTRL_PIN(27, "XIRQ18", UNIPHIER_PIN_IECTRL_NONE,
107 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
108 			     27, UNIPHIER_PIN_PULL_DOWN),
109 	UNIPHIER_PINCTRL_PIN(28, "XIRQ19", UNIPHIER_PIN_IECTRL_NONE,
110 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
111 			     28, UNIPHIER_PIN_PULL_DOWN),
112 	UNIPHIER_PINCTRL_PIN(29, "XIRQ20", UNIPHIER_PIN_IECTRL_NONE,
113 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
114 			     29, UNIPHIER_PIN_PULL_DOWN),
115 	UNIPHIER_PINCTRL_PIN(30, "XNFRE", UNIPHIER_PIN_IECTRL_NONE,
116 			     30, UNIPHIER_PIN_DRV_4_8,
117 			     30, UNIPHIER_PIN_PULL_UP),
118 	UNIPHIER_PINCTRL_PIN(31, "XNFWE", UNIPHIER_PIN_IECTRL_NONE,
119 			     31, UNIPHIER_PIN_DRV_4_8,
120 			     31, UNIPHIER_PIN_PULL_UP),
121 	UNIPHIER_PINCTRL_PIN(32, "NFALE", UNIPHIER_PIN_IECTRL_NONE,
122 			     32, UNIPHIER_PIN_DRV_4_8,
123 			     32, UNIPHIER_PIN_PULL_DOWN),
124 	UNIPHIER_PINCTRL_PIN(33, "NFCLE", UNIPHIER_PIN_IECTRL_NONE,
125 			     33, UNIPHIER_PIN_DRV_4_8,
126 			     33, UNIPHIER_PIN_PULL_DOWN),
127 	UNIPHIER_PINCTRL_PIN(34, "XNFWP", UNIPHIER_PIN_IECTRL_NONE,
128 			     34, UNIPHIER_PIN_DRV_4_8,
129 			     34, UNIPHIER_PIN_PULL_DOWN),
130 	UNIPHIER_PINCTRL_PIN(35, "XNFCE0", UNIPHIER_PIN_IECTRL_NONE,
131 			     35, UNIPHIER_PIN_DRV_4_8,
132 			     35, UNIPHIER_PIN_PULL_UP),
133 	UNIPHIER_PINCTRL_PIN(36, "NFRYBY0", UNIPHIER_PIN_IECTRL_NONE,
134 			     36, UNIPHIER_PIN_DRV_4_8,
135 			     36, UNIPHIER_PIN_PULL_UP),
136 	UNIPHIER_PINCTRL_PIN(37, "XNFCE1", UNIPHIER_PIN_IECTRL_NONE,
137 			     37, UNIPHIER_PIN_DRV_4_8,
138 			     37, UNIPHIER_PIN_PULL_UP),
139 	UNIPHIER_PINCTRL_PIN(38, "NFRYBY1", UNIPHIER_PIN_IECTRL_NONE,
140 			     38, UNIPHIER_PIN_DRV_4_8,
141 			     38, UNIPHIER_PIN_PULL_UP),
142 	UNIPHIER_PINCTRL_PIN(39, "NFD0", UNIPHIER_PIN_IECTRL_NONE,
143 			     39, UNIPHIER_PIN_DRV_4_8,
144 			     39, UNIPHIER_PIN_PULL_DOWN),
145 	UNIPHIER_PINCTRL_PIN(40, "NFD1", UNIPHIER_PIN_IECTRL_NONE,
146 			     40, UNIPHIER_PIN_DRV_4_8,
147 			     40, UNIPHIER_PIN_PULL_DOWN),
148 	UNIPHIER_PINCTRL_PIN(41, "NFD2", UNIPHIER_PIN_IECTRL_NONE,
149 			     41, UNIPHIER_PIN_DRV_4_8,
150 			     41, UNIPHIER_PIN_PULL_DOWN),
151 	UNIPHIER_PINCTRL_PIN(42, "NFD3", UNIPHIER_PIN_IECTRL_NONE,
152 			     42, UNIPHIER_PIN_DRV_4_8,
153 			     42, UNIPHIER_PIN_PULL_DOWN),
154 	UNIPHIER_PINCTRL_PIN(43, "NFD4", UNIPHIER_PIN_IECTRL_NONE,
155 			     43, UNIPHIER_PIN_DRV_4_8,
156 			     43, UNIPHIER_PIN_PULL_DOWN),
157 	UNIPHIER_PINCTRL_PIN(44, "NFD5", UNIPHIER_PIN_IECTRL_NONE,
158 			     44, UNIPHIER_PIN_DRV_4_8,
159 			     44, UNIPHIER_PIN_PULL_DOWN),
160 	UNIPHIER_PINCTRL_PIN(45, "NFD6", UNIPHIER_PIN_IECTRL_NONE,
161 			     45, UNIPHIER_PIN_DRV_4_8,
162 			     45, UNIPHIER_PIN_PULL_DOWN),
163 	UNIPHIER_PINCTRL_PIN(46, "NFD7", UNIPHIER_PIN_IECTRL_NONE,
164 			     46, UNIPHIER_PIN_DRV_4_8,
165 			     46, UNIPHIER_PIN_PULL_DOWN),
166 	UNIPHIER_PINCTRL_PIN(47, "SDCLK", UNIPHIER_PIN_IECTRL_NONE,
167 			     0, UNIPHIER_PIN_DRV_8_12_16_20,
168 			     -1, UNIPHIER_PIN_PULL_UP_FIXED),
169 	UNIPHIER_PINCTRL_PIN(48, "SDCMD", UNIPHIER_PIN_IECTRL_NONE,
170 			     4, UNIPHIER_PIN_DRV_8_12_16_20,
171 			     -1, UNIPHIER_PIN_PULL_UP_FIXED),
172 	UNIPHIER_PINCTRL_PIN(49, "SDDAT0", UNIPHIER_PIN_IECTRL_NONE,
173 			     8, UNIPHIER_PIN_DRV_8_12_16_20,
174 			     -1, UNIPHIER_PIN_PULL_UP_FIXED),
175 	UNIPHIER_PINCTRL_PIN(50, "SDDAT1", UNIPHIER_PIN_IECTRL_NONE,
176 			     12, UNIPHIER_PIN_DRV_8_12_16_20,
177 			     -1, UNIPHIER_PIN_PULL_UP_FIXED),
178 	UNIPHIER_PINCTRL_PIN(51, "SDDAT2", UNIPHIER_PIN_IECTRL_NONE,
179 			     16, UNIPHIER_PIN_DRV_8_12_16_20,
180 			     -1, UNIPHIER_PIN_PULL_UP_FIXED),
181 	UNIPHIER_PINCTRL_PIN(52, "SDDAT3", UNIPHIER_PIN_IECTRL_NONE,
182 			     20, UNIPHIER_PIN_DRV_8_12_16_20,
183 			     -1, UNIPHIER_PIN_PULL_UP_FIXED),
184 	UNIPHIER_PINCTRL_PIN(53, "SDCD", UNIPHIER_PIN_IECTRL_NONE,
185 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
186 			     53, UNIPHIER_PIN_PULL_DOWN),
187 	UNIPHIER_PINCTRL_PIN(54, "SDWP", UNIPHIER_PIN_IECTRL_NONE,
188 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
189 			     54, UNIPHIER_PIN_PULL_DOWN),
190 	UNIPHIER_PINCTRL_PIN(55, "SDVOLC", UNIPHIER_PIN_IECTRL_NONE,
191 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
192 			     55, UNIPHIER_PIN_PULL_DOWN),
193 	UNIPHIER_PINCTRL_PIN(56, "USB0VBUS", UNIPHIER_PIN_IECTRL_NONE,
194 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
195 			     56, UNIPHIER_PIN_PULL_DOWN),
196 	UNIPHIER_PINCTRL_PIN(57, "USB0OD", UNIPHIER_PIN_IECTRL_NONE,
197 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
198 			     57, UNIPHIER_PIN_PULL_DOWN),
199 	UNIPHIER_PINCTRL_PIN(58, "USB1VBUS", UNIPHIER_PIN_IECTRL_NONE,
200 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
201 			     58, UNIPHIER_PIN_PULL_DOWN),
202 	UNIPHIER_PINCTRL_PIN(59, "USB1OD", UNIPHIER_PIN_IECTRL_NONE,
203 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
204 			     59, UNIPHIER_PIN_PULL_DOWN),
205 	UNIPHIER_PINCTRL_PIN(60, "USB2VBUS", UNIPHIER_PIN_IECTRL_NONE,
206 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
207 			     60, UNIPHIER_PIN_PULL_DOWN),
208 	UNIPHIER_PINCTRL_PIN(61, "USB2OD", UNIPHIER_PIN_IECTRL_NONE,
209 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
210 			     61, UNIPHIER_PIN_PULL_DOWN),
211 	UNIPHIER_PINCTRL_PIN(62, "USB3VBUS", UNIPHIER_PIN_IECTRL_NONE,
212 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
213 			     62, UNIPHIER_PIN_PULL_DOWN),
214 	UNIPHIER_PINCTRL_PIN(63, "USB3OD", UNIPHIER_PIN_IECTRL_NONE,
215 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
216 			     63, UNIPHIER_PIN_PULL_DOWN),
217 	UNIPHIER_PINCTRL_PIN(64, "CH0CLK", UNIPHIER_PIN_IECTRL_NONE,
218 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
219 			     64, UNIPHIER_PIN_PULL_DOWN),
220 	UNIPHIER_PINCTRL_PIN(65, "CH0PSYNC", UNIPHIER_PIN_IECTRL_NONE,
221 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
222 			     65, UNIPHIER_PIN_PULL_DOWN),
223 	UNIPHIER_PINCTRL_PIN(66, "CH0VAL", UNIPHIER_PIN_IECTRL_NONE,
224 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
225 			     66, UNIPHIER_PIN_PULL_DOWN),
226 	UNIPHIER_PINCTRL_PIN(67, "CH0DATA", UNIPHIER_PIN_IECTRL_NONE,
227 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
228 			     67, UNIPHIER_PIN_PULL_DOWN),
229 	UNIPHIER_PINCTRL_PIN(68, "CH1CLK", UNIPHIER_PIN_IECTRL_NONE,
230 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
231 			     68, UNIPHIER_PIN_PULL_DOWN),
232 	UNIPHIER_PINCTRL_PIN(69, "CH1PSYNC", UNIPHIER_PIN_IECTRL_NONE,
233 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
234 			     69, UNIPHIER_PIN_PULL_DOWN),
235 	UNIPHIER_PINCTRL_PIN(70, "CH1VAL", UNIPHIER_PIN_IECTRL_NONE,
236 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
237 			     70, UNIPHIER_PIN_PULL_DOWN),
238 	UNIPHIER_PINCTRL_PIN(71, "CH1DATA", UNIPHIER_PIN_IECTRL_NONE,
239 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
240 			     71, UNIPHIER_PIN_PULL_DOWN),
241 	UNIPHIER_PINCTRL_PIN(72, "XIRQ9", UNIPHIER_PIN_IECTRL_NONE,
242 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
243 			     72, UNIPHIER_PIN_PULL_DOWN),
244 	UNIPHIER_PINCTRL_PIN(73, "XIRQ10", UNIPHIER_PIN_IECTRL_NONE,
245 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
246 			     73, UNIPHIER_PIN_PULL_DOWN),
247 	UNIPHIER_PINCTRL_PIN(74, "XIRQ16", UNIPHIER_PIN_IECTRL_NONE,
248 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
249 			     74, UNIPHIER_PIN_PULL_DOWN),
250 	UNIPHIER_PINCTRL_PIN(75, "CH4CLK", UNIPHIER_PIN_IECTRL_NONE,
251 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
252 			     75, UNIPHIER_PIN_PULL_DOWN),
253 	UNIPHIER_PINCTRL_PIN(76, "CH4PSYNC", UNIPHIER_PIN_IECTRL_NONE,
254 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
255 			     76, UNIPHIER_PIN_PULL_DOWN),
256 	UNIPHIER_PINCTRL_PIN(77, "CH4VAL", UNIPHIER_PIN_IECTRL_NONE,
257 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
258 			     77, UNIPHIER_PIN_PULL_DOWN),
259 	UNIPHIER_PINCTRL_PIN(78, "CH4DATA", UNIPHIER_PIN_IECTRL_NONE,
260 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
261 			     78, UNIPHIER_PIN_PULL_DOWN),
262 	UNIPHIER_PINCTRL_PIN(79, "CH5CLK", UNIPHIER_PIN_IECTRL_NONE,
263 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
264 			     79, UNIPHIER_PIN_PULL_DOWN),
265 	UNIPHIER_PINCTRL_PIN(80, "CH5PSYNC", UNIPHIER_PIN_IECTRL_NONE,
266 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
267 			     80, UNIPHIER_PIN_PULL_DOWN),
268 	UNIPHIER_PINCTRL_PIN(81, "CH5VAL", UNIPHIER_PIN_IECTRL_NONE,
269 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
270 			     81, UNIPHIER_PIN_PULL_DOWN),
271 	UNIPHIER_PINCTRL_PIN(82, "CH5DATA", UNIPHIER_PIN_IECTRL_NONE,
272 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
273 			     82, UNIPHIER_PIN_PULL_DOWN),
274 	UNIPHIER_PINCTRL_PIN(83, "CH6CLK", UNIPHIER_PIN_IECTRL_NONE,
275 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
276 			     83, UNIPHIER_PIN_PULL_DOWN),
277 	UNIPHIER_PINCTRL_PIN(84, "CH6PSYNC", UNIPHIER_PIN_IECTRL_NONE,
278 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
279 			     84, UNIPHIER_PIN_PULL_DOWN),
280 	UNIPHIER_PINCTRL_PIN(85, "CH6VAL", UNIPHIER_PIN_IECTRL_NONE,
281 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
282 			     85, UNIPHIER_PIN_PULL_DOWN),
283 	UNIPHIER_PINCTRL_PIN(86, "CH6DATA", UNIPHIER_PIN_IECTRL_NONE,
284 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
285 			     86, UNIPHIER_PIN_PULL_DOWN),
286 	UNIPHIER_PINCTRL_PIN(87, "STS0CLKO", UNIPHIER_PIN_IECTRL_NONE,
287 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
288 			     87, UNIPHIER_PIN_PULL_DOWN),
289 	UNIPHIER_PINCTRL_PIN(88, "STS0SYNCO", UNIPHIER_PIN_IECTRL_NONE,
290 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
291 			     88, UNIPHIER_PIN_PULL_DOWN),
292 	UNIPHIER_PINCTRL_PIN(89, "STS0VALO", UNIPHIER_PIN_IECTRL_NONE,
293 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
294 			     89, UNIPHIER_PIN_PULL_DOWN),
295 	UNIPHIER_PINCTRL_PIN(90, "STS0DATAO", UNIPHIER_PIN_IECTRL_NONE,
296 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
297 			     90, UNIPHIER_PIN_PULL_DOWN),
298 	UNIPHIER_PINCTRL_PIN(91, "XIRQ17", UNIPHIER_PIN_IECTRL_NONE,
299 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
300 			     91, UNIPHIER_PIN_PULL_DOWN),
301 	UNIPHIER_PINCTRL_PIN(92, "PORT163", UNIPHIER_PIN_IECTRL_NONE,
302 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
303 			     92, UNIPHIER_PIN_PULL_DOWN),
304 	UNIPHIER_PINCTRL_PIN(93, "PORT165", UNIPHIER_PIN_IECTRL_NONE,
305 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
306 			     93, UNIPHIER_PIN_PULL_DOWN),
307 	UNIPHIER_PINCTRL_PIN(94, "PORT166", UNIPHIER_PIN_IECTRL_NONE,
308 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
309 			     94, UNIPHIER_PIN_PULL_DOWN),
310 	UNIPHIER_PINCTRL_PIN(95, "PORT132", UNIPHIER_PIN_IECTRL_NONE,
311 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
312 			     95, UNIPHIER_PIN_PULL_DOWN),
313 	UNIPHIER_PINCTRL_PIN(96, "PORT133", UNIPHIER_PIN_IECTRL_NONE,
314 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
315 			     96, UNIPHIER_PIN_PULL_DOWN),
316 	UNIPHIER_PINCTRL_PIN(97, "AO2IEC", UNIPHIER_PIN_IECTRL_NONE,
317 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
318 			     97, UNIPHIER_PIN_PULL_DOWN),
319 	UNIPHIER_PINCTRL_PIN(98, "AI2ADCCK", UNIPHIER_PIN_IECTRL_NONE,
320 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
321 			     98, UNIPHIER_PIN_PULL_DOWN),
322 	UNIPHIER_PINCTRL_PIN(99, "AI2BCK", UNIPHIER_PIN_IECTRL_NONE,
323 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
324 			     99, UNIPHIER_PIN_PULL_DOWN),
325 	UNIPHIER_PINCTRL_PIN(100, "AI2LRCK", UNIPHIER_PIN_IECTRL_NONE,
326 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
327 			     100, UNIPHIER_PIN_PULL_DOWN),
328 	UNIPHIER_PINCTRL_PIN(101, "AI2D0", UNIPHIER_PIN_IECTRL_NONE,
329 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
330 			     101, UNIPHIER_PIN_PULL_DOWN),
331 	UNIPHIER_PINCTRL_PIN(102, "AI2D1", UNIPHIER_PIN_IECTRL_NONE,
332 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
333 			     102, UNIPHIER_PIN_PULL_DOWN),
334 	UNIPHIER_PINCTRL_PIN(103, "AI2D2", UNIPHIER_PIN_IECTRL_NONE,
335 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
336 			     103, UNIPHIER_PIN_PULL_DOWN),
337 	UNIPHIER_PINCTRL_PIN(104, "AI2D3", UNIPHIER_PIN_IECTRL_NONE,
338 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
339 			     104, UNIPHIER_PIN_PULL_DOWN),
340 	UNIPHIER_PINCTRL_PIN(105, "AO3DACCK", UNIPHIER_PIN_IECTRL_NONE,
341 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
342 			     105, UNIPHIER_PIN_PULL_DOWN),
343 	UNIPHIER_PINCTRL_PIN(106, "AO3BCK", UNIPHIER_PIN_IECTRL_NONE,
344 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
345 			     106, UNIPHIER_PIN_PULL_DOWN),
346 	UNIPHIER_PINCTRL_PIN(107, "AO3LRCK", UNIPHIER_PIN_IECTRL_NONE,
347 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
348 			     107, UNIPHIER_PIN_PULL_DOWN),
349 	UNIPHIER_PINCTRL_PIN(108, "AO3DMIX", UNIPHIER_PIN_IECTRL_NONE,
350 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
351 			     108, UNIPHIER_PIN_PULL_DOWN),
352 	UNIPHIER_PINCTRL_PIN(109, "SDA0", UNIPHIER_PIN_IECTRL_NONE,
353 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
354 			     109, UNIPHIER_PIN_PULL_DOWN),
355 	UNIPHIER_PINCTRL_PIN(110, "SCL0", UNIPHIER_PIN_IECTRL_NONE,
356 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
357 			     110, UNIPHIER_PIN_PULL_DOWN),
358 	UNIPHIER_PINCTRL_PIN(111, "SDA1", UNIPHIER_PIN_IECTRL_NONE,
359 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
360 			     111, UNIPHIER_PIN_PULL_DOWN),
361 	UNIPHIER_PINCTRL_PIN(112, "SCL1", UNIPHIER_PIN_IECTRL_NONE,
362 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
363 			     112, UNIPHIER_PIN_PULL_DOWN),
364 	UNIPHIER_PINCTRL_PIN(113, "TXD2", 0,
365 			     113, UNIPHIER_PIN_DRV_4_8,
366 			     113, UNIPHIER_PIN_PULL_UP),
367 	UNIPHIER_PINCTRL_PIN(114, "RXD2", 0,
368 			     114, UNIPHIER_PIN_DRV_4_8,
369 			     114, UNIPHIER_PIN_PULL_UP),
370 	UNIPHIER_PINCTRL_PIN(115, "TXD1", 0,
371 			     115, UNIPHIER_PIN_DRV_4_8,
372 			     115, UNIPHIER_PIN_PULL_UP),
373 	UNIPHIER_PINCTRL_PIN(116, "RXD1", 0,
374 			     116, UNIPHIER_PIN_DRV_4_8,
375 			     116, UNIPHIER_PIN_PULL_UP),
376 	UNIPHIER_PINCTRL_PIN(117, "PORT190", UNIPHIER_PIN_IECTRL_NONE,
377 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
378 			     117, UNIPHIER_PIN_PULL_DOWN),
379 	UNIPHIER_PINCTRL_PIN(118, "VI1HSYNC", UNIPHIER_PIN_IECTRL_NONE,
380 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
381 			     118, UNIPHIER_PIN_PULL_DOWN),
382 	UNIPHIER_PINCTRL_PIN(119, "VI1VSYNC", UNIPHIER_PIN_IECTRL_NONE,
383 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
384 			     119, UNIPHIER_PIN_PULL_DOWN),
385 	UNIPHIER_PINCTRL_PIN(120, "VI1DE", UNIPHIER_PIN_IECTRL_NONE,
386 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
387 			     120, UNIPHIER_PIN_PULL_DOWN),
388 	UNIPHIER_PINCTRL_PIN(121, "XIRQ3", UNIPHIER_PIN_IECTRL_NONE,
389 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
390 			     121, UNIPHIER_PIN_PULL_DOWN),
391 	UNIPHIER_PINCTRL_PIN(122, "XIRQ4", UNIPHIER_PIN_IECTRL_NONE,
392 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
393 			     122, UNIPHIER_PIN_PULL_DOWN),
394 	UNIPHIER_PINCTRL_PIN(123, "VI1G2", UNIPHIER_PIN_IECTRL_NONE,
395 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
396 			     123, UNIPHIER_PIN_PULL_DOWN),
397 	UNIPHIER_PINCTRL_PIN(124, "VI1G3", UNIPHIER_PIN_IECTRL_NONE,
398 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
399 			     124, UNIPHIER_PIN_PULL_DOWN),
400 	UNIPHIER_PINCTRL_PIN(125, "VI1G4", UNIPHIER_PIN_IECTRL_NONE,
401 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
402 			     125, UNIPHIER_PIN_PULL_DOWN),
403 	UNIPHIER_PINCTRL_PIN(126, "VI1G5", UNIPHIER_PIN_IECTRL_NONE,
404 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
405 			     126, UNIPHIER_PIN_PULL_DOWN),
406 	UNIPHIER_PINCTRL_PIN(127, "VI1G6", UNIPHIER_PIN_IECTRL_NONE,
407 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
408 			     127, UNIPHIER_PIN_PULL_DOWN),
409 	UNIPHIER_PINCTRL_PIN(128, "VI1G7", UNIPHIER_PIN_IECTRL_NONE,
410 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
411 			     128, UNIPHIER_PIN_PULL_DOWN),
412 	UNIPHIER_PINCTRL_PIN(129, "VI1G8", UNIPHIER_PIN_IECTRL_NONE,
413 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
414 			     129, UNIPHIER_PIN_PULL_DOWN),
415 	UNIPHIER_PINCTRL_PIN(130, "VI1G9", UNIPHIER_PIN_IECTRL_NONE,
416 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
417 			     130, UNIPHIER_PIN_PULL_DOWN),
418 	UNIPHIER_PINCTRL_PIN(131, "VI1CLK", UNIPHIER_PIN_IECTRL_NONE,
419 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
420 			     131, UNIPHIER_PIN_PULL_DOWN),
421 	UNIPHIER_PINCTRL_PIN(132, "PORT05", UNIPHIER_PIN_IECTRL_NONE,
422 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
423 			     132, UNIPHIER_PIN_PULL_DOWN),
424 	UNIPHIER_PINCTRL_PIN(133, "PORT06", UNIPHIER_PIN_IECTRL_NONE,
425 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
426 			     133, UNIPHIER_PIN_PULL_DOWN),
427 	UNIPHIER_PINCTRL_PIN(134, "VI1R2", UNIPHIER_PIN_IECTRL_NONE,
428 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
429 			     134, UNIPHIER_PIN_PULL_DOWN),
430 	UNIPHIER_PINCTRL_PIN(135, "VI1R3", UNIPHIER_PIN_IECTRL_NONE,
431 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
432 			     135, UNIPHIER_PIN_PULL_DOWN),
433 	UNIPHIER_PINCTRL_PIN(136, "VI1R4", UNIPHIER_PIN_IECTRL_NONE,
434 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
435 			     136, UNIPHIER_PIN_PULL_DOWN),
436 	UNIPHIER_PINCTRL_PIN(137, "VI1R5", UNIPHIER_PIN_IECTRL_NONE,
437 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
438 			     137, UNIPHIER_PIN_PULL_DOWN),
439 	UNIPHIER_PINCTRL_PIN(138, "VI1R6", UNIPHIER_PIN_IECTRL_NONE,
440 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
441 			     138, UNIPHIER_PIN_PULL_DOWN),
442 	UNIPHIER_PINCTRL_PIN(139, "VI1R7", UNIPHIER_PIN_IECTRL_NONE,
443 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
444 			     139, UNIPHIER_PIN_PULL_DOWN),
445 	UNIPHIER_PINCTRL_PIN(140, "VI1R8", UNIPHIER_PIN_IECTRL_NONE,
446 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
447 			     140, UNIPHIER_PIN_PULL_DOWN),
448 	UNIPHIER_PINCTRL_PIN(141, "VI1R9", UNIPHIER_PIN_IECTRL_NONE,
449 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
450 			     141, UNIPHIER_PIN_PULL_DOWN),
451 	UNIPHIER_PINCTRL_PIN(142, "LPST", UNIPHIER_PIN_IECTRL_NONE,
452 			     142, UNIPHIER_PIN_DRV_4_8,
453 			     142, UNIPHIER_PIN_PULL_DOWN),
454 	UNIPHIER_PINCTRL_PIN(143, "MDC", 0,
455 			     143, UNIPHIER_PIN_DRV_4_8,
456 			     143, UNIPHIER_PIN_PULL_DOWN),
457 	UNIPHIER_PINCTRL_PIN(144, "MDIO", 0,
458 			     144, UNIPHIER_PIN_DRV_4_8,
459 			     144, UNIPHIER_PIN_PULL_DOWN),
460 	UNIPHIER_PINCTRL_PIN(145, "MDIO_INTL", 0,
461 			     145, UNIPHIER_PIN_DRV_4_8,
462 			     145, UNIPHIER_PIN_PULL_DOWN),
463 	UNIPHIER_PINCTRL_PIN(146, "PHYRSTL", 0,
464 			     146, UNIPHIER_PIN_DRV_4_8,
465 			     146, UNIPHIER_PIN_PULL_DOWN),
466 	UNIPHIER_PINCTRL_PIN(147, "RGMII_RXCLK", 0,
467 			     147, UNIPHIER_PIN_DRV_4_8,
468 			     147, UNIPHIER_PIN_PULL_DOWN),
469 	UNIPHIER_PINCTRL_PIN(148, "RGMII_RXD0", 0,
470 			     148, UNIPHIER_PIN_DRV_4_8,
471 			     148, UNIPHIER_PIN_PULL_DOWN),
472 	UNIPHIER_PINCTRL_PIN(149, "RGMII_RXD1", 0,
473 			     149, UNIPHIER_PIN_DRV_4_8,
474 			     149, UNIPHIER_PIN_PULL_DOWN),
475 	UNIPHIER_PINCTRL_PIN(150, "RGMII_RXD2", 0,
476 			     150, UNIPHIER_PIN_DRV_4_8,
477 			     150, UNIPHIER_PIN_PULL_DOWN),
478 	UNIPHIER_PINCTRL_PIN(151, "RGMII_RXD3", 0,
479 			     151, UNIPHIER_PIN_DRV_4_8,
480 			     151, UNIPHIER_PIN_PULL_DOWN),
481 	UNIPHIER_PINCTRL_PIN(152, "RGMII_RXCTL", 0,
482 			     152, UNIPHIER_PIN_DRV_4_8,
483 			     152, UNIPHIER_PIN_PULL_DOWN),
484 	UNIPHIER_PINCTRL_PIN(153, "RGMII_TXCLK", 0,
485 			     153, UNIPHIER_PIN_DRV_4_8,
486 			     153, UNIPHIER_PIN_PULL_DOWN),
487 	UNIPHIER_PINCTRL_PIN(154, "RGMII_TXD0", 0,
488 			     154, UNIPHIER_PIN_DRV_4_8,
489 			     154, UNIPHIER_PIN_PULL_DOWN),
490 	UNIPHIER_PINCTRL_PIN(155, "RGMII_TXD1", 0,
491 			     155, UNIPHIER_PIN_DRV_4_8,
492 			     155, UNIPHIER_PIN_PULL_DOWN),
493 	UNIPHIER_PINCTRL_PIN(156, "RGMII_TXD2", 0,
494 			     156, UNIPHIER_PIN_DRV_4_8,
495 			     156, UNIPHIER_PIN_PULL_DOWN),
496 	UNIPHIER_PINCTRL_PIN(157, "RGMII_TXD3", 0,
497 			     157, UNIPHIER_PIN_DRV_4_8,
498 			     157, UNIPHIER_PIN_PULL_DOWN),
499 	UNIPHIER_PINCTRL_PIN(158, "RGMII_TXCTL", 0,
500 			     158, UNIPHIER_PIN_DRV_4_8,
501 			     158, UNIPHIER_PIN_PULL_DOWN),
502 	UNIPHIER_PINCTRL_PIN(159, "SDA3", UNIPHIER_PIN_IECTRL_NONE,
503 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
504 			     159, UNIPHIER_PIN_PULL_DOWN),
505 	UNIPHIER_PINCTRL_PIN(160, "SCL3", UNIPHIER_PIN_IECTRL_NONE,
506 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
507 			     160, UNIPHIER_PIN_PULL_DOWN),
508 	UNIPHIER_PINCTRL_PIN(161, "AI1ADCCK", UNIPHIER_PIN_IECTRL_NONE,
509 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
510 			     161, UNIPHIER_PIN_PULL_DOWN),
511 	UNIPHIER_PINCTRL_PIN(162, "AI1BCK", UNIPHIER_PIN_IECTRL_NONE,
512 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
513 			     162, UNIPHIER_PIN_PULL_DOWN),
514 	UNIPHIER_PINCTRL_PIN(163, "CH2CLK", UNIPHIER_PIN_IECTRL_NONE,
515 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
516 			     163, UNIPHIER_PIN_PULL_DOWN),
517 	UNIPHIER_PINCTRL_PIN(164, "CH2PSYNC", UNIPHIER_PIN_IECTRL_NONE,
518 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
519 			     164, UNIPHIER_PIN_PULL_DOWN),
520 	UNIPHIER_PINCTRL_PIN(165, "CH2VAL", UNIPHIER_PIN_IECTRL_NONE,
521 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
522 			     165, UNIPHIER_PIN_PULL_DOWN),
523 	UNIPHIER_PINCTRL_PIN(166, "CH2DATA", UNIPHIER_PIN_IECTRL_NONE,
524 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
525 			     166, UNIPHIER_PIN_PULL_DOWN),
526 	UNIPHIER_PINCTRL_PIN(167, "CH3CLK", UNIPHIER_PIN_IECTRL_NONE,
527 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
528 			     167, UNIPHIER_PIN_PULL_DOWN),
529 	UNIPHIER_PINCTRL_PIN(168, "CH3PSYNC", UNIPHIER_PIN_IECTRL_NONE,
530 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
531 			     168, UNIPHIER_PIN_PULL_DOWN),
532 	UNIPHIER_PINCTRL_PIN(169, "CH3VAL", UNIPHIER_PIN_IECTRL_NONE,
533 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
534 			     169, UNIPHIER_PIN_PULL_DOWN),
535 	UNIPHIER_PINCTRL_PIN(170, "CH3DATA", UNIPHIER_PIN_IECTRL_NONE,
536 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
537 			     170, UNIPHIER_PIN_PULL_DOWN),
538 	UNIPHIER_PINCTRL_PIN(171, "SDA2", UNIPHIER_PIN_IECTRL_NONE,
539 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
540 			     171, UNIPHIER_PIN_PULL_DOWN),
541 	UNIPHIER_PINCTRL_PIN(172, "SCL2", UNIPHIER_PIN_IECTRL_NONE,
542 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
543 			     172, UNIPHIER_PIN_PULL_DOWN),
544 	UNIPHIER_PINCTRL_PIN(173, "AI1LRCK", UNIPHIER_PIN_IECTRL_NONE,
545 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
546 			     173, UNIPHIER_PIN_PULL_DOWN),
547 	UNIPHIER_PINCTRL_PIN(174, "AI1D0", UNIPHIER_PIN_IECTRL_NONE,
548 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
549 			     174, UNIPHIER_PIN_PULL_DOWN),
550 	UNIPHIER_PINCTRL_PIN(175, "AO2LRCK", UNIPHIER_PIN_IECTRL_NONE,
551 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
552 			     175, UNIPHIER_PIN_PULL_DOWN),
553 	UNIPHIER_PINCTRL_PIN(176, "AO2D0", UNIPHIER_PIN_IECTRL_NONE,
554 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
555 			     176, UNIPHIER_PIN_PULL_DOWN),
556 	UNIPHIER_PINCTRL_PIN(177, "AO2DACCK", UNIPHIER_PIN_IECTRL_NONE,
557 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
558 			     177, UNIPHIER_PIN_PULL_DOWN),
559 	UNIPHIER_PINCTRL_PIN(178, "AO2BCK", UNIPHIER_PIN_IECTRL_NONE,
560 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
561 			     178, UNIPHIER_PIN_PULL_DOWN),
562 	UNIPHIER_PINCTRL_PIN(179, "PORT222", UNIPHIER_PIN_IECTRL_NONE,
563 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
564 			     179, UNIPHIER_PIN_PULL_DOWN),
565 	UNIPHIER_PINCTRL_PIN(180, "PORT223", UNIPHIER_PIN_IECTRL_NONE,
566 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
567 			     180, UNIPHIER_PIN_PULL_DOWN),
568 	UNIPHIER_PINCTRL_PIN(181, "PORT224", UNIPHIER_PIN_IECTRL_NONE,
569 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
570 			     181, UNIPHIER_PIN_PULL_DOWN),
571 	UNIPHIER_PINCTRL_PIN(182, "PORT225", UNIPHIER_PIN_IECTRL_NONE,
572 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
573 			     182, UNIPHIER_PIN_PULL_DOWN),
574 	UNIPHIER_PINCTRL_PIN(183, "PORT226", UNIPHIER_PIN_IECTRL_NONE,
575 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
576 			     183, UNIPHIER_PIN_PULL_DOWN),
577 	UNIPHIER_PINCTRL_PIN(184, "PORT227", UNIPHIER_PIN_IECTRL_NONE,
578 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
579 			     184, UNIPHIER_PIN_PULL_DOWN),
580 	UNIPHIER_PINCTRL_PIN(185, "PORT230", UNIPHIER_PIN_IECTRL_NONE,
581 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
582 			     185, UNIPHIER_PIN_PULL_DOWN),
583 	UNIPHIER_PINCTRL_PIN(186, "FANPWM", UNIPHIER_PIN_IECTRL_NONE,
584 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
585 			     186, UNIPHIER_PIN_PULL_DOWN),
586 	UNIPHIER_PINCTRL_PIN(187, "HRDDCSDA0", 0,
587 			     187, UNIPHIER_PIN_DRV_4_8,
588 			     187, UNIPHIER_PIN_PULL_DOWN),
589 	UNIPHIER_PINCTRL_PIN(188, "HRDDCSCL0", 0,
590 			     188, UNIPHIER_PIN_DRV_4_8,
591 			     188, UNIPHIER_PIN_PULL_DOWN),
592 	UNIPHIER_PINCTRL_PIN(189, "HRDDCSDA1", 0,
593 			     189, UNIPHIER_PIN_DRV_4_8,
594 			     189, UNIPHIER_PIN_PULL_DOWN),
595 	UNIPHIER_PINCTRL_PIN(190, "HRDDCSCL1", 0,
596 			     190, UNIPHIER_PIN_DRV_4_8,
597 			     190, UNIPHIER_PIN_PULL_DOWN),
598 	UNIPHIER_PINCTRL_PIN(191, "HTDDCSDA0", 0,
599 			     191, UNIPHIER_PIN_DRV_4_8,
600 			     191, UNIPHIER_PIN_PULL_DOWN),
601 	UNIPHIER_PINCTRL_PIN(192, "HTDDCSCL0", 0,
602 			     192, UNIPHIER_PIN_DRV_4_8,
603 			     192, UNIPHIER_PIN_PULL_DOWN),
604 	UNIPHIER_PINCTRL_PIN(193, "HTDDCSDA1", 0,
605 			     193, UNIPHIER_PIN_DRV_4_8,
606 			     193, UNIPHIER_PIN_PULL_DOWN),
607 	UNIPHIER_PINCTRL_PIN(194, "HTDDCSCL1", 0,
608 			     194, UNIPHIER_PIN_DRV_4_8,
609 			     194, UNIPHIER_PIN_PULL_DOWN),
610 	UNIPHIER_PINCTRL_PIN(195, "PORT241", 0,
611 			     195, UNIPHIER_PIN_DRV_4_8,
612 			     195, UNIPHIER_PIN_PULL_DOWN),
613 	UNIPHIER_PINCTRL_PIN(196, "PORT242", 0,
614 			     196, UNIPHIER_PIN_DRV_4_8,
615 			     196, UNIPHIER_PIN_PULL_DOWN),
616 	UNIPHIER_PINCTRL_PIN(197, "PORT243", 0,
617 			     197, UNIPHIER_PIN_DRV_4_8,
618 			     197, UNIPHIER_PIN_PULL_DOWN),
619 	UNIPHIER_PINCTRL_PIN(198, "MVSYNC", 0,
620 			     198, UNIPHIER_PIN_DRV_4_8,
621 			     198, UNIPHIER_PIN_PULL_DOWN),
622 	UNIPHIER_PINCTRL_PIN(199, "SPISYNC0", UNIPHIER_PIN_IECTRL_NONE,
623 			     199, UNIPHIER_PIN_DRV_4_8,
624 			     199, UNIPHIER_PIN_PULL_DOWN),
625 	UNIPHIER_PINCTRL_PIN(200, "SPISCLK0", UNIPHIER_PIN_IECTRL_NONE,
626 			     200, UNIPHIER_PIN_DRV_4_8,
627 			     200, UNIPHIER_PIN_PULL_DOWN),
628 	UNIPHIER_PINCTRL_PIN(201, "SPITXD0", UNIPHIER_PIN_IECTRL_NONE,
629 			     201, UNIPHIER_PIN_DRV_4_8,
630 			     201, UNIPHIER_PIN_PULL_DOWN),
631 	UNIPHIER_PINCTRL_PIN(202, "SPIRXD0", UNIPHIER_PIN_IECTRL_NONE,
632 			     202, UNIPHIER_PIN_DRV_4_8,
633 			     202, UNIPHIER_PIN_PULL_DOWN),
634 	UNIPHIER_PINCTRL_PIN(203, "CK54EXI", UNIPHIER_PIN_IECTRL_NONE,
635 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
636 			     203, UNIPHIER_PIN_PULL_DOWN),
637 	UNIPHIER_PINCTRL_PIN(204, "AEXCKA1", UNIPHIER_PIN_IECTRL_NONE,
638 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
639 			     204, UNIPHIER_PIN_PULL_DOWN),
640 	UNIPHIER_PINCTRL_PIN(205, "AEXCKA2", UNIPHIER_PIN_IECTRL_NONE,
641 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
642 			     205, UNIPHIER_PIN_PULL_DOWN),
643 	UNIPHIER_PINCTRL_PIN(206, "CK27EXI", UNIPHIER_PIN_IECTRL_NONE,
644 			     -1, UNIPHIER_PIN_DRV_FIXED_8,
645 			     206, UNIPHIER_PIN_PULL_DOWN),
646 	UNIPHIER_PINCTRL_PIN(207, "STCDIN", 0,
647 			     207, UNIPHIER_PIN_DRV_4_8,
648 			     207, UNIPHIER_PIN_PULL_DOWN),
649 	UNIPHIER_PINCTRL_PIN(208, "PHSYNI", 0,
650 			     208, UNIPHIER_PIN_DRV_4_8,
651 			     208, UNIPHIER_PIN_PULL_DOWN),
652 	UNIPHIER_PINCTRL_PIN(209, "PVSYNI", 0,
653 			     209, UNIPHIER_PIN_DRV_4_8,
654 			     209, UNIPHIER_PIN_PULL_DOWN),
655 	UNIPHIER_PINCTRL_PIN(210, "MVSYN", UNIPHIER_PIN_IECTRL_NONE,
656 			     210, UNIPHIER_PIN_DRV_4_8,
657 			     210, UNIPHIER_PIN_PULL_DOWN),
658 	UNIPHIER_PINCTRL_PIN(211, "STCV", UNIPHIER_PIN_IECTRL_NONE,
659 			     211, UNIPHIER_PIN_DRV_4_8,
660 			     211, UNIPHIER_PIN_PULL_DOWN),
661 	UNIPHIER_PINCTRL_PIN(212, "PORT262", UNIPHIER_PIN_IECTRL_NONE,
662 			     212, UNIPHIER_PIN_DRV_4_8,
663 			     212, UNIPHIER_PIN_PULL_DOWN),
664 	UNIPHIER_PINCTRL_PIN(213, "USB0VBUS_IRQ", UNIPHIER_PIN_IECTRL_NONE,
665 			     -1, UNIPHIER_PIN_DRV_FIXED_4,
666 			     213, UNIPHIER_PIN_PULL_DOWN),
667 	UNIPHIER_PINCTRL_PIN(214, "USB1VBUS_IRQ", UNIPHIER_PIN_IECTRL_NONE,
668 			     -1, UNIPHIER_PIN_DRV_FIXED_4,
669 			     214, UNIPHIER_PIN_PULL_DOWN),
670 	UNIPHIER_PINCTRL_PIN(215, "PORT265", UNIPHIER_PIN_IECTRL_NONE,
671 			     215, UNIPHIER_PIN_DRV_4_8,
672 			     215, UNIPHIER_PIN_PULL_DOWN),
673 	UNIPHIER_PINCTRL_PIN(216, "CK25O", 0,
674 			     216, UNIPHIER_PIN_DRV_4_8,
675 			     216, UNIPHIER_PIN_PULL_DOWN),
676 	UNIPHIER_PINCTRL_PIN(217, "TXD0", 0,
677 			     217, UNIPHIER_PIN_DRV_4_8,
678 			     217, UNIPHIER_PIN_PULL_DOWN),
679 	UNIPHIER_PINCTRL_PIN(218, "RXD0", 0,
680 			     218, UNIPHIER_PIN_DRV_4_8,
681 			     218, UNIPHIER_PIN_PULL_DOWN),
682 	UNIPHIER_PINCTRL_PIN(219, "TXD3", 0,
683 			     219, UNIPHIER_PIN_DRV_4_8,
684 			     219, UNIPHIER_PIN_PULL_DOWN),
685 	UNIPHIER_PINCTRL_PIN(220, "RXD3", 0,
686 			     220, UNIPHIER_PIN_DRV_4_8,
687 			     220, UNIPHIER_PIN_PULL_DOWN),
688 	UNIPHIER_PINCTRL_PIN(221, "PORT273", 0,
689 			     221, UNIPHIER_PIN_DRV_4_8,
690 			     221, UNIPHIER_PIN_PULL_DOWN),
691 	UNIPHIER_PINCTRL_PIN(222, "STCDOUTC", 0,
692 			     222, UNIPHIER_PIN_DRV_4_8,
693 			     222, UNIPHIER_PIN_PULL_DOWN),
694 	UNIPHIER_PINCTRL_PIN(223, "PORT274", 0,
695 			     223, UNIPHIER_PIN_DRV_4_8,
696 			     223, UNIPHIER_PIN_PULL_DOWN),
697 	UNIPHIER_PINCTRL_PIN(224, "PORT275", 0,
698 			     224, UNIPHIER_PIN_DRV_4_8,
699 			     224, UNIPHIER_PIN_PULL_DOWN),
700 	UNIPHIER_PINCTRL_PIN(225, "PORT276", 0,
701 			     225, UNIPHIER_PIN_DRV_4_8,
702 			     225, UNIPHIER_PIN_PULL_DOWN),
703 	UNIPHIER_PINCTRL_PIN(226, "PORT277", 0,
704 			     226, UNIPHIER_PIN_DRV_4_8,
705 			     226, UNIPHIER_PIN_PULL_DOWN),
706 	UNIPHIER_PINCTRL_PIN(227, "PORT280", 0,
707 			     227, UNIPHIER_PIN_DRV_4_8,
708 			     227, UNIPHIER_PIN_PULL_DOWN),
709 	UNIPHIER_PINCTRL_PIN(228, "PORT281", 0,
710 			     228, UNIPHIER_PIN_DRV_4_8,
711 			     228, UNIPHIER_PIN_PULL_DOWN),
712 	UNIPHIER_PINCTRL_PIN(229, "PORT282", 0,
713 			     229, UNIPHIER_PIN_DRV_4_8,
714 			     229, UNIPHIER_PIN_PULL_DOWN),
715 	UNIPHIER_PINCTRL_PIN(230, "PORT283", 0,
716 			     230, UNIPHIER_PIN_DRV_4_8,
717 			     230, UNIPHIER_PIN_PULL_DOWN),
718 	UNIPHIER_PINCTRL_PIN(231, "PORT284", 0,
719 			     231, UNIPHIER_PIN_DRV_4_8,
720 			     231, UNIPHIER_PIN_PULL_DOWN),
721 	UNIPHIER_PINCTRL_PIN(232, "PORT285", 0,
722 			     232, UNIPHIER_PIN_DRV_4_8,
723 			     232, UNIPHIER_PIN_PULL_DOWN),
724 	UNIPHIER_PINCTRL_PIN(233, "T0HPD", 0,
725 			     233, UNIPHIER_PIN_DRV_4_8,
726 			     233, UNIPHIER_PIN_PULL_DOWN),
727 	UNIPHIER_PINCTRL_PIN(234, "T1HPD", 0,
728 			     234, UNIPHIER_PIN_DRV_4_8,
729 			     234, UNIPHIER_PIN_PULL_DOWN),
730 };
731 
732 static const unsigned emmc_pins[] = {36, 37, 38, 39, 40, 41, 42};
733 static const unsigned emmc_muxvals[] = {9, 9, 9, 9, 9, 9, 9};
734 static const unsigned emmc_dat8_pins[] = {43, 44, 45, 46};
735 static const unsigned emmc_dat8_muxvals[] = {9, 9, 9, 9};
736 static const unsigned i2c0_pins[] = {109, 110};
737 static const unsigned i2c0_muxvals[] = {8, 8};
738 static const unsigned i2c1_pins[] = {111, 112};
739 static const unsigned i2c1_muxvals[] = {8, 8};
740 static const unsigned i2c2_pins[] = {171, 172};
741 static const unsigned i2c2_muxvals[] = {8, 8};
742 static const unsigned i2c3_pins[] = {159, 160};
743 static const unsigned i2c3_muxvals[] = {8, 8};
744 static const unsigned i2c5_pins[] = {183, 184};
745 static const unsigned i2c5_muxvals[] = {11, 11};
746 static const unsigned i2c6_pins[] = {185, 186};
747 static const unsigned i2c6_muxvals[] = {11, 11};
748 static const unsigned nand_pins[] = {30, 31, 32, 33, 34, 35, 36, 39, 40, 41,
749 				     42, 43, 44, 45, 46};
750 static const unsigned nand_muxvals[] = {8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
751 					8, 8};
752 static const unsigned nand_cs1_pins[] = {37, 38};
753 static const unsigned nand_cs1_muxvals[] = {8, 8};
754 static const unsigned sd_pins[] = {47, 48, 49, 50, 51, 52, 53, 54, 55};
755 static const unsigned sd_muxvals[] = {8, 8, 8, 8, 8, 8, 8, 8, 8};
756 static const unsigned uart0_pins[] = {217, 218};
757 static const unsigned uart0_muxvals[] = {8, 8};
758 static const unsigned uart0b_pins[] = {179, 180};
759 static const unsigned uart0b_muxvals[] = {10, 10};
760 static const unsigned uart1_pins[] = {115, 116};
761 static const unsigned uart1_muxvals[] = {8, 8};
762 static const unsigned uart2_pins[] = {113, 114};
763 static const unsigned uart2_muxvals[] = {8, 8};
764 static const unsigned uart3_pins[] = {219, 220};
765 static const unsigned uart3_muxvals[] = {8, 8};
766 static const unsigned uart3b_pins[] = {181, 182};
767 static const unsigned uart3b_muxvals[] = {10, 10};
768 static const unsigned usb0_pins[] = {56, 57};
769 static const unsigned usb0_muxvals[] = {8, 8};
770 static const unsigned usb1_pins[] = {58, 59};
771 static const unsigned usb1_muxvals[] = {8, 8};
772 static const unsigned usb2_pins[] = {60, 61};
773 static const unsigned usb2_muxvals[] = {8, 8};
774 static const unsigned usb3_pins[] = {62, 63};
775 static const unsigned usb3_muxvals[] = {8, 8};
776 static const unsigned port_range0_pins[] = {
777 	127, 128, 129, 130, 131, 132, 133, 134,		/* PORT0x */
778 	135, 136, 137, 138, 139, 140, 141, 142,		/* PORT1x */
779 	0, 1, 2, 3, 4, 5, 6, 7,				/* PORT2x */
780 	8, 9, 10, 11, 12, 13, 14, 15,			/* PORT3x */
781 	16, 17, 18, 19, 21, 22, 23, 24,			/* PORT4x */
782 	25, 30, 31, 32, 33, 34, 35, 36,			/* PORT5x */
783 	37, 38, 39, 40, 41, 42, 43, 44,			/* PORT6x */
784 	45, 46, 47, 48, 49, 50, 51, 52,			/* PORT7x */
785 	53, 54, 55, 56, 57, 58, 59, 60,			/* PORT8x */
786 	61, 62, 63, 64, 65, 66, 67, 68,			/* PORT9x */
787 	69, 70, 71, 76, 77, 78, 79, 80,			/* PORT10x */
788 };
789 static const unsigned port_range0_muxvals[] = {
790 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT0x */
791 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT1x */
792 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT2x */
793 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT3x */
794 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT4x */
795 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT5x */
796 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT6x */
797 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT7x */
798 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT8x */
799 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT9x */
800 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT10x */
801 };
802 static const unsigned port_range1_pins[] = {
803 	81, 82, 83, 84, 85, 86, 87, 88,			/* PORT12x */
804 	89, 90, 95, 96, 97, 98, 99, 100,		/* PORT13x */
805 	101, 102, 103, 104, 105, 106, 107, 108,		/* PORT14x */
806 	118, 119, 120, 121, 122, 123, 124, 125,		/* PORT15x */
807 	126, 72, 73, 92, 177, 93, 94, 176,		/* PORT16x */
808 	74, 91, 27, 28, 29, 75, 20, 26,			/* PORT17x */
809 	109, 110, 111, 112, 113, 114, 115, 116,		/* PORT18x */
810 	117, 143, 144, 145, 146, 147, 148, 149,		/* PORT19x */
811 	150, 151, 152, 153, 154, 155, 156, 157,		/* PORT20x */
812 	158, 159, 160, 161, 162, 163, 164, 165,		/* PORT21x */
813 	166, 178, 179, 180, 181, 182, 183, 184,		/* PORT22x */
814 	185, 187, 188, 189, 190, 191, 192, 193,		/* PORT23x */
815 	194, 195, 196, 197, 198, 199, 200, 201,		/* PORT24x */
816 	202, 203, 204, 205, 206, 207, 208, 209,		/* PORT25x */
817 	210, 211, 212, 213, 214, 215, 216, 217,		/* PORT26x */
818 	218, 219, 220, 221, 223, 224, 225, 226,		/* PORT27x */
819 	227, 228, 229, 230, 231, 232, 233, 234,		/* PORT28x */
820 };
821 static const unsigned port_range1_muxvals[] = {
822 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT12x */
823 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT13x */
824 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT14x */
825 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT15x */
826 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT16x */
827 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT17x */
828 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT18x */
829 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT19x */
830 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT20x */
831 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT21x */
832 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT22x */
833 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT23x */
834 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT24x */
835 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT25x */
836 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT26x */
837 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT27x */
838 	15, 15, 15, 15, 15, 15, 15, 15,			/* PORT28x */
839 };
840 static const unsigned xirq_pins[] = {
841 	118, 119, 120, 121, 122, 123, 124, 125,		/* XIRQ0-7 */
842 	126, 72, 73, 92, 177, 93, 94, 176,		/* XIRQ8-15 */
843 	74, 91, 27, 28, 29, 75, 20, 26,			/* XIRQ16-23 */
844 };
845 static const unsigned xirq_muxvals[] = {
846 	14, 14, 14, 14, 14, 14, 14, 14,			/* XIRQ0-7 */
847 	14, 14, 14, 14, 14, 14, 14, 14,			/* XIRQ8-15 */
848 	14, 14, 14, 14, 14, 14, 14, 14,			/* XIRQ16-23 */
849 };
850 
851 static const struct uniphier_pinctrl_group proxstream2_groups[] = {
852 	UNIPHIER_PINCTRL_GROUP(emmc),
853 	UNIPHIER_PINCTRL_GROUP(emmc_dat8),
854 	UNIPHIER_PINCTRL_GROUP(i2c0),
855 	UNIPHIER_PINCTRL_GROUP(i2c1),
856 	UNIPHIER_PINCTRL_GROUP(i2c2),
857 	UNIPHIER_PINCTRL_GROUP(i2c3),
858 	UNIPHIER_PINCTRL_GROUP(i2c5),
859 	UNIPHIER_PINCTRL_GROUP(i2c6),
860 	UNIPHIER_PINCTRL_GROUP(nand),
861 	UNIPHIER_PINCTRL_GROUP(nand_cs1),
862 	UNIPHIER_PINCTRL_GROUP(sd),
863 	UNIPHIER_PINCTRL_GROUP(uart0),
864 	UNIPHIER_PINCTRL_GROUP(uart0b),
865 	UNIPHIER_PINCTRL_GROUP(uart1),
866 	UNIPHIER_PINCTRL_GROUP(uart2),
867 	UNIPHIER_PINCTRL_GROUP(uart3),
868 	UNIPHIER_PINCTRL_GROUP(uart3b),
869 	UNIPHIER_PINCTRL_GROUP(usb0),
870 	UNIPHIER_PINCTRL_GROUP(usb1),
871 	UNIPHIER_PINCTRL_GROUP(usb2),
872 	UNIPHIER_PINCTRL_GROUP(usb3),
873 	UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_PORT(port_range0),
874 	UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_PORT(port_range1),
875 	UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_IRQ(xirq),
876 	UNIPHIER_PINCTRL_GROUP_SINGLE(port00, port_range0, 0),
877 	UNIPHIER_PINCTRL_GROUP_SINGLE(port01, port_range0, 1),
878 	UNIPHIER_PINCTRL_GROUP_SINGLE(port02, port_range0, 2),
879 	UNIPHIER_PINCTRL_GROUP_SINGLE(port03, port_range0, 3),
880 	UNIPHIER_PINCTRL_GROUP_SINGLE(port04, port_range0, 4),
881 	UNIPHIER_PINCTRL_GROUP_SINGLE(port05, port_range0, 5),
882 	UNIPHIER_PINCTRL_GROUP_SINGLE(port06, port_range0, 6),
883 	UNIPHIER_PINCTRL_GROUP_SINGLE(port07, port_range0, 7),
884 	UNIPHIER_PINCTRL_GROUP_SINGLE(port10, port_range0, 8),
885 	UNIPHIER_PINCTRL_GROUP_SINGLE(port11, port_range0, 9),
886 	UNIPHIER_PINCTRL_GROUP_SINGLE(port12, port_range0, 10),
887 	UNIPHIER_PINCTRL_GROUP_SINGLE(port13, port_range0, 11),
888 	UNIPHIER_PINCTRL_GROUP_SINGLE(port14, port_range0, 12),
889 	UNIPHIER_PINCTRL_GROUP_SINGLE(port15, port_range0, 13),
890 	UNIPHIER_PINCTRL_GROUP_SINGLE(port16, port_range0, 14),
891 	UNIPHIER_PINCTRL_GROUP_SINGLE(port17, port_range0, 15),
892 	UNIPHIER_PINCTRL_GROUP_SINGLE(port20, port_range0, 16),
893 	UNIPHIER_PINCTRL_GROUP_SINGLE(port21, port_range0, 17),
894 	UNIPHIER_PINCTRL_GROUP_SINGLE(port22, port_range0, 18),
895 	UNIPHIER_PINCTRL_GROUP_SINGLE(port23, port_range0, 19),
896 	UNIPHIER_PINCTRL_GROUP_SINGLE(port24, port_range0, 20),
897 	UNIPHIER_PINCTRL_GROUP_SINGLE(port25, port_range0, 21),
898 	UNIPHIER_PINCTRL_GROUP_SINGLE(port26, port_range0, 22),
899 	UNIPHIER_PINCTRL_GROUP_SINGLE(port27, port_range0, 23),
900 	UNIPHIER_PINCTRL_GROUP_SINGLE(port30, port_range0, 24),
901 	UNIPHIER_PINCTRL_GROUP_SINGLE(port31, port_range0, 25),
902 	UNIPHIER_PINCTRL_GROUP_SINGLE(port32, port_range0, 26),
903 	UNIPHIER_PINCTRL_GROUP_SINGLE(port33, port_range0, 27),
904 	UNIPHIER_PINCTRL_GROUP_SINGLE(port34, port_range0, 28),
905 	UNIPHIER_PINCTRL_GROUP_SINGLE(port35, port_range0, 29),
906 	UNIPHIER_PINCTRL_GROUP_SINGLE(port36, port_range0, 30),
907 	UNIPHIER_PINCTRL_GROUP_SINGLE(port37, port_range0, 31),
908 	UNIPHIER_PINCTRL_GROUP_SINGLE(port40, port_range0, 32),
909 	UNIPHIER_PINCTRL_GROUP_SINGLE(port41, port_range0, 33),
910 	UNIPHIER_PINCTRL_GROUP_SINGLE(port42, port_range0, 34),
911 	UNIPHIER_PINCTRL_GROUP_SINGLE(port43, port_range0, 35),
912 	UNIPHIER_PINCTRL_GROUP_SINGLE(port44, port_range0, 36),
913 	UNIPHIER_PINCTRL_GROUP_SINGLE(port45, port_range0, 37),
914 	UNIPHIER_PINCTRL_GROUP_SINGLE(port46, port_range0, 38),
915 	UNIPHIER_PINCTRL_GROUP_SINGLE(port47, port_range0, 39),
916 	UNIPHIER_PINCTRL_GROUP_SINGLE(port50, port_range0, 40),
917 	UNIPHIER_PINCTRL_GROUP_SINGLE(port51, port_range0, 41),
918 	UNIPHIER_PINCTRL_GROUP_SINGLE(port52, port_range0, 42),
919 	UNIPHIER_PINCTRL_GROUP_SINGLE(port53, port_range0, 43),
920 	UNIPHIER_PINCTRL_GROUP_SINGLE(port54, port_range0, 44),
921 	UNIPHIER_PINCTRL_GROUP_SINGLE(port55, port_range0, 45),
922 	UNIPHIER_PINCTRL_GROUP_SINGLE(port56, port_range0, 46),
923 	UNIPHIER_PINCTRL_GROUP_SINGLE(port57, port_range0, 47),
924 	UNIPHIER_PINCTRL_GROUP_SINGLE(port60, port_range0, 48),
925 	UNIPHIER_PINCTRL_GROUP_SINGLE(port61, port_range0, 49),
926 	UNIPHIER_PINCTRL_GROUP_SINGLE(port62, port_range0, 50),
927 	UNIPHIER_PINCTRL_GROUP_SINGLE(port63, port_range0, 51),
928 	UNIPHIER_PINCTRL_GROUP_SINGLE(port64, port_range0, 52),
929 	UNIPHIER_PINCTRL_GROUP_SINGLE(port65, port_range0, 53),
930 	UNIPHIER_PINCTRL_GROUP_SINGLE(port66, port_range0, 54),
931 	UNIPHIER_PINCTRL_GROUP_SINGLE(port67, port_range0, 55),
932 	UNIPHIER_PINCTRL_GROUP_SINGLE(port70, port_range0, 56),
933 	UNIPHIER_PINCTRL_GROUP_SINGLE(port71, port_range0, 57),
934 	UNIPHIER_PINCTRL_GROUP_SINGLE(port72, port_range0, 58),
935 	UNIPHIER_PINCTRL_GROUP_SINGLE(port73, port_range0, 59),
936 	UNIPHIER_PINCTRL_GROUP_SINGLE(port74, port_range0, 60),
937 	UNIPHIER_PINCTRL_GROUP_SINGLE(port75, port_range0, 61),
938 	UNIPHIER_PINCTRL_GROUP_SINGLE(port76, port_range0, 62),
939 	UNIPHIER_PINCTRL_GROUP_SINGLE(port77, port_range0, 63),
940 	UNIPHIER_PINCTRL_GROUP_SINGLE(port80, port_range0, 64),
941 	UNIPHIER_PINCTRL_GROUP_SINGLE(port81, port_range0, 65),
942 	UNIPHIER_PINCTRL_GROUP_SINGLE(port82, port_range0, 66),
943 	UNIPHIER_PINCTRL_GROUP_SINGLE(port83, port_range0, 67),
944 	UNIPHIER_PINCTRL_GROUP_SINGLE(port84, port_range0, 68),
945 	UNIPHIER_PINCTRL_GROUP_SINGLE(port85, port_range0, 69),
946 	UNIPHIER_PINCTRL_GROUP_SINGLE(port86, port_range0, 70),
947 	UNIPHIER_PINCTRL_GROUP_SINGLE(port87, port_range0, 71),
948 	UNIPHIER_PINCTRL_GROUP_SINGLE(port90, port_range0, 72),
949 	UNIPHIER_PINCTRL_GROUP_SINGLE(port91, port_range0, 73),
950 	UNIPHIER_PINCTRL_GROUP_SINGLE(port92, port_range0, 74),
951 	UNIPHIER_PINCTRL_GROUP_SINGLE(port93, port_range0, 75),
952 	UNIPHIER_PINCTRL_GROUP_SINGLE(port94, port_range0, 76),
953 	UNIPHIER_PINCTRL_GROUP_SINGLE(port95, port_range0, 77),
954 	UNIPHIER_PINCTRL_GROUP_SINGLE(port96, port_range0, 78),
955 	UNIPHIER_PINCTRL_GROUP_SINGLE(port97, port_range0, 79),
956 	UNIPHIER_PINCTRL_GROUP_SINGLE(port100, port_range0, 80),
957 	UNIPHIER_PINCTRL_GROUP_SINGLE(port101, port_range0, 81),
958 	UNIPHIER_PINCTRL_GROUP_SINGLE(port102, port_range0, 82),
959 	UNIPHIER_PINCTRL_GROUP_SINGLE(port103, port_range0, 83),
960 	UNIPHIER_PINCTRL_GROUP_SINGLE(port104, port_range0, 84),
961 	UNIPHIER_PINCTRL_GROUP_SINGLE(port105, port_range0, 85),
962 	UNIPHIER_PINCTRL_GROUP_SINGLE(port106, port_range0, 86),
963 	UNIPHIER_PINCTRL_GROUP_SINGLE(port107, port_range0, 87),
964 	UNIPHIER_PINCTRL_GROUP_SINGLE(port120, port_range1, 0),
965 	UNIPHIER_PINCTRL_GROUP_SINGLE(port121, port_range1, 1),
966 	UNIPHIER_PINCTRL_GROUP_SINGLE(port122, port_range1, 2),
967 	UNIPHIER_PINCTRL_GROUP_SINGLE(port123, port_range1, 3),
968 	UNIPHIER_PINCTRL_GROUP_SINGLE(port124, port_range1, 4),
969 	UNIPHIER_PINCTRL_GROUP_SINGLE(port125, port_range1, 5),
970 	UNIPHIER_PINCTRL_GROUP_SINGLE(port126, port_range1, 6),
971 	UNIPHIER_PINCTRL_GROUP_SINGLE(port127, port_range1, 7),
972 	UNIPHIER_PINCTRL_GROUP_SINGLE(port130, port_range1, 8),
973 	UNIPHIER_PINCTRL_GROUP_SINGLE(port131, port_range1, 9),
974 	UNIPHIER_PINCTRL_GROUP_SINGLE(port132, port_range1, 10),
975 	UNIPHIER_PINCTRL_GROUP_SINGLE(port133, port_range1, 11),
976 	UNIPHIER_PINCTRL_GROUP_SINGLE(port134, port_range1, 12),
977 	UNIPHIER_PINCTRL_GROUP_SINGLE(port135, port_range1, 13),
978 	UNIPHIER_PINCTRL_GROUP_SINGLE(port136, port_range1, 14),
979 	UNIPHIER_PINCTRL_GROUP_SINGLE(port137, port_range1, 15),
980 	UNIPHIER_PINCTRL_GROUP_SINGLE(port140, port_range1, 16),
981 	UNIPHIER_PINCTRL_GROUP_SINGLE(port141, port_range1, 17),
982 	UNIPHIER_PINCTRL_GROUP_SINGLE(port142, port_range1, 18),
983 	UNIPHIER_PINCTRL_GROUP_SINGLE(port143, port_range1, 19),
984 	UNIPHIER_PINCTRL_GROUP_SINGLE(port144, port_range1, 20),
985 	UNIPHIER_PINCTRL_GROUP_SINGLE(port145, port_range1, 21),
986 	UNIPHIER_PINCTRL_GROUP_SINGLE(port146, port_range1, 22),
987 	UNIPHIER_PINCTRL_GROUP_SINGLE(port147, port_range1, 23),
988 	UNIPHIER_PINCTRL_GROUP_SINGLE(port150, port_range1, 24),
989 	UNIPHIER_PINCTRL_GROUP_SINGLE(port151, port_range1, 25),
990 	UNIPHIER_PINCTRL_GROUP_SINGLE(port152, port_range1, 26),
991 	UNIPHIER_PINCTRL_GROUP_SINGLE(port153, port_range1, 27),
992 	UNIPHIER_PINCTRL_GROUP_SINGLE(port154, port_range1, 28),
993 	UNIPHIER_PINCTRL_GROUP_SINGLE(port155, port_range1, 29),
994 	UNIPHIER_PINCTRL_GROUP_SINGLE(port156, port_range1, 30),
995 	UNIPHIER_PINCTRL_GROUP_SINGLE(port157, port_range1, 31),
996 	UNIPHIER_PINCTRL_GROUP_SINGLE(port160, port_range1, 32),
997 	UNIPHIER_PINCTRL_GROUP_SINGLE(port161, port_range1, 33),
998 	UNIPHIER_PINCTRL_GROUP_SINGLE(port162, port_range1, 34),
999 	UNIPHIER_PINCTRL_GROUP_SINGLE(port163, port_range1, 35),
1000 	UNIPHIER_PINCTRL_GROUP_SINGLE(port164, port_range1, 36),
1001 	UNIPHIER_PINCTRL_GROUP_SINGLE(port165, port_range1, 37),
1002 	UNIPHIER_PINCTRL_GROUP_SINGLE(port166, port_range1, 38),
1003 	UNIPHIER_PINCTRL_GROUP_SINGLE(port167, port_range1, 39),
1004 	UNIPHIER_PINCTRL_GROUP_SINGLE(port170, port_range1, 40),
1005 	UNIPHIER_PINCTRL_GROUP_SINGLE(port171, port_range1, 41),
1006 	UNIPHIER_PINCTRL_GROUP_SINGLE(port172, port_range1, 42),
1007 	UNIPHIER_PINCTRL_GROUP_SINGLE(port173, port_range1, 43),
1008 	UNIPHIER_PINCTRL_GROUP_SINGLE(port174, port_range1, 44),
1009 	UNIPHIER_PINCTRL_GROUP_SINGLE(port175, port_range1, 45),
1010 	UNIPHIER_PINCTRL_GROUP_SINGLE(port176, port_range1, 46),
1011 	UNIPHIER_PINCTRL_GROUP_SINGLE(port177, port_range1, 47),
1012 	UNIPHIER_PINCTRL_GROUP_SINGLE(port180, port_range1, 48),
1013 	UNIPHIER_PINCTRL_GROUP_SINGLE(port181, port_range1, 49),
1014 	UNIPHIER_PINCTRL_GROUP_SINGLE(port182, port_range1, 50),
1015 	UNIPHIER_PINCTRL_GROUP_SINGLE(port183, port_range1, 51),
1016 	UNIPHIER_PINCTRL_GROUP_SINGLE(port184, port_range1, 52),
1017 	UNIPHIER_PINCTRL_GROUP_SINGLE(port185, port_range1, 53),
1018 	UNIPHIER_PINCTRL_GROUP_SINGLE(port186, port_range1, 54),
1019 	UNIPHIER_PINCTRL_GROUP_SINGLE(port187, port_range1, 55),
1020 	UNIPHIER_PINCTRL_GROUP_SINGLE(port190, port_range1, 56),
1021 	UNIPHIER_PINCTRL_GROUP_SINGLE(port191, port_range1, 57),
1022 	UNIPHIER_PINCTRL_GROUP_SINGLE(port192, port_range1, 58),
1023 	UNIPHIER_PINCTRL_GROUP_SINGLE(port193, port_range1, 59),
1024 	UNIPHIER_PINCTRL_GROUP_SINGLE(port194, port_range1, 60),
1025 	UNIPHIER_PINCTRL_GROUP_SINGLE(port195, port_range1, 61),
1026 	UNIPHIER_PINCTRL_GROUP_SINGLE(port196, port_range1, 62),
1027 	UNIPHIER_PINCTRL_GROUP_SINGLE(port197, port_range1, 63),
1028 	UNIPHIER_PINCTRL_GROUP_SINGLE(port200, port_range1, 64),
1029 	UNIPHIER_PINCTRL_GROUP_SINGLE(port201, port_range1, 65),
1030 	UNIPHIER_PINCTRL_GROUP_SINGLE(port202, port_range1, 66),
1031 	UNIPHIER_PINCTRL_GROUP_SINGLE(port203, port_range1, 67),
1032 	UNIPHIER_PINCTRL_GROUP_SINGLE(port204, port_range1, 68),
1033 	UNIPHIER_PINCTRL_GROUP_SINGLE(port205, port_range1, 69),
1034 	UNIPHIER_PINCTRL_GROUP_SINGLE(port206, port_range1, 70),
1035 	UNIPHIER_PINCTRL_GROUP_SINGLE(port207, port_range1, 71),
1036 	UNIPHIER_PINCTRL_GROUP_SINGLE(port210, port_range1, 72),
1037 	UNIPHIER_PINCTRL_GROUP_SINGLE(port211, port_range1, 73),
1038 	UNIPHIER_PINCTRL_GROUP_SINGLE(port212, port_range1, 74),
1039 	UNIPHIER_PINCTRL_GROUP_SINGLE(port213, port_range1, 75),
1040 	UNIPHIER_PINCTRL_GROUP_SINGLE(port214, port_range1, 76),
1041 	UNIPHIER_PINCTRL_GROUP_SINGLE(port215, port_range1, 77),
1042 	UNIPHIER_PINCTRL_GROUP_SINGLE(port216, port_range1, 78),
1043 	UNIPHIER_PINCTRL_GROUP_SINGLE(port217, port_range1, 79),
1044 	UNIPHIER_PINCTRL_GROUP_SINGLE(port220, port_range1, 80),
1045 	UNIPHIER_PINCTRL_GROUP_SINGLE(port221, port_range1, 81),
1046 	UNIPHIER_PINCTRL_GROUP_SINGLE(port222, port_range1, 82),
1047 	UNIPHIER_PINCTRL_GROUP_SINGLE(port223, port_range1, 83),
1048 	UNIPHIER_PINCTRL_GROUP_SINGLE(port224, port_range1, 84),
1049 	UNIPHIER_PINCTRL_GROUP_SINGLE(port225, port_range1, 85),
1050 	UNIPHIER_PINCTRL_GROUP_SINGLE(port226, port_range1, 86),
1051 	UNIPHIER_PINCTRL_GROUP_SINGLE(port227, port_range1, 87),
1052 	UNIPHIER_PINCTRL_GROUP_SINGLE(port230, port_range1, 88),
1053 	UNIPHIER_PINCTRL_GROUP_SINGLE(port231, port_range1, 89),
1054 	UNIPHIER_PINCTRL_GROUP_SINGLE(port232, port_range1, 90),
1055 	UNIPHIER_PINCTRL_GROUP_SINGLE(port233, port_range1, 91),
1056 	UNIPHIER_PINCTRL_GROUP_SINGLE(port234, port_range1, 92),
1057 	UNIPHIER_PINCTRL_GROUP_SINGLE(port235, port_range1, 93),
1058 	UNIPHIER_PINCTRL_GROUP_SINGLE(port236, port_range1, 94),
1059 	UNIPHIER_PINCTRL_GROUP_SINGLE(port237, port_range1, 95),
1060 	UNIPHIER_PINCTRL_GROUP_SINGLE(port240, port_range1, 96),
1061 	UNIPHIER_PINCTRL_GROUP_SINGLE(port241, port_range1, 97),
1062 	UNIPHIER_PINCTRL_GROUP_SINGLE(port242, port_range1, 98),
1063 	UNIPHIER_PINCTRL_GROUP_SINGLE(port243, port_range1, 99),
1064 	UNIPHIER_PINCTRL_GROUP_SINGLE(port244, port_range1, 100),
1065 	UNIPHIER_PINCTRL_GROUP_SINGLE(port245, port_range1, 101),
1066 	UNIPHIER_PINCTRL_GROUP_SINGLE(port246, port_range1, 102),
1067 	UNIPHIER_PINCTRL_GROUP_SINGLE(port247, port_range1, 103),
1068 	UNIPHIER_PINCTRL_GROUP_SINGLE(port250, port_range1, 104),
1069 	UNIPHIER_PINCTRL_GROUP_SINGLE(port251, port_range1, 105),
1070 	UNIPHIER_PINCTRL_GROUP_SINGLE(port252, port_range1, 106),
1071 	UNIPHIER_PINCTRL_GROUP_SINGLE(port253, port_range1, 107),
1072 	UNIPHIER_PINCTRL_GROUP_SINGLE(port254, port_range1, 108),
1073 	UNIPHIER_PINCTRL_GROUP_SINGLE(port255, port_range1, 109),
1074 	UNIPHIER_PINCTRL_GROUP_SINGLE(port256, port_range1, 110),
1075 	UNIPHIER_PINCTRL_GROUP_SINGLE(port257, port_range1, 111),
1076 	UNIPHIER_PINCTRL_GROUP_SINGLE(port260, port_range1, 112),
1077 	UNIPHIER_PINCTRL_GROUP_SINGLE(port261, port_range1, 113),
1078 	UNIPHIER_PINCTRL_GROUP_SINGLE(port262, port_range1, 114),
1079 	UNIPHIER_PINCTRL_GROUP_SINGLE(port263, port_range1, 115),
1080 	UNIPHIER_PINCTRL_GROUP_SINGLE(port264, port_range1, 116),
1081 	UNIPHIER_PINCTRL_GROUP_SINGLE(port265, port_range1, 117),
1082 	UNIPHIER_PINCTRL_GROUP_SINGLE(port266, port_range1, 118),
1083 	UNIPHIER_PINCTRL_GROUP_SINGLE(port267, port_range1, 119),
1084 	UNIPHIER_PINCTRL_GROUP_SINGLE(port270, port_range1, 120),
1085 	UNIPHIER_PINCTRL_GROUP_SINGLE(port271, port_range1, 121),
1086 	UNIPHIER_PINCTRL_GROUP_SINGLE(port272, port_range1, 122),
1087 	UNIPHIER_PINCTRL_GROUP_SINGLE(port273, port_range1, 123),
1088 	UNIPHIER_PINCTRL_GROUP_SINGLE(port274, port_range1, 124),
1089 	UNIPHIER_PINCTRL_GROUP_SINGLE(port275, port_range1, 125),
1090 	UNIPHIER_PINCTRL_GROUP_SINGLE(port276, port_range1, 126),
1091 	UNIPHIER_PINCTRL_GROUP_SINGLE(port277, port_range1, 127),
1092 	UNIPHIER_PINCTRL_GROUP_SINGLE(port280, port_range1, 128),
1093 	UNIPHIER_PINCTRL_GROUP_SINGLE(port281, port_range1, 129),
1094 	UNIPHIER_PINCTRL_GROUP_SINGLE(port282, port_range1, 130),
1095 	UNIPHIER_PINCTRL_GROUP_SINGLE(port283, port_range1, 131),
1096 	UNIPHIER_PINCTRL_GROUP_SINGLE(port284, port_range1, 132),
1097 	UNIPHIER_PINCTRL_GROUP_SINGLE(port285, port_range1, 133),
1098 	UNIPHIER_PINCTRL_GROUP_SINGLE(port286, port_range1, 134),
1099 	UNIPHIER_PINCTRL_GROUP_SINGLE(port287, port_range1, 135),
1100 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq0, xirq, 0),
1101 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq1, xirq, 1),
1102 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq2, xirq, 2),
1103 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq3, xirq, 3),
1104 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq4, xirq, 4),
1105 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq5, xirq, 5),
1106 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq6, xirq, 6),
1107 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq7, xirq, 7),
1108 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq8, xirq, 8),
1109 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq9, xirq, 9),
1110 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq10, xirq, 10),
1111 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq11, xirq, 11),
1112 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq12, xirq, 12),
1113 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq13, xirq, 13),
1114 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq14, xirq, 14),
1115 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq15, xirq, 15),
1116 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq16, xirq, 16),
1117 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq17, xirq, 17),
1118 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq18, xirq, 18),
1119 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq19, xirq, 19),
1120 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq20, xirq, 20),
1121 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq21, xirq, 21),
1122 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq22, xirq, 22),
1123 	UNIPHIER_PINCTRL_GROUP_SINGLE(xirq23, xirq, 23),
1124 };
1125 
1126 static const char * const emmc_groups[] = {"emmc", "emmc_dat8"};
1127 static const char * const i2c0_groups[] = {"i2c0"};
1128 static const char * const i2c1_groups[] = {"i2c1"};
1129 static const char * const i2c2_groups[] = {"i2c2"};
1130 static const char * const i2c3_groups[] = {"i2c3"};
1131 static const char * const i2c5_groups[] = {"i2c5"};
1132 static const char * const i2c6_groups[] = {"i2c6"};
1133 static const char * const nand_groups[] = {"nand", "nand_cs1"};
1134 static const char * const sd_groups[] = {"sd"};
1135 static const char * const uart0_groups[] = {"uart0", "uart0b"};
1136 static const char * const uart1_groups[] = {"uart1"};
1137 static const char * const uart2_groups[] = {"uart2"};
1138 static const char * const uart3_groups[] = {"uart3", "uart3b"};
1139 static const char * const usb0_groups[] = {"usb0"};
1140 static const char * const usb1_groups[] = {"usb1"};
1141 static const char * const usb2_groups[] = {"usb2"};
1142 static const char * const usb3_groups[] = {"usb3"};
1143 static const char * const port_groups[] = {
1144 	"port00",  "port01",  "port02",  "port03",
1145 	"port04",  "port05",  "port06",  "port07",
1146 	"port10",  "port11",  "port12",  "port13",
1147 	"port14",  "port15",  "port16",  "port17",
1148 	"port20",  "port21",  "port22",  "port23",
1149 	"port24",  "port25",  "port26",  "port27",
1150 	"port30",  "port31",  "port32",  "port33",
1151 	"port34",  "port35",  "port36",  "port37",
1152 	"port40",  "port41",  "port42",  "port43",
1153 	"port44",  "port45",  "port46",  "port47",
1154 	"port50",  "port51",  "port52",  "port53",
1155 	"port54",  "port55",  "port56",  "port57",
1156 	"port60",  "port61",  "port62",  "port63",
1157 	"port64",  "port65",  "port66",  "port67",
1158 	"port70",  "port71",  "port72",  "port73",
1159 	"port74",  "port75",  "port76",  "port77",
1160 	"port80",  "port81",  "port82",  "port83",
1161 	"port84",  "port85",  "port86",  "port87",
1162 	"port90",  "port91",  "port92",  "port93",
1163 	"port94",  "port95",  "port96",  "port97",
1164 	"port100", "port101", "port102", "port103",
1165 	"port104", "port105", "port106", "port107",
1166 	/* port110-117 missing */
1167 	"port120", "port121", "port122", "port123",
1168 	"port124", "port125", "port126", "port127",
1169 	"port130", "port131", "port132", "port133",
1170 	"port134", "port135", "port136", "port137",
1171 	"port140", "port141", "port142", "port143",
1172 	"port144", "port145", "port146", "port147",
1173 	"port150", "port151", "port152", "port153",
1174 	"port154", "port155", "port156", "port157",
1175 	"port160", "port161", "port162", "port163",
1176 	"port164", "port165", "port166", "port167",
1177 	"port170", "port171", "port172", "port173",
1178 	"port174", "port175", "port176", "port177",
1179 	"port180", "port181", "port182", "port183",
1180 	"port184", "port185", "port186", "port187",
1181 	"port190", "port191", "port192", "port193",
1182 	"port194", "port195", "port196", "port197",
1183 	"port200", "port201", "port202", "port203",
1184 	"port204", "port205", "port206", "port207",
1185 	"port210", "port211", "port212", "port213",
1186 	"port214", "port215", "port216", "port217",
1187 	"port220", "port221", "port222", "port223",
1188 	"port224", "port225", "port226", "port227",
1189 	"port230", "port231", "port232", "port233",
1190 	"port234", "port235", "port236", "port237",
1191 	"port240", "port241", "port242", "port243",
1192 	"port244", "port245", "port246", "port247",
1193 	"port250", "port251", "port252", "port253",
1194 	"port254", "port255", "port256", "port257",
1195 	"port260", "port261", "port262", "port263",
1196 	"port264", "port265", "port266", "port267",
1197 	"port270", "port271", "port272", "port273",
1198 	"port274", "port275", "port276", "port277",
1199 	"port280", "port281", "port282", "port283",
1200 	"port284", "port285", "port286", "port287",
1201 };
1202 static const char * const xirq_groups[] = {
1203 	"xirq0",  "xirq1",  "xirq2",  "xirq3",
1204 	"xirq4",  "xirq5",  "xirq6",  "xirq7",
1205 	"xirq8",  "xirq9",  "xirq10", "xirq11",
1206 	"xirq12", "xirq13", "xirq14", "xirq15",
1207 	"xirq16", "xirq17", "xirq18", "xirq19",
1208 	"xirq20", "xirq21", "xirq22", "xirq23",
1209 };
1210 
1211 static const struct uniphier_pinmux_function proxstream2_functions[] = {
1212 	UNIPHIER_PINMUX_FUNCTION(emmc),
1213 	UNIPHIER_PINMUX_FUNCTION(i2c0),
1214 	UNIPHIER_PINMUX_FUNCTION(i2c1),
1215 	UNIPHIER_PINMUX_FUNCTION(i2c2),
1216 	UNIPHIER_PINMUX_FUNCTION(i2c3),
1217 	UNIPHIER_PINMUX_FUNCTION(i2c5),
1218 	UNIPHIER_PINMUX_FUNCTION(i2c6),
1219 	UNIPHIER_PINMUX_FUNCTION(nand),
1220 	UNIPHIER_PINMUX_FUNCTION(sd),
1221 	UNIPHIER_PINMUX_FUNCTION(uart0),
1222 	UNIPHIER_PINMUX_FUNCTION(uart1),
1223 	UNIPHIER_PINMUX_FUNCTION(uart2),
1224 	UNIPHIER_PINMUX_FUNCTION(uart3),
1225 	UNIPHIER_PINMUX_FUNCTION(usb0),
1226 	UNIPHIER_PINMUX_FUNCTION(usb1),
1227 	UNIPHIER_PINMUX_FUNCTION(usb2),
1228 	UNIPHIER_PINMUX_FUNCTION(usb3),
1229 	UNIPHIER_PINMUX_FUNCTION(port),
1230 	UNIPHIER_PINMUX_FUNCTION(xirq),
1231 };
1232 
1233 static struct uniphier_pinctrl_socdata proxstream2_pindata = {
1234 	.groups = proxstream2_groups,
1235 	.groups_count = ARRAY_SIZE(proxstream2_groups),
1236 	.functions = proxstream2_functions,
1237 	.functions_count = ARRAY_SIZE(proxstream2_functions),
1238 	.mux_bits = 8,
1239 	.reg_stride = 4,
1240 	.load_pinctrl = false,
1241 };
1242 
1243 static struct pinctrl_desc proxstream2_pinctrl_desc = {
1244 	.name = DRIVER_NAME,
1245 	.pins = proxstream2_pins,
1246 	.npins = ARRAY_SIZE(proxstream2_pins),
1247 	.owner = THIS_MODULE,
1248 };
1249 
1250 static int proxstream2_pinctrl_probe(struct platform_device *pdev)
1251 {
1252 	return uniphier_pinctrl_probe(pdev, &proxstream2_pinctrl_desc,
1253 				      &proxstream2_pindata);
1254 }
1255 
1256 static const struct of_device_id proxstream2_pinctrl_match[] = {
1257 	{ .compatible = "socionext,proxstream2-pinctrl" },
1258 	{ /* sentinel */ }
1259 };
1260 MODULE_DEVICE_TABLE(of, proxstream2_pinctrl_match);
1261 
1262 static struct platform_driver proxstream2_pinctrl_driver = {
1263 	.probe = proxstream2_pinctrl_probe,
1264 	.driver = {
1265 		.name = DRIVER_NAME,
1266 		.of_match_table = proxstream2_pinctrl_match,
1267 	},
1268 };
1269 module_platform_driver(proxstream2_pinctrl_driver);
1270 
1271 MODULE_AUTHOR("Masahiro Yamada <yamada.masahiro@socionext.com>");
1272 MODULE_DESCRIPTION("UniPhier ProXstream2 pinctrl driver");
1273 MODULE_LICENSE("GPL");
1274