1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * SH7264 Pinmux
4  *
5  *  Copyright (C) 2012  Renesas Electronics Europe Ltd
6  */
7 
8 #include <linux/kernel.h>
9 #include <linux/gpio.h>
10 #include <cpu/sh7264.h>
11 
12 #include "sh_pfc.h"
13 
14 enum {
15 	PINMUX_RESERVED = 0,
16 
17 	PINMUX_DATA_BEGIN,
18 	/* Port A */
19 	PA3_DATA, PA2_DATA, PA1_DATA, PA0_DATA,
20 	/* Port B */
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 	/* Port C */
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 	/* Port D */
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 	/* Port E */
37 	PE5_DATA, PE4_DATA,
38 	PE3_DATA, PE2_DATA, PE1_DATA, PE0_DATA,
39 	/* Port F */
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 	/* Port G */
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 	/* Port H */
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 */
58 	/* Port J */
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 	/* Port K */
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 	/* Port A */
73 	PA3_IN, PA2_IN, PA1_IN, PA0_IN,
74 	/* Port B */
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 	/* Port C */
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 	/* Port D */
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 	/* Port E */
91 	PE5_IN, PE4_IN,
92 	PE3_IN, PE2_IN, PE1_IN, PE0_IN,
93 	/* Port F */
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 	/* Port G */
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 	/* Port H - Port H does not have a Data Register */
107 	/* Port I - not on device */
108 	/* Port J */
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 	/* Port K */
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 	/* Port A */
123 	PA3_OUT, PA2_OUT, PA1_OUT, PA0_OUT,
124 	/* Port B */
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 	/* Port C */
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 	/* Port D */
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 	/* Port E */
141 	PE5_OUT, PE4_OUT,
142 	PE3_OUT, PE2_OUT, PE1_OUT, PE0_OUT,
143 	/* Port F */
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 	/* Port G */
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 	/* Port H - Port H does not have a Data Register */
157 	/* Port I - not on device */
158 	/* Port J */
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 	/* Port K */
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 	/* Port A */
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 	/* Port B */
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 	/* Port C */
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 	/* Port D */
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 	/* Port E */
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 	/* Port F */
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 	/* Port G */
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 	/* Port H */
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 	/* Port I - not on device */
405 
406 	/* Port J */
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 	/* Port K */
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 	/* Port A */
466 
467 	/* Port B */
468 
469 	/* Port C */
470 
471 	/* Port D */
472 
473 	/* Port E */
474 
475 	/* Port F */
476 
477 	/* Port G */
478 
479 	/* Port H */
480 	PHAN7_MARK, PHAN6_MARK, PHAN5_MARK, PHAN4_MARK,
481 	PHAN3_MARK, PHAN2_MARK, PHAN1_MARK, PHAN0_MARK,
482 
483 	/* Port I - not on device */
484 
485 	/* Port J */
486 
487 	/* Port K */
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 	CRX0_CRX1_MARK, CTX0_CTX1_MARK,
501 
502 	PWM1A_MARK, PWM1B_MARK, PWM1C_MARK, PWM1D_MARK,
503 	PWM1E_MARK, PWM1F_MARK, PWM1G_MARK, PWM1H_MARK,
504 	PWM2A_MARK, PWM2B_MARK, PWM2C_MARK, PWM2D_MARK,
505 	PWM2E_MARK, PWM2F_MARK, PWM2G_MARK, PWM2H_MARK,
506 	IERXD_MARK, IETXD_MARK,
507 	WDTOVF_MARK,
508 
509 	/* DMAC */
510 	TEND0_MARK, DACK0_MARK, DREQ0_MARK,
511 	TEND1_MARK, DACK1_MARK, DREQ1_MARK,
512 
513 	/* ADC */
514 	ADTRG_MARK,
515 
516 	/* BSC */
517 	A25_MARK, A24_MARK,
518 	A23_MARK, A22_MARK, A21_MARK, A20_MARK,
519 	A19_MARK, A18_MARK, A17_MARK, A16_MARK,
520 	A15_MARK, A14_MARK, A13_MARK, A12_MARK,
521 	A11_MARK, A10_MARK, A9_MARK, A8_MARK,
522 	A7_MARK, A6_MARK, A5_MARK, A4_MARK,
523 	A3_MARK, A2_MARK, A1_MARK, A0_MARK,
524 	D15_MARK, D14_MARK, D13_MARK, D12_MARK,
525 	D11_MARK, D10_MARK, D9_MARK, D8_MARK,
526 	D7_MARK, D6_MARK, D5_MARK, D4_MARK,
527 	D3_MARK, D2_MARK, D1_MARK, D0_MARK,
528 	BS_MARK,
529 	CS4_MARK, CS3_MARK, CS2_MARK, CS1_MARK, CS0_MARK,
530 	CS6CE1B_MARK, CS5CE1A_MARK,
531 	CE2A_MARK, CE2B_MARK,
532 	RD_MARK, RDWR_MARK,
533 	ICIOWRAH_MARK,
534 	ICIORD_MARK,
535 	WE1DQMUWE_MARK,
536 	WE0DQML_MARK,
537 	RAS_MARK, CAS_MARK, CKE_MARK,
538 	WAIT_MARK, BREQ_MARK, BACK_MARK, IOIS16_MARK,
539 
540 	/* TMU */
541 	TIOC0A_MARK, TIOC0B_MARK, TIOC0C_MARK, TIOC0D_MARK,
542 	TIOC1A_MARK, TIOC1B_MARK,
543 	TIOC2A_MARK, TIOC2B_MARK,
544 	TIOC3A_MARK, TIOC3B_MARK, TIOC3C_MARK, TIOC3D_MARK,
545 	TIOC4A_MARK, TIOC4B_MARK, TIOC4C_MARK, TIOC4D_MARK,
546 	TCLKA_MARK,	TCLKB_MARK, TCLKC_MARK, TCLKD_MARK,
547 
548 	/* SCIF */
549 	SCK0_MARK, SCK1_MARK, SCK2_MARK, SCK3_MARK,
550 	RXD0_MARK, RXD1_MARK, RXD2_MARK, RXD3_MARK,
551 	TXD0_MARK, TXD1_MARK, TXD2_MARK, TXD3_MARK,
552 	RXD4_MARK, RXD5_MARK, RXD6_MARK, RXD7_MARK,
553 	TXD4_MARK, TXD5_MARK, TXD6_MARK, TXD7_MARK,
554 	RTS1_MARK, RTS3_MARK,
555 	CTS1_MARK, CTS3_MARK,
556 
557 	/* RSPI */
558 	RSPCK0_MARK, RSPCK1_MARK,
559 	MOSI0_MARK, MOSI1_MARK,
560 	MISO0_PF12_MARK, MISO1_MARK, MISO1_PG19_MARK,
561 	SSL00_MARK, SSL10_MARK,
562 
563 	/* IIC3 */
564 	SCL0_MARK, SCL1_MARK, SCL2_MARK,
565 	SDA0_MARK, SDA1_MARK, SDA2_MARK,
566 
567 	/* SSI */
568 	SSISCK0_MARK,
569 	SSIWS0_MARK,
570 	SSITXD0_MARK,
571 	SSIRXD0_MARK,
572 	SSIWS1_MARK, SSIWS2_MARK, SSIWS3_MARK,
573 	SSISCK1_MARK, SSISCK2_MARK, SSISCK3_MARK,
574 	SSIDATA1_MARK, SSIDATA2_MARK, SSIDATA3_MARK,
575 	AUDIO_CLK_MARK,
576 
577 	/* SIOF */ /* NOTE Shares AUDIO_CLK with SSI */
578 	SIOFTXD_MARK, SIOFRXD_MARK, SIOFSYNC_MARK, SIOFSCK_MARK,
579 
580 	/* SPDIF */ /* NOTE Shares AUDIO_CLK with SSI */
581 	SPDIF_IN_MARK, SPDIF_OUT_MARK,
582 
583 	/* NANDFMC */ /* NOTE Controller is not available in boot mode 0 */
584 	FCE_MARK,
585 	FRB_MARK,
586 
587 	/* VDC3 */
588 	DV_CLK_MARK,
589 	DV_VSYNC_MARK, DV_HSYNC_MARK,
590 	DV_DATA7_MARK, DV_DATA6_MARK, DV_DATA5_MARK, DV_DATA4_MARK,
591 	DV_DATA3_MARK, DV_DATA2_MARK, DV_DATA1_MARK, DV_DATA0_MARK,
592 	LCD_CLK_MARK, LCD_EXTCLK_MARK,
593 	LCD_VSYNC_MARK, LCD_HSYNC_MARK, LCD_DE_MARK,
594 	LCD_DATA15_MARK, LCD_DATA14_MARK, LCD_DATA13_MARK, LCD_DATA12_MARK,
595 	LCD_DATA11_MARK, LCD_DATA10_MARK, LCD_DATA9_MARK, LCD_DATA8_MARK,
596 	LCD_DATA7_MARK, LCD_DATA6_MARK, LCD_DATA5_MARK, LCD_DATA4_MARK,
597 	LCD_DATA3_MARK, LCD_DATA2_MARK, LCD_DATA1_MARK, LCD_DATA0_MARK,
598 	LCD_M_DISP_MARK,
599 	PINMUX_MARK_END,
600 };
601 
602 static const u16 pinmux_data[] = {
603 	/* Port A */
604 	PINMUX_DATA(PA3_DATA, PA3_IN),
605 	PINMUX_DATA(PA2_DATA, PA2_IN),
606 	PINMUX_DATA(PA1_DATA, PA1_IN),
607 	PINMUX_DATA(PA0_DATA, PA0_IN),
608 
609 	/* Port B */
610 	PINMUX_DATA(PB22_DATA, PB22MD_00, PB22_IN, PB22_OUT),
611 	PINMUX_DATA(A22_MARK, PB22MD_01),
612 	PINMUX_DATA(CS4_MARK, PB22MD_10),
613 
614 	PINMUX_DATA(PB21_DATA, PB21MD_0, PB21_IN, PB21_OUT),
615 	PINMUX_DATA(A21_MARK, PB21MD_1),
616 	PINMUX_DATA(A20_MARK, PB20MD_1),
617 	PINMUX_DATA(A19_MARK, PB19MD_01),
618 	PINMUX_DATA(A18_MARK, PB18MD_01),
619 	PINMUX_DATA(A17_MARK, PB17MD_01),
620 	PINMUX_DATA(A16_MARK, PB16MD_01),
621 	PINMUX_DATA(A15_MARK, PB15MD_01),
622 	PINMUX_DATA(A14_MARK, PB14MD_01),
623 	PINMUX_DATA(A13_MARK, PB13MD_01),
624 	PINMUX_DATA(A12_MARK, PB12MD_01),
625 	PINMUX_DATA(A11_MARK, PB11MD_01),
626 	PINMUX_DATA(A10_MARK, PB10MD_01),
627 	PINMUX_DATA(A9_MARK, PB9MD_01),
628 	PINMUX_DATA(A8_MARK, PB8MD_01),
629 	PINMUX_DATA(A7_MARK, PB7MD_01),
630 	PINMUX_DATA(A6_MARK, PB6MD_01),
631 	PINMUX_DATA(A5_MARK, PB5MD_01),
632 	PINMUX_DATA(A4_MARK, PB4MD_01),
633 	PINMUX_DATA(A3_MARK, PB3MD_1),
634 	PINMUX_DATA(A2_MARK, PB2MD_1),
635 	PINMUX_DATA(A1_MARK, PB1MD_1),
636 
637 	/* Port C */
638 	PINMUX_DATA(PC10_DATA, PC10MD_0),
639 	PINMUX_DATA(TIOC2B_MARK, PC1MD_1),
640 	PINMUX_DATA(PC9_DATA, PC9MD_0),
641 	PINMUX_DATA(TIOC2A_MARK, PC9MD_1),
642 	PINMUX_DATA(PC8_DATA, PC8MD_00),
643 	PINMUX_DATA(CS3_MARK, PC8MD_01),
644 	PINMUX_DATA(TIOC4D_MARK, PC8MD_10),
645 	PINMUX_DATA(IRQ7_PC_MARK, PC8MD_11),
646 	PINMUX_DATA(PC7_DATA, PC7MD_00),
647 	PINMUX_DATA(CKE_MARK, PC7MD_01),
648 	PINMUX_DATA(TIOC4C_MARK, PC7MD_10),
649 	PINMUX_DATA(IRQ6_PC_MARK, PC7MD_11),
650 	PINMUX_DATA(PC6_DATA, PC6MD_00),
651 	PINMUX_DATA(CAS_MARK, PC6MD_01),
652 	PINMUX_DATA(TIOC4B_MARK, PC6MD_10),
653 	PINMUX_DATA(IRQ5_PC_MARK, PC6MD_11),
654 	PINMUX_DATA(PC5_DATA, PC5MD_00),
655 	PINMUX_DATA(RAS_MARK, PC5MD_01),
656 	PINMUX_DATA(TIOC4A_MARK, PC5MD_10),
657 	PINMUX_DATA(IRQ4_PC_MARK, PC5MD_11),
658 	PINMUX_DATA(PC4_DATA, PC4MD_0),
659 	PINMUX_DATA(WE1DQMUWE_MARK, PC4MD_1),
660 	PINMUX_DATA(PC3_DATA, PC3MD_0),
661 	PINMUX_DATA(WE0DQML_MARK, PC3MD_1),
662 	PINMUX_DATA(PC2_DATA, PC2MD_0),
663 	PINMUX_DATA(RDWR_MARK, PC2MD_1),
664 	PINMUX_DATA(PC1_DATA, PC1MD_0),
665 	PINMUX_DATA(RD_MARK, PC1MD_1),
666 	PINMUX_DATA(PC0_DATA, PC0MD_0),
667 	PINMUX_DATA(CS0_MARK, PC0MD_1),
668 
669 	/* Port D */
670 	PINMUX_DATA(D15_MARK, PD15MD_01),
671 	PINMUX_DATA(D14_MARK, PD14MD_01),
672 	PINMUX_DATA(D13_MARK, PD13MD_01),
673 	PINMUX_DATA(D12_MARK, PD12MD_01),
674 	PINMUX_DATA(D11_MARK, PD11MD_01),
675 	PINMUX_DATA(D10_MARK, PD10MD_01),
676 	PINMUX_DATA(D9_MARK, PD9MD_01),
677 	PINMUX_DATA(D8_MARK, PD8MD_01),
678 	PINMUX_DATA(D7_MARK, PD7MD_01),
679 	PINMUX_DATA(D6_MARK, PD6MD_01),
680 	PINMUX_DATA(D5_MARK, PD5MD_01),
681 	PINMUX_DATA(D4_MARK, PD4MD_01),
682 	PINMUX_DATA(D3_MARK, PD3MD_01),
683 	PINMUX_DATA(D2_MARK, PD2MD_01),
684 	PINMUX_DATA(D1_MARK, PD1MD_01),
685 	PINMUX_DATA(D0_MARK, PD0MD_01),
686 
687 	/* Port E */
688 	PINMUX_DATA(PE5_DATA, PE5MD_00),
689 	PINMUX_DATA(SDA2_MARK, PE5MD_01),
690 	PINMUX_DATA(DV_HSYNC_MARK, PE5MD_11),
691 
692 	PINMUX_DATA(PE4_DATA, PE4MD_00),
693 	PINMUX_DATA(SCL2_MARK, PE4MD_01),
694 	PINMUX_DATA(DV_VSYNC_MARK, PE4MD_11),
695 
696 	PINMUX_DATA(PE3_DATA, PE3MD_00),
697 	PINMUX_DATA(SDA1_MARK, PE3MD_01),
698 	PINMUX_DATA(IRQ3_PE_MARK, PE3MD_11),
699 
700 	PINMUX_DATA(PE2_DATA, PE2MD_00),
701 	PINMUX_DATA(SCL1_MARK, PE2MD_01),
702 	PINMUX_DATA(IRQ2_PE_MARK, PE2MD_11),
703 
704 	PINMUX_DATA(PE1_DATA, PE1MD_000),
705 	PINMUX_DATA(SDA0_MARK, PE1MD_001),
706 	PINMUX_DATA(IOIS16_MARK, PE1MD_010),
707 	PINMUX_DATA(IRQ1_PE_MARK, PE1MD_011),
708 	PINMUX_DATA(TCLKA_MARK, PE1MD_100),
709 	PINMUX_DATA(ADTRG_MARK, PE1MD_101),
710 
711 	PINMUX_DATA(PE0_DATA, PE0MD_00),
712 	PINMUX_DATA(SCL0_MARK, PE0MD_01),
713 	PINMUX_DATA(AUDIO_CLK_MARK, PE0MD_10),
714 	PINMUX_DATA(IRQ0_PE_MARK, PE0MD_11),
715 
716 	/* Port F */
717 	PINMUX_DATA(PF12_DATA, PF12MD_000),
718 	PINMUX_DATA(BS_MARK, PF12MD_001),
719 	PINMUX_DATA(MISO0_PF12_MARK, PF12MD_011),
720 	PINMUX_DATA(TIOC3D_MARK, PF12MD_100),
721 	PINMUX_DATA(SPDIF_OUT_MARK, PF12MD_101),
722 
723 	PINMUX_DATA(PF11_DATA, PF11MD_000),
724 	PINMUX_DATA(A25_MARK, PF11MD_001),
725 	PINMUX_DATA(SSIDATA3_MARK, PF11MD_010),
726 	PINMUX_DATA(MOSI0_MARK, PF11MD_011),
727 	PINMUX_DATA(TIOC3C_MARK, PF11MD_100),
728 	PINMUX_DATA(SPDIF_IN_MARK, PF11MD_101),
729 
730 	PINMUX_DATA(PF10_DATA, PF10MD_000),
731 	PINMUX_DATA(A24_MARK, PF10MD_001),
732 	PINMUX_DATA(SSIWS3_MARK, PF10MD_010),
733 	PINMUX_DATA(SSL00_MARK, PF10MD_011),
734 	PINMUX_DATA(TIOC3B_MARK, PF10MD_100),
735 	PINMUX_DATA(FCE_MARK, PF10MD_101),
736 
737 	PINMUX_DATA(PF9_DATA, PF9MD_000),
738 	PINMUX_DATA(A23_MARK, PF9MD_001),
739 	PINMUX_DATA(SSISCK3_MARK, PF9MD_010),
740 	PINMUX_DATA(RSPCK0_MARK, PF9MD_011),
741 	PINMUX_DATA(TIOC3A_MARK, PF9MD_100),
742 	PINMUX_DATA(FRB_MARK, PF9MD_101),
743 
744 	PINMUX_DATA(PF8_DATA, PF8MD_00),
745 	PINMUX_DATA(CE2B_MARK, PF8MD_01),
746 	PINMUX_DATA(SSIDATA3_MARK, PF8MD_10),
747 	PINMUX_DATA(DV_CLK_MARK, PF8MD_11),
748 
749 	PINMUX_DATA(PF7_DATA, PF7MD_000),
750 	PINMUX_DATA(CE2A_MARK, PF7MD_001),
751 	PINMUX_DATA(SSIWS3_MARK, PF7MD_010),
752 	PINMUX_DATA(DV_DATA7_MARK, PF7MD_011),
753 	PINMUX_DATA(TCLKD_MARK, PF7MD_100),
754 
755 	PINMUX_DATA(PF6_DATA, PF6MD_000),
756 	PINMUX_DATA(CS6CE1B_MARK, PF6MD_001),
757 	PINMUX_DATA(SSISCK3_MARK, PF6MD_010),
758 	PINMUX_DATA(DV_DATA6_MARK, PF6MD_011),
759 	PINMUX_DATA(TCLKB_MARK, PF6MD_100),
760 
761 	PINMUX_DATA(PF5_DATA, PF5MD_000),
762 	PINMUX_DATA(CS5CE1A_MARK, PF5MD_001),
763 	PINMUX_DATA(SSIDATA2_MARK, PF5MD_010),
764 	PINMUX_DATA(DV_DATA5_MARK, PF5MD_011),
765 	PINMUX_DATA(TCLKC_MARK, PF5MD_100),
766 
767 	PINMUX_DATA(PF4_DATA, PF4MD_000),
768 	PINMUX_DATA(ICIOWRAH_MARK, PF4MD_001),
769 	PINMUX_DATA(SSIWS2_MARK, PF4MD_010),
770 	PINMUX_DATA(DV_DATA4_MARK, PF4MD_011),
771 	PINMUX_DATA(TXD3_MARK, PF4MD_100),
772 
773 	PINMUX_DATA(PF3_DATA, PF3MD_000),
774 	PINMUX_DATA(ICIORD_MARK, PF3MD_001),
775 	PINMUX_DATA(SSISCK2_MARK, PF3MD_010),
776 	PINMUX_DATA(DV_DATA3_MARK, PF3MD_011),
777 	PINMUX_DATA(RXD3_MARK, PF3MD_100),
778 
779 	PINMUX_DATA(PF2_DATA, PF2MD_000),
780 	PINMUX_DATA(BACK_MARK, PF2MD_001),
781 	PINMUX_DATA(SSIDATA1_MARK, PF2MD_010),
782 	PINMUX_DATA(DV_DATA2_MARK, PF2MD_011),
783 	PINMUX_DATA(TXD2_MARK, PF2MD_100),
784 	PINMUX_DATA(DACK0_MARK, PF2MD_101),
785 
786 	PINMUX_DATA(PF1_DATA, PF1MD_000),
787 	PINMUX_DATA(BREQ_MARK, PF1MD_001),
788 	PINMUX_DATA(SSIWS1_MARK, PF1MD_010),
789 	PINMUX_DATA(DV_DATA1_MARK, PF1MD_011),
790 	PINMUX_DATA(RXD2_MARK, PF1MD_100),
791 	PINMUX_DATA(DREQ0_MARK, PF1MD_101),
792 
793 	PINMUX_DATA(PF0_DATA, PF0MD_000),
794 	PINMUX_DATA(WAIT_MARK, PF0MD_001),
795 	PINMUX_DATA(SSISCK1_MARK, PF0MD_010),
796 	PINMUX_DATA(DV_DATA0_MARK, PF0MD_011),
797 	PINMUX_DATA(SCK2_MARK, PF0MD_100),
798 	PINMUX_DATA(TEND0_MARK, PF0MD_101),
799 
800 	/* Port G */
801 	PINMUX_DATA(PG24_DATA, PG24MD_00),
802 	PINMUX_DATA(MOSI0_MARK, PG24MD_01),
803 	PINMUX_DATA(TIOC0D_MARK, PG24MD_10),
804 
805 	PINMUX_DATA(PG23_DATA, PG23MD_00),
806 	PINMUX_DATA(MOSI1_MARK, PG23MD_01),
807 	PINMUX_DATA(TIOC0C_MARK, PG23MD_10),
808 
809 	PINMUX_DATA(PG22_DATA, PG22MD_00),
810 	PINMUX_DATA(SSL10_MARK, PG22MD_01),
811 	PINMUX_DATA(TIOC0B_MARK, PG22MD_10),
812 
813 	PINMUX_DATA(PG21_DATA, PG21MD_00),
814 	PINMUX_DATA(RSPCK1_MARK, PG21MD_01),
815 	PINMUX_DATA(TIOC0A_MARK, PG21MD_10),
816 
817 	PINMUX_DATA(PG20_DATA, PG20MD_000),
818 	PINMUX_DATA(LCD_EXTCLK_MARK, PG20MD_001),
819 	PINMUX_DATA(MISO1_MARK, PG20MD_011),
820 	PINMUX_DATA(TXD7_MARK, PG20MD_100),
821 
822 	PINMUX_DATA(PG19_DATA, PG19MD_000),
823 	PINMUX_DATA(LCD_CLK_MARK, PG19MD_001),
824 	PINMUX_DATA(TIOC2B_MARK, PG19MD_010),
825 	PINMUX_DATA(MISO1_PG19_MARK, PG19MD_011),
826 	PINMUX_DATA(RXD7_MARK, PG19MD_100),
827 
828 	PINMUX_DATA(PG18_DATA, PG18MD_000),
829 	PINMUX_DATA(LCD_DE_MARK, PG18MD_001),
830 	PINMUX_DATA(TIOC2A_MARK, PG18MD_010),
831 	PINMUX_DATA(SSL10_MARK, PG18MD_011),
832 	PINMUX_DATA(TXD6_MARK, PG18MD_100),
833 
834 	PINMUX_DATA(PG17_DATA, PG17MD_000),
835 	PINMUX_DATA(LCD_HSYNC_MARK, PG17MD_001),
836 	PINMUX_DATA(TIOC1B_MARK, PG17MD_010),
837 	PINMUX_DATA(RSPCK1_MARK, PG17MD_011),
838 	PINMUX_DATA(RXD6_MARK, PG17MD_100),
839 
840 	PINMUX_DATA(PG16_DATA, PG16MD_000),
841 	PINMUX_DATA(LCD_VSYNC_MARK, PG16MD_001),
842 	PINMUX_DATA(TIOC1A_MARK, PG16MD_010),
843 	PINMUX_DATA(TXD3_MARK, PG16MD_011),
844 	PINMUX_DATA(CTS1_MARK, PG16MD_100),
845 
846 	PINMUX_DATA(PG15_DATA, PG15MD_000),
847 	PINMUX_DATA(LCD_DATA15_MARK, PG15MD_001),
848 	PINMUX_DATA(TIOC0D_MARK, PG15MD_010),
849 	PINMUX_DATA(RXD3_MARK, PG15MD_011),
850 	PINMUX_DATA(RTS1_MARK, PG15MD_100),
851 
852 	PINMUX_DATA(PG14_DATA, PG14MD_000),
853 	PINMUX_DATA(LCD_DATA14_MARK, PG14MD_001),
854 	PINMUX_DATA(TIOC0C_MARK, PG14MD_010),
855 	PINMUX_DATA(SCK1_MARK, PG14MD_100),
856 
857 	PINMUX_DATA(PG13_DATA, PG13MD_000),
858 	PINMUX_DATA(LCD_DATA13_MARK, PG13MD_001),
859 	PINMUX_DATA(TIOC0B_MARK, PG13MD_010),
860 	PINMUX_DATA(TXD1_MARK, PG13MD_100),
861 
862 	PINMUX_DATA(PG12_DATA, PG12MD_000),
863 	PINMUX_DATA(LCD_DATA12_MARK, PG12MD_001),
864 	PINMUX_DATA(TIOC0A_MARK, PG12MD_010),
865 	PINMUX_DATA(RXD1_MARK, PG12MD_100),
866 
867 	PINMUX_DATA(PG11_DATA, PG11MD_000),
868 	PINMUX_DATA(LCD_DATA11_MARK, PG11MD_001),
869 	PINMUX_DATA(SSITXD0_MARK, PG11MD_010),
870 	PINMUX_DATA(IRQ3_PG_MARK, PG11MD_011),
871 	PINMUX_DATA(TXD5_MARK, PG11MD_100),
872 	PINMUX_DATA(SIOFTXD_MARK, PG11MD_101),
873 
874 	PINMUX_DATA(PG10_DATA, PG10MD_000),
875 	PINMUX_DATA(LCD_DATA10_MARK, PG10MD_001),
876 	PINMUX_DATA(SSIRXD0_MARK, PG10MD_010),
877 	PINMUX_DATA(IRQ2_PG_MARK, PG10MD_011),
878 	PINMUX_DATA(RXD5_MARK, PG10MD_100),
879 	PINMUX_DATA(SIOFRXD_MARK, PG10MD_101),
880 
881 	PINMUX_DATA(PG9_DATA, PG9MD_000),
882 	PINMUX_DATA(LCD_DATA9_MARK, PG9MD_001),
883 	PINMUX_DATA(SSIWS0_MARK, PG9MD_010),
884 	PINMUX_DATA(TXD4_MARK, PG9MD_100),
885 	PINMUX_DATA(SIOFSYNC_MARK, PG9MD_101),
886 
887 	PINMUX_DATA(PG8_DATA, PG8MD_000),
888 	PINMUX_DATA(LCD_DATA8_MARK, PG8MD_001),
889 	PINMUX_DATA(SSISCK0_MARK, PG8MD_010),
890 	PINMUX_DATA(RXD4_MARK, PG8MD_100),
891 	PINMUX_DATA(SIOFSCK_MARK, PG8MD_101),
892 
893 	PINMUX_DATA(PG7_DATA, PG7MD_00),
894 	PINMUX_DATA(LCD_DATA7_MARK, PG7MD_01),
895 	PINMUX_DATA(SD_CD_MARK, PG7MD_10),
896 	PINMUX_DATA(PINT7_PG_MARK, PG7MD_11),
897 
898 	PINMUX_DATA(PG6_DATA, PG7MD_00),
899 	PINMUX_DATA(LCD_DATA6_MARK, PG7MD_01),
900 	PINMUX_DATA(SD_WP_MARK, PG7MD_10),
901 	PINMUX_DATA(PINT6_PG_MARK, PG7MD_11),
902 
903 	PINMUX_DATA(PG5_DATA, PG5MD_00),
904 	PINMUX_DATA(LCD_DATA5_MARK, PG5MD_01),
905 	PINMUX_DATA(SD_D1_MARK, PG5MD_10),
906 	PINMUX_DATA(PINT5_PG_MARK, PG5MD_11),
907 
908 	PINMUX_DATA(PG4_DATA, PG4MD_00),
909 	PINMUX_DATA(LCD_DATA4_MARK, PG4MD_01),
910 	PINMUX_DATA(SD_D0_MARK, PG4MD_10),
911 	PINMUX_DATA(PINT4_PG_MARK, PG4MD_11),
912 
913 	PINMUX_DATA(PG3_DATA, PG3MD_00),
914 	PINMUX_DATA(LCD_DATA3_MARK, PG3MD_01),
915 	PINMUX_DATA(SD_CLK_MARK, PG3MD_10),
916 	PINMUX_DATA(PINT3_PG_MARK, PG3MD_11),
917 
918 	PINMUX_DATA(PG2_DATA, PG2MD_00),
919 	PINMUX_DATA(LCD_DATA2_MARK, PG2MD_01),
920 	PINMUX_DATA(SD_CMD_MARK, PG2MD_10),
921 	PINMUX_DATA(PINT2_PG_MARK, PG2MD_11),
922 
923 	PINMUX_DATA(PG1_DATA, PG1MD_00),
924 	PINMUX_DATA(LCD_DATA1_MARK, PG1MD_01),
925 	PINMUX_DATA(SD_D3_MARK, PG1MD_10),
926 	PINMUX_DATA(PINT1_PG_MARK, PG1MD_11),
927 
928 	PINMUX_DATA(PG0_DATA, PG0MD_000),
929 	PINMUX_DATA(LCD_DATA0_MARK, PG0MD_001),
930 	PINMUX_DATA(SD_D2_MARK, PG0MD_010),
931 	PINMUX_DATA(PINT0_PG_MARK, PG0MD_011),
932 	PINMUX_DATA(WDTOVF_MARK, PG0MD_100),
933 
934 	/* Port H */
935 	PINMUX_DATA(PH7_DATA, PH7MD_0),
936 	PINMUX_DATA(PHAN7_MARK, PH7MD_1),
937 
938 	PINMUX_DATA(PH6_DATA, PH6MD_0),
939 	PINMUX_DATA(PHAN6_MARK, PH6MD_1),
940 
941 	PINMUX_DATA(PH5_DATA, PH5MD_0),
942 	PINMUX_DATA(PHAN5_MARK, PH5MD_1),
943 
944 	PINMUX_DATA(PH4_DATA, PH4MD_0),
945 	PINMUX_DATA(PHAN4_MARK, PH4MD_1),
946 
947 	PINMUX_DATA(PH3_DATA, PH3MD_0),
948 	PINMUX_DATA(PHAN3_MARK, PH3MD_1),
949 
950 	PINMUX_DATA(PH2_DATA, PH2MD_0),
951 	PINMUX_DATA(PHAN2_MARK, PH2MD_1),
952 
953 	PINMUX_DATA(PH1_DATA, PH1MD_0),
954 	PINMUX_DATA(PHAN1_MARK, PH1MD_1),
955 
956 	PINMUX_DATA(PH0_DATA, PH0MD_0),
957 	PINMUX_DATA(PHAN0_MARK, PH0MD_1),
958 
959 	/* Port I - not on device */
960 
961 	/* Port J */
962 	PINMUX_DATA(PJ11_DATA, PJ11MD_00),
963 	PINMUX_DATA(PWM2H_MARK, PJ11MD_01),
964 	PINMUX_DATA(DACK1_MARK, PJ11MD_10),
965 
966 	PINMUX_DATA(PJ10_DATA, PJ10MD_00),
967 	PINMUX_DATA(PWM2G_MARK, PJ10MD_01),
968 	PINMUX_DATA(DREQ1_MARK, PJ10MD_10),
969 
970 	PINMUX_DATA(PJ9_DATA, PJ9MD_00),
971 	PINMUX_DATA(PWM2F_MARK, PJ9MD_01),
972 	PINMUX_DATA(TEND1_MARK, PJ9MD_10),
973 
974 	PINMUX_DATA(PJ8_DATA, PJ8MD_00),
975 	PINMUX_DATA(PWM2E_MARK, PJ8MD_01),
976 	PINMUX_DATA(RTS3_MARK, PJ8MD_10),
977 
978 	PINMUX_DATA(PJ7_DATA, PJ7MD_00),
979 	PINMUX_DATA(TIOC1B_MARK, PJ7MD_01),
980 	PINMUX_DATA(CTS3_MARK, PJ7MD_10),
981 
982 	PINMUX_DATA(PJ6_DATA, PJ6MD_00),
983 	PINMUX_DATA(TIOC1A_MARK, PJ6MD_01),
984 	PINMUX_DATA(SCK3_MARK, PJ6MD_10),
985 
986 	PINMUX_DATA(PJ5_DATA, PJ5MD_00),
987 	PINMUX_DATA(IERXD_MARK, PJ5MD_01),
988 	PINMUX_DATA(TXD3_MARK, PJ5MD_10),
989 
990 	PINMUX_DATA(PJ4_DATA, PJ4MD_00),
991 	PINMUX_DATA(IETXD_MARK, PJ4MD_01),
992 	PINMUX_DATA(RXD3_MARK, PJ4MD_10),
993 
994 	PINMUX_DATA(PJ3_DATA, PJ3MD_00),
995 	PINMUX_DATA(CRX1_MARK, PJ3MD_01),
996 	PINMUX_DATA(CRX0_CRX1_MARK, PJ3MD_10),
997 	PINMUX_DATA(IRQ1_PJ_MARK, PJ3MD_11),
998 
999 	PINMUX_DATA(PJ2_DATA, PJ2MD_000),
1000 	PINMUX_DATA(CTX1_MARK, PJ2MD_001),
1001 	PINMUX_DATA(CTX0_CTX1_MARK, PJ2MD_010),
1002 	PINMUX_DATA(CS2_MARK, PJ2MD_011),
1003 	PINMUX_DATA(SCK0_MARK, PJ2MD_100),
1004 	PINMUX_DATA(LCD_M_DISP_MARK, PJ2MD_101),
1005 
1006 	PINMUX_DATA(PJ1_DATA, PJ1MD_000),
1007 	PINMUX_DATA(CRX0_MARK, PJ1MD_001),
1008 	PINMUX_DATA(IERXD_MARK, PJ1MD_010),
1009 	PINMUX_DATA(IRQ0_PJ_MARK, PJ1MD_011),
1010 	PINMUX_DATA(RXD0_MARK, PJ1MD_100),
1011 
1012 	PINMUX_DATA(PJ0_DATA, PJ0MD_000),
1013 	PINMUX_DATA(CTX0_MARK, PJ0MD_001),
1014 	PINMUX_DATA(IERXD_MARK, PJ0MD_010),
1015 	PINMUX_DATA(CS1_MARK, PJ0MD_011),
1016 	PINMUX_DATA(TXD0_MARK, PJ0MD_100),
1017 	PINMUX_DATA(A0_MARK, PJ0MD_101),
1018 
1019 	/* Port K */
1020 	PINMUX_DATA(PK11_DATA, PK11MD_00),
1021 	PINMUX_DATA(PWM2D_MARK, PK11MD_01),
1022 	PINMUX_DATA(SSITXD0_MARK, PK11MD_10),
1023 
1024 	PINMUX_DATA(PK10_DATA, PK10MD_00),
1025 	PINMUX_DATA(PWM2C_MARK, PK10MD_01),
1026 	PINMUX_DATA(SSIRXD0_MARK, PK10MD_10),
1027 
1028 	PINMUX_DATA(PK9_DATA, PK9MD_00),
1029 	PINMUX_DATA(PWM2B_MARK, PK9MD_01),
1030 	PINMUX_DATA(SSIWS0_MARK, PK9MD_10),
1031 
1032 	PINMUX_DATA(PK8_DATA, PK8MD_00),
1033 	PINMUX_DATA(PWM2A_MARK, PK8MD_01),
1034 	PINMUX_DATA(SSISCK0_MARK, PK8MD_10),
1035 
1036 	PINMUX_DATA(PK7_DATA, PK7MD_00),
1037 	PINMUX_DATA(PWM1H_MARK, PK7MD_01),
1038 	PINMUX_DATA(SD_CD_MARK, PK7MD_10),
1039 
1040 	PINMUX_DATA(PK6_DATA, PK6MD_00),
1041 	PINMUX_DATA(PWM1G_MARK, PK6MD_01),
1042 	PINMUX_DATA(SD_WP_MARK, PK6MD_10),
1043 
1044 	PINMUX_DATA(PK5_DATA, PK5MD_00),
1045 	PINMUX_DATA(PWM1F_MARK, PK5MD_01),
1046 	PINMUX_DATA(SD_D1_MARK, PK5MD_10),
1047 
1048 	PINMUX_DATA(PK4_DATA, PK4MD_00),
1049 	PINMUX_DATA(PWM1E_MARK, PK4MD_01),
1050 	PINMUX_DATA(SD_D0_MARK, PK4MD_10),
1051 
1052 	PINMUX_DATA(PK3_DATA, PK3MD_00),
1053 	PINMUX_DATA(PWM1D_MARK, PK3MD_01),
1054 	PINMUX_DATA(SD_CLK_MARK, PK3MD_10),
1055 
1056 	PINMUX_DATA(PK2_DATA, PK2MD_00),
1057 	PINMUX_DATA(PWM1C_MARK, PK2MD_01),
1058 	PINMUX_DATA(SD_CMD_MARK, PK2MD_10),
1059 
1060 	PINMUX_DATA(PK1_DATA, PK1MD_00),
1061 	PINMUX_DATA(PWM1B_MARK, PK1MD_01),
1062 	PINMUX_DATA(SD_D3_MARK, PK1MD_10),
1063 
1064 	PINMUX_DATA(PK0_DATA, PK0MD_00),
1065 	PINMUX_DATA(PWM1A_MARK, PK0MD_01),
1066 	PINMUX_DATA(SD_D2_MARK, PK0MD_10),
1067 };
1068 
1069 static const struct sh_pfc_pin pinmux_pins[] = {
1070 	/* Port A */
1071 	PINMUX_GPIO(PA3),
1072 	PINMUX_GPIO(PA2),
1073 	PINMUX_GPIO(PA1),
1074 	PINMUX_GPIO(PA0),
1075 
1076 	/* Port B */
1077 	PINMUX_GPIO(PB22),
1078 	PINMUX_GPIO(PB21),
1079 	PINMUX_GPIO(PB20),
1080 	PINMUX_GPIO(PB19),
1081 	PINMUX_GPIO(PB18),
1082 	PINMUX_GPIO(PB17),
1083 	PINMUX_GPIO(PB16),
1084 	PINMUX_GPIO(PB15),
1085 	PINMUX_GPIO(PB14),
1086 	PINMUX_GPIO(PB13),
1087 	PINMUX_GPIO(PB12),
1088 	PINMUX_GPIO(PB11),
1089 	PINMUX_GPIO(PB10),
1090 	PINMUX_GPIO(PB9),
1091 	PINMUX_GPIO(PB8),
1092 	PINMUX_GPIO(PB7),
1093 	PINMUX_GPIO(PB6),
1094 	PINMUX_GPIO(PB5),
1095 	PINMUX_GPIO(PB4),
1096 	PINMUX_GPIO(PB3),
1097 	PINMUX_GPIO(PB2),
1098 	PINMUX_GPIO(PB1),
1099 
1100 	/* Port C */
1101 	PINMUX_GPIO(PC10),
1102 	PINMUX_GPIO(PC9),
1103 	PINMUX_GPIO(PC8),
1104 	PINMUX_GPIO(PC7),
1105 	PINMUX_GPIO(PC6),
1106 	PINMUX_GPIO(PC5),
1107 	PINMUX_GPIO(PC4),
1108 	PINMUX_GPIO(PC3),
1109 	PINMUX_GPIO(PC2),
1110 	PINMUX_GPIO(PC1),
1111 	PINMUX_GPIO(PC0),
1112 
1113 	/* Port D */
1114 	PINMUX_GPIO(PD15),
1115 	PINMUX_GPIO(PD14),
1116 	PINMUX_GPIO(PD13),
1117 	PINMUX_GPIO(PD12),
1118 	PINMUX_GPIO(PD11),
1119 	PINMUX_GPIO(PD10),
1120 	PINMUX_GPIO(PD9),
1121 	PINMUX_GPIO(PD8),
1122 	PINMUX_GPIO(PD7),
1123 	PINMUX_GPIO(PD6),
1124 	PINMUX_GPIO(PD5),
1125 	PINMUX_GPIO(PD4),
1126 	PINMUX_GPIO(PD3),
1127 	PINMUX_GPIO(PD2),
1128 	PINMUX_GPIO(PD1),
1129 	PINMUX_GPIO(PD0),
1130 
1131 	/* Port E */
1132 	PINMUX_GPIO(PE5),
1133 	PINMUX_GPIO(PE4),
1134 	PINMUX_GPIO(PE3),
1135 	PINMUX_GPIO(PE2),
1136 	PINMUX_GPIO(PE1),
1137 	PINMUX_GPIO(PE0),
1138 
1139 	/* Port F */
1140 	PINMUX_GPIO(PF12),
1141 	PINMUX_GPIO(PF11),
1142 	PINMUX_GPIO(PF10),
1143 	PINMUX_GPIO(PF9),
1144 	PINMUX_GPIO(PF8),
1145 	PINMUX_GPIO(PF7),
1146 	PINMUX_GPIO(PF6),
1147 	PINMUX_GPIO(PF5),
1148 	PINMUX_GPIO(PF4),
1149 	PINMUX_GPIO(PF3),
1150 	PINMUX_GPIO(PF2),
1151 	PINMUX_GPIO(PF1),
1152 	PINMUX_GPIO(PF0),
1153 
1154 	/* Port G */
1155 	PINMUX_GPIO(PG24),
1156 	PINMUX_GPIO(PG23),
1157 	PINMUX_GPIO(PG22),
1158 	PINMUX_GPIO(PG21),
1159 	PINMUX_GPIO(PG20),
1160 	PINMUX_GPIO(PG19),
1161 	PINMUX_GPIO(PG18),
1162 	PINMUX_GPIO(PG17),
1163 	PINMUX_GPIO(PG16),
1164 	PINMUX_GPIO(PG15),
1165 	PINMUX_GPIO(PG14),
1166 	PINMUX_GPIO(PG13),
1167 	PINMUX_GPIO(PG12),
1168 	PINMUX_GPIO(PG11),
1169 	PINMUX_GPIO(PG10),
1170 	PINMUX_GPIO(PG9),
1171 	PINMUX_GPIO(PG8),
1172 	PINMUX_GPIO(PG7),
1173 	PINMUX_GPIO(PG6),
1174 	PINMUX_GPIO(PG5),
1175 	PINMUX_GPIO(PG4),
1176 	PINMUX_GPIO(PG3),
1177 	PINMUX_GPIO(PG2),
1178 	PINMUX_GPIO(PG1),
1179 	PINMUX_GPIO(PG0),
1180 
1181 	/* Port H - Port H does not have a Data Register */
1182 
1183 	/* Port I - not on device */
1184 
1185 	/* Port J */
1186 	PINMUX_GPIO(PJ11),
1187 	PINMUX_GPIO(PJ10),
1188 	PINMUX_GPIO(PJ9),
1189 	PINMUX_GPIO(PJ8),
1190 	PINMUX_GPIO(PJ7),
1191 	PINMUX_GPIO(PJ6),
1192 	PINMUX_GPIO(PJ5),
1193 	PINMUX_GPIO(PJ4),
1194 	PINMUX_GPIO(PJ3),
1195 	PINMUX_GPIO(PJ2),
1196 	PINMUX_GPIO(PJ1),
1197 	PINMUX_GPIO(PJ0),
1198 
1199 	/* Port K */
1200 	PINMUX_GPIO(PK11),
1201 	PINMUX_GPIO(PK10),
1202 	PINMUX_GPIO(PK9),
1203 	PINMUX_GPIO(PK8),
1204 	PINMUX_GPIO(PK7),
1205 	PINMUX_GPIO(PK6),
1206 	PINMUX_GPIO(PK5),
1207 	PINMUX_GPIO(PK4),
1208 	PINMUX_GPIO(PK3),
1209 	PINMUX_GPIO(PK2),
1210 	PINMUX_GPIO(PK1),
1211 	PINMUX_GPIO(PK0),
1212 };
1213 
1214 #define PINMUX_FN_BASE	ARRAY_SIZE(pinmux_pins)
1215 
1216 static const struct pinmux_func pinmux_func_gpios[] = {
1217 	/* INTC */
1218 	GPIO_FN(PINT7_PG),
1219 	GPIO_FN(PINT6_PG),
1220 	GPIO_FN(PINT5_PG),
1221 	GPIO_FN(PINT4_PG),
1222 	GPIO_FN(PINT3_PG),
1223 	GPIO_FN(PINT2_PG),
1224 	GPIO_FN(PINT1_PG),
1225 
1226 	GPIO_FN(IRQ7_PC),
1227 	GPIO_FN(IRQ6_PC),
1228 	GPIO_FN(IRQ5_PC),
1229 	GPIO_FN(IRQ4_PC),
1230 	GPIO_FN(IRQ3_PG),
1231 	GPIO_FN(IRQ2_PG),
1232 	GPIO_FN(IRQ1_PJ),
1233 	GPIO_FN(IRQ0_PJ),
1234 	GPIO_FN(IRQ3_PE),
1235 	GPIO_FN(IRQ2_PE),
1236 	GPIO_FN(IRQ1_PE),
1237 	GPIO_FN(IRQ0_PE),
1238 
1239 	/* WDT */
1240 	GPIO_FN(WDTOVF),
1241 
1242 	/* CAN */
1243 	GPIO_FN(CTX1),
1244 	GPIO_FN(CRX1),
1245 	GPIO_FN(CTX0),
1246 	GPIO_FN(CTX0_CTX1),
1247 	GPIO_FN(CRX0),
1248 	GPIO_FN(CRX0_CRX1),
1249 
1250 	/* DMAC */
1251 	GPIO_FN(TEND0),
1252 	GPIO_FN(DACK0),
1253 	GPIO_FN(DREQ0),
1254 	GPIO_FN(TEND1),
1255 	GPIO_FN(DACK1),
1256 	GPIO_FN(DREQ1),
1257 
1258 	/* ADC */
1259 	GPIO_FN(ADTRG),
1260 
1261 	/* BSCh */
1262 	GPIO_FN(A25),
1263 	GPIO_FN(A24),
1264 	GPIO_FN(A23),
1265 	GPIO_FN(A22),
1266 	GPIO_FN(A21),
1267 	GPIO_FN(A20),
1268 	GPIO_FN(A19),
1269 	GPIO_FN(A18),
1270 	GPIO_FN(A17),
1271 	GPIO_FN(A16),
1272 	GPIO_FN(A15),
1273 	GPIO_FN(A14),
1274 	GPIO_FN(A13),
1275 	GPIO_FN(A12),
1276 	GPIO_FN(A11),
1277 	GPIO_FN(A10),
1278 	GPIO_FN(A9),
1279 	GPIO_FN(A8),
1280 	GPIO_FN(A7),
1281 	GPIO_FN(A6),
1282 	GPIO_FN(A5),
1283 	GPIO_FN(A4),
1284 	GPIO_FN(A3),
1285 	GPIO_FN(A2),
1286 	GPIO_FN(A1),
1287 	GPIO_FN(A0),
1288 
1289 	GPIO_FN(D15),
1290 	GPIO_FN(D14),
1291 	GPIO_FN(D13),
1292 	GPIO_FN(D12),
1293 	GPIO_FN(D11),
1294 	GPIO_FN(D10),
1295 	GPIO_FN(D9),
1296 	GPIO_FN(D8),
1297 	GPIO_FN(D7),
1298 	GPIO_FN(D6),
1299 	GPIO_FN(D5),
1300 	GPIO_FN(D4),
1301 	GPIO_FN(D3),
1302 	GPIO_FN(D2),
1303 	GPIO_FN(D1),
1304 	GPIO_FN(D0),
1305 
1306 	GPIO_FN(BS),
1307 	GPIO_FN(CS4),
1308 	GPIO_FN(CS3),
1309 	GPIO_FN(CS2),
1310 	GPIO_FN(CS1),
1311 	GPIO_FN(CS0),
1312 	GPIO_FN(CS6CE1B),
1313 	GPIO_FN(CS5CE1A),
1314 	GPIO_FN(CE2A),
1315 	GPIO_FN(CE2B),
1316 	GPIO_FN(RD),
1317 	GPIO_FN(RDWR),
1318 	GPIO_FN(ICIOWRAH),
1319 	GPIO_FN(ICIORD),
1320 	GPIO_FN(WE1DQMUWE),
1321 	GPIO_FN(WE0DQML),
1322 	GPIO_FN(RAS),
1323 	GPIO_FN(CAS),
1324 	GPIO_FN(CKE),
1325 	GPIO_FN(WAIT),
1326 	GPIO_FN(BREQ),
1327 	GPIO_FN(BACK),
1328 	GPIO_FN(IOIS16),
1329 
1330 	/* TMU */
1331 	GPIO_FN(TIOC4D),
1332 	GPIO_FN(TIOC4C),
1333 	GPIO_FN(TIOC4B),
1334 	GPIO_FN(TIOC4A),
1335 	GPIO_FN(TIOC3D),
1336 	GPIO_FN(TIOC3C),
1337 	GPIO_FN(TIOC3B),
1338 	GPIO_FN(TIOC3A),
1339 	GPIO_FN(TIOC2B),
1340 	GPIO_FN(TIOC1B),
1341 	GPIO_FN(TIOC2A),
1342 	GPIO_FN(TIOC1A),
1343 	GPIO_FN(TIOC0D),
1344 	GPIO_FN(TIOC0C),
1345 	GPIO_FN(TIOC0B),
1346 	GPIO_FN(TIOC0A),
1347 	GPIO_FN(TCLKD),
1348 	GPIO_FN(TCLKC),
1349 	GPIO_FN(TCLKB),
1350 	GPIO_FN(TCLKA),
1351 
1352 	/* SCIF */
1353 	GPIO_FN(TXD0),
1354 	GPIO_FN(RXD0),
1355 	GPIO_FN(SCK0),
1356 	GPIO_FN(TXD1),
1357 	GPIO_FN(RXD1),
1358 	GPIO_FN(SCK1),
1359 	GPIO_FN(TXD2),
1360 	GPIO_FN(RXD2),
1361 	GPIO_FN(SCK2),
1362 	GPIO_FN(RTS3),
1363 	GPIO_FN(CTS3),
1364 	GPIO_FN(TXD3),
1365 	GPIO_FN(RXD3),
1366 	GPIO_FN(SCK3),
1367 	GPIO_FN(TXD4),
1368 	GPIO_FN(RXD4),
1369 	GPIO_FN(TXD5),
1370 	GPIO_FN(RXD5),
1371 	GPIO_FN(TXD6),
1372 	GPIO_FN(RXD6),
1373 	GPIO_FN(TXD7),
1374 	GPIO_FN(RXD7),
1375 	GPIO_FN(RTS1),
1376 	GPIO_FN(CTS1),
1377 
1378 	/* RSPI */
1379 	GPIO_FN(RSPCK0),
1380 	GPIO_FN(MOSI0),
1381 	GPIO_FN(MISO0_PF12),
1382 	GPIO_FN(MISO1),
1383 	GPIO_FN(SSL00),
1384 	GPIO_FN(RSPCK1),
1385 	GPIO_FN(MOSI1),
1386 	GPIO_FN(MISO1_PG19),
1387 	GPIO_FN(SSL10),
1388 
1389 	/* IIC3 */
1390 	GPIO_FN(SCL0),
1391 	GPIO_FN(SCL1),
1392 	GPIO_FN(SCL2),
1393 	GPIO_FN(SDA0),
1394 	GPIO_FN(SDA1),
1395 	GPIO_FN(SDA2),
1396 
1397 	/* SSI */
1398 	GPIO_FN(SSISCK0),
1399 	GPIO_FN(SSIWS0),
1400 	GPIO_FN(SSITXD0),
1401 	GPIO_FN(SSIRXD0),
1402 	GPIO_FN(SSIWS1),
1403 	GPIO_FN(SSIWS2),
1404 	GPIO_FN(SSIWS3),
1405 	GPIO_FN(SSISCK1),
1406 	GPIO_FN(SSISCK2),
1407 	GPIO_FN(SSISCK3),
1408 	GPIO_FN(SSIDATA1),
1409 	GPIO_FN(SSIDATA2),
1410 	GPIO_FN(SSIDATA3),
1411 	GPIO_FN(AUDIO_CLK),
1412 
1413 	/* SIOF */ /* NOTE Shares AUDIO_CLK with SSI */
1414 	GPIO_FN(SIOFTXD),
1415 	GPIO_FN(SIOFRXD),
1416 	GPIO_FN(SIOFSYNC),
1417 	GPIO_FN(SIOFSCK),
1418 
1419 	/* SPDIF */ /* NOTE Shares AUDIO_CLK with SSI */
1420 	GPIO_FN(SPDIF_IN),
1421 	GPIO_FN(SPDIF_OUT),
1422 
1423 	/* NANDFMC */ /* NOTE Controller is not available in boot mode 0 */
1424 	GPIO_FN(FCE),
1425 	GPIO_FN(FRB),
1426 
1427 	/* VDC3 */
1428 	GPIO_FN(DV_CLK),
1429 	GPIO_FN(DV_VSYNC),
1430 	GPIO_FN(DV_HSYNC),
1431 
1432 	GPIO_FN(DV_DATA7),
1433 	GPIO_FN(DV_DATA6),
1434 	GPIO_FN(DV_DATA5),
1435 	GPIO_FN(DV_DATA4),
1436 	GPIO_FN(DV_DATA3),
1437 	GPIO_FN(DV_DATA2),
1438 	GPIO_FN(DV_DATA1),
1439 	GPIO_FN(DV_DATA0),
1440 
1441 	GPIO_FN(LCD_CLK),
1442 	GPIO_FN(LCD_EXTCLK),
1443 	GPIO_FN(LCD_VSYNC),
1444 	GPIO_FN(LCD_HSYNC),
1445 	GPIO_FN(LCD_DE),
1446 
1447 	GPIO_FN(LCD_DATA15),
1448 	GPIO_FN(LCD_DATA14),
1449 	GPIO_FN(LCD_DATA13),
1450 	GPIO_FN(LCD_DATA12),
1451 	GPIO_FN(LCD_DATA11),
1452 	GPIO_FN(LCD_DATA10),
1453 	GPIO_FN(LCD_DATA9),
1454 	GPIO_FN(LCD_DATA8),
1455 	GPIO_FN(LCD_DATA7),
1456 	GPIO_FN(LCD_DATA6),
1457 	GPIO_FN(LCD_DATA5),
1458 	GPIO_FN(LCD_DATA4),
1459 	GPIO_FN(LCD_DATA3),
1460 	GPIO_FN(LCD_DATA2),
1461 	GPIO_FN(LCD_DATA1),
1462 	GPIO_FN(LCD_DATA0),
1463 
1464 	GPIO_FN(LCD_M_DISP),
1465 };
1466 
1467 static const struct pinmux_cfg_reg pinmux_config_regs[] = {
1468 	{ PINMUX_CFG_REG("PAIOR0", 0xfffe3812, 16, 1, GROUP(
1469 		0, 0, 0, 0, 0, 0, 0, 0,
1470 		0, 0, 0, 0, 0, 0, 0, 0,
1471 		0, 0, 0, 0, 0, 0, 0, 0,
1472 		PA3_IN, PA3_OUT,
1473 		PA2_IN, PA2_OUT,
1474 		PA1_IN, PA1_OUT,
1475 		PA0_IN,	PA0_OUT ))
1476 	},
1477 
1478 	{ PINMUX_CFG_REG("PBCR5", 0xfffe3824, 16, 4, GROUP(
1479 		0, 0, 0, 0, 0, 0, 0, 0,
1480 		0, 0, 0, 0, 0, 0, 0, 0,
1481 		PB22MD_00, PB22MD_01, PB22MD_10, 0, 0, 0, 0, 0,
1482 		0, 0, 0, 0, 0, 0, 0, 0,
1483 		PB21MD_0, PB21MD_1, 0, 0, 0, 0, 0, 0,
1484 		0, 0, 0, 0, 0, 0, 0, 0,
1485 		0, PB20MD_1, 0, 0, 0, 0, 0, 0,
1486 		0, 0, 0, 0, 0, 0, 0, 0 ))
1487 
1488 	},
1489 	{ PINMUX_CFG_REG("PBCR4", 0xfffe3826, 16, 4, GROUP(
1490 		0, PB19MD_01, 0, 0, 0, 0, 0, 0,
1491 		0, 0, 0, 0, 0, 0, 0, 0,
1492 		0, PB18MD_01, 0, 0, 0, 0, 0, 0,
1493 		0, 0, 0, 0, 0, 0, 0, 0,
1494 		0, PB17MD_01, 0, 0, 0, 0, 0, 0,
1495 		0, 0, 0, 0, 0, 0, 0, 0,
1496 		0, PB16MD_01, 0, 0, 0, 0, 0, 0,
1497 		0, 0, 0, 0, 0, 0, 0, 0 ))
1498 	},
1499 	{ PINMUX_CFG_REG("PBCR3", 0xfffe3828, 16, 4, GROUP(
1500 		0, PB15MD_01, 0, 0, 0, 0, 0, 0,
1501 		0, 0, 0, 0, 0, 0, 0, 0,
1502 		0, PB14MD_01, 0, 0, 0, 0, 0, 0,
1503 		0, 0, 0, 0, 0, 0, 0, 0,
1504 		0, PB13MD_01, 0, 0, 0, 0, 0, 0,
1505 		0, 0, 0, 0, 0, 0, 0, 0,
1506 		0, PB12MD_01, 0, 0, 0, 0, 0, 0,
1507 		0, 0, 0, 0, 0, 0, 0, 0 ))
1508 	},
1509 	{ PINMUX_CFG_REG("PBCR2", 0xfffe382a, 16, 4, GROUP(
1510 		0, PB11MD_01, 0, 0, 0, 0, 0, 0,
1511 		0, 0, 0, 0, 0, 0, 0, 0,
1512 		0, PB10MD_01, 0, 0, 0, 0, 0, 0,
1513 		0, 0, 0, 0, 0, 0, 0, 0,
1514 		0, PB9MD_01, 0, 0, 0, 0, 0, 0,
1515 		0, 0, 0, 0, 0, 0, 0, 0,
1516 		0, PB8MD_01, 0, 0, 0, 0, 0, 0,
1517 		0, 0, 0, 0, 0, 0, 0, 0 ))
1518 	},
1519 	{ PINMUX_CFG_REG("PBCR1", 0xfffe382c, 16, 4, GROUP(
1520 		0, PB7MD_01, 0, 0, 0, 0, 0, 0,
1521 		0, 0, 0, 0, 0, 0, 0, 0,
1522 		0, PB6MD_01, 0, 0, 0, 0, 0, 0,
1523 		0, 0, 0, 0, 0, 0, 0, 0,
1524 		0, PB5MD_01, 0, 0, 0, 0, 0, 0,
1525 		0, 0, 0, 0, 0, 0, 0, 0,
1526 		0, PB4MD_01, 0, 0, 0, 0, 0, 0,
1527 		0, 0, 0, 0, 0, 0, 0, 0 ))
1528 	},
1529 	{ PINMUX_CFG_REG("PBCR0", 0xfffe382e, 16, 4, GROUP(
1530 		0, PB3MD_1, 0, 0, 0, 0, 0, 0,
1531 		0, 0, 0, 0, 0, 0, 0, 0,
1532 		0, PB2MD_1, 0, 0, 0, 0, 0, 0,
1533 		0, 0, 0, 0, 0, 0, 0, 0,
1534 		0, PB1MD_1, 0, 0, 0, 0, 0, 0,
1535 		0, 0, 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 	},
1539 
1540 	{ PINMUX_CFG_REG("PBIOR1", 0xfffe3830, 16, 1, GROUP(
1541 		0, 0, 0, 0, 0, 0, 0, 0,
1542 		0, 0, 0, 0, 0, 0, 0, 0,
1543 		0, 0,
1544 		PB22_IN, PB22_OUT,
1545 		PB21_IN, PB21_OUT,
1546 		PB20_IN, PB20_OUT,
1547 		PB19_IN, PB19_OUT,
1548 		PB18_IN, PB18_OUT,
1549 		PB17_IN, PB17_OUT,
1550 		PB16_IN, PB16_OUT ))
1551 	},
1552 
1553 	{ PINMUX_CFG_REG("PBIOR0", 0xfffe3832, 16, 1, GROUP(
1554 		PB15_IN, PB15_OUT,
1555 		PB14_IN, PB14_OUT,
1556 		PB13_IN, PB13_OUT,
1557 		PB12_IN, PB12_OUT,
1558 		PB11_IN, PB11_OUT,
1559 		PB10_IN, PB10_OUT,
1560 		PB9_IN, PB9_OUT,
1561 		PB8_IN, PB8_OUT,
1562 		PB7_IN, PB7_OUT,
1563 		PB6_IN, PB6_OUT,
1564 		PB5_IN, PB5_OUT,
1565 		PB4_IN, PB4_OUT,
1566 		PB3_IN, PB3_OUT,
1567 		PB2_IN, PB2_OUT,
1568 		PB1_IN, PB1_OUT,
1569 		0, 0 ))
1570 	},
1571 
1572 	{ PINMUX_CFG_REG("PCCR2", 0xfffe384a, 16, 4, GROUP(
1573 		0, 0, 0, 0, 0, 0, 0, 0,
1574 		0, 0, 0, 0, 0, 0, 0, 0,
1575 		PC10MD_0, PC10MD_1, 0, 0, 0, 0, 0, 0,
1576 		0, 0, 0, 0, 0, 0, 0, 0,
1577 		PC9MD_0, PC9MD_1, 0, 0, 0, 0, 0, 0,
1578 		0, 0, 0, 0, 0, 0, 0, 0,
1579 		PC8MD_00, PC8MD_01, PC8MD_10, PC8MD_11, 0, 0, 0, 0,
1580 		0, 0, 0, 0, 0, 0, 0, 0 ))
1581 	},
1582 	{ PINMUX_CFG_REG("PCCR1", 0xfffe384c, 16, 4, GROUP(
1583 		PC7MD_00, PC7MD_01, PC7MD_10, PC7MD_11, 0, 0, 0, 0,
1584 		0, 0, 0, 0, 0, 0, 0, 0,
1585 		PC6MD_00, PC6MD_01, PC6MD_10, PC6MD_11, 0, 0, 0, 0,
1586 		0, 0, 0, 0, 0, 0, 0, 0,
1587 		PC5MD_00, PC5MD_01, PC5MD_10, PC5MD_11, 0, 0, 0, 0,
1588 		0, 0, 0, 0, 0, 0, 0, 0,
1589 		PC4MD_0, PC4MD_1, 0, 0, 0, 0, 0, 0,
1590 		0, 0, 0, 0, 0, 0, 0, 0 ))
1591 	},
1592 	{ PINMUX_CFG_REG("PCCR0", 0xfffe384e, 16, 4, GROUP(
1593 		PC3MD_0, PC3MD_1, 0, 0, 0, 0, 0, 0,
1594 		0, 0, 0, 0, 0, 0, 0, 0,
1595 		PC2MD_0, PC2MD_1, 0, 0, 0, 0, 0, 0,
1596 		0, 0, 0, 0, 0, 0, 0, 0,
1597 		PC1MD_0, PC1MD_1, 0, 0, 0, 0, 0, 0,
1598 		0, 0, 0, 0, 0, 0, 0, 0,
1599 		PC0MD_0, PC0MD_1, 0, 0, 0, 0, 0, 0,
1600 		0, 0, 0, 0, 0, 0, 0, 0 ))
1601 	},
1602 
1603 	{ PINMUX_CFG_REG("PCIOR0", 0xfffe3852, 16, 1, GROUP(
1604 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1605 		PC10_IN, PC10_OUT,
1606 		PC9_IN, PC9_OUT,
1607 		PC8_IN, PC8_OUT,
1608 		PC7_IN, PC7_OUT,
1609 		PC6_IN, PC6_OUT,
1610 		PC5_IN, PC5_OUT,
1611 		PC4_IN, PC4_OUT,
1612 		PC3_IN, PC3_OUT,
1613 		PC2_IN, PC2_OUT,
1614 		PC1_IN, PC1_OUT,
1615 		PC0_IN, PC0_OUT
1616 	 ))
1617 	},
1618 
1619 	{ PINMUX_CFG_REG("PDCR3", 0xfffe3868, 16, 4, GROUP(
1620 		0, PD15MD_01, 0, 0, 0, 0, 0, 0,
1621 		0, 0, 0, 0, 0, 0, 0, 0,
1622 		0, PD14MD_01, 0, 0, 0, 0, 0, 0,
1623 		0, 0, 0, 0, 0, 0, 0, 0,
1624 		0, PD13MD_01, 0, 0, 0, 0, 0, 0,
1625 		0, 0, 0, 0, 0, 0, 0, 0,
1626 		0, PD12MD_01, 0, 0, 0, 0, 0, 0,
1627 		0, 0, 0, 0, 0, 0, 0, 0 ))
1628 	},
1629 	{ PINMUX_CFG_REG("PDCR2", 0xfffe386a, 16, 4, GROUP(
1630 		0, PD11MD_01, 0, 0, 0, 0, 0, 0,
1631 		0, 0, 0, 0, 0, 0, 0, 0,
1632 		0, PD10MD_01, 0, 0, 0, 0, 0, 0,
1633 		0, 0, 0, 0, 0, 0, 0, 0,
1634 		0, PD9MD_01, 0, 0, 0, 0, 0, 0,
1635 		0, 0, 0, 0, 0, 0, 0, 0,
1636 		0, PD8MD_01, 0, 0, 0, 0, 0, 0,
1637 		0, 0, 0, 0, 0, 0, 0, 0 ))
1638 	},
1639 	{ PINMUX_CFG_REG("PDCR1", 0xfffe386c, 16, 4, GROUP(
1640 		0, PD7MD_01, 0, 0, 0, 0, 0, 0,
1641 		0, 0, 0, 0, 0, 0, 0, 0,
1642 		0, PD6MD_01, 0, 0, 0, 0, 0, 0,
1643 		0, 0, 0, 0, 0, 0, 0, 0,
1644 		0, PD5MD_01, 0, 0, 0, 0, 0, 0,
1645 		0, 0, 0, 0, 0, 0, 0, 0,
1646 		0, PD4MD_01, 0, 0, 0, 0, 0, 0,
1647 		0, 0, 0, 0, 0, 0, 0, 0 ))
1648 	},
1649 	{ PINMUX_CFG_REG("PDCR0", 0xfffe386e, 16, 4, GROUP(
1650 		0, PD3MD_01, 0, 0, 0, 0, 0, 0,
1651 		0, 0, 0, 0, 0, 0, 0, 0,
1652 		0, PD2MD_01, 0, 0, 0, 0, 0, 0,
1653 		0, 0, 0, 0, 0, 0, 0, 0,
1654 		0, PD1MD_01, 0, 0, 0, 0, 0, 0,
1655 		0, 0, 0, 0, 0, 0, 0, 0,
1656 		0, PD0MD_01, 0, 0, 0, 0, 0, 0,
1657 		0, 0, 0, 0, 0, 0, 0, 0 ))
1658 	},
1659 
1660 	{ PINMUX_CFG_REG("PDIOR0", 0xfffe3872, 16, 1, GROUP(
1661 		PD15_IN, PD15_OUT,
1662 		PD14_IN, PD14_OUT,
1663 		PD13_IN, PD13_OUT,
1664 		PD12_IN, PD12_OUT,
1665 		PD11_IN, PD11_OUT,
1666 		PD10_IN, PD10_OUT,
1667 		PD9_IN, PD9_OUT,
1668 		PD8_IN, PD8_OUT,
1669 		PD7_IN, PD7_OUT,
1670 		PD6_IN, PD6_OUT,
1671 		PD5_IN, PD5_OUT,
1672 		PD4_IN, PD4_OUT,
1673 		PD3_IN, PD3_OUT,
1674 		PD2_IN, PD2_OUT,
1675 		PD1_IN, PD1_OUT,
1676 		PD0_IN, PD0_OUT ))
1677 	},
1678 
1679 	{ PINMUX_CFG_REG("PECR1", 0xfffe388c, 16, 4, GROUP(
1680 		0, 0, 0, 0, 0, 0, 0, 0,
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 		PE5MD_00, PE5MD_01, 0, PE5MD_11, 0, 0, 0, 0,
1685 		0, 0, 0, 0, 0, 0, 0, 0,
1686 		PE4MD_00, PE4MD_01, 0, PE4MD_11, 0, 0, 0, 0,
1687 		0, 0, 0, 0, 0, 0, 0, 0 ))
1688 	},
1689 
1690 	{ PINMUX_CFG_REG("PECR0", 0xfffe388e, 16, 4, GROUP(
1691 		PE3MD_00, PE3MD_01, 0, PE3MD_11, 0, 0, 0, 0,
1692 		0, 0, 0, 0, 0, 0, 0, 0,
1693 		PE2MD_00, PE2MD_01, 0, PE2MD_11, 0, 0, 0, 0,
1694 		0, 0, 0, 0, 0, 0, 0, 0,
1695 		PE1MD_000, PE1MD_001, PE1MD_010, PE1MD_011,
1696 		PE1MD_100, PE1MD_101, 0, 0,
1697 		0, 0, 0, 0, 0, 0, 0, 0,
1698 		PE0MD_00, PE0MD_01, PE0MD_10, PE0MD_11, 0, 0, 0, 0,
1699 		0, 0, 0, 0, 0, 0, 0, 0 ))
1700 	},
1701 
1702 	{ PINMUX_CFG_REG("PEIOR0", 0xfffe3892, 16, 1, GROUP(
1703 		0, 0, 0, 0, 0, 0, 0, 0,
1704 		0, 0, 0, 0, 0, 0, 0, 0,
1705 		0, 0, 0, 0,
1706 		PE5_IN, PE5_OUT,
1707 		PE4_IN, PE4_OUT,
1708 		PE3_IN, PE3_OUT,
1709 		PE2_IN, PE2_OUT,
1710 		PE1_IN, PE1_OUT,
1711 		PE0_IN, PE0_OUT ))
1712 	},
1713 
1714 	{ PINMUX_CFG_REG("PFCR3", 0xfffe38a8, 16, 4, GROUP(
1715 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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 		PF12MD_000, PF12MD_001, 0, PF12MD_011,
1719 		PF12MD_100, PF12MD_101, 0, 0,
1720 		0, 0, 0, 0, 0, 0, 0, 0 ))
1721 	},
1722 
1723 	{ PINMUX_CFG_REG("PFCR2", 0xfffe38aa, 16, 4, GROUP(
1724 		PF11MD_000, PF11MD_001, PF11MD_010, PF11MD_011,
1725 		PF11MD_100, PF11MD_101, 0, 0,
1726 		0, 0, 0, 0, 0, 0, 0, 0,
1727 		PF10MD_000, PF10MD_001, PF10MD_010, PF10MD_011,
1728 		PF10MD_100, PF10MD_101, 0, 0,
1729 		0, 0, 0, 0, 0, 0, 0, 0,
1730 		PF9MD_000, PF9MD_001, PF9MD_010, PF9MD_011,
1731 		PF9MD_100, PF9MD_101, 0, 0,
1732 		0, 0, 0, 0, 0, 0, 0, 0,
1733 		PF8MD_00, PF8MD_01, PF8MD_10, PF8MD_11, 0, 0, 0, 0,
1734 		0, 0, 0, 0, 0, 0, 0, 0 ))
1735 	},
1736 
1737 	{ PINMUX_CFG_REG("PFCR1", 0xfffe38ac, 16, 4, GROUP(
1738 		PF7MD_000, PF7MD_001, PF7MD_010, PF7MD_011,
1739 		PF7MD_100, 0, 0, 0,
1740 		0, 0, 0, 0, 0, 0, 0, 0,
1741 		PF6MD_000, PF6MD_001, PF6MD_010, PF6MD_011,
1742 		PF6MD_100, 0, 0, 0,
1743 		0, 0, 0, 0, 0, 0, 0, 0,
1744 		PF5MD_000, PF5MD_001, PF5MD_010, PF5MD_011,
1745 		PF5MD_100, 0, 0, 0,
1746 		0, 0, 0, 0, 0, 0, 0, 0,
1747 		PF4MD_000, PF4MD_001, PF4MD_010, PF4MD_011,
1748 		PF4MD_100, 0, 0, 0,
1749 		0, 0, 0, 0, 0, 0, 0, 0 ))
1750 	},
1751 
1752 	{ PINMUX_CFG_REG("PFCR0", 0xfffe38ae, 16, 4, GROUP(
1753 		PF3MD_000, PF3MD_001, PF3MD_010, PF3MD_011,
1754 		PF3MD_100, 0, 0, 0,
1755 		0, 0, 0, 0, 0, 0, 0, 0,
1756 		PF2MD_000, PF2MD_001, PF2MD_010, PF2MD_011,
1757 		PF2MD_100, PF2MD_101, 0, 0,
1758 		0, 0, 0, 0, 0, 0, 0, 0,
1759 		PF1MD_000, PF1MD_001, PF1MD_010, PF1MD_011,
1760 		PF1MD_100, PF1MD_101, 0, 0,
1761 		0, 0, 0, 0, 0, 0, 0, 0,
1762 		PF0MD_000, PF0MD_001, PF0MD_010, PF0MD_011,
1763 		PF0MD_100, PF0MD_101, 0, 0,
1764 		0, 0, 0, 0, 0, 0, 0, 0 ))
1765 	},
1766 
1767 	{ PINMUX_CFG_REG("PFIOR0", 0xfffe38b2, 16, 1, GROUP(
1768 		0, 0, 0, 0, 0, 0,
1769 		PF12_IN, PF12_OUT,
1770 		PF11_IN, PF11_OUT,
1771 		PF10_IN, PF10_OUT,
1772 		PF9_IN, PF9_OUT,
1773 		PF8_IN, PF8_OUT,
1774 		PF7_IN, PF7_OUT,
1775 		PF6_IN, PF6_OUT,
1776 		PF5_IN, PF5_OUT,
1777 		PF4_IN, PF4_OUT,
1778 		PF3_IN, PF3_OUT,
1779 		PF2_IN, PF2_OUT,
1780 		PF1_IN, PF1_OUT,
1781 		PF0_IN, PF0_OUT ))
1782 	},
1783 
1784 	{ PINMUX_CFG_REG("PGCR7", 0xfffe38c0, 16, 4, GROUP(
1785 		0, 0, 0, 0, 0, 0, 0, 0,
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 		PG0MD_000, PG0MD_001, PG0MD_010, PG0MD_011,
1792 		PG0MD_100, 0, 0, 0,
1793 		0, 0, 0, 0, 0, 0, 0, 0 ))
1794 	},
1795 
1796 	{ PINMUX_CFG_REG("PGCR6", 0xfffe38c2, 16, 4, GROUP(
1797 		0, 0, 0, 0, 0, 0, 0, 0,
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 		PG24MD_00, PG24MD_01, PG24MD_10, PG24MD_11, 0, 0, 0, 0,
1804 		0, 0, 0, 0, 0, 0, 0, 0 ))
1805 	},
1806 
1807 	{ PINMUX_CFG_REG("PGCR5", 0xfffe38c4, 16, 4, GROUP(
1808 		PG23MD_00, PG23MD_01, PG23MD_10, PG23MD_11, 0, 0, 0, 0,
1809 		0, 0, 0, 0, 0, 0, 0, 0,
1810 		PG22MD_00, PG22MD_01, PG22MD_10, PG22MD_11, 0, 0, 0, 0,
1811 		0, 0, 0, 0, 0, 0, 0, 0,
1812 		PG21MD_00, PG21MD_01, PG21MD_10, PG21MD_11, 0, 0, 0, 0,
1813 		0, 0, 0, 0, 0, 0, 0, 0,
1814 		PG20MD_000, PG20MD_001, PG20MD_010, PG20MD_011,
1815 		PG20MD_100, 0, 0, 0,
1816 		0, 0, 0, 0, 0, 0, 0, 0 ))
1817 	},
1818 
1819 	{ PINMUX_CFG_REG("PGCR4", 0xfffe38c6, 16, 4, GROUP(
1820 		PG19MD_000, PG19MD_001, PG19MD_010, PG19MD_011,
1821 		PG19MD_100, 0, 0, 0,
1822 		0, 0, 0, 0, 0, 0, 0, 0,
1823 		PG18MD_000, PG18MD_001, PG18MD_010, PG18MD_011,
1824 		PG18MD_100, 0, 0, 0,
1825 		0, 0, 0, 0, 0, 0, 0, 0,
1826 		PG17MD_000, PG17MD_001, PG17MD_010, PG17MD_011,
1827 		PG17MD_100, 0, 0, 0,
1828 		0, 0, 0, 0, 0, 0, 0, 0,
1829 		PG16MD_000, PG16MD_001, PG16MD_010, PG16MD_011,
1830 		PG16MD_100, 0, 0, 0,
1831 		0, 0, 0, 0, 0, 0, 0, 0 ))
1832 	},
1833 
1834 	{ PINMUX_CFG_REG("PGCR3", 0xfffe38c8, 16, 4, GROUP(
1835 		PG15MD_000, PG15MD_001, PG15MD_010, PG15MD_011,
1836 		PG15MD_100, 0, 0, 0,
1837 		0, 0, 0, 0, 0, 0, 0, 0,
1838 		PG14MD_000, PG14MD_001, PG14MD_010, 0,
1839 		PG14MD_100, 0, 0, 0,
1840 		0, 0, 0, 0, 0, 0, 0, 0,
1841 		PG13MD_000, PG13MD_001, PG13MD_010, 0,
1842 		PG13MD_100, 0, 0, 0,
1843 		0, 0, 0, 0, 0, 0, 0, 0,
1844 		PG12MD_000, PG12MD_001, PG12MD_010, 0,
1845 		PG12MD_100, 0, 0, 0,
1846 		0, 0, 0, 0, 0, 0, 0, 0 ))
1847 	},
1848 	{ PINMUX_CFG_REG("PGCR2", 0xfffe38ca, 16, 4, GROUP(
1849 		PG11MD_000, PG11MD_001, PG11MD_010, PG11MD_011,
1850 		PG11MD_100, PG11MD_101, 0, 0,
1851 		0, 0, 0, 0, 0, 0, 0, 0,
1852 		PG10MD_000, PG10MD_001, PG10MD_010, PG10MD_011,
1853 		PG10MD_100, PG10MD_101, 0, 0,
1854 		0, 0, 0, 0, 0, 0, 0, 0,
1855 		PG9MD_000, PG9MD_001, PG9MD_010, PG9MD_011,
1856 		PG9MD_100, PG9MD_101, 0, 0,
1857 		0, 0, 0, 0, 0, 0, 0, 0,
1858 		PG8MD_000, PG8MD_001, PG8MD_010, PG8MD_011,
1859 		PG8MD_100, PG8MD_101, 0, 0,
1860 		0, 0, 0, 0, 0, 0, 0, 0 ))
1861 	},
1862 
1863 	{ PINMUX_CFG_REG("PGCR1", 0xfffe38cc, 16, 4, GROUP(
1864 		PG7MD_00, PG7MD_01, PG7MD_10, PG7MD_11, 0, 0, 0, 0,
1865 		0, 0, 0, 0, 0, 0, 0, 0,
1866 		PG6MD_00, PG6MD_01, PG6MD_10, PG6MD_11, 0, 0, 0, 0,
1867 		0, 0, 0, 0, 0, 0, 0, 0,
1868 		PG5MD_00, PG5MD_01, PG5MD_10, PG5MD_11, 0, 0, 0, 0,
1869 		0, 0, 0, 0, 0, 0, 0, 0,
1870 		PG4MD_00, PG4MD_01, PG4MD_10, PG4MD_11, 0, 0, 0, 0,
1871 		0, 0, 0, 0, 0, 0, 0, 0 ))
1872 	},
1873 	{ PINMUX_CFG_REG("PGCR0", 0xfffe38ce, 16, 4, GROUP(
1874 		PG3MD_00, PG3MD_01, PG3MD_10, PG3MD_11, 0, 0, 0, 0,
1875 		0, 0, 0, 0, 0, 0, 0, 0,
1876 		PG2MD_00, PG2MD_01, PG2MD_10, PG2MD_11, 0, 0, 0, 0,
1877 		0, 0, 0, 0, 0, 0, 0, 0,
1878 		PG1MD_00, PG1MD_01, PG1MD_10, PG1MD_11, 0, 0, 0, 0,
1879 		0, 0, 0, 0, 0, 0, 0, 0,
1880 		0, 0, 0, 0, 0, 0, 0, 0,
1881 		0, 0, 0, 0, 0, 0, 0, 0 ))
1882 	},
1883 	{ PINMUX_CFG_REG("PGIOR1", 0xfffe38d0, 16, 1, GROUP(
1884 		0, 0, 0, 0, 0, 0, 0, 0,
1885 		0, 0, 0, 0, 0, 0,
1886 		PG24_IN, PG24_OUT,
1887 		PG23_IN, PG23_OUT,
1888 		PG22_IN, PG22_OUT,
1889 		PG21_IN, PG21_OUT,
1890 		PG20_IN, PG20_OUT,
1891 		PG19_IN, PG19_OUT,
1892 		PG18_IN, PG18_OUT,
1893 		PG17_IN, PG17_OUT,
1894 		PG16_IN, PG16_OUT ))
1895 	},
1896 
1897 	{ PINMUX_CFG_REG("PGIOR0", 0xfffe38d2, 16, 1, GROUP(
1898 		PG15_IN, PG15_OUT,
1899 		PG14_IN, PG14_OUT,
1900 		PG13_IN, PG13_OUT,
1901 		PG12_IN, PG12_OUT,
1902 		PG11_IN, PG11_OUT,
1903 		PG10_IN, PG10_OUT,
1904 		PG9_IN, PG9_OUT,
1905 		PG8_IN, PG8_OUT,
1906 		PG7_IN, PG7_OUT,
1907 		PG6_IN, PG6_OUT,
1908 		PG5_IN, PG5_OUT,
1909 		PG4_IN, PG4_OUT,
1910 		PG3_IN, PG3_OUT,
1911 		PG2_IN, PG2_OUT,
1912 		PG1_IN, PG1_OUT,
1913 		PG0_IN, PG0_OUT
1914 	 ))
1915 	},
1916 
1917 	{ PINMUX_CFG_REG("PHCR1", 0xfffe38ec, 16, 4, GROUP(
1918 		PH7MD_0, PH7MD_1, 0, 0, 0, 0, 0, 0,
1919 		0, 0, 0, 0, 0, 0, 0, 0,
1920 		PH6MD_0, PH6MD_1, 0, 0, 0, 0, 0, 0,
1921 		0, 0, 0, 0, 0, 0, 0, 0,
1922 		PH5MD_0, PH5MD_1, 0, 0, 0, 0, 0, 0,
1923 		0, 0, 0, 0, 0, 0, 0, 0,
1924 		PH4MD_0, PH4MD_1, 0, 0, 0, 0, 0, 0,
1925 		0, 0, 0, 0, 0, 0, 0, 0 ))
1926 	},
1927 
1928 	{ PINMUX_CFG_REG("PHCR0", 0xfffe38ee, 16, 4, GROUP(
1929 		PH3MD_0, PH3MD_1, 0, 0, 0, 0, 0, 0,
1930 		0, 0, 0, 0, 0, 0, 0, 0,
1931 		PH2MD_0, PH2MD_1, 0, 0, 0, 0, 0, 0,
1932 		0, 0, 0, 0, 0, 0, 0, 0,
1933 		PH1MD_0, PH1MD_1, 0, 0, 0, 0, 0, 0,
1934 		0, 0, 0, 0, 0, 0, 0, 0,
1935 		PH0MD_0, PH0MD_1, 0, 0, 0, 0, 0, 0,
1936 		0, 0, 0, 0, 0, 0, 0, 0 ))
1937 	},
1938 
1939 	{ PINMUX_CFG_REG("PJCR2", 0xfffe390a, 16, 4, GROUP(
1940 		PJ11MD_00, PJ11MD_01, PJ11MD_10, 0, 0, 0, 0, 0,
1941 		0, 0, 0, 0, 0, 0, 0, 0,
1942 		PJ10MD_00, PJ10MD_01, PJ10MD_10, 0, 0, 0, 0, 0,
1943 		0, 0, 0, 0, 0, 0, 0, 0,
1944 		PJ9MD_00, PJ9MD_01, PJ9MD_10, 0, 0, 0, 0, 0,
1945 		0, 0, 0, 0, 0, 0, 0, 0,
1946 		PJ8MD_00, PJ8MD_01, PJ8MD_10, 0, 0, 0, 0, 0,
1947 		0, 0, 0, 0, 0, 0, 0, 0 ))
1948 	},
1949 	{ PINMUX_CFG_REG("PJCR1", 0xfffe390c, 16, 4, GROUP(
1950 		PJ7MD_00, PJ7MD_01, PJ7MD_10, 0, 0, 0, 0, 0,
1951 		0, 0, 0, 0, 0, 0, 0, 0,
1952 		PJ6MD_00, PJ6MD_01, PJ6MD_10, 0, 0, 0, 0, 0,
1953 		0, 0, 0, 0, 0, 0, 0, 0,
1954 		PJ5MD_00, PJ5MD_01, PJ5MD_10, 0, 0, 0, 0, 0,
1955 		0, 0, 0, 0, 0, 0, 0, 0,
1956 		PJ4MD_00, PJ4MD_01, PJ4MD_10, 0, 0, 0, 0, 0,
1957 		0, 0, 0, 0, 0, 0, 0, 0 ))
1958 	},
1959 	{ PINMUX_CFG_REG("PJCR0", 0xfffe390e, 16, 4, GROUP(
1960 		PJ3MD_00, PJ3MD_01, PJ3MD_10, PJ3MD_11, 0, 0, 0, 0,
1961 		0, 0, 0, 0, 0, 0, 0, 0,
1962 		PJ2MD_000, PJ2MD_001, PJ2MD_010, PJ2MD_011,
1963 		PJ2MD_100, PJ2MD_101, 0, 0,
1964 		0, 0, 0, 0, 0, 0, 0, 0,
1965 		PJ1MD_000, PJ1MD_001, PJ1MD_010, PJ1MD_011,
1966 		PJ1MD_100, 0, 0, 0,
1967 		0, 0, 0, 0, 0, 0, 0, 0,
1968 		PJ0MD_000, PJ0MD_001, PJ0MD_010, PJ0MD_011,
1969 		PJ0MD_100, PJ0MD_101, 0, 0,
1970 		0, 0, 0, 0, 0, 0, 0, 0, ))
1971 	},
1972 	{ PINMUX_CFG_REG("PJIOR0", 0xfffe3912, 16, 1, GROUP(
1973 		0, 0, 0, 0, 0, 0, 0, 0,
1974 		PJ11_IN, PJ11_OUT,
1975 		PJ10_IN, PJ10_OUT,
1976 		PJ9_IN, PJ9_OUT,
1977 		PJ8_IN, PJ8_OUT,
1978 		PJ7_IN, PJ7_OUT,
1979 		PJ6_IN, PJ6_OUT,
1980 		PJ5_IN, PJ5_OUT,
1981 		PJ4_IN, PJ4_OUT,
1982 		PJ3_IN, PJ3_OUT,
1983 		PJ2_IN, PJ2_OUT,
1984 		PJ1_IN, PJ1_OUT,
1985 		PJ0_IN, PJ0_OUT ))
1986 	},
1987 
1988 	{ PINMUX_CFG_REG("PKCR2", 0xfffe392a, 16, 4, GROUP(
1989 		PK11MD_00, PK11MD_01, PK11MD_10, 0, 0, 0, 0, 0,
1990 		0, 0, 0, 0, 0, 0, 0, 0,
1991 		PK10MD_00, PK10MD_01, PK10MD_10, 0, 0, 0, 0, 0,
1992 		0, 0, 0, 0, 0, 0, 0, 0,
1993 		PK9MD_00, PK9MD_01, PK9MD_10, 0, 0, 0, 0, 0,
1994 		0, 0, 0, 0, 0, 0, 0, 0,
1995 		PK8MD_00, PK8MD_01, PK8MD_10, 0, 0, 0, 0, 0,
1996 		0, 0, 0, 0, 0, 0, 0, 0 ))
1997 	},
1998 
1999 	{ PINMUX_CFG_REG("PKCR1", 0xfffe392c, 16, 4, GROUP(
2000 		PK7MD_00, PK7MD_01, PK7MD_10, 0, 0, 0, 0, 0,
2001 		0, 0, 0, 0, 0, 0, 0, 0,
2002 		PK6MD_00, PK6MD_01, PK6MD_10, 0,  0, 0, 0, 0,
2003 		0, 0, 0, 0, 0, 0, 0, 0,
2004 		PK5MD_00, PK5MD_01, PK5MD_10, 0, 0, 0, 0, 0,
2005 		0, 0, 0, 0, 0, 0, 0, 0,
2006 		PK4MD_00, PK4MD_01, PK4MD_10, 0, 0, 0, 0, 0,
2007 		0, 0, 0, 0, 0, 0, 0, 0 ))
2008 	},
2009 	{ PINMUX_CFG_REG("PKCR0", 0xfffe392e, 16, 4, GROUP(
2010 		PK3MD_00, PK3MD_01, PK3MD_10, 0, 0, 0, 0, 0,
2011 		0, 0, 0, 0, 0, 0, 0, 0,
2012 		PK2MD_00, PK2MD_01, PK2MD_10, 0, 0, 0, 0, 0,
2013 		0, 0, 0, 0, 0, 0, 0, 0,
2014 		PK1MD_00, PK1MD_01, PK1MD_10, 0, 0, 0, 0, 0,
2015 		0, 0, 0, 0, 0, 0, 0, 0,
2016 		PK0MD_00, PK0MD_01, PK0MD_10, 0, 0, 0, 0, 0,
2017 		0, 0, 0, 0, 0, 0, 0, 0 ))
2018 	},
2019 
2020 	{ PINMUX_CFG_REG("PKIOR0", 0xfffe3932, 16, 1, GROUP(
2021 		0, 0, 0, 0, 0, 0, 0, 0,
2022 		PK11_IN, PK11_OUT,
2023 		PK10_IN, PK10_OUT,
2024 		PK9_IN, PK9_OUT,
2025 		PK8_IN, PK8_OUT,
2026 		PK7_IN, PK7_OUT,
2027 		PK6_IN, PK6_OUT,
2028 		PK5_IN, PK5_OUT,
2029 		PK4_IN, PK4_OUT,
2030 		PK3_IN, PK3_OUT,
2031 		PK2_IN, PK2_OUT,
2032 		PK1_IN, PK1_OUT,
2033 		PK0_IN, PK0_OUT ))
2034 	},
2035 	{}
2036 };
2037 
2038 static const struct pinmux_data_reg pinmux_data_regs[] = {
2039 	{ PINMUX_DATA_REG("PADR1", 0xfffe3814, 16, GROUP(
2040 		0, 0, 0, 0, 0, 0, 0, PA3_DATA,
2041 		0, 0, 0, 0, 0, 0, 0, PA2_DATA ))
2042 	},
2043 
2044 	{ PINMUX_DATA_REG("PADR0", 0xfffe3816, 16, GROUP(
2045 		0, 0, 0, 0, 0, 0, 0, PA1_DATA,
2046 		0, 0, 0, 0, 0, 0, 0, PA0_DATA ))
2047 	},
2048 
2049 	{ PINMUX_DATA_REG("PBDR1", 0xfffe3834, 16, GROUP(
2050 		0, 0, 0, 0, 0, 0, 0, 0,
2051 		0, PB22_DATA, PB21_DATA, PB20_DATA,
2052 		PB19_DATA, PB18_DATA, PB17_DATA, PB16_DATA ))
2053 	},
2054 
2055 	{ PINMUX_DATA_REG("PBDR0", 0xfffe3836, 16, GROUP(
2056 		PB15_DATA, PB14_DATA, PB13_DATA, PB12_DATA,
2057 		PB11_DATA, PB10_DATA, PB9_DATA, PB8_DATA,
2058 		PB7_DATA, PB6_DATA, PB5_DATA, PB4_DATA,
2059 		PB3_DATA, PB2_DATA, PB1_DATA, 0 ))
2060 	},
2061 
2062 	{ PINMUX_DATA_REG("PCDR0", 0xfffe3856, 16, GROUP(
2063 		0, 0, 0, 0,
2064 		0, PC10_DATA, PC9_DATA, PC8_DATA,
2065 		PC7_DATA, PC6_DATA, PC5_DATA, PC4_DATA,
2066 		PC3_DATA, PC2_DATA, PC1_DATA, PC0_DATA ))
2067 	},
2068 
2069 	{ PINMUX_DATA_REG("PDDR0", 0xfffe3876, 16, GROUP(
2070 		PD15_DATA, PD14_DATA, PD13_DATA, PD12_DATA,
2071 		PD11_DATA, PD10_DATA, PD9_DATA, PD8_DATA,
2072 		PD7_DATA, PD6_DATA, PD5_DATA, PD4_DATA,
2073 		PD3_DATA, PD2_DATA, PD1_DATA, PD0_DATA ))
2074 	},
2075 
2076 	{ PINMUX_DATA_REG("PEDR0", 0xfffe3896, 16, GROUP(
2077 		0, 0, 0, 0, 0, 0, 0, 0,
2078 		0, 0, PE5_DATA, PE4_DATA,
2079 		PE3_DATA, PE2_DATA, PE1_DATA, PE0_DATA ))
2080 	},
2081 
2082 	{ PINMUX_DATA_REG("PFDR0", 0xfffe38b6, 16, GROUP(
2083 		0, 0, 0, PF12_DATA,
2084 		PF11_DATA, PF10_DATA, PF9_DATA, PF8_DATA,
2085 		PF7_DATA, PF6_DATA, PF5_DATA, PF4_DATA,
2086 		PF3_DATA, PF2_DATA, PF1_DATA, PF0_DATA ))
2087 	},
2088 
2089 	{ PINMUX_DATA_REG("PGDR1", 0xfffe38d4, 16, GROUP(
2090 		0, 0, 0, 0, 0, 0, 0, PG24_DATA,
2091 		PG23_DATA, PG22_DATA, PG21_DATA, PG20_DATA,
2092 		PG19_DATA, PG18_DATA, PG17_DATA, PG16_DATA ))
2093 	},
2094 
2095 	{ PINMUX_DATA_REG("PGDR0", 0xfffe38d6, 16, GROUP(
2096 		PG15_DATA, PG14_DATA, PG13_DATA, PG12_DATA,
2097 		PG11_DATA, PG10_DATA, PG9_DATA, PG8_DATA,
2098 		PG7_DATA, PG6_DATA, PG5_DATA, PG4_DATA,
2099 		PG3_DATA, PG2_DATA, PG1_DATA, PG0_DATA ))
2100 	},
2101 	{ PINMUX_DATA_REG("PJDR0", 0xfffe3916, 16, GROUP(
2102 		0, 0, 0, PJ12_DATA,
2103 		PJ11_DATA, PJ10_DATA, PJ9_DATA, PJ8_DATA,
2104 		PJ7_DATA, PJ6_DATA, PJ5_DATA, PJ4_DATA,
2105 		PJ3_DATA, PJ2_DATA, PJ1_DATA, PJ0_DATA ))
2106 	},
2107 	{ PINMUX_DATA_REG("PKDR0", 0xfffe3936, 16, GROUP(
2108 		0, 0, 0, PK12_DATA,
2109 		PK11_DATA, PK10_DATA, PK9_DATA, PK8_DATA,
2110 		PK7_DATA, PK6_DATA, PK5_DATA, PK4_DATA,
2111 		PK3_DATA, PK2_DATA, PK1_DATA, PK0_DATA ))
2112 	},
2113 	{ }
2114 };
2115 
2116 const struct sh_pfc_soc_info sh7264_pinmux_info = {
2117 	.name = "sh7264_pfc",
2118 	.input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END, FORCE_IN },
2119 	.output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END, FORCE_OUT },
2120 	.function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
2121 
2122 	.pins = pinmux_pins,
2123 	.nr_pins = ARRAY_SIZE(pinmux_pins),
2124 	.func_gpios = pinmux_func_gpios,
2125 	.nr_func_gpios = ARRAY_SIZE(pinmux_func_gpios),
2126 
2127 	.cfg_regs = pinmux_config_regs,
2128 	.data_regs = pinmux_data_regs,
2129 
2130 	.pinmux_data = pinmux_data,
2131 	.pinmux_data_size = ARRAY_SIZE(pinmux_data),
2132 };
2133