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