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