1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2012 Renesas Electronics Europe Ltd
8 #include <linux/kernel.h>
9 #include <linux/gpio.h>
10 #include <cpu/sh7264.h>
19 PA3_DATA, PA2_DATA, PA1_DATA, PA0_DATA,
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,
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,
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,
38 PE3_DATA, PE2_DATA, PE1_DATA, PE0_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,
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,
53 /* NOTE - Port H does not have a Data Register, but PH Data is
54 connected to PH Port Register */
55 PH7_DATA, PH6_DATA, PH5_DATA, PH4_DATA,
56 PH3_DATA, PH2_DATA, PH1_DATA, PH0_DATA,
57 /* Port I - not on device */
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,
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,
73 PA3_IN, PA2_IN, PA1_IN, PA0_IN,
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,
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,
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,
92 PE3_IN, PE2_IN, PE1_IN, PE0_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,
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 /* Port H - Port H does not have a Data Register */
107 /* Port I - not on device */
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,
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,
123 PA3_OUT, PA2_OUT, PA1_OUT, PA0_OUT,
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,
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,
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,
142 PE3_OUT, PE2_OUT, PE1_OUT, PE0_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,
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 /* Port H - Port H does not have a Data Register */
157 /* Port I - not on device */
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,
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,
170 PINMUX_FUNCTION_BEGIN,
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,
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,
183 PB22MD_00, PB22MD_01, PB22MD_10,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
404 /* Port I - not on device */
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,
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,
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,
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,
480 PHAN7_MARK, PHAN6_MARK, PHAN5_MARK, PHAN4_MARK,
481 PHAN3_MARK, PHAN2_MARK, PHAN1_MARK, PHAN0_MARK,
483 /* Port I - not on device */
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,
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,
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,
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,
512 TEND0_MARK, DACK0_MARK, DREQ0_MARK,
513 TEND1_MARK, DACK1_MARK, DREQ1_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,
531 CS4_MARK, CS3_MARK, CS2_MARK, CS1_MARK, CS0_MARK,
532 CS6CE1B_MARK, CS5CE1A_MARK,
533 CE2A_MARK, CE2B_MARK,
539 RAS_MARK, CAS_MARK, CKE_MARK,
540 WAIT_MARK, BREQ_MARK, BACK_MARK, IOIS16_MARK,
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,
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,
560 RSPCK0_MARK, RSPCK1_MARK,
561 MOSI0_MARK, MOSI1_MARK,
562 MISO0_PF12_MARK, MISO1_MARK, MISO1_PG19_MARK,
563 SSL00_MARK, SSL10_MARK,
566 SCL0_MARK, SCL1_MARK, SCL2_MARK,
567 SDA0_MARK, SDA1_MARK, SDA2_MARK,
574 SSIWS1_MARK, SSIWS2_MARK, SSIWS3_MARK,
575 SSISCK1_MARK, SSISCK2_MARK, SSISCK3_MARK,
576 SSIDATA1_MARK, SSIDATA2_MARK, SSIDATA3_MARK,
579 /* SIOF */ /* NOTE Shares AUDIO_CLK with SSI */
580 SIOFTXD_MARK, SIOFRXD_MARK, SIOFSYNC_MARK, SIOFSCK_MARK,
582 /* SPDIF */ /* NOTE Shares AUDIO_CLK with SSI */
583 SPDIF_IN_MARK, SPDIF_OUT_MARK,
585 /* NANDFMC */ /* NOTE Controller is not available in boot mode 0 */
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,
604 static const u16 pinmux_data[] = {
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),
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),
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),
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),
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),
690 PINMUX_DATA(PE5_DATA, PE5MD_00),
691 PINMUX_DATA(SDA2_MARK, PE5MD_01),
692 PINMUX_DATA(DV_HSYNC_MARK, PE5MD_11),
694 PINMUX_DATA(PE4_DATA, PE4MD_00),
695 PINMUX_DATA(SCL2_MARK, PE4MD_01),
696 PINMUX_DATA(DV_VSYNC_MARK, PE4MD_11),
698 PINMUX_DATA(PE3_DATA, PE3MD_00),
699 PINMUX_DATA(SDA1_MARK, PE3MD_01),
700 PINMUX_DATA(IRQ3_PE_MARK, PE3MD_11),
702 PINMUX_DATA(PE2_DATA, PE2MD_00),
703 PINMUX_DATA(SCL1_MARK, PE2MD_01),
704 PINMUX_DATA(IRQ2_PE_MARK, PE2MD_11),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
803 PINMUX_DATA(PG24_DATA, PG24MD_00),
804 PINMUX_DATA(MOSI0_MARK, PG24MD_01),
805 PINMUX_DATA(TIOC0D_MARK, PG24MD_10),
807 PINMUX_DATA(PG23_DATA, PG23MD_00),
808 PINMUX_DATA(MOSI1_MARK, PG23MD_01),
809 PINMUX_DATA(TIOC0C_MARK, PG23MD_10),
811 PINMUX_DATA(PG22_DATA, PG22MD_00),
812 PINMUX_DATA(SSL10_MARK, PG22MD_01),
813 PINMUX_DATA(TIOC0B_MARK, PG22MD_10),
815 PINMUX_DATA(PG21_DATA, PG21MD_00),
816 PINMUX_DATA(RSPCK1_MARK, PG21MD_01),
817 PINMUX_DATA(TIOC0A_MARK, PG21MD_10),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
937 PINMUX_DATA(PH7_DATA, PH7MD_0),
938 PINMUX_DATA(PHAN7_MARK, PH7MD_1),
940 PINMUX_DATA(PH6_DATA, PH6MD_0),
941 PINMUX_DATA(PHAN6_MARK, PH6MD_1),
943 PINMUX_DATA(PH5_DATA, PH5MD_0),
944 PINMUX_DATA(PHAN5_MARK, PH5MD_1),
946 PINMUX_DATA(PH4_DATA, PH4MD_0),
947 PINMUX_DATA(PHAN4_MARK, PH4MD_1),
949 PINMUX_DATA(PH3_DATA, PH3MD_0),
950 PINMUX_DATA(PHAN3_MARK, PH3MD_1),
952 PINMUX_DATA(PH2_DATA, PH2MD_0),
953 PINMUX_DATA(PHAN2_MARK, PH2MD_1),
955 PINMUX_DATA(PH1_DATA, PH1MD_0),
956 PINMUX_DATA(PHAN1_MARK, PH1MD_1),
958 PINMUX_DATA(PH0_DATA, PH0MD_0),
959 PINMUX_DATA(PHAN0_MARK, PH0MD_1),
961 /* Port I - not on device */
964 PINMUX_DATA(PJ11_DATA, PJ11MD_00),
965 PINMUX_DATA(PWM2H_MARK, PJ11MD_01),
966 PINMUX_DATA(DACK1_MARK, PJ11MD_10),
968 PINMUX_DATA(PJ10_DATA, PJ10MD_00),
969 PINMUX_DATA(PWM2G_MARK, PJ10MD_01),
970 PINMUX_DATA(DREQ1_MARK, PJ10MD_10),
972 PINMUX_DATA(PJ9_DATA, PJ9MD_00),
973 PINMUX_DATA(PWM2F_MARK, PJ9MD_01),
974 PINMUX_DATA(TEND1_MARK, PJ9MD_10),
976 PINMUX_DATA(PJ8_DATA, PJ8MD_00),
977 PINMUX_DATA(PWM2E_MARK, PJ8MD_01),
978 PINMUX_DATA(RTS3_MARK, PJ8MD_10),
980 PINMUX_DATA(PJ7_DATA, PJ7MD_00),
981 PINMUX_DATA(TIOC1B_MARK, PJ7MD_01),
982 PINMUX_DATA(CTS3_MARK, PJ7MD_10),
984 PINMUX_DATA(PJ6_DATA, PJ6MD_00),
985 PINMUX_DATA(TIOC1A_MARK, PJ6MD_01),
986 PINMUX_DATA(SCK3_MARK, PJ6MD_10),
988 PINMUX_DATA(PJ5_DATA, PJ5MD_00),
989 PINMUX_DATA(IERXD_MARK, PJ5MD_01),
990 PINMUX_DATA(TXD3_MARK, PJ5MD_10),
992 PINMUX_DATA(PJ4_DATA, PJ4MD_00),
993 PINMUX_DATA(IETXD_MARK, PJ4MD_01),
994 PINMUX_DATA(RXD3_MARK, PJ4MD_10),
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),
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),
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),
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),
1022 PINMUX_DATA(PK11_DATA, PK11MD_00),
1023 PINMUX_DATA(PWM2D_MARK, PK11MD_01),
1024 PINMUX_DATA(SSITXD0_MARK, PK11MD_10),
1026 PINMUX_DATA(PK10_DATA, PK10MD_00),
1027 PINMUX_DATA(PWM2C_MARK, PK10MD_01),
1028 PINMUX_DATA(SSIRXD0_MARK, PK10MD_10),
1030 PINMUX_DATA(PK9_DATA, PK9MD_00),
1031 PINMUX_DATA(PWM2B_MARK, PK9MD_01),
1032 PINMUX_DATA(SSIWS0_MARK, PK9MD_10),
1034 PINMUX_DATA(PK8_DATA, PK8MD_00),
1035 PINMUX_DATA(PWM2A_MARK, PK8MD_01),
1036 PINMUX_DATA(SSISCK0_MARK, PK8MD_10),
1038 PINMUX_DATA(PK7_DATA, PK7MD_00),
1039 PINMUX_DATA(PWM1H_MARK, PK7MD_01),
1040 PINMUX_DATA(SD_CD_MARK, PK7MD_10),
1042 PINMUX_DATA(PK6_DATA, PK6MD_00),
1043 PINMUX_DATA(PWM1G_MARK, PK6MD_01),
1044 PINMUX_DATA(SD_WP_MARK, PK6MD_10),
1046 PINMUX_DATA(PK5_DATA, PK5MD_00),
1047 PINMUX_DATA(PWM1F_MARK, PK5MD_01),
1048 PINMUX_DATA(SD_D1_MARK, PK5MD_10),
1050 PINMUX_DATA(PK4_DATA, PK4MD_00),
1051 PINMUX_DATA(PWM1E_MARK, PK4MD_01),
1052 PINMUX_DATA(SD_D0_MARK, PK4MD_10),
1054 PINMUX_DATA(PK3_DATA, PK3MD_00),
1055 PINMUX_DATA(PWM1D_MARK, PK3MD_01),
1056 PINMUX_DATA(SD_CLK_MARK, PK3MD_10),
1058 PINMUX_DATA(PK2_DATA, PK2MD_00),
1059 PINMUX_DATA(PWM1C_MARK, PK2MD_01),
1060 PINMUX_DATA(SD_CMD_MARK, PK2MD_10),
1062 PINMUX_DATA(PK1_DATA, PK1MD_00),
1063 PINMUX_DATA(PWM1B_MARK, PK1MD_01),
1064 PINMUX_DATA(SD_D3_MARK, PK1MD_10),
1066 PINMUX_DATA(PK0_DATA, PK0MD_00),
1067 PINMUX_DATA(PWM1A_MARK, PK0MD_01),
1068 PINMUX_DATA(SD_D2_MARK, PK0MD_10),
1071 static const struct sh_pfc_pin pinmux_pins[] = {
1183 /* Port H - Port H does not have a Data Register */
1185 /* Port I - not on device */
1216 #define PINMUX_FN_BASE ARRAY_SIZE(pinmux_pins)
1218 static const struct pinmux_func pinmux_func_gpios[] = {
1382 GPIO_FN(MISO0_PF12),
1387 GPIO_FN(MISO1_PG19),
1414 /* SIOF */ /* NOTE Shares AUDIO_CLK with SSI */
1420 /* SPDIF */ /* NOTE Shares AUDIO_CLK with SSI */
1424 /* NANDFMC */ /* NOTE Controller is not available in boot mode 0 */
1443 GPIO_FN(LCD_EXTCLK),
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),
1465 GPIO_FN(LCD_M_DISP),
1468 static const struct pinmux_cfg_reg pinmux_config_regs[] = {
1469 { PINMUX_CFG_REG("PAIOR0", 0xfffe3812, 16, 1) {
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,
1479 { PINMUX_CFG_REG("PBCR5", 0xfffe3824, 16, 4) {
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 }
1490 { PINMUX_CFG_REG("PBCR4", 0xfffe3826, 16, 4) {
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 }
1500 { PINMUX_CFG_REG("PBCR3", 0xfffe3828, 16, 4) {
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 }
1510 { PINMUX_CFG_REG("PBCR2", 0xfffe382a, 16, 4) {
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 }
1520 { PINMUX_CFG_REG("PBCR1", 0xfffe382c, 16, 4) {
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 }
1530 { PINMUX_CFG_REG("PBCR0", 0xfffe382e, 16, 4) {
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 }
1541 { PINMUX_CFG_REG("PBIOR1", 0xfffe3830, 16, 1) {
1542 0, 0, 0, 0, 0, 0, 0, 0,
1543 0, 0, 0, 0, 0, 0, 0, 0,
1554 { PINMUX_CFG_REG("PBIOR0", 0xfffe3832, 16, 1) {
1573 { PINMUX_CFG_REG("PCCR2", 0xfffe384a, 16, 4) {
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 }
1583 { PINMUX_CFG_REG("PCCR1", 0xfffe384c, 16, 4) {
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 }
1593 { PINMUX_CFG_REG("PCCR0", 0xfffe384e, 16, 4) {
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 }
1604 { PINMUX_CFG_REG("PCIOR0", 0xfffe3852, 16, 1) {
1605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1620 { PINMUX_CFG_REG("PDCR3", 0xfffe3868, 16, 4) {
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 }
1630 { PINMUX_CFG_REG("PDCR2", 0xfffe386a, 16, 4) {
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 }
1640 { PINMUX_CFG_REG("PDCR1", 0xfffe386c, 16, 4) {
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 }
1650 { PINMUX_CFG_REG("PDCR0", 0xfffe386e, 16, 4) {
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 }
1661 { PINMUX_CFG_REG("PDIOR0", 0xfffe3872, 16, 1) {
1680 { PINMUX_CFG_REG("PECR1", 0xfffe388c, 16, 4) {
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 }
1691 { PINMUX_CFG_REG("PECR0", 0xfffe388e, 16, 4) {
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 }
1703 { PINMUX_CFG_REG("PEIOR0", 0xfffe3892, 16, 1) {
1704 0, 0, 0, 0, 0, 0, 0, 0,
1705 0, 0, 0, 0, 0, 0, 0, 0,
1715 { PINMUX_CFG_REG("PFCR3", 0xfffe38a8, 16, 4) {
1716 PF12MD_000, PF12MD_001, 0, PF12MD_011,
1717 PF12MD_100, PF12MD_101, 0, 0,
1718 0, 0, 0, 0, 0, 0, 0, 0 }
1721 { PINMUX_CFG_REG("PFCR2", 0xfffe38aa, 16, 4) {
1722 PF11MD_000, PF11MD_001, PF11MD_010, PF11MD_011,
1723 PF11MD_100, PF11MD_101, 0, 0,
1724 0, 0, 0, 0, 0, 0, 0, 0,
1725 PF10MD_000, PF10MD_001, PF10MD_010, PF10MD_011,
1726 PF10MD_100, PF10MD_101, 0, 0,
1727 0, 0, 0, 0, 0, 0, 0, 0,
1728 PF9MD_000, PF9MD_001, PF9MD_010, PF9MD_011,
1729 PF9MD_100, PF9MD_101, 0, 0,
1730 0, 0, 0, 0, 0, 0, 0, 0,
1731 PF8MD_00, PF8MD_01, PF8MD_10, PF8MD_11, 0, 0, 0, 0,
1732 0, 0, 0, 0, 0, 0, 0, 0 }
1735 { PINMUX_CFG_REG("PFCR1", 0xfffe38ac, 16, 4) {
1736 PF7MD_000, PF7MD_001, PF7MD_010, PF7MD_011,
1738 0, 0, 0, 0, 0, 0, 0, 0,
1739 PF6MD_000, PF6MD_001, PF6MD_010, PF6MD_011,
1741 0, 0, 0, 0, 0, 0, 0, 0,
1742 PF5MD_000, PF5MD_001, PF5MD_010, PF5MD_011,
1744 0, 0, 0, 0, 0, 0, 0, 0,
1745 PF4MD_000, PF4MD_001, PF4MD_010, PF4MD_011,
1747 0, 0, 0, 0, 0, 0, 0, 0 }
1750 { PINMUX_CFG_REG("PFCR0", 0xfffe38ae, 16, 4) {
1751 PF3MD_000, PF3MD_001, PF3MD_010, PF3MD_011,
1753 0, 0, 0, 0, 0, 0, 0, 0,
1754 PF2MD_000, PF2MD_001, PF2MD_010, PF2MD_011,
1755 PF2MD_100, PF2MD_101, 0, 0,
1756 0, 0, 0, 0, 0, 0, 0, 0,
1757 PF1MD_000, PF1MD_001, PF1MD_010, PF1MD_011,
1758 PF1MD_100, PF1MD_101, 0, 0,
1759 0, 0, 0, 0, 0, 0, 0, 0
1763 { PINMUX_CFG_REG("PFIOR0", 0xfffe38b2, 16, 1) {
1780 { PINMUX_CFG_REG("PGCR7", 0xfffe38c0, 16, 4) {
1781 0, 0, 0, 0, 0, 0, 0, 0,
1782 0, 0, 0, 0, 0, 0, 0, 0,
1783 0, 0, 0, 0, 0, 0, 0, 0,
1784 0, 0, 0, 0, 0, 0, 0, 0,
1785 0, 0, 0, 0, 0, 0, 0, 0,
1786 0, 0, 0, 0, 0, 0, 0, 0,
1787 PG0MD_000, PG0MD_001, PG0MD_010, PG0MD_011,
1789 0, 0, 0, 0, 0, 0, 0, 0 }
1792 { PINMUX_CFG_REG("PGCR6", 0xfffe38c2, 16, 4) {
1793 0, 0, 0, 0, 0, 0, 0, 0,
1794 0, 0, 0, 0, 0, 0, 0, 0,
1795 0, 0, 0, 0, 0, 0, 0, 0,
1796 0, 0, 0, 0, 0, 0, 0, 0,
1797 0, 0, 0, 0, 0, 0, 0, 0,
1798 0, 0, 0, 0, 0, 0, 0, 0,
1799 PG24MD_00, PG24MD_01, PG24MD_10, PG24MD_11, 0, 0, 0, 0,
1800 0, 0, 0, 0, 0, 0, 0, 0 }
1803 { PINMUX_CFG_REG("PGCR5", 0xfffe38c4, 16, 4) {
1804 PG23MD_00, PG23MD_01, PG23MD_10, PG23MD_11, 0, 0, 0, 0,
1805 0, 0, 0, 0, 0, 0, 0, 0,
1806 PG22MD_00, PG22MD_01, PG22MD_10, PG22MD_11, 0, 0, 0, 0,
1807 0, 0, 0, 0, 0, 0, 0, 0,
1808 PG21MD_00, PG21MD_01, PG21MD_10, PG21MD_11, 0, 0, 0, 0,
1809 0, 0, 0, 0, 0, 0, 0, 0,
1810 PG20MD_000, PG20MD_001, PG20MD_010, PG20MD_011,
1811 PG20MD_100, 0, 0, 0,
1812 0, 0, 0, 0, 0, 0, 0, 0 }
1815 { PINMUX_CFG_REG("PGCR4", 0xfffe38c6, 16, 4) {
1816 PG19MD_000, PG19MD_001, PG19MD_010, PG19MD_011,
1817 PG19MD_100, 0, 0, 0,
1818 0, 0, 0, 0, 0, 0, 0, 0,
1819 PG18MD_000, PG18MD_001, PG18MD_010, PG18MD_011,
1820 PG18MD_100, 0, 0, 0,
1821 0, 0, 0, 0, 0, 0, 0, 0,
1822 PG17MD_000, PG17MD_001, PG17MD_010, PG17MD_011,
1823 PG17MD_100, 0, 0, 0,
1824 0, 0, 0, 0, 0, 0, 0, 0,
1825 PG16MD_000, PG16MD_001, PG16MD_010, PG16MD_011,
1826 PG16MD_100, 0, 0, 0,
1827 0, 0, 0, 0, 0, 0, 0, 0 }
1830 { PINMUX_CFG_REG("PGCR3", 0xfffe38c8, 16, 4) {
1831 PG15MD_000, PG15MD_001, PG15MD_010, PG15MD_011,
1832 PG15MD_100, 0, 0, 0,
1833 0, 0, 0, 0, 0, 0, 0, 0,
1834 PG14MD_000, PG14MD_001, PG14MD_010, 0,
1835 PG14MD_100, 0, 0, 0,
1836 0, 0, 0, 0, 0, 0, 0, 0,
1837 PG13MD_000, PG13MD_001, PG13MD_010, 0,
1838 PG13MD_100, 0, 0, 0,
1839 0, 0, 0, 0, 0, 0, 0, 0,
1840 PG12MD_000, PG12MD_001, PG12MD_010, 0,
1841 PG12MD_100, 0, 0, 0,
1842 0, 0, 0, 0, 0, 0, 0, 0 }
1844 { PINMUX_CFG_REG("PGCR2", 0xfffe38ca, 16, 4) {
1845 PG11MD_000, PG11MD_001, PG11MD_010, PG11MD_011,
1846 PG11MD_100, PG11MD_101, 0, 0,
1847 0, 0, 0, 0, 0, 0, 0, 0,
1848 PG10MD_000, PG10MD_001, PG10MD_010, PG10MD_011,
1849 PG10MD_100, PG10MD_101, 0, 0,
1850 0, 0, 0, 0, 0, 0, 0, 0,
1851 PG9MD_000, PG9MD_001, PG9MD_010, PG9MD_011,
1852 PG9MD_100, PG9MD_101, 0, 0,
1853 0, 0, 0, 0, 0, 0, 0, 0,
1854 PG8MD_000, PG8MD_001, PG8MD_010, PG8MD_011,
1855 PG8MD_100, PG8MD_101, 0, 0,
1856 0, 0, 0, 0, 0, 0, 0, 0 }
1859 { PINMUX_CFG_REG("PGCR1", 0xfffe38cc, 16, 4) {
1860 PG7MD_00, PG7MD_01, PG7MD_10, PG7MD_11, 0, 0, 0, 0,
1861 0, 0, 0, 0, 0, 0, 0, 0,
1862 PG6MD_00, PG6MD_01, PG6MD_10, PG6MD_11, 0, 0, 0, 0,
1863 0, 0, 0, 0, 0, 0, 0, 0,
1864 PG5MD_00, PG5MD_01, PG5MD_10, PG5MD_11, 0, 0, 0, 0,
1865 0, 0, 0, 0, 0, 0, 0, 0,
1866 PG4MD_00, PG4MD_01, PG4MD_10, PG4MD_11, 0, 0, 0, 0,
1867 0, 0, 0, 0, 0, 0, 0, 0 }
1869 { PINMUX_CFG_REG("PGCR0", 0xfffe38ce, 16, 4) {
1870 PG3MD_00, PG3MD_01, PG3MD_10, PG3MD_11, 0, 0, 0, 0,
1871 0, 0, 0, 0, 0, 0, 0, 0,
1872 PG2MD_00, PG2MD_01, PG2MD_10, PG2MD_11, 0, 0, 0, 0,
1873 0, 0, 0, 0, 0, 0, 0, 0,
1874 PG1MD_00, PG1MD_01, PG1MD_10, PG1MD_11, 0, 0, 0, 0,
1875 0, 0, 0, 0, 0, 0, 0, 0,
1876 0, 0, 0, 0, 0, 0, 0, 0,
1877 0, 0, 0, 0, 0, 0, 0, 0 }
1879 { PINMUX_CFG_REG("PGIOR1", 0xfffe38d0, 16, 1) {
1880 0, 0, 0, 0, 0, 0, 0, 0,
1893 { PINMUX_CFG_REG("PGIOR0", 0xfffe38d2, 16, 1) {
1913 { PINMUX_CFG_REG("PHCR1", 0xfffe38ec, 16, 4) {
1914 PH7MD_0, PH7MD_1, 0, 0, 0, 0, 0, 0,
1915 0, 0, 0, 0, 0, 0, 0, 0,
1916 PH6MD_0, PH6MD_1, 0, 0, 0, 0, 0, 0,
1917 0, 0, 0, 0, 0, 0, 0, 0,
1918 PH5MD_0, PH5MD_1, 0, 0, 0, 0, 0, 0,
1919 0, 0, 0, 0, 0, 0, 0, 0,
1920 PH4MD_0, PH4MD_1, 0, 0, 0, 0, 0, 0,
1921 0, 0, 0, 0, 0, 0, 0, 0 }
1924 { PINMUX_CFG_REG("PHCR0", 0xfffe38ee, 16, 4) {
1925 PH3MD_0, PH3MD_1, 0, 0, 0, 0, 0, 0,
1926 0, 0, 0, 0, 0, 0, 0, 0,
1927 PH2MD_0, PH2MD_1, 0, 0, 0, 0, 0, 0,
1928 0, 0, 0, 0, 0, 0, 0, 0,
1929 PH1MD_0, PH1MD_1, 0, 0, 0, 0, 0, 0,
1930 0, 0, 0, 0, 0, 0, 0, 0,
1931 PH0MD_0, PH0MD_1, 0, 0, 0, 0, 0, 0,
1932 0, 0, 0, 0, 0, 0, 0, 0 }
1935 { PINMUX_CFG_REG("PJCR2", 0xfffe390a, 16, 4) {
1936 PJ11MD_00, PJ11MD_01, PJ11MD_10, 0, 0, 0, 0, 0,
1937 0, 0, 0, 0, 0, 0, 0, 0,
1938 PJ10MD_00, PJ10MD_01, PJ10MD_10, 0, 0, 0, 0, 0,
1939 0, 0, 0, 0, 0, 0, 0, 0,
1940 PJ9MD_00, PJ9MD_01, PJ9MD_10, 0, 0, 0, 0, 0,
1941 0, 0, 0, 0, 0, 0, 0, 0,
1942 PJ8MD_00, PJ8MD_01, PJ8MD_10, 0, 0, 0, 0, 0,
1943 0, 0, 0, 0, 0, 0, 0, 0 }
1945 { PINMUX_CFG_REG("PJCR1", 0xfffe390c, 16, 4) {
1946 PJ7MD_00, PJ7MD_01, PJ7MD_10, 0, 0, 0, 0, 0,
1947 0, 0, 0, 0, 0, 0, 0, 0,
1948 PJ6MD_00, PJ6MD_01, PJ6MD_10, 0, 0, 0, 0, 0,
1949 0, 0, 0, 0, 0, 0, 0, 0,
1950 PJ5MD_00, PJ5MD_01, PJ5MD_10, 0, 0, 0, 0, 0,
1951 0, 0, 0, 0, 0, 0, 0, 0,
1952 PJ4MD_00, PJ4MD_01, PJ4MD_10, 0, 0, 0, 0, 0,
1953 0, 0, 0, 0, 0, 0, 0, 0 }
1955 { PINMUX_CFG_REG("PJCR0", 0xfffe390e, 16, 4) {
1956 PJ3MD_00, PJ3MD_01, PJ3MD_10, PJ3MD_11, 0, 0, 0, 0,
1957 0, 0, 0, 0, 0, 0, 0, 0,
1958 PJ2MD_000, PJ2MD_001, PJ2MD_010, PJ2MD_011,
1959 PJ2MD_100, PJ2MD_101, 0, 0,
1960 0, 0, 0, 0, 0, 0, 0, 0,
1961 PJ1MD_000, PJ1MD_001, PJ1MD_010, PJ1MD_011,
1963 0, 0, 0, 0, 0, 0, 0, 0,
1964 PJ0MD_000, PJ0MD_001, PJ0MD_010, PJ0MD_011,
1965 PJ0MD_100, PJ0MD_101, 0, 0,
1966 0, 0, 0, 0, 0, 0, 0, 0, }
1968 { PINMUX_CFG_REG("PJIOR0", 0xfffe3912, 16, 1) {
1969 0, 0, 0, 0, 0, 0, 0, 0,
1984 { PINMUX_CFG_REG("PKCR2", 0xfffe392a, 16, 4) {
1985 PK11MD_00, PK11MD_01, PK11MD_10, 0, 0, 0, 0, 0,
1986 0, 0, 0, 0, 0, 0, 0, 0,
1987 PK10MD_00, PK10MD_01, PK10MD_10, 0, 0, 0, 0, 0,
1988 0, 0, 0, 0, 0, 0, 0, 0,
1989 PK9MD_00, PK9MD_01, PK9MD_10, 0, 0, 0, 0, 0,
1990 0, 0, 0, 0, 0, 0, 0, 0,
1991 PK8MD_00, PK8MD_01, PK8MD_10, 0, 0, 0, 0, 0,
1992 0, 0, 0, 0, 0, 0, 0, 0 }
1995 { PINMUX_CFG_REG("PKCR1", 0xfffe392c, 16, 4) {
1996 PK7MD_00, PK7MD_01, PK7MD_10, 0, 0, 0, 0, 0,
1997 0, 0, 0, 0, 0, 0, 0, 0,
1998 PK6MD_00, PK6MD_01, PK6MD_10, 0, 0, 0, 0, 0,
1999 0, 0, 0, 0, 0, 0, 0, 0,
2000 PK5MD_00, PK5MD_01, PK5MD_10, 0, 0, 0, 0, 0,
2001 0, 0, 0, 0, 0, 0, 0, 0,
2002 PK4MD_00, PK4MD_01, PK4MD_10, 0, 0, 0, 0, 0,
2003 0, 0, 0, 0, 0, 0, 0, 0 }
2005 { PINMUX_CFG_REG("PKCR0", 0xfffe392e, 16, 4) {
2006 PK3MD_00, PK3MD_01, PK3MD_10, 0, 0, 0, 0, 0,
2007 0, 0, 0, 0, 0, 0, 0, 0,
2008 PK2MD_00, PK2MD_01, PK2MD_10, 0, 0, 0, 0, 0,
2009 0, 0, 0, 0, 0, 0, 0, 0,
2010 PK1MD_00, PK1MD_01, PK1MD_10, 0, 0, 0, 0, 0,
2011 0, 0, 0, 0, 0, 0, 0, 0,
2012 PK0MD_00, PK0MD_01, PK0MD_10, 0, 0, 0, 0, 0,
2013 0, 0, 0, 0, 0, 0, 0, 0 }
2016 { PINMUX_CFG_REG("PKIOR0", 0xfffe3932, 16, 1) {
2017 0, 0, 0, 0, 0, 0, 0, 0,
2034 static const struct pinmux_data_reg pinmux_data_regs[] = {
2035 { PINMUX_DATA_REG("PADR1", 0xfffe3814, 16) {
2036 0, 0, 0, 0, 0, 0, 0, PA3_DATA,
2037 0, 0, 0, 0, 0, 0, 0, PA2_DATA }
2040 { PINMUX_DATA_REG("PADR0", 0xfffe3816, 16) {
2041 0, 0, 0, 0, 0, 0, 0, PA1_DATA,
2042 0, 0, 0, 0, 0, 0, 0, PA0_DATA }
2045 { PINMUX_DATA_REG("PBDR1", 0xfffe3834, 16) {
2046 0, 0, 0, 0, 0, 0, 0, 0,
2047 0, PB22_DATA, PB21_DATA, PB20_DATA,
2048 PB19_DATA, PB18_DATA, PB17_DATA, PB16_DATA }
2051 { PINMUX_DATA_REG("PBDR0", 0xfffe3836, 16) {
2052 PB15_DATA, PB14_DATA, PB13_DATA, PB12_DATA,
2053 PB11_DATA, PB10_DATA, PB9_DATA, PB8_DATA,
2054 PB7_DATA, PB6_DATA, PB5_DATA, PB4_DATA,
2055 PB3_DATA, PB2_DATA, PB1_DATA, 0 }
2058 { PINMUX_DATA_REG("PCDR0", 0xfffe3856, 16) {
2060 0, PC10_DATA, PC9_DATA, PC8_DATA,
2061 PC7_DATA, PC6_DATA, PC5_DATA, PC4_DATA,
2062 PC3_DATA, PC2_DATA, PC1_DATA, PC0_DATA }
2065 { PINMUX_DATA_REG("PDDR0", 0xfffe3876, 16) {
2066 PD15_DATA, PD14_DATA, PD13_DATA, PD12_DATA,
2067 PD11_DATA, PD10_DATA, PD9_DATA, PD8_DATA,
2068 PD7_DATA, PD6_DATA, PD5_DATA, PD4_DATA,
2069 PD3_DATA, PD2_DATA, PD1_DATA, PD0_DATA }
2072 { PINMUX_DATA_REG("PEDR0", 0xfffe3896, 16) {
2073 0, 0, 0, 0, 0, 0, 0, 0,
2074 0, 0, PE5_DATA, PE4_DATA,
2075 PE3_DATA, PE2_DATA, PE1_DATA, PE0_DATA }
2078 { PINMUX_DATA_REG("PFDR0", 0xfffe38b6, 16) {
2080 PF11_DATA, PF10_DATA, PF9_DATA, PF8_DATA,
2081 PF7_DATA, PF6_DATA, PF5_DATA, PF4_DATA,
2082 PF3_DATA, PF2_DATA, PF1_DATA, PF0_DATA }
2085 { PINMUX_DATA_REG("PGDR1", 0xfffe38d4, 16) {
2086 0, 0, 0, 0, 0, 0, 0, PG24_DATA,
2087 PG23_DATA, PG22_DATA, PG21_DATA, PG20_DATA,
2088 PG19_DATA, PG18_DATA, PG17_DATA, PG16_DATA }
2091 { PINMUX_DATA_REG("PGDR0", 0xfffe38d6, 16) {
2092 PG15_DATA, PG14_DATA, PG13_DATA, PG12_DATA,
2093 PG11_DATA, PG10_DATA, PG9_DATA, PG8_DATA,
2094 PG7_DATA, PG6_DATA, PG5_DATA, PG4_DATA,
2095 PG3_DATA, PG2_DATA, PG1_DATA, PG0_DATA }
2097 { PINMUX_DATA_REG("PJDR0", 0xfffe3916, 16) {
2099 PJ11_DATA, PJ10_DATA, PJ9_DATA, PJ8_DATA,
2100 PJ7_DATA, PJ6_DATA, PJ5_DATA, PJ4_DATA,
2101 PJ3_DATA, PJ2_DATA, PJ1_DATA, PJ0_DATA }
2103 { PINMUX_DATA_REG("PKDR0", 0xfffe3936, 16) {
2105 PK11_DATA, PK10_DATA, PK9_DATA, PK8_DATA,
2106 PK7_DATA, PK6_DATA, PK5_DATA, PK4_DATA,
2107 PK3_DATA, PK2_DATA, PK1_DATA, PK0_DATA }
2112 const struct sh_pfc_soc_info sh7264_pinmux_info = {
2113 .name = "sh7264_pfc",
2114 .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END, FORCE_IN },
2115 .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END, FORCE_OUT },
2116 .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
2118 .pins = pinmux_pins,
2119 .nr_pins = ARRAY_SIZE(pinmux_pins),
2120 .func_gpios = pinmux_func_gpios,
2121 .nr_func_gpios = ARRAY_SIZE(pinmux_func_gpios),
2123 .cfg_regs = pinmux_config_regs,
2124 .data_regs = pinmux_data_regs,
2126 .pinmux_data = pinmux_data,
2127 .pinmux_data_size = ARRAY_SIZE(pinmux_data),