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