GNU Linux-libre 4.9.337-gnu1
[releases.git] / drivers / pinctrl / uniphier / pinctrl-uniphier-pro5.c
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 program5 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 static const struct pinctrl_pin_desc uniphier_pro5_pins[] = {
23         UNIPHIER_PINCTRL_PIN(0, "AEXCKA1", 0,
24                              0, UNIPHIER_PIN_DRV_1BIT,
25                              0, UNIPHIER_PIN_PULL_DOWN),
26         UNIPHIER_PINCTRL_PIN(1, "AEXCKA2", 0,
27                              1, UNIPHIER_PIN_DRV_1BIT,
28                              1, UNIPHIER_PIN_PULL_DOWN),
29         UNIPHIER_PINCTRL_PIN(2, "CK27EXI", 0,
30                              2, UNIPHIER_PIN_DRV_1BIT,
31                              2, UNIPHIER_PIN_PULL_DOWN),
32         UNIPHIER_PINCTRL_PIN(3, "CK54EXI", 0,
33                              3, UNIPHIER_PIN_DRV_1BIT,
34                              3, UNIPHIER_PIN_PULL_DOWN),
35         UNIPHIER_PINCTRL_PIN(4, "ED0", UNIPHIER_PIN_IECTRL_NONE,
36                              4, UNIPHIER_PIN_DRV_1BIT,
37                              4, UNIPHIER_PIN_PULL_DOWN),
38         UNIPHIER_PINCTRL_PIN(5, "ED1", UNIPHIER_PIN_IECTRL_NONE,
39                              5, UNIPHIER_PIN_DRV_1BIT,
40                              5, UNIPHIER_PIN_PULL_DOWN),
41         UNIPHIER_PINCTRL_PIN(6, "ED2", UNIPHIER_PIN_IECTRL_NONE,
42                              6, UNIPHIER_PIN_DRV_1BIT,
43                              6, UNIPHIER_PIN_PULL_DOWN),
44         UNIPHIER_PINCTRL_PIN(7, "ED3", UNIPHIER_PIN_IECTRL_NONE,
45                              7, UNIPHIER_PIN_DRV_1BIT,
46                              7, UNIPHIER_PIN_PULL_DOWN),
47         UNIPHIER_PINCTRL_PIN(8, "ED4", UNIPHIER_PIN_IECTRL_NONE,
48                              8, UNIPHIER_PIN_DRV_1BIT,
49                              8, UNIPHIER_PIN_PULL_DOWN),
50         UNIPHIER_PINCTRL_PIN(9, "ED5", UNIPHIER_PIN_IECTRL_NONE,
51                              9, UNIPHIER_PIN_DRV_1BIT,
52                              9, UNIPHIER_PIN_PULL_DOWN),
53         UNIPHIER_PINCTRL_PIN(10, "ED6", UNIPHIER_PIN_IECTRL_NONE,
54                              10, UNIPHIER_PIN_DRV_1BIT,
55                              10, UNIPHIER_PIN_PULL_DOWN),
56         UNIPHIER_PINCTRL_PIN(11, "ED7", UNIPHIER_PIN_IECTRL_NONE,
57                              11, UNIPHIER_PIN_DRV_1BIT,
58                              11, UNIPHIER_PIN_PULL_DOWN),
59         UNIPHIER_PINCTRL_PIN(12, "XERWE0", UNIPHIER_PIN_IECTRL_NONE,
60                              12, UNIPHIER_PIN_DRV_1BIT,
61                              12, UNIPHIER_PIN_PULL_UP),
62         UNIPHIER_PINCTRL_PIN(13, "XERWE1", UNIPHIER_PIN_IECTRL_NONE,
63                              13, UNIPHIER_PIN_DRV_1BIT,
64                              13, UNIPHIER_PIN_PULL_UP),
65         UNIPHIER_PINCTRL_PIN(14, "ERXW", UNIPHIER_PIN_IECTRL_NONE,
66                              14, UNIPHIER_PIN_DRV_1BIT,
67                              14, UNIPHIER_PIN_PULL_UP),
68         UNIPHIER_PINCTRL_PIN(15, "ES0", UNIPHIER_PIN_IECTRL_NONE,
69                              15, UNIPHIER_PIN_DRV_1BIT,
70                              15, UNIPHIER_PIN_PULL_UP),
71         UNIPHIER_PINCTRL_PIN(16, "ES1", UNIPHIER_PIN_IECTRL_NONE,
72                              16, UNIPHIER_PIN_DRV_1BIT,
73                              16, UNIPHIER_PIN_PULL_UP),
74         UNIPHIER_PINCTRL_PIN(17, "ES2", UNIPHIER_PIN_IECTRL_NONE,
75                              17, UNIPHIER_PIN_DRV_1BIT,
76                              17, UNIPHIER_PIN_PULL_UP),
77         UNIPHIER_PINCTRL_PIN(18, "XECS1", UNIPHIER_PIN_IECTRL_NONE,
78                              18, UNIPHIER_PIN_DRV_1BIT,
79                              18, UNIPHIER_PIN_PULL_UP),
80         UNIPHIER_PINCTRL_PIN(19, "XNFRE", UNIPHIER_PIN_IECTRL_NONE,
81                              19, UNIPHIER_PIN_DRV_1BIT,
82                              19, UNIPHIER_PIN_PULL_UP),
83         UNIPHIER_PINCTRL_PIN(20, "XNFWE", UNIPHIER_PIN_IECTRL_NONE,
84                              20, UNIPHIER_PIN_DRV_1BIT,
85                              20, UNIPHIER_PIN_PULL_UP),
86         UNIPHIER_PINCTRL_PIN(21, "NFALE", UNIPHIER_PIN_IECTRL_NONE,
87                              21, UNIPHIER_PIN_DRV_1BIT,
88                              21, UNIPHIER_PIN_PULL_DOWN),
89         UNIPHIER_PINCTRL_PIN(22, "NFCLE", UNIPHIER_PIN_IECTRL_NONE,
90                              22, UNIPHIER_PIN_DRV_1BIT,
91                              22, UNIPHIER_PIN_PULL_DOWN),
92         UNIPHIER_PINCTRL_PIN(23, "XNFWP", UNIPHIER_PIN_IECTRL_NONE,
93                              23, UNIPHIER_PIN_DRV_1BIT,
94                              23, UNIPHIER_PIN_PULL_DOWN),
95         UNIPHIER_PINCTRL_PIN(24, "XNFCE0", UNIPHIER_PIN_IECTRL_NONE,
96                              24, UNIPHIER_PIN_DRV_1BIT,
97                              24, UNIPHIER_PIN_PULL_UP),
98         UNIPHIER_PINCTRL_PIN(25, "NFRYBY0", UNIPHIER_PIN_IECTRL_NONE,
99                              25, UNIPHIER_PIN_DRV_1BIT,
100                              25, UNIPHIER_PIN_PULL_UP),
101         UNIPHIER_PINCTRL_PIN(26, "XNFCE1", UNIPHIER_PIN_IECTRL_NONE,
102                              26, UNIPHIER_PIN_DRV_1BIT,
103                              26, UNIPHIER_PIN_PULL_UP),
104         UNIPHIER_PINCTRL_PIN(27, "NFRYBY1", UNIPHIER_PIN_IECTRL_NONE,
105                              27, UNIPHIER_PIN_DRV_1BIT,
106                              27, UNIPHIER_PIN_PULL_UP),
107         UNIPHIER_PINCTRL_PIN(28, "NFD0", UNIPHIER_PIN_IECTRL_NONE,
108                              28, UNIPHIER_PIN_DRV_1BIT,
109                              28, UNIPHIER_PIN_PULL_UP),
110         UNIPHIER_PINCTRL_PIN(29, "NFD1", UNIPHIER_PIN_IECTRL_NONE,
111                              29, UNIPHIER_PIN_DRV_1BIT,
112                              29, UNIPHIER_PIN_PULL_UP),
113         UNIPHIER_PINCTRL_PIN(30, "NFD2", UNIPHIER_PIN_IECTRL_NONE,
114                              30, UNIPHIER_PIN_DRV_1BIT,
115                              30, UNIPHIER_PIN_PULL_UP),
116         UNIPHIER_PINCTRL_PIN(31, "NFD3", UNIPHIER_PIN_IECTRL_NONE,
117                              31, UNIPHIER_PIN_DRV_1BIT,
118                              31, UNIPHIER_PIN_PULL_UP),
119         UNIPHIER_PINCTRL_PIN(32, "NFD4", UNIPHIER_PIN_IECTRL_NONE,
120                              32, UNIPHIER_PIN_DRV_1BIT,
121                              32, UNIPHIER_PIN_PULL_UP),
122         UNIPHIER_PINCTRL_PIN(33, "NFD5", UNIPHIER_PIN_IECTRL_NONE,
123                              33, UNIPHIER_PIN_DRV_1BIT,
124                              33, UNIPHIER_PIN_PULL_UP),
125         UNIPHIER_PINCTRL_PIN(34, "NFD6", UNIPHIER_PIN_IECTRL_NONE,
126                              34, UNIPHIER_PIN_DRV_1BIT,
127                              34, UNIPHIER_PIN_PULL_UP),
128         UNIPHIER_PINCTRL_PIN(35, "NFD7", UNIPHIER_PIN_IECTRL_NONE,
129                              35, UNIPHIER_PIN_DRV_1BIT,
130                              35, UNIPHIER_PIN_PULL_UP),
131         UNIPHIER_PINCTRL_PIN(36, "XERST", UNIPHIER_PIN_IECTRL_NONE,
132                              36, UNIPHIER_PIN_DRV_1BIT,
133                              36, UNIPHIER_PIN_PULL_UP),
134         UNIPHIER_PINCTRL_PIN(37, "MMCCLK", UNIPHIER_PIN_IECTRL_NONE,
135                              37, UNIPHIER_PIN_DRV_1BIT,
136                              37, UNIPHIER_PIN_PULL_UP),
137         UNIPHIER_PINCTRL_PIN(38, "MMCCMD", UNIPHIER_PIN_IECTRL_NONE,
138                              38, UNIPHIER_PIN_DRV_1BIT,
139                              38, UNIPHIER_PIN_PULL_UP),
140         UNIPHIER_PINCTRL_PIN(39, "MMCDAT0", UNIPHIER_PIN_IECTRL_NONE,
141                              39, UNIPHIER_PIN_DRV_1BIT,
142                              39, UNIPHIER_PIN_PULL_UP),
143         UNIPHIER_PINCTRL_PIN(40, "MMCDAT1", UNIPHIER_PIN_IECTRL_NONE,
144                              40, UNIPHIER_PIN_DRV_1BIT,
145                              40, UNIPHIER_PIN_PULL_UP),
146         UNIPHIER_PINCTRL_PIN(41, "MMCDAT2", UNIPHIER_PIN_IECTRL_NONE,
147                              41, UNIPHIER_PIN_DRV_1BIT,
148                              41, UNIPHIER_PIN_PULL_UP),
149         UNIPHIER_PINCTRL_PIN(42, "MMCDAT3", UNIPHIER_PIN_IECTRL_NONE,
150                              42, UNIPHIER_PIN_DRV_1BIT,
151                              42, UNIPHIER_PIN_PULL_UP),
152         UNIPHIER_PINCTRL_PIN(43, "MMCDAT4", UNIPHIER_PIN_IECTRL_NONE,
153                              43, UNIPHIER_PIN_DRV_1BIT,
154                              43, UNIPHIER_PIN_PULL_UP),
155         UNIPHIER_PINCTRL_PIN(44, "MMCDAT5", UNIPHIER_PIN_IECTRL_NONE,
156                              44, UNIPHIER_PIN_DRV_1BIT,
157                              44, UNIPHIER_PIN_PULL_UP),
158         UNIPHIER_PINCTRL_PIN(45, "MMCDAT6", UNIPHIER_PIN_IECTRL_NONE,
159                              45, UNIPHIER_PIN_DRV_1BIT,
160                              45, UNIPHIER_PIN_PULL_UP),
161         UNIPHIER_PINCTRL_PIN(46, "MMCDAT7", UNIPHIER_PIN_IECTRL_NONE,
162                              46, UNIPHIER_PIN_DRV_1BIT,
163                              46, UNIPHIER_PIN_PULL_UP),
164         UNIPHIER_PINCTRL_PIN(47, "TXD0", 0,
165                              47, UNIPHIER_PIN_DRV_1BIT,
166                              47, UNIPHIER_PIN_PULL_UP),
167         UNIPHIER_PINCTRL_PIN(48, "RXD0", 0,
168                              48, UNIPHIER_PIN_DRV_1BIT,
169                              48, UNIPHIER_PIN_PULL_UP),
170         UNIPHIER_PINCTRL_PIN(49, "TXD1", 0,
171                              49, UNIPHIER_PIN_DRV_1BIT,
172                              49, UNIPHIER_PIN_PULL_UP),
173         UNIPHIER_PINCTRL_PIN(50, "RXD1", 0,
174                              50, UNIPHIER_PIN_DRV_1BIT,
175                              50, UNIPHIER_PIN_PULL_UP),
176         UNIPHIER_PINCTRL_PIN(51, "TXD2", UNIPHIER_PIN_IECTRL_NONE,
177                              51, UNIPHIER_PIN_DRV_1BIT,
178                              51, UNIPHIER_PIN_PULL_UP),
179         UNIPHIER_PINCTRL_PIN(52, "RXD2", UNIPHIER_PIN_IECTRL_NONE,
180                              52, UNIPHIER_PIN_DRV_1BIT,
181                              52, UNIPHIER_PIN_PULL_UP),
182         UNIPHIER_PINCTRL_PIN(53, "TXD3", 0,
183                              53, UNIPHIER_PIN_DRV_1BIT,
184                              53, UNIPHIER_PIN_PULL_UP),
185         UNIPHIER_PINCTRL_PIN(54, "RXD3", 0,
186                              54, UNIPHIER_PIN_DRV_1BIT,
187                              54, UNIPHIER_PIN_PULL_UP),
188         UNIPHIER_PINCTRL_PIN(55, "MS0CS0", 0,
189                              55, UNIPHIER_PIN_DRV_1BIT,
190                              55, UNIPHIER_PIN_PULL_DOWN),
191         UNIPHIER_PINCTRL_PIN(56, "MS0DO", 0,
192                              56, UNIPHIER_PIN_DRV_1BIT,
193                              56, UNIPHIER_PIN_PULL_DOWN),
194         UNIPHIER_PINCTRL_PIN(57, "MS0DI", 0,
195                              57, UNIPHIER_PIN_DRV_1BIT,
196                              57, UNIPHIER_PIN_PULL_DOWN),
197         UNIPHIER_PINCTRL_PIN(58, "MS0CLK", 0,
198                              58, UNIPHIER_PIN_DRV_1BIT,
199                              58, UNIPHIER_PIN_PULL_DOWN),
200         UNIPHIER_PINCTRL_PIN(59, "CSCLK", 0,
201                              59, UNIPHIER_PIN_DRV_1BIT,
202                              59, UNIPHIER_PIN_PULL_DOWN),
203         UNIPHIER_PINCTRL_PIN(60, "CSBPTM", 0,
204                              60, UNIPHIER_PIN_DRV_1BIT,
205                              60, UNIPHIER_PIN_PULL_DOWN),
206         UNIPHIER_PINCTRL_PIN(61, "CSBMTP", 0,
207                              61, UNIPHIER_PIN_DRV_1BIT,
208                              61, UNIPHIER_PIN_PULL_DOWN),
209         UNIPHIER_PINCTRL_PIN(62, "XCINTP", 0,
210                              62, UNIPHIER_PIN_DRV_1BIT,
211                              62, UNIPHIER_PIN_PULL_DOWN),
212         UNIPHIER_PINCTRL_PIN(63, "XCINTM", 0,
213                              63, UNIPHIER_PIN_DRV_1BIT,
214                              63, UNIPHIER_PIN_PULL_DOWN),
215         UNIPHIER_PINCTRL_PIN(64, "XCMPREQ", 0,
216                              64, UNIPHIER_PIN_DRV_1BIT,
217                              64, UNIPHIER_PIN_PULL_DOWN),
218         UNIPHIER_PINCTRL_PIN(65, "XSRST", 0,
219                              65, UNIPHIER_PIN_DRV_1BIT,
220                              65, UNIPHIER_PIN_PULL_DOWN),
221         UNIPHIER_PINCTRL_PIN(66, "LPST", UNIPHIER_PIN_IECTRL_NONE,
222                              66, UNIPHIER_PIN_DRV_1BIT,
223                              66, UNIPHIER_PIN_PULL_DOWN),
224         UNIPHIER_PINCTRL_PIN(67, "PWMA", 0,
225                              67, UNIPHIER_PIN_DRV_1BIT,
226                              67, UNIPHIER_PIN_PULL_DOWN),
227         UNIPHIER_PINCTRL_PIN(68, "XIRQ0", 0,
228                              68, UNIPHIER_PIN_DRV_1BIT,
229                              68, UNIPHIER_PIN_PULL_DOWN),
230         UNIPHIER_PINCTRL_PIN(69, "XIRQ1", 0,
231                              69, UNIPHIER_PIN_DRV_1BIT,
232                              69, UNIPHIER_PIN_PULL_DOWN),
233         UNIPHIER_PINCTRL_PIN(70, "XIRQ2", 0,
234                              70, UNIPHIER_PIN_DRV_1BIT,
235                              70, UNIPHIER_PIN_PULL_DOWN),
236         UNIPHIER_PINCTRL_PIN(71, "XIRQ3", 0,
237                              71, UNIPHIER_PIN_DRV_1BIT,
238                              71, UNIPHIER_PIN_PULL_DOWN),
239         UNIPHIER_PINCTRL_PIN(72, "XIRQ4", 0,
240                              72, UNIPHIER_PIN_DRV_1BIT,
241                              72, UNIPHIER_PIN_PULL_DOWN),
242         UNIPHIER_PINCTRL_PIN(73, "XIRQ5", 0,
243                              73, UNIPHIER_PIN_DRV_1BIT,
244                              73, UNIPHIER_PIN_PULL_DOWN),
245         UNIPHIER_PINCTRL_PIN(74, "XIRQ6", 0,
246                              74, UNIPHIER_PIN_DRV_1BIT,
247                              74, UNIPHIER_PIN_PULL_DOWN),
248         UNIPHIER_PINCTRL_PIN(75, "XIRQ7", 0,
249                              75, UNIPHIER_PIN_DRV_1BIT,
250                              75, UNIPHIER_PIN_PULL_DOWN),
251         UNIPHIER_PINCTRL_PIN(76, "XIRQ8", 0,
252                              76, UNIPHIER_PIN_DRV_1BIT,
253                              76, UNIPHIER_PIN_PULL_DOWN),
254         UNIPHIER_PINCTRL_PIN(77, "XIRQ9", 0,
255                              77, UNIPHIER_PIN_DRV_1BIT,
256                              77, UNIPHIER_PIN_PULL_DOWN),
257         UNIPHIER_PINCTRL_PIN(78, "XIRQ10", 0,
258                              78, UNIPHIER_PIN_DRV_1BIT,
259                              78, UNIPHIER_PIN_PULL_DOWN),
260         UNIPHIER_PINCTRL_PIN(79, "XIRQ11", UNIPHIER_PIN_IECTRL_NONE,
261                              -1, UNIPHIER_PIN_DRV_FIXED8,
262                              79, UNIPHIER_PIN_PULL_DOWN),
263         UNIPHIER_PINCTRL_PIN(80, "XIRQ12", UNIPHIER_PIN_IECTRL_NONE,
264                              -1, UNIPHIER_PIN_DRV_FIXED8,
265                              80, UNIPHIER_PIN_PULL_DOWN),
266         UNIPHIER_PINCTRL_PIN(81, "XIRQ13", UNIPHIER_PIN_IECTRL_NONE,
267                              -1, UNIPHIER_PIN_DRV_FIXED8,
268                              81, UNIPHIER_PIN_PULL_DOWN),
269         UNIPHIER_PINCTRL_PIN(82, "XIRQ14", 0,
270                              82, UNIPHIER_PIN_DRV_1BIT,
271                              82, UNIPHIER_PIN_PULL_DOWN),
272         UNIPHIER_PINCTRL_PIN(83, "XIRQ15", 0,
273                              83, UNIPHIER_PIN_DRV_1BIT,
274                              83, UNIPHIER_PIN_PULL_DOWN),
275         UNIPHIER_PINCTRL_PIN(84, "XIRQ16", 0,
276                              84, UNIPHIER_PIN_DRV_1BIT,
277                              84, UNIPHIER_PIN_PULL_DOWN),
278         UNIPHIER_PINCTRL_PIN(85, "XIRQ17", UNIPHIER_PIN_IECTRL_NONE,
279                              -1, UNIPHIER_PIN_DRV_FIXED8,
280                              85, UNIPHIER_PIN_PULL_DOWN),
281         UNIPHIER_PINCTRL_PIN(86, "XIRQ18", UNIPHIER_PIN_IECTRL_NONE,
282                              -1, UNIPHIER_PIN_DRV_FIXED8,
283                              86, UNIPHIER_PIN_PULL_DOWN),
284         UNIPHIER_PINCTRL_PIN(87, "XIRQ19", 0,
285                              87, UNIPHIER_PIN_DRV_1BIT,
286                              87, UNIPHIER_PIN_PULL_DOWN),
287         UNIPHIER_PINCTRL_PIN(88, "XIRQ20", 0,
288                              88, UNIPHIER_PIN_DRV_1BIT,
289                              88, UNIPHIER_PIN_PULL_DOWN),
290         UNIPHIER_PINCTRL_PIN(89, "PORT00", 0,
291                              89, UNIPHIER_PIN_DRV_1BIT,
292                              89, UNIPHIER_PIN_PULL_DOWN),
293         UNIPHIER_PINCTRL_PIN(90, "PORT01", 0,
294                              90, UNIPHIER_PIN_DRV_1BIT,
295                              90, UNIPHIER_PIN_PULL_DOWN),
296         UNIPHIER_PINCTRL_PIN(91, "PORT02", 0,
297                              91, UNIPHIER_PIN_DRV_1BIT,
298                              91, UNIPHIER_PIN_PULL_DOWN),
299         UNIPHIER_PINCTRL_PIN(92, "PORT03", 0,
300                              92, UNIPHIER_PIN_DRV_1BIT,
301                              92, UNIPHIER_PIN_PULL_DOWN),
302         UNIPHIER_PINCTRL_PIN(93, "PORT04", 0,
303                              93, UNIPHIER_PIN_DRV_1BIT,
304                              93, UNIPHIER_PIN_PULL_DOWN),
305         UNIPHIER_PINCTRL_PIN(94, "PORT05", 0,
306                              94, UNIPHIER_PIN_DRV_1BIT,
307                              94, UNIPHIER_PIN_PULL_DOWN),
308         UNIPHIER_PINCTRL_PIN(95, "PORT06", 0,
309                              95, UNIPHIER_PIN_DRV_1BIT,
310                              95, UNIPHIER_PIN_PULL_DOWN),
311         UNIPHIER_PINCTRL_PIN(96, "PORT07", 0,
312                              96, UNIPHIER_PIN_DRV_1BIT,
313                              96, UNIPHIER_PIN_PULL_DOWN),
314         UNIPHIER_PINCTRL_PIN(97, "PORT10", 0,
315                              97, UNIPHIER_PIN_DRV_1BIT,
316                              97, UNIPHIER_PIN_PULL_DOWN),
317         UNIPHIER_PINCTRL_PIN(98, "PORT11", 0,
318                              98, UNIPHIER_PIN_DRV_1BIT,
319                              98, UNIPHIER_PIN_PULL_DOWN),
320         UNIPHIER_PINCTRL_PIN(99, "PORT12", 0,
321                              99, UNIPHIER_PIN_DRV_1BIT,
322                              99, UNIPHIER_PIN_PULL_DOWN),
323         UNIPHIER_PINCTRL_PIN(100, "PORT13", 0,
324                              100, UNIPHIER_PIN_DRV_1BIT,
325                              100, UNIPHIER_PIN_PULL_DOWN),
326         UNIPHIER_PINCTRL_PIN(101, "PORT14", 0,
327                              101, UNIPHIER_PIN_DRV_1BIT,
328                              101, UNIPHIER_PIN_PULL_DOWN),
329         UNIPHIER_PINCTRL_PIN(102, "PORT15", 0,
330                              102, UNIPHIER_PIN_DRV_1BIT,
331                              102, UNIPHIER_PIN_PULL_DOWN),
332         UNIPHIER_PINCTRL_PIN(103, "PORT16", 0,
333                              103, UNIPHIER_PIN_DRV_1BIT,
334                              103, UNIPHIER_PIN_PULL_DOWN),
335         UNIPHIER_PINCTRL_PIN(104, "PORT17", 0,
336                              104, UNIPHIER_PIN_DRV_1BIT,
337                              104, UNIPHIER_PIN_PULL_DOWN),
338         UNIPHIER_PINCTRL_PIN(105, "T0HPD", 0,
339                              105, UNIPHIER_PIN_DRV_1BIT,
340                              105, UNIPHIER_PIN_PULL_DOWN),
341         UNIPHIER_PINCTRL_PIN(106, "T1HPD", 0,
342                              106, UNIPHIER_PIN_DRV_1BIT,
343                              106, UNIPHIER_PIN_PULL_DOWN),
344         UNIPHIER_PINCTRL_PIN(107, "R0HPD", 0,
345                              107, UNIPHIER_PIN_DRV_1BIT,
346                              107, UNIPHIER_PIN_PULL_DOWN),
347         UNIPHIER_PINCTRL_PIN(108, "R1HPD", 0,
348                              108, UNIPHIER_PIN_DRV_1BIT,
349                              108, UNIPHIER_PIN_PULL_DOWN),
350         UNIPHIER_PINCTRL_PIN(109, "XPERST", 0,
351                              109, UNIPHIER_PIN_DRV_1BIT,
352                              109, UNIPHIER_PIN_PULL_UP),
353         UNIPHIER_PINCTRL_PIN(110, "XPEWAKE", 0,
354                              110, UNIPHIER_PIN_DRV_1BIT,
355                              110, UNIPHIER_PIN_PULL_UP),
356         UNIPHIER_PINCTRL_PIN(111, "XPECLKRQ", 0,
357                              111, UNIPHIER_PIN_DRV_1BIT,
358                              111, UNIPHIER_PIN_PULL_UP),
359         UNIPHIER_PINCTRL_PIN(112, "SDA0", UNIPHIER_PIN_IECTRL_NONE,
360                              -1, UNIPHIER_PIN_DRV_FIXED8,
361                              112, UNIPHIER_PIN_PULL_UP),
362         UNIPHIER_PINCTRL_PIN(113, "SCL0", UNIPHIER_PIN_IECTRL_NONE,
363                              -1, UNIPHIER_PIN_DRV_FIXED8,
364                              113, UNIPHIER_PIN_PULL_UP),
365         UNIPHIER_PINCTRL_PIN(114, "SDA1", UNIPHIER_PIN_IECTRL_NONE,
366                              -1, UNIPHIER_PIN_DRV_FIXED8,
367                              114, UNIPHIER_PIN_PULL_UP),
368         UNIPHIER_PINCTRL_PIN(115, "SCL1", UNIPHIER_PIN_IECTRL_NONE,
369                              -1, UNIPHIER_PIN_DRV_FIXED8,
370                              115, UNIPHIER_PIN_PULL_UP),
371         UNIPHIER_PINCTRL_PIN(116, "SDA2", UNIPHIER_PIN_IECTRL_NONE,
372                              -1, UNIPHIER_PIN_DRV_FIXED8,
373                              116, UNIPHIER_PIN_PULL_UP),
374         UNIPHIER_PINCTRL_PIN(117, "SCL2", UNIPHIER_PIN_IECTRL_NONE,
375                              -1, UNIPHIER_PIN_DRV_FIXED8,
376                              117, UNIPHIER_PIN_PULL_UP),
377         UNIPHIER_PINCTRL_PIN(118, "SDA3", UNIPHIER_PIN_IECTRL_NONE,
378                              -1, UNIPHIER_PIN_DRV_FIXED4,
379                              118, UNIPHIER_PIN_PULL_UP),
380         UNIPHIER_PINCTRL_PIN(119, "SCL3", UNIPHIER_PIN_IECTRL_NONE,
381                              -1, UNIPHIER_PIN_DRV_FIXED4,
382                              119, UNIPHIER_PIN_PULL_UP),
383         UNIPHIER_PINCTRL_PIN(120, "SPISYNC", UNIPHIER_PIN_IECTRL_NONE,
384                              -1, UNIPHIER_PIN_DRV_FIXED8,
385                              120, UNIPHIER_PIN_PULL_DOWN),
386         UNIPHIER_PINCTRL_PIN(121, "SPISCLK", UNIPHIER_PIN_IECTRL_NONE,
387                              -1, UNIPHIER_PIN_DRV_FIXED8,
388                              121, UNIPHIER_PIN_PULL_DOWN),
389         UNIPHIER_PINCTRL_PIN(122, "SPITXD", UNIPHIER_PIN_IECTRL_NONE,
390                              -1, UNIPHIER_PIN_DRV_FIXED8,
391                              122, UNIPHIER_PIN_PULL_DOWN),
392         UNIPHIER_PINCTRL_PIN(123, "SPIRXD", UNIPHIER_PIN_IECTRL_NONE,
393                              -1, UNIPHIER_PIN_DRV_FIXED8,
394                              123, UNIPHIER_PIN_PULL_DOWN),
395         UNIPHIER_PINCTRL_PIN(124, "USB0VBUS", UNIPHIER_PIN_IECTRL_NONE,
396                              -1, UNIPHIER_PIN_DRV_FIXED8,
397                              124, UNIPHIER_PIN_PULL_DOWN),
398         UNIPHIER_PINCTRL_PIN(125, "USB0OD", UNIPHIER_PIN_IECTRL_NONE,
399                              -1, UNIPHIER_PIN_DRV_FIXED8,
400                              125, UNIPHIER_PIN_PULL_UP),
401         UNIPHIER_PINCTRL_PIN(126, "USB1VBUS", UNIPHIER_PIN_IECTRL_NONE,
402                              -1, UNIPHIER_PIN_DRV_FIXED8,
403                              126, UNIPHIER_PIN_PULL_DOWN),
404         UNIPHIER_PINCTRL_PIN(127, "USB1OD", UNIPHIER_PIN_IECTRL_NONE,
405                              -1, UNIPHIER_PIN_DRV_FIXED8,
406                              127, UNIPHIER_PIN_PULL_UP),
407         UNIPHIER_PINCTRL_PIN(128, "USB2VBUS", UNIPHIER_PIN_IECTRL_NONE,
408                              -1, UNIPHIER_PIN_DRV_FIXED8,
409                              128, UNIPHIER_PIN_PULL_DOWN),
410         UNIPHIER_PINCTRL_PIN(129, "USB2OD", UNIPHIER_PIN_IECTRL_NONE,
411                              -1, UNIPHIER_PIN_DRV_FIXED8,
412                              129, UNIPHIER_PIN_PULL_UP),
413         UNIPHIER_PINCTRL_PIN(130, "SMTRST0", UNIPHIER_PIN_IECTRL_NONE,
414                              -1, UNIPHIER_PIN_DRV_FIXED8,
415                              130, UNIPHIER_PIN_PULL_DOWN),
416         UNIPHIER_PINCTRL_PIN(131, "SMTCMD0", UNIPHIER_PIN_IECTRL_NONE,
417                              -1, UNIPHIER_PIN_DRV_FIXED8,
418                              131, UNIPHIER_PIN_PULL_DOWN),
419         UNIPHIER_PINCTRL_PIN(132, "SMTD0", UNIPHIER_PIN_IECTRL_NONE,
420                              -1, UNIPHIER_PIN_DRV_FIXED8,
421                              132, UNIPHIER_PIN_PULL_DOWN),
422         UNIPHIER_PINCTRL_PIN(133, "SMTSEL0", UNIPHIER_PIN_IECTRL_NONE,
423                              -1, UNIPHIER_PIN_DRV_FIXED8,
424                              133, UNIPHIER_PIN_PULL_DOWN),
425         UNIPHIER_PINCTRL_PIN(134, "SMTCLK0", UNIPHIER_PIN_IECTRL_NONE,
426                              -1, UNIPHIER_PIN_DRV_FIXED8,
427                              134, UNIPHIER_PIN_PULL_DOWN),
428         UNIPHIER_PINCTRL_PIN(135, "SMTRST1", UNIPHIER_PIN_IECTRL_NONE,
429                              -1, UNIPHIER_PIN_DRV_FIXED8,
430                              135, UNIPHIER_PIN_PULL_DOWN),
431         UNIPHIER_PINCTRL_PIN(136, "SMTCMD1", UNIPHIER_PIN_IECTRL_NONE,
432                              -1, UNIPHIER_PIN_DRV_FIXED8,
433                              136, UNIPHIER_PIN_PULL_DOWN),
434         UNIPHIER_PINCTRL_PIN(137, "SMTD1", UNIPHIER_PIN_IECTRL_NONE,
435                              -1, UNIPHIER_PIN_DRV_FIXED8,
436                              137, UNIPHIER_PIN_PULL_DOWN),
437         UNIPHIER_PINCTRL_PIN(138, "SMTSEL1", UNIPHIER_PIN_IECTRL_NONE,
438                              -1, UNIPHIER_PIN_DRV_FIXED8,
439                              138, UNIPHIER_PIN_PULL_DOWN),
440         UNIPHIER_PINCTRL_PIN(139, "SMTCLK1", UNIPHIER_PIN_IECTRL_NONE,
441                              -1, UNIPHIER_PIN_DRV_FIXED8,
442                              139, UNIPHIER_PIN_PULL_DOWN),
443         UNIPHIER_PINCTRL_PIN(140, "CH0CLK", UNIPHIER_PIN_IECTRL_NONE,
444                              -1, UNIPHIER_PIN_DRV_FIXED8,
445                              140, UNIPHIER_PIN_PULL_DOWN),
446         UNIPHIER_PINCTRL_PIN(141, "CH0PSYNC", UNIPHIER_PIN_IECTRL_NONE,
447                              -1, UNIPHIER_PIN_DRV_FIXED8,
448                              141, UNIPHIER_PIN_PULL_DOWN),
449         UNIPHIER_PINCTRL_PIN(142, "CH0VAL", UNIPHIER_PIN_IECTRL_NONE,
450                              -1, UNIPHIER_PIN_DRV_FIXED8,
451                              142, UNIPHIER_PIN_PULL_DOWN),
452         UNIPHIER_PINCTRL_PIN(143, "CH0DATA", UNIPHIER_PIN_IECTRL_NONE,
453                              -1, UNIPHIER_PIN_DRV_FIXED8,
454                              143, UNIPHIER_PIN_PULL_DOWN),
455         UNIPHIER_PINCTRL_PIN(144, "CH1CLK", UNIPHIER_PIN_IECTRL_NONE,
456                              -1, UNIPHIER_PIN_DRV_FIXED8,
457                              144, UNIPHIER_PIN_PULL_DOWN),
458         UNIPHIER_PINCTRL_PIN(145, "CH1PSYNC", UNIPHIER_PIN_IECTRL_NONE,
459                              -1, UNIPHIER_PIN_DRV_FIXED8,
460                              145, UNIPHIER_PIN_PULL_DOWN),
461         UNIPHIER_PINCTRL_PIN(146, "CH1VAL", UNIPHIER_PIN_IECTRL_NONE,
462                              -1, UNIPHIER_PIN_DRV_FIXED8,
463                              146, UNIPHIER_PIN_PULL_DOWN),
464         UNIPHIER_PINCTRL_PIN(147, "CH1DATA", UNIPHIER_PIN_IECTRL_NONE,
465                              -1, UNIPHIER_PIN_DRV_FIXED8,
466                              147, UNIPHIER_PIN_PULL_DOWN),
467         UNIPHIER_PINCTRL_PIN(148, "CH2CLK", UNIPHIER_PIN_IECTRL_NONE,
468                              -1, UNIPHIER_PIN_DRV_FIXED8,
469                              148, UNIPHIER_PIN_PULL_DOWN),
470         UNIPHIER_PINCTRL_PIN(149, "CH2PSYNC", UNIPHIER_PIN_IECTRL_NONE,
471                              -1, UNIPHIER_PIN_DRV_FIXED8,
472                              149, UNIPHIER_PIN_PULL_DOWN),
473         UNIPHIER_PINCTRL_PIN(150, "CH2VAL", UNIPHIER_PIN_IECTRL_NONE,
474                              -1, UNIPHIER_PIN_DRV_FIXED8,
475                              150, UNIPHIER_PIN_PULL_DOWN),
476         UNIPHIER_PINCTRL_PIN(151, "CH2DATA", UNIPHIER_PIN_IECTRL_NONE,
477                              -1, UNIPHIER_PIN_DRV_FIXED8,
478                              151, UNIPHIER_PIN_PULL_DOWN),
479         UNIPHIER_PINCTRL_PIN(152, "CH3CLK", UNIPHIER_PIN_IECTRL_NONE,
480                              -1, UNIPHIER_PIN_DRV_FIXED8,
481                              152, UNIPHIER_PIN_PULL_DOWN),
482         UNIPHIER_PINCTRL_PIN(153, "CH3PSYNC", UNIPHIER_PIN_IECTRL_NONE,
483                              -1, UNIPHIER_PIN_DRV_FIXED8,
484                              153, UNIPHIER_PIN_PULL_DOWN),
485         UNIPHIER_PINCTRL_PIN(154, "CH3VAL", UNIPHIER_PIN_IECTRL_NONE,
486                              -1, UNIPHIER_PIN_DRV_FIXED8,
487                              154, UNIPHIER_PIN_PULL_DOWN),
488         UNIPHIER_PINCTRL_PIN(155, "CH3DATA", UNIPHIER_PIN_IECTRL_NONE,
489                              -1, UNIPHIER_PIN_DRV_FIXED8,
490                              155, UNIPHIER_PIN_PULL_DOWN),
491         UNIPHIER_PINCTRL_PIN(156, "CH4CLK", UNIPHIER_PIN_IECTRL_NONE,
492                              -1, UNIPHIER_PIN_DRV_FIXED8,
493                              156, UNIPHIER_PIN_PULL_DOWN),
494         UNIPHIER_PINCTRL_PIN(157, "CH4PSYNC", UNIPHIER_PIN_IECTRL_NONE,
495                              -1, UNIPHIER_PIN_DRV_FIXED8,
496                              157, UNIPHIER_PIN_PULL_DOWN),
497         UNIPHIER_PINCTRL_PIN(158, "CH4VAL", UNIPHIER_PIN_IECTRL_NONE,
498                              -1, UNIPHIER_PIN_DRV_FIXED8,
499                              158, UNIPHIER_PIN_PULL_DOWN),
500         UNIPHIER_PINCTRL_PIN(159, "CH4DATA", UNIPHIER_PIN_IECTRL_NONE,
501                              -1, UNIPHIER_PIN_DRV_FIXED8,
502                              159, UNIPHIER_PIN_PULL_DOWN),
503         UNIPHIER_PINCTRL_PIN(160, "CH5CLK", UNIPHIER_PIN_IECTRL_NONE,
504                              -1, UNIPHIER_PIN_DRV_FIXED8,
505                              160, UNIPHIER_PIN_PULL_DOWN),
506         UNIPHIER_PINCTRL_PIN(161, "CH5PSYNC", UNIPHIER_PIN_IECTRL_NONE,
507                              -1, UNIPHIER_PIN_DRV_FIXED8,
508                              161, UNIPHIER_PIN_PULL_DOWN),
509         UNIPHIER_PINCTRL_PIN(162, "CH5VAL", UNIPHIER_PIN_IECTRL_NONE,
510                              -1, UNIPHIER_PIN_DRV_FIXED8,
511                              162, UNIPHIER_PIN_PULL_DOWN),
512         UNIPHIER_PINCTRL_PIN(163, "CH5DATA", UNIPHIER_PIN_IECTRL_NONE,
513                              -1, UNIPHIER_PIN_DRV_FIXED8,
514                              163, UNIPHIER_PIN_PULL_DOWN),
515         UNIPHIER_PINCTRL_PIN(164, "CH6CLK", UNIPHIER_PIN_IECTRL_NONE,
516                              -1, UNIPHIER_PIN_DRV_FIXED8,
517                              164, UNIPHIER_PIN_PULL_DOWN),
518         UNIPHIER_PINCTRL_PIN(165, "CH6PSYNC", UNIPHIER_PIN_IECTRL_NONE,
519                              -1, UNIPHIER_PIN_DRV_FIXED8,
520                              165, UNIPHIER_PIN_PULL_DOWN),
521         UNIPHIER_PINCTRL_PIN(166, "CH6VAL", UNIPHIER_PIN_IECTRL_NONE,
522                              -1, UNIPHIER_PIN_DRV_FIXED8,
523                              166, UNIPHIER_PIN_PULL_DOWN),
524         UNIPHIER_PINCTRL_PIN(167, "CH6DATA", UNIPHIER_PIN_IECTRL_NONE,
525                              -1, UNIPHIER_PIN_DRV_FIXED8,
526                              167, UNIPHIER_PIN_PULL_DOWN),
527         UNIPHIER_PINCTRL_PIN(168, "CH7CLK", UNIPHIER_PIN_IECTRL_NONE,
528                              -1, UNIPHIER_PIN_DRV_FIXED8,
529                              168, UNIPHIER_PIN_PULL_DOWN),
530         UNIPHIER_PINCTRL_PIN(169, "CH7PSYNC", UNIPHIER_PIN_IECTRL_NONE,
531                              -1, UNIPHIER_PIN_DRV_FIXED8,
532                              169, UNIPHIER_PIN_PULL_DOWN),
533         UNIPHIER_PINCTRL_PIN(170, "CH7VAL", UNIPHIER_PIN_IECTRL_NONE,
534                              -1, UNIPHIER_PIN_DRV_FIXED8,
535                              170, UNIPHIER_PIN_PULL_DOWN),
536         UNIPHIER_PINCTRL_PIN(171, "CH7DATA", UNIPHIER_PIN_IECTRL_NONE,
537                              -1, UNIPHIER_PIN_DRV_FIXED8,
538                              171, UNIPHIER_PIN_PULL_DOWN),
539         UNIPHIER_PINCTRL_PIN(172, "AI1ADCCK", UNIPHIER_PIN_IECTRL_NONE,
540                              -1, UNIPHIER_PIN_DRV_FIXED8,
541                              172, UNIPHIER_PIN_PULL_DOWN),
542         UNIPHIER_PINCTRL_PIN(173, "AI1BCK", UNIPHIER_PIN_IECTRL_NONE,
543                              -1, UNIPHIER_PIN_DRV_FIXED8,
544                              173, UNIPHIER_PIN_PULL_DOWN),
545         UNIPHIER_PINCTRL_PIN(174, "AI1LRCK", UNIPHIER_PIN_IECTRL_NONE,
546                              -1, UNIPHIER_PIN_DRV_FIXED8,
547                              174, UNIPHIER_PIN_PULL_DOWN),
548         UNIPHIER_PINCTRL_PIN(175, "AI1D0", UNIPHIER_PIN_IECTRL_NONE,
549                              -1, UNIPHIER_PIN_DRV_FIXED8,
550                              175, UNIPHIER_PIN_PULL_DOWN),
551         UNIPHIER_PINCTRL_PIN(176, "AI1D1", UNIPHIER_PIN_IECTRL_NONE,
552                              -1, UNIPHIER_PIN_DRV_FIXED8,
553                              176, UNIPHIER_PIN_PULL_DOWN),
554         UNIPHIER_PINCTRL_PIN(177, "AI1D2", UNIPHIER_PIN_IECTRL_NONE,
555                              -1, UNIPHIER_PIN_DRV_FIXED8,
556                              177, UNIPHIER_PIN_PULL_DOWN),
557         UNIPHIER_PINCTRL_PIN(178, "AI1D3", UNIPHIER_PIN_IECTRL_NONE,
558                              -1, UNIPHIER_PIN_DRV_FIXED8,
559                              178, UNIPHIER_PIN_PULL_DOWN),
560         UNIPHIER_PINCTRL_PIN(179, "AI2ADCCK", UNIPHIER_PIN_IECTRL_NONE,
561                              -1, UNIPHIER_PIN_DRV_FIXED8,
562                              179, UNIPHIER_PIN_PULL_DOWN),
563         UNIPHIER_PINCTRL_PIN(180, "AI2BCK", UNIPHIER_PIN_IECTRL_NONE,
564                              -1, UNIPHIER_PIN_DRV_FIXED8,
565                              180, UNIPHIER_PIN_PULL_DOWN),
566         UNIPHIER_PINCTRL_PIN(181, "AI2LRCK", UNIPHIER_PIN_IECTRL_NONE,
567                              -1, UNIPHIER_PIN_DRV_FIXED8,
568                              181, UNIPHIER_PIN_PULL_DOWN),
569         UNIPHIER_PINCTRL_PIN(182, "AI2D0", UNIPHIER_PIN_IECTRL_NONE,
570                              -1, UNIPHIER_PIN_DRV_FIXED8,
571                              182, UNIPHIER_PIN_PULL_DOWN),
572         UNIPHIER_PINCTRL_PIN(183, "AI2D1", UNIPHIER_PIN_IECTRL_NONE,
573                              -1, UNIPHIER_PIN_DRV_FIXED8,
574                              183, UNIPHIER_PIN_PULL_DOWN),
575         UNIPHIER_PINCTRL_PIN(184, "AI2D2", UNIPHIER_PIN_IECTRL_NONE,
576                              -1, UNIPHIER_PIN_DRV_FIXED8,
577                              184, UNIPHIER_PIN_PULL_DOWN),
578         UNIPHIER_PINCTRL_PIN(185, "AI2D3", UNIPHIER_PIN_IECTRL_NONE,
579                              -1, UNIPHIER_PIN_DRV_FIXED8,
580                              185, UNIPHIER_PIN_PULL_DOWN),
581         UNIPHIER_PINCTRL_PIN(186, "AI3ADCCK", UNIPHIER_PIN_IECTRL_NONE,
582                              -1, UNIPHIER_PIN_DRV_FIXED8,
583                              186, UNIPHIER_PIN_PULL_DOWN),
584         UNIPHIER_PINCTRL_PIN(187, "AI3BCK", UNIPHIER_PIN_IECTRL_NONE,
585                              -1, UNIPHIER_PIN_DRV_FIXED8,
586                              187, UNIPHIER_PIN_PULL_DOWN),
587         UNIPHIER_PINCTRL_PIN(188, "AI3LRCK", UNIPHIER_PIN_IECTRL_NONE,
588                              -1, UNIPHIER_PIN_DRV_FIXED8,
589                              188, UNIPHIER_PIN_PULL_DOWN),
590         UNIPHIER_PINCTRL_PIN(189, "AI3D0", UNIPHIER_PIN_IECTRL_NONE,
591                              -1, UNIPHIER_PIN_DRV_FIXED8,
592                              189, UNIPHIER_PIN_PULL_DOWN),
593         UNIPHIER_PINCTRL_PIN(190, "AO1IEC", UNIPHIER_PIN_IECTRL_NONE,
594                              -1, UNIPHIER_PIN_DRV_FIXED8,
595                              190, UNIPHIER_PIN_PULL_DOWN),
596         UNIPHIER_PINCTRL_PIN(191, "AO1DACCK", UNIPHIER_PIN_IECTRL_NONE,
597                              -1, UNIPHIER_PIN_DRV_FIXED8,
598                              191, UNIPHIER_PIN_PULL_DOWN),
599         UNIPHIER_PINCTRL_PIN(192, "AO1BCK", UNIPHIER_PIN_IECTRL_NONE,
600                              -1, UNIPHIER_PIN_DRV_FIXED8,
601                              192, UNIPHIER_PIN_PULL_DOWN),
602         UNIPHIER_PINCTRL_PIN(193, "AO1LRCK", UNIPHIER_PIN_IECTRL_NONE,
603                              -1, UNIPHIER_PIN_DRV_FIXED8,
604                              193, UNIPHIER_PIN_PULL_DOWN),
605         UNIPHIER_PINCTRL_PIN(194, "AO1D0", UNIPHIER_PIN_IECTRL_NONE,
606                              -1, UNIPHIER_PIN_DRV_FIXED8,
607                              194, UNIPHIER_PIN_PULL_DOWN),
608         UNIPHIER_PINCTRL_PIN(195, "AO1D1", UNIPHIER_PIN_IECTRL_NONE,
609                              -1, UNIPHIER_PIN_DRV_FIXED8,
610                              195, UNIPHIER_PIN_PULL_DOWN),
611         UNIPHIER_PINCTRL_PIN(196, "AO1D2", UNIPHIER_PIN_IECTRL_NONE,
612                              -1, UNIPHIER_PIN_DRV_FIXED8,
613                              196, UNIPHIER_PIN_PULL_UP),
614         UNIPHIER_PINCTRL_PIN(197, "AO1D3", UNIPHIER_PIN_IECTRL_NONE,
615                              -1, UNIPHIER_PIN_DRV_FIXED8,
616                              197, UNIPHIER_PIN_PULL_UP),
617         UNIPHIER_PINCTRL_PIN(198, "AO2IEC", UNIPHIER_PIN_IECTRL_NONE,
618                              -1, UNIPHIER_PIN_DRV_FIXED8,
619                              198, UNIPHIER_PIN_PULL_DOWN),
620         UNIPHIER_PINCTRL_PIN(199, "AO2DACCK", UNIPHIER_PIN_IECTRL_NONE,
621                              -1, UNIPHIER_PIN_DRV_FIXED8,
622                              199, UNIPHIER_PIN_PULL_DOWN),
623         UNIPHIER_PINCTRL_PIN(200, "AO2BCK", UNIPHIER_PIN_IECTRL_NONE,
624                              -1, UNIPHIER_PIN_DRV_FIXED8,
625                              200, UNIPHIER_PIN_PULL_DOWN),
626         UNIPHIER_PINCTRL_PIN(201, "AO2LRCK", UNIPHIER_PIN_IECTRL_NONE,
627                              -1, UNIPHIER_PIN_DRV_FIXED8,
628                              201, UNIPHIER_PIN_PULL_DOWN),
629         UNIPHIER_PINCTRL_PIN(202, "AO2D0", UNIPHIER_PIN_IECTRL_NONE,
630                              -1, UNIPHIER_PIN_DRV_FIXED8,
631                              202, UNIPHIER_PIN_PULL_DOWN),
632         UNIPHIER_PINCTRL_PIN(203, "AO2D1", UNIPHIER_PIN_IECTRL_NONE,
633                              -1, UNIPHIER_PIN_DRV_FIXED8,
634                              203, UNIPHIER_PIN_PULL_DOWN),
635         UNIPHIER_PINCTRL_PIN(204, "AO2D2", UNIPHIER_PIN_IECTRL_NONE,
636                              -1, UNIPHIER_PIN_DRV_FIXED8,
637                              204, UNIPHIER_PIN_PULL_DOWN),
638         UNIPHIER_PINCTRL_PIN(205, "AO2D3", UNIPHIER_PIN_IECTRL_NONE,
639                              -1, UNIPHIER_PIN_DRV_FIXED8,
640                              205, UNIPHIER_PIN_PULL_DOWN),
641         UNIPHIER_PINCTRL_PIN(206, "AO3DACCK", UNIPHIER_PIN_IECTRL_NONE,
642                              -1, UNIPHIER_PIN_DRV_FIXED8,
643                              206, UNIPHIER_PIN_PULL_DOWN),
644         UNIPHIER_PINCTRL_PIN(207, "AO3BCK", UNIPHIER_PIN_IECTRL_NONE,
645                              -1, UNIPHIER_PIN_DRV_FIXED8,
646                              207, UNIPHIER_PIN_PULL_DOWN),
647         UNIPHIER_PINCTRL_PIN(208, "AO3LRCK", UNIPHIER_PIN_IECTRL_NONE,
648                              -1, UNIPHIER_PIN_DRV_FIXED8,
649                              208, UNIPHIER_PIN_PULL_DOWN),
650         UNIPHIER_PINCTRL_PIN(209, "AO3DMIX", UNIPHIER_PIN_IECTRL_NONE,
651                              -1, UNIPHIER_PIN_DRV_FIXED8,
652                              209, UNIPHIER_PIN_PULL_DOWN),
653         UNIPHIER_PINCTRL_PIN(210, "AO4DACCK", UNIPHIER_PIN_IECTRL_NONE,
654                              -1, UNIPHIER_PIN_DRV_FIXED8,
655                              210, UNIPHIER_PIN_PULL_DOWN),
656         UNIPHIER_PINCTRL_PIN(211, "AO4BCK", UNIPHIER_PIN_IECTRL_NONE,
657                              -1, UNIPHIER_PIN_DRV_FIXED8,
658                              211, UNIPHIER_PIN_PULL_DOWN),
659         UNIPHIER_PINCTRL_PIN(212, "AO4LRCK", UNIPHIER_PIN_IECTRL_NONE,
660                              -1, UNIPHIER_PIN_DRV_FIXED8,
661                              212, UNIPHIER_PIN_PULL_DOWN),
662         UNIPHIER_PINCTRL_PIN(213, "AO4DMIX", UNIPHIER_PIN_IECTRL_NONE,
663                              -1, UNIPHIER_PIN_DRV_FIXED8,
664                              213, UNIPHIER_PIN_PULL_DOWN),
665         UNIPHIER_PINCTRL_PIN(214, "VI1CLK", UNIPHIER_PIN_IECTRL_NONE,
666                              -1, UNIPHIER_PIN_DRV_FIXED8,
667                              214, UNIPHIER_PIN_PULL_DOWN),
668         UNIPHIER_PINCTRL_PIN(215, "VI1C0", UNIPHIER_PIN_IECTRL_NONE,
669                              -1, UNIPHIER_PIN_DRV_FIXED8,
670                              215, UNIPHIER_PIN_PULL_DOWN),
671         UNIPHIER_PINCTRL_PIN(216, "VI1C1", UNIPHIER_PIN_IECTRL_NONE,
672                              -1, UNIPHIER_PIN_DRV_FIXED8,
673                              216, UNIPHIER_PIN_PULL_DOWN),
674         UNIPHIER_PINCTRL_PIN(217, "VI1C2", UNIPHIER_PIN_IECTRL_NONE,
675                              -1, UNIPHIER_PIN_DRV_FIXED8,
676                              217, UNIPHIER_PIN_PULL_DOWN),
677         UNIPHIER_PINCTRL_PIN(218, "VI1C3", UNIPHIER_PIN_IECTRL_NONE,
678                              -1, UNIPHIER_PIN_DRV_FIXED8,
679                              218, UNIPHIER_PIN_PULL_DOWN),
680         UNIPHIER_PINCTRL_PIN(219, "VI1C4", UNIPHIER_PIN_IECTRL_NONE,
681                              -1, UNIPHIER_PIN_DRV_FIXED8,
682                              219, UNIPHIER_PIN_PULL_DOWN),
683         UNIPHIER_PINCTRL_PIN(220, "VI1C5", UNIPHIER_PIN_IECTRL_NONE,
684                              -1, UNIPHIER_PIN_DRV_FIXED8,
685                              220, UNIPHIER_PIN_PULL_DOWN),
686         UNIPHIER_PINCTRL_PIN(221, "VI1C6", UNIPHIER_PIN_IECTRL_NONE,
687                              -1, UNIPHIER_PIN_DRV_FIXED8,
688                              221, UNIPHIER_PIN_PULL_DOWN),
689         UNIPHIER_PINCTRL_PIN(222, "VI1C7", UNIPHIER_PIN_IECTRL_NONE,
690                              -1, UNIPHIER_PIN_DRV_FIXED8,
691                              222, UNIPHIER_PIN_PULL_DOWN),
692         UNIPHIER_PINCTRL_PIN(223, "VI1C8", UNIPHIER_PIN_IECTRL_NONE,
693                              -1, UNIPHIER_PIN_DRV_FIXED8,
694                              223, UNIPHIER_PIN_PULL_DOWN),
695         UNIPHIER_PINCTRL_PIN(224, "VI1C9", UNIPHIER_PIN_IECTRL_NONE,
696                              -1, UNIPHIER_PIN_DRV_FIXED8,
697                              224, UNIPHIER_PIN_PULL_DOWN),
698         UNIPHIER_PINCTRL_PIN(225, "VI1Y0", UNIPHIER_PIN_IECTRL_NONE,
699                              -1, UNIPHIER_PIN_DRV_FIXED8,
700                              225, UNIPHIER_PIN_PULL_DOWN),
701         UNIPHIER_PINCTRL_PIN(226, "VI1Y1", UNIPHIER_PIN_IECTRL_NONE,
702                              -1, UNIPHIER_PIN_DRV_FIXED8,
703                              226, UNIPHIER_PIN_PULL_DOWN),
704         UNIPHIER_PINCTRL_PIN(227, "VI1Y2", UNIPHIER_PIN_IECTRL_NONE,
705                              -1, UNIPHIER_PIN_DRV_FIXED8,
706                              227, UNIPHIER_PIN_PULL_DOWN),
707         UNIPHIER_PINCTRL_PIN(228, "VI1Y3", UNIPHIER_PIN_IECTRL_NONE,
708                              -1, UNIPHIER_PIN_DRV_FIXED8,
709                              228, UNIPHIER_PIN_PULL_DOWN),
710         UNIPHIER_PINCTRL_PIN(229, "VI1Y4", UNIPHIER_PIN_IECTRL_NONE,
711                              -1, UNIPHIER_PIN_DRV_FIXED8,
712                              229, UNIPHIER_PIN_PULL_DOWN),
713         UNIPHIER_PINCTRL_PIN(230, "VI1Y5", UNIPHIER_PIN_IECTRL_NONE,
714                              -1, UNIPHIER_PIN_DRV_FIXED8,
715                              230, UNIPHIER_PIN_PULL_DOWN),
716         UNIPHIER_PINCTRL_PIN(231, "VI1Y6", UNIPHIER_PIN_IECTRL_NONE,
717                              -1, UNIPHIER_PIN_DRV_FIXED8,
718                              231, UNIPHIER_PIN_PULL_DOWN),
719         UNIPHIER_PINCTRL_PIN(232, "VI1Y7", UNIPHIER_PIN_IECTRL_NONE,
720                              -1, UNIPHIER_PIN_DRV_FIXED8,
721                              232, UNIPHIER_PIN_PULL_DOWN),
722         UNIPHIER_PINCTRL_PIN(233, "VI1Y8", UNIPHIER_PIN_IECTRL_NONE,
723                              -1, UNIPHIER_PIN_DRV_FIXED8,
724                              233, UNIPHIER_PIN_PULL_DOWN),
725         UNIPHIER_PINCTRL_PIN(234, "VI1Y9", UNIPHIER_PIN_IECTRL_NONE,
726                              -1, UNIPHIER_PIN_DRV_FIXED8,
727                              234, UNIPHIER_PIN_PULL_DOWN),
728         UNIPHIER_PINCTRL_PIN(235, "VI1DE", UNIPHIER_PIN_IECTRL_NONE,
729                              -1, UNIPHIER_PIN_DRV_FIXED8,
730                              235, UNIPHIER_PIN_PULL_DOWN),
731         UNIPHIER_PINCTRL_PIN(236, "VI1HSYNC", UNIPHIER_PIN_IECTRL_NONE,
732                              -1, UNIPHIER_PIN_DRV_FIXED8,
733                              236, UNIPHIER_PIN_PULL_DOWN),
734         UNIPHIER_PINCTRL_PIN(237, "VI1VSYNC", UNIPHIER_PIN_IECTRL_NONE,
735                              -1, UNIPHIER_PIN_DRV_FIXED8,
736                              237, UNIPHIER_PIN_PULL_DOWN),
737         UNIPHIER_PINCTRL_PIN(238, "VO1CLK", UNIPHIER_PIN_IECTRL_NONE,
738                              -1, UNIPHIER_PIN_DRV_FIXED8,
739                              238, UNIPHIER_PIN_PULL_DOWN),
740         UNIPHIER_PINCTRL_PIN(239, "VO1D0", UNIPHIER_PIN_IECTRL_NONE,
741                              -1, UNIPHIER_PIN_DRV_FIXED8,
742                              239, UNIPHIER_PIN_PULL_DOWN),
743         UNIPHIER_PINCTRL_PIN(240, "VO1D1", UNIPHIER_PIN_IECTRL_NONE,
744                              -1, UNIPHIER_PIN_DRV_FIXED8,
745                              240, UNIPHIER_PIN_PULL_DOWN),
746         UNIPHIER_PINCTRL_PIN(241, "VO1D2", UNIPHIER_PIN_IECTRL_NONE,
747                              -1, UNIPHIER_PIN_DRV_FIXED8,
748                              241, UNIPHIER_PIN_PULL_DOWN),
749         UNIPHIER_PINCTRL_PIN(242, "VO1D3", UNIPHIER_PIN_IECTRL_NONE,
750                              -1, UNIPHIER_PIN_DRV_FIXED8,
751                              242, UNIPHIER_PIN_PULL_DOWN),
752         UNIPHIER_PINCTRL_PIN(243, "VO1D4", UNIPHIER_PIN_IECTRL_NONE,
753                              -1, UNIPHIER_PIN_DRV_FIXED8,
754                              243, UNIPHIER_PIN_PULL_DOWN),
755         UNIPHIER_PINCTRL_PIN(244, "VO1D5", UNIPHIER_PIN_IECTRL_NONE,
756                              -1, UNIPHIER_PIN_DRV_FIXED8,
757                              244, UNIPHIER_PIN_PULL_DOWN),
758         UNIPHIER_PINCTRL_PIN(245, "VO1D6", UNIPHIER_PIN_IECTRL_NONE,
759                              -1, UNIPHIER_PIN_DRV_FIXED8,
760                              245, UNIPHIER_PIN_PULL_DOWN),
761         UNIPHIER_PINCTRL_PIN(246, "VO1D7", UNIPHIER_PIN_IECTRL_NONE,
762                              -1, UNIPHIER_PIN_DRV_FIXED8,
763                              246, UNIPHIER_PIN_PULL_DOWN),
764         UNIPHIER_PINCTRL_PIN(247, "SDCD", UNIPHIER_PIN_IECTRL_NONE,
765                              -1, UNIPHIER_PIN_DRV_FIXED8,
766                              247, UNIPHIER_PIN_PULL_UP),
767         UNIPHIER_PINCTRL_PIN(248, "SDWP", UNIPHIER_PIN_IECTRL_NONE,
768                              -1, UNIPHIER_PIN_DRV_FIXED8,
769                              248, UNIPHIER_PIN_PULL_UP),
770         UNIPHIER_PINCTRL_PIN(249, "SDVOLC", UNIPHIER_PIN_IECTRL_NONE,
771                              -1, UNIPHIER_PIN_DRV_FIXED8,
772                              249, UNIPHIER_PIN_PULL_UP),
773         UNIPHIER_PINCTRL_PIN(250, "SDCLK", UNIPHIER_PIN_IECTRL_NONE,
774                              10, UNIPHIER_PIN_DRV_2BIT,
775                              -1, UNIPHIER_PIN_PULL_UP_FIXED),
776         UNIPHIER_PINCTRL_PIN(251, "SDCMD", UNIPHIER_PIN_IECTRL_NONE,
777                              11, UNIPHIER_PIN_DRV_2BIT,
778                              -1, UNIPHIER_PIN_PULL_UP_FIXED),
779         UNIPHIER_PINCTRL_PIN(252, "SDDAT0", UNIPHIER_PIN_IECTRL_NONE,
780                              12, UNIPHIER_PIN_DRV_2BIT,
781                              -1, UNIPHIER_PIN_PULL_UP_FIXED),
782         UNIPHIER_PINCTRL_PIN(253, "SDDAT1", UNIPHIER_PIN_IECTRL_NONE,
783                              13, UNIPHIER_PIN_DRV_2BIT,
784                              -1, UNIPHIER_PIN_PULL_UP_FIXED),
785         UNIPHIER_PINCTRL_PIN(254, "SDDAT2", UNIPHIER_PIN_IECTRL_NONE,
786                              14, UNIPHIER_PIN_DRV_2BIT,
787                              -1, UNIPHIER_PIN_PULL_UP_FIXED),
788         UNIPHIER_PINCTRL_PIN(255, "SDDAT3", UNIPHIER_PIN_IECTRL_NONE,
789                              15, UNIPHIER_PIN_DRV_2BIT,
790                              -1, UNIPHIER_PIN_PULL_UP_FIXED),
791 };
792
793 static const unsigned emmc_pins[] = {36, 37, 38, 39, 40, 41, 42};
794 static const int emmc_muxvals[] = {0, 0, 0, 0, 0, 0, 0};
795 static const unsigned emmc_dat8_pins[] = {43, 44, 45, 46};
796 static const int emmc_dat8_muxvals[] = {0, 0, 0, 0};
797 static const unsigned i2c0_pins[] = {112, 113};
798 static const int i2c0_muxvals[] = {0, 0};
799 static const unsigned i2c1_pins[] = {114, 115};
800 static const int i2c1_muxvals[] = {0, 0};
801 static const unsigned i2c2_pins[] = {116, 117};
802 static const int i2c2_muxvals[] = {0, 0};
803 static const unsigned i2c3_pins[] = {118, 119};
804 static const int i2c3_muxvals[] = {0, 0};
805 static const unsigned i2c5_pins[] = {87, 88};
806 static const int i2c5_muxvals[] = {2, 2};
807 static const unsigned i2c5b_pins[] = {196, 197};
808 static const int i2c5b_muxvals[] = {2, 2};
809 static const unsigned i2c5c_pins[] = {215, 216};
810 static const int i2c5c_muxvals[] = {2, 2};
811 static const unsigned i2c6_pins[] = {101, 102};
812 static const int i2c6_muxvals[] = {2, 2};
813 static const unsigned nand_pins[] = {19, 20, 21, 22, 23, 24, 25, 28, 29, 30,
814                                      31, 32, 33, 34, 35};
815 static const int nand_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
816 static const unsigned nand_cs1_pins[] = {26, 27};
817 static const int nand_cs1_muxvals[] = {0, 0};
818 static const unsigned sd_pins[] = {250, 251, 252, 253, 254, 255, 256, 257, 258};
819 static const int sd_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
820 static const unsigned system_bus_pins[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
821                                            14, 15, 16, 17};
822 static const int system_bus_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
823                                          0};
824 static const unsigned system_bus_cs0_pins[] = {105};
825 static const int system_bus_cs0_muxvals[] = {1};
826 static const unsigned system_bus_cs1_pins[] = {18};
827 static const int system_bus_cs1_muxvals[] = {0};
828 static const unsigned system_bus_cs2_pins[] = {106};
829 static const int system_bus_cs2_muxvals[] = {1};
830 static const unsigned system_bus_cs3_pins[] = {100};
831 static const int system_bus_cs3_muxvals[] = {1};
832 static const unsigned system_bus_cs4_pins[] = {101};
833 static const int system_bus_cs4_muxvals[] = {1};
834 static const unsigned system_bus_cs5_pins[] = {102};
835 static const int system_bus_cs5_muxvals[] = {1};
836 static const unsigned system_bus_cs6_pins[] = {69};
837 static const int system_bus_cs6_muxvals[] = {5};
838 static const unsigned system_bus_cs7_pins[] = {70};
839 static const int system_bus_cs7_muxvals[] = {5};
840 static const unsigned uart0_pins[] = {47, 48};
841 static const int uart0_muxvals[] = {0, 0};
842 static const unsigned uart0b_pins[] = {227, 228};
843 static const int uart0b_muxvals[] = {3, 3};
844 static const unsigned uart1_pins[] = {49, 50};
845 static const int uart1_muxvals[] = {0, 0};
846 static const unsigned uart2_pins[] = {51, 52};
847 static const int uart2_muxvals[] = {0, 0};
848 static const unsigned uart3_pins[] = {53, 54};
849 static const int uart3_muxvals[] = {0, 0};
850 static const unsigned usb0_pins[] = {124, 125};
851 static const int usb0_muxvals[] = {0, 0};
852 static const unsigned usb1_pins[] = {126, 127};
853 static const int usb1_muxvals[] = {0, 0};
854 static const unsigned usb2_pins[] = {128, 129};
855 static const int usb2_muxvals[] = {0, 0};
856 static const unsigned port_range0_pins[] = {
857         89, 90, 91, 92, 93, 94, 95, 96,                 /* PORT0x */
858         97, 98, 99, 100, 101, 102, 103, 104,            /* PORT1x */
859         251, 252, 253, 254, 255, 247, 248, 249,         /* PORT2x */
860         39, 40, 41, 42, 43, 44, 45, 46,                 /* PORT3x */
861         156, 157, 158, 159, 160, 161, 162, 163,         /* PORT4x */
862         164, 165, 166, 167, 168, 169, 170, 171,         /* PORT5x */
863         190, 191, 192, 193, 194, 195, 196, 197,         /* PORT6x */
864         198, 199, 200, 201, 202, 203, 204, 205,         /* PORT7x */
865         120, 121, 122, 123, 55, 56, 57, 58,             /* PORT8x */
866         124, 125, 126, 127, 49, 50, 53, 54,             /* PORT9x */
867         148, 149, 150, 151, 152, 153, 154, 155,         /* PORT10x */
868         133, 134, 131, 130, 138, 139, 136, 135,         /* PORT11x */
869         28, 29, 30, 31, 32, 33, 34, 35,                 /* PORT12x */
870         179, 180, 181, 182, 186, 187, 188, 189,         /* PORT13x */
871         4, 5, 6, 7, 8, 9, 10, 11,                       /* PORT14x */
872 };
873 static const int port_range0_muxvals[] = {
874         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT0x */
875         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT1x */
876         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT2x */
877         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT3x */
878         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT4x */
879         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT5x */
880         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT6x */
881         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT7x */
882         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT8x */
883         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT9x */
884         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT10x */
885         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT11x */
886         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT12x */
887         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT13x */
888         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT14x */
889 };
890 static const unsigned port_range1_pins[] = {
891         109, 110, 111,                                  /* PORT175-177 */
892         206, 207, 208, 209, 210, 211, 212, 213,         /* PORT18x */
893         12, 13, 14, 15, 16, 17, 107, 108,               /* PORT19x */
894         140, 141, 142, 143, 144, 145, 146, 147,         /* PORT20x */
895         59, 60, 61, 62, 63, 64, 65, 66,                 /* PORT21x */
896         214, 215, 216, 217, 218, 219, 220, 221,         /* PORT22x */
897         222, 223, 224, 225, 226, 227, 228, 229,         /* PORT23x */
898         19, 20, 21, 22, 23, 24, 25, 26,                 /* PORT24x */
899         230, 231, 232, 233, 234, 235, 236, 237,         /* PORT25x */
900         239, 240, 241, 242, 243, 244, 245, 246,         /* PORT26x */
901         172, 173, 174, 175, 176, 177, 178, 129,         /* PORT27x */
902         0, 1, 2, 67, 85, 86, 87, 88,                    /* PORT28x */
903         105, 106, 18, 27, 36, 128, 132, 137,            /* PORT29x */
904         183, 184, 185, 84, 47, 48, 51, 52,              /* PORT30x */
905 };
906 static const int port_range1_muxvals[] = {
907         15, 15, 15,                                     /* PORT175-177 */
908         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT18x */
909         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT19x */
910         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT20x */
911         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT21x */
912         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT22x */
913         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT23x */
914         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT24x */
915         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT25x */
916         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT26x */
917         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT27x */
918         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT28x */
919         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT29x */
920         15, 15, 15, 15, 15, 15, 15, 15,                 /* PORT30x */
921 };
922 static const unsigned xirq_pins[] = {
923         68, 69, 70, 71, 72, 73, 74, 75,                 /* XIRQ0-7 */
924         76, 77, 78, 79, 80, 81, 82, 83,                 /* XIRQ8-15 */
925         84, 85, 86, 87, 88,                             /* XIRQ16-20 */
926 };
927 static const int xirq_muxvals[] = {
928         14, 14, 14, 14, 14, 14, 14, 14,                 /* XIRQ0-7 */
929         14, 14, 14, 14, 14, 14, 14, 14,                 /* XIRQ8-15 */
930         14, 14, 14, 14, 14,                             /* XIRQ16-20 */
931 };
932 static const unsigned xirq_alternatives_pins[] = {
933         91, 92, 239, 144, 240, 156, 241, 106, 128,
934 };
935 static const int xirq_alternatives_muxvals[] = {
936         14, 14, 14, 14, 14, 14, 14, 14, 14,
937 };
938
939 static const struct uniphier_pinctrl_group uniphier_pro5_groups[] = {
940         UNIPHIER_PINCTRL_GROUP(nand),
941         UNIPHIER_PINCTRL_GROUP(nand_cs1),
942         UNIPHIER_PINCTRL_GROUP(emmc),
943         UNIPHIER_PINCTRL_GROUP(emmc_dat8),
944         UNIPHIER_PINCTRL_GROUP(i2c0),
945         UNIPHIER_PINCTRL_GROUP(i2c1),
946         UNIPHIER_PINCTRL_GROUP(i2c2),
947         UNIPHIER_PINCTRL_GROUP(i2c3),
948         UNIPHIER_PINCTRL_GROUP(i2c5),
949         UNIPHIER_PINCTRL_GROUP(i2c5b),
950         UNIPHIER_PINCTRL_GROUP(i2c5c),
951         UNIPHIER_PINCTRL_GROUP(i2c6),
952         UNIPHIER_PINCTRL_GROUP(sd),
953         UNIPHIER_PINCTRL_GROUP(system_bus),
954         UNIPHIER_PINCTRL_GROUP(system_bus_cs0),
955         UNIPHIER_PINCTRL_GROUP(system_bus_cs1),
956         UNIPHIER_PINCTRL_GROUP(system_bus_cs2),
957         UNIPHIER_PINCTRL_GROUP(system_bus_cs3),
958         UNIPHIER_PINCTRL_GROUP(system_bus_cs4),
959         UNIPHIER_PINCTRL_GROUP(system_bus_cs5),
960         UNIPHIER_PINCTRL_GROUP(system_bus_cs6),
961         UNIPHIER_PINCTRL_GROUP(system_bus_cs7),
962         UNIPHIER_PINCTRL_GROUP(uart0),
963         UNIPHIER_PINCTRL_GROUP(uart0b),
964         UNIPHIER_PINCTRL_GROUP(uart1),
965         UNIPHIER_PINCTRL_GROUP(uart2),
966         UNIPHIER_PINCTRL_GROUP(uart3),
967         UNIPHIER_PINCTRL_GROUP(usb0),
968         UNIPHIER_PINCTRL_GROUP(usb1),
969         UNIPHIER_PINCTRL_GROUP(usb2),
970         UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_PORT(port_range0),
971         UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_PORT(port_range1),
972         UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_IRQ(xirq),
973         UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_IRQ(xirq_alternatives),
974         UNIPHIER_PINCTRL_GROUP_SINGLE(port00, port_range0, 0),
975         UNIPHIER_PINCTRL_GROUP_SINGLE(port01, port_range0, 1),
976         UNIPHIER_PINCTRL_GROUP_SINGLE(port02, port_range0, 2),
977         UNIPHIER_PINCTRL_GROUP_SINGLE(port03, port_range0, 3),
978         UNIPHIER_PINCTRL_GROUP_SINGLE(port04, port_range0, 4),
979         UNIPHIER_PINCTRL_GROUP_SINGLE(port05, port_range0, 5),
980         UNIPHIER_PINCTRL_GROUP_SINGLE(port06, port_range0, 6),
981         UNIPHIER_PINCTRL_GROUP_SINGLE(port07, port_range0, 7),
982         UNIPHIER_PINCTRL_GROUP_SINGLE(port10, port_range0, 8),
983         UNIPHIER_PINCTRL_GROUP_SINGLE(port11, port_range0, 9),
984         UNIPHIER_PINCTRL_GROUP_SINGLE(port12, port_range0, 10),
985         UNIPHIER_PINCTRL_GROUP_SINGLE(port13, port_range0, 11),
986         UNIPHIER_PINCTRL_GROUP_SINGLE(port14, port_range0, 12),
987         UNIPHIER_PINCTRL_GROUP_SINGLE(port15, port_range0, 13),
988         UNIPHIER_PINCTRL_GROUP_SINGLE(port16, port_range0, 14),
989         UNIPHIER_PINCTRL_GROUP_SINGLE(port17, port_range0, 15),
990         UNIPHIER_PINCTRL_GROUP_SINGLE(port20, port_range0, 16),
991         UNIPHIER_PINCTRL_GROUP_SINGLE(port21, port_range0, 17),
992         UNIPHIER_PINCTRL_GROUP_SINGLE(port22, port_range0, 18),
993         UNIPHIER_PINCTRL_GROUP_SINGLE(port23, port_range0, 19),
994         UNIPHIER_PINCTRL_GROUP_SINGLE(port24, port_range0, 20),
995         UNIPHIER_PINCTRL_GROUP_SINGLE(port25, port_range0, 21),
996         UNIPHIER_PINCTRL_GROUP_SINGLE(port26, port_range0, 22),
997         UNIPHIER_PINCTRL_GROUP_SINGLE(port27, port_range0, 23),
998         UNIPHIER_PINCTRL_GROUP_SINGLE(port30, port_range0, 24),
999         UNIPHIER_PINCTRL_GROUP_SINGLE(port31, port_range0, 25),
1000         UNIPHIER_PINCTRL_GROUP_SINGLE(port32, port_range0, 26),
1001         UNIPHIER_PINCTRL_GROUP_SINGLE(port33, port_range0, 27),
1002         UNIPHIER_PINCTRL_GROUP_SINGLE(port34, port_range0, 28),
1003         UNIPHIER_PINCTRL_GROUP_SINGLE(port35, port_range0, 29),
1004         UNIPHIER_PINCTRL_GROUP_SINGLE(port36, port_range0, 30),
1005         UNIPHIER_PINCTRL_GROUP_SINGLE(port37, port_range0, 31),
1006         UNIPHIER_PINCTRL_GROUP_SINGLE(port40, port_range0, 32),
1007         UNIPHIER_PINCTRL_GROUP_SINGLE(port41, port_range0, 33),
1008         UNIPHIER_PINCTRL_GROUP_SINGLE(port42, port_range0, 34),
1009         UNIPHIER_PINCTRL_GROUP_SINGLE(port43, port_range0, 35),
1010         UNIPHIER_PINCTRL_GROUP_SINGLE(port44, port_range0, 36),
1011         UNIPHIER_PINCTRL_GROUP_SINGLE(port45, port_range0, 37),
1012         UNIPHIER_PINCTRL_GROUP_SINGLE(port46, port_range0, 38),
1013         UNIPHIER_PINCTRL_GROUP_SINGLE(port47, port_range0, 39),
1014         UNIPHIER_PINCTRL_GROUP_SINGLE(port50, port_range0, 40),
1015         UNIPHIER_PINCTRL_GROUP_SINGLE(port51, port_range0, 41),
1016         UNIPHIER_PINCTRL_GROUP_SINGLE(port52, port_range0, 42),
1017         UNIPHIER_PINCTRL_GROUP_SINGLE(port53, port_range0, 43),
1018         UNIPHIER_PINCTRL_GROUP_SINGLE(port54, port_range0, 44),
1019         UNIPHIER_PINCTRL_GROUP_SINGLE(port55, port_range0, 45),
1020         UNIPHIER_PINCTRL_GROUP_SINGLE(port56, port_range0, 46),
1021         UNIPHIER_PINCTRL_GROUP_SINGLE(port57, port_range0, 47),
1022         UNIPHIER_PINCTRL_GROUP_SINGLE(port60, port_range0, 48),
1023         UNIPHIER_PINCTRL_GROUP_SINGLE(port61, port_range0, 49),
1024         UNIPHIER_PINCTRL_GROUP_SINGLE(port62, port_range0, 50),
1025         UNIPHIER_PINCTRL_GROUP_SINGLE(port63, port_range0, 51),
1026         UNIPHIER_PINCTRL_GROUP_SINGLE(port64, port_range0, 52),
1027         UNIPHIER_PINCTRL_GROUP_SINGLE(port65, port_range0, 53),
1028         UNIPHIER_PINCTRL_GROUP_SINGLE(port66, port_range0, 54),
1029         UNIPHIER_PINCTRL_GROUP_SINGLE(port67, port_range0, 55),
1030         UNIPHIER_PINCTRL_GROUP_SINGLE(port70, port_range0, 56),
1031         UNIPHIER_PINCTRL_GROUP_SINGLE(port71, port_range0, 57),
1032         UNIPHIER_PINCTRL_GROUP_SINGLE(port72, port_range0, 58),
1033         UNIPHIER_PINCTRL_GROUP_SINGLE(port73, port_range0, 59),
1034         UNIPHIER_PINCTRL_GROUP_SINGLE(port74, port_range0, 60),
1035         UNIPHIER_PINCTRL_GROUP_SINGLE(port75, port_range0, 61),
1036         UNIPHIER_PINCTRL_GROUP_SINGLE(port76, port_range0, 62),
1037         UNIPHIER_PINCTRL_GROUP_SINGLE(port77, port_range0, 63),
1038         UNIPHIER_PINCTRL_GROUP_SINGLE(port80, port_range0, 64),
1039         UNIPHIER_PINCTRL_GROUP_SINGLE(port81, port_range0, 65),
1040         UNIPHIER_PINCTRL_GROUP_SINGLE(port82, port_range0, 66),
1041         UNIPHIER_PINCTRL_GROUP_SINGLE(port83, port_range0, 67),
1042         UNIPHIER_PINCTRL_GROUP_SINGLE(port84, port_range0, 68),
1043         UNIPHIER_PINCTRL_GROUP_SINGLE(port85, port_range0, 69),
1044         UNIPHIER_PINCTRL_GROUP_SINGLE(port86, port_range0, 70),
1045         UNIPHIER_PINCTRL_GROUP_SINGLE(port87, port_range0, 71),
1046         UNIPHIER_PINCTRL_GROUP_SINGLE(port90, port_range0, 72),
1047         UNIPHIER_PINCTRL_GROUP_SINGLE(port91, port_range0, 73),
1048         UNIPHIER_PINCTRL_GROUP_SINGLE(port92, port_range0, 74),
1049         UNIPHIER_PINCTRL_GROUP_SINGLE(port93, port_range0, 75),
1050         UNIPHIER_PINCTRL_GROUP_SINGLE(port94, port_range0, 76),
1051         UNIPHIER_PINCTRL_GROUP_SINGLE(port95, port_range0, 77),
1052         UNIPHIER_PINCTRL_GROUP_SINGLE(port96, port_range0, 78),
1053         UNIPHIER_PINCTRL_GROUP_SINGLE(port97, port_range0, 79),
1054         UNIPHIER_PINCTRL_GROUP_SINGLE(port100, port_range0, 80),
1055         UNIPHIER_PINCTRL_GROUP_SINGLE(port101, port_range0, 81),
1056         UNIPHIER_PINCTRL_GROUP_SINGLE(port102, port_range0, 82),
1057         UNIPHIER_PINCTRL_GROUP_SINGLE(port103, port_range0, 83),
1058         UNIPHIER_PINCTRL_GROUP_SINGLE(port104, port_range0, 84),
1059         UNIPHIER_PINCTRL_GROUP_SINGLE(port105, port_range0, 85),
1060         UNIPHIER_PINCTRL_GROUP_SINGLE(port106, port_range0, 86),
1061         UNIPHIER_PINCTRL_GROUP_SINGLE(port107, port_range0, 87),
1062         UNIPHIER_PINCTRL_GROUP_SINGLE(port110, port_range0, 88),
1063         UNIPHIER_PINCTRL_GROUP_SINGLE(port111, port_range0, 89),
1064         UNIPHIER_PINCTRL_GROUP_SINGLE(port112, port_range0, 90),
1065         UNIPHIER_PINCTRL_GROUP_SINGLE(port113, port_range0, 91),
1066         UNIPHIER_PINCTRL_GROUP_SINGLE(port114, port_range0, 92),
1067         UNIPHIER_PINCTRL_GROUP_SINGLE(port115, port_range0, 93),
1068         UNIPHIER_PINCTRL_GROUP_SINGLE(port116, port_range0, 94),
1069         UNIPHIER_PINCTRL_GROUP_SINGLE(port117, port_range0, 95),
1070         UNIPHIER_PINCTRL_GROUP_SINGLE(port120, port_range0, 96),
1071         UNIPHIER_PINCTRL_GROUP_SINGLE(port121, port_range0, 97),
1072         UNIPHIER_PINCTRL_GROUP_SINGLE(port122, port_range0, 98),
1073         UNIPHIER_PINCTRL_GROUP_SINGLE(port123, port_range0, 99),
1074         UNIPHIER_PINCTRL_GROUP_SINGLE(port124, port_range0, 100),
1075         UNIPHIER_PINCTRL_GROUP_SINGLE(port125, port_range0, 101),
1076         UNIPHIER_PINCTRL_GROUP_SINGLE(port126, port_range0, 102),
1077         UNIPHIER_PINCTRL_GROUP_SINGLE(port127, port_range0, 103),
1078         UNIPHIER_PINCTRL_GROUP_SINGLE(port130, port_range0, 104),
1079         UNIPHIER_PINCTRL_GROUP_SINGLE(port131, port_range0, 105),
1080         UNIPHIER_PINCTRL_GROUP_SINGLE(port132, port_range0, 106),
1081         UNIPHIER_PINCTRL_GROUP_SINGLE(port133, port_range0, 107),
1082         UNIPHIER_PINCTRL_GROUP_SINGLE(port134, port_range0, 108),
1083         UNIPHIER_PINCTRL_GROUP_SINGLE(port135, port_range0, 109),
1084         UNIPHIER_PINCTRL_GROUP_SINGLE(port136, port_range0, 110),
1085         UNIPHIER_PINCTRL_GROUP_SINGLE(port137, port_range0, 111),
1086         UNIPHIER_PINCTRL_GROUP_SINGLE(port140, port_range0, 112),
1087         UNIPHIER_PINCTRL_GROUP_SINGLE(port141, port_range0, 113),
1088         UNIPHIER_PINCTRL_GROUP_SINGLE(port142, port_range0, 114),
1089         UNIPHIER_PINCTRL_GROUP_SINGLE(port143, port_range0, 115),
1090         UNIPHIER_PINCTRL_GROUP_SINGLE(port144, port_range0, 116),
1091         UNIPHIER_PINCTRL_GROUP_SINGLE(port145, port_range0, 117),
1092         UNIPHIER_PINCTRL_GROUP_SINGLE(port146, port_range0, 118),
1093         UNIPHIER_PINCTRL_GROUP_SINGLE(port147, port_range0, 119),
1094         UNIPHIER_PINCTRL_GROUP_SINGLE(port175, port_range1, 0),
1095         UNIPHIER_PINCTRL_GROUP_SINGLE(port176, port_range1, 1),
1096         UNIPHIER_PINCTRL_GROUP_SINGLE(port177, port_range1, 2),
1097         UNIPHIER_PINCTRL_GROUP_SINGLE(port180, port_range1, 3),
1098         UNIPHIER_PINCTRL_GROUP_SINGLE(port181, port_range1, 4),
1099         UNIPHIER_PINCTRL_GROUP_SINGLE(port182, port_range1, 5),
1100         UNIPHIER_PINCTRL_GROUP_SINGLE(port183, port_range1, 6),
1101         UNIPHIER_PINCTRL_GROUP_SINGLE(port184, port_range1, 7),
1102         UNIPHIER_PINCTRL_GROUP_SINGLE(port185, port_range1, 8),
1103         UNIPHIER_PINCTRL_GROUP_SINGLE(port186, port_range1, 9),
1104         UNIPHIER_PINCTRL_GROUP_SINGLE(port187, port_range1, 10),
1105         UNIPHIER_PINCTRL_GROUP_SINGLE(port190, port_range1, 11),
1106         UNIPHIER_PINCTRL_GROUP_SINGLE(port191, port_range1, 12),
1107         UNIPHIER_PINCTRL_GROUP_SINGLE(port192, port_range1, 13),
1108         UNIPHIER_PINCTRL_GROUP_SINGLE(port193, port_range1, 14),
1109         UNIPHIER_PINCTRL_GROUP_SINGLE(port194, port_range1, 15),
1110         UNIPHIER_PINCTRL_GROUP_SINGLE(port195, port_range1, 16),
1111         UNIPHIER_PINCTRL_GROUP_SINGLE(port196, port_range1, 17),
1112         UNIPHIER_PINCTRL_GROUP_SINGLE(port197, port_range1, 18),
1113         UNIPHIER_PINCTRL_GROUP_SINGLE(port200, port_range1, 19),
1114         UNIPHIER_PINCTRL_GROUP_SINGLE(port201, port_range1, 20),
1115         UNIPHIER_PINCTRL_GROUP_SINGLE(port202, port_range1, 21),
1116         UNIPHIER_PINCTRL_GROUP_SINGLE(port203, port_range1, 22),
1117         UNIPHIER_PINCTRL_GROUP_SINGLE(port204, port_range1, 23),
1118         UNIPHIER_PINCTRL_GROUP_SINGLE(port205, port_range1, 24),
1119         UNIPHIER_PINCTRL_GROUP_SINGLE(port206, port_range1, 25),
1120         UNIPHIER_PINCTRL_GROUP_SINGLE(port207, port_range1, 26),
1121         UNIPHIER_PINCTRL_GROUP_SINGLE(port210, port_range1, 27),
1122         UNIPHIER_PINCTRL_GROUP_SINGLE(port211, port_range1, 28),
1123         UNIPHIER_PINCTRL_GROUP_SINGLE(port212, port_range1, 29),
1124         UNIPHIER_PINCTRL_GROUP_SINGLE(port213, port_range1, 30),
1125         UNIPHIER_PINCTRL_GROUP_SINGLE(port214, port_range1, 31),
1126         UNIPHIER_PINCTRL_GROUP_SINGLE(port215, port_range1, 32),
1127         UNIPHIER_PINCTRL_GROUP_SINGLE(port216, port_range1, 33),
1128         UNIPHIER_PINCTRL_GROUP_SINGLE(port217, port_range1, 34),
1129         UNIPHIER_PINCTRL_GROUP_SINGLE(port220, port_range1, 35),
1130         UNIPHIER_PINCTRL_GROUP_SINGLE(port221, port_range1, 36),
1131         UNIPHIER_PINCTRL_GROUP_SINGLE(port222, port_range1, 37),
1132         UNIPHIER_PINCTRL_GROUP_SINGLE(port223, port_range1, 38),
1133         UNIPHIER_PINCTRL_GROUP_SINGLE(port224, port_range1, 39),
1134         UNIPHIER_PINCTRL_GROUP_SINGLE(port225, port_range1, 40),
1135         UNIPHIER_PINCTRL_GROUP_SINGLE(port226, port_range1, 41),
1136         UNIPHIER_PINCTRL_GROUP_SINGLE(port227, port_range1, 42),
1137         UNIPHIER_PINCTRL_GROUP_SINGLE(port230, port_range1, 43),
1138         UNIPHIER_PINCTRL_GROUP_SINGLE(port231, port_range1, 44),
1139         UNIPHIER_PINCTRL_GROUP_SINGLE(port232, port_range1, 45),
1140         UNIPHIER_PINCTRL_GROUP_SINGLE(port233, port_range1, 46),
1141         UNIPHIER_PINCTRL_GROUP_SINGLE(port234, port_range1, 47),
1142         UNIPHIER_PINCTRL_GROUP_SINGLE(port235, port_range1, 48),
1143         UNIPHIER_PINCTRL_GROUP_SINGLE(port236, port_range1, 49),
1144         UNIPHIER_PINCTRL_GROUP_SINGLE(port237, port_range1, 50),
1145         UNIPHIER_PINCTRL_GROUP_SINGLE(port240, port_range1, 51),
1146         UNIPHIER_PINCTRL_GROUP_SINGLE(port241, port_range1, 52),
1147         UNIPHIER_PINCTRL_GROUP_SINGLE(port242, port_range1, 53),
1148         UNIPHIER_PINCTRL_GROUP_SINGLE(port243, port_range1, 54),
1149         UNIPHIER_PINCTRL_GROUP_SINGLE(port244, port_range1, 55),
1150         UNIPHIER_PINCTRL_GROUP_SINGLE(port245, port_range1, 56),
1151         UNIPHIER_PINCTRL_GROUP_SINGLE(port246, port_range1, 57),
1152         UNIPHIER_PINCTRL_GROUP_SINGLE(port247, port_range1, 58),
1153         UNIPHIER_PINCTRL_GROUP_SINGLE(port250, port_range1, 59),
1154         UNIPHIER_PINCTRL_GROUP_SINGLE(port251, port_range1, 60),
1155         UNIPHIER_PINCTRL_GROUP_SINGLE(port252, port_range1, 61),
1156         UNIPHIER_PINCTRL_GROUP_SINGLE(port253, port_range1, 62),
1157         UNIPHIER_PINCTRL_GROUP_SINGLE(port254, port_range1, 63),
1158         UNIPHIER_PINCTRL_GROUP_SINGLE(port255, port_range1, 64),
1159         UNIPHIER_PINCTRL_GROUP_SINGLE(port256, port_range1, 65),
1160         UNIPHIER_PINCTRL_GROUP_SINGLE(port257, port_range1, 66),
1161         UNIPHIER_PINCTRL_GROUP_SINGLE(port260, port_range1, 67),
1162         UNIPHIER_PINCTRL_GROUP_SINGLE(port261, port_range1, 68),
1163         UNIPHIER_PINCTRL_GROUP_SINGLE(port262, port_range1, 69),
1164         UNIPHIER_PINCTRL_GROUP_SINGLE(port263, port_range1, 70),
1165         UNIPHIER_PINCTRL_GROUP_SINGLE(port264, port_range1, 71),
1166         UNIPHIER_PINCTRL_GROUP_SINGLE(port265, port_range1, 72),
1167         UNIPHIER_PINCTRL_GROUP_SINGLE(port266, port_range1, 73),
1168         UNIPHIER_PINCTRL_GROUP_SINGLE(port267, port_range1, 74),
1169         UNIPHIER_PINCTRL_GROUP_SINGLE(port270, port_range1, 75),
1170         UNIPHIER_PINCTRL_GROUP_SINGLE(port271, port_range1, 76),
1171         UNIPHIER_PINCTRL_GROUP_SINGLE(port272, port_range1, 77),
1172         UNIPHIER_PINCTRL_GROUP_SINGLE(port273, port_range1, 78),
1173         UNIPHIER_PINCTRL_GROUP_SINGLE(port274, port_range1, 79),
1174         UNIPHIER_PINCTRL_GROUP_SINGLE(port275, port_range1, 80),
1175         UNIPHIER_PINCTRL_GROUP_SINGLE(port276, port_range1, 81),
1176         UNIPHIER_PINCTRL_GROUP_SINGLE(port277, port_range1, 82),
1177         UNIPHIER_PINCTRL_GROUP_SINGLE(port280, port_range1, 83),
1178         UNIPHIER_PINCTRL_GROUP_SINGLE(port281, port_range1, 84),
1179         UNIPHIER_PINCTRL_GROUP_SINGLE(port282, port_range1, 85),
1180         UNIPHIER_PINCTRL_GROUP_SINGLE(port283, port_range1, 86),
1181         UNIPHIER_PINCTRL_GROUP_SINGLE(port284, port_range1, 87),
1182         UNIPHIER_PINCTRL_GROUP_SINGLE(port285, port_range1, 88),
1183         UNIPHIER_PINCTRL_GROUP_SINGLE(port286, port_range1, 89),
1184         UNIPHIER_PINCTRL_GROUP_SINGLE(port287, port_range1, 90),
1185         UNIPHIER_PINCTRL_GROUP_SINGLE(port290, port_range1, 91),
1186         UNIPHIER_PINCTRL_GROUP_SINGLE(port291, port_range1, 92),
1187         UNIPHIER_PINCTRL_GROUP_SINGLE(port292, port_range1, 93),
1188         UNIPHIER_PINCTRL_GROUP_SINGLE(port293, port_range1, 94),
1189         UNIPHIER_PINCTRL_GROUP_SINGLE(port294, port_range1, 95),
1190         UNIPHIER_PINCTRL_GROUP_SINGLE(port295, port_range1, 96),
1191         UNIPHIER_PINCTRL_GROUP_SINGLE(port296, port_range1, 97),
1192         UNIPHIER_PINCTRL_GROUP_SINGLE(port297, port_range1, 98),
1193         UNIPHIER_PINCTRL_GROUP_SINGLE(port300, port_range1, 99),
1194         UNIPHIER_PINCTRL_GROUP_SINGLE(port301, port_range1, 100),
1195         UNIPHIER_PINCTRL_GROUP_SINGLE(port302, port_range1, 101),
1196         UNIPHIER_PINCTRL_GROUP_SINGLE(port303, port_range1, 102),
1197         UNIPHIER_PINCTRL_GROUP_SINGLE(port304, port_range1, 103),
1198         UNIPHIER_PINCTRL_GROUP_SINGLE(port305, port_range1, 104),
1199         UNIPHIER_PINCTRL_GROUP_SINGLE(port306, port_range1, 105),
1200         UNIPHIER_PINCTRL_GROUP_SINGLE(port307, port_range1, 106),
1201         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq0, xirq, 0),
1202         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq1, xirq, 1),
1203         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq2, xirq, 2),
1204         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq3, xirq, 3),
1205         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq4, xirq, 4),
1206         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq5, xirq, 5),
1207         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq6, xirq, 6),
1208         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq7, xirq, 7),
1209         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq8, xirq, 8),
1210         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq9, xirq, 9),
1211         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq10, xirq, 10),
1212         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq11, xirq, 11),
1213         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq12, xirq, 12),
1214         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq13, xirq, 13),
1215         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq14, xirq, 14),
1216         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq15, xirq, 15),
1217         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq16, xirq, 16),
1218         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq17, xirq, 17),
1219         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq18, xirq, 18),
1220         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq19, xirq, 19),
1221         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq20, xirq, 20),
1222         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq3b, xirq_alternatives, 0),
1223         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq4b, xirq_alternatives, 1),
1224         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq16b, xirq_alternatives, 2),
1225         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq17b, xirq_alternatives, 3),
1226         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq17c, xirq_alternatives, 4),
1227         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq18b, xirq_alternatives, 5),
1228         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq18c, xirq_alternatives, 6),
1229         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq19b, xirq_alternatives, 7),
1230         UNIPHIER_PINCTRL_GROUP_SINGLE(xirq20b, xirq_alternatives, 8),
1231 };
1232
1233 static const char * const emmc_groups[] = {"emmc", "emmc_dat8"};
1234 static const char * const i2c0_groups[] = {"i2c0"};
1235 static const char * const i2c1_groups[] = {"i2c1"};
1236 static const char * const i2c2_groups[] = {"i2c2"};
1237 static const char * const i2c3_groups[] = {"i2c3"};
1238 static const char * const i2c5_groups[] = {"i2c5", "i2c5b", "i2c5c"};
1239 static const char * const i2c6_groups[] = {"i2c6"};
1240 static const char * const nand_groups[] = {"nand", "nand_cs1"};
1241 static const char * const sd_groups[] = {"sd"};
1242 static const char * const system_bus_groups[] = {"system_bus",
1243                                                  "system_bus_cs0",
1244                                                  "system_bus_cs1",
1245                                                  "system_bus_cs2",
1246                                                  "system_bus_cs3",
1247                                                  "system_bus_cs4",
1248                                                  "system_bus_cs5",
1249                                                  "system_bus_cs6",
1250                                                  "system_bus_cs7"};
1251 static const char * const uart0_groups[] = {"uart0", "uart0b"};
1252 static const char * const uart1_groups[] = {"uart1"};
1253 static const char * const uart2_groups[] = {"uart2"};
1254 static const char * const uart3_groups[] = {"uart3"};
1255 static const char * const usb0_groups[] = {"usb0"};
1256 static const char * const usb1_groups[] = {"usb1"};
1257 static const char * const usb2_groups[] = {"usb2"};
1258 static const char * const port_groups[] = {
1259         "port00",  "port01",  "port02",  "port03",
1260         "port04",  "port05",  "port06",  "port07",
1261         "port10",  "port11",  "port12",  "port13",
1262         "port14",  "port15",  "port16",  "port17",
1263         "port20",  "port21",  "port22",  "port23",
1264         "port24",  "port25",  "port26",  "port27",
1265         "port30",  "port31",  "port32",  "port33",
1266         "port34",  "port35",  "port36",  "port37",
1267         "port40",  "port41",  "port42",  "port43",
1268         "port44",  "port45",  "port46",  "port47",
1269         "port50",  "port51",  "port52",  "port53",
1270         "port54",  "port55",  "port56",  "port57",
1271         "port60",  "port61",  "port62",  "port63",
1272         "port64",  "port65",  "port66",  "port67",
1273         "port70",  "port71",  "port72",  "port73",
1274         "port74",  "port75",  "port76",  "port77",
1275         "port80",  "port81",  "port82",  "port83",
1276         "port84",  "port85",  "port86",  "port87",
1277         "port90",  "port91",  "port92",  "port93",
1278         "port94",  "port95",  "port96",  "port97",
1279         "port100", "port101", "port102", "port103",
1280         "port104", "port105", "port106", "port107",
1281         "port110", "port111", "port112", "port113",
1282         "port114", "port115", "port116", "port117",
1283         "port120", "port121", "port122", "port123",
1284         "port124", "port125", "port126", "port127",
1285         "port130", "port131", "port132", "port133",
1286         "port134", "port135", "port136", "port137",
1287         "port140", "port141", "port142", "port143",
1288         "port144", "port145", "port146", "port147",
1289         /* port150-174 missing */
1290         /* none */ "port175", "port176", "port177",
1291         "port180", "port181", "port182", "port183",
1292         "port184", "port185", "port186", "port187",
1293         "port190", "port191", "port192", "port193",
1294         "port194", "port195", "port196", "port197",
1295         "port200", "port201", "port202", "port203",
1296         "port204", "port205", "port206", "port207",
1297         "port210", "port211", "port212", "port213",
1298         "port214", "port215", "port216", "port217",
1299         "port220", "port221", "port222", "port223",
1300         "port224", "port225", "port226", "port227",
1301         "port230", "port231", "port232", "port233",
1302         "port234", "port235", "port236", "port237",
1303         "port240", "port241", "port242", "port243",
1304         "port244", "port245", "port246", "port247",
1305         "port250", "port251", "port252", "port253",
1306         "port254", "port255", "port256", "port257",
1307         "port260", "port261", "port262", "port263",
1308         "port264", "port265", "port266", "port267",
1309         "port270", "port271", "port272", "port273",
1310         "port274", "port275", "port276", "port277",
1311         "port280", "port281", "port282", "port283",
1312         "port284", "port285", "port286", "port287",
1313         "port290", "port291", "port292", "port293",
1314         "port294", "port295", "port296", "port297",
1315         "port300", "port301", "port302", "port303",
1316         "port304", "port305", "port306", "port307",
1317 };
1318 static const char * const xirq_groups[] = {
1319         "xirq0",  "xirq1",  "xirq2",  "xirq3",
1320         "xirq4",  "xirq5",  "xirq6",  "xirq7",
1321         "xirq8",  "xirq9",  "xirq10", "xirq11",
1322         "xirq12", "xirq13", "xirq14", "xirq15",
1323         "xirq16", "xirq17", "xirq18", "xirq19",
1324         "xirq20",
1325         "xirq3b", "xirq4b", "xirq16b", "xirq17b", "xirq17c",
1326         "xirq18b", "xirq18c", "xirq19b", "xirq20b",
1327 };
1328
1329 static const struct uniphier_pinmux_function uniphier_pro5_functions[] = {
1330         UNIPHIER_PINMUX_FUNCTION(emmc),
1331         UNIPHIER_PINMUX_FUNCTION(i2c0),
1332         UNIPHIER_PINMUX_FUNCTION(i2c1),
1333         UNIPHIER_PINMUX_FUNCTION(i2c2),
1334         UNIPHIER_PINMUX_FUNCTION(i2c3),
1335         UNIPHIER_PINMUX_FUNCTION(i2c5),
1336         UNIPHIER_PINMUX_FUNCTION(i2c6),
1337         UNIPHIER_PINMUX_FUNCTION(nand),
1338         UNIPHIER_PINMUX_FUNCTION(sd),
1339         UNIPHIER_PINMUX_FUNCTION(system_bus),
1340         UNIPHIER_PINMUX_FUNCTION(uart0),
1341         UNIPHIER_PINMUX_FUNCTION(uart1),
1342         UNIPHIER_PINMUX_FUNCTION(uart2),
1343         UNIPHIER_PINMUX_FUNCTION(uart3),
1344         UNIPHIER_PINMUX_FUNCTION(usb0),
1345         UNIPHIER_PINMUX_FUNCTION(usb1),
1346         UNIPHIER_PINMUX_FUNCTION(usb2),
1347         UNIPHIER_PINMUX_FUNCTION(port),
1348         UNIPHIER_PINMUX_FUNCTION(xirq),
1349 };
1350
1351 static struct uniphier_pinctrl_socdata uniphier_pro5_pindata = {
1352         .pins = uniphier_pro5_pins,
1353         .npins = ARRAY_SIZE(uniphier_pro5_pins),
1354         .groups = uniphier_pro5_groups,
1355         .groups_count = ARRAY_SIZE(uniphier_pro5_groups),
1356         .functions = uniphier_pro5_functions,
1357         .functions_count = ARRAY_SIZE(uniphier_pro5_functions),
1358         .caps = UNIPHIER_PINCTRL_CAPS_DBGMUX_SEPARATE,
1359 };
1360
1361 static int uniphier_pro5_pinctrl_probe(struct platform_device *pdev)
1362 {
1363         return uniphier_pinctrl_probe(pdev, &uniphier_pro5_pindata);
1364 }
1365
1366 static const struct of_device_id uniphier_pro5_pinctrl_match[] = {
1367         { .compatible = "socionext,uniphier-pro5-pinctrl" },
1368         { .compatible = "socionext,ph1-pro5-pinctrl" },
1369         { /* sentinel */ }
1370 };
1371 MODULE_DEVICE_TABLE(of, uniphier_pro5_pinctrl_match);
1372
1373 static struct platform_driver uniphier_pro5_pinctrl_driver = {
1374         .probe = uniphier_pro5_pinctrl_probe,
1375         .driver = {
1376                 .name = "uniphier-pro5-pinctrl",
1377                 .of_match_table = uniphier_pro5_pinctrl_match,
1378         },
1379 };
1380 module_platform_driver(uniphier_pro5_pinctrl_driver);
1381
1382 MODULE_AUTHOR("Masahiro Yamada <yamada.masahiro@socionext.com>");
1383 MODULE_DESCRIPTION("UniPhier PH1-Pro5 pinctrl driver");
1384 MODULE_LICENSE("GPL");