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