1
2
3
4
5
6
7
8#include <linux/kernel.h>
9#include <linux/gpio.h>
10#include <cpu/sh7264.h>
11
12#include "sh_pfc.h"
13
14enum {
15 PINMUX_RESERVED = 0,
16
17 PINMUX_DATA_BEGIN,
18
19 PA3_DATA, PA2_DATA, PA1_DATA, PA0_DATA,
20
21 PB22_DATA, PB21_DATA, PB20_DATA,
22 PB19_DATA, PB18_DATA, PB17_DATA, PB16_DATA,
23 PB15_DATA, PB14_DATA, PB13_DATA, PB12_DATA,
24 PB11_DATA, PB10_DATA, PB9_DATA, PB8_DATA,
25 PB7_DATA, PB6_DATA, PB5_DATA, PB4_DATA,
26 PB3_DATA, PB2_DATA, PB1_DATA,
27
28 PC10_DATA, PC9_DATA, PC8_DATA,
29 PC7_DATA, PC6_DATA, PC5_DATA, PC4_DATA,
30 PC3_DATA, PC2_DATA, PC1_DATA, PC0_DATA,
31
32 PD15_DATA, PD14_DATA, PD13_DATA, PD12_DATA,
33 PD11_DATA, PD10_DATA, PD9_DATA, PD8_DATA,
34 PD7_DATA, PD6_DATA, PD5_DATA, PD4_DATA,
35 PD3_DATA, PD2_DATA, PD1_DATA, PD0_DATA,
36
37 PE5_DATA, PE4_DATA,
38 PE3_DATA, PE2_DATA, PE1_DATA, PE0_DATA,
39
40 PF12_DATA,
41 PF11_DATA, PF10_DATA, PF9_DATA, PF8_DATA,
42 PF7_DATA, PF6_DATA, PF5_DATA, PF4_DATA,
43 PF3_DATA, PF2_DATA, PF1_DATA, PF0_DATA,
44
45 PG24_DATA,
46 PG23_DATA, PG22_DATA, PG21_DATA, PG20_DATA,
47 PG19_DATA, PG18_DATA, PG17_DATA, PG16_DATA,
48 PG15_DATA, PG14_DATA, PG13_DATA, PG12_DATA,
49 PG11_DATA, PG10_DATA, PG9_DATA, PG8_DATA,
50 PG7_DATA, PG6_DATA, PG5_DATA, PG4_DATA,
51 PG3_DATA, PG2_DATA, PG1_DATA, PG0_DATA,
52
53
54
55 PH7_DATA, PH6_DATA, PH5_DATA, PH4_DATA,
56 PH3_DATA, PH2_DATA, PH1_DATA, PH0_DATA,
57
58
59 PJ12_DATA,
60 PJ11_DATA, PJ10_DATA, PJ9_DATA, PJ8_DATA,
61 PJ7_DATA, PJ6_DATA, PJ5_DATA, PJ4_DATA,
62 PJ3_DATA, PJ2_DATA, PJ1_DATA, PJ0_DATA,
63
64 PK12_DATA,
65 PK11_DATA, PK10_DATA, PK9_DATA, PK8_DATA,
66 PK7_DATA, PK6_DATA, PK5_DATA, PK4_DATA,
67 PK3_DATA, PK2_DATA, PK1_DATA, PK0_DATA,
68 PINMUX_DATA_END,
69
70 PINMUX_INPUT_BEGIN,
71 FORCE_IN,
72
73 PA3_IN, PA2_IN, PA1_IN, PA0_IN,
74
75 PB22_IN, PB21_IN, PB20_IN,
76 PB19_IN, PB18_IN, PB17_IN, PB16_IN,
77 PB15_IN, PB14_IN, PB13_IN, PB12_IN,
78 PB11_IN, PB10_IN, PB9_IN, PB8_IN,
79 PB7_IN, PB6_IN, PB5_IN, PB4_IN,
80 PB3_IN, PB2_IN, PB1_IN,
81
82 PC10_IN, PC9_IN, PC8_IN,
83 PC7_IN, PC6_IN, PC5_IN, PC4_IN,
84 PC3_IN, PC2_IN, PC1_IN, PC0_IN,
85
86 PD15_IN, PD14_IN, PD13_IN, PD12_IN,
87 PD11_IN, PD10_IN, PD9_IN, PD8_IN,
88 PD7_IN, PD6_IN, PD5_IN, PD4_IN,
89 PD3_IN, PD2_IN, PD1_IN, PD0_IN,
90
91 PE5_IN, PE4_IN,
92 PE3_IN, PE2_IN, PE1_IN, PE0_IN,
93
94 PF12_IN,
95 PF11_IN, PF10_IN, PF9_IN, PF8_IN,
96 PF7_IN, PF6_IN, PF5_IN, PF4_IN,
97 PF3_IN, PF2_IN, PF1_IN, PF0_IN,
98
99 PG24_IN,
100 PG23_IN, PG22_IN, PG21_IN, PG20_IN,
101 PG19_IN, PG18_IN, PG17_IN, PG16_IN,
102 PG15_IN, PG14_IN, PG13_IN, PG12_IN,
103 PG11_IN, PG10_IN, PG9_IN, PG8_IN,
104 PG7_IN, PG6_IN, PG5_IN, PG4_IN,
105 PG3_IN, PG2_IN, PG1_IN, PG0_IN,
106
107
108
109 PJ12_IN,
110 PJ11_IN, PJ10_IN, PJ9_IN, PJ8_IN,
111 PJ7_IN, PJ6_IN, PJ5_IN, PJ4_IN,
112 PJ3_IN, PJ2_IN, PJ1_IN, PJ0_IN,
113
114 PK12_IN,
115 PK11_IN, PK10_IN, PK9_IN, PK8_IN,
116 PK7_IN, PK6_IN, PK5_IN, PK4_IN,
117 PK3_IN, PK2_IN, PK1_IN, PK0_IN,
118 PINMUX_INPUT_END,
119
120 PINMUX_OUTPUT_BEGIN,
121 FORCE_OUT,
122
123 PA3_OUT, PA2_OUT, PA1_OUT, PA0_OUT,
124
125 PB22_OUT, PB21_OUT, PB20_OUT,
126 PB19_OUT, PB18_OUT, PB17_OUT, PB16_OUT,
127 PB15_OUT, PB14_OUT, PB13_OUT, PB12_OUT,
128 PB11_OUT, PB10_OUT, PB9_OUT, PB8_OUT,
129 PB7_OUT, PB6_OUT, PB5_OUT, PB4_OUT,
130 PB3_OUT, PB2_OUT, PB1_OUT,
131
132 PC10_OUT, PC9_OUT, PC8_OUT,
133 PC7_OUT, PC6_OUT, PC5_OUT, PC4_OUT,
134 PC3_OUT, PC2_OUT, PC1_OUT, PC0_OUT,
135
136 PD15_OUT, PD14_OUT, PD13_OUT, PD12_OUT,
137 PD11_OUT, PD10_OUT, PD9_OUT, PD8_OUT,
138 PD7_OUT, PD6_OUT, PD5_OUT, PD4_OUT,
139 PD3_OUT, PD2_OUT, PD1_OUT, PD0_OUT,
140
141 PE5_OUT, PE4_OUT,
142 PE3_OUT, PE2_OUT, PE1_OUT, PE0_OUT,
143
144 PF12_OUT,
145 PF11_OUT, PF10_OUT, PF9_OUT, PF8_OUT,
146 PF7_OUT, PF6_OUT, PF5_OUT, PF4_OUT,
147 PF3_OUT, PF2_OUT, PF1_OUT, PF0_OUT,
148
149 PG24_OUT,
150 PG23_OUT, PG22_OUT, PG21_OUT, PG20_OUT,
151 PG19_OUT, PG18_OUT, PG17_OUT, PG16_OUT,
152 PG15_OUT, PG14_OUT, PG13_OUT, PG12_OUT,
153 PG11_OUT, PG10_OUT, PG9_OUT, PG8_OUT,
154 PG7_OUT, PG6_OUT, PG5_OUT, PG4_OUT,
155 PG3_OUT, PG2_OUT, PG1_OUT, PG0_OUT,
156
157
158
159 PJ12_OUT,
160 PJ11_OUT, PJ10_OUT, PJ9_OUT, PJ8_OUT,
161 PJ7_OUT, PJ6_OUT, PJ5_OUT, PJ4_OUT,
162 PJ3_OUT, PJ2_OUT, PJ1_OUT, PJ0_OUT,
163
164 PK12_OUT,
165 PK11_OUT, PK10_OUT, PK9_OUT, PK8_OUT,
166 PK7_OUT, PK6_OUT, PK5_OUT, PK4_OUT,
167 PK3_OUT, PK2_OUT, PK1_OUT, PK0_OUT,
168 PINMUX_OUTPUT_END,
169
170 PINMUX_FUNCTION_BEGIN,
171
172 PA3_IOR_IN, PA3_IOR_OUT,
173 PA2_IOR_IN, PA2_IOR_OUT,
174 PA1_IOR_IN, PA1_IOR_OUT,
175 PA0_IOR_IN, PA0_IOR_OUT,
176
177
178 PB11_IOR_IN, PB11_IOR_OUT,
179 PB10_IOR_IN, PB10_IOR_OUT,
180 PB9_IOR_IN, PB9_IOR_OUT,
181 PB8_IOR_IN, PB8_IOR_OUT,
182
183 PB22MD_00, PB22MD_01, PB22MD_10,
184 PB21MD_0, PB21MD_1,
185 PB20MD_0, PB20MD_1,
186 PB19MD_00, PB19MD_01, PB19MD_10, PB19MD_11,
187 PB18MD_00, PB18MD_01, PB18MD_10, PB18MD_11,
188 PB17MD_00, PB17MD_01, PB17MD_10, PB17MD_11,
189 PB16MD_00, PB16MD_01, PB16MD_10, PB16MD_11,
190 PB15MD_00, PB15MD_01, PB15MD_10, PB15MD_11,
191 PB14MD_00, PB14MD_01, PB14MD_10, PB14MD_11,
192 PB13MD_00, PB13MD_01, PB13MD_10, PB13MD_11,
193 PB12MD_00, PB12MD_01, PB12MD_10, PB12MD_11,
194 PB11MD_00, PB11MD_01, PB11MD_10, PB11MD_11,
195 PB10MD_00, PB10MD_01, PB10MD_10, PB10MD_11,
196 PB9MD_00, PB9MD_01, PB9MD_10, PB9MD_11,
197 PB8MD_00, PB8MD_01, PB8MD_10, PB8MD_11,
198 PB7MD_00, PB7MD_01, PB7MD_10, PB7MD_11,
199 PB6MD_00, PB6MD_01, PB6MD_10, PB6MD_11,
200 PB5MD_00, PB5MD_01, PB5MD_10, PB5MD_11,
201 PB4MD_00, PB4MD_01, PB4MD_10, PB4MD_11,
202 PB3MD_0, PB3MD_1,
203 PB2MD_0, PB2MD_1,
204 PB1MD_0, PB1MD_1,
205
206
207 PC14_IOR_IN, PC14_IOR_OUT,
208 PC13_IOR_IN, PC13_IOR_OUT,
209 PC12_IOR_IN, PC12_IOR_OUT,
210 PC11_IOR_IN, PC11_IOR_OUT,
211 PC10_IOR_IN, PC10_IOR_OUT,
212 PC9_IOR_IN, PC9_IOR_OUT,
213 PC8_IOR_IN, PC8_IOR_OUT,
214 PC7_IOR_IN, PC7_IOR_OUT,
215 PC6_IOR_IN, PC6_IOR_OUT,
216 PC5_IOR_IN, PC5_IOR_OUT,
217 PC4_IOR_IN, PC4_IOR_OUT,
218 PC3_IOR_IN, PC3_IOR_OUT,
219 PC2_IOR_IN, PC2_IOR_OUT,
220 PC1_IOR_IN, PC1_IOR_OUT,
221 PC0_IOR_IN, PC0_IOR_OUT,
222
223 PC10MD_0, PC10MD_1,
224 PC9MD_0, PC9MD_1,
225 PC8MD_00, PC8MD_01, PC8MD_10, PC8MD_11,
226 PC7MD_00, PC7MD_01, PC7MD_10, PC7MD_11,
227 PC6MD_00, PC6MD_01, PC6MD_10, PC6MD_11,
228 PC5MD_00, PC5MD_01, PC5MD_10, PC5MD_11,
229 PC4MD_0, PC4MD_1,
230 PC3MD_0, PC3MD_1,
231 PC2MD_0, PC2MD_1,
232 PC1MD_0, PC1MD_1,
233 PC0MD_0, PC0MD_1,
234
235
236 PD15_IOR_IN, PD15_IOR_OUT,
237 PD14_IOR_IN, PD14_IOR_OUT,
238 PD13_IOR_IN, PD13_IOR_OUT,
239 PD12_IOR_IN, PD12_IOR_OUT,
240 PD11_IOR_IN, PD11_IOR_OUT,
241 PD10_IOR_IN, PD10_IOR_OUT,
242 PD9_IOR_IN, PD9_IOR_OUT,
243 PD8_IOR_IN, PD8_IOR_OUT,
244 PD7_IOR_IN, PD7_IOR_OUT,
245 PD6_IOR_IN, PD6_IOR_OUT,
246 PD5_IOR_IN, PD5_IOR_OUT,
247 PD4_IOR_IN, PD4_IOR_OUT,
248 PD3_IOR_IN, PD3_IOR_OUT,
249 PD2_IOR_IN, PD2_IOR_OUT,
250 PD1_IOR_IN, PD1_IOR_OUT,
251 PD0_IOR_IN, PD0_IOR_OUT,
252
253 PD15MD_00, PD15MD_01, PD15MD_10, PD15MD_11,
254 PD14MD_00, PD14MD_01, PD14MD_10, PD14MD_11,
255 PD13MD_00, PD13MD_01, PD13MD_10, PD13MD_11,
256 PD12MD_00, PD12MD_01, PD12MD_10, PD12MD_11,
257 PD11MD_00, PD11MD_01, PD11MD_10, PD11MD_11,
258 PD10MD_00, PD10MD_01, PD10MD_10, PD10MD_11,
259 PD9MD_00, PD9MD_01, PD9MD_10, PD9MD_11,
260 PD8MD_00, PD8MD_01, PD8MD_10, PD8MD_11,
261 PD7MD_00, PD7MD_01, PD7MD_10, PD7MD_11,
262 PD6MD_00, PD6MD_01, PD6MD_10, PD6MD_11,
263 PD5MD_00, PD5MD_01, PD5MD_10, PD5MD_11,
264 PD4MD_00, PD4MD_01, PD4MD_10, PD4MD_11,
265 PD3MD_00, PD3MD_01, PD3MD_10, PD3MD_11,
266 PD2MD_00, PD2MD_01, PD2MD_10, PD2MD_11,
267 PD1MD_00, PD1MD_01, PD1MD_10, PD1MD_11,
268 PD0MD_00, PD0MD_01, PD0MD_10, PD0MD_11,
269
270
271 PE5_IOR_IN, PE5_IOR_OUT,
272 PE4_IOR_IN, PE4_IOR_OUT,
273 PE3_IOR_IN, PE3_IOR_OUT,
274 PE2_IOR_IN, PE2_IOR_OUT,
275 PE1_IOR_IN, PE1_IOR_OUT,
276 PE0_IOR_IN, PE0_IOR_OUT,
277
278 PE5MD_00, PE5MD_01, PE5MD_10, PE5MD_11,
279 PE4MD_00, PE4MD_01, PE4MD_10, PE4MD_11,
280 PE3MD_00, PE3MD_01, PE3MD_10, PE3MD_11,
281 PE2MD_00, PE2MD_01, PE2MD_10, PE2MD_11,
282 PE1MD_000, PE1MD_001, PE1MD_010, PE1MD_011,
283 PE1MD_100, PE1MD_101, PE1MD_110, PE1MD_111,
284 PE0MD_00, PE0MD_01, PE0MD_10, PE0MD_11,
285
286
287 PF12_IOR_IN, PF12_IOR_OUT,
288 PF11_IOR_IN, PF11_IOR_OUT,
289 PF10_IOR_IN, PF10_IOR_OUT,
290 PF9_IOR_IN, PF9_IOR_OUT,
291 PF8_IOR_IN, PF8_IOR_OUT,
292 PF7_IOR_IN, PF7_IOR_OUT,
293 PF6_IOR_IN, PF6_IOR_OUT,
294 PF5_IOR_IN, PF5_IOR_OUT,
295 PF4_IOR_IN, PF4_IOR_OUT,
296 PF3_IOR_IN, PF3_IOR_OUT,
297 PF2_IOR_IN, PF2_IOR_OUT,
298 PF1_IOR_IN, PF1_IOR_OUT,
299 PF0_IOR_IN, PF0_IOR_OUT,
300
301 PF12MD_000, PF12MD_001, PF12MD_010, PF12MD_011,
302 PF12MD_100, PF12MD_101, PF12MD_110, PF12MD_111,
303 PF11MD_000, PF11MD_001, PF11MD_010, PF11MD_011,
304 PF11MD_100, PF11MD_101, PF11MD_110, PF11MD_111,
305 PF10MD_000, PF10MD_001, PF10MD_010, PF10MD_011,
306 PF10MD_100, PF10MD_101, PF10MD_110, PF10MD_111,
307 PF9MD_000, PF9MD_001, PF9MD_010, PF9MD_011,
308 PF9MD_100, PF9MD_101, PF9MD_110, PF9MD_111,
309 PF8MD_00, PF8MD_01, PF8MD_10, PF8MD_11,
310 PF7MD_000, PF7MD_001, PF7MD_010, PF7MD_011,
311 PF7MD_100, PF7MD_101, PF7MD_110, PF7MD_111,
312 PF6MD_000, PF6MD_001, PF6MD_010, PF6MD_011,
313 PF6MD_100, PF6MD_101, PF6MD_110, PF6MD_111,
314 PF5MD_000, PF5MD_001, PF5MD_010, PF5MD_011,
315 PF5MD_100, PF5MD_101, PF5MD_110, PF5MD_111,
316 PF4MD_000, PF4MD_001, PF4MD_010, PF4MD_011,
317 PF4MD_100, PF4MD_101, PF4MD_110, PF4MD_111,
318 PF3MD_000, PF3MD_001, PF3MD_010, PF3MD_011,
319 PF3MD_100, PF3MD_101, PF3MD_110, PF3MD_111,
320 PF2MD_000, PF2MD_001, PF2MD_010, PF2MD_011,
321 PF2MD_100, PF2MD_101, PF2MD_110, PF2MD_111,
322 PF1MD_000, PF1MD_001, PF1MD_010, PF1MD_011,
323 PF1MD_100, PF1MD_101, PF1MD_110, PF1MD_111,
324 PF0MD_000, PF0MD_001, PF0MD_010, PF0MD_011,
325 PF0MD_100, PF0MD_101, PF0MD_110, PF0MD_111,
326
327
328 PG24_IOR_IN, PG24_IOR_OUT,
329 PG23_IOR_IN, PG23_IOR_OUT,
330 PG22_IOR_IN, PG22_IOR_OUT,
331 PG21_IOR_IN, PG21_IOR_OUT,
332 PG20_IOR_IN, PG20_IOR_OUT,
333 PG19_IOR_IN, PG19_IOR_OUT,
334 PG18_IOR_IN, PG18_IOR_OUT,
335 PG17_IOR_IN, PG17_IOR_OUT,
336 PG16_IOR_IN, PG16_IOR_OUT,
337 PG15_IOR_IN, PG15_IOR_OUT,
338 PG14_IOR_IN, PG14_IOR_OUT,
339 PG13_IOR_IN, PG13_IOR_OUT,
340 PG12_IOR_IN, PG12_IOR_OUT,
341 PG11_IOR_IN, PG11_IOR_OUT,
342 PG10_IOR_IN, PG10_IOR_OUT,
343 PG9_IOR_IN, PG9_IOR_OUT,
344 PG8_IOR_IN, PG8_IOR_OUT,
345 PG7_IOR_IN, PG7_IOR_OUT,
346 PG6_IOR_IN, PG6_IOR_OUT,
347 PG5_IOR_IN, PG5_IOR_OUT,
348 PG4_IOR_IN, PG4_IOR_OUT,
349 PG3_IOR_IN, PG3_IOR_OUT,
350 PG2_IOR_IN, PG2_IOR_OUT,
351 PG1_IOR_IN, PG1_IOR_OUT,
352 PG0_IOR_IN, PG0_IOR_OUT,
353
354 PG24MD_00, PG24MD_01, PG24MD_10, PG24MD_11,
355 PG23MD_00, PG23MD_01, PG23MD_10, PG23MD_11,
356 PG22MD_00, PG22MD_01, PG22MD_10, PG22MD_11,
357 PG21MD_00, PG21MD_01, PG21MD_10, PG21MD_11,
358 PG20MD_000, PG20MD_001, PG20MD_010, PG20MD_011,
359 PG20MD_100, PG20MD_101, PG20MD_110, PG20MD_111,
360 PG19MD_000, PG19MD_001, PG19MD_010, PG19MD_011,
361 PG19MD_100, PG19MD_101, PG19MD_110, PG19MD_111,
362 PG18MD_000, PG18MD_001, PG18MD_010, PG18MD_011,
363 PG18MD_100, PG18MD_101, PG18MD_110, PG18MD_111,
364 PG17MD_000, PG17MD_001, PG17MD_010, PG17MD_011,
365 PG17MD_100, PG17MD_101, PG17MD_110, PG17MD_111,
366 PG16MD_000, PG16MD_001, PG16MD_010, PG16MD_011,
367 PG16MD_100, PG16MD_101, PG16MD_110, PG16MD_111,
368 PG15MD_000, PG15MD_001, PG15MD_010, PG15MD_011,
369 PG15MD_100, PG15MD_101, PG15MD_110, PG15MD_111,
370 PG14MD_000, PG14MD_001, PG14MD_010, PG14MD_011,
371 PG14MD_100, PG14MD_101, PG14MD_110, PG14MD_111,
372 PG13MD_000, PG13MD_001, PG13MD_010, PG13MD_011,
373 PG13MD_100, PG13MD_101, PG13MD_110, PG13MD_111,
374 PG12MD_000, PG12MD_001, PG12MD_010, PG12MD_011,
375 PG12MD_100, PG12MD_101, PG12MD_110, PG12MD_111,
376 PG11MD_000, PG11MD_001, PG11MD_010, PG11MD_011,
377 PG11MD_100, PG11MD_101, PG11MD_110, PG11MD_111,
378 PG10MD_000, PG10MD_001, PG10MD_010, PG10MD_011,
379 PG10MD_100, PG10MD_101, PG10MD_110, PG10MD_111,
380 PG9MD_000, PG9MD_001, PG9MD_010, PG9MD_011,
381 PG9MD_100, PG9MD_101, PG9MD_110, PG9MD_111,
382 PG8MD_000, PG8MD_001, PG8MD_010, PG8MD_011,
383 PG8MD_100, PG8MD_101, PG8MD_110, PG8MD_111,
384 PG7MD_00, PG7MD_01, PG7MD_10, PG7MD_11,
385 PG6MD_00, PG6MD_01, PG6MD_10, PG6MD_11,
386 PG5MD_00, PG5MD_01, PG5MD_10, PG5MD_11,
387 PG4MD_00, PG4MD_01, PG4MD_10, PG4MD_11,
388 PG3MD_00, PG3MD_01, PG3MD_10, PG3MD_11,
389 PG2MD_00, PG2MD_01, PG2MD_10, PG2MD_11,
390 PG1MD_00, PG1MD_01, PG1MD_10, PG1MD_11,
391 PG0MD_000, PG0MD_001, PG0MD_010, PG0MD_011,
392 PG0MD_100, PG0MD_101, PG0MD_110, PG0MD_111,
393
394
395 PH7MD_0, PH7MD_1,
396 PH6MD_0, PH6MD_1,
397 PH5MD_0, PH5MD_1,
398 PH4MD_0, PH4MD_1,
399 PH3MD_0, PH3MD_1,
400 PH2MD_0, PH2MD_1,
401 PH1MD_0, PH1MD_1,
402 PH0MD_0, PH0MD_1,
403
404
405
406
407 PJ11_IOR_IN, PJ11_IOR_OUT,
408 PJ10_IOR_IN, PJ10_IOR_OUT,
409 PJ9_IOR_IN, PJ9_IOR_OUT,
410 PJ8_IOR_IN, PJ8_IOR_OUT,
411 PJ7_IOR_IN, PJ7_IOR_OUT,
412 PJ6_IOR_IN, PJ6_IOR_OUT,
413 PJ5_IOR_IN, PJ5_IOR_OUT,
414 PJ4_IOR_IN, PJ4_IOR_OUT,
415 PJ3_IOR_IN, PJ3_IOR_OUT,
416 PJ2_IOR_IN, PJ2_IOR_OUT,
417 PJ1_IOR_IN, PJ1_IOR_OUT,
418 PJ0_IOR_IN, PJ0_IOR_OUT,
419
420 PJ11MD_00, PJ11MD_01, PJ11MD_10, PJ11MD_11,
421 PJ10MD_00, PJ10MD_01, PJ10MD_10, PJ10MD_11,
422 PJ9MD_00, PJ9MD_01, PJ9MD_10, PJ9MD_11,
423 PJ8MD_00, PJ8MD_01, PJ8MD_10, PJ8MD_11,
424 PJ7MD_00, PJ7MD_01, PJ7MD_10, PJ7MD_11,
425 PJ6MD_00, PJ6MD_01, PJ6MD_10, PJ6MD_11,
426 PJ5MD_00, PJ5MD_01, PJ5MD_10, PJ5MD_11,
427 PJ4MD_00, PJ4MD_01, PJ4MD_10, PJ4MD_11,
428 PJ3MD_00, PJ3MD_01, PJ3MD_10, PJ3MD_11,
429 PJ2MD_000, PJ2MD_001, PJ2MD_010, PJ2MD_011,
430 PJ2MD_100, PJ2MD_101, PJ2MD_110, PJ2MD_111,
431 PJ1MD_000, PJ1MD_001, PJ1MD_010, PJ1MD_011,
432 PJ1MD_100, PJ1MD_101, PJ1MD_110, PJ1MD_111,
433 PJ0MD_000, PJ0MD_001, PJ0MD_010, PJ0MD_011,
434 PJ0MD_100, PJ0MD_101, PJ0MD_110, PJ0MD_111,
435
436
437 PK11_IOR_IN, PK11_IOR_OUT,
438 PK10_IOR_IN, PK10_IOR_OUT,
439 PK9_IOR_IN, PK9_IOR_OUT,
440 PK8_IOR_IN, PK8_IOR_OUT,
441 PK7_IOR_IN, PK7_IOR_OUT,
442 PK6_IOR_IN, PK6_IOR_OUT,
443 PK5_IOR_IN, PK5_IOR_OUT,
444 PK4_IOR_IN, PK4_IOR_OUT,
445 PK3_IOR_IN, PK3_IOR_OUT,
446 PK2_IOR_IN, PK2_IOR_OUT,
447 PK1_IOR_IN, PK1_IOR_OUT,
448 PK0_IOR_IN, PK0_IOR_OUT,
449
450 PK11MD_00, PK11MD_01, PK11MD_10, PK11MD_11,
451 PK10MD_00, PK10MD_01, PK10MD_10, PK10MD_11,
452 PK9MD_00, PK9MD_01, PK9MD_10, PK9MD_11,
453 PK8MD_00, PK8MD_01, PK8MD_10, PK8MD_11,
454 PK7MD_00, PK7MD_01, PK7MD_10, PK7MD_11,
455 PK6MD_00, PK6MD_01, PK6MD_10, PK6MD_11,
456 PK5MD_00, PK5MD_01, PK5MD_10, PK5MD_11,
457 PK4MD_00, PK4MD_01, PK4MD_10, PK4MD_11,
458 PK3MD_00, PK3MD_01, PK3MD_10, PK3MD_11,
459 PK2MD_00, PK2MD_01, PK2MD_10, PK2MD_11,
460 PK1MD_00, PK1MD_01, PK1MD_10, PK1MD_11,
461 PK0MD_00, PK0MD_01, PK0MD_10, PK0MD_11,
462 PINMUX_FUNCTION_END,
463
464 PINMUX_MARK_BEGIN,
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480 PHAN7_MARK, PHAN6_MARK, PHAN5_MARK, PHAN4_MARK,
481 PHAN3_MARK, PHAN2_MARK, PHAN1_MARK, PHAN0_MARK,
482
483
484
485
486
487
488
489 IRQ7_PC_MARK, IRQ6_PC_MARK, IRQ5_PC_MARK, IRQ4_PC_MARK,
490 IRQ3_PG_MARK, IRQ2_PG_MARK, IRQ1_PJ_MARK, IRQ0_PJ_MARK,
491 IRQ3_PE_MARK, IRQ2_PE_MARK, IRQ1_PE_MARK, IRQ0_PE_MARK,
492
493 PINT7_PG_MARK, PINT6_PG_MARK, PINT5_PG_MARK, PINT4_PG_MARK,
494 PINT3_PG_MARK, PINT2_PG_MARK, PINT1_PG_MARK, PINT0_PG_MARK,
495
496 SD_CD_MARK, SD_D0_MARK, SD_D1_MARK, SD_D2_MARK, SD_D3_MARK,
497 SD_WP_MARK, SD_CLK_MARK, SD_CMD_MARK,
498 CRX0_MARK, CRX1_MARK,
499 CTX0_MARK, CTX1_MARK,
500
501 PWM1A_MARK, PWM1B_MARK, PWM1C_MARK, PWM1D_MARK,
502 PWM1E_MARK, PWM1F_MARK, PWM1G_MARK, PWM1H_MARK,
503 PWM2A_MARK, PWM2B_MARK, PWM2C_MARK, PWM2D_MARK,
504 PWM2E_MARK, PWM2F_MARK, PWM2G_MARK, PWM2H_MARK,
505 IERXD_MARK, IETXD_MARK,
506 CRX0_CRX1_MARK,
507 WDTOVF_MARK,
508
509 CRX0X1_MARK,
510
511
512 TEND0_MARK, DACK0_MARK, DREQ0_MARK,
513 TEND1_MARK, DACK1_MARK, DREQ1_MARK,
514
515
516 ADTRG_MARK,
517
518
519 A25_MARK, A24_MARK,
520 A23_MARK, A22_MARK, A21_MARK, A20_MARK,
521 A19_MARK, A18_MARK, A17_MARK, A16_MARK,
522 A15_MARK, A14_MARK, A13_MARK, A12_MARK,
523 A11_MARK, A10_MARK, A9_MARK, A8_MARK,
524 A7_MARK, A6_MARK, A5_MARK, A4_MARK,
525 A3_MARK, A2_MARK, A1_MARK, A0_MARK,
526 D15_MARK, D14_MARK, D13_MARK, D12_MARK,
527 D11_MARK, D10_MARK, D9_MARK, D8_MARK,
528 D7_MARK, D6_MARK, D5_MARK, D4_MARK,
529 D3_MARK, D2_MARK, D1_MARK, D0_MARK,
530 BS_MARK,
531 CS4_MARK, CS3_MARK, CS2_MARK, CS1_MARK, CS0_MARK,
532 CS6CE1B_MARK, CS5CE1A_MARK,
533 CE2A_MARK, CE2B_MARK,
534 RD_MARK, RDWR_MARK,
535 ICIOWRAH_MARK,
536 ICIORD_MARK,
537 WE1DQMUWE_MARK,
538 WE0DQML_MARK,
539 RAS_MARK, CAS_MARK, CKE_MARK,
540 WAIT_MARK, BREQ_MARK, BACK_MARK, IOIS16_MARK,
541
542
543 TIOC0A_MARK, TIOC0B_MARK, TIOC0C_MARK, TIOC0D_MARK,
544 TIOC1A_MARK, TIOC1B_MARK,
545 TIOC2A_MARK, TIOC2B_MARK,
546 TIOC3A_MARK, TIOC3B_MARK, TIOC3C_MARK, TIOC3D_MARK,
547 TIOC4A_MARK, TIOC4B_MARK, TIOC4C_MARK, TIOC4D_MARK,
548 TCLKA_MARK, TCLKB_MARK, TCLKC_MARK, TCLKD_MARK,
549
550
551 SCK0_MARK, SCK1_MARK, SCK2_MARK, SCK3_MARK,
552 RXD0_MARK, RXD1_MARK, RXD2_MARK, RXD3_MARK,
553 TXD0_MARK, TXD1_MARK, TXD2_MARK, TXD3_MARK,
554 RXD4_MARK, RXD5_MARK, RXD6_MARK, RXD7_MARK,
555 TXD4_MARK, TXD5_MARK, TXD6_MARK, TXD7_MARK,
556 RTS1_MARK, RTS3_MARK,
557 CTS1_MARK, CTS3_MARK,
558
559
560 RSPCK0_MARK, RSPCK1_MARK,
561 MOSI0_MARK, MOSI1_MARK,
562 MISO0_PF12_MARK, MISO1_MARK, MISO1_PG19_MARK,
563 SSL00_MARK, SSL10_MARK,
564
565
566 SCL0_MARK, SCL1_MARK, SCL2_MARK,
567 SDA0_MARK, SDA1_MARK, SDA2_MARK,
568
569
570 SSISCK0_MARK,
571 SSIWS0_MARK,
572 SSITXD0_MARK,
573 SSIRXD0_MARK,
574 SSIWS1_MARK, SSIWS2_MARK, SSIWS3_MARK,
575 SSISCK1_MARK, SSISCK2_MARK, SSISCK3_MARK,
576 SSIDATA1_MARK, SSIDATA2_MARK, SSIDATA3_MARK,
577 AUDIO_CLK_MARK,
578
579
580 SIOFTXD_MARK, SIOFRXD_MARK, SIOFSYNC_MARK, SIOFSCK_MARK,
581
582
583 SPDIF_IN_MARK, SPDIF_OUT_MARK,
584
585
586 FCE_MARK,
587 FRB_MARK,
588
589
590 DV_CLK_MARK,
591 DV_VSYNC_MARK, DV_HSYNC_MARK,
592 DV_DATA7_MARK, DV_DATA6_MARK, DV_DATA5_MARK, DV_DATA4_MARK,
593 DV_DATA3_MARK, DV_DATA2_MARK, DV_DATA1_MARK, DV_DATA0_MARK,
594 LCD_CLK_MARK, LCD_EXTCLK_MARK,
595 LCD_VSYNC_MARK, LCD_HSYNC_MARK, LCD_DE_MARK,
596 LCD_DATA15_MARK, LCD_DATA14_MARK, LCD_DATA13_MARK, LCD_DATA12_MARK,
597 LCD_DATA11_MARK, LCD_DATA10_MARK, LCD_DATA9_MARK, LCD_DATA8_MARK,
598 LCD_DATA7_MARK, LCD_DATA6_MARK, LCD_DATA5_MARK, LCD_DATA4_MARK,
599 LCD_DATA3_MARK, LCD_DATA2_MARK, LCD_DATA1_MARK, LCD_DATA0_MARK,
600 LCD_M_DISP_MARK,
601 PINMUX_MARK_END,
602};
603
604static const u16 pinmux_data[] = {
605
606 PINMUX_DATA(PA3_DATA, PA3_IN),
607 PINMUX_DATA(PA2_DATA, PA2_IN),
608 PINMUX_DATA(PA1_DATA, PA1_IN),
609 PINMUX_DATA(PA0_DATA, PA0_IN),
610
611
612 PINMUX_DATA(PB22_DATA, PB22MD_00, PB22_IN, PB22_OUT),
613 PINMUX_DATA(A22_MARK, PB22MD_01),
614 PINMUX_DATA(CS4_MARK, PB22MD_10),
615
616 PINMUX_DATA(PB21_DATA, PB21MD_0, PB21_IN, PB21_OUT),
617 PINMUX_DATA(A21_MARK, PB21MD_1),
618 PINMUX_DATA(A20_MARK, PB20MD_1),
619 PINMUX_DATA(A19_MARK, PB19MD_01),
620 PINMUX_DATA(A18_MARK, PB18MD_01),
621 PINMUX_DATA(A17_MARK, PB17MD_01),
622 PINMUX_DATA(A16_MARK, PB16MD_01),
623 PINMUX_DATA(A15_MARK, PB15MD_01),
624 PINMUX_DATA(A14_MARK, PB14MD_01),
625 PINMUX_DATA(A13_MARK, PB13MD_01),
626 PINMUX_DATA(A12_MARK, PB12MD_01),
627 PINMUX_DATA(A11_MARK, PB11MD_01),
628 PINMUX_DATA(A10_MARK, PB10MD_01),
629 PINMUX_DATA(A9_MARK, PB9MD_01),
630 PINMUX_DATA(A8_MARK, PB8MD_01),
631 PINMUX_DATA(A7_MARK, PB7MD_01),
632 PINMUX_DATA(A6_MARK, PB6MD_01),
633 PINMUX_DATA(A5_MARK, PB5MD_01),
634 PINMUX_DATA(A4_MARK, PB4MD_01),
635 PINMUX_DATA(A3_MARK, PB3MD_1),
636 PINMUX_DATA(A2_MARK, PB2MD_1),
637 PINMUX_DATA(A1_MARK, PB1MD_1),
638
639
640 PINMUX_DATA(PC10_DATA, PC10MD_0),
641 PINMUX_DATA(TIOC2B_MARK, PC1MD_1),
642 PINMUX_DATA(PC9_DATA, PC9MD_0),
643 PINMUX_DATA(TIOC2A_MARK, PC9MD_1),
644 PINMUX_DATA(PC8_DATA, PC8MD_00),
645 PINMUX_DATA(CS3_MARK, PC8MD_01),
646 PINMUX_DATA(TIOC4D_MARK, PC8MD_10),
647 PINMUX_DATA(IRQ7_PC_MARK, PC8MD_11),
648 PINMUX_DATA(PC7_DATA, PC7MD_00),
649 PINMUX_DATA(CKE_MARK, PC7MD_01),
650 PINMUX_DATA(TIOC4C_MARK, PC7MD_10),
651 PINMUX_DATA(IRQ6_PC_MARK, PC7MD_11),
652 PINMUX_DATA(PC6_DATA, PC6MD_00),
653 PINMUX_DATA(CAS_MARK, PC6MD_01),
654 PINMUX_DATA(TIOC4B_MARK, PC6MD_10),
655 PINMUX_DATA(IRQ5_PC_MARK, PC6MD_11),
656 PINMUX_DATA(PC5_DATA, PC5MD_00),
657 PINMUX_DATA(RAS_MARK, PC5MD_01),
658 PINMUX_DATA(TIOC4A_MARK, PC5MD_10),
659 PINMUX_DATA(IRQ4_PC_MARK, PC5MD_11),
660 PINMUX_DATA(PC4_DATA, PC4MD_0),
661 PINMUX_DATA(WE1DQMUWE_MARK, PC4MD_1),
662 PINMUX_DATA(PC3_DATA, PC3MD_0),
663 PINMUX_DATA(WE0DQML_MARK, PC3MD_1),
664 PINMUX_DATA(PC2_DATA, PC2MD_0),
665 PINMUX_DATA(RDWR_MARK, PC2MD_1),
666 PINMUX_DATA(PC1_DATA, PC1MD_0),
667 PINMUX_DATA(RD_MARK, PC1MD_1),
668 PINMUX_DATA(PC0_DATA, PC0MD_0),
669 PINMUX_DATA(CS0_MARK, PC0MD_1),
670
671
672 PINMUX_DATA(D15_MARK, PD15MD_01),
673 PINMUX_DATA(D14_MARK, PD14MD_01),
674 PINMUX_DATA(D13_MARK, PD13MD_01),
675 PINMUX_DATA(D12_MARK, PD12MD_01),
676 PINMUX_DATA(D11_MARK, PD11MD_01),
677 PINMUX_DATA(D10_MARK, PD10MD_01),
678 PINMUX_DATA(D9_MARK, PD9MD_01),
679 PINMUX_DATA(D8_MARK, PD8MD_01),
680 PINMUX_DATA(D7_MARK, PD7MD_01),
681 PINMUX_DATA(D6_MARK, PD6MD_01),
682 PINMUX_DATA(D5_MARK, PD5MD_01),
683 PINMUX_DATA(D4_MARK, PD4MD_01),
684 PINMUX_DATA(D3_MARK, PD3MD_01),
685 PINMUX_DATA(D2_MARK, PD2MD_01),
686 PINMUX_DATA(D1_MARK, PD1MD_01),
687 PINMUX_DATA(D0_MARK, PD0MD_01),
688
689
690 PINMUX_DATA(PE5_DATA, PE5MD_00),
691 PINMUX_DATA(SDA2_MARK, PE5MD_01),
692 PINMUX_DATA(DV_HSYNC_MARK, PE5MD_11),
693
694 PINMUX_DATA(PE4_DATA, PE4MD_00),
695 PINMUX_DATA(SCL2_MARK, PE4MD_01),
696 PINMUX_DATA(DV_VSYNC_MARK, PE4MD_11),
697
698 PINMUX_DATA(PE3_DATA, PE3MD_00),
699 PINMUX_DATA(SDA1_MARK, PE3MD_01),
700 PINMUX_DATA(IRQ3_PE_MARK, PE3MD_11),
701
702 PINMUX_DATA(PE2_DATA, PE2MD_00),
703 PINMUX_DATA(SCL1_MARK, PE2MD_01),
704 PINMUX_DATA(IRQ2_PE_MARK, PE2MD_11),
705
706 PINMUX_DATA(PE1_DATA, PE1MD_000),
707 PINMUX_DATA(SDA0_MARK, PE1MD_001),
708 PINMUX_DATA(IOIS16_MARK, PE1MD_010),
709 PINMUX_DATA(IRQ1_PE_MARK, PE1MD_011),
710 PINMUX_DATA(TCLKA_MARK, PE1MD_100),
711 PINMUX_DATA(ADTRG_MARK, PE1MD_101),
712
713 PINMUX_DATA(PE0_DATA, PE0MD_00),
714 PINMUX_DATA(SCL0_MARK, PE0MD_01),
715 PINMUX_DATA(AUDIO_CLK_MARK, PE0MD_10),
716 PINMUX_DATA(IRQ0_PE_MARK, PE0MD_11),
717
718
719 PINMUX_DATA(PF12_DATA, PF12MD_000),
720 PINMUX_DATA(BS_MARK, PF12MD_001),
721 PINMUX_DATA(MISO0_PF12_MARK, PF12MD_011),
722 PINMUX_DATA(TIOC3D_MARK, PF12MD_100),
723 PINMUX_DATA(SPDIF_OUT_MARK, PF12MD_101),
724
725 PINMUX_DATA(PF11_DATA, PF11MD_000),
726 PINMUX_DATA(A25_MARK, PF11MD_001),
727 PINMUX_DATA(SSIDATA3_MARK, PF11MD_010),
728 PINMUX_DATA(MOSI0_MARK, PF11MD_011),
729 PINMUX_DATA(TIOC3C_MARK, PF11MD_100),
730 PINMUX_DATA(SPDIF_IN_MARK, PF11MD_101),
731
732 PINMUX_DATA(PF10_DATA, PF10MD_000),
733 PINMUX_DATA(A24_MARK, PF10MD_001),
734 PINMUX_DATA(SSIWS3_MARK, PF10MD_010),
735 PINMUX_DATA(SSL00_MARK, PF10MD_011),
736 PINMUX_DATA(TIOC3B_MARK, PF10MD_100),
737 PINMUX_DATA(FCE_MARK, PF10MD_101),
738
739 PINMUX_DATA(PF9_DATA, PF9MD_000),
740 PINMUX_DATA(A23_MARK, PF9MD_001),
741 PINMUX_DATA(SSISCK3_MARK, PF9MD_010),
742 PINMUX_DATA(RSPCK0_MARK, PF9MD_011),
743 PINMUX_DATA(TIOC3A_MARK, PF9MD_100),
744 PINMUX_DATA(FRB_MARK, PF9MD_101),
745
746 PINMUX_DATA(PF8_DATA, PF8MD_00),
747 PINMUX_DATA(CE2B_MARK, PF8MD_01),
748 PINMUX_DATA(SSIDATA3_MARK, PF8MD_10),
749 PINMUX_DATA(DV_CLK_MARK, PF8MD_11),
750
751 PINMUX_DATA(PF7_DATA, PF7MD_000),
752 PINMUX_DATA(CE2A_MARK, PF7MD_001),
753 PINMUX_DATA(SSIWS3_MARK, PF7MD_010),
754 PINMUX_DATA(DV_DATA7_MARK, PF7MD_011),
755 PINMUX_DATA(TCLKD_MARK, PF7MD_100),
756
757 PINMUX_DATA(PF6_DATA, PF6MD_000),
758 PINMUX_DATA(CS6CE1B_MARK, PF6MD_001),
759 PINMUX_DATA(SSISCK3_MARK, PF6MD_010),
760 PINMUX_DATA(DV_DATA6_MARK, PF6MD_011),
761 PINMUX_DATA(TCLKB_MARK, PF6MD_100),
762
763 PINMUX_DATA(PF5_DATA, PF5MD_000),
764 PINMUX_DATA(CS5CE1A_MARK, PF5MD_001),
765 PINMUX_DATA(SSIDATA2_MARK, PF5MD_010),
766 PINMUX_DATA(DV_DATA5_MARK, PF5MD_011),
767 PINMUX_DATA(TCLKC_MARK, PF5MD_100),
768
769 PINMUX_DATA(PF4_DATA, PF4MD_000),
770 PINMUX_DATA(ICIOWRAH_MARK, PF4MD_001),
771 PINMUX_DATA(SSIWS2_MARK, PF4MD_010),
772 PINMUX_DATA(DV_DATA4_MARK, PF4MD_011),
773 PINMUX_DATA(TXD3_MARK, PF4MD_100),
774
775 PINMUX_DATA(PF3_DATA, PF3MD_000),
776 PINMUX_DATA(ICIORD_MARK, PF3MD_001),
777 PINMUX_DATA(SSISCK2_MARK, PF3MD_010),
778 PINMUX_DATA(DV_DATA3_MARK, PF3MD_011),
779 PINMUX_DATA(RXD3_MARK, PF3MD_100),
780
781 PINMUX_DATA(PF2_DATA, PF2MD_000),
782 PINMUX_DATA(BACK_MARK, PF2MD_001),
783 PINMUX_DATA(SSIDATA1_MARK, PF2MD_010),
784 PINMUX_DATA(DV_DATA2_MARK, PF2MD_011),
785 PINMUX_DATA(TXD2_MARK, PF2MD_100),
786 PINMUX_DATA(DACK0_MARK, PF2MD_101),
787
788 PINMUX_DATA(PF1_DATA, PF1MD_000),
789 PINMUX_DATA(BREQ_MARK, PF1MD_001),
790 PINMUX_DATA(SSIWS1_MARK, PF1MD_010),
791 PINMUX_DATA(DV_DATA1_MARK, PF1MD_011),
792 PINMUX_DATA(RXD2_MARK, PF1MD_100),
793 PINMUX_DATA(DREQ0_MARK, PF1MD_101),
794
795 PINMUX_DATA(PF0_DATA, PF0MD_000),
796 PINMUX_DATA(WAIT_MARK, PF0MD_001),
797 PINMUX_DATA(SSISCK1_MARK, PF0MD_010),
798 PINMUX_DATA(DV_DATA0_MARK, PF0MD_011),
799 PINMUX_DATA(SCK2_MARK, PF0MD_100),
800 PINMUX_DATA(TEND0_MARK, PF0MD_101),
801
802
803 PINMUX_DATA(PG24_DATA, PG24MD_00),
804 PINMUX_DATA(MOSI0_MARK, PG24MD_01),
805 PINMUX_DATA(TIOC0D_MARK, PG24MD_10),
806
807 PINMUX_DATA(PG23_DATA, PG23MD_00),
808 PINMUX_DATA(MOSI1_MARK, PG23MD_01),
809 PINMUX_DATA(TIOC0C_MARK, PG23MD_10),
810
811 PINMUX_DATA(PG22_DATA, PG22MD_00),
812 PINMUX_DATA(SSL10_MARK, PG22MD_01),
813 PINMUX_DATA(TIOC0B_MARK, PG22MD_10),
814
815 PINMUX_DATA(PG21_DATA, PG21MD_00),
816 PINMUX_DATA(RSPCK1_MARK, PG21MD_01),
817 PINMUX_DATA(TIOC0A_MARK, PG21MD_10),
818
819 PINMUX_DATA(PG20_DATA, PG20MD_000),
820 PINMUX_DATA(LCD_EXTCLK_MARK, PG20MD_001),
821 PINMUX_DATA(MISO1_MARK, PG20MD_011),
822 PINMUX_DATA(TXD7_MARK, PG20MD_100),
823
824 PINMUX_DATA(PG19_DATA, PG19MD_000),
825 PINMUX_DATA(LCD_CLK_MARK, PG19MD_001),
826 PINMUX_DATA(TIOC2B_MARK, PG19MD_010),
827 PINMUX_DATA(MISO1_PG19_MARK, PG19MD_011),
828 PINMUX_DATA(RXD7_MARK, PG19MD_100),
829
830 PINMUX_DATA(PG18_DATA, PG18MD_000),
831 PINMUX_DATA(LCD_DE_MARK, PG18MD_001),
832 PINMUX_DATA(TIOC2A_MARK, PG18MD_010),
833 PINMUX_DATA(SSL10_MARK, PG18MD_011),
834 PINMUX_DATA(TXD6_MARK, PG18MD_100),
835
836 PINMUX_DATA(PG17_DATA, PG17MD_000),
837 PINMUX_DATA(LCD_HSYNC_MARK, PG17MD_001),
838 PINMUX_DATA(TIOC1B_MARK, PG17MD_010),
839 PINMUX_DATA(RSPCK1_MARK, PG17MD_011),
840 PINMUX_DATA(RXD6_MARK, PG17MD_100),
841
842 PINMUX_DATA(PG16_DATA, PG16MD_000),
843 PINMUX_DATA(LCD_VSYNC_MARK, PG16MD_001),
844 PINMUX_DATA(TIOC1A_MARK, PG16MD_010),
845 PINMUX_DATA(TXD3_MARK, PG16MD_011),
846 PINMUX_DATA(CTS1_MARK, PG16MD_100),
847
848 PINMUX_DATA(PG15_DATA, PG15MD_000),
849 PINMUX_DATA(LCD_DATA15_MARK, PG15MD_001),
850 PINMUX_DATA(TIOC0D_MARK, PG15MD_010),
851 PINMUX_DATA(RXD3_MARK, PG15MD_011),
852 PINMUX_DATA(RTS1_MARK, PG15MD_100),
853
854 PINMUX_DATA(PG14_DATA, PG14MD_000),
855 PINMUX_DATA(LCD_DATA14_MARK, PG14MD_001),
856 PINMUX_DATA(TIOC0C_MARK, PG14MD_010),
857 PINMUX_DATA(SCK1_MARK, PG14MD_100),
858
859 PINMUX_DATA(PG13_DATA, PG13MD_000),
860 PINMUX_DATA(LCD_DATA13_MARK, PG13MD_001),
861 PINMUX_DATA(TIOC0B_MARK, PG13MD_010),
862 PINMUX_DATA(TXD1_MARK, PG13MD_100),
863
864 PINMUX_DATA(PG12_DATA, PG12MD_000),
865 PINMUX_DATA(LCD_DATA12_MARK, PG12MD_001),
866 PINMUX_DATA(TIOC0A_MARK, PG12MD_010),
867 PINMUX_DATA(RXD1_MARK, PG12MD_100),
868
869 PINMUX_DATA(PG11_DATA, PG11MD_000),
870 PINMUX_DATA(LCD_DATA11_MARK, PG11MD_001),
871 PINMUX_DATA(SSITXD0_MARK, PG11MD_010),
872 PINMUX_DATA(IRQ3_PG_MARK, PG11MD_011),
873 PINMUX_DATA(TXD5_MARK, PG11MD_100),
874 PINMUX_DATA(SIOFTXD_MARK, PG11MD_101),
875
876 PINMUX_DATA(PG10_DATA, PG10MD_000),
877 PINMUX_DATA(LCD_DATA10_MARK, PG10MD_001),
878 PINMUX_DATA(SSIRXD0_MARK, PG10MD_010),
879 PINMUX_DATA(IRQ2_PG_MARK, PG10MD_011),
880 PINMUX_DATA(RXD5_MARK, PG10MD_100),
881 PINMUX_DATA(SIOFRXD_MARK, PG10MD_101),
882
883 PINMUX_DATA(PG9_DATA, PG9MD_000),
884 PINMUX_DATA(LCD_DATA9_MARK, PG9MD_001),
885 PINMUX_DATA(SSIWS0_MARK, PG9MD_010),
886 PINMUX_DATA(TXD4_MARK, PG9MD_100),
887 PINMUX_DATA(SIOFSYNC_MARK, PG9MD_101),
888
889 PINMUX_DATA(PG8_DATA, PG8MD_000),
890 PINMUX_DATA(LCD_DATA8_MARK, PG8MD_001),
891 PINMUX_DATA(SSISCK0_MARK, PG8MD_010),
892 PINMUX_DATA(RXD4_MARK, PG8MD_100),
893 PINMUX_DATA(SIOFSCK_MARK, PG8MD_101),
894
895 PINMUX_DATA(PG7_DATA, PG7MD_00),
896 PINMUX_DATA(LCD_DATA7_MARK, PG7MD_01),
897 PINMUX_DATA(SD_CD_MARK, PG7MD_10),
898 PINMUX_DATA(PINT7_PG_MARK, PG7MD_11),
899
900 PINMUX_DATA(PG6_DATA, PG7MD_00),
901 PINMUX_DATA(LCD_DATA6_MARK, PG7MD_01),
902 PINMUX_DATA(SD_WP_MARK, PG7MD_10),
903 PINMUX_DATA(PINT6_PG_MARK, PG7MD_11),
904
905 PINMUX_DATA(PG5_DATA, PG5MD_00),
906 PINMUX_DATA(LCD_DATA5_MARK, PG5MD_01),
907 PINMUX_DATA(SD_D1_MARK, PG5MD_10),
908 PINMUX_DATA(PINT5_PG_MARK, PG5MD_11),
909
910 PINMUX_DATA(PG4_DATA, PG4MD_00),
911 PINMUX_DATA(LCD_DATA4_MARK, PG4MD_01),
912 PINMUX_DATA(SD_D0_MARK, PG4MD_10),
913 PINMUX_DATA(PINT4_PG_MARK, PG4MD_11),
914
915 PINMUX_DATA(PG3_DATA, PG3MD_00),
916 PINMUX_DATA(LCD_DATA3_MARK, PG3MD_01),
917 PINMUX_DATA(SD_CLK_MARK, PG3MD_10),
918 PINMUX_DATA(PINT3_PG_MARK, PG3MD_11),
919
920 PINMUX_DATA(PG2_DATA, PG2MD_00),
921 PINMUX_DATA(LCD_DATA2_MARK, PG2MD_01),
922 PINMUX_DATA(SD_CMD_MARK, PG2MD_10),
923 PINMUX_DATA(PINT2_PG_MARK, PG2MD_11),
924
925 PINMUX_DATA(PG1_DATA, PG1MD_00),
926 PINMUX_DATA(LCD_DATA1_MARK, PG1MD_01),
927 PINMUX_DATA(SD_D3_MARK, PG1MD_10),
928 PINMUX_DATA(PINT1_PG_MARK, PG1MD_11),
929
930 PINMUX_DATA(PG0_DATA, PG0MD_000),
931 PINMUX_DATA(LCD_DATA0_MARK, PG0MD_001),
932 PINMUX_DATA(SD_D2_MARK, PG0MD_010),
933 PINMUX_DATA(PINT0_PG_MARK, PG0MD_011),
934 PINMUX_DATA(WDTOVF_MARK, PG0MD_100),
935
936
937 PINMUX_DATA(PH7_DATA, PH7MD_0),
938 PINMUX_DATA(PHAN7_MARK, PH7MD_1),
939
940 PINMUX_DATA(PH6_DATA, PH6MD_0),
941 PINMUX_DATA(PHAN6_MARK, PH6MD_1),
942
943 PINMUX_DATA(PH5_DATA, PH5MD_0),
944 PINMUX_DATA(PHAN5_MARK, PH5MD_1),
945
946 PINMUX_DATA(PH4_DATA, PH4MD_0),
947 PINMUX_DATA(PHAN4_MARK, PH4MD_1),
948
949 PINMUX_DATA(PH3_DATA, PH3MD_0),
950 PINMUX_DATA(PHAN3_MARK, PH3MD_1),
951
952 PINMUX_DATA(PH2_DATA, PH2MD_0),
953 PINMUX_DATA(PHAN2_MARK, PH2MD_1),
954
955 PINMUX_DATA(PH1_DATA, PH1MD_0),
956 PINMUX_DATA(PHAN1_MARK, PH1MD_1),
957
958 PINMUX_DATA(PH0_DATA, PH0MD_0),
959 PINMUX_DATA(PHAN0_MARK, PH0MD_1),
960
961
962
963
964 PINMUX_DATA(PJ11_DATA, PJ11MD_00),
965 PINMUX_DATA(PWM2H_MARK, PJ11MD_01),
966 PINMUX_DATA(DACK1_MARK, PJ11MD_10),
967
968 PINMUX_DATA(PJ10_DATA, PJ10MD_00),
969 PINMUX_DATA(PWM2G_MARK, PJ10MD_01),
970 PINMUX_DATA(DREQ1_MARK, PJ10MD_10),
971
972 PINMUX_DATA(PJ9_DATA, PJ9MD_00),
973 PINMUX_DATA(PWM2F_MARK, PJ9MD_01),
974 PINMUX_DATA(TEND1_MARK, PJ9MD_10),
975
976 PINMUX_DATA(PJ8_DATA, PJ8MD_00),
977 PINMUX_DATA(PWM2E_MARK, PJ8MD_01),
978 PINMUX_DATA(RTS3_MARK, PJ8MD_10),
979
980 PINMUX_DATA(PJ7_DATA, PJ7MD_00),
981 PINMUX_DATA(TIOC1B_MARK, PJ7MD_01),
982 PINMUX_DATA(CTS3_MARK, PJ7MD_10),
983
984 PINMUX_DATA(PJ6_DATA, PJ6MD_00),
985 PINMUX_DATA(TIOC1A_MARK, PJ6MD_01),
986 PINMUX_DATA(SCK3_MARK, PJ6MD_10),
987
988 PINMUX_DATA(PJ5_DATA, PJ5MD_00),
989 PINMUX_DATA(IERXD_MARK, PJ5MD_01),
990 PINMUX_DATA(TXD3_MARK, PJ5MD_10),
991
992 PINMUX_DATA(PJ4_DATA, PJ4MD_00),
993 PINMUX_DATA(IETXD_MARK, PJ4MD_01),
994 PINMUX_DATA(RXD3_MARK, PJ4MD_10),
995
996 PINMUX_DATA(PJ3_DATA, PJ3MD_00),
997 PINMUX_DATA(CRX1_MARK, PJ3MD_01),
998 PINMUX_DATA(CRX0X1_MARK, PJ3MD_10),
999 PINMUX_DATA(IRQ1_PJ_MARK, PJ3MD_11),
1000
1001 PINMUX_DATA(PJ2_DATA, PJ2MD_000),
1002 PINMUX_DATA(CTX1_MARK, PJ2MD_001),
1003 PINMUX_DATA(CRX0_CRX1_MARK, PJ2MD_010),
1004 PINMUX_DATA(CS2_MARK, PJ2MD_011),
1005 PINMUX_DATA(SCK0_MARK, PJ2MD_100),
1006 PINMUX_DATA(LCD_M_DISP_MARK, PJ2MD_101),
1007
1008 PINMUX_DATA(PJ1_DATA, PJ1MD_000),
1009 PINMUX_DATA(CRX0_MARK, PJ1MD_001),
1010 PINMUX_DATA(IERXD_MARK, PJ1MD_010),
1011 PINMUX_DATA(IRQ0_PJ_MARK, PJ1MD_011),
1012 PINMUX_DATA(RXD0_MARK, PJ1MD_100),
1013
1014 PINMUX_DATA(PJ0_DATA, PJ0MD_000),
1015 PINMUX_DATA(CTX0_MARK, PJ0MD_001),
1016 PINMUX_DATA(IERXD_MARK, PJ0MD_010),
1017 PINMUX_DATA(CS1_MARK, PJ0MD_011),
1018 PINMUX_DATA(TXD0_MARK, PJ0MD_100),
1019 PINMUX_DATA(A0_MARK, PJ0MD_101),
1020
1021
1022 PINMUX_DATA(PK11_DATA, PK11MD_00),
1023 PINMUX_DATA(PWM2D_MARK, PK11MD_01),
1024 PINMUX_DATA(SSITXD0_MARK, PK11MD_10),
1025
1026 PINMUX_DATA(PK10_DATA, PK10MD_00),
1027 PINMUX_DATA(PWM2C_MARK, PK10MD_01),
1028 PINMUX_DATA(SSIRXD0_MARK, PK10MD_10),
1029
1030 PINMUX_DATA(PK9_DATA, PK9MD_00),
1031 PINMUX_DATA(PWM2B_MARK, PK9MD_01),
1032 PINMUX_DATA(SSIWS0_MARK, PK9MD_10),
1033
1034 PINMUX_DATA(PK8_DATA, PK8MD_00),
1035 PINMUX_DATA(PWM2A_MARK, PK8MD_01),
1036 PINMUX_DATA(SSISCK0_MARK, PK8MD_10),
1037
1038 PINMUX_DATA(PK7_DATA, PK7MD_00),
1039 PINMUX_DATA(PWM1H_MARK, PK7MD_01),
1040 PINMUX_DATA(SD_CD_MARK, PK7MD_10),
1041
1042 PINMUX_DATA(PK6_DATA, PK6MD_00),
1043 PINMUX_DATA(PWM1G_MARK, PK6MD_01),
1044 PINMUX_DATA(SD_WP_MARK, PK6MD_10),
1045
1046 PINMUX_DATA(PK5_DATA, PK5MD_00),
1047 PINMUX_DATA(PWM1F_MARK, PK5MD_01),
1048 PINMUX_DATA(SD_D1_MARK, PK5MD_10),
1049
1050 PINMUX_DATA(PK4_DATA, PK4MD_00),
1051 PINMUX_DATA(PWM1E_MARK, PK4MD_01),
1052 PINMUX_DATA(SD_D0_MARK, PK4MD_10),
1053
1054 PINMUX_DATA(PK3_DATA, PK3MD_00),
1055 PINMUX_DATA(PWM1D_MARK, PK3MD_01),
1056 PINMUX_DATA(SD_CLK_MARK, PK3MD_10),
1057
1058 PINMUX_DATA(PK2_DATA, PK2MD_00),
1059 PINMUX_DATA(PWM1C_MARK, PK2MD_01),
1060 PINMUX_DATA(SD_CMD_MARK, PK2MD_10),
1061
1062 PINMUX_DATA(PK1_DATA, PK1MD_00),
1063 PINMUX_DATA(PWM1B_MARK, PK1MD_01),
1064 PINMUX_DATA(SD_D3_MARK, PK1MD_10),
1065
1066 PINMUX_DATA(PK0_DATA, PK0MD_00),
1067 PINMUX_DATA(PWM1A_MARK, PK0MD_01),
1068 PINMUX_DATA(SD_D2_MARK, PK0MD_10),
1069};
1070
1071static const struct sh_pfc_pin pinmux_pins[] = {
1072
1073 PINMUX_GPIO(PA3),
1074 PINMUX_GPIO(PA2),
1075 PINMUX_GPIO(PA1),
1076 PINMUX_GPIO(PA0),
1077
1078
1079 PINMUX_GPIO(PB22),
1080 PINMUX_GPIO(PB21),
1081 PINMUX_GPIO(PB20),
1082 PINMUX_GPIO(PB19),
1083 PINMUX_GPIO(PB18),
1084 PINMUX_GPIO(PB17),
1085 PINMUX_GPIO(PB16),
1086 PINMUX_GPIO(PB15),
1087 PINMUX_GPIO(PB14),
1088 PINMUX_GPIO(PB13),
1089 PINMUX_GPIO(PB12),
1090 PINMUX_GPIO(PB11),
1091 PINMUX_GPIO(PB10),
1092 PINMUX_GPIO(PB9),
1093 PINMUX_GPIO(PB8),
1094 PINMUX_GPIO(PB7),
1095 PINMUX_GPIO(PB6),
1096 PINMUX_GPIO(PB5),
1097 PINMUX_GPIO(PB4),
1098 PINMUX_GPIO(PB3),
1099 PINMUX_GPIO(PB2),
1100 PINMUX_GPIO(PB1),
1101
1102
1103 PINMUX_GPIO(PC10),
1104 PINMUX_GPIO(PC9),
1105 PINMUX_GPIO(PC8),
1106 PINMUX_GPIO(PC7),
1107 PINMUX_GPIO(PC6),
1108 PINMUX_GPIO(PC5),
1109 PINMUX_GPIO(PC4),
1110 PINMUX_GPIO(PC3),
1111 PINMUX_GPIO(PC2),
1112 PINMUX_GPIO(PC1),
1113 PINMUX_GPIO(PC0),
1114
1115
1116 PINMUX_GPIO(PD15),
1117 PINMUX_GPIO(PD14),
1118 PINMUX_GPIO(PD13),
1119 PINMUX_GPIO(PD12),
1120 PINMUX_GPIO(PD11),
1121 PINMUX_GPIO(PD10),
1122 PINMUX_GPIO(PD9),
1123 PINMUX_GPIO(PD8),
1124 PINMUX_GPIO(PD7),
1125 PINMUX_GPIO(PD6),
1126 PINMUX_GPIO(PD5),
1127 PINMUX_GPIO(PD4),
1128 PINMUX_GPIO(PD3),
1129 PINMUX_GPIO(PD2),
1130 PINMUX_GPIO(PD1),
1131 PINMUX_GPIO(PD0),
1132
1133
1134 PINMUX_GPIO(PE5),
1135 PINMUX_GPIO(PE4),
1136 PINMUX_GPIO(PE3),
1137 PINMUX_GPIO(PE2),
1138 PINMUX_GPIO(PE1),
1139 PINMUX_GPIO(PE0),
1140
1141
1142 PINMUX_GPIO(PF12),
1143 PINMUX_GPIO(PF11),
1144 PINMUX_GPIO(PF10),
1145 PINMUX_GPIO(PF9),
1146 PINMUX_GPIO(PF8),
1147 PINMUX_GPIO(PF7),
1148 PINMUX_GPIO(PF6),
1149 PINMUX_GPIO(PF5),
1150 PINMUX_GPIO(PF4),
1151 PINMUX_GPIO(PF3),
1152 PINMUX_GPIO(PF2),
1153 PINMUX_GPIO(PF1),
1154 PINMUX_GPIO(PF0),
1155
1156
1157 PINMUX_GPIO(PG24),
1158 PINMUX_GPIO(PG23),
1159 PINMUX_GPIO(PG22),
1160 PINMUX_GPIO(PG21),
1161 PINMUX_GPIO(PG20),
1162 PINMUX_GPIO(PG19),
1163 PINMUX_GPIO(PG18),
1164 PINMUX_GPIO(PG17),
1165 PINMUX_GPIO(PG16),
1166 PINMUX_GPIO(PG15),
1167 PINMUX_GPIO(PG14),
1168 PINMUX_GPIO(PG13),
1169 PINMUX_GPIO(PG12),
1170 PINMUX_GPIO(PG11),
1171 PINMUX_GPIO(PG10),
1172 PINMUX_GPIO(PG9),
1173 PINMUX_GPIO(PG8),
1174 PINMUX_GPIO(PG7),
1175 PINMUX_GPIO(PG6),
1176 PINMUX_GPIO(PG5),
1177 PINMUX_GPIO(PG4),
1178 PINMUX_GPIO(PG3),
1179 PINMUX_GPIO(PG2),
1180 PINMUX_GPIO(PG1),
1181 PINMUX_GPIO(PG0),
1182
1183
1184
1185
1186
1187
1188 PINMUX_GPIO(PJ11),
1189 PINMUX_GPIO(PJ10),
1190 PINMUX_GPIO(PJ9),
1191 PINMUX_GPIO(PJ8),
1192 PINMUX_GPIO(PJ7),
1193 PINMUX_GPIO(PJ6),
1194 PINMUX_GPIO(PJ5),
1195 PINMUX_GPIO(PJ4),
1196 PINMUX_GPIO(PJ3),
1197 PINMUX_GPIO(PJ2),
1198 PINMUX_GPIO(PJ1),
1199 PINMUX_GPIO(PJ0),
1200
1201
1202 PINMUX_GPIO(PK11),
1203 PINMUX_GPIO(PK10),
1204 PINMUX_GPIO(PK9),
1205 PINMUX_GPIO(PK8),
1206 PINMUX_GPIO(PK7),
1207 PINMUX_GPIO(PK6),
1208 PINMUX_GPIO(PK5),
1209 PINMUX_GPIO(PK4),
1210 PINMUX_GPIO(PK3),
1211 PINMUX_GPIO(PK2),
1212 PINMUX_GPIO(PK1),
1213 PINMUX_GPIO(PK0),
1214};
1215
1216#define PINMUX_FN_BASE ARRAY_SIZE(pinmux_pins)
1217
1218static const struct pinmux_func pinmux_func_gpios[] = {
1219
1220 GPIO_FN(PINT7_PG),
1221 GPIO_FN(PINT6_PG),
1222 GPIO_FN(PINT5_PG),
1223 GPIO_FN(PINT4_PG),
1224 GPIO_FN(PINT3_PG),
1225 GPIO_FN(PINT2_PG),
1226 GPIO_FN(PINT1_PG),
1227
1228 GPIO_FN(IRQ7_PC),
1229 GPIO_FN(IRQ6_PC),
1230 GPIO_FN(IRQ5_PC),
1231 GPIO_FN(IRQ4_PC),
1232 GPIO_FN(IRQ3_PG),
1233 GPIO_FN(IRQ2_PG),
1234 GPIO_FN(IRQ1_PJ),
1235 GPIO_FN(IRQ0_PJ),
1236 GPIO_FN(IRQ3_PE),
1237 GPIO_FN(IRQ2_PE),
1238 GPIO_FN(IRQ1_PE),
1239 GPIO_FN(IRQ0_PE),
1240
1241
1242 GPIO_FN(WDTOVF),
1243
1244
1245 GPIO_FN(CTX1),
1246 GPIO_FN(CRX1),
1247 GPIO_FN(CTX0),
1248 GPIO_FN(CRX0),
1249 GPIO_FN(CRX0_CRX1),
1250
1251
1252 GPIO_FN(TEND0),
1253 GPIO_FN(DACK0),
1254 GPIO_FN(DREQ0),
1255 GPIO_FN(TEND1),
1256 GPIO_FN(DACK1),
1257 GPIO_FN(DREQ1),
1258
1259
1260 GPIO_FN(ADTRG),
1261
1262
1263 GPIO_FN(A25),
1264 GPIO_FN(A24),
1265 GPIO_FN(A23),
1266 GPIO_FN(A22),
1267 GPIO_FN(A21),
1268 GPIO_FN(A20),
1269 GPIO_FN(A19),
1270 GPIO_FN(A18),
1271 GPIO_FN(A17),
1272 GPIO_FN(A16),
1273 GPIO_FN(A15),
1274 GPIO_FN(A14),
1275 GPIO_FN(A13),
1276 GPIO_FN(A12),
1277 GPIO_FN(A11),
1278 GPIO_FN(A10),
1279 GPIO_FN(A9),
1280 GPIO_FN(A8),
1281 GPIO_FN(A7),
1282 GPIO_FN(A6),
1283 GPIO_FN(A5),
1284 GPIO_FN(A4),
1285 GPIO_FN(A3),
1286 GPIO_FN(A2),
1287 GPIO_FN(A1),
1288 GPIO_FN(A0),
1289
1290 GPIO_FN(D15),
1291 GPIO_FN(D14),
1292 GPIO_FN(D13),
1293 GPIO_FN(D12),
1294 GPIO_FN(D11),
1295 GPIO_FN(D10),
1296 GPIO_FN(D9),
1297 GPIO_FN(D8),
1298 GPIO_FN(D7),
1299 GPIO_FN(D6),
1300 GPIO_FN(D5),
1301 GPIO_FN(D4),
1302 GPIO_FN(D3),
1303 GPIO_FN(D2),
1304 GPIO_FN(D1),
1305 GPIO_FN(D0),
1306
1307 GPIO_FN(BS),
1308 GPIO_FN(CS4),
1309 GPIO_FN(CS3),
1310 GPIO_FN(CS2),
1311 GPIO_FN(CS1),
1312 GPIO_FN(CS0),
1313 GPIO_FN(CS6CE1B),
1314 GPIO_FN(CS5CE1A),
1315 GPIO_FN(CE2A),
1316 GPIO_FN(CE2B),
1317 GPIO_FN(RD),
1318 GPIO_FN(RDWR),
1319 GPIO_FN(ICIOWRAH),
1320 GPIO_FN(ICIORD),
1321 GPIO_FN(WE1DQMUWE),
1322 GPIO_FN(WE0DQML),
1323 GPIO_FN(RAS),
1324 GPIO_FN(CAS),
1325 GPIO_FN(CKE),
1326 GPIO_FN(WAIT),
1327 GPIO_FN(BREQ),
1328 GPIO_FN(BACK),
1329 GPIO_FN(IOIS16),
1330
1331
1332 GPIO_FN(TIOC4D),
1333 GPIO_FN(TIOC4C),
1334 GPIO_FN(TIOC4B),
1335 GPIO_FN(TIOC4A),
1336 GPIO_FN(TIOC3D),
1337 GPIO_FN(TIOC3C),
1338 GPIO_FN(TIOC3B),
1339 GPIO_FN(TIOC3A),
1340 GPIO_FN(TIOC2B),
1341 GPIO_FN(TIOC1B),
1342 GPIO_FN(TIOC2A),
1343 GPIO_FN(TIOC1A),
1344 GPIO_FN(TIOC0D),
1345 GPIO_FN(TIOC0C),
1346 GPIO_FN(TIOC0B),
1347 GPIO_FN(TIOC0A),
1348 GPIO_FN(TCLKD),
1349 GPIO_FN(TCLKC),
1350 GPIO_FN(TCLKB),
1351 GPIO_FN(TCLKA),
1352
1353
1354 GPIO_FN(TXD0),
1355 GPIO_FN(RXD0),
1356 GPIO_FN(SCK0),
1357 GPIO_FN(TXD1),
1358 GPIO_FN(RXD1),
1359 GPIO_FN(SCK1),
1360 GPIO_FN(TXD2),
1361 GPIO_FN(RXD2),
1362 GPIO_FN(SCK2),
1363 GPIO_FN(RTS3),
1364 GPIO_FN(CTS3),
1365 GPIO_FN(TXD3),
1366 GPIO_FN(RXD3),
1367 GPIO_FN(SCK3),
1368 GPIO_FN(TXD4),
1369 GPIO_FN(RXD4),
1370 GPIO_FN(TXD5),
1371 GPIO_FN(RXD5),
1372 GPIO_FN(TXD6),
1373 GPIO_FN(RXD6),
1374 GPIO_FN(TXD7),
1375 GPIO_FN(RXD7),
1376 GPIO_FN(RTS1),
1377 GPIO_FN(CTS1),
1378
1379
1380 GPIO_FN(RSPCK0),
1381 GPIO_FN(MOSI0),
1382 GPIO_FN(MISO0_PF12),
1383 GPIO_FN(MISO1),
1384 GPIO_FN(SSL00),
1385 GPIO_FN(RSPCK1),
1386 GPIO_FN(MOSI1),
1387 GPIO_FN(MISO1_PG19),
1388 GPIO_FN(SSL10),
1389
1390
1391 GPIO_FN(SCL0),
1392 GPIO_FN(SCL1),
1393 GPIO_FN(SCL2),
1394 GPIO_FN(SDA0),
1395 GPIO_FN(SDA1),
1396 GPIO_FN(SDA2),
1397
1398
1399 GPIO_FN(SSISCK0),
1400 GPIO_FN(SSIWS0),
1401 GPIO_FN(SSITXD0),
1402 GPIO_FN(SSIRXD0),
1403 GPIO_FN(SSIWS1),
1404 GPIO_FN(SSIWS2),
1405 GPIO_FN(SSIWS3),
1406 GPIO_FN(SSISCK1),
1407 GPIO_FN(SSISCK2),
1408 GPIO_FN(SSISCK3),
1409 GPIO_FN(SSIDATA1),
1410 GPIO_FN(SSIDATA2),
1411 GPIO_FN(SSIDATA3),
1412 GPIO_FN(AUDIO_CLK),
1413
1414
1415 GPIO_FN(SIOFTXD),
1416 GPIO_FN(SIOFRXD),
1417 GPIO_FN(SIOFSYNC),
1418 GPIO_FN(SIOFSCK),
1419
1420
1421 GPIO_FN(SPDIF_IN),
1422 GPIO_FN(SPDIF_OUT),
1423
1424
1425 GPIO_FN(FCE),
1426 GPIO_FN(FRB),
1427
1428
1429 GPIO_FN(DV_CLK),
1430 GPIO_FN(DV_VSYNC),
1431 GPIO_FN(DV_HSYNC),
1432
1433 GPIO_FN(DV_DATA7),
1434 GPIO_FN(DV_DATA6),
1435 GPIO_FN(DV_DATA5),
1436 GPIO_FN(DV_DATA4),
1437 GPIO_FN(DV_DATA3),
1438 GPIO_FN(DV_DATA2),
1439 GPIO_FN(DV_DATA1),
1440 GPIO_FN(DV_DATA0),
1441
1442 GPIO_FN(LCD_CLK),
1443 GPIO_FN(LCD_EXTCLK),
1444 GPIO_FN(LCD_VSYNC),
1445 GPIO_FN(LCD_HSYNC),
1446 GPIO_FN(LCD_DE),
1447
1448 GPIO_FN(LCD_DATA15),
1449 GPIO_FN(LCD_DATA14),
1450 GPIO_FN(LCD_DATA13),
1451 GPIO_FN(LCD_DATA12),
1452 GPIO_FN(LCD_DATA11),
1453 GPIO_FN(LCD_DATA10),
1454 GPIO_FN(LCD_DATA9),
1455 GPIO_FN(LCD_DATA8),
1456 GPIO_FN(LCD_DATA7),
1457 GPIO_FN(LCD_DATA6),
1458 GPIO_FN(LCD_DATA5),
1459 GPIO_FN(LCD_DATA4),
1460 GPIO_FN(LCD_DATA3),
1461 GPIO_FN(LCD_DATA2),
1462 GPIO_FN(LCD_DATA1),
1463 GPIO_FN(LCD_DATA0),
1464
1465 GPIO_FN(LCD_M_DISP),
1466};
1467
1468static const struct pinmux_cfg_reg pinmux_config_regs[] = {
1469 { PINMUX_CFG_REG("PAIOR0", 0xfffe3812, 16, 1, GROUP(
1470 0, 0, 0, 0, 0, 0, 0, 0,
1471 0, 0, 0, 0, 0, 0, 0, 0,
1472 0, 0, 0, 0, 0, 0, 0, 0,
1473 PA3_IN, PA3_OUT,
1474 PA2_IN, PA2_OUT,
1475 PA1_IN, PA1_OUT,
1476 PA0_IN, PA0_OUT ))
1477 },
1478
1479 { PINMUX_CFG_REG("PBCR5", 0xfffe3824, 16, 4, GROUP(
1480 0, 0, 0, 0, 0, 0, 0, 0,
1481 0, 0, 0, 0, 0, 0, 0, 0,
1482 PB22MD_00, PB22MD_01, PB22MD_10, 0, 0, 0, 0, 0,
1483 0, 0, 0, 0, 0, 0, 0, 0,
1484 PB21MD_0, PB21MD_1, 0, 0, 0, 0, 0, 0,
1485 0, 0, 0, 0, 0, 0, 0, 0,
1486 0, PB20MD_1, 0, 0, 0, 0, 0, 0,
1487 0, 0, 0, 0, 0, 0, 0, 0 ))
1488
1489 },
1490 { PINMUX_CFG_REG("PBCR4", 0xfffe3826, 16, 4, GROUP(
1491 0, PB19MD_01, 0, 0, 0, 0, 0, 0,
1492 0, 0, 0, 0, 0, 0, 0, 0,
1493 0, PB18MD_01, 0, 0, 0, 0, 0, 0,
1494 0, 0, 0, 0, 0, 0, 0, 0,
1495 0, PB17MD_01, 0, 0, 0, 0, 0, 0,
1496 0, 0, 0, 0, 0, 0, 0, 0,
1497 0, PB16MD_01, 0, 0, 0, 0, 0, 0,
1498 0, 0, 0, 0, 0, 0, 0, 0 ))
1499 },
1500 { PINMUX_CFG_REG("PBCR3", 0xfffe3828, 16, 4, GROUP(
1501 0, PB15MD_01, 0, 0, 0, 0, 0, 0,
1502 0, 0, 0, 0, 0, 0, 0, 0,
1503 0, PB14MD_01, 0, 0, 0, 0, 0, 0,
1504 0, 0, 0, 0, 0, 0, 0, 0,
1505 0, PB13MD_01, 0, 0, 0, 0, 0, 0,
1506 0, 0, 0, 0, 0, 0, 0, 0,
1507 0, PB12MD_01, 0, 0, 0, 0, 0, 0,
1508 0, 0, 0, 0, 0, 0, 0, 0 ))
1509 },
1510 { PINMUX_CFG_REG("PBCR2", 0xfffe382a, 16, 4, GROUP(
1511 0, PB11MD_01, 0, 0, 0, 0, 0, 0,
1512 0, 0, 0, 0, 0, 0, 0, 0,
1513 0, PB10MD_01, 0, 0, 0, 0, 0, 0,
1514 0, 0, 0, 0, 0, 0, 0, 0,
1515 0, PB9MD_01, 0, 0, 0, 0, 0, 0,
1516 0, 0, 0, 0, 0, 0, 0, 0,
1517 0, PB8MD_01, 0, 0, 0, 0, 0, 0,
1518 0, 0, 0, 0, 0, 0, 0, 0 ))
1519 },
1520 { PINMUX_CFG_REG("PBCR1", 0xfffe382c, 16, 4, GROUP(
1521 0, PB7MD_01, 0, 0, 0, 0, 0, 0,
1522 0, 0, 0, 0, 0, 0, 0, 0,
1523 0, PB6MD_01, 0, 0, 0, 0, 0, 0,
1524 0, 0, 0, 0, 0, 0, 0, 0,
1525 0, PB5MD_01, 0, 0, 0, 0, 0, 0,
1526 0, 0, 0, 0, 0, 0, 0, 0,
1527 0, PB4MD_01, 0, 0, 0, 0, 0, 0,
1528 0, 0, 0, 0, 0, 0, 0, 0 ))
1529 },
1530 { PINMUX_CFG_REG("PBCR0", 0xfffe382e, 16, 4, GROUP(
1531 0, PB3MD_1, 0, 0, 0, 0, 0, 0,
1532 0, 0, 0, 0, 0, 0, 0, 0,
1533 0, PB2MD_1, 0, 0, 0, 0, 0, 0,
1534 0, 0, 0, 0, 0, 0, 0, 0,
1535 0, PB1MD_1, 0, 0, 0, 0, 0, 0,
1536 0, 0, 0, 0, 0, 0, 0, 0,
1537 0, 0, 0, 0, 0, 0, 0, 0,
1538 0, 0, 0, 0, 0, 0, 0, 0 ))
1539 },
1540
1541 { PINMUX_CFG_REG("PBIOR1", 0xfffe3830, 16, 1, GROUP(
1542 0, 0, 0, 0, 0, 0, 0, 0,
1543 0, 0, 0, 0, 0, 0, 0, 0,
1544 0, 0,
1545 PB22_IN, PB22_OUT,
1546 PB21_IN, PB21_OUT,
1547 PB20_IN, PB20_OUT,
1548 PB19_IN, PB19_OUT,
1549 PB18_IN, PB18_OUT,
1550 PB17_IN, PB17_OUT,
1551 PB16_IN, PB16_OUT ))
1552 },
1553
1554 { PINMUX_CFG_REG("PBIOR0", 0xfffe3832, 16, 1, GROUP(
1555 PB15_IN, PB15_OUT,
1556 PB14_IN, PB14_OUT,
1557 PB13_IN, PB13_OUT,
1558 PB12_IN, PB12_OUT,
1559 PB11_IN, PB11_OUT,
1560 PB10_IN, PB10_OUT,
1561 PB9_IN, PB9_OUT,
1562 PB8_IN, PB8_OUT,
1563 PB7_IN, PB7_OUT,
1564 PB6_IN, PB6_OUT,
1565 PB5_IN, PB5_OUT,
1566 PB4_IN, PB4_OUT,
1567 PB3_IN, PB3_OUT,
1568 PB2_IN, PB2_OUT,
1569 PB1_IN, PB1_OUT,
1570 0, 0 ))
1571 },
1572
1573 { PINMUX_CFG_REG("PCCR2", 0xfffe384a, 16, 4, GROUP(
1574 0, 0, 0, 0, 0, 0, 0, 0,
1575 0, 0, 0, 0, 0, 0, 0, 0,
1576 PC10MD_0, PC10MD_1, 0, 0, 0, 0, 0, 0,
1577 0, 0, 0, 0, 0, 0, 0, 0,
1578 PC9MD_0, PC9MD_1, 0, 0, 0, 0, 0, 0,
1579 0, 0, 0, 0, 0, 0, 0, 0,
1580 PC8MD_00, PC8MD_01, PC8MD_10, PC8MD_11, 0, 0, 0, 0,
1581 0, 0, 0, 0, 0, 0, 0, 0 ))
1582 },
1583 { PINMUX_CFG_REG("PCCR1", 0xfffe384c, 16, 4, GROUP(
1584 PC7MD_00, PC7MD_01, PC7MD_10, PC7MD_11, 0, 0, 0, 0,
1585 0, 0, 0, 0, 0, 0, 0, 0,
1586 PC6MD_00, PC6MD_01, PC6MD_10, PC6MD_11, 0, 0, 0, 0,
1587 0, 0, 0, 0, 0, 0, 0, 0,
1588 PC5MD_00, PC5MD_01, PC5MD_10, PC5MD_11, 0, 0, 0, 0,
1589 0, 0, 0, 0, 0, 0, 0, 0,
1590 PC4MD_0, PC4MD_1, 0, 0, 0, 0, 0, 0,
1591 0, 0, 0, 0, 0, 0, 0, 0 ))
1592 },
1593 { PINMUX_CFG_REG("PCCR0", 0xfffe384e, 16, 4, GROUP(
1594 PC3MD_0, PC3MD_1, 0, 0, 0, 0, 0, 0,
1595 0, 0, 0, 0, 0, 0, 0, 0,
1596 PC2MD_0, PC2MD_1, 0, 0, 0, 0, 0, 0,
1597 0, 0, 0, 0, 0, 0, 0, 0,
1598 PC1MD_0, PC1MD_1, 0, 0, 0, 0, 0, 0,
1599 0, 0, 0, 0, 0, 0, 0, 0,
1600 PC0MD_0, PC0MD_1, 0, 0, 0, 0, 0, 0,
1601 0, 0, 0, 0, 0, 0, 0, 0 ))
1602 },
1603
1604 { PINMUX_CFG_REG("PCIOR0", 0xfffe3852, 16, 1, GROUP(
1605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1606 PC10_IN, PC10_OUT,
1607 PC9_IN, PC9_OUT,
1608 PC8_IN, PC8_OUT,
1609 PC7_IN, PC7_OUT,
1610 PC6_IN, PC6_OUT,
1611 PC5_IN, PC5_OUT,
1612 PC4_IN, PC4_OUT,
1613 PC3_IN, PC3_OUT,
1614 PC2_IN, PC2_OUT,
1615 PC1_IN, PC1_OUT,
1616 PC0_IN, PC0_OUT
1617 ))
1618 },
1619
1620 { PINMUX_CFG_REG("PDCR3", 0xfffe3868, 16, 4, GROUP(
1621 0, PD15MD_01, 0, 0, 0, 0, 0, 0,
1622 0, 0, 0, 0, 0, 0, 0, 0,
1623 0, PD14MD_01, 0, 0, 0, 0, 0, 0,
1624 0, 0, 0, 0, 0, 0, 0, 0,
1625 0, PD13MD_01, 0, 0, 0, 0, 0, 0,
1626 0, 0, 0, 0, 0, 0, 0, 0,
1627 0, PD12MD_01, 0, 0, 0, 0, 0, 0,
1628 0, 0, 0, 0, 0, 0, 0, 0 ))
1629 },
1630 { PINMUX_CFG_REG("PDCR2", 0xfffe386a, 16, 4, GROUP(
1631 0, PD11MD_01, 0, 0, 0, 0, 0, 0,
1632 0, 0, 0, 0, 0, 0, 0, 0,
1633 0, PD10MD_01, 0, 0, 0, 0, 0, 0,
1634 0, 0, 0, 0, 0, 0, 0, 0,
1635 0, PD9MD_01, 0, 0, 0, 0, 0, 0,
1636 0, 0, 0, 0, 0, 0, 0, 0,
1637 0, PD8MD_01, 0, 0, 0, 0, 0, 0,
1638 0, 0, 0, 0, 0, 0, 0, 0 ))
1639 },
1640 { PINMUX_CFG_REG("PDCR1", 0xfffe386c, 16, 4, GROUP(
1641 0, PD7MD_01, 0, 0, 0, 0, 0, 0,
1642 0, 0, 0, 0, 0, 0, 0, 0,
1643 0, PD6MD_01, 0, 0, 0, 0, 0, 0,
1644 0, 0, 0, 0, 0, 0, 0, 0,
1645 0, PD5MD_01, 0, 0, 0, 0, 0, 0,
1646 0, 0, 0, 0, 0, 0, 0, 0,
1647 0, PD4MD_01, 0, 0, 0, 0, 0, 0,
1648 0, 0, 0, 0, 0, 0, 0, 0 ))
1649 },
1650 { PINMUX_CFG_REG("PDCR0", 0xfffe386e, 16, 4, GROUP(
1651 0, PD3MD_01, 0, 0, 0, 0, 0, 0,
1652 0, 0, 0, 0, 0, 0, 0, 0,
1653 0, PD2MD_01, 0, 0, 0, 0, 0, 0,
1654 0, 0, 0, 0, 0, 0, 0, 0,
1655 0, PD1MD_01, 0, 0, 0, 0, 0, 0,
1656 0, 0, 0, 0, 0, 0, 0, 0,
1657 0, PD0MD_01, 0, 0, 0, 0, 0, 0,
1658 0, 0, 0, 0, 0, 0, 0, 0 ))
1659 },
1660
1661 { PINMUX_CFG_REG("PDIOR0", 0xfffe3872, 16, 1, GROUP(
1662 PD15_IN, PD15_OUT,
1663 PD14_IN, PD14_OUT,
1664 PD13_IN, PD13_OUT,
1665 PD12_IN, PD12_OUT,
1666 PD11_IN, PD11_OUT,
1667 PD10_IN, PD10_OUT,
1668 PD9_IN, PD9_OUT,
1669 PD8_IN, PD8_OUT,
1670 PD7_IN, PD7_OUT,
1671 PD6_IN, PD6_OUT,
1672 PD5_IN, PD5_OUT,
1673 PD4_IN, PD4_OUT,
1674 PD3_IN, PD3_OUT,
1675 PD2_IN, PD2_OUT,
1676 PD1_IN, PD1_OUT,
1677 PD0_IN, PD0_OUT ))
1678 },
1679
1680 { PINMUX_CFG_REG("PECR1", 0xfffe388c, 16, 4, GROUP(
1681 0, 0, 0, 0, 0, 0, 0, 0,
1682 0, 0, 0, 0, 0, 0, 0, 0,
1683 0, 0, 0, 0, 0, 0, 0, 0,
1684 0, 0, 0, 0, 0, 0, 0, 0,
1685 PE5MD_00, PE5MD_01, 0, PE5MD_11, 0, 0, 0, 0,
1686 0, 0, 0, 0, 0, 0, 0, 0,
1687 PE4MD_00, PE4MD_01, 0, PE4MD_11, 0, 0, 0, 0,
1688 0, 0, 0, 0, 0, 0, 0, 0 ))
1689 },
1690
1691 { PINMUX_CFG_REG("PECR0", 0xfffe388e, 16, 4, GROUP(
1692 PE3MD_00, PE3MD_01, 0, PE3MD_11, 0, 0, 0, 0,
1693 0, 0, 0, 0, 0, 0, 0, 0,
1694 PE2MD_00, PE2MD_01, 0, PE2MD_11, 0, 0, 0, 0,
1695 0, 0, 0, 0, 0, 0, 0, 0,
1696 PE1MD_000, PE1MD_001, PE1MD_010, PE1MD_011,
1697 PE1MD_100, PE1MD_101, 0, 0,
1698 0, 0, 0, 0, 0, 0, 0, 0,
1699 PE0MD_00, PE0MD_01, PE0MD_10, PE0MD_11, 0, 0, 0, 0,
1700 0, 0, 0, 0, 0, 0, 0, 0 ))
1701 },
1702
1703 { PINMUX_CFG_REG("PEIOR0", 0xfffe3892, 16, 1, GROUP(
1704 0, 0, 0, 0, 0, 0, 0, 0,
1705 0, 0, 0, 0, 0, 0, 0, 0,
1706 0, 0, 0, 0,
1707 PE5_IN, PE5_OUT,
1708 PE4_IN, PE4_OUT,
1709 PE3_IN, PE3_OUT,
1710 PE2_IN, PE2_OUT,
1711 PE1_IN, PE1_OUT,
1712 PE0_IN, PE0_OUT ))
1713 },
1714
1715 { PINMUX_CFG_REG("PFCR3", 0xfffe38a8, 16, 4, GROUP(
1716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1719 PF12MD_000, PF12MD_001, 0, PF12MD_011,
1720 PF12MD_100, PF12MD_101, 0, 0,
1721 0, 0, 0, 0, 0, 0, 0, 0 ))
1722 },
1723
1724 { PINMUX_CFG_REG("PFCR2", 0xfffe38aa, 16, 4, GROUP(
1725 PF11MD_000, PF11MD_001, PF11MD_010, PF11MD_011,
1726 PF11MD_100, PF11MD_101, 0, 0,
1727 0, 0, 0, 0, 0, 0, 0, 0,
1728 PF10MD_000, PF10MD_001, PF10MD_010, PF10MD_011,
1729 PF10MD_100, PF10MD_101, 0, 0,
1730 0, 0, 0, 0, 0, 0, 0, 0,
1731 PF9MD_000, PF9MD_001, PF9MD_010, PF9MD_011,
1732 PF9MD_100, PF9MD_101, 0, 0,
1733 0, 0, 0, 0, 0, 0, 0, 0,
1734 PF8MD_00, PF8MD_01, PF8MD_10, PF8MD_11, 0, 0, 0, 0,
1735 0, 0, 0, 0, 0, 0, 0, 0 ))
1736 },
1737
1738 { PINMUX_CFG_REG("PFCR1", 0xfffe38ac, 16, 4, GROUP(
1739 PF7MD_000, PF7MD_001, PF7MD_010, PF7MD_011,
1740 PF7MD_100, 0, 0, 0,
1741 0, 0, 0, 0, 0, 0, 0, 0,
1742 PF6MD_000, PF6MD_001, PF6MD_010, PF6MD_011,
1743 PF6MD_100, 0, 0, 0,
1744 0, 0, 0, 0, 0, 0, 0, 0,
1745 PF5MD_000, PF5MD_001, PF5MD_010, PF5MD_011,
1746 PF5MD_100, 0, 0, 0,
1747 0, 0, 0, 0, 0, 0, 0, 0,
1748 PF4MD_000, PF4MD_001, PF4MD_010, PF4MD_011,
1749 PF4MD_100, 0, 0, 0,
1750 0, 0, 0, 0, 0, 0, 0, 0 ))
1751 },
1752
1753 { PINMUX_CFG_REG("PFCR0", 0xfffe38ae, 16, 4, GROUP(
1754 PF3MD_000, PF3MD_001, PF3MD_010, PF3MD_011,
1755 PF3MD_100, 0, 0, 0,
1756 0, 0, 0, 0, 0, 0, 0, 0,
1757 PF2MD_000, PF2MD_001, PF2MD_010, PF2MD_011,
1758 PF2MD_100, PF2MD_101, 0, 0,
1759 0, 0, 0, 0, 0, 0, 0, 0,
1760 PF1MD_000, PF1MD_001, PF1MD_010, PF1MD_011,
1761 PF1MD_100, PF1MD_101, 0, 0,
1762 0, 0, 0, 0, 0, 0, 0, 0,
1763 PF0MD_000, PF0MD_001, PF0MD_010, PF0MD_011,
1764 PF0MD_100, PF0MD_101, 0, 0,
1765 0, 0, 0, 0, 0, 0, 0, 0 ))
1766 },
1767
1768 { PINMUX_CFG_REG("PFIOR0", 0xfffe38b2, 16, 1, GROUP(
1769 0, 0, 0, 0, 0, 0,
1770 PF12_IN, PF12_OUT,
1771 PF11_IN, PF11_OUT,
1772 PF10_IN, PF10_OUT,
1773 PF9_IN, PF9_OUT,
1774 PF8_IN, PF8_OUT,
1775 PF7_IN, PF7_OUT,
1776 PF6_IN, PF6_OUT,
1777 PF5_IN, PF5_OUT,
1778 PF4_IN, PF4_OUT,
1779 PF3_IN, PF3_OUT,
1780 PF2_IN, PF2_OUT,
1781 PF1_IN, PF1_OUT,
1782 PF0_IN, PF0_OUT ))
1783 },
1784
1785 { PINMUX_CFG_REG("PGCR7", 0xfffe38c0, 16, 4, GROUP(
1786 0, 0, 0, 0, 0, 0, 0, 0,
1787 0, 0, 0, 0, 0, 0, 0, 0,
1788 0, 0, 0, 0, 0, 0, 0, 0,
1789 0, 0, 0, 0, 0, 0, 0, 0,
1790 0, 0, 0, 0, 0, 0, 0, 0,
1791 0, 0, 0, 0, 0, 0, 0, 0,
1792 PG0MD_000, PG0MD_001, PG0MD_010, PG0MD_011,
1793 PG0MD_100, 0, 0, 0,
1794 0, 0, 0, 0, 0, 0, 0, 0 ))
1795 },
1796
1797 { PINMUX_CFG_REG("PGCR6", 0xfffe38c2, 16, 4, GROUP(
1798 0, 0, 0, 0, 0, 0, 0, 0,
1799 0, 0, 0, 0, 0, 0, 0, 0,
1800 0, 0, 0, 0, 0, 0, 0, 0,
1801 0, 0, 0, 0, 0, 0, 0, 0,
1802 0, 0, 0, 0, 0, 0, 0, 0,
1803 0, 0, 0, 0, 0, 0, 0, 0,
1804 PG24MD_00, PG24MD_01, PG24MD_10, PG24MD_11, 0, 0, 0, 0,
1805 0, 0, 0, 0, 0, 0, 0, 0 ))
1806 },
1807
1808 { PINMUX_CFG_REG("PGCR5", 0xfffe38c4, 16, 4, GROUP(
1809 PG23MD_00, PG23MD_01, PG23MD_10, PG23MD_11, 0, 0, 0, 0,
1810 0, 0, 0, 0, 0, 0, 0, 0,
1811 PG22MD_00, PG22MD_01, PG22MD_10, PG22MD_11, 0, 0, 0, 0,
1812 0, 0, 0, 0, 0, 0, 0, 0,
1813 PG21MD_00, PG21MD_01, PG21MD_10, PG21MD_11, 0, 0, 0, 0,
1814 0, 0, 0, 0, 0, 0, 0, 0,
1815 PG20MD_000, PG20MD_001, PG20MD_010, PG20MD_011,
1816 PG20MD_100, 0, 0, 0,
1817 0, 0, 0, 0, 0, 0, 0, 0 ))
1818 },
1819
1820 { PINMUX_CFG_REG("PGCR4", 0xfffe38c6, 16, 4, GROUP(
1821 PG19MD_000, PG19MD_001, PG19MD_010, PG19MD_011,
1822 PG19MD_100, 0, 0, 0,
1823 0, 0, 0, 0, 0, 0, 0, 0,
1824 PG18MD_000, PG18MD_001, PG18MD_010, PG18MD_011,
1825 PG18MD_100, 0, 0, 0,
1826 0, 0, 0, 0, 0, 0, 0, 0,
1827 PG17MD_000, PG17MD_001, PG17MD_010, PG17MD_011,
1828 PG17MD_100, 0, 0, 0,
1829 0, 0, 0, 0, 0, 0, 0, 0,
1830 PG16MD_000, PG16MD_001, PG16MD_010, PG16MD_011,
1831 PG16MD_100, 0, 0, 0,
1832 0, 0, 0, 0, 0, 0, 0, 0 ))
1833 },
1834
1835 { PINMUX_CFG_REG("PGCR3", 0xfffe38c8, 16, 4, GROUP(
1836 PG15MD_000, PG15MD_001, PG15MD_010, PG15MD_011,
1837 PG15MD_100, 0, 0, 0,
1838 0, 0, 0, 0, 0, 0, 0, 0,
1839 PG14MD_000, PG14MD_001, PG14MD_010, 0,
1840 PG14MD_100, 0, 0, 0,
1841 0, 0, 0, 0, 0, 0, 0, 0,
1842 PG13MD_000, PG13MD_001, PG13MD_010, 0,
1843 PG13MD_100, 0, 0, 0,
1844 0, 0, 0, 0, 0, 0, 0, 0,
1845 PG12MD_000, PG12MD_001, PG12MD_010, 0,
1846 PG12MD_100, 0, 0, 0,
1847 0, 0, 0, 0, 0, 0, 0, 0 ))
1848 },
1849 { PINMUX_CFG_REG("PGCR2", 0xfffe38ca, 16, 4, GROUP(
1850 PG11MD_000, PG11MD_001, PG11MD_010, PG11MD_011,
1851 PG11MD_100, PG11MD_101, 0, 0,
1852 0, 0, 0, 0, 0, 0, 0, 0,
1853 PG10MD_000, PG10MD_001, PG10MD_010, PG10MD_011,
1854 PG10MD_100, PG10MD_101, 0, 0,
1855 0, 0, 0, 0, 0, 0, 0, 0,
1856 PG9MD_000, PG9MD_001, PG9MD_010, PG9MD_011,
1857 PG9MD_100, PG9MD_101, 0, 0,
1858 0, 0, 0, 0, 0, 0, 0, 0,
1859 PG8MD_000, PG8MD_001, PG8MD_010, PG8MD_011,
1860 PG8MD_100, PG8MD_101, 0, 0,
1861 0, 0, 0, 0, 0, 0, 0, 0 ))
1862 },
1863
1864 { PINMUX_CFG_REG("PGCR1", 0xfffe38cc, 16, 4, GROUP(
1865 PG7MD_00, PG7MD_01, PG7MD_10, PG7MD_11, 0, 0, 0, 0,
1866 0, 0, 0, 0, 0, 0, 0, 0,
1867 PG6MD_00, PG6MD_01, PG6MD_10, PG6MD_11, 0, 0, 0, 0,
1868 0, 0, 0, 0, 0, 0, 0, 0,
1869 PG5MD_00, PG5MD_01, PG5MD_10, PG5MD_11, 0, 0, 0, 0,
1870 0, 0, 0, 0, 0, 0, 0, 0,
1871 PG4MD_00, PG4MD_01, PG4MD_10, PG4MD_11, 0, 0, 0, 0,
1872 0, 0, 0, 0, 0, 0, 0, 0 ))
1873 },
1874 { PINMUX_CFG_REG("PGCR0", 0xfffe38ce, 16, 4, GROUP(
1875 PG3MD_00, PG3MD_01, PG3MD_10, PG3MD_11, 0, 0, 0, 0,
1876 0, 0, 0, 0, 0, 0, 0, 0,
1877 PG2MD_00, PG2MD_01, PG2MD_10, PG2MD_11, 0, 0, 0, 0,
1878 0, 0, 0, 0, 0, 0, 0, 0,
1879 PG1MD_00, PG1MD_01, PG1MD_10, PG1MD_11, 0, 0, 0, 0,
1880 0, 0, 0, 0, 0, 0, 0, 0,
1881 0, 0, 0, 0, 0, 0, 0, 0,
1882 0, 0, 0, 0, 0, 0, 0, 0 ))
1883 },
1884 { PINMUX_CFG_REG("PGIOR1", 0xfffe38d0, 16, 1, GROUP(
1885 0, 0, 0, 0, 0, 0, 0, 0,
1886 0, 0, 0, 0, 0, 0,
1887 PG24_IN, PG24_OUT,
1888 PG23_IN, PG23_OUT,
1889 PG22_IN, PG22_OUT,
1890 PG21_IN, PG21_OUT,
1891 PG20_IN, PG20_OUT,
1892 PG19_IN, PG19_OUT,
1893 PG18_IN, PG18_OUT,
1894 PG17_IN, PG17_OUT,
1895 PG16_IN, PG16_OUT ))
1896 },
1897
1898 { PINMUX_CFG_REG("PGIOR0", 0xfffe38d2, 16, 1, GROUP(
1899 PG15_IN, PG15_OUT,
1900 PG14_IN, PG14_OUT,
1901 PG13_IN, PG13_OUT,
1902 PG12_IN, PG12_OUT,
1903 PG11_IN, PG11_OUT,
1904 PG10_IN, PG10_OUT,
1905 PG9_IN, PG9_OUT,
1906 PG8_IN, PG8_OUT,
1907 PG7_IN, PG7_OUT,
1908 PG6_IN, PG6_OUT,
1909 PG5_IN, PG5_OUT,
1910 PG4_IN, PG4_OUT,
1911 PG3_IN, PG3_OUT,
1912 PG2_IN, PG2_OUT,
1913 PG1_IN, PG1_OUT,
1914 PG0_IN, PG0_OUT
1915 ))
1916 },
1917
1918 { PINMUX_CFG_REG("PHCR1", 0xfffe38ec, 16, 4, GROUP(
1919 PH7MD_0, PH7MD_1, 0, 0, 0, 0, 0, 0,
1920 0, 0, 0, 0, 0, 0, 0, 0,
1921 PH6MD_0, PH6MD_1, 0, 0, 0, 0, 0, 0,
1922 0, 0, 0, 0, 0, 0, 0, 0,
1923 PH5MD_0, PH5MD_1, 0, 0, 0, 0, 0, 0,
1924 0, 0, 0, 0, 0, 0, 0, 0,
1925 PH4MD_0, PH4MD_1, 0, 0, 0, 0, 0, 0,
1926 0, 0, 0, 0, 0, 0, 0, 0 ))
1927 },
1928
1929 { PINMUX_CFG_REG("PHCR0", 0xfffe38ee, 16, 4, GROUP(
1930 PH3MD_0, PH3MD_1, 0, 0, 0, 0, 0, 0,
1931 0, 0, 0, 0, 0, 0, 0, 0,
1932 PH2MD_0, PH2MD_1, 0, 0, 0, 0, 0, 0,
1933 0, 0, 0, 0, 0, 0, 0, 0,
1934 PH1MD_0, PH1MD_1, 0, 0, 0, 0, 0, 0,
1935 0, 0, 0, 0, 0, 0, 0, 0,
1936 PH0MD_0, PH0MD_1, 0, 0, 0, 0, 0, 0,
1937 0, 0, 0, 0, 0, 0, 0, 0 ))
1938 },
1939
1940 { PINMUX_CFG_REG("PJCR2", 0xfffe390a, 16, 4, GROUP(
1941 PJ11MD_00, PJ11MD_01, PJ11MD_10, 0, 0, 0, 0, 0,
1942 0, 0, 0, 0, 0, 0, 0, 0,
1943 PJ10MD_00, PJ10MD_01, PJ10MD_10, 0, 0, 0, 0, 0,
1944 0, 0, 0, 0, 0, 0, 0, 0,
1945 PJ9MD_00, PJ9MD_01, PJ9MD_10, 0, 0, 0, 0, 0,
1946 0, 0, 0, 0, 0, 0, 0, 0,
1947 PJ8MD_00, PJ8MD_01, PJ8MD_10, 0, 0, 0, 0, 0,
1948 0, 0, 0, 0, 0, 0, 0, 0 ))
1949 },
1950 { PINMUX_CFG_REG("PJCR1", 0xfffe390c, 16, 4, GROUP(
1951 PJ7MD_00, PJ7MD_01, PJ7MD_10, 0, 0, 0, 0, 0,
1952 0, 0, 0, 0, 0, 0, 0, 0,
1953 PJ6MD_00, PJ6MD_01, PJ6MD_10, 0, 0, 0, 0, 0,
1954 0, 0, 0, 0, 0, 0, 0, 0,
1955 PJ5MD_00, PJ5MD_01, PJ5MD_10, 0, 0, 0, 0, 0,
1956 0, 0, 0, 0, 0, 0, 0, 0,
1957 PJ4MD_00, PJ4MD_01, PJ4MD_10, 0, 0, 0, 0, 0,
1958 0, 0, 0, 0, 0, 0, 0, 0 ))
1959 },
1960 { PINMUX_CFG_REG("PJCR0", 0xfffe390e, 16, 4, GROUP(
1961 PJ3MD_00, PJ3MD_01, PJ3MD_10, PJ3MD_11, 0, 0, 0, 0,
1962 0, 0, 0, 0, 0, 0, 0, 0,
1963 PJ2MD_000, PJ2MD_001, PJ2MD_010, PJ2MD_011,
1964 PJ2MD_100, PJ2MD_101, 0, 0,
1965 0, 0, 0, 0, 0, 0, 0, 0,
1966 PJ1MD_000, PJ1MD_001, PJ1MD_010, PJ1MD_011,
1967 PJ1MD_100, 0, 0, 0,
1968 0, 0, 0, 0, 0, 0, 0, 0,
1969 PJ0MD_000, PJ0MD_001, PJ0MD_010, PJ0MD_011,
1970 PJ0MD_100, PJ0MD_101, 0, 0,
1971 0, 0, 0, 0, 0, 0, 0, 0, ))
1972 },
1973 { PINMUX_CFG_REG("PJIOR0", 0xfffe3912, 16, 1, GROUP(
1974 0, 0, 0, 0, 0, 0, 0, 0,
1975 PJ11_IN, PJ11_OUT,
1976 PJ10_IN, PJ10_OUT,
1977 PJ9_IN, PJ9_OUT,
1978 PJ8_IN, PJ8_OUT,
1979 PJ7_IN, PJ7_OUT,
1980 PJ6_IN, PJ6_OUT,
1981 PJ5_IN, PJ5_OUT,
1982 PJ4_IN, PJ4_OUT,
1983 PJ3_IN, PJ3_OUT,
1984 PJ2_IN, PJ2_OUT,
1985 PJ1_IN, PJ1_OUT,
1986 PJ0_IN, PJ0_OUT ))
1987 },
1988
1989 { PINMUX_CFG_REG("PKCR2", 0xfffe392a, 16, 4, GROUP(
1990 PK11MD_00, PK11MD_01, PK11MD_10, 0, 0, 0, 0, 0,
1991 0, 0, 0, 0, 0, 0, 0, 0,
1992 PK10MD_00, PK10MD_01, PK10MD_10, 0, 0, 0, 0, 0,
1993 0, 0, 0, 0, 0, 0, 0, 0,
1994 PK9MD_00, PK9MD_01, PK9MD_10, 0, 0, 0, 0, 0,
1995 0, 0, 0, 0, 0, 0, 0, 0,
1996 PK8MD_00, PK8MD_01, PK8MD_10, 0, 0, 0, 0, 0,
1997 0, 0, 0, 0, 0, 0, 0, 0 ))
1998 },
1999
2000 { PINMUX_CFG_REG("PKCR1", 0xfffe392c, 16, 4, GROUP(
2001 PK7MD_00, PK7MD_01, PK7MD_10, 0, 0, 0, 0, 0,
2002 0, 0, 0, 0, 0, 0, 0, 0,
2003 PK6MD_00, PK6MD_01, PK6MD_10, 0, 0, 0, 0, 0,
2004 0, 0, 0, 0, 0, 0, 0, 0,
2005 PK5MD_00, PK5MD_01, PK5MD_10, 0, 0, 0, 0, 0,
2006 0, 0, 0, 0, 0, 0, 0, 0,
2007 PK4MD_00, PK4MD_01, PK4MD_10, 0, 0, 0, 0, 0,
2008 0, 0, 0, 0, 0, 0, 0, 0 ))
2009 },
2010 { PINMUX_CFG_REG("PKCR0", 0xfffe392e, 16, 4, GROUP(
2011 PK3MD_00, PK3MD_01, PK3MD_10, 0, 0, 0, 0, 0,
2012 0, 0, 0, 0, 0, 0, 0, 0,
2013 PK2MD_00, PK2MD_01, PK2MD_10, 0, 0, 0, 0, 0,
2014 0, 0, 0, 0, 0, 0, 0, 0,
2015 PK1MD_00, PK1MD_01, PK1MD_10, 0, 0, 0, 0, 0,
2016 0, 0, 0, 0, 0, 0, 0, 0,
2017 PK0MD_00, PK0MD_01, PK0MD_10, 0, 0, 0, 0, 0,
2018 0, 0, 0, 0, 0, 0, 0, 0 ))
2019 },
2020
2021 { PINMUX_CFG_REG("PKIOR0", 0xfffe3932, 16, 1, GROUP(
2022 0, 0, 0, 0, 0, 0, 0, 0,
2023 PJ11_IN, PJ11_OUT,
2024 PJ10_IN, PJ10_OUT,
2025 PJ9_IN, PJ9_OUT,
2026 PJ8_IN, PJ8_OUT,
2027 PJ7_IN, PJ7_OUT,
2028 PJ6_IN, PJ6_OUT,
2029 PJ5_IN, PJ5_OUT,
2030 PJ4_IN, PJ4_OUT,
2031 PJ3_IN, PJ3_OUT,
2032 PJ2_IN, PJ2_OUT,
2033 PJ1_IN, PJ1_OUT,
2034 PJ0_IN, PJ0_OUT ))
2035 },
2036 {}
2037};
2038
2039static const struct pinmux_data_reg pinmux_data_regs[] = {
2040 { PINMUX_DATA_REG("PADR1", 0xfffe3814, 16, GROUP(
2041 0, 0, 0, 0, 0, 0, 0, PA3_DATA,
2042 0, 0, 0, 0, 0, 0, 0, PA2_DATA ))
2043 },
2044
2045 { PINMUX_DATA_REG("PADR0", 0xfffe3816, 16, GROUP(
2046 0, 0, 0, 0, 0, 0, 0, PA1_DATA,
2047 0, 0, 0, 0, 0, 0, 0, PA0_DATA ))
2048 },
2049
2050 { PINMUX_DATA_REG("PBDR1", 0xfffe3834, 16, GROUP(
2051 0, 0, 0, 0, 0, 0, 0, 0,
2052 0, PB22_DATA, PB21_DATA, PB20_DATA,
2053 PB19_DATA, PB18_DATA, PB17_DATA, PB16_DATA ))
2054 },
2055
2056 { PINMUX_DATA_REG("PBDR0", 0xfffe3836, 16, GROUP(
2057 PB15_DATA, PB14_DATA, PB13_DATA, PB12_DATA,
2058 PB11_DATA, PB10_DATA, PB9_DATA, PB8_DATA,
2059 PB7_DATA, PB6_DATA, PB5_DATA, PB4_DATA,
2060 PB3_DATA, PB2_DATA, PB1_DATA, 0 ))
2061 },
2062
2063 { PINMUX_DATA_REG("PCDR0", 0xfffe3856, 16, GROUP(
2064 0, 0, 0, 0,
2065 0, PC10_DATA, PC9_DATA, PC8_DATA,
2066 PC7_DATA, PC6_DATA, PC5_DATA, PC4_DATA,
2067 PC3_DATA, PC2_DATA, PC1_DATA, PC0_DATA ))
2068 },
2069
2070 { PINMUX_DATA_REG("PDDR0", 0xfffe3876, 16, GROUP(
2071 PD15_DATA, PD14_DATA, PD13_DATA, PD12_DATA,
2072 PD11_DATA, PD10_DATA, PD9_DATA, PD8_DATA,
2073 PD7_DATA, PD6_DATA, PD5_DATA, PD4_DATA,
2074 PD3_DATA, PD2_DATA, PD1_DATA, PD0_DATA ))
2075 },
2076
2077 { PINMUX_DATA_REG("PEDR0", 0xfffe3896, 16, GROUP(
2078 0, 0, 0, 0, 0, 0, 0, 0,
2079 0, 0, PE5_DATA, PE4_DATA,
2080 PE3_DATA, PE2_DATA, PE1_DATA, PE0_DATA ))
2081 },
2082
2083 { PINMUX_DATA_REG("PFDR0", 0xfffe38b6, 16, GROUP(
2084 0, 0, 0, PF12_DATA,
2085 PF11_DATA, PF10_DATA, PF9_DATA, PF8_DATA,
2086 PF7_DATA, PF6_DATA, PF5_DATA, PF4_DATA,
2087 PF3_DATA, PF2_DATA, PF1_DATA, PF0_DATA ))
2088 },
2089
2090 { PINMUX_DATA_REG("PGDR1", 0xfffe38d4, 16, GROUP(
2091 0, 0, 0, 0, 0, 0, 0, PG24_DATA,
2092 PG23_DATA, PG22_DATA, PG21_DATA, PG20_DATA,
2093 PG19_DATA, PG18_DATA, PG17_DATA, PG16_DATA ))
2094 },
2095
2096 { PINMUX_DATA_REG("PGDR0", 0xfffe38d6, 16, GROUP(
2097 PG15_DATA, PG14_DATA, PG13_DATA, PG12_DATA,
2098 PG11_DATA, PG10_DATA, PG9_DATA, PG8_DATA,
2099 PG7_DATA, PG6_DATA, PG5_DATA, PG4_DATA,
2100 PG3_DATA, PG2_DATA, PG1_DATA, PG0_DATA ))
2101 },
2102 { PINMUX_DATA_REG("PJDR0", 0xfffe3916, 16, GROUP(
2103 0, 0, 0, PJ12_DATA,
2104 PJ11_DATA, PJ10_DATA, PJ9_DATA, PJ8_DATA,
2105 PJ7_DATA, PJ6_DATA, PJ5_DATA, PJ4_DATA,
2106 PJ3_DATA, PJ2_DATA, PJ1_DATA, PJ0_DATA ))
2107 },
2108 { PINMUX_DATA_REG("PKDR0", 0xfffe3936, 16, GROUP(
2109 0, 0, 0, PK12_DATA,
2110 PK11_DATA, PK10_DATA, PK9_DATA, PK8_DATA,
2111 PK7_DATA, PK6_DATA, PK5_DATA, PK4_DATA,
2112 PK3_DATA, PK2_DATA, PK1_DATA, PK0_DATA ))
2113 },
2114 { }
2115};
2116
2117const struct sh_pfc_soc_info sh7264_pinmux_info = {
2118 .name = "sh7264_pfc",
2119 .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END, FORCE_IN },
2120 .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END, FORCE_OUT },
2121 .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
2122
2123 .pins = pinmux_pins,
2124 .nr_pins = ARRAY_SIZE(pinmux_pins),
2125 .func_gpios = pinmux_func_gpios,
2126 .nr_func_gpios = ARRAY_SIZE(pinmux_func_gpios),
2127
2128 .cfg_regs = pinmux_config_regs,
2129 .data_regs = pinmux_data_regs,
2130
2131 .pinmux_data = pinmux_data,
2132 .pinmux_data_size = ARRAY_SIZE(pinmux_data),
2133};
2134