1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16#include <linux/kernel.h>
17#include <linux/init.h>
18#include <linux/pinctrl/pinctrl.h>
19#include <linux/platform_device.h>
20
21#include "pinctrl-uniphier.h"
22
23static const struct pinctrl_pin_desc uniphier_ld11_pins[] = {
24 UNIPHIER_PINCTRL_PIN(0, "XECS1", UNIPHIER_PIN_IECTRL_EXIST,
25 0, UNIPHIER_PIN_DRV_1BIT,
26 0, UNIPHIER_PIN_PULL_UP),
27 UNIPHIER_PINCTRL_PIN(1, "ERXW", UNIPHIER_PIN_IECTRL_NONE,
28 1, UNIPHIER_PIN_DRV_1BIT,
29 1, UNIPHIER_PIN_PULL_UP),
30 UNIPHIER_PINCTRL_PIN(2, "XERWE1", UNIPHIER_PIN_IECTRL_NONE,
31 2, UNIPHIER_PIN_DRV_1BIT,
32 2, UNIPHIER_PIN_PULL_UP),
33 UNIPHIER_PINCTRL_PIN(3, "XNFWP", UNIPHIER_PIN_IECTRL_EXIST,
34 3, UNIPHIER_PIN_DRV_1BIT,
35 3, UNIPHIER_PIN_PULL_DOWN),
36 UNIPHIER_PINCTRL_PIN(4, "XNFCE0", UNIPHIER_PIN_IECTRL_EXIST,
37 4, UNIPHIER_PIN_DRV_1BIT,
38 4, UNIPHIER_PIN_PULL_UP),
39 UNIPHIER_PINCTRL_PIN(5, "NFRYBY0", UNIPHIER_PIN_IECTRL_EXIST,
40 5, UNIPHIER_PIN_DRV_1BIT,
41 5, UNIPHIER_PIN_PULL_UP),
42 UNIPHIER_PINCTRL_PIN(6, "XNFRE", UNIPHIER_PIN_IECTRL_NONE,
43 6, UNIPHIER_PIN_DRV_1BIT,
44 6, UNIPHIER_PIN_PULL_UP),
45 UNIPHIER_PINCTRL_PIN(7, "XNFWE", UNIPHIER_PIN_IECTRL_NONE,
46 7, UNIPHIER_PIN_DRV_1BIT,
47 7, UNIPHIER_PIN_PULL_UP),
48 UNIPHIER_PINCTRL_PIN(8, "NFALE", UNIPHIER_PIN_IECTRL_NONE,
49 8, UNIPHIER_PIN_DRV_1BIT,
50 8, UNIPHIER_PIN_PULL_UP),
51 UNIPHIER_PINCTRL_PIN(9, "NFCLE", UNIPHIER_PIN_IECTRL_NONE,
52 9, UNIPHIER_PIN_DRV_1BIT,
53 9, UNIPHIER_PIN_PULL_UP),
54 UNIPHIER_PINCTRL_PIN(10, "NFD0", UNIPHIER_PIN_IECTRL_EXIST,
55 10, UNIPHIER_PIN_DRV_1BIT,
56 10, UNIPHIER_PIN_PULL_UP),
57 UNIPHIER_PINCTRL_PIN(11, "NFD1", UNIPHIER_PIN_IECTRL_EXIST,
58 11, UNIPHIER_PIN_DRV_1BIT,
59 11, UNIPHIER_PIN_PULL_UP),
60 UNIPHIER_PINCTRL_PIN(12, "NFD2", UNIPHIER_PIN_IECTRL_EXIST,
61 12, UNIPHIER_PIN_DRV_1BIT,
62 12, UNIPHIER_PIN_PULL_UP),
63 UNIPHIER_PINCTRL_PIN(13, "NFD3", UNIPHIER_PIN_IECTRL_EXIST,
64 13, UNIPHIER_PIN_DRV_1BIT,
65 13, UNIPHIER_PIN_PULL_UP),
66 UNIPHIER_PINCTRL_PIN(14, "NFD4", UNIPHIER_PIN_IECTRL_EXIST,
67 14, UNIPHIER_PIN_DRV_1BIT,
68 14, UNIPHIER_PIN_PULL_UP),
69 UNIPHIER_PINCTRL_PIN(15, "NFD5", UNIPHIER_PIN_IECTRL_EXIST,
70 15, UNIPHIER_PIN_DRV_1BIT,
71 15, UNIPHIER_PIN_PULL_UP),
72 UNIPHIER_PINCTRL_PIN(16, "NFD6", UNIPHIER_PIN_IECTRL_EXIST,
73 16, UNIPHIER_PIN_DRV_1BIT,
74 16, UNIPHIER_PIN_PULL_UP),
75 UNIPHIER_PINCTRL_PIN(17, "NFD7", UNIPHIER_PIN_IECTRL_EXIST,
76 17, UNIPHIER_PIN_DRV_1BIT,
77 17, UNIPHIER_PIN_PULL_UP),
78 UNIPHIER_PINCTRL_PIN(18, "XERST", UNIPHIER_PIN_IECTRL_EXIST,
79 0, UNIPHIER_PIN_DRV_2BIT,
80 18, UNIPHIER_PIN_PULL_UP),
81 UNIPHIER_PINCTRL_PIN(19, "MMCCLK", UNIPHIER_PIN_IECTRL_EXIST,
82 1, UNIPHIER_PIN_DRV_2BIT,
83 19, UNIPHIER_PIN_PULL_UP),
84 UNIPHIER_PINCTRL_PIN(20, "MMCCMD", UNIPHIER_PIN_IECTRL_EXIST,
85 2, UNIPHIER_PIN_DRV_2BIT,
86 20, UNIPHIER_PIN_PULL_UP),
87 UNIPHIER_PINCTRL_PIN(21, "MMCDS", UNIPHIER_PIN_IECTRL_EXIST,
88 3, UNIPHIER_PIN_DRV_2BIT,
89 21, UNIPHIER_PIN_PULL_UP),
90 UNIPHIER_PINCTRL_PIN(22, "MMCDAT0", UNIPHIER_PIN_IECTRL_EXIST,
91 4, UNIPHIER_PIN_DRV_2BIT,
92 22, UNIPHIER_PIN_PULL_UP),
93 UNIPHIER_PINCTRL_PIN(23, "MMCDAT1", UNIPHIER_PIN_IECTRL_EXIST,
94 5, UNIPHIER_PIN_DRV_2BIT,
95 23, UNIPHIER_PIN_PULL_UP),
96 UNIPHIER_PINCTRL_PIN(24, "MMCDAT2", UNIPHIER_PIN_IECTRL_EXIST,
97 6, UNIPHIER_PIN_DRV_2BIT,
98 24, UNIPHIER_PIN_PULL_UP),
99 UNIPHIER_PINCTRL_PIN(25, "MMCDAT3", UNIPHIER_PIN_IECTRL_EXIST,
100 7, UNIPHIER_PIN_DRV_2BIT,
101 25, UNIPHIER_PIN_PULL_UP),
102 UNIPHIER_PINCTRL_PIN(26, "MMCDAT4", UNIPHIER_PIN_IECTRL_EXIST,
103 8, UNIPHIER_PIN_DRV_2BIT,
104 26, UNIPHIER_PIN_PULL_UP),
105 UNIPHIER_PINCTRL_PIN(27, "MMCDAT5", UNIPHIER_PIN_IECTRL_EXIST,
106 9, UNIPHIER_PIN_DRV_2BIT,
107 27, UNIPHIER_PIN_PULL_UP),
108 UNIPHIER_PINCTRL_PIN(28, "MMCDAT6", UNIPHIER_PIN_IECTRL_EXIST,
109 10, UNIPHIER_PIN_DRV_2BIT,
110 28, UNIPHIER_PIN_PULL_UP),
111 UNIPHIER_PINCTRL_PIN(29, "MMCDAT7", UNIPHIER_PIN_IECTRL_EXIST,
112 11, UNIPHIER_PIN_DRV_2BIT,
113 29, UNIPHIER_PIN_PULL_UP),
114 UNIPHIER_PINCTRL_PIN(46, "USB0VBUS", UNIPHIER_PIN_IECTRL_EXIST,
115 46, UNIPHIER_PIN_DRV_1BIT,
116 46, UNIPHIER_PIN_PULL_DOWN),
117 UNIPHIER_PINCTRL_PIN(47, "USB0OD", UNIPHIER_PIN_IECTRL_NONE,
118 47, UNIPHIER_PIN_DRV_1BIT,
119 47, UNIPHIER_PIN_PULL_UP),
120 UNIPHIER_PINCTRL_PIN(48, "USB1VBUS", UNIPHIER_PIN_IECTRL_EXIST,
121 48, UNIPHIER_PIN_DRV_1BIT,
122 48, UNIPHIER_PIN_PULL_DOWN),
123 UNIPHIER_PINCTRL_PIN(49, "USB1OD", UNIPHIER_PIN_IECTRL_EXIST,
124 49, UNIPHIER_PIN_DRV_1BIT,
125 49, UNIPHIER_PIN_PULL_UP),
126 UNIPHIER_PINCTRL_PIN(50, "USB2VBUS", UNIPHIER_PIN_IECTRL_EXIST,
127 50, UNIPHIER_PIN_DRV_1BIT,
128 50, UNIPHIER_PIN_PULL_DOWN),
129 UNIPHIER_PINCTRL_PIN(51, "USB2OD", UNIPHIER_PIN_IECTRL_EXIST,
130 51, UNIPHIER_PIN_DRV_1BIT,
131 51, UNIPHIER_PIN_PULL_UP),
132 UNIPHIER_PINCTRL_PIN(54, "TXD0", UNIPHIER_PIN_IECTRL_EXIST,
133 54, UNIPHIER_PIN_DRV_1BIT,
134 54, UNIPHIER_PIN_PULL_UP),
135 UNIPHIER_PINCTRL_PIN(55, "RXD0", UNIPHIER_PIN_IECTRL_EXIST,
136 55, UNIPHIER_PIN_DRV_1BIT,
137 55, UNIPHIER_PIN_PULL_UP),
138 UNIPHIER_PINCTRL_PIN(56, "SPISYNC0", UNIPHIER_PIN_IECTRL_EXIST,
139 56, UNIPHIER_PIN_DRV_1BIT,
140 56, UNIPHIER_PIN_PULL_DOWN),
141 UNIPHIER_PINCTRL_PIN(57, "SPISCLK0", UNIPHIER_PIN_IECTRL_EXIST,
142 57, UNIPHIER_PIN_DRV_1BIT,
143 57, UNIPHIER_PIN_PULL_DOWN),
144 UNIPHIER_PINCTRL_PIN(58, "SPITXD0", UNIPHIER_PIN_IECTRL_EXIST,
145 58, UNIPHIER_PIN_DRV_1BIT,
146 58, UNIPHIER_PIN_PULL_DOWN),
147 UNIPHIER_PINCTRL_PIN(59, "SPIRXD0", UNIPHIER_PIN_IECTRL_EXIST,
148 59, UNIPHIER_PIN_DRV_1BIT,
149 59, UNIPHIER_PIN_PULL_DOWN),
150 UNIPHIER_PINCTRL_PIN(60, "AGCI", UNIPHIER_PIN_IECTRL_EXIST,
151 60, UNIPHIER_PIN_DRV_1BIT,
152 60, UNIPHIER_PIN_PULL_DOWN),
153 UNIPHIER_PINCTRL_PIN(61, "DMDSDA0", UNIPHIER_PIN_IECTRL_EXIST,
154 -1, UNIPHIER_PIN_DRV_FIXED4,
155 -1, UNIPHIER_PIN_PULL_NONE),
156 UNIPHIER_PINCTRL_PIN(62, "DMDSCL0", UNIPHIER_PIN_IECTRL_EXIST,
157 -1, UNIPHIER_PIN_DRV_FIXED4,
158 -1, UNIPHIER_PIN_PULL_NONE),
159 UNIPHIER_PINCTRL_PIN(63, "SDA0", UNIPHIER_PIN_IECTRL_EXIST,
160 -1, UNIPHIER_PIN_DRV_FIXED4,
161 -1, UNIPHIER_PIN_PULL_NONE),
162 UNIPHIER_PINCTRL_PIN(64, "SCL0", UNIPHIER_PIN_IECTRL_EXIST,
163 -1, UNIPHIER_PIN_DRV_FIXED4,
164 -1, UNIPHIER_PIN_PULL_NONE),
165 UNIPHIER_PINCTRL_PIN(65, "SDA1", UNIPHIER_PIN_IECTRL_EXIST,
166 -1, UNIPHIER_PIN_DRV_FIXED4,
167 -1, UNIPHIER_PIN_PULL_NONE),
168 UNIPHIER_PINCTRL_PIN(66, "SCL1", UNIPHIER_PIN_IECTRL_EXIST,
169 -1, UNIPHIER_PIN_DRV_FIXED4,
170 -1, UNIPHIER_PIN_PULL_NONE),
171 UNIPHIER_PINCTRL_PIN(67, "HIN", UNIPHIER_PIN_IECTRL_EXIST,
172 -1, UNIPHIER_PIN_DRV_FIXED5,
173 -1, UNIPHIER_PIN_PULL_NONE),
174 UNIPHIER_PINCTRL_PIN(68, "VIN", UNIPHIER_PIN_IECTRL_EXIST,
175 -1, UNIPHIER_PIN_DRV_FIXED5,
176 -1, UNIPHIER_PIN_PULL_NONE),
177 UNIPHIER_PINCTRL_PIN(69, "PCA00", UNIPHIER_PIN_IECTRL_EXIST,
178 69, UNIPHIER_PIN_DRV_1BIT,
179 69, UNIPHIER_PIN_PULL_DOWN),
180 UNIPHIER_PINCTRL_PIN(70, "PCA01", UNIPHIER_PIN_IECTRL_EXIST,
181 70, UNIPHIER_PIN_DRV_1BIT,
182 70, UNIPHIER_PIN_PULL_DOWN),
183 UNIPHIER_PINCTRL_PIN(71, "PCA02", UNIPHIER_PIN_IECTRL_EXIST,
184 71, UNIPHIER_PIN_DRV_1BIT,
185 71, UNIPHIER_PIN_PULL_DOWN),
186 UNIPHIER_PINCTRL_PIN(72, "PCA03", UNIPHIER_PIN_IECTRL_EXIST,
187 72, UNIPHIER_PIN_DRV_1BIT,
188 72, UNIPHIER_PIN_PULL_DOWN),
189 UNIPHIER_PINCTRL_PIN(73, "PCA04", UNIPHIER_PIN_IECTRL_EXIST,
190 73, UNIPHIER_PIN_DRV_1BIT,
191 73, UNIPHIER_PIN_PULL_DOWN),
192 UNIPHIER_PINCTRL_PIN(74, "PCA05", UNIPHIER_PIN_IECTRL_EXIST,
193 74, UNIPHIER_PIN_DRV_1BIT,
194 74, UNIPHIER_PIN_PULL_DOWN),
195 UNIPHIER_PINCTRL_PIN(75, "PCA06", UNIPHIER_PIN_IECTRL_EXIST,
196 75, UNIPHIER_PIN_DRV_1BIT,
197 75, UNIPHIER_PIN_PULL_DOWN),
198 UNIPHIER_PINCTRL_PIN(76, "PCA07", UNIPHIER_PIN_IECTRL_EXIST,
199 76, UNIPHIER_PIN_DRV_1BIT,
200 76, UNIPHIER_PIN_PULL_DOWN),
201 UNIPHIER_PINCTRL_PIN(77, "PCA08", UNIPHIER_PIN_IECTRL_EXIST,
202 77, UNIPHIER_PIN_DRV_1BIT,
203 77, UNIPHIER_PIN_PULL_DOWN),
204 UNIPHIER_PINCTRL_PIN(78, "PCA09", UNIPHIER_PIN_IECTRL_EXIST,
205 78, UNIPHIER_PIN_DRV_1BIT,
206 78, UNIPHIER_PIN_PULL_DOWN),
207 UNIPHIER_PINCTRL_PIN(79, "PCA10", UNIPHIER_PIN_IECTRL_EXIST,
208 79, UNIPHIER_PIN_DRV_1BIT,
209 79, UNIPHIER_PIN_PULL_DOWN),
210 UNIPHIER_PINCTRL_PIN(80, "PCA11", UNIPHIER_PIN_IECTRL_EXIST,
211 80, UNIPHIER_PIN_DRV_1BIT,
212 80, UNIPHIER_PIN_PULL_DOWN),
213 UNIPHIER_PINCTRL_PIN(81, "PCA12", UNIPHIER_PIN_IECTRL_EXIST,
214 81, UNIPHIER_PIN_DRV_1BIT,
215 81, UNIPHIER_PIN_PULL_DOWN),
216 UNIPHIER_PINCTRL_PIN(82, "PCA13", UNIPHIER_PIN_IECTRL_EXIST,
217 82, UNIPHIER_PIN_DRV_1BIT,
218 82, UNIPHIER_PIN_PULL_DOWN),
219 UNIPHIER_PINCTRL_PIN(83, "PCA14", UNIPHIER_PIN_IECTRL_EXIST,
220 83, UNIPHIER_PIN_DRV_1BIT,
221 83, UNIPHIER_PIN_PULL_DOWN),
222 UNIPHIER_PINCTRL_PIN(84, "PC0READY", UNIPHIER_PIN_IECTRL_EXIST,
223 84, UNIPHIER_PIN_DRV_1BIT,
224 84, UNIPHIER_PIN_PULL_DOWN),
225 UNIPHIER_PINCTRL_PIN(85, "PC0CD1", UNIPHIER_PIN_IECTRL_EXIST,
226 85, UNIPHIER_PIN_DRV_1BIT,
227 85, UNIPHIER_PIN_PULL_DOWN),
228 UNIPHIER_PINCTRL_PIN(86, "PC0CD2", UNIPHIER_PIN_IECTRL_EXIST,
229 86, UNIPHIER_PIN_DRV_1BIT,
230 86, UNIPHIER_PIN_PULL_DOWN),
231 UNIPHIER_PINCTRL_PIN(87, "PC0WAIT", UNIPHIER_PIN_IECTRL_EXIST,
232 87, UNIPHIER_PIN_DRV_1BIT,
233 87, UNIPHIER_PIN_PULL_DOWN),
234 UNIPHIER_PINCTRL_PIN(88, "PC0RESET", UNIPHIER_PIN_IECTRL_EXIST,
235 88, UNIPHIER_PIN_DRV_1BIT,
236 88, UNIPHIER_PIN_PULL_DOWN),
237 UNIPHIER_PINCTRL_PIN(89, "PC0CE1", UNIPHIER_PIN_IECTRL_EXIST,
238 89, UNIPHIER_PIN_DRV_1BIT,
239 89, UNIPHIER_PIN_PULL_DOWN),
240 UNIPHIER_PINCTRL_PIN(90, "PC0WE", UNIPHIER_PIN_IECTRL_EXIST,
241 90, UNIPHIER_PIN_DRV_1BIT,
242 90, UNIPHIER_PIN_PULL_DOWN),
243 UNIPHIER_PINCTRL_PIN(91, "PC0OE", UNIPHIER_PIN_IECTRL_EXIST,
244 91, UNIPHIER_PIN_DRV_1BIT,
245 91, UNIPHIER_PIN_PULL_DOWN),
246 UNIPHIER_PINCTRL_PIN(92, "PC0IOWR", UNIPHIER_PIN_IECTRL_EXIST,
247 92, UNIPHIER_PIN_DRV_1BIT,
248 92, UNIPHIER_PIN_PULL_DOWN),
249 UNIPHIER_PINCTRL_PIN(93, "PC0IORD", UNIPHIER_PIN_IECTRL_EXIST,
250 93, UNIPHIER_PIN_DRV_1BIT,
251 93, UNIPHIER_PIN_PULL_DOWN),
252 UNIPHIER_PINCTRL_PIN(94, "PCD00", UNIPHIER_PIN_IECTRL_EXIST,
253 94, UNIPHIER_PIN_DRV_1BIT,
254 94, UNIPHIER_PIN_PULL_DOWN),
255 UNIPHIER_PINCTRL_PIN(95, "PCD01", UNIPHIER_PIN_IECTRL_EXIST,
256 95, UNIPHIER_PIN_DRV_1BIT,
257 95, UNIPHIER_PIN_PULL_DOWN),
258 UNIPHIER_PINCTRL_PIN(96, "PCD02", UNIPHIER_PIN_IECTRL_EXIST,
259 96, UNIPHIER_PIN_DRV_1BIT,
260 96, UNIPHIER_PIN_PULL_DOWN),
261 UNIPHIER_PINCTRL_PIN(97, "PCD03", UNIPHIER_PIN_IECTRL_EXIST,
262 97, UNIPHIER_PIN_DRV_1BIT,
263 97, UNIPHIER_PIN_PULL_DOWN),
264 UNIPHIER_PINCTRL_PIN(98, "PCD04", UNIPHIER_PIN_IECTRL_EXIST,
265 98, UNIPHIER_PIN_DRV_1BIT,
266 98, UNIPHIER_PIN_PULL_DOWN),
267 UNIPHIER_PINCTRL_PIN(99, "PCD05", UNIPHIER_PIN_IECTRL_EXIST,
268 99, UNIPHIER_PIN_DRV_1BIT,
269 99, UNIPHIER_PIN_PULL_DOWN),
270 UNIPHIER_PINCTRL_PIN(100, "PCD06", UNIPHIER_PIN_IECTRL_EXIST,
271 100, UNIPHIER_PIN_DRV_1BIT,
272 100, UNIPHIER_PIN_PULL_DOWN),
273 UNIPHIER_PINCTRL_PIN(101, "PCD07", UNIPHIER_PIN_IECTRL_EXIST,
274 101, UNIPHIER_PIN_DRV_1BIT,
275 101, UNIPHIER_PIN_PULL_DOWN),
276 UNIPHIER_PINCTRL_PIN(102, "HS0BCLKIN", UNIPHIER_PIN_IECTRL_EXIST,
277 102, UNIPHIER_PIN_DRV_1BIT,
278 102, UNIPHIER_PIN_PULL_DOWN),
279 UNIPHIER_PINCTRL_PIN(103, "HS0SYNCIN", UNIPHIER_PIN_IECTRL_EXIST,
280 103, UNIPHIER_PIN_DRV_1BIT,
281 103, UNIPHIER_PIN_PULL_DOWN),
282 UNIPHIER_PINCTRL_PIN(104, "HS0VALIN", UNIPHIER_PIN_IECTRL_EXIST,
283 104, UNIPHIER_PIN_DRV_1BIT,
284 104, UNIPHIER_PIN_PULL_DOWN),
285 UNIPHIER_PINCTRL_PIN(105, "HS0DIN0", UNIPHIER_PIN_IECTRL_EXIST,
286 105, UNIPHIER_PIN_DRV_1BIT,
287 105, UNIPHIER_PIN_PULL_DOWN),
288 UNIPHIER_PINCTRL_PIN(106, "HS0DIN1", UNIPHIER_PIN_IECTRL_EXIST,
289 106, UNIPHIER_PIN_DRV_1BIT,
290 106, UNIPHIER_PIN_PULL_DOWN),
291 UNIPHIER_PINCTRL_PIN(107, "HS0DIN2", UNIPHIER_PIN_IECTRL_EXIST,
292 107, UNIPHIER_PIN_DRV_1BIT,
293 107, UNIPHIER_PIN_PULL_DOWN),
294 UNIPHIER_PINCTRL_PIN(108, "HS0DIN3", UNIPHIER_PIN_IECTRL_EXIST,
295 108, UNIPHIER_PIN_DRV_1BIT,
296 108, UNIPHIER_PIN_PULL_DOWN),
297 UNIPHIER_PINCTRL_PIN(109, "HS0DIN4", UNIPHIER_PIN_IECTRL_EXIST,
298 109, UNIPHIER_PIN_DRV_1BIT,
299 109, UNIPHIER_PIN_PULL_DOWN),
300 UNIPHIER_PINCTRL_PIN(110, "HS0DIN5", UNIPHIER_PIN_IECTRL_EXIST,
301 110, UNIPHIER_PIN_DRV_1BIT,
302 110, UNIPHIER_PIN_PULL_DOWN),
303 UNIPHIER_PINCTRL_PIN(111, "HS0DIN6", UNIPHIER_PIN_IECTRL_EXIST,
304 111, UNIPHIER_PIN_DRV_1BIT,
305 111, UNIPHIER_PIN_PULL_DOWN),
306 UNIPHIER_PINCTRL_PIN(112, "HS0DIN7", UNIPHIER_PIN_IECTRL_EXIST,
307 112, UNIPHIER_PIN_DRV_1BIT,
308 112, UNIPHIER_PIN_PULL_DOWN),
309 UNIPHIER_PINCTRL_PIN(113, "HS0BCLKOUT", UNIPHIER_PIN_IECTRL_EXIST,
310 113, UNIPHIER_PIN_DRV_1BIT,
311 113, UNIPHIER_PIN_PULL_DOWN),
312 UNIPHIER_PINCTRL_PIN(114, "HS0SYNCOUT", UNIPHIER_PIN_IECTRL_EXIST,
313 114, UNIPHIER_PIN_DRV_1BIT,
314 114, UNIPHIER_PIN_PULL_DOWN),
315 UNIPHIER_PINCTRL_PIN(115, "HS0VALOUT", UNIPHIER_PIN_IECTRL_EXIST,
316 115, UNIPHIER_PIN_DRV_1BIT,
317 115, UNIPHIER_PIN_PULL_DOWN),
318 UNIPHIER_PINCTRL_PIN(116, "HS0DOUT0", UNIPHIER_PIN_IECTRL_EXIST,
319 116, UNIPHIER_PIN_DRV_1BIT,
320 116, UNIPHIER_PIN_PULL_DOWN),
321 UNIPHIER_PINCTRL_PIN(117, "HS0DOUT1", UNIPHIER_PIN_IECTRL_EXIST,
322 117, UNIPHIER_PIN_DRV_1BIT,
323 117, UNIPHIER_PIN_PULL_DOWN),
324 UNIPHIER_PINCTRL_PIN(118, "HS0DOUT2", UNIPHIER_PIN_IECTRL_EXIST,
325 118, UNIPHIER_PIN_DRV_1BIT,
326 118, UNIPHIER_PIN_PULL_DOWN),
327 UNIPHIER_PINCTRL_PIN(119, "HS0DOUT3", UNIPHIER_PIN_IECTRL_EXIST,
328 119, UNIPHIER_PIN_DRV_1BIT,
329 119, UNIPHIER_PIN_PULL_DOWN),
330 UNIPHIER_PINCTRL_PIN(120, "HS0DOUT4", UNIPHIER_PIN_IECTRL_EXIST,
331 120, UNIPHIER_PIN_DRV_1BIT,
332 120, UNIPHIER_PIN_PULL_DOWN),
333 UNIPHIER_PINCTRL_PIN(121, "HS0DOUT5", UNIPHIER_PIN_IECTRL_EXIST,
334 121, UNIPHIER_PIN_DRV_1BIT,
335 121, UNIPHIER_PIN_PULL_DOWN),
336 UNIPHIER_PINCTRL_PIN(122, "HS0DOUT6", UNIPHIER_PIN_IECTRL_EXIST,
337 122, UNIPHIER_PIN_DRV_1BIT,
338 122, UNIPHIER_PIN_PULL_DOWN),
339 UNIPHIER_PINCTRL_PIN(123, "HS0DOUT7", UNIPHIER_PIN_IECTRL_EXIST,
340 123, UNIPHIER_PIN_DRV_1BIT,
341 123, UNIPHIER_PIN_PULL_DOWN),
342 UNIPHIER_PINCTRL_PIN(124, "HS1BCLKIN", UNIPHIER_PIN_IECTRL_EXIST,
343 124, UNIPHIER_PIN_DRV_1BIT,
344 124, UNIPHIER_PIN_PULL_DOWN),
345 UNIPHIER_PINCTRL_PIN(125, "HS1SYNCIN", UNIPHIER_PIN_IECTRL_EXIST,
346 125, UNIPHIER_PIN_DRV_1BIT,
347 125, UNIPHIER_PIN_PULL_DOWN),
348 UNIPHIER_PINCTRL_PIN(126, "HS1VALIN", UNIPHIER_PIN_IECTRL_EXIST,
349 126, UNIPHIER_PIN_DRV_1BIT,
350 126, UNIPHIER_PIN_PULL_DOWN),
351 UNIPHIER_PINCTRL_PIN(127, "HS1DIN0", UNIPHIER_PIN_IECTRL_EXIST,
352 127, UNIPHIER_PIN_DRV_1BIT,
353 127, UNIPHIER_PIN_PULL_DOWN),
354 UNIPHIER_PINCTRL_PIN(128, "HS1DIN1", UNIPHIER_PIN_IECTRL_EXIST,
355 128, UNIPHIER_PIN_DRV_1BIT,
356 128, UNIPHIER_PIN_PULL_DOWN),
357 UNIPHIER_PINCTRL_PIN(129, "HS1DIN2", UNIPHIER_PIN_IECTRL_EXIST,
358 129, UNIPHIER_PIN_DRV_1BIT,
359 129, UNIPHIER_PIN_PULL_DOWN),
360 UNIPHIER_PINCTRL_PIN(130, "HS1DIN3", UNIPHIER_PIN_IECTRL_EXIST,
361 130, UNIPHIER_PIN_DRV_1BIT,
362 130, UNIPHIER_PIN_PULL_DOWN),
363 UNIPHIER_PINCTRL_PIN(131, "HS1DIN4", UNIPHIER_PIN_IECTRL_EXIST,
364 131, UNIPHIER_PIN_DRV_1BIT,
365 131, UNIPHIER_PIN_PULL_DOWN),
366 UNIPHIER_PINCTRL_PIN(132, "HS1DIN5", UNIPHIER_PIN_IECTRL_EXIST,
367 132, UNIPHIER_PIN_DRV_1BIT,
368 132, UNIPHIER_PIN_PULL_DOWN),
369 UNIPHIER_PINCTRL_PIN(133, "HS1DIN6", UNIPHIER_PIN_IECTRL_EXIST,
370 133, UNIPHIER_PIN_DRV_1BIT,
371 133, UNIPHIER_PIN_PULL_DOWN),
372 UNIPHIER_PINCTRL_PIN(134, "HS1DIN7", UNIPHIER_PIN_IECTRL_EXIST,
373 134, UNIPHIER_PIN_DRV_1BIT,
374 134, UNIPHIER_PIN_PULL_DOWN),
375 UNIPHIER_PINCTRL_PIN(135, "AO1IEC", UNIPHIER_PIN_IECTRL_EXIST,
376 135, UNIPHIER_PIN_DRV_1BIT,
377 135, UNIPHIER_PIN_PULL_DOWN),
378 UNIPHIER_PINCTRL_PIN(136, "AO1ARC", UNIPHIER_PIN_IECTRL_EXIST,
379 136, UNIPHIER_PIN_DRV_1BIT,
380 136, UNIPHIER_PIN_PULL_DOWN),
381 UNIPHIER_PINCTRL_PIN(137, "AO1DACCK", UNIPHIER_PIN_IECTRL_EXIST,
382 137, UNIPHIER_PIN_DRV_1BIT,
383 137, UNIPHIER_PIN_PULL_DOWN),
384 UNIPHIER_PINCTRL_PIN(138, "AO1BCK", UNIPHIER_PIN_IECTRL_EXIST,
385 138, UNIPHIER_PIN_DRV_1BIT,
386 138, UNIPHIER_PIN_PULL_DOWN),
387 UNIPHIER_PINCTRL_PIN(139, "AO1LRCK", UNIPHIER_PIN_IECTRL_EXIST,
388 139, UNIPHIER_PIN_DRV_1BIT,
389 139, UNIPHIER_PIN_PULL_DOWN),
390 UNIPHIER_PINCTRL_PIN(140, "AO1D0", UNIPHIER_PIN_IECTRL_EXIST,
391 140, UNIPHIER_PIN_DRV_1BIT,
392 140, UNIPHIER_PIN_PULL_DOWN),
393 UNIPHIER_PINCTRL_PIN(141, "AO1D1", UNIPHIER_PIN_IECTRL_EXIST,
394 141, UNIPHIER_PIN_DRV_1BIT,
395 141, UNIPHIER_PIN_PULL_DOWN),
396 UNIPHIER_PINCTRL_PIN(142, "AO1D2", UNIPHIER_PIN_IECTRL_EXIST,
397 142, UNIPHIER_PIN_DRV_1BIT,
398 142, UNIPHIER_PIN_PULL_DOWN),
399 UNIPHIER_PINCTRL_PIN(143, "XIRQ9", UNIPHIER_PIN_IECTRL_EXIST,
400 143, UNIPHIER_PIN_DRV_1BIT,
401 143, UNIPHIER_PIN_PULL_DOWN),
402 UNIPHIER_PINCTRL_PIN(144, "XIRQ10", UNIPHIER_PIN_IECTRL_EXIST,
403 144, UNIPHIER_PIN_DRV_1BIT,
404 144, UNIPHIER_PIN_PULL_DOWN),
405 UNIPHIER_PINCTRL_PIN(145, "XIRQ11", UNIPHIER_PIN_IECTRL_EXIST,
406 145, UNIPHIER_PIN_DRV_1BIT,
407 145, UNIPHIER_PIN_PULL_DOWN),
408 UNIPHIER_PINCTRL_PIN(146, "XIRQ13", UNIPHIER_PIN_IECTRL_EXIST,
409 146, UNIPHIER_PIN_DRV_1BIT,
410 146, UNIPHIER_PIN_PULL_DOWN),
411 UNIPHIER_PINCTRL_PIN(147, "PWMA", UNIPHIER_PIN_IECTRL_EXIST,
412 147, UNIPHIER_PIN_DRV_1BIT,
413 147, UNIPHIER_PIN_PULL_DOWN),
414 UNIPHIER_PINCTRL_PIN(148, "LR_GOUT", UNIPHIER_PIN_IECTRL_EXIST,
415 148, UNIPHIER_PIN_DRV_1BIT,
416 148, UNIPHIER_PIN_PULL_DOWN),
417 UNIPHIER_PINCTRL_PIN(149, "XIRQ0", UNIPHIER_PIN_IECTRL_EXIST,
418 149, UNIPHIER_PIN_DRV_1BIT,
419 149, UNIPHIER_PIN_PULL_DOWN),
420 UNIPHIER_PINCTRL_PIN(150, "XIRQ1", UNIPHIER_PIN_IECTRL_EXIST,
421 150, UNIPHIER_PIN_DRV_1BIT,
422 150, UNIPHIER_PIN_PULL_DOWN),
423 UNIPHIER_PINCTRL_PIN(151, "XIRQ2", UNIPHIER_PIN_IECTRL_EXIST,
424 151, UNIPHIER_PIN_DRV_1BIT,
425 151, UNIPHIER_PIN_PULL_DOWN),
426 UNIPHIER_PINCTRL_PIN(152, "XIRQ3", UNIPHIER_PIN_IECTRL_EXIST,
427 152, UNIPHIER_PIN_DRV_1BIT,
428 152, UNIPHIER_PIN_PULL_DOWN),
429 UNIPHIER_PINCTRL_PIN(153, "XIRQ4", UNIPHIER_PIN_IECTRL_EXIST,
430 153, UNIPHIER_PIN_DRV_1BIT,
431 153, UNIPHIER_PIN_PULL_DOWN),
432 UNIPHIER_PINCTRL_PIN(154, "XIRQ5", UNIPHIER_PIN_IECTRL_EXIST,
433 154, UNIPHIER_PIN_DRV_1BIT,
434 154, UNIPHIER_PIN_PULL_DOWN),
435 UNIPHIER_PINCTRL_PIN(155, "XIRQ6", UNIPHIER_PIN_IECTRL_EXIST,
436 155, UNIPHIER_PIN_DRV_1BIT,
437 155, UNIPHIER_PIN_PULL_DOWN),
438 UNIPHIER_PINCTRL_PIN(156, "XIRQ7", UNIPHIER_PIN_IECTRL_EXIST,
439 156, UNIPHIER_PIN_DRV_1BIT,
440 156, UNIPHIER_PIN_PULL_DOWN),
441 UNIPHIER_PINCTRL_PIN(157, "XIRQ8", UNIPHIER_PIN_IECTRL_EXIST,
442 157, UNIPHIER_PIN_DRV_1BIT,
443 157, UNIPHIER_PIN_PULL_DOWN),
444 UNIPHIER_PINCTRL_PIN(158, "AGCBS", UNIPHIER_PIN_IECTRL_EXIST,
445 158, UNIPHIER_PIN_DRV_1BIT,
446 158, UNIPHIER_PIN_PULL_DOWN),
447 UNIPHIER_PINCTRL_PIN(159, "XIRQ21", UNIPHIER_PIN_IECTRL_EXIST,
448 159, UNIPHIER_PIN_DRV_1BIT,
449 159, UNIPHIER_PIN_PULL_DOWN),
450 UNIPHIER_PINCTRL_PIN(160, "XIRQ22", UNIPHIER_PIN_IECTRL_EXIST,
451 160, UNIPHIER_PIN_DRV_1BIT,
452 160, UNIPHIER_PIN_PULL_DOWN),
453 UNIPHIER_PINCTRL_PIN(161, "XIRQ23", UNIPHIER_PIN_IECTRL_EXIST,
454 161, UNIPHIER_PIN_DRV_1BIT,
455 161, UNIPHIER_PIN_PULL_DOWN),
456 UNIPHIER_PINCTRL_PIN(162, "CH2CLK", UNIPHIER_PIN_IECTRL_EXIST,
457 162, UNIPHIER_PIN_DRV_1BIT,
458 162, UNIPHIER_PIN_PULL_DOWN),
459 UNIPHIER_PINCTRL_PIN(163, "CH2PSYNC", UNIPHIER_PIN_IECTRL_EXIST,
460 163, UNIPHIER_PIN_DRV_1BIT,
461 163, UNIPHIER_PIN_PULL_DOWN),
462 UNIPHIER_PINCTRL_PIN(164, "CH2VAL", UNIPHIER_PIN_IECTRL_EXIST,
463 164, UNIPHIER_PIN_DRV_1BIT,
464 164, UNIPHIER_PIN_PULL_DOWN),
465 UNIPHIER_PINCTRL_PIN(165, "CH2DATA", UNIPHIER_PIN_IECTRL_EXIST,
466 165, UNIPHIER_PIN_DRV_1BIT,
467 165, UNIPHIER_PIN_PULL_DOWN),
468 UNIPHIER_PINCTRL_PIN(166, "CK25O", UNIPHIER_PIN_IECTRL_EXIST,
469 166, UNIPHIER_PIN_DRV_1BIT,
470 166, UNIPHIER_PIN_PULL_DOWN),
471};
472
473static const unsigned aout1_pins[] = {137, 138, 139, 140, 141, 142};
474static const int aout1_muxvals[] = {0, 0, 0, 0, 0, 0};
475static const unsigned aoutiec1_pins[] = {135, 136};
476static const int aoutiec1_muxvals[] = {0, 0};
477static const unsigned int emmc_pins[] = {19, 20, 21, 22, 23, 24, 25};
478static const int emmc_muxvals[] = {0, 0, 0, 0, 0, 0, 0};
479static const unsigned emmc_dat8_pins[] = {26, 27, 28, 29};
480static const int emmc_dat8_muxvals[] = {0, 0, 0, 0};
481static const unsigned ether_rmii_pins[] = {6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
482 16, 17};
483static const int ether_rmii_muxvals[] = {4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4};
484static const unsigned hscin0_ci_pins[] = {102, 103, 104, 105, 106, 107, 108,
485 109, 110, 111, 112};
486static const int hscin0_ci_muxvals[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
487static const unsigned hscin0_p_pins[] = {102, 103, 104, 105, 106, 107, 108, 109,
488 110, 111, 112};
489static const int hscin0_p_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
490static const unsigned hscin0_s_pins[] = {116, 117, 118, 119};
491static const int hscin0_s_muxvals[] = {3, 3, 3, 3};
492static const unsigned hscin1_p_pins[] = {124, 125, 126, 127, 128, 129, 130, 131,
493 132, 133, 134};
494static const int hscin1_p_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
495static const unsigned hscin1_s_pins[] = {120, 121, 122, 123};
496static const int hscin1_s_muxvals[] = {3, 3, 3, 3};
497static const unsigned hscin2_s_pins[] = {124, 125, 126, 127};
498static const int hscin2_s_muxvals[] = {3, 3, 3, 3};
499static const unsigned hscout0_ci_pins[] = {113, 114, 115, 116, 117, 118, 119,
500 120, 121, 122, 123};
501static const int hscout0_ci_muxvals[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
502static const unsigned hscout0_p_pins[] = {113, 114, 115, 116, 117, 118, 119,
503 120, 121, 122, 123};
504static const int hscout0_p_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
505static const unsigned hscout0_s_pins[] = {116, 117, 118, 119};
506static const int hscout0_s_muxvals[] = {4, 4, 4, 4};
507static const unsigned hscout1_s_pins[] = {120, 121, 122, 123};
508static const int hscout1_s_muxvals[] = {4, 4, 4, 4};
509static const unsigned i2c0_pins[] = {63, 64};
510static const int i2c0_muxvals[] = {0, 0};
511static const unsigned i2c1_pins[] = {65, 66};
512static const int i2c1_muxvals[] = {0, 0};
513static const unsigned i2c3_pins[] = {67, 68};
514static const int i2c3_muxvals[] = {1, 1};
515static const unsigned i2c4_pins[] = {61, 62};
516static const int i2c4_muxvals[] = {1, 1};
517static const unsigned nand_pins[] = {3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
518 15, 16, 17};
519static const int nand_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
520static const unsigned system_bus_pins[] = {1, 2, 6, 7, 8, 9, 10, 11, 12, 13,
521 14, 15, 16, 17};
522static const int system_bus_muxvals[] = {0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
523 2};
524static const unsigned system_bus_cs1_pins[] = {0};
525static const int system_bus_cs1_muxvals[] = {0};
526static const unsigned uart0_pins[] = {54, 55};
527static const int uart0_muxvals[] = {0, 0};
528static const unsigned uart1_pins[] = {58, 59};
529static const int uart1_muxvals[] = {1, 1};
530static const unsigned uart2_pins[] = {90, 91};
531static const int uart2_muxvals[] = {1, 1};
532static const unsigned uart3_pins[] = {94, 95};
533static const int uart3_muxvals[] = {1, 1};
534static const unsigned uart3_ctsrts_pins[] = {96, 97, 98, 99, 100, 101};
535static const int uart3_ctsrts_muxvals[] = {1, 1, 1, 1, 1, 1};
536static const unsigned usb0_pins[] = {46, 47};
537static const int usb0_muxvals[] = {0, 0};
538static const unsigned usb1_pins[] = {48, 49};
539static const int usb1_muxvals[] = {0, 0};
540static const unsigned usb2_pins[] = {50, 51};
541static const int usb2_muxvals[] = {0, 0};
542static const unsigned int gpio_range0_pins[] = {
543 159, 160, 161, 162, 163, 164, 165, 166,
544 0, 1, 2, 3, 4, 5, 6, 7,
545 8, 9, 10, 11, 12, 13, 14, 15,
546 16, 17, 18,
547};
548static const unsigned int gpio_range1_pins[] = {
549 46, 47, 48, 49, 50,
550 51,
551};
552static const unsigned int gpio_range2_pins[] = {
553 54, 55, 56, 57, 58,
554 59, 60, 69, 70, 71, 72, 73, 74,
555 75, 76, 77, 78, 79, 80, 81, 82,
556 83, 84, 85, 86, 87, 88, 89, 90,
557 91, 92, 93, 94, 95, 96, 97, 98,
558};
559static const unsigned int gpio_range3_pins[] = {
560 99, 100, 101, 102, 103, 104, 105, 106,
561 107, 108, 109, 110, 111, 112, 113, 114,
562 115, 116, 117, 118, 119, 120, 121, 122,
563 149, 150, 151, 152, 153, 154, 155, 156,
564 157, 143, 144, 145, 85, 146, 158, 84,
565 141, 142, 148, 50, 51, 159, 160, 161,
566 61, 62, 63, 64, 65, 66, 67, 68,
567};
568static const unsigned int gpio_range4_pins[] = {
569 123, 124, 125, 126, 127, 128, 129, 130,
570 131, 132, 133, 134, 135, 136, 137, 138,
571 139, 140, 141, 142,
572};
573static const unsigned int gpio_range5_pins[] = {
574 147, 148, 149, 150, 151, 152, 153, 154,
575 155, 156, 157, 143, 144, 145, 146, 158,
576};
577
578static const struct uniphier_pinctrl_group uniphier_ld11_groups[] = {
579 UNIPHIER_PINCTRL_GROUP(aout1),
580 UNIPHIER_PINCTRL_GROUP(aoutiec1),
581 UNIPHIER_PINCTRL_GROUP(emmc),
582 UNIPHIER_PINCTRL_GROUP(emmc_dat8),
583 UNIPHIER_PINCTRL_GROUP(ether_rmii),
584 UNIPHIER_PINCTRL_GROUP(hscin0_ci),
585 UNIPHIER_PINCTRL_GROUP(hscin0_p),
586 UNIPHIER_PINCTRL_GROUP(hscin0_s),
587 UNIPHIER_PINCTRL_GROUP(hscin1_p),
588 UNIPHIER_PINCTRL_GROUP(hscin1_s),
589 UNIPHIER_PINCTRL_GROUP(hscin2_s),
590 UNIPHIER_PINCTRL_GROUP(hscout0_ci),
591 UNIPHIER_PINCTRL_GROUP(hscout0_p),
592 UNIPHIER_PINCTRL_GROUP(hscout0_s),
593 UNIPHIER_PINCTRL_GROUP(hscout1_s),
594 UNIPHIER_PINCTRL_GROUP(i2c0),
595 UNIPHIER_PINCTRL_GROUP(i2c1),
596 UNIPHIER_PINCTRL_GROUP(i2c3),
597 UNIPHIER_PINCTRL_GROUP(i2c4),
598 UNIPHIER_PINCTRL_GROUP(nand),
599 UNIPHIER_PINCTRL_GROUP(system_bus),
600 UNIPHIER_PINCTRL_GROUP(system_bus_cs1),
601 UNIPHIER_PINCTRL_GROUP(uart0),
602 UNIPHIER_PINCTRL_GROUP(uart1),
603 UNIPHIER_PINCTRL_GROUP(uart2),
604 UNIPHIER_PINCTRL_GROUP(uart3),
605 UNIPHIER_PINCTRL_GROUP(uart3_ctsrts),
606 UNIPHIER_PINCTRL_GROUP(usb0),
607 UNIPHIER_PINCTRL_GROUP(usb1),
608 UNIPHIER_PINCTRL_GROUP(usb2),
609 UNIPHIER_PINCTRL_GROUP_GPIO(gpio_range0),
610 UNIPHIER_PINCTRL_GROUP_GPIO(gpio_range1),
611 UNIPHIER_PINCTRL_GROUP_GPIO(gpio_range2),
612 UNIPHIER_PINCTRL_GROUP_GPIO(gpio_range3),
613 UNIPHIER_PINCTRL_GROUP_GPIO(gpio_range4),
614 UNIPHIER_PINCTRL_GROUP_GPIO(gpio_range5),
615};
616
617static const char * const aout1_groups[] = {"aout1"};
618static const char * const aoutiec1_groups[] = {"aoutiec1"};
619static const char * const emmc_groups[] = {"emmc", "emmc_dat8"};
620static const char * const ether_rmii_groups[] = {"ether_rmii"};
621static const char * const hscin0_groups[] = {"hscin0_ci",
622 "hscin0_p",
623 "hscin0_s"};
624static const char * const hscin1_groups[] = {"hscin1_p", "hscin1_s"};
625static const char * const hscin2_groups[] = {"hscin2_s"};
626static const char * const hscout0_groups[] = {"hscout0_ci",
627 "hscout0_p",
628 "hscout0_s"};
629static const char * const hscout1_groups[] = {"hscout1_s"};
630static const char * const i2c0_groups[] = {"i2c0"};
631static const char * const i2c1_groups[] = {"i2c1"};
632static const char * const i2c3_groups[] = {"i2c3"};
633static const char * const i2c4_groups[] = {"i2c4"};
634static const char * const nand_groups[] = {"nand"};
635static const char * const system_bus_groups[] = {"system_bus",
636 "system_bus_cs1"};
637static const char * const uart0_groups[] = {"uart0"};
638static const char * const uart1_groups[] = {"uart1"};
639static const char * const uart2_groups[] = {"uart2"};
640static const char * const uart3_groups[] = {"uart3", "uart3_ctsrts"};
641static const char * const usb0_groups[] = {"usb0"};
642static const char * const usb1_groups[] = {"usb1"};
643static const char * const usb2_groups[] = {"usb2"};
644
645static const struct uniphier_pinmux_function uniphier_ld11_functions[] = {
646 UNIPHIER_PINMUX_FUNCTION(aout1),
647 UNIPHIER_PINMUX_FUNCTION(aoutiec1),
648 UNIPHIER_PINMUX_FUNCTION(emmc),
649 UNIPHIER_PINMUX_FUNCTION(ether_rmii),
650 UNIPHIER_PINMUX_FUNCTION(hscin0),
651 UNIPHIER_PINMUX_FUNCTION(hscin1),
652 UNIPHIER_PINMUX_FUNCTION(hscin2),
653 UNIPHIER_PINMUX_FUNCTION(hscout0),
654 UNIPHIER_PINMUX_FUNCTION(hscout1),
655 UNIPHIER_PINMUX_FUNCTION(i2c0),
656 UNIPHIER_PINMUX_FUNCTION(i2c1),
657 UNIPHIER_PINMUX_FUNCTION(i2c3),
658 UNIPHIER_PINMUX_FUNCTION(i2c4),
659 UNIPHIER_PINMUX_FUNCTION(nand),
660 UNIPHIER_PINMUX_FUNCTION(system_bus),
661 UNIPHIER_PINMUX_FUNCTION(uart0),
662 UNIPHIER_PINMUX_FUNCTION(uart1),
663 UNIPHIER_PINMUX_FUNCTION(uart2),
664 UNIPHIER_PINMUX_FUNCTION(uart3),
665 UNIPHIER_PINMUX_FUNCTION(usb0),
666 UNIPHIER_PINMUX_FUNCTION(usb1),
667 UNIPHIER_PINMUX_FUNCTION(usb2),
668};
669
670static int uniphier_ld11_get_gpio_muxval(unsigned int pin,
671 unsigned int gpio_offset)
672{
673 if (gpio_offset == 132 || gpio_offset == 135)
674 return 13;
675
676 if (gpio_offset >= 120 && gpio_offset <= 143)
677 return 14;
678
679 return 15;
680}
681
682static struct uniphier_pinctrl_socdata uniphier_ld11_pindata = {
683 .pins = uniphier_ld11_pins,
684 .npins = ARRAY_SIZE(uniphier_ld11_pins),
685 .groups = uniphier_ld11_groups,
686 .groups_count = ARRAY_SIZE(uniphier_ld11_groups),
687 .functions = uniphier_ld11_functions,
688 .functions_count = ARRAY_SIZE(uniphier_ld11_functions),
689 .get_gpio_muxval = uniphier_ld11_get_gpio_muxval,
690 .caps = UNIPHIER_PINCTRL_CAPS_PERPIN_IECTRL,
691};
692
693static int uniphier_ld11_pinctrl_probe(struct platform_device *pdev)
694{
695 return uniphier_pinctrl_probe(pdev, &uniphier_ld11_pindata);
696}
697
698static const struct of_device_id uniphier_ld11_pinctrl_match[] = {
699 { .compatible = "socionext,uniphier-ld11-pinctrl" },
700 { }
701};
702
703static struct platform_driver uniphier_ld11_pinctrl_driver = {
704 .probe = uniphier_ld11_pinctrl_probe,
705 .driver = {
706 .name = "uniphier-ld11-pinctrl",
707 .of_match_table = uniphier_ld11_pinctrl_match,
708 .pm = &uniphier_pinctrl_pm_ops,
709 },
710};
711builtin_platform_driver(uniphier_ld11_pinctrl_driver);
712