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