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