1 // SPDX-License-Identifier: GPL-2.0
2 /*
3 * R8A7740 processor support
4 *
5 * Copyright (C) 2011 Renesas Solutions Corp.
6 * Copyright (C) 2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
7 */
8 #include <linux/io.h>
9 #include <linux/kernel.h>
10 #include <linux/pinctrl/pinconf-generic.h>
11
12 #include "sh_pfc.h"
13
14 #define CPU_ALL_PORT(fn, pfx, sfx) \
15 PORT_10(0, fn, pfx, sfx), PORT_90(0, fn, pfx, sfx), \
16 PORT_10(100, fn, pfx##10, sfx), PORT_90(100, fn, pfx##1, sfx), \
17 PORT_10(200, fn, pfx##20, sfx), \
18 PORT_1(210, fn, pfx##210, sfx), PORT_1(211, fn, pfx##211, sfx)
19
20 #define IRQC_PIN_MUX(irq, pin) \
21 static const unsigned int intc_irq##irq##_pins[] = { \
22 pin, \
23 }; \
24 static const unsigned int intc_irq##irq##_mux[] = { \
25 IRQ##irq##_MARK, \
26 }
27
28 #define IRQC_PINS_MUX(irq, idx, pin) \
29 static const unsigned int intc_irq##irq##_##idx##_pins[] = { \
30 pin, \
31 }; \
32 static const unsigned int intc_irq##irq##_##idx##_mux[] = { \
33 IRQ##irq##_PORT##pin##_MARK, \
34 }
35
36 enum {
37 PINMUX_RESERVED = 0,
38
39 /* PORT0_DATA -> PORT211_DATA */
40 PINMUX_DATA_BEGIN,
41 PORT_ALL(DATA),
42 PINMUX_DATA_END,
43
44 /* PORT0_IN -> PORT211_IN */
45 PINMUX_INPUT_BEGIN,
46 PORT_ALL(IN),
47 PINMUX_INPUT_END,
48
49 /* PORT0_OUT -> PORT211_OUT */
50 PINMUX_OUTPUT_BEGIN,
51 PORT_ALL(OUT),
52 PINMUX_OUTPUT_END,
53
54 PINMUX_FUNCTION_BEGIN,
55 PORT_ALL(FN_IN), /* PORT0_FN_IN -> PORT211_FN_IN */
56 PORT_ALL(FN_OUT), /* PORT0_FN_OUT -> PORT211_FN_OUT */
57 PORT_ALL(FN0), /* PORT0_FN0 -> PORT211_FN0 */
58 PORT_ALL(FN1), /* PORT0_FN1 -> PORT211_FN1 */
59 PORT_ALL(FN2), /* PORT0_FN2 -> PORT211_FN2 */
60 PORT_ALL(FN3), /* PORT0_FN3 -> PORT211_FN3 */
61 PORT_ALL(FN4), /* PORT0_FN4 -> PORT211_FN4 */
62 PORT_ALL(FN5), /* PORT0_FN5 -> PORT211_FN5 */
63 PORT_ALL(FN6), /* PORT0_FN6 -> PORT211_FN6 */
64 PORT_ALL(FN7), /* PORT0_FN7 -> PORT211_FN7 */
65
66 MSEL1CR_31_0, MSEL1CR_31_1,
67 MSEL1CR_30_0, MSEL1CR_30_1,
68 MSEL1CR_29_0, MSEL1CR_29_1,
69 MSEL1CR_28_0, MSEL1CR_28_1,
70 MSEL1CR_27_0, MSEL1CR_27_1,
71 MSEL1CR_26_0, MSEL1CR_26_1,
72 MSEL1CR_16_0, MSEL1CR_16_1,
73 MSEL1CR_15_0, MSEL1CR_15_1,
74 MSEL1CR_14_0, MSEL1CR_14_1,
75 MSEL1CR_13_0, MSEL1CR_13_1,
76 MSEL1CR_12_0, MSEL1CR_12_1,
77 MSEL1CR_9_0, MSEL1CR_9_1,
78 MSEL1CR_7_0, MSEL1CR_7_1,
79 MSEL1CR_6_0, MSEL1CR_6_1,
80 MSEL1CR_5_0, MSEL1CR_5_1,
81 MSEL1CR_4_0, MSEL1CR_4_1,
82 MSEL1CR_3_0, MSEL1CR_3_1,
83 MSEL1CR_2_0, MSEL1CR_2_1,
84 MSEL1CR_0_0, MSEL1CR_0_1,
85
86 MSEL3CR_15_0, MSEL3CR_15_1, /* Trace / Debug ? */
87 MSEL3CR_6_0, MSEL3CR_6_1,
88
89 MSEL4CR_19_0, MSEL4CR_19_1,
90 MSEL4CR_18_0, MSEL4CR_18_1,
91 MSEL4CR_15_0, MSEL4CR_15_1,
92 MSEL4CR_10_0, MSEL4CR_10_1,
93 MSEL4CR_6_0, MSEL4CR_6_1,
94 MSEL4CR_4_0, MSEL4CR_4_1,
95 MSEL4CR_1_0, MSEL4CR_1_1,
96
97 MSEL5CR_31_0, MSEL5CR_31_1, /* irq/fiq output */
98 MSEL5CR_30_0, MSEL5CR_30_1,
99 MSEL5CR_29_0, MSEL5CR_29_1,
100 MSEL5CR_27_0, MSEL5CR_27_1,
101 MSEL5CR_25_0, MSEL5CR_25_1,
102 MSEL5CR_23_0, MSEL5CR_23_1,
103 MSEL5CR_21_0, MSEL5CR_21_1,
104 MSEL5CR_19_0, MSEL5CR_19_1,
105 MSEL5CR_17_0, MSEL5CR_17_1,
106 MSEL5CR_15_0, MSEL5CR_15_1,
107 MSEL5CR_14_0, MSEL5CR_14_1,
108 MSEL5CR_13_0, MSEL5CR_13_1,
109 MSEL5CR_12_0, MSEL5CR_12_1,
110 MSEL5CR_11_0, MSEL5CR_11_1,
111 MSEL5CR_10_0, MSEL5CR_10_1,
112 MSEL5CR_8_0, MSEL5CR_8_1,
113 MSEL5CR_7_0, MSEL5CR_7_1,
114 MSEL5CR_6_0, MSEL5CR_6_1,
115 MSEL5CR_5_0, MSEL5CR_5_1,
116 MSEL5CR_4_0, MSEL5CR_4_1,
117 MSEL5CR_3_0, MSEL5CR_3_1,
118 MSEL5CR_2_0, MSEL5CR_2_1,
119 MSEL5CR_0_0, MSEL5CR_0_1,
120 PINMUX_FUNCTION_END,
121
122 PINMUX_MARK_BEGIN,
123
124 /* IRQ */
125 IRQ0_PORT2_MARK, IRQ0_PORT13_MARK,
126 IRQ1_MARK,
127 IRQ2_PORT11_MARK, IRQ2_PORT12_MARK,
128 IRQ3_PORT10_MARK, IRQ3_PORT14_MARK,
129 IRQ4_PORT15_MARK, IRQ4_PORT172_MARK,
130 IRQ5_PORT0_MARK, IRQ5_PORT1_MARK,
131 IRQ6_PORT121_MARK, IRQ6_PORT173_MARK,
132 IRQ7_PORT120_MARK, IRQ7_PORT209_MARK,
133 IRQ8_MARK,
134 IRQ9_PORT118_MARK, IRQ9_PORT210_MARK,
135 IRQ10_MARK,
136 IRQ11_MARK,
137 IRQ12_PORT42_MARK, IRQ12_PORT97_MARK,
138 IRQ13_PORT64_MARK, IRQ13_PORT98_MARK,
139 IRQ14_PORT63_MARK, IRQ14_PORT99_MARK,
140 IRQ15_PORT62_MARK, IRQ15_PORT100_MARK,
141 IRQ16_PORT68_MARK, IRQ16_PORT211_MARK,
142 IRQ17_MARK,
143 IRQ18_MARK,
144 IRQ19_MARK,
145 IRQ20_MARK,
146 IRQ21_MARK,
147 IRQ22_MARK,
148 IRQ23_MARK,
149 IRQ24_MARK,
150 IRQ25_MARK,
151 IRQ26_PORT58_MARK, IRQ26_PORT81_MARK,
152 IRQ27_PORT57_MARK, IRQ27_PORT168_MARK,
153 IRQ28_PORT56_MARK, IRQ28_PORT169_MARK,
154 IRQ29_PORT50_MARK, IRQ29_PORT170_MARK,
155 IRQ30_PORT49_MARK, IRQ30_PORT171_MARK,
156 IRQ31_PORT41_MARK, IRQ31_PORT167_MARK,
157
158 /* Function */
159
160 /* DBGT */
161 DBGMDT2_MARK, DBGMDT1_MARK, DBGMDT0_MARK,
162 DBGMD10_MARK, DBGMD11_MARK, DBGMD20_MARK,
163 DBGMD21_MARK,
164
165 /* FSI-A */
166 FSIAISLD_PORT0_MARK, /* FSIAISLD Port 0/5 */
167 FSIAISLD_PORT5_MARK,
168 FSIASPDIF_PORT9_MARK, /* FSIASPDIF Port 9/18 */
169 FSIASPDIF_PORT18_MARK,
170 FSIAOSLD1_MARK, FSIAOSLD2_MARK, FSIAOLR_MARK,
171 FSIAOBT_MARK, FSIAOSLD_MARK, FSIAOMC_MARK,
172 FSIACK_MARK, FSIAILR_MARK, FSIAIBT_MARK,
173
174 /* FSI-B */
175 FSIBCK_MARK,
176
177 /* FMSI */
178 FMSISLD_PORT1_MARK, /* FMSISLD Port 1/6 */
179 FMSISLD_PORT6_MARK,
180 FMSIILR_MARK, FMSIIBT_MARK, FMSIOLR_MARK, FMSIOBT_MARK,
181 FMSICK_MARK, FMSOILR_MARK, FMSOIBT_MARK, FMSOOLR_MARK,
182 FMSOOBT_MARK, FMSOSLD_MARK, FMSOCK_MARK,
183
184 /* SCIFA0 */
185 SCIFA0_SCK_MARK, SCIFA0_CTS_MARK, SCIFA0_RTS_MARK,
186 SCIFA0_RXD_MARK, SCIFA0_TXD_MARK,
187
188 /* SCIFA1 */
189 SCIFA1_CTS_MARK, SCIFA1_SCK_MARK, SCIFA1_RXD_MARK,
190 SCIFA1_TXD_MARK, SCIFA1_RTS_MARK,
191
192 /* SCIFA2 */
193 SCIFA2_SCK_PORT22_MARK, /* SCIFA2_SCK Port 22/199 */
194 SCIFA2_SCK_PORT199_MARK,
195 SCIFA2_RXD_MARK, SCIFA2_TXD_MARK,
196 SCIFA2_CTS_MARK, SCIFA2_RTS_MARK,
197
198 /* SCIFA3 */
199 SCIFA3_RTS_PORT105_MARK, /* MSEL5CR_8_0 */
200 SCIFA3_SCK_PORT116_MARK,
201 SCIFA3_CTS_PORT117_MARK,
202 SCIFA3_RXD_PORT174_MARK,
203 SCIFA3_TXD_PORT175_MARK,
204
205 SCIFA3_RTS_PORT161_MARK, /* MSEL5CR_8_1 */
206 SCIFA3_SCK_PORT158_MARK,
207 SCIFA3_CTS_PORT162_MARK,
208 SCIFA3_RXD_PORT159_MARK,
209 SCIFA3_TXD_PORT160_MARK,
210
211 /* SCIFA4 */
212 SCIFA4_RXD_PORT12_MARK, /* MSEL5CR[12:11] = 00 */
213 SCIFA4_TXD_PORT13_MARK,
214
215 SCIFA4_RXD_PORT204_MARK, /* MSEL5CR[12:11] = 01 */
216 SCIFA4_TXD_PORT203_MARK,
217
218 SCIFA4_RXD_PORT94_MARK, /* MSEL5CR[12:11] = 10 */
219 SCIFA4_TXD_PORT93_MARK,
220
221 SCIFA4_SCK_PORT21_MARK, /* SCIFA4_SCK Port 21/205 */
222 SCIFA4_SCK_PORT205_MARK,
223
224 /* SCIFA5 */
225 SCIFA5_TXD_PORT20_MARK, /* MSEL5CR[15:14] = 00 */
226 SCIFA5_RXD_PORT10_MARK,
227
228 SCIFA5_RXD_PORT207_MARK, /* MSEL5CR[15:14] = 01 */
229 SCIFA5_TXD_PORT208_MARK,
230
231 SCIFA5_TXD_PORT91_MARK, /* MSEL5CR[15:14] = 10 */
232 SCIFA5_RXD_PORT92_MARK,
233
234 SCIFA5_SCK_PORT23_MARK, /* SCIFA5_SCK Port 23/206 */
235 SCIFA5_SCK_PORT206_MARK,
236
237 /* SCIFA6 */
238 SCIFA6_SCK_MARK, SCIFA6_RXD_MARK, SCIFA6_TXD_MARK,
239
240 /* SCIFA7 */
241 SCIFA7_TXD_MARK, SCIFA7_RXD_MARK,
242
243 /* SCIFB */
244 SCIFB_SCK_PORT190_MARK, /* MSEL5CR_17_0 */
245 SCIFB_RXD_PORT191_MARK,
246 SCIFB_TXD_PORT192_MARK,
247 SCIFB_RTS_PORT186_MARK,
248 SCIFB_CTS_PORT187_MARK,
249
250 SCIFB_SCK_PORT2_MARK, /* MSEL5CR_17_1 */
251 SCIFB_RXD_PORT3_MARK,
252 SCIFB_TXD_PORT4_MARK,
253 SCIFB_RTS_PORT172_MARK,
254 SCIFB_CTS_PORT173_MARK,
255
256 /* LCD0 */
257 LCD0_D0_MARK, LCD0_D1_MARK, LCD0_D2_MARK, LCD0_D3_MARK,
258 LCD0_D4_MARK, LCD0_D5_MARK, LCD0_D6_MARK, LCD0_D7_MARK,
259 LCD0_D8_MARK, LCD0_D9_MARK, LCD0_D10_MARK, LCD0_D11_MARK,
260 LCD0_D12_MARK, LCD0_D13_MARK, LCD0_D14_MARK, LCD0_D15_MARK,
261 LCD0_D16_MARK, LCD0_D17_MARK,
262 LCD0_DON_MARK, LCD0_VCPWC_MARK, LCD0_VEPWC_MARK,
263 LCD0_DCK_MARK, LCD0_VSYN_MARK, /* for RGB */
264 LCD0_HSYN_MARK, LCD0_DISP_MARK, /* for RGB */
265 LCD0_WR_MARK, LCD0_RD_MARK, /* for SYS */
266 LCD0_CS_MARK, LCD0_RS_MARK, /* for SYS */
267
268 LCD0_D21_PORT158_MARK, LCD0_D23_PORT159_MARK, /* MSEL5CR_6_1 */
269 LCD0_D22_PORT160_MARK, LCD0_D20_PORT161_MARK,
270 LCD0_D19_PORT162_MARK, LCD0_D18_PORT163_MARK,
271 LCD0_LCLK_PORT165_MARK,
272
273 LCD0_D18_PORT40_MARK, LCD0_D22_PORT0_MARK, /* MSEL5CR_6_0 */
274 LCD0_D23_PORT1_MARK, LCD0_D21_PORT2_MARK,
275 LCD0_D20_PORT3_MARK, LCD0_D19_PORT4_MARK,
276 LCD0_LCLK_PORT102_MARK,
277
278 /* LCD1 */
279 LCD1_D0_MARK, LCD1_D1_MARK, LCD1_D2_MARK, LCD1_D3_MARK,
280 LCD1_D4_MARK, LCD1_D5_MARK, LCD1_D6_MARK, LCD1_D7_MARK,
281 LCD1_D8_MARK, LCD1_D9_MARK, LCD1_D10_MARK, LCD1_D11_MARK,
282 LCD1_D12_MARK, LCD1_D13_MARK, LCD1_D14_MARK, LCD1_D15_MARK,
283 LCD1_D16_MARK, LCD1_D17_MARK, LCD1_D18_MARK, LCD1_D19_MARK,
284 LCD1_D20_MARK, LCD1_D21_MARK, LCD1_D22_MARK, LCD1_D23_MARK,
285 LCD1_DON_MARK, LCD1_VCPWC_MARK,
286 LCD1_LCLK_MARK, LCD1_VEPWC_MARK,
287
288 LCD1_DCK_MARK, LCD1_VSYN_MARK, /* for RGB */
289 LCD1_HSYN_MARK, LCD1_DISP_MARK, /* for RGB */
290 LCD1_RS_MARK, LCD1_CS_MARK, /* for SYS */
291 LCD1_RD_MARK, LCD1_WR_MARK, /* for SYS */
292
293 /* RSPI */
294 RSPI_SSL0_A_MARK, RSPI_SSL1_A_MARK, RSPI_SSL2_A_MARK,
295 RSPI_SSL3_A_MARK, RSPI_CK_A_MARK, RSPI_MOSI_A_MARK,
296 RSPI_MISO_A_MARK,
297
298 /* VIO CKO */
299 VIO_CKO1_MARK, /* needs fixup */
300 VIO_CKO2_MARK,
301 VIO_CKO_1_MARK,
302 VIO_CKO_MARK,
303
304 /* VIO0 */
305 VIO0_D0_MARK, VIO0_D1_MARK, VIO0_D2_MARK, VIO0_D3_MARK,
306 VIO0_D4_MARK, VIO0_D5_MARK, VIO0_D6_MARK, VIO0_D7_MARK,
307 VIO0_D8_MARK, VIO0_D9_MARK, VIO0_D10_MARK, VIO0_D11_MARK,
308 VIO0_D12_MARK, VIO0_VD_MARK, VIO0_HD_MARK, VIO0_CLK_MARK,
309 VIO0_FIELD_MARK,
310
311 VIO0_D13_PORT26_MARK, /* MSEL5CR_27_0 */
312 VIO0_D14_PORT25_MARK,
313 VIO0_D15_PORT24_MARK,
314
315 VIO0_D13_PORT22_MARK, /* MSEL5CR_27_1 */
316 VIO0_D14_PORT95_MARK,
317 VIO0_D15_PORT96_MARK,
318
319 /* VIO1 */
320 VIO1_D0_MARK, VIO1_D1_MARK, VIO1_D2_MARK, VIO1_D3_MARK,
321 VIO1_D4_MARK, VIO1_D5_MARK, VIO1_D6_MARK, VIO1_D7_MARK,
322 VIO1_VD_MARK, VIO1_HD_MARK, VIO1_CLK_MARK, VIO1_FIELD_MARK,
323
324 /* TPU0 */
325 TPU0TO0_MARK, TPU0TO1_MARK, TPU0TO3_MARK,
326 TPU0TO2_PORT66_MARK, /* TPU0TO2 Port 66/202 */
327 TPU0TO2_PORT202_MARK,
328
329 /* SSP1 0 */
330 STP0_IPD0_MARK, STP0_IPD1_MARK, STP0_IPD2_MARK, STP0_IPD3_MARK,
331 STP0_IPD4_MARK, STP0_IPD5_MARK, STP0_IPD6_MARK, STP0_IPD7_MARK,
332 STP0_IPEN_MARK, STP0_IPCLK_MARK, STP0_IPSYNC_MARK,
333
334 /* SSP1 1 */
335 STP1_IPD1_MARK, STP1_IPD2_MARK, STP1_IPD3_MARK, STP1_IPD4_MARK,
336 STP1_IPD5_MARK, STP1_IPD6_MARK, STP1_IPD7_MARK, STP1_IPCLK_MARK,
337 STP1_IPSYNC_MARK,
338
339 STP1_IPD0_PORT186_MARK, /* MSEL5CR_23_0 */
340 STP1_IPEN_PORT187_MARK,
341
342 STP1_IPD0_PORT194_MARK, /* MSEL5CR_23_1 */
343 STP1_IPEN_PORT193_MARK,
344
345 /* SIM */
346 SIM_RST_MARK, SIM_CLK_MARK,
347 SIM_D_PORT22_MARK, /* SIM_D Port 22/199 */
348 SIM_D_PORT199_MARK,
349
350 /* SDHI0 */
351 SDHI0_D0_MARK, SDHI0_D1_MARK, SDHI0_D2_MARK, SDHI0_D3_MARK,
352 SDHI0_CD_MARK, SDHI0_WP_MARK, SDHI0_CMD_MARK, SDHI0_CLK_MARK,
353
354 /* SDHI1 */
355 SDHI1_D0_MARK, SDHI1_D1_MARK, SDHI1_D2_MARK, SDHI1_D3_MARK,
356 SDHI1_CD_MARK, SDHI1_WP_MARK, SDHI1_CMD_MARK, SDHI1_CLK_MARK,
357
358 /* SDHI2 */
359 SDHI2_D0_MARK, SDHI2_D1_MARK, SDHI2_D2_MARK, SDHI2_D3_MARK,
360 SDHI2_CLK_MARK, SDHI2_CMD_MARK,
361
362 SDHI2_CD_PORT24_MARK, /* MSEL5CR_19_0 */
363 SDHI2_WP_PORT25_MARK,
364
365 SDHI2_WP_PORT177_MARK, /* MSEL5CR_19_1 */
366 SDHI2_CD_PORT202_MARK,
367
368 /* MSIOF2 */
369 MSIOF2_TXD_MARK, MSIOF2_RXD_MARK, MSIOF2_TSCK_MARK,
370 MSIOF2_SS2_MARK, MSIOF2_TSYNC_MARK, MSIOF2_SS1_MARK,
371 MSIOF2_MCK1_MARK, MSIOF2_MCK0_MARK, MSIOF2_RSYNC_MARK,
372 MSIOF2_RSCK_MARK,
373
374 /* KEYSC */
375 KEYIN4_MARK, KEYIN5_MARK, KEYIN6_MARK, KEYIN7_MARK,
376 KEYOUT0_MARK, KEYOUT1_MARK, KEYOUT2_MARK, KEYOUT3_MARK,
377 KEYOUT4_MARK, KEYOUT5_MARK, KEYOUT6_MARK, KEYOUT7_MARK,
378
379 KEYIN0_PORT43_MARK, /* MSEL4CR_18_0 */
380 KEYIN1_PORT44_MARK,
381 KEYIN2_PORT45_MARK,
382 KEYIN3_PORT46_MARK,
383
384 KEYIN0_PORT58_MARK, /* MSEL4CR_18_1 */
385 KEYIN1_PORT57_MARK,
386 KEYIN2_PORT56_MARK,
387 KEYIN3_PORT55_MARK,
388
389 /* VOU */
390 DV_D0_MARK, DV_D1_MARK, DV_D2_MARK, DV_D3_MARK,
391 DV_D4_MARK, DV_D5_MARK, DV_D6_MARK, DV_D7_MARK,
392 DV_D8_MARK, DV_D9_MARK, DV_D10_MARK, DV_D11_MARK,
393 DV_D12_MARK, DV_D13_MARK, DV_D14_MARK, DV_D15_MARK,
394 DV_CLK_MARK, DV_VSYNC_MARK, DV_HSYNC_MARK,
395
396 /* MEMC */
397 MEMC_AD0_MARK, MEMC_AD1_MARK, MEMC_AD2_MARK, MEMC_AD3_MARK,
398 MEMC_AD4_MARK, MEMC_AD5_MARK, MEMC_AD6_MARK, MEMC_AD7_MARK,
399 MEMC_AD8_MARK, MEMC_AD9_MARK, MEMC_AD10_MARK, MEMC_AD11_MARK,
400 MEMC_AD12_MARK, MEMC_AD13_MARK, MEMC_AD14_MARK, MEMC_AD15_MARK,
401 MEMC_CS0_MARK, MEMC_INT_MARK, MEMC_NWE_MARK, MEMC_NOE_MARK,
402
403 MEMC_CS1_MARK, /* MSEL4CR_6_0 */
404 MEMC_ADV_MARK,
405 MEMC_WAIT_MARK,
406 MEMC_BUSCLK_MARK,
407
408 MEMC_A1_MARK, /* MSEL4CR_6_1 */
409 MEMC_DREQ0_MARK,
410 MEMC_DREQ1_MARK,
411 MEMC_A0_MARK,
412
413 /* MMC */
414 MMC0_D0_PORT68_MARK, MMC0_D1_PORT69_MARK, MMC0_D2_PORT70_MARK,
415 MMC0_D3_PORT71_MARK, MMC0_D4_PORT72_MARK, MMC0_D5_PORT73_MARK,
416 MMC0_D6_PORT74_MARK, MMC0_D7_PORT75_MARK, MMC0_CLK_PORT66_MARK,
417 MMC0_CMD_PORT67_MARK, /* MSEL4CR_15_0 */
418
419 MMC1_D0_PORT149_MARK, MMC1_D1_PORT148_MARK, MMC1_D2_PORT147_MARK,
420 MMC1_D3_PORT146_MARK, MMC1_D4_PORT145_MARK, MMC1_D5_PORT144_MARK,
421 MMC1_D6_PORT143_MARK, MMC1_D7_PORT142_MARK, MMC1_CLK_PORT103_MARK,
422 MMC1_CMD_PORT104_MARK, /* MSEL4CR_15_1 */
423
424 /* MSIOF0 */
425 MSIOF0_SS1_MARK, MSIOF0_SS2_MARK, MSIOF0_RXD_MARK,
426 MSIOF0_TXD_MARK, MSIOF0_MCK0_MARK, MSIOF0_MCK1_MARK,
427 MSIOF0_RSYNC_MARK, MSIOF0_RSCK_MARK, MSIOF0_TSCK_MARK,
428 MSIOF0_TSYNC_MARK,
429
430 /* MSIOF1 */
431 MSIOF1_RSCK_MARK, MSIOF1_RSYNC_MARK,
432 MSIOF1_MCK0_MARK, MSIOF1_MCK1_MARK,
433
434 MSIOF1_SS2_PORT116_MARK, MSIOF1_SS1_PORT117_MARK,
435 MSIOF1_RXD_PORT118_MARK, MSIOF1_TXD_PORT119_MARK,
436 MSIOF1_TSYNC_PORT120_MARK,
437 MSIOF1_TSCK_PORT121_MARK, /* MSEL4CR_10_0 */
438
439 MSIOF1_SS1_PORT67_MARK, MSIOF1_TSCK_PORT72_MARK,
440 MSIOF1_TSYNC_PORT73_MARK, MSIOF1_TXD_PORT74_MARK,
441 MSIOF1_RXD_PORT75_MARK,
442 MSIOF1_SS2_PORT202_MARK, /* MSEL4CR_10_1 */
443
444 /* GPIO */
445 GPO0_MARK, GPI0_MARK, GPO1_MARK, GPI1_MARK,
446
447 /* USB0 */
448 USB0_OCI_MARK, USB0_PPON_MARK, VBUS_MARK,
449
450 /* USB1 */
451 USB1_OCI_MARK, USB1_PPON_MARK,
452
453 /* BBIF1 */
454 BBIF1_RXD_MARK, BBIF1_TXD_MARK, BBIF1_TSYNC_MARK,
455 BBIF1_TSCK_MARK, BBIF1_RSCK_MARK, BBIF1_RSYNC_MARK,
456 BBIF1_FLOW_MARK, BBIF1_RX_FLOW_N_MARK,
457
458 /* BBIF2 */
459 BBIF2_TXD2_PORT5_MARK, /* MSEL5CR_0_0 */
460 BBIF2_RXD2_PORT60_MARK,
461 BBIF2_TSYNC2_PORT6_MARK,
462 BBIF2_TSCK2_PORT59_MARK,
463
464 BBIF2_RXD2_PORT90_MARK, /* MSEL5CR_0_1 */
465 BBIF2_TXD2_PORT183_MARK,
466 BBIF2_TSCK2_PORT89_MARK,
467 BBIF2_TSYNC2_PORT184_MARK,
468
469 /* BSC / FLCTL / PCMCIA */
470 CS0_MARK, CS2_MARK, CS4_MARK,
471 CS5B_MARK, CS6A_MARK,
472 CS5A_PORT105_MARK, /* CS5A PORT 19/105 */
473 CS5A_PORT19_MARK,
474 IOIS16_MARK, /* ? */
475
476 A0_MARK, A1_MARK, A2_MARK, A3_MARK,
477 A4_FOE_MARK, /* share with FLCTL */
478 A5_FCDE_MARK, /* share with FLCTL */
479 A6_MARK, A7_MARK, A8_MARK, A9_MARK,
480 A10_MARK, A11_MARK, A12_MARK, A13_MARK,
481 A14_MARK, A15_MARK, A16_MARK, A17_MARK,
482 A18_MARK, A19_MARK, A20_MARK, A21_MARK,
483 A22_MARK, A23_MARK, A24_MARK, A25_MARK,
484 A26_MARK,
485
486 D0_NAF0_MARK, D1_NAF1_MARK, D2_NAF2_MARK, /* share with FLCTL */
487 D3_NAF3_MARK, D4_NAF4_MARK, D5_NAF5_MARK, /* share with FLCTL */
488 D6_NAF6_MARK, D7_NAF7_MARK, D8_NAF8_MARK, /* share with FLCTL */
489 D9_NAF9_MARK, D10_NAF10_MARK, D11_NAF11_MARK, /* share with FLCTL */
490 D12_NAF12_MARK, D13_NAF13_MARK, D14_NAF14_MARK, /* share with FLCTL */
491 D15_NAF15_MARK, /* share with FLCTL */
492 D16_MARK, D17_MARK, D18_MARK, D19_MARK,
493 D20_MARK, D21_MARK, D22_MARK, D23_MARK,
494 D24_MARK, D25_MARK, D26_MARK, D27_MARK,
495 D28_MARK, D29_MARK, D30_MARK, D31_MARK,
496
497 WE0_FWE_MARK, /* share with FLCTL */
498 WE1_MARK,
499 WE2_ICIORD_MARK, /* share with PCMCIA */
500 WE3_ICIOWR_MARK, /* share with PCMCIA */
501 CKO_MARK, BS_MARK, RDWR_MARK,
502 RD_FSC_MARK, /* share with FLCTL */
503 WAIT_PORT177_MARK, /* WAIT Port 90/177 */
504 WAIT_PORT90_MARK,
505
506 FCE0_MARK, FCE1_MARK, FRB_MARK, /* FLCTL */
507
508 /* IRDA */
509 IRDA_FIRSEL_MARK, IRDA_IN_MARK, IRDA_OUT_MARK,
510
511 /* ATAPI */
512 IDE_D0_MARK, IDE_D1_MARK, IDE_D2_MARK, IDE_D3_MARK,
513 IDE_D4_MARK, IDE_D5_MARK, IDE_D6_MARK, IDE_D7_MARK,
514 IDE_D8_MARK, IDE_D9_MARK, IDE_D10_MARK, IDE_D11_MARK,
515 IDE_D12_MARK, IDE_D13_MARK, IDE_D14_MARK, IDE_D15_MARK,
516 IDE_A0_MARK, IDE_A1_MARK, IDE_A2_MARK, IDE_CS0_MARK,
517 IDE_CS1_MARK, IDE_IOWR_MARK, IDE_IORD_MARK, IDE_IORDY_MARK,
518 IDE_INT_MARK, IDE_RST_MARK, IDE_DIRECTION_MARK,
519 IDE_EXBUF_ENB_MARK, IDE_IODACK_MARK, IDE_IODREQ_MARK,
520
521 /* RMII */
522 RMII_CRS_DV_MARK, RMII_RX_ER_MARK, RMII_RXD0_MARK,
523 RMII_RXD1_MARK, RMII_TX_EN_MARK, RMII_TXD0_MARK,
524 RMII_MDC_MARK, RMII_TXD1_MARK, RMII_MDIO_MARK,
525 RMII_REF50CK_MARK, /* for RMII */
526 RMII_REF125CK_MARK, /* for GMII */
527
528 /* GEther */
529 ET_TX_CLK_MARK, ET_TX_EN_MARK, ET_ETXD0_MARK, ET_ETXD1_MARK,
530 ET_ETXD2_MARK, ET_ETXD3_MARK,
531 ET_ETXD4_MARK, ET_ETXD5_MARK, /* for GEther */
532 ET_ETXD6_MARK, ET_ETXD7_MARK, /* for GEther */
533 ET_COL_MARK, ET_TX_ER_MARK, ET_RX_CLK_MARK, ET_RX_DV_MARK,
534 ET_ERXD0_MARK, ET_ERXD1_MARK, ET_ERXD2_MARK, ET_ERXD3_MARK,
535 ET_ERXD4_MARK, ET_ERXD5_MARK, /* for GEther */
536 ET_ERXD6_MARK, ET_ERXD7_MARK, /* for GEther */
537 ET_RX_ER_MARK, ET_CRS_MARK, ET_MDC_MARK, ET_MDIO_MARK,
538 ET_LINK_MARK, ET_PHY_INT_MARK, ET_WOL_MARK, ET_GTX_CLK_MARK,
539
540 /* DMA0 */
541 DREQ0_MARK, DACK0_MARK,
542
543 /* DMA1 */
544 DREQ1_MARK, DACK1_MARK,
545
546 /* SYSC */
547 RESETOUTS_MARK, RESETP_PULLUP_MARK, RESETP_PLAIN_MARK,
548
549 /* IRREM */
550 IROUT_MARK,
551
552 /* SDENC */
553 SDENC_CPG_MARK, SDENC_DV_CLKI_MARK,
554
555 /* HDMI */
556 HDMI_HPD_MARK, HDMI_CEC_MARK,
557
558 /* DEBUG */
559 EDEBGREQ_PULLUP_MARK, /* for JTAG */
560 EDEBGREQ_PULLDOWN_MARK,
561
562 TRACEAUD_FROM_VIO_MARK, /* for TRACE/AUD */
563 TRACEAUD_FROM_LCDC0_MARK,
564 TRACEAUD_FROM_MEMC_MARK,
565
566 PINMUX_MARK_END,
567 };
568
569 static const u16 pinmux_data[] = {
570 PINMUX_DATA_ALL(),
571
572 /* Port0 */
573 PINMUX_DATA(DBGMDT2_MARK, PORT0_FN1),
574 PINMUX_DATA(FSIAISLD_PORT0_MARK, PORT0_FN2, MSEL5CR_3_0),
575 PINMUX_DATA(FSIAOSLD1_MARK, PORT0_FN3),
576 PINMUX_DATA(LCD0_D22_PORT0_MARK, PORT0_FN4, MSEL5CR_6_0),
577 PINMUX_DATA(SCIFA7_RXD_MARK, PORT0_FN6),
578 PINMUX_DATA(LCD1_D4_MARK, PORT0_FN7),
579 PINMUX_DATA(IRQ5_PORT0_MARK, PORT0_FN0, MSEL1CR_5_0),
580
581 /* Port1 */
582 PINMUX_DATA(DBGMDT1_MARK, PORT1_FN1),
583 PINMUX_DATA(FMSISLD_PORT1_MARK, PORT1_FN2, MSEL5CR_5_0),
584 PINMUX_DATA(FSIAOSLD2_MARK, PORT1_FN3),
585 PINMUX_DATA(LCD0_D23_PORT1_MARK, PORT1_FN4, MSEL5CR_6_0),
586 PINMUX_DATA(SCIFA7_TXD_MARK, PORT1_FN6),
587 PINMUX_DATA(LCD1_D3_MARK, PORT1_FN7),
588 PINMUX_DATA(IRQ5_PORT1_MARK, PORT1_FN0, MSEL1CR_5_1),
589
590 /* Port2 */
591 PINMUX_DATA(DBGMDT0_MARK, PORT2_FN1),
592 PINMUX_DATA(SCIFB_SCK_PORT2_MARK, PORT2_FN2, MSEL5CR_17_1),
593 PINMUX_DATA(LCD0_D21_PORT2_MARK, PORT2_FN4, MSEL5CR_6_0),
594 PINMUX_DATA(LCD1_D2_MARK, PORT2_FN7),
595 PINMUX_DATA(IRQ0_PORT2_MARK, PORT2_FN0, MSEL1CR_0_1),
596
597 /* Port3 */
598 PINMUX_DATA(DBGMD21_MARK, PORT3_FN1),
599 PINMUX_DATA(SCIFB_RXD_PORT3_MARK, PORT3_FN2, MSEL5CR_17_1),
600 PINMUX_DATA(LCD0_D20_PORT3_MARK, PORT3_FN4, MSEL5CR_6_0),
601 PINMUX_DATA(LCD1_D1_MARK, PORT3_FN7),
602
603 /* Port4 */
604 PINMUX_DATA(DBGMD20_MARK, PORT4_FN1),
605 PINMUX_DATA(SCIFB_TXD_PORT4_MARK, PORT4_FN2, MSEL5CR_17_1),
606 PINMUX_DATA(LCD0_D19_PORT4_MARK, PORT4_FN4, MSEL5CR_6_0),
607 PINMUX_DATA(LCD1_D0_MARK, PORT4_FN7),
608
609 /* Port5 */
610 PINMUX_DATA(DBGMD11_MARK, PORT5_FN1),
611 PINMUX_DATA(BBIF2_TXD2_PORT5_MARK, PORT5_FN2, MSEL5CR_0_0),
612 PINMUX_DATA(FSIAISLD_PORT5_MARK, PORT5_FN4, MSEL5CR_3_1),
613 PINMUX_DATA(RSPI_SSL0_A_MARK, PORT5_FN6),
614 PINMUX_DATA(LCD1_VCPWC_MARK, PORT5_FN7),
615
616 /* Port6 */
617 PINMUX_DATA(DBGMD10_MARK, PORT6_FN1),
618 PINMUX_DATA(BBIF2_TSYNC2_PORT6_MARK, PORT6_FN2, MSEL5CR_0_0),
619 PINMUX_DATA(FMSISLD_PORT6_MARK, PORT6_FN4, MSEL5CR_5_1),
620 PINMUX_DATA(RSPI_SSL1_A_MARK, PORT6_FN6),
621 PINMUX_DATA(LCD1_VEPWC_MARK, PORT6_FN7),
622
623 /* Port7 */
624 PINMUX_DATA(FSIAOLR_MARK, PORT7_FN1),
625
626 /* Port8 */
627 PINMUX_DATA(FSIAOBT_MARK, PORT8_FN1),
628
629 /* Port9 */
630 PINMUX_DATA(FSIAOSLD_MARK, PORT9_FN1),
631 PINMUX_DATA(FSIASPDIF_PORT9_MARK, PORT9_FN2, MSEL5CR_4_0),
632
633 /* Port10 */
634 PINMUX_DATA(FSIAOMC_MARK, PORT10_FN1),
635 PINMUX_DATA(SCIFA5_RXD_PORT10_MARK, PORT10_FN3, MSEL5CR_14_0, MSEL5CR_15_0),
636 PINMUX_DATA(IRQ3_PORT10_MARK, PORT10_FN0, MSEL1CR_3_0),
637
638 /* Port11 */
639 PINMUX_DATA(FSIACK_MARK, PORT11_FN1),
640 PINMUX_DATA(FSIBCK_MARK, PORT11_FN2),
641 PINMUX_DATA(IRQ2_PORT11_MARK, PORT11_FN0, MSEL1CR_2_0),
642
643 /* Port12 */
644 PINMUX_DATA(FSIAILR_MARK, PORT12_FN1),
645 PINMUX_DATA(SCIFA4_RXD_PORT12_MARK, PORT12_FN2, MSEL5CR_12_0, MSEL5CR_11_0),
646 PINMUX_DATA(LCD1_RS_MARK, PORT12_FN6),
647 PINMUX_DATA(LCD1_DISP_MARK, PORT12_FN7),
648 PINMUX_DATA(IRQ2_PORT12_MARK, PORT12_FN0, MSEL1CR_2_1),
649
650 /* Port13 */
651 PINMUX_DATA(FSIAIBT_MARK, PORT13_FN1),
652 PINMUX_DATA(SCIFA4_TXD_PORT13_MARK, PORT13_FN2, MSEL5CR_12_0, MSEL5CR_11_0),
653 PINMUX_DATA(LCD1_RD_MARK, PORT13_FN7),
654 PINMUX_DATA(IRQ0_PORT13_MARK, PORT13_FN0, MSEL1CR_0_0),
655
656 /* Port14 */
657 PINMUX_DATA(FMSOILR_MARK, PORT14_FN1),
658 PINMUX_DATA(FMSIILR_MARK, PORT14_FN2),
659 PINMUX_DATA(VIO_CKO1_MARK, PORT14_FN3),
660 PINMUX_DATA(LCD1_D23_MARK, PORT14_FN7),
661 PINMUX_DATA(IRQ3_PORT14_MARK, PORT14_FN0, MSEL1CR_3_1),
662
663 /* Port15 */
664 PINMUX_DATA(FMSOIBT_MARK, PORT15_FN1),
665 PINMUX_DATA(FMSIIBT_MARK, PORT15_FN2),
666 PINMUX_DATA(VIO_CKO2_MARK, PORT15_FN3),
667 PINMUX_DATA(LCD1_D22_MARK, PORT15_FN7),
668 PINMUX_DATA(IRQ4_PORT15_MARK, PORT15_FN0, MSEL1CR_4_0),
669
670 /* Port16 */
671 PINMUX_DATA(FMSOOLR_MARK, PORT16_FN1),
672 PINMUX_DATA(FMSIOLR_MARK, PORT16_FN2),
673
674 /* Port17 */
675 PINMUX_DATA(FMSOOBT_MARK, PORT17_FN1),
676 PINMUX_DATA(FMSIOBT_MARK, PORT17_FN2),
677
678 /* Port18 */
679 PINMUX_DATA(FMSOSLD_MARK, PORT18_FN1),
680 PINMUX_DATA(FSIASPDIF_PORT18_MARK, PORT18_FN2, MSEL5CR_4_1),
681
682 /* Port19 */
683 PINMUX_DATA(FMSICK_MARK, PORT19_FN1),
684 PINMUX_DATA(CS5A_PORT19_MARK, PORT19_FN7, MSEL5CR_2_1),
685 PINMUX_DATA(IRQ10_MARK, PORT19_FN0),
686
687 /* Port20 */
688 PINMUX_DATA(FMSOCK_MARK, PORT20_FN1),
689 PINMUX_DATA(SCIFA5_TXD_PORT20_MARK, PORT20_FN3, MSEL5CR_15_0, MSEL5CR_14_0),
690 PINMUX_DATA(IRQ1_MARK, PORT20_FN0),
691
692 /* Port21 */
693 PINMUX_DATA(SCIFA1_CTS_MARK, PORT21_FN1),
694 PINMUX_DATA(SCIFA4_SCK_PORT21_MARK, PORT21_FN2, MSEL5CR_10_0),
695 PINMUX_DATA(TPU0TO1_MARK, PORT21_FN4),
696 PINMUX_DATA(VIO1_FIELD_MARK, PORT21_FN5),
697 PINMUX_DATA(STP0_IPD5_MARK, PORT21_FN6),
698 PINMUX_DATA(LCD1_D10_MARK, PORT21_FN7),
699
700 /* Port22 */
701 PINMUX_DATA(SCIFA2_SCK_PORT22_MARK, PORT22_FN1, MSEL5CR_7_0),
702 PINMUX_DATA(SIM_D_PORT22_MARK, PORT22_FN4, MSEL5CR_21_0),
703 PINMUX_DATA(VIO0_D13_PORT22_MARK, PORT22_FN7, MSEL5CR_27_1),
704
705 /* Port23 */
706 PINMUX_DATA(SCIFA1_RTS_MARK, PORT23_FN1),
707 PINMUX_DATA(SCIFA5_SCK_PORT23_MARK, PORT23_FN3, MSEL5CR_13_0),
708 PINMUX_DATA(TPU0TO0_MARK, PORT23_FN4),
709 PINMUX_DATA(VIO_CKO_1_MARK, PORT23_FN5),
710 PINMUX_DATA(STP0_IPD2_MARK, PORT23_FN6),
711 PINMUX_DATA(LCD1_D7_MARK, PORT23_FN7),
712
713 /* Port24 */
714 PINMUX_DATA(VIO0_D15_PORT24_MARK, PORT24_FN1, MSEL5CR_27_0),
715 PINMUX_DATA(VIO1_D7_MARK, PORT24_FN5),
716 PINMUX_DATA(SCIFA6_SCK_MARK, PORT24_FN6),
717 PINMUX_DATA(SDHI2_CD_PORT24_MARK, PORT24_FN7, MSEL5CR_19_0),
718
719 /* Port25 */
720 PINMUX_DATA(VIO0_D14_PORT25_MARK, PORT25_FN1, MSEL5CR_27_0),
721 PINMUX_DATA(VIO1_D6_MARK, PORT25_FN5),
722 PINMUX_DATA(SCIFA6_RXD_MARK, PORT25_FN6),
723 PINMUX_DATA(SDHI2_WP_PORT25_MARK, PORT25_FN7, MSEL5CR_19_0),
724
725 /* Port26 */
726 PINMUX_DATA(VIO0_D13_PORT26_MARK, PORT26_FN1, MSEL5CR_27_0),
727 PINMUX_DATA(VIO1_D5_MARK, PORT26_FN5),
728 PINMUX_DATA(SCIFA6_TXD_MARK, PORT26_FN6),
729
730 /* Port27 - Port39 Function */
731 PINMUX_DATA(VIO0_D7_MARK, PORT27_FN1),
732 PINMUX_DATA(VIO0_D6_MARK, PORT28_FN1),
733 PINMUX_DATA(VIO0_D5_MARK, PORT29_FN1),
734 PINMUX_DATA(VIO0_D4_MARK, PORT30_FN1),
735 PINMUX_DATA(VIO0_D3_MARK, PORT31_FN1),
736 PINMUX_DATA(VIO0_D2_MARK, PORT32_FN1),
737 PINMUX_DATA(VIO0_D1_MARK, PORT33_FN1),
738 PINMUX_DATA(VIO0_D0_MARK, PORT34_FN1),
739 PINMUX_DATA(VIO0_CLK_MARK, PORT35_FN1),
740 PINMUX_DATA(VIO_CKO_MARK, PORT36_FN1),
741 PINMUX_DATA(VIO0_HD_MARK, PORT37_FN1),
742 PINMUX_DATA(VIO0_FIELD_MARK, PORT38_FN1),
743 PINMUX_DATA(VIO0_VD_MARK, PORT39_FN1),
744
745 /* Port38 IRQ */
746 PINMUX_DATA(IRQ25_MARK, PORT38_FN0),
747
748 /* Port40 */
749 PINMUX_DATA(LCD0_D18_PORT40_MARK, PORT40_FN4, MSEL5CR_6_0),
750 PINMUX_DATA(RSPI_CK_A_MARK, PORT40_FN6),
751 PINMUX_DATA(LCD1_LCLK_MARK, PORT40_FN7),
752
753 /* Port41 */
754 PINMUX_DATA(LCD0_D17_MARK, PORT41_FN1),
755 PINMUX_DATA(MSIOF2_SS1_MARK, PORT41_FN2),
756 PINMUX_DATA(IRQ31_PORT41_MARK, PORT41_FN0, MSEL1CR_31_1),
757
758 /* Port42 */
759 PINMUX_DATA(LCD0_D16_MARK, PORT42_FN1),
760 PINMUX_DATA(MSIOF2_MCK1_MARK, PORT42_FN2),
761 PINMUX_DATA(IRQ12_PORT42_MARK, PORT42_FN0, MSEL1CR_12_1),
762
763 /* Port43 */
764 PINMUX_DATA(LCD0_D15_MARK, PORT43_FN1),
765 PINMUX_DATA(MSIOF2_MCK0_MARK, PORT43_FN2),
766 PINMUX_DATA(KEYIN0_PORT43_MARK, PORT43_FN3, MSEL4CR_18_0),
767 PINMUX_DATA(DV_D15_MARK, PORT43_FN6),
768
769 /* Port44 */
770 PINMUX_DATA(LCD0_D14_MARK, PORT44_FN1),
771 PINMUX_DATA(MSIOF2_RSYNC_MARK, PORT44_FN2),
772 PINMUX_DATA(KEYIN1_PORT44_MARK, PORT44_FN3, MSEL4CR_18_0),
773 PINMUX_DATA(DV_D14_MARK, PORT44_FN6),
774
775 /* Port45 */
776 PINMUX_DATA(LCD0_D13_MARK, PORT45_FN1),
777 PINMUX_DATA(MSIOF2_RSCK_MARK, PORT45_FN2),
778 PINMUX_DATA(KEYIN2_PORT45_MARK, PORT45_FN3, MSEL4CR_18_0),
779 PINMUX_DATA(DV_D13_MARK, PORT45_FN6),
780
781 /* Port46 */
782 PINMUX_DATA(LCD0_D12_MARK, PORT46_FN1),
783 PINMUX_DATA(KEYIN3_PORT46_MARK, PORT46_FN3, MSEL4CR_18_0),
784 PINMUX_DATA(DV_D12_MARK, PORT46_FN6),
785
786 /* Port47 */
787 PINMUX_DATA(LCD0_D11_MARK, PORT47_FN1),
788 PINMUX_DATA(KEYIN4_MARK, PORT47_FN3),
789 PINMUX_DATA(DV_D11_MARK, PORT47_FN6),
790
791 /* Port48 */
792 PINMUX_DATA(LCD0_D10_MARK, PORT48_FN1),
793 PINMUX_DATA(KEYIN5_MARK, PORT48_FN3),
794 PINMUX_DATA(DV_D10_MARK, PORT48_FN6),
795
796 /* Port49 */
797 PINMUX_DATA(LCD0_D9_MARK, PORT49_FN1),
798 PINMUX_DATA(KEYIN6_MARK, PORT49_FN3),
799 PINMUX_DATA(DV_D9_MARK, PORT49_FN6),
800 PINMUX_DATA(IRQ30_PORT49_MARK, PORT49_FN0, MSEL1CR_30_1),
801
802 /* Port50 */
803 PINMUX_DATA(LCD0_D8_MARK, PORT50_FN1),
804 PINMUX_DATA(KEYIN7_MARK, PORT50_FN3),
805 PINMUX_DATA(DV_D8_MARK, PORT50_FN6),
806 PINMUX_DATA(IRQ29_PORT50_MARK, PORT50_FN0, MSEL1CR_29_1),
807
808 /* Port51 */
809 PINMUX_DATA(LCD0_D7_MARK, PORT51_FN1),
810 PINMUX_DATA(KEYOUT0_MARK, PORT51_FN3),
811 PINMUX_DATA(DV_D7_MARK, PORT51_FN6),
812
813 /* Port52 */
814 PINMUX_DATA(LCD0_D6_MARK, PORT52_FN1),
815 PINMUX_DATA(KEYOUT1_MARK, PORT52_FN3),
816 PINMUX_DATA(DV_D6_MARK, PORT52_FN6),
817
818 /* Port53 */
819 PINMUX_DATA(LCD0_D5_MARK, PORT53_FN1),
820 PINMUX_DATA(KEYOUT2_MARK, PORT53_FN3),
821 PINMUX_DATA(DV_D5_MARK, PORT53_FN6),
822
823 /* Port54 */
824 PINMUX_DATA(LCD0_D4_MARK, PORT54_FN1),
825 PINMUX_DATA(KEYOUT3_MARK, PORT54_FN3),
826 PINMUX_DATA(DV_D4_MARK, PORT54_FN6),
827
828 /* Port55 */
829 PINMUX_DATA(LCD0_D3_MARK, PORT55_FN1),
830 PINMUX_DATA(KEYOUT4_MARK, PORT55_FN3),
831 PINMUX_DATA(KEYIN3_PORT55_MARK, PORT55_FN4, MSEL4CR_18_1),
832 PINMUX_DATA(DV_D3_MARK, PORT55_FN6),
833
834 /* Port56 */
835 PINMUX_DATA(LCD0_D2_MARK, PORT56_FN1),
836 PINMUX_DATA(KEYOUT5_MARK, PORT56_FN3),
837 PINMUX_DATA(KEYIN2_PORT56_MARK, PORT56_FN4, MSEL4CR_18_1),
838 PINMUX_DATA(DV_D2_MARK, PORT56_FN6),
839 PINMUX_DATA(IRQ28_PORT56_MARK, PORT56_FN0, MSEL1CR_28_1),
840
841 /* Port57 */
842 PINMUX_DATA(LCD0_D1_MARK, PORT57_FN1),
843 PINMUX_DATA(KEYOUT6_MARK, PORT57_FN3),
844 PINMUX_DATA(KEYIN1_PORT57_MARK, PORT57_FN4, MSEL4CR_18_1),
845 PINMUX_DATA(DV_D1_MARK, PORT57_FN6),
846 PINMUX_DATA(IRQ27_PORT57_MARK, PORT57_FN0, MSEL1CR_27_1),
847
848 /* Port58 */
849 PINMUX_DATA(LCD0_D0_MARK, PORT58_FN1, MSEL3CR_6_0),
850 PINMUX_DATA(KEYOUT7_MARK, PORT58_FN3),
851 PINMUX_DATA(KEYIN0_PORT58_MARK, PORT58_FN4, MSEL4CR_18_1),
852 PINMUX_DATA(DV_D0_MARK, PORT58_FN6),
853 PINMUX_DATA(IRQ26_PORT58_MARK, PORT58_FN0, MSEL1CR_26_1),
854
855 /* Port59 */
856 PINMUX_DATA(LCD0_VCPWC_MARK, PORT59_FN1),
857 PINMUX_DATA(BBIF2_TSCK2_PORT59_MARK, PORT59_FN2, MSEL5CR_0_0),
858 PINMUX_DATA(RSPI_MOSI_A_MARK, PORT59_FN6),
859
860 /* Port60 */
861 PINMUX_DATA(LCD0_VEPWC_MARK, PORT60_FN1),
862 PINMUX_DATA(BBIF2_RXD2_PORT60_MARK, PORT60_FN2, MSEL5CR_0_0),
863 PINMUX_DATA(RSPI_MISO_A_MARK, PORT60_FN6),
864
865 /* Port61 */
866 PINMUX_DATA(LCD0_DON_MARK, PORT61_FN1),
867 PINMUX_DATA(MSIOF2_TXD_MARK, PORT61_FN2),
868
869 /* Port62 */
870 PINMUX_DATA(LCD0_DCK_MARK, PORT62_FN1),
871 PINMUX_DATA(LCD0_WR_MARK, PORT62_FN4),
872 PINMUX_DATA(DV_CLK_MARK, PORT62_FN6),
873 PINMUX_DATA(IRQ15_PORT62_MARK, PORT62_FN0, MSEL1CR_15_1),
874
875 /* Port63 */
876 PINMUX_DATA(LCD0_VSYN_MARK, PORT63_FN1),
877 PINMUX_DATA(DV_VSYNC_MARK, PORT63_FN6),
878 PINMUX_DATA(IRQ14_PORT63_MARK, PORT63_FN0, MSEL1CR_14_1),
879
880 /* Port64 */
881 PINMUX_DATA(LCD0_HSYN_MARK, PORT64_FN1),
882 PINMUX_DATA(LCD0_CS_MARK, PORT64_FN4),
883 PINMUX_DATA(DV_HSYNC_MARK, PORT64_FN6),
884 PINMUX_DATA(IRQ13_PORT64_MARK, PORT64_FN0, MSEL1CR_13_1),
885
886 /* Port65 */
887 PINMUX_DATA(LCD0_DISP_MARK, PORT65_FN1),
888 PINMUX_DATA(MSIOF2_TSCK_MARK, PORT65_FN2),
889 PINMUX_DATA(LCD0_RS_MARK, PORT65_FN4),
890
891 /* Port66 */
892 PINMUX_DATA(MEMC_INT_MARK, PORT66_FN1),
893 PINMUX_DATA(TPU0TO2_PORT66_MARK, PORT66_FN3, MSEL5CR_25_0),
894 PINMUX_DATA(MMC0_CLK_PORT66_MARK, PORT66_FN4, MSEL4CR_15_0),
895 PINMUX_DATA(SDHI1_CLK_MARK, PORT66_FN6),
896
897 /* Port67 - Port73 Function1 */
898 PINMUX_DATA(MEMC_CS0_MARK, PORT67_FN1),
899 PINMUX_DATA(MEMC_AD8_MARK, PORT68_FN1),
900 PINMUX_DATA(MEMC_AD9_MARK, PORT69_FN1),
901 PINMUX_DATA(MEMC_AD10_MARK, PORT70_FN1),
902 PINMUX_DATA(MEMC_AD11_MARK, PORT71_FN1),
903 PINMUX_DATA(MEMC_AD12_MARK, PORT72_FN1),
904 PINMUX_DATA(MEMC_AD13_MARK, PORT73_FN1),
905
906 /* Port67 - Port73 Function2 */
907 PINMUX_DATA(MSIOF1_SS1_PORT67_MARK, PORT67_FN2, MSEL4CR_10_1),
908 PINMUX_DATA(MSIOF1_RSCK_MARK, PORT68_FN2),
909 PINMUX_DATA(MSIOF1_RSYNC_MARK, PORT69_FN2),
910 PINMUX_DATA(MSIOF1_MCK0_MARK, PORT70_FN2),
911 PINMUX_DATA(MSIOF1_MCK1_MARK, PORT71_FN2),
912 PINMUX_DATA(MSIOF1_TSCK_PORT72_MARK, PORT72_FN2, MSEL4CR_10_1),
913 PINMUX_DATA(MSIOF1_TSYNC_PORT73_MARK, PORT73_FN2, MSEL4CR_10_1),
914
915 /* Port67 - Port73 Function4 */
916 PINMUX_DATA(MMC0_CMD_PORT67_MARK, PORT67_FN4, MSEL4CR_15_0),
917 PINMUX_DATA(MMC0_D0_PORT68_MARK, PORT68_FN4, MSEL4CR_15_0),
918 PINMUX_DATA(MMC0_D1_PORT69_MARK, PORT69_FN4, MSEL4CR_15_0),
919 PINMUX_DATA(MMC0_D2_PORT70_MARK, PORT70_FN4, MSEL4CR_15_0),
920 PINMUX_DATA(MMC0_D3_PORT71_MARK, PORT71_FN4, MSEL4CR_15_0),
921 PINMUX_DATA(MMC0_D4_PORT72_MARK, PORT72_FN4, MSEL4CR_15_0),
922 PINMUX_DATA(MMC0_D5_PORT73_MARK, PORT73_FN4, MSEL4CR_15_0),
923
924 /* Port67 - Port73 Function6 */
925 PINMUX_DATA(SDHI1_CMD_MARK, PORT67_FN6),
926 PINMUX_DATA(SDHI1_D0_MARK, PORT68_FN6),
927 PINMUX_DATA(SDHI1_D1_MARK, PORT69_FN6),
928 PINMUX_DATA(SDHI1_D2_MARK, PORT70_FN6),
929 PINMUX_DATA(SDHI1_D3_MARK, PORT71_FN6),
930 PINMUX_DATA(SDHI1_CD_MARK, PORT72_FN6),
931 PINMUX_DATA(SDHI1_WP_MARK, PORT73_FN6),
932
933 /* Port67 - Port71 IRQ */
934 PINMUX_DATA(IRQ20_MARK, PORT67_FN0),
935 PINMUX_DATA(IRQ16_PORT68_MARK, PORT68_FN0, MSEL1CR_16_0),
936 PINMUX_DATA(IRQ17_MARK, PORT69_FN0),
937 PINMUX_DATA(IRQ18_MARK, PORT70_FN0),
938 PINMUX_DATA(IRQ19_MARK, PORT71_FN0),
939
940 /* Port74 */
941 PINMUX_DATA(MEMC_AD14_MARK, PORT74_FN1),
942 PINMUX_DATA(MSIOF1_TXD_PORT74_MARK, PORT74_FN2, MSEL4CR_10_1),
943 PINMUX_DATA(MMC0_D6_PORT74_MARK, PORT74_FN4, MSEL4CR_15_0),
944 PINMUX_DATA(STP1_IPD7_MARK, PORT74_FN6),
945 PINMUX_DATA(LCD1_D21_MARK, PORT74_FN7),
946
947 /* Port75 */
948 PINMUX_DATA(MEMC_AD15_MARK, PORT75_FN1),
949 PINMUX_DATA(MSIOF1_RXD_PORT75_MARK, PORT75_FN2, MSEL4CR_10_1),
950 PINMUX_DATA(MMC0_D7_PORT75_MARK, PORT75_FN4, MSEL4CR_15_0),
951 PINMUX_DATA(STP1_IPD6_MARK, PORT75_FN6),
952 PINMUX_DATA(LCD1_D20_MARK, PORT75_FN7),
953
954 /* Port76 - Port80 Function */
955 PINMUX_DATA(SDHI0_CMD_MARK, PORT76_FN1),
956 PINMUX_DATA(SDHI0_D0_MARK, PORT77_FN1),
957 PINMUX_DATA(SDHI0_D1_MARK, PORT78_FN1),
958 PINMUX_DATA(SDHI0_D2_MARK, PORT79_FN1),
959 PINMUX_DATA(SDHI0_D3_MARK, PORT80_FN1),
960
961 /* Port81 */
962 PINMUX_DATA(SDHI0_CD_MARK, PORT81_FN1),
963 PINMUX_DATA(IRQ26_PORT81_MARK, PORT81_FN0, MSEL1CR_26_0),
964
965 /* Port82 - Port88 Function */
966 PINMUX_DATA(SDHI0_CLK_MARK, PORT82_FN1),
967 PINMUX_DATA(SDHI0_WP_MARK, PORT83_FN1),
968 PINMUX_DATA(RESETOUTS_MARK, PORT84_FN1),
969 PINMUX_DATA(USB0_PPON_MARK, PORT85_FN1),
970 PINMUX_DATA(USB0_OCI_MARK, PORT86_FN1),
971 PINMUX_DATA(USB1_PPON_MARK, PORT87_FN1),
972 PINMUX_DATA(USB1_OCI_MARK, PORT88_FN1),
973
974 /* Port89 */
975 PINMUX_DATA(DREQ0_MARK, PORT89_FN1),
976 PINMUX_DATA(BBIF2_TSCK2_PORT89_MARK, PORT89_FN2, MSEL5CR_0_1),
977 PINMUX_DATA(RSPI_SSL3_A_MARK, PORT89_FN6),
978
979 /* Port90 */
980 PINMUX_DATA(DACK0_MARK, PORT90_FN1),
981 PINMUX_DATA(BBIF2_RXD2_PORT90_MARK, PORT90_FN2, MSEL5CR_0_1),
982 PINMUX_DATA(RSPI_SSL2_A_MARK, PORT90_FN6),
983 PINMUX_DATA(WAIT_PORT90_MARK, PORT90_FN7, MSEL5CR_2_1),
984
985 /* Port91 */
986 PINMUX_DATA(MEMC_AD0_MARK, PORT91_FN1),
987 PINMUX_DATA(BBIF1_RXD_MARK, PORT91_FN2),
988 PINMUX_DATA(SCIFA5_TXD_PORT91_MARK, PORT91_FN3, MSEL5CR_15_1, MSEL5CR_14_0),
989 PINMUX_DATA(LCD1_D5_MARK, PORT91_FN7),
990
991 /* Port92 */
992 PINMUX_DATA(MEMC_AD1_MARK, PORT92_FN1),
993 PINMUX_DATA(BBIF1_TSYNC_MARK, PORT92_FN2),
994 PINMUX_DATA(SCIFA5_RXD_PORT92_MARK, PORT92_FN3, MSEL5CR_15_1, MSEL5CR_14_0),
995 PINMUX_DATA(STP0_IPD1_MARK, PORT92_FN6),
996 PINMUX_DATA(LCD1_D6_MARK, PORT92_FN7),
997
998 /* Port93 */
999 PINMUX_DATA(MEMC_AD2_MARK, PORT93_FN1),
1000 PINMUX_DATA(BBIF1_TSCK_MARK, PORT93_FN2),
1001 PINMUX_DATA(SCIFA4_TXD_PORT93_MARK, PORT93_FN3, MSEL5CR_12_1, MSEL5CR_11_0),
1002 PINMUX_DATA(STP0_IPD3_MARK, PORT93_FN6),
1003 PINMUX_DATA(LCD1_D8_MARK, PORT93_FN7),
1004
1005 /* Port94 */
1006 PINMUX_DATA(MEMC_AD3_MARK, PORT94_FN1),
1007 PINMUX_DATA(BBIF1_TXD_MARK, PORT94_FN2),
1008 PINMUX_DATA(SCIFA4_RXD_PORT94_MARK, PORT94_FN3, MSEL5CR_12_1, MSEL5CR_11_0),
1009 PINMUX_DATA(STP0_IPD4_MARK, PORT94_FN6),
1010 PINMUX_DATA(LCD1_D9_MARK, PORT94_FN7),
1011
1012 /* Port95 */
1013 PINMUX_DATA(MEMC_CS1_MARK, PORT95_FN1, MSEL4CR_6_0),
1014 PINMUX_DATA(MEMC_A1_MARK, PORT95_FN1, MSEL4CR_6_1),
1015
1016 PINMUX_DATA(SCIFA2_CTS_MARK, PORT95_FN2),
1017 PINMUX_DATA(SIM_RST_MARK, PORT95_FN4),
1018 PINMUX_DATA(VIO0_D14_PORT95_MARK, PORT95_FN7, MSEL5CR_27_1),
1019 PINMUX_DATA(IRQ22_MARK, PORT95_FN0),
1020
1021 /* Port96 */
1022 PINMUX_DATA(MEMC_ADV_MARK, PORT96_FN1, MSEL4CR_6_0),
1023 PINMUX_DATA(MEMC_DREQ0_MARK, PORT96_FN1, MSEL4CR_6_1),
1024
1025 PINMUX_DATA(SCIFA2_RTS_MARK, PORT96_FN2),
1026 PINMUX_DATA(SIM_CLK_MARK, PORT96_FN4),
1027 PINMUX_DATA(VIO0_D15_PORT96_MARK, PORT96_FN7, MSEL5CR_27_1),
1028 PINMUX_DATA(IRQ23_MARK, PORT96_FN0),
1029
1030 /* Port97 */
1031 PINMUX_DATA(MEMC_AD4_MARK, PORT97_FN1),
1032 PINMUX_DATA(BBIF1_RSCK_MARK, PORT97_FN2),
1033 PINMUX_DATA(LCD1_CS_MARK, PORT97_FN6),
1034 PINMUX_DATA(LCD1_HSYN_MARK, PORT97_FN7),
1035 PINMUX_DATA(IRQ12_PORT97_MARK, PORT97_FN0, MSEL1CR_12_0),
1036
1037 /* Port98 */
1038 PINMUX_DATA(MEMC_AD5_MARK, PORT98_FN1),
1039 PINMUX_DATA(BBIF1_RSYNC_MARK, PORT98_FN2),
1040 PINMUX_DATA(LCD1_VSYN_MARK, PORT98_FN7),
1041 PINMUX_DATA(IRQ13_PORT98_MARK, PORT98_FN0, MSEL1CR_13_0),
1042
1043 /* Port99 */
1044 PINMUX_DATA(MEMC_AD6_MARK, PORT99_FN1),
1045 PINMUX_DATA(BBIF1_FLOW_MARK, PORT99_FN2),
1046 PINMUX_DATA(LCD1_WR_MARK, PORT99_FN6),
1047 PINMUX_DATA(LCD1_DCK_MARK, PORT99_FN7),
1048 PINMUX_DATA(IRQ14_PORT99_MARK, PORT99_FN0, MSEL1CR_14_0),
1049
1050 /* Port100 */
1051 PINMUX_DATA(MEMC_AD7_MARK, PORT100_FN1),
1052 PINMUX_DATA(BBIF1_RX_FLOW_N_MARK, PORT100_FN2),
1053 PINMUX_DATA(LCD1_DON_MARK, PORT100_FN7),
1054 PINMUX_DATA(IRQ15_PORT100_MARK, PORT100_FN0, MSEL1CR_15_0),
1055
1056 /* Port101 */
1057 PINMUX_DATA(FCE0_MARK, PORT101_FN1),
1058
1059 /* Port102 */
1060 PINMUX_DATA(FRB_MARK, PORT102_FN1),
1061 PINMUX_DATA(LCD0_LCLK_PORT102_MARK, PORT102_FN4, MSEL5CR_6_0),
1062
1063 /* Port103 */
1064 PINMUX_DATA(CS5B_MARK, PORT103_FN1),
1065 PINMUX_DATA(FCE1_MARK, PORT103_FN2),
1066 PINMUX_DATA(MMC1_CLK_PORT103_MARK, PORT103_FN3, MSEL4CR_15_1),
1067
1068 /* Port104 */
1069 PINMUX_DATA(CS6A_MARK, PORT104_FN1),
1070 PINMUX_DATA(MMC1_CMD_PORT104_MARK, PORT104_FN3, MSEL4CR_15_1),
1071 PINMUX_DATA(IRQ11_MARK, PORT104_FN0),
1072
1073 /* Port105 */
1074 PINMUX_DATA(CS5A_PORT105_MARK, PORT105_FN1, MSEL5CR_2_0),
1075 PINMUX_DATA(SCIFA3_RTS_PORT105_MARK, PORT105_FN4, MSEL5CR_8_0),
1076
1077 /* Port106 */
1078 PINMUX_DATA(IOIS16_MARK, PORT106_FN1),
1079 PINMUX_DATA(IDE_EXBUF_ENB_MARK, PORT106_FN6),
1080
1081 /* Port107 - Port115 Function */
1082 PINMUX_DATA(WE3_ICIOWR_MARK, PORT107_FN1),
1083 PINMUX_DATA(WE2_ICIORD_MARK, PORT108_FN1),
1084 PINMUX_DATA(CS0_MARK, PORT109_FN1),
1085 PINMUX_DATA(CS2_MARK, PORT110_FN1),
1086 PINMUX_DATA(CS4_MARK, PORT111_FN1),
1087 PINMUX_DATA(WE1_MARK, PORT112_FN1),
1088 PINMUX_DATA(WE0_FWE_MARK, PORT113_FN1),
1089 PINMUX_DATA(RDWR_MARK, PORT114_FN1),
1090 PINMUX_DATA(RD_FSC_MARK, PORT115_FN1),
1091
1092 /* Port116 */
1093 PINMUX_DATA(A25_MARK, PORT116_FN1),
1094 PINMUX_DATA(MSIOF0_SS2_MARK, PORT116_FN2),
1095 PINMUX_DATA(MSIOF1_SS2_PORT116_MARK, PORT116_FN3, MSEL4CR_10_0),
1096 PINMUX_DATA(SCIFA3_SCK_PORT116_MARK, PORT116_FN4, MSEL5CR_8_0),
1097 PINMUX_DATA(GPO1_MARK, PORT116_FN5),
1098
1099 /* Port117 */
1100 PINMUX_DATA(A24_MARK, PORT117_FN1),
1101 PINMUX_DATA(MSIOF0_SS1_MARK, PORT117_FN2),
1102 PINMUX_DATA(MSIOF1_SS1_PORT117_MARK, PORT117_FN3, MSEL4CR_10_0),
1103 PINMUX_DATA(SCIFA3_CTS_PORT117_MARK, PORT117_FN4, MSEL5CR_8_0),
1104 PINMUX_DATA(GPO0_MARK, PORT117_FN5),
1105
1106 /* Port118 */
1107 PINMUX_DATA(A23_MARK, PORT118_FN1),
1108 PINMUX_DATA(MSIOF0_MCK1_MARK, PORT118_FN2),
1109 PINMUX_DATA(MSIOF1_RXD_PORT118_MARK, PORT118_FN3, MSEL4CR_10_0),
1110 PINMUX_DATA(GPI1_MARK, PORT118_FN5),
1111 PINMUX_DATA(IRQ9_PORT118_MARK, PORT118_FN0, MSEL1CR_9_0),
1112
1113 /* Port119 */
1114 PINMUX_DATA(A22_MARK, PORT119_FN1),
1115 PINMUX_DATA(MSIOF0_MCK0_MARK, PORT119_FN2),
1116 PINMUX_DATA(MSIOF1_TXD_PORT119_MARK, PORT119_FN3, MSEL4CR_10_0),
1117 PINMUX_DATA(GPI0_MARK, PORT119_FN5),
1118 PINMUX_DATA(IRQ8_MARK, PORT119_FN0),
1119
1120 /* Port120 */
1121 PINMUX_DATA(A21_MARK, PORT120_FN1),
1122 PINMUX_DATA(MSIOF0_RSYNC_MARK, PORT120_FN2),
1123 PINMUX_DATA(MSIOF1_TSYNC_PORT120_MARK, PORT120_FN3, MSEL4CR_10_0),
1124 PINMUX_DATA(IRQ7_PORT120_MARK, PORT120_FN0, MSEL1CR_7_1),
1125
1126 /* Port121 */
1127 PINMUX_DATA(A20_MARK, PORT121_FN1),
1128 PINMUX_DATA(MSIOF0_RSCK_MARK, PORT121_FN2),
1129 PINMUX_DATA(MSIOF1_TSCK_PORT121_MARK, PORT121_FN3, MSEL4CR_10_0),
1130 PINMUX_DATA(IRQ6_PORT121_MARK, PORT121_FN0, MSEL1CR_6_0),
1131
1132 /* Port122 */
1133 PINMUX_DATA(A19_MARK, PORT122_FN1),
1134 PINMUX_DATA(MSIOF0_RXD_MARK, PORT122_FN2),
1135
1136 /* Port123 */
1137 PINMUX_DATA(A18_MARK, PORT123_FN1),
1138 PINMUX_DATA(MSIOF0_TSCK_MARK, PORT123_FN2),
1139
1140 /* Port124 */
1141 PINMUX_DATA(A17_MARK, PORT124_FN1),
1142 PINMUX_DATA(MSIOF0_TSYNC_MARK, PORT124_FN2),
1143
1144 /* Port125 - Port141 Function */
1145 PINMUX_DATA(A16_MARK, PORT125_FN1),
1146 PINMUX_DATA(A15_MARK, PORT126_FN1),
1147 PINMUX_DATA(A14_MARK, PORT127_FN1),
1148 PINMUX_DATA(A13_MARK, PORT128_FN1),
1149 PINMUX_DATA(A12_MARK, PORT129_FN1),
1150 PINMUX_DATA(A11_MARK, PORT130_FN1),
1151 PINMUX_DATA(A10_MARK, PORT131_FN1),
1152 PINMUX_DATA(A9_MARK, PORT132_FN1),
1153 PINMUX_DATA(A8_MARK, PORT133_FN1),
1154 PINMUX_DATA(A7_MARK, PORT134_FN1),
1155 PINMUX_DATA(A6_MARK, PORT135_FN1),
1156 PINMUX_DATA(A5_FCDE_MARK, PORT136_FN1),
1157 PINMUX_DATA(A4_FOE_MARK, PORT137_FN1),
1158 PINMUX_DATA(A3_MARK, PORT138_FN1),
1159 PINMUX_DATA(A2_MARK, PORT139_FN1),
1160 PINMUX_DATA(A1_MARK, PORT140_FN1),
1161 PINMUX_DATA(CKO_MARK, PORT141_FN1),
1162
1163 /* Port142 - Port157 Function1 */
1164 PINMUX_DATA(D15_NAF15_MARK, PORT142_FN1),
1165 PINMUX_DATA(D14_NAF14_MARK, PORT143_FN1),
1166 PINMUX_DATA(D13_NAF13_MARK, PORT144_FN1),
1167 PINMUX_DATA(D12_NAF12_MARK, PORT145_FN1),
1168 PINMUX_DATA(D11_NAF11_MARK, PORT146_FN1),
1169 PINMUX_DATA(D10_NAF10_MARK, PORT147_FN1),
1170 PINMUX_DATA(D9_NAF9_MARK, PORT148_FN1),
1171 PINMUX_DATA(D8_NAF8_MARK, PORT149_FN1),
1172 PINMUX_DATA(D7_NAF7_MARK, PORT150_FN1),
1173 PINMUX_DATA(D6_NAF6_MARK, PORT151_FN1),
1174 PINMUX_DATA(D5_NAF5_MARK, PORT152_FN1),
1175 PINMUX_DATA(D4_NAF4_MARK, PORT153_FN1),
1176 PINMUX_DATA(D3_NAF3_MARK, PORT154_FN1),
1177 PINMUX_DATA(D2_NAF2_MARK, PORT155_FN1),
1178 PINMUX_DATA(D1_NAF1_MARK, PORT156_FN1),
1179 PINMUX_DATA(D0_NAF0_MARK, PORT157_FN1),
1180
1181 /* Port142 - Port149 Function3 */
1182 PINMUX_DATA(MMC1_D7_PORT142_MARK, PORT142_FN3, MSEL4CR_15_1),
1183 PINMUX_DATA(MMC1_D6_PORT143_MARK, PORT143_FN3, MSEL4CR_15_1),
1184 PINMUX_DATA(MMC1_D5_PORT144_MARK, PORT144_FN3, MSEL4CR_15_1),
1185 PINMUX_DATA(MMC1_D4_PORT145_MARK, PORT145_FN3, MSEL4CR_15_1),
1186 PINMUX_DATA(MMC1_D3_PORT146_MARK, PORT146_FN3, MSEL4CR_15_1),
1187 PINMUX_DATA(MMC1_D2_PORT147_MARK, PORT147_FN3, MSEL4CR_15_1),
1188 PINMUX_DATA(MMC1_D1_PORT148_MARK, PORT148_FN3, MSEL4CR_15_1),
1189 PINMUX_DATA(MMC1_D0_PORT149_MARK, PORT149_FN3, MSEL4CR_15_1),
1190
1191 /* Port158 */
1192 PINMUX_DATA(D31_MARK, PORT158_FN1),
1193 PINMUX_DATA(SCIFA3_SCK_PORT158_MARK, PORT158_FN2, MSEL5CR_8_1),
1194 PINMUX_DATA(RMII_REF125CK_MARK, PORT158_FN3),
1195 PINMUX_DATA(LCD0_D21_PORT158_MARK, PORT158_FN4, MSEL5CR_6_1),
1196 PINMUX_DATA(IRDA_FIRSEL_MARK, PORT158_FN5),
1197 PINMUX_DATA(IDE_D15_MARK, PORT158_FN6),
1198
1199 /* Port159 */
1200 PINMUX_DATA(D30_MARK, PORT159_FN1),
1201 PINMUX_DATA(SCIFA3_RXD_PORT159_MARK, PORT159_FN2, MSEL5CR_8_1),
1202 PINMUX_DATA(RMII_REF50CK_MARK, PORT159_FN3),
1203 PINMUX_DATA(LCD0_D23_PORT159_MARK, PORT159_FN4, MSEL5CR_6_1),
1204 PINMUX_DATA(IDE_D14_MARK, PORT159_FN6),
1205
1206 /* Port160 */
1207 PINMUX_DATA(D29_MARK, PORT160_FN1),
1208 PINMUX_DATA(SCIFA3_TXD_PORT160_MARK, PORT160_FN2, MSEL5CR_8_1),
1209 PINMUX_DATA(LCD0_D22_PORT160_MARK, PORT160_FN4, MSEL5CR_6_1),
1210 PINMUX_DATA(VIO1_HD_MARK, PORT160_FN5),
1211 PINMUX_DATA(IDE_D13_MARK, PORT160_FN6),
1212
1213 /* Port161 */
1214 PINMUX_DATA(D28_MARK, PORT161_FN1),
1215 PINMUX_DATA(SCIFA3_RTS_PORT161_MARK, PORT161_FN2, MSEL5CR_8_1),
1216 PINMUX_DATA(ET_RX_DV_MARK, PORT161_FN3),
1217 PINMUX_DATA(LCD0_D20_PORT161_MARK, PORT161_FN4, MSEL5CR_6_1),
1218 PINMUX_DATA(IRDA_IN_MARK, PORT161_FN5),
1219 PINMUX_DATA(IDE_D12_MARK, PORT161_FN6),
1220
1221 /* Port162 */
1222 PINMUX_DATA(D27_MARK, PORT162_FN1),
1223 PINMUX_DATA(SCIFA3_CTS_PORT162_MARK, PORT162_FN2, MSEL5CR_8_1),
1224 PINMUX_DATA(LCD0_D19_PORT162_MARK, PORT162_FN4, MSEL5CR_6_1),
1225 PINMUX_DATA(IRDA_OUT_MARK, PORT162_FN5),
1226 PINMUX_DATA(IDE_D11_MARK, PORT162_FN6),
1227
1228 /* Port163 */
1229 PINMUX_DATA(D26_MARK, PORT163_FN1),
1230 PINMUX_DATA(MSIOF2_SS2_MARK, PORT163_FN2),
1231 PINMUX_DATA(ET_COL_MARK, PORT163_FN3),
1232 PINMUX_DATA(LCD0_D18_PORT163_MARK, PORT163_FN4, MSEL5CR_6_1),
1233 PINMUX_DATA(IROUT_MARK, PORT163_FN5),
1234 PINMUX_DATA(IDE_D10_MARK, PORT163_FN6),
1235
1236 /* Port164 */
1237 PINMUX_DATA(D25_MARK, PORT164_FN1),
1238 PINMUX_DATA(MSIOF2_TSYNC_MARK, PORT164_FN2),
1239 PINMUX_DATA(ET_PHY_INT_MARK, PORT164_FN3),
1240 PINMUX_DATA(LCD0_RD_MARK, PORT164_FN4),
1241 PINMUX_DATA(IDE_D9_MARK, PORT164_FN6),
1242
1243 /* Port165 */
1244 PINMUX_DATA(D24_MARK, PORT165_FN1),
1245 PINMUX_DATA(MSIOF2_RXD_MARK, PORT165_FN2),
1246 PINMUX_DATA(LCD0_LCLK_PORT165_MARK, PORT165_FN4, MSEL5CR_6_1),
1247 PINMUX_DATA(IDE_D8_MARK, PORT165_FN6),
1248
1249 /* Port166 - Port171 Function1 */
1250 PINMUX_DATA(D21_MARK, PORT166_FN1),
1251 PINMUX_DATA(D20_MARK, PORT167_FN1),
1252 PINMUX_DATA(D19_MARK, PORT168_FN1),
1253 PINMUX_DATA(D18_MARK, PORT169_FN1),
1254 PINMUX_DATA(D17_MARK, PORT170_FN1),
1255 PINMUX_DATA(D16_MARK, PORT171_FN1),
1256
1257 /* Port166 - Port171 Function3 */
1258 PINMUX_DATA(ET_ETXD5_MARK, PORT166_FN3),
1259 PINMUX_DATA(ET_ETXD4_MARK, PORT167_FN3),
1260 PINMUX_DATA(ET_ETXD3_MARK, PORT168_FN3),
1261 PINMUX_DATA(ET_ETXD2_MARK, PORT169_FN3),
1262 PINMUX_DATA(ET_ETXD1_MARK, PORT170_FN3),
1263 PINMUX_DATA(ET_ETXD0_MARK, PORT171_FN3),
1264
1265 /* Port166 - Port171 Function6 */
1266 PINMUX_DATA(IDE_D5_MARK, PORT166_FN6),
1267 PINMUX_DATA(IDE_D4_MARK, PORT167_FN6),
1268 PINMUX_DATA(IDE_D3_MARK, PORT168_FN6),
1269 PINMUX_DATA(IDE_D2_MARK, PORT169_FN6),
1270 PINMUX_DATA(IDE_D1_MARK, PORT170_FN6),
1271 PINMUX_DATA(IDE_D0_MARK, PORT171_FN6),
1272
1273 /* Port167 - Port171 IRQ */
1274 PINMUX_DATA(IRQ31_PORT167_MARK, PORT167_FN0, MSEL1CR_31_0),
1275 PINMUX_DATA(IRQ27_PORT168_MARK, PORT168_FN0, MSEL1CR_27_0),
1276 PINMUX_DATA(IRQ28_PORT169_MARK, PORT169_FN0, MSEL1CR_28_0),
1277 PINMUX_DATA(IRQ29_PORT170_MARK, PORT170_FN0, MSEL1CR_29_0),
1278 PINMUX_DATA(IRQ30_PORT171_MARK, PORT171_FN0, MSEL1CR_30_0),
1279
1280 /* Port172 */
1281 PINMUX_DATA(D23_MARK, PORT172_FN1),
1282 PINMUX_DATA(SCIFB_RTS_PORT172_MARK, PORT172_FN2, MSEL5CR_17_1),
1283 PINMUX_DATA(ET_ETXD7_MARK, PORT172_FN3),
1284 PINMUX_DATA(IDE_D7_MARK, PORT172_FN6),
1285 PINMUX_DATA(IRQ4_PORT172_MARK, PORT172_FN0, MSEL1CR_4_1),
1286
1287 /* Port173 */
1288 PINMUX_DATA(D22_MARK, PORT173_FN1),
1289 PINMUX_DATA(SCIFB_CTS_PORT173_MARK, PORT173_FN2, MSEL5CR_17_1),
1290 PINMUX_DATA(ET_ETXD6_MARK, PORT173_FN3),
1291 PINMUX_DATA(IDE_D6_MARK, PORT173_FN6),
1292 PINMUX_DATA(IRQ6_PORT173_MARK, PORT173_FN0, MSEL1CR_6_1),
1293
1294 /* Port174 */
1295 PINMUX_DATA(A26_MARK, PORT174_FN1),
1296 PINMUX_DATA(MSIOF0_TXD_MARK, PORT174_FN2),
1297 PINMUX_DATA(ET_RX_CLK_MARK, PORT174_FN3),
1298 PINMUX_DATA(SCIFA3_RXD_PORT174_MARK, PORT174_FN4, MSEL5CR_8_0),
1299
1300 /* Port175 */
1301 PINMUX_DATA(A0_MARK, PORT175_FN1),
1302 PINMUX_DATA(BS_MARK, PORT175_FN2),
1303 PINMUX_DATA(ET_WOL_MARK, PORT175_FN3),
1304 PINMUX_DATA(SCIFA3_TXD_PORT175_MARK, PORT175_FN4, MSEL5CR_8_0),
1305
1306 /* Port176 */
1307 PINMUX_DATA(ET_GTX_CLK_MARK, PORT176_FN3),
1308
1309 /* Port177 */
1310 PINMUX_DATA(WAIT_PORT177_MARK, PORT177_FN1, MSEL5CR_2_0),
1311 PINMUX_DATA(ET_LINK_MARK, PORT177_FN3),
1312 PINMUX_DATA(IDE_IOWR_MARK, PORT177_FN6),
1313 PINMUX_DATA(SDHI2_WP_PORT177_MARK, PORT177_FN7, MSEL5CR_19_1),
1314
1315 /* Port178 */
1316 PINMUX_DATA(VIO0_D12_MARK, PORT178_FN1),
1317 PINMUX_DATA(VIO1_D4_MARK, PORT178_FN5),
1318 PINMUX_DATA(IDE_IORD_MARK, PORT178_FN6),
1319
1320 /* Port179 */
1321 PINMUX_DATA(VIO0_D11_MARK, PORT179_FN1),
1322 PINMUX_DATA(VIO1_D3_MARK, PORT179_FN5),
1323 PINMUX_DATA(IDE_IORDY_MARK, PORT179_FN6),
1324
1325 /* Port180 */
1326 PINMUX_DATA(VIO0_D10_MARK, PORT180_FN1),
1327 PINMUX_DATA(TPU0TO3_MARK, PORT180_FN4),
1328 PINMUX_DATA(VIO1_D2_MARK, PORT180_FN5),
1329 PINMUX_DATA(IDE_INT_MARK, PORT180_FN6),
1330 PINMUX_DATA(IRQ24_MARK, PORT180_FN0),
1331
1332 /* Port181 */
1333 PINMUX_DATA(VIO0_D9_MARK, PORT181_FN1),
1334 PINMUX_DATA(VIO1_D1_MARK, PORT181_FN5),
1335 PINMUX_DATA(IDE_RST_MARK, PORT181_FN6),
1336
1337 /* Port182 */
1338 PINMUX_DATA(VIO0_D8_MARK, PORT182_FN1),
1339 PINMUX_DATA(VIO1_D0_MARK, PORT182_FN5),
1340 PINMUX_DATA(IDE_DIRECTION_MARK, PORT182_FN6),
1341
1342 /* Port183 */
1343 PINMUX_DATA(DREQ1_MARK, PORT183_FN1),
1344 PINMUX_DATA(BBIF2_TXD2_PORT183_MARK, PORT183_FN2, MSEL5CR_0_1),
1345 PINMUX_DATA(ET_TX_EN_MARK, PORT183_FN3),
1346
1347 /* Port184 */
1348 PINMUX_DATA(DACK1_MARK, PORT184_FN1),
1349 PINMUX_DATA(BBIF2_TSYNC2_PORT184_MARK, PORT184_FN2, MSEL5CR_0_1),
1350 PINMUX_DATA(ET_TX_CLK_MARK, PORT184_FN3),
1351
1352 /* Port185 - Port192 Function1 */
1353 PINMUX_DATA(SCIFA1_SCK_MARK, PORT185_FN1),
1354 PINMUX_DATA(SCIFB_RTS_PORT186_MARK, PORT186_FN1, MSEL5CR_17_0),
1355 PINMUX_DATA(SCIFB_CTS_PORT187_MARK, PORT187_FN1, MSEL5CR_17_0),
1356 PINMUX_DATA(SCIFA0_SCK_MARK, PORT188_FN1),
1357 PINMUX_DATA(SCIFB_SCK_PORT190_MARK, PORT190_FN1, MSEL5CR_17_0),
1358 PINMUX_DATA(SCIFB_RXD_PORT191_MARK, PORT191_FN1, MSEL5CR_17_0),
1359 PINMUX_DATA(SCIFB_TXD_PORT192_MARK, PORT192_FN1, MSEL5CR_17_0),
1360
1361 /* Port185 - Port192 Function3 */
1362 PINMUX_DATA(ET_ERXD0_MARK, PORT185_FN3),
1363 PINMUX_DATA(ET_ERXD1_MARK, PORT186_FN3),
1364 PINMUX_DATA(ET_ERXD2_MARK, PORT187_FN3),
1365 PINMUX_DATA(ET_ERXD3_MARK, PORT188_FN3),
1366 PINMUX_DATA(ET_ERXD4_MARK, PORT189_FN3),
1367 PINMUX_DATA(ET_ERXD5_MARK, PORT190_FN3),
1368 PINMUX_DATA(ET_ERXD6_MARK, PORT191_FN3),
1369 PINMUX_DATA(ET_ERXD7_MARK, PORT192_FN3),
1370
1371 /* Port185 - Port192 Function6 */
1372 PINMUX_DATA(STP1_IPCLK_MARK, PORT185_FN6),
1373 PINMUX_DATA(STP1_IPD0_PORT186_MARK, PORT186_FN6, MSEL5CR_23_0),
1374 PINMUX_DATA(STP1_IPEN_PORT187_MARK, PORT187_FN6, MSEL5CR_23_0),
1375 PINMUX_DATA(STP1_IPSYNC_MARK, PORT188_FN6),
1376 PINMUX_DATA(STP0_IPCLK_MARK, PORT189_FN6),
1377 PINMUX_DATA(STP0_IPD0_MARK, PORT190_FN6),
1378 PINMUX_DATA(STP0_IPEN_MARK, PORT191_FN6),
1379 PINMUX_DATA(STP0_IPSYNC_MARK, PORT192_FN6),
1380
1381 /* Port193 */
1382 PINMUX_DATA(SCIFA0_CTS_MARK, PORT193_FN1),
1383 PINMUX_DATA(RMII_CRS_DV_MARK, PORT193_FN3),
1384 PINMUX_DATA(STP1_IPEN_PORT193_MARK, PORT193_FN6, MSEL5CR_23_1), /* ? */
1385 PINMUX_DATA(LCD1_D17_MARK, PORT193_FN7),
1386
1387 /* Port194 */
1388 PINMUX_DATA(SCIFA0_RTS_MARK, PORT194_FN1),
1389 PINMUX_DATA(RMII_RX_ER_MARK, PORT194_FN3),
1390 PINMUX_DATA(STP1_IPD0_PORT194_MARK, PORT194_FN6, MSEL5CR_23_1), /* ? */
1391 PINMUX_DATA(LCD1_D16_MARK, PORT194_FN7),
1392
1393 /* Port195 */
1394 PINMUX_DATA(SCIFA1_RXD_MARK, PORT195_FN1),
1395 PINMUX_DATA(RMII_RXD0_MARK, PORT195_FN3),
1396 PINMUX_DATA(STP1_IPD3_MARK, PORT195_FN6),
1397 PINMUX_DATA(LCD1_D15_MARK, PORT195_FN7),
1398
1399 /* Port196 */
1400 PINMUX_DATA(SCIFA1_TXD_MARK, PORT196_FN1),
1401 PINMUX_DATA(RMII_RXD1_MARK, PORT196_FN3),
1402 PINMUX_DATA(STP1_IPD2_MARK, PORT196_FN6),
1403 PINMUX_DATA(LCD1_D14_MARK, PORT196_FN7),
1404
1405 /* Port197 */
1406 PINMUX_DATA(SCIFA0_RXD_MARK, PORT197_FN1),
1407 PINMUX_DATA(VIO1_CLK_MARK, PORT197_FN5),
1408 PINMUX_DATA(STP1_IPD5_MARK, PORT197_FN6),
1409 PINMUX_DATA(LCD1_D19_MARK, PORT197_FN7),
1410
1411 /* Port198 */
1412 PINMUX_DATA(SCIFA0_TXD_MARK, PORT198_FN1),
1413 PINMUX_DATA(VIO1_VD_MARK, PORT198_FN5),
1414 PINMUX_DATA(STP1_IPD4_MARK, PORT198_FN6),
1415 PINMUX_DATA(LCD1_D18_MARK, PORT198_FN7),
1416
1417 /* Port199 */
1418 PINMUX_DATA(MEMC_NWE_MARK, PORT199_FN1),
1419 PINMUX_DATA(SCIFA2_SCK_PORT199_MARK, PORT199_FN2, MSEL5CR_7_1),
1420 PINMUX_DATA(RMII_TX_EN_MARK, PORT199_FN3),
1421 PINMUX_DATA(SIM_D_PORT199_MARK, PORT199_FN4, MSEL5CR_21_1),
1422 PINMUX_DATA(STP1_IPD1_MARK, PORT199_FN6),
1423 PINMUX_DATA(LCD1_D13_MARK, PORT199_FN7),
1424
1425 /* Port200 */
1426 PINMUX_DATA(MEMC_NOE_MARK, PORT200_FN1),
1427 PINMUX_DATA(SCIFA2_RXD_MARK, PORT200_FN2),
1428 PINMUX_DATA(RMII_TXD0_MARK, PORT200_FN3),
1429 PINMUX_DATA(STP0_IPD7_MARK, PORT200_FN6),
1430 PINMUX_DATA(LCD1_D12_MARK, PORT200_FN7),
1431
1432 /* Port201 */
1433 PINMUX_DATA(MEMC_WAIT_MARK, PORT201_FN1, MSEL4CR_6_0),
1434 PINMUX_DATA(MEMC_DREQ1_MARK, PORT201_FN1, MSEL4CR_6_1),
1435
1436 PINMUX_DATA(SCIFA2_TXD_MARK, PORT201_FN2),
1437 PINMUX_DATA(RMII_TXD1_MARK, PORT201_FN3),
1438 PINMUX_DATA(STP0_IPD6_MARK, PORT201_FN6),
1439 PINMUX_DATA(LCD1_D11_MARK, PORT201_FN7),
1440
1441 /* Port202 */
1442 PINMUX_DATA(MEMC_BUSCLK_MARK, PORT202_FN1, MSEL4CR_6_0),
1443 PINMUX_DATA(MEMC_A0_MARK, PORT202_FN1, MSEL4CR_6_1),
1444
1445 PINMUX_DATA(MSIOF1_SS2_PORT202_MARK, PORT202_FN2, MSEL4CR_10_1),
1446 PINMUX_DATA(RMII_MDC_MARK, PORT202_FN3),
1447 PINMUX_DATA(TPU0TO2_PORT202_MARK, PORT202_FN4, MSEL5CR_25_1),
1448 PINMUX_DATA(IDE_CS0_MARK, PORT202_FN6),
1449 PINMUX_DATA(SDHI2_CD_PORT202_MARK, PORT202_FN7, MSEL5CR_19_1),
1450 PINMUX_DATA(IRQ21_MARK, PORT202_FN0),
1451
1452 /* Port203 - Port208 Function1 */
1453 PINMUX_DATA(SDHI2_CLK_MARK, PORT203_FN1),
1454 PINMUX_DATA(SDHI2_CMD_MARK, PORT204_FN1),
1455 PINMUX_DATA(SDHI2_D0_MARK, PORT205_FN1),
1456 PINMUX_DATA(SDHI2_D1_MARK, PORT206_FN1),
1457 PINMUX_DATA(SDHI2_D2_MARK, PORT207_FN1),
1458 PINMUX_DATA(SDHI2_D3_MARK, PORT208_FN1),
1459
1460 /* Port203 - Port208 Function3 */
1461 PINMUX_DATA(ET_TX_ER_MARK, PORT203_FN3),
1462 PINMUX_DATA(ET_RX_ER_MARK, PORT204_FN3),
1463 PINMUX_DATA(ET_CRS_MARK, PORT205_FN3),
1464 PINMUX_DATA(ET_MDC_MARK, PORT206_FN3),
1465 PINMUX_DATA(ET_MDIO_MARK, PORT207_FN3),
1466 PINMUX_DATA(RMII_MDIO_MARK, PORT208_FN3),
1467
1468 /* Port203 - Port208 Function6 */
1469 PINMUX_DATA(IDE_A2_MARK, PORT203_FN6),
1470 PINMUX_DATA(IDE_A1_MARK, PORT204_FN6),
1471 PINMUX_DATA(IDE_A0_MARK, PORT205_FN6),
1472 PINMUX_DATA(IDE_IODACK_MARK, PORT206_FN6),
1473 PINMUX_DATA(IDE_IODREQ_MARK, PORT207_FN6),
1474 PINMUX_DATA(IDE_CS1_MARK, PORT208_FN6),
1475
1476 /* Port203 - Port208 Function7 */
1477 PINMUX_DATA(SCIFA4_TXD_PORT203_MARK, PORT203_FN7, MSEL5CR_12_0, MSEL5CR_11_1),
1478 PINMUX_DATA(SCIFA4_RXD_PORT204_MARK, PORT204_FN7, MSEL5CR_12_0, MSEL5CR_11_1),
1479 PINMUX_DATA(SCIFA4_SCK_PORT205_MARK, PORT205_FN7, MSEL5CR_10_1),
1480 PINMUX_DATA(SCIFA5_SCK_PORT206_MARK, PORT206_FN7, MSEL5CR_13_1),
1481 PINMUX_DATA(SCIFA5_RXD_PORT207_MARK, PORT207_FN7, MSEL5CR_15_0, MSEL5CR_14_1),
1482 PINMUX_DATA(SCIFA5_TXD_PORT208_MARK, PORT208_FN7, MSEL5CR_15_0, MSEL5CR_14_1),
1483
1484 /* Port209 */
1485 PINMUX_DATA(VBUS_MARK, PORT209_FN1),
1486 PINMUX_DATA(IRQ7_PORT209_MARK, PORT209_FN0, MSEL1CR_7_0),
1487
1488 /* Port210 */
1489 PINMUX_DATA(IRQ9_PORT210_MARK, PORT210_FN0, MSEL1CR_9_1),
1490 PINMUX_DATA(HDMI_HPD_MARK, PORT210_FN1),
1491
1492 /* Port211 */
1493 PINMUX_DATA(IRQ16_PORT211_MARK, PORT211_FN0, MSEL1CR_16_1),
1494 PINMUX_DATA(HDMI_CEC_MARK, PORT211_FN1),
1495
1496 /* SDENC */
1497 PINMUX_DATA(SDENC_CPG_MARK, MSEL4CR_19_0),
1498 PINMUX_DATA(SDENC_DV_CLKI_MARK, MSEL4CR_19_1),
1499
1500 /* SYSC */
1501 PINMUX_DATA(RESETP_PULLUP_MARK, MSEL4CR_4_0),
1502 PINMUX_DATA(RESETP_PLAIN_MARK, MSEL4CR_4_1),
1503
1504 /* DEBUG */
1505 PINMUX_DATA(EDEBGREQ_PULLDOWN_MARK, MSEL4CR_1_0),
1506 PINMUX_DATA(EDEBGREQ_PULLUP_MARK, MSEL4CR_1_1),
1507
1508 PINMUX_DATA(TRACEAUD_FROM_VIO_MARK, MSEL5CR_30_0, MSEL5CR_29_0),
1509 PINMUX_DATA(TRACEAUD_FROM_LCDC0_MARK, MSEL5CR_30_0, MSEL5CR_29_1),
1510 PINMUX_DATA(TRACEAUD_FROM_MEMC_MARK, MSEL5CR_30_1, MSEL5CR_29_0),
1511 };
1512
1513 #define __I (SH_PFC_PIN_CFG_INPUT)
1514 #define __O (SH_PFC_PIN_CFG_OUTPUT)
1515 #define __IO (SH_PFC_PIN_CFG_INPUT | SH_PFC_PIN_CFG_OUTPUT)
1516 #define __PD (SH_PFC_PIN_CFG_PULL_DOWN)
1517 #define __PU (SH_PFC_PIN_CFG_PULL_UP)
1518 #define __PUD (SH_PFC_PIN_CFG_PULL_UP_DOWN)
1519
1520 #define R8A7740_PIN_I_PD(pin) SH_PFC_PIN_CFG(pin, __I | __PD)
1521 #define R8A7740_PIN_I_PU(pin) SH_PFC_PIN_CFG(pin, __I | __PU)
1522 #define R8A7740_PIN_I_PU_PD(pin) SH_PFC_PIN_CFG(pin, __I | __PUD)
1523 #define R8A7740_PIN_IO(pin) SH_PFC_PIN_CFG(pin, __IO)
1524 #define R8A7740_PIN_IO_PD(pin) SH_PFC_PIN_CFG(pin, __IO | __PD)
1525 #define R8A7740_PIN_IO_PU(pin) SH_PFC_PIN_CFG(pin, __IO | __PU)
1526 #define R8A7740_PIN_IO_PU_PD(pin) SH_PFC_PIN_CFG(pin, __IO | __PUD)
1527 #define R8A7740_PIN_O(pin) SH_PFC_PIN_CFG(pin, __O)
1528 #define R8A7740_PIN_O_PU_PD(pin) SH_PFC_PIN_CFG(pin, __O | __PUD)
1529
1530 static const struct sh_pfc_pin pinmux_pins[] = {
1531 /* Table 56-1 (I/O and Pull U/D) */
1532 R8A7740_PIN_IO_PD(0), R8A7740_PIN_IO_PD(1),
1533 R8A7740_PIN_IO_PD(2), R8A7740_PIN_IO_PD(3),
1534 R8A7740_PIN_IO_PD(4), R8A7740_PIN_IO_PD(5),
1535 R8A7740_PIN_IO_PD(6), R8A7740_PIN_IO(7),
1536 R8A7740_PIN_IO(8), R8A7740_PIN_IO(9),
1537 R8A7740_PIN_IO_PD(10), R8A7740_PIN_IO_PD(11),
1538 R8A7740_PIN_IO_PD(12), R8A7740_PIN_IO_PU_PD(13),
1539 R8A7740_PIN_IO_PD(14), R8A7740_PIN_IO_PD(15),
1540 R8A7740_PIN_IO_PD(16), R8A7740_PIN_IO_PD(17),
1541 R8A7740_PIN_IO(18), R8A7740_PIN_IO_PU(19),
1542 R8A7740_PIN_IO_PU_PD(20), R8A7740_PIN_IO_PD(21),
1543 R8A7740_PIN_IO_PU_PD(22), R8A7740_PIN_IO(23),
1544 R8A7740_PIN_IO_PU(24), R8A7740_PIN_IO_PU(25),
1545 R8A7740_PIN_IO_PU(26), R8A7740_PIN_IO_PU(27),
1546 R8A7740_PIN_IO_PU(28), R8A7740_PIN_IO_PU(29),
1547 R8A7740_PIN_IO_PU(30), R8A7740_PIN_IO_PD(31),
1548 R8A7740_PIN_IO_PD(32), R8A7740_PIN_IO_PD(33),
1549 R8A7740_PIN_IO_PD(34), R8A7740_PIN_IO_PU(35),
1550 R8A7740_PIN_IO_PU(36), R8A7740_PIN_IO_PD(37),
1551 R8A7740_PIN_IO_PU(38), R8A7740_PIN_IO_PD(39),
1552 R8A7740_PIN_IO_PU_PD(40), R8A7740_PIN_IO_PD(41),
1553 R8A7740_PIN_IO_PD(42), R8A7740_PIN_IO_PU_PD(43),
1554 R8A7740_PIN_IO_PU_PD(44), R8A7740_PIN_IO_PU_PD(45),
1555 R8A7740_PIN_IO_PU_PD(46), R8A7740_PIN_IO_PU_PD(47),
1556 R8A7740_PIN_IO_PU_PD(48), R8A7740_PIN_IO_PU_PD(49),
1557 R8A7740_PIN_IO_PU_PD(50), R8A7740_PIN_IO_PD(51),
1558 R8A7740_PIN_IO_PD(52), R8A7740_PIN_IO_PD(53),
1559 R8A7740_PIN_IO_PD(54), R8A7740_PIN_IO_PU_PD(55),
1560 R8A7740_PIN_IO_PU_PD(56), R8A7740_PIN_IO_PU_PD(57),
1561 R8A7740_PIN_IO_PU_PD(58), R8A7740_PIN_IO_PU_PD(59),
1562 R8A7740_PIN_IO_PU_PD(60), R8A7740_PIN_IO_PD(61),
1563 R8A7740_PIN_IO_PD(62), R8A7740_PIN_IO_PD(63),
1564 R8A7740_PIN_IO_PD(64), R8A7740_PIN_IO_PD(65),
1565 R8A7740_PIN_IO_PU_PD(66), R8A7740_PIN_IO_PU_PD(67),
1566 R8A7740_PIN_IO_PU_PD(68), R8A7740_PIN_IO_PU_PD(69),
1567 R8A7740_PIN_IO_PU_PD(70), R8A7740_PIN_IO_PU_PD(71),
1568 R8A7740_PIN_IO_PU_PD(72), R8A7740_PIN_IO_PU_PD(73),
1569 R8A7740_PIN_IO_PU_PD(74), R8A7740_PIN_IO_PU_PD(75),
1570 R8A7740_PIN_IO_PU_PD(76), R8A7740_PIN_IO_PU_PD(77),
1571 R8A7740_PIN_IO_PU_PD(78), R8A7740_PIN_IO_PU_PD(79),
1572 R8A7740_PIN_IO_PU_PD(80), R8A7740_PIN_IO_PU_PD(81),
1573 R8A7740_PIN_IO(82), R8A7740_PIN_IO_PU_PD(83),
1574 R8A7740_PIN_IO(84), R8A7740_PIN_IO_PD(85),
1575 R8A7740_PIN_IO_PD(86), R8A7740_PIN_IO_PD(87),
1576 R8A7740_PIN_IO_PD(88), R8A7740_PIN_IO_PD(89),
1577 R8A7740_PIN_IO_PD(90), R8A7740_PIN_IO_PU_PD(91),
1578 R8A7740_PIN_IO_PU_PD(92), R8A7740_PIN_IO_PU_PD(93),
1579 R8A7740_PIN_IO_PU_PD(94), R8A7740_PIN_IO_PU_PD(95),
1580 R8A7740_PIN_IO_PU_PD(96), R8A7740_PIN_IO_PU_PD(97),
1581 R8A7740_PIN_IO_PU_PD(98), R8A7740_PIN_IO_PU_PD(99),
1582 R8A7740_PIN_IO_PU_PD(100), R8A7740_PIN_IO(101),
1583 R8A7740_PIN_IO_PU(102), R8A7740_PIN_IO_PU_PD(103),
1584 R8A7740_PIN_IO_PU(104), R8A7740_PIN_IO_PU(105),
1585 R8A7740_PIN_IO_PU_PD(106), R8A7740_PIN_IO(107),
1586 R8A7740_PIN_IO(108), R8A7740_PIN_IO(109),
1587 R8A7740_PIN_IO(110), R8A7740_PIN_IO(111),
1588 R8A7740_PIN_IO(112), R8A7740_PIN_IO(113),
1589 R8A7740_PIN_IO_PU_PD(114), R8A7740_PIN_IO(115),
1590 R8A7740_PIN_IO_PD(116), R8A7740_PIN_IO_PD(117),
1591 R8A7740_PIN_IO_PD(118), R8A7740_PIN_IO_PD(119),
1592 R8A7740_PIN_IO_PD(120), R8A7740_PIN_IO_PD(121),
1593 R8A7740_PIN_IO_PD(122), R8A7740_PIN_IO_PD(123),
1594 R8A7740_PIN_IO_PD(124), R8A7740_PIN_IO(125),
1595 R8A7740_PIN_IO(126), R8A7740_PIN_IO(127),
1596 R8A7740_PIN_IO(128), R8A7740_PIN_IO(129),
1597 R8A7740_PIN_IO(130), R8A7740_PIN_IO(131),
1598 R8A7740_PIN_IO(132), R8A7740_PIN_IO(133),
1599 R8A7740_PIN_IO(134), R8A7740_PIN_IO(135),
1600 R8A7740_PIN_IO(136), R8A7740_PIN_IO(137),
1601 R8A7740_PIN_IO(138), R8A7740_PIN_IO(139),
1602 R8A7740_PIN_IO(140), R8A7740_PIN_IO(141),
1603 R8A7740_PIN_IO_PU(142), R8A7740_PIN_IO_PU(143),
1604 R8A7740_PIN_IO_PU(144), R8A7740_PIN_IO_PU(145),
1605 R8A7740_PIN_IO_PU(146), R8A7740_PIN_IO_PU(147),
1606 R8A7740_PIN_IO_PU(148), R8A7740_PIN_IO_PU(149),
1607 R8A7740_PIN_IO_PU(150), R8A7740_PIN_IO_PU(151),
1608 R8A7740_PIN_IO_PU(152), R8A7740_PIN_IO_PU(153),
1609 R8A7740_PIN_IO_PU(154), R8A7740_PIN_IO_PU(155),
1610 R8A7740_PIN_IO_PU(156), R8A7740_PIN_IO_PU(157),
1611 R8A7740_PIN_IO_PD(158), R8A7740_PIN_IO_PD(159),
1612 R8A7740_PIN_IO_PU_PD(160), R8A7740_PIN_IO_PD(161),
1613 R8A7740_PIN_IO_PD(162), R8A7740_PIN_IO_PD(163),
1614 R8A7740_PIN_IO_PD(164), R8A7740_PIN_IO_PD(165),
1615 R8A7740_PIN_IO_PU(166), R8A7740_PIN_IO_PU(167),
1616 R8A7740_PIN_IO_PU(168), R8A7740_PIN_IO_PU(169),
1617 R8A7740_PIN_IO_PU(170), R8A7740_PIN_IO_PU(171),
1618 R8A7740_PIN_IO_PD(172), R8A7740_PIN_IO_PD(173),
1619 R8A7740_PIN_IO_PD(174), R8A7740_PIN_IO_PD(175),
1620 R8A7740_PIN_IO_PU(176), R8A7740_PIN_IO_PU_PD(177),
1621 R8A7740_PIN_IO_PU(178), R8A7740_PIN_IO_PD(179),
1622 R8A7740_PIN_IO_PD(180), R8A7740_PIN_IO_PU(181),
1623 R8A7740_PIN_IO_PU(182), R8A7740_PIN_IO(183),
1624 R8A7740_PIN_IO_PD(184), R8A7740_PIN_IO_PD(185),
1625 R8A7740_PIN_IO_PD(186), R8A7740_PIN_IO_PD(187),
1626 R8A7740_PIN_IO_PD(188), R8A7740_PIN_IO_PD(189),
1627 R8A7740_PIN_IO_PD(190), R8A7740_PIN_IO_PD(191),
1628 R8A7740_PIN_IO_PD(192), R8A7740_PIN_IO_PU_PD(193),
1629 R8A7740_PIN_IO_PU_PD(194), R8A7740_PIN_IO_PD(195),
1630 R8A7740_PIN_IO_PU_PD(196), R8A7740_PIN_IO_PD(197),
1631 R8A7740_PIN_IO_PU_PD(198), R8A7740_PIN_IO_PU_PD(199),
1632 R8A7740_PIN_IO_PU_PD(200), R8A7740_PIN_IO_PU(201),
1633 R8A7740_PIN_IO_PU_PD(202), R8A7740_PIN_IO(203),
1634 R8A7740_PIN_IO_PU_PD(204), R8A7740_PIN_IO_PU_PD(205),
1635 R8A7740_PIN_IO_PU_PD(206), R8A7740_PIN_IO_PU_PD(207),
1636 R8A7740_PIN_IO_PU_PD(208), R8A7740_PIN_IO_PD(209),
1637 R8A7740_PIN_IO_PD(210), R8A7740_PIN_IO_PD(211),
1638 };
1639
1640 /* - BSC -------------------------------------------------------------------- */
1641 static const unsigned int bsc_data8_pins[] = {
1642 /* D[0:7] */
1643 157, 156, 155, 154, 153, 152, 151, 150,
1644 };
1645 static const unsigned int bsc_data8_mux[] = {
1646 D0_NAF0_MARK, D1_NAF1_MARK, D2_NAF2_MARK, D3_NAF3_MARK,
1647 D4_NAF4_MARK, D5_NAF5_MARK, D6_NAF6_MARK, D7_NAF7_MARK,
1648 };
1649 static const unsigned int bsc_data16_pins[] = {
1650 /* D[0:15] */
1651 157, 156, 155, 154, 153, 152, 151, 150,
1652 149, 148, 147, 146, 145, 144, 143, 142,
1653 };
1654 static const unsigned int bsc_data16_mux[] = {
1655 D0_NAF0_MARK, D1_NAF1_MARK, D2_NAF2_MARK, D3_NAF3_MARK,
1656 D4_NAF4_MARK, D5_NAF5_MARK, D6_NAF6_MARK, D7_NAF7_MARK,
1657 D8_NAF8_MARK, D9_NAF9_MARK, D10_NAF10_MARK, D11_NAF11_MARK,
1658 D12_NAF12_MARK, D13_NAF13_MARK, D14_NAF14_MARK, D15_NAF15_MARK,
1659 };
1660 static const unsigned int bsc_data32_pins[] = {
1661 /* D[0:31] */
1662 157, 156, 155, 154, 153, 152, 151, 150,
1663 149, 148, 147, 146, 145, 144, 143, 142,
1664 171, 170, 169, 168, 167, 166, 173, 172,
1665 165, 164, 163, 162, 161, 160, 159, 158,
1666 };
1667 static const unsigned int bsc_data32_mux[] = {
1668 D0_NAF0_MARK, D1_NAF1_MARK, D2_NAF2_MARK, D3_NAF3_MARK,
1669 D4_NAF4_MARK, D5_NAF5_MARK, D6_NAF6_MARK, D7_NAF7_MARK,
1670 D8_NAF8_MARK, D9_NAF9_MARK, D10_NAF10_MARK, D11_NAF11_MARK,
1671 D12_NAF12_MARK, D13_NAF13_MARK, D14_NAF14_MARK, D15_NAF15_MARK,
1672 D16_MARK, D17_MARK, D18_MARK, D19_MARK,
1673 D20_MARK, D21_MARK, D22_MARK, D23_MARK,
1674 D24_MARK, D25_MARK, D26_MARK, D27_MARK,
1675 D28_MARK, D29_MARK, D30_MARK, D31_MARK,
1676 };
1677 static const unsigned int bsc_cs0_pins[] = {
1678 /* CS */
1679 109,
1680 };
1681 static const unsigned int bsc_cs0_mux[] = {
1682 CS0_MARK,
1683 };
1684 static const unsigned int bsc_cs2_pins[] = {
1685 /* CS */
1686 110,
1687 };
1688 static const unsigned int bsc_cs2_mux[] = {
1689 CS2_MARK,
1690 };
1691 static const unsigned int bsc_cs4_pins[] = {
1692 /* CS */
1693 111,
1694 };
1695 static const unsigned int bsc_cs4_mux[] = {
1696 CS4_MARK,
1697 };
1698 static const unsigned int bsc_cs5a_0_pins[] = {
1699 /* CS */
1700 105,
1701 };
1702 static const unsigned int bsc_cs5a_0_mux[] = {
1703 CS5A_PORT105_MARK,
1704 };
1705 static const unsigned int bsc_cs5a_1_pins[] = {
1706 /* CS */
1707 19,
1708 };
1709 static const unsigned int bsc_cs5a_1_mux[] = {
1710 CS5A_PORT19_MARK,
1711 };
1712 static const unsigned int bsc_cs5b_pins[] = {
1713 /* CS */
1714 103,
1715 };
1716 static const unsigned int bsc_cs5b_mux[] = {
1717 CS5B_MARK,
1718 };
1719 static const unsigned int bsc_cs6a_pins[] = {
1720 /* CS */
1721 104,
1722 };
1723 static const unsigned int bsc_cs6a_mux[] = {
1724 CS6A_MARK,
1725 };
1726 static const unsigned int bsc_rd_we8_pins[] = {
1727 /* RD, WE[0] */
1728 115, 113,
1729 };
1730 static const unsigned int bsc_rd_we8_mux[] = {
1731 RD_FSC_MARK, WE0_FWE_MARK,
1732 };
1733 static const unsigned int bsc_rd_we16_pins[] = {
1734 /* RD, WE[0:1] */
1735 115, 113, 112,
1736 };
1737 static const unsigned int bsc_rd_we16_mux[] = {
1738 RD_FSC_MARK, WE0_FWE_MARK, WE1_MARK,
1739 };
1740 static const unsigned int bsc_rd_we32_pins[] = {
1741 /* RD, WE[0:3] */
1742 115, 113, 112, 108, 107,
1743 };
1744 static const unsigned int bsc_rd_we32_mux[] = {
1745 RD_FSC_MARK, WE0_FWE_MARK, WE1_MARK, WE2_ICIORD_MARK, WE3_ICIOWR_MARK,
1746 };
1747 static const unsigned int bsc_bs_pins[] = {
1748 /* BS */
1749 175,
1750 };
1751 static const unsigned int bsc_bs_mux[] = {
1752 BS_MARK,
1753 };
1754 static const unsigned int bsc_rdwr_pins[] = {
1755 /* RDWR */
1756 114,
1757 };
1758 static const unsigned int bsc_rdwr_mux[] = {
1759 RDWR_MARK,
1760 };
1761 /* - CEU0 ------------------------------------------------------------------- */
1762 static const unsigned int ceu0_data_0_7_pins[] = {
1763 /* D[0:7] */
1764 34, 33, 32, 31, 30, 29, 28, 27,
1765 };
1766 static const unsigned int ceu0_data_0_7_mux[] = {
1767 VIO0_D0_MARK, VIO0_D1_MARK, VIO0_D2_MARK, VIO0_D3_MARK,
1768 VIO0_D4_MARK, VIO0_D5_MARK, VIO0_D6_MARK, VIO0_D7_MARK,
1769 };
1770 static const unsigned int ceu0_data_8_15_0_pins[] = {
1771 /* D[8:15] */
1772 182, 181, 180, 179, 178, 26, 25, 24,
1773 };
1774 static const unsigned int ceu0_data_8_15_0_mux[] = {
1775 VIO0_D8_MARK, VIO0_D9_MARK, VIO0_D10_MARK, VIO0_D11_MARK,
1776 VIO0_D12_MARK, VIO0_D13_PORT26_MARK, VIO0_D14_PORT25_MARK,
1777 VIO0_D15_PORT24_MARK,
1778 };
1779 static const unsigned int ceu0_data_8_15_1_pins[] = {
1780 /* D[8:15] */
1781 182, 181, 180, 179, 178, 22, 95, 96,
1782 };
1783 static const unsigned int ceu0_data_8_15_1_mux[] = {
1784 VIO0_D8_MARK, VIO0_D9_MARK, VIO0_D10_MARK, VIO0_D11_MARK,
1785 VIO0_D12_MARK, VIO0_D13_PORT22_MARK, VIO0_D14_PORT95_MARK,
1786 VIO0_D15_PORT96_MARK,
1787 };
1788 static const unsigned int ceu0_clk_0_pins[] = {
1789 /* CKO */
1790 36,
1791 };
1792 static const unsigned int ceu0_clk_0_mux[] = {
1793 VIO_CKO_MARK,
1794 };
1795 static const unsigned int ceu0_clk_1_pins[] = {
1796 /* CKO */
1797 14,
1798 };
1799 static const unsigned int ceu0_clk_1_mux[] = {
1800 VIO_CKO1_MARK,
1801 };
1802 static const unsigned int ceu0_clk_2_pins[] = {
1803 /* CKO */
1804 15,
1805 };
1806 static const unsigned int ceu0_clk_2_mux[] = {
1807 VIO_CKO2_MARK,
1808 };
1809 static const unsigned int ceu0_sync_pins[] = {
1810 /* CLK, VD, HD */
1811 35, 39, 37,
1812 };
1813 static const unsigned int ceu0_sync_mux[] = {
1814 VIO0_CLK_MARK, VIO0_VD_MARK, VIO0_HD_MARK,
1815 };
1816 static const unsigned int ceu0_field_pins[] = {
1817 /* FIELD */
1818 38,
1819 };
1820 static const unsigned int ceu0_field_mux[] = {
1821 VIO0_FIELD_MARK,
1822 };
1823 /* - CEU1 ------------------------------------------------------------------- */
1824 static const unsigned int ceu1_data_pins[] = {
1825 /* D[0:7] */
1826 182, 181, 180, 179, 178, 26, 25, 24,
1827 };
1828 static const unsigned int ceu1_data_mux[] = {
1829 VIO1_D0_MARK, VIO1_D1_MARK, VIO1_D2_MARK, VIO1_D3_MARK,
1830 VIO1_D4_MARK, VIO1_D5_MARK, VIO1_D6_MARK, VIO1_D7_MARK,
1831 };
1832 static const unsigned int ceu1_clk_pins[] = {
1833 /* CKO */
1834 23,
1835 };
1836 static const unsigned int ceu1_clk_mux[] = {
1837 VIO_CKO_1_MARK,
1838 };
1839 static const unsigned int ceu1_sync_pins[] = {
1840 /* CLK, VD, HD */
1841 197, 198, 160,
1842 };
1843 static const unsigned int ceu1_sync_mux[] = {
1844 VIO1_CLK_MARK, VIO1_VD_MARK, VIO1_HD_MARK,
1845 };
1846 static const unsigned int ceu1_field_pins[] = {
1847 /* FIELD */
1848 21,
1849 };
1850 static const unsigned int ceu1_field_mux[] = {
1851 VIO1_FIELD_MARK,
1852 };
1853 /* - FSIA ------------------------------------------------------------------- */
1854 static const unsigned int fsia_mclk_in_pins[] = {
1855 /* CK */
1856 11,
1857 };
1858 static const unsigned int fsia_mclk_in_mux[] = {
1859 FSIACK_MARK,
1860 };
1861 static const unsigned int fsia_mclk_out_pins[] = {
1862 /* OMC */
1863 10,
1864 };
1865 static const unsigned int fsia_mclk_out_mux[] = {
1866 FSIAOMC_MARK,
1867 };
1868 static const unsigned int fsia_sclk_in_pins[] = {
1869 /* ILR, IBT */
1870 12, 13,
1871 };
1872 static const unsigned int fsia_sclk_in_mux[] = {
1873 FSIAILR_MARK, FSIAIBT_MARK,
1874 };
1875 static const unsigned int fsia_sclk_out_pins[] = {
1876 /* OLR, OBT */
1877 7, 8,
1878 };
1879 static const unsigned int fsia_sclk_out_mux[] = {
1880 FSIAOLR_MARK, FSIAOBT_MARK,
1881 };
1882 static const unsigned int fsia_data_in_0_pins[] = {
1883 /* ISLD */
1884 0,
1885 };
1886 static const unsigned int fsia_data_in_0_mux[] = {
1887 FSIAISLD_PORT0_MARK,
1888 };
1889 static const unsigned int fsia_data_in_1_pins[] = {
1890 /* ISLD */
1891 5,
1892 };
1893 static const unsigned int fsia_data_in_1_mux[] = {
1894 FSIAISLD_PORT5_MARK,
1895 };
1896 static const unsigned int fsia_data_out_0_pins[] = {
1897 /* OSLD */
1898 9,
1899 };
1900 static const unsigned int fsia_data_out_0_mux[] = {
1901 FSIAOSLD_MARK,
1902 };
1903 static const unsigned int fsia_data_out_1_pins[] = {
1904 /* OSLD */
1905 0,
1906 };
1907 static const unsigned int fsia_data_out_1_mux[] = {
1908 FSIAOSLD1_MARK,
1909 };
1910 static const unsigned int fsia_data_out_2_pins[] = {
1911 /* OSLD */
1912 1,
1913 };
1914 static const unsigned int fsia_data_out_2_mux[] = {
1915 FSIAOSLD2_MARK,
1916 };
1917 static const unsigned int fsia_spdif_0_pins[] = {
1918 /* SPDIF */
1919 9,
1920 };
1921 static const unsigned int fsia_spdif_0_mux[] = {
1922 FSIASPDIF_PORT9_MARK,
1923 };
1924 static const unsigned int fsia_spdif_1_pins[] = {
1925 /* SPDIF */
1926 18,
1927 };
1928 static const unsigned int fsia_spdif_1_mux[] = {
1929 FSIASPDIF_PORT18_MARK,
1930 };
1931 /* - FSIB ------------------------------------------------------------------- */
1932 static const unsigned int fsib_mclk_in_pins[] = {
1933 /* CK */
1934 11,
1935 };
1936 static const unsigned int fsib_mclk_in_mux[] = {
1937 FSIBCK_MARK,
1938 };
1939 /* - GETHER ----------------------------------------------------------------- */
1940 static const unsigned int gether_rmii_pins[] = {
1941 /* RXD[0:1], RX_ER, CRS_DV, TXD[0:1], TX_EN, REF_CLK, MDC, MDIO */
1942 195, 196, 194, 193, 200, 201, 199, 159, 202, 208,
1943 };
1944 static const unsigned int gether_rmii_mux[] = {
1945 RMII_RXD0_MARK, RMII_RXD1_MARK, RMII_RX_ER_MARK, RMII_CRS_DV_MARK,
1946 RMII_TXD0_MARK, RMII_TXD1_MARK, RMII_TX_EN_MARK, RMII_REF50CK_MARK,
1947 RMII_MDC_MARK, RMII_MDIO_MARK,
1948 };
1949 static const unsigned int gether_mii_pins[] = {
1950 /* RXD[0:3], RX_CLK, RX_DV, RX_ER
1951 * TXD[0:3], TX_CLK, TX_EN, TX_ER
1952 * CRS, COL, MDC, MDIO,
1953 */
1954 185, 186, 187, 188, 174, 161, 204,
1955 171, 170, 169, 168, 184, 183, 203,
1956 205, 163, 206, 207,
1957 };
1958 static const unsigned int gether_mii_mux[] = {
1959 ET_ERXD0_MARK, ET_ERXD1_MARK, ET_ERXD2_MARK, ET_ERXD3_MARK,
1960 ET_RX_CLK_MARK, ET_RX_DV_MARK, ET_RX_ER_MARK,
1961 ET_ETXD0_MARK, ET_ETXD1_MARK, ET_ETXD2_MARK, ET_ETXD3_MARK,
1962 ET_TX_CLK_MARK, ET_TX_EN_MARK, ET_TX_ER_MARK,
1963 ET_CRS_MARK, ET_COL_MARK, ET_MDC_MARK, ET_MDIO_MARK,
1964 };
1965 static const unsigned int gether_gmii_pins[] = {
1966 /* RXD[0:7], RX_CLK, RX_DV, RX_ER
1967 * TXD[0:7], GTX_CLK, TX_CLK, TX_EN, TX_ER
1968 * CRS, COL, MDC, MDIO, REF125CK_MARK,
1969 */
1970 185, 186, 187, 188, 189, 190, 191, 192, 174, 161, 204,
1971 171, 170, 169, 168, 167, 166, 173, 172, 176, 184, 183, 203,
1972 205, 163, 206, 207, 158,
1973 };
1974 static const unsigned int gether_gmii_mux[] = {
1975 ET_ERXD0_MARK, ET_ERXD1_MARK, ET_ERXD2_MARK, ET_ERXD3_MARK,
1976 ET_ERXD4_MARK, ET_ERXD5_MARK, ET_ERXD6_MARK, ET_ERXD7_MARK,
1977 ET_RX_CLK_MARK, ET_RX_DV_MARK, ET_RX_ER_MARK,
1978 ET_ETXD0_MARK, ET_ETXD1_MARK, ET_ETXD2_MARK, ET_ETXD3_MARK,
1979 ET_ETXD4_MARK, ET_ETXD5_MARK, ET_ETXD6_MARK, ET_ETXD7_MARK,
1980 ET_GTX_CLK_MARK, ET_TX_CLK_MARK, ET_TX_EN_MARK, ET_TX_ER_MARK,
1981 ET_CRS_MARK, ET_COL_MARK, ET_MDC_MARK, ET_MDIO_MARK,
1982 RMII_REF125CK_MARK,
1983 };
1984 static const unsigned int gether_int_pins[] = {
1985 /* PHY_INT */
1986 164,
1987 };
1988 static const unsigned int gether_int_mux[] = {
1989 ET_PHY_INT_MARK,
1990 };
1991 static const unsigned int gether_link_pins[] = {
1992 /* LINK */
1993 177,
1994 };
1995 static const unsigned int gether_link_mux[] = {
1996 ET_LINK_MARK,
1997 };
1998 static const unsigned int gether_wol_pins[] = {
1999 /* WOL */
2000 175,
2001 };
2002 static const unsigned int gether_wol_mux[] = {
2003 ET_WOL_MARK,
2004 };
2005 /* - HDMI ------------------------------------------------------------------- */
2006 static const unsigned int hdmi_pins[] = {
2007 /* HPD, CEC */
2008 210, 211,
2009 };
2010 static const unsigned int hdmi_mux[] = {
2011 HDMI_HPD_MARK, HDMI_CEC_MARK,
2012 };
2013 /* - INTC ------------------------------------------------------------------- */
2014 IRQC_PINS_MUX(0, 0, 2);
2015 IRQC_PINS_MUX(0, 1, 13);
2016 IRQC_PIN_MUX(1, 20);
2017 IRQC_PINS_MUX(2, 0, 11);
2018 IRQC_PINS_MUX(2, 1, 12);
2019 IRQC_PINS_MUX(3, 0, 10);
2020 IRQC_PINS_MUX(3, 1, 14);
2021 IRQC_PINS_MUX(4, 0, 15);
2022 IRQC_PINS_MUX(4, 1, 172);
2023 IRQC_PINS_MUX(5, 0, 0);
2024 IRQC_PINS_MUX(5, 1, 1);
2025 IRQC_PINS_MUX(6, 0, 121);
2026 IRQC_PINS_MUX(6, 1, 173);
2027 IRQC_PINS_MUX(7, 0, 120);
2028 IRQC_PINS_MUX(7, 1, 209);
2029 IRQC_PIN_MUX(8, 119);
2030 IRQC_PINS_MUX(9, 0, 118);
2031 IRQC_PINS_MUX(9, 1, 210);
2032 IRQC_PIN_MUX(10, 19);
2033 IRQC_PIN_MUX(11, 104);
2034 IRQC_PINS_MUX(12, 0, 42);
2035 IRQC_PINS_MUX(12, 1, 97);
2036 IRQC_PINS_MUX(13, 0, 64);
2037 IRQC_PINS_MUX(13, 1, 98);
2038 IRQC_PINS_MUX(14, 0, 63);
2039 IRQC_PINS_MUX(14, 1, 99);
2040 IRQC_PINS_MUX(15, 0, 62);
2041 IRQC_PINS_MUX(15, 1, 100);
2042 IRQC_PINS_MUX(16, 0, 68);
2043 IRQC_PINS_MUX(16, 1, 211);
2044 IRQC_PIN_MUX(17, 69);
2045 IRQC_PIN_MUX(18, 70);
2046 IRQC_PIN_MUX(19, 71);
2047 IRQC_PIN_MUX(20, 67);
2048 IRQC_PIN_MUX(21, 202);
2049 IRQC_PIN_MUX(22, 95);
2050 IRQC_PIN_MUX(23, 96);
2051 IRQC_PIN_MUX(24, 180);
2052 IRQC_PIN_MUX(25, 38);
2053 IRQC_PINS_MUX(26, 0, 58);
2054 IRQC_PINS_MUX(26, 1, 81);
2055 IRQC_PINS_MUX(27, 0, 57);
2056 IRQC_PINS_MUX(27, 1, 168);
2057 IRQC_PINS_MUX(28, 0, 56);
2058 IRQC_PINS_MUX(28, 1, 169);
2059 IRQC_PINS_MUX(29, 0, 50);
2060 IRQC_PINS_MUX(29, 1, 170);
2061 IRQC_PINS_MUX(30, 0, 49);
2062 IRQC_PINS_MUX(30, 1, 171);
2063 IRQC_PINS_MUX(31, 0, 41);
2064 IRQC_PINS_MUX(31, 1, 167);
2065
2066 /* - LCD0 ------------------------------------------------------------------- */
2067 static const unsigned int lcd0_data8_pins[] = {
2068 /* D[0:7] */
2069 58, 57, 56, 55, 54, 53, 52, 51,
2070 };
2071 static const unsigned int lcd0_data8_mux[] = {
2072 LCD0_D0_MARK, LCD0_D1_MARK, LCD0_D2_MARK, LCD0_D3_MARK,
2073 LCD0_D4_MARK, LCD0_D5_MARK, LCD0_D6_MARK, LCD0_D7_MARK,
2074 };
2075 static const unsigned int lcd0_data9_pins[] = {
2076 /* D[0:8] */
2077 58, 57, 56, 55, 54, 53, 52, 51,
2078 50,
2079 };
2080 static const unsigned int lcd0_data9_mux[] = {
2081 LCD0_D0_MARK, LCD0_D1_MARK, LCD0_D2_MARK, LCD0_D3_MARK,
2082 LCD0_D4_MARK, LCD0_D5_MARK, LCD0_D6_MARK, LCD0_D7_MARK,
2083 LCD0_D8_MARK,
2084 };
2085 static const unsigned int lcd0_data12_pins[] = {
2086 /* D[0:11] */
2087 58, 57, 56, 55, 54, 53, 52, 51,
2088 50, 49, 48, 47,
2089 };
2090 static const unsigned int lcd0_data12_mux[] = {
2091 LCD0_D0_MARK, LCD0_D1_MARK, LCD0_D2_MARK, LCD0_D3_MARK,
2092 LCD0_D4_MARK, LCD0_D5_MARK, LCD0_D6_MARK, LCD0_D7_MARK,
2093 LCD0_D8_MARK, LCD0_D9_MARK, LCD0_D10_MARK, LCD0_D11_MARK,
2094 };
2095 static const unsigned int lcd0_data16_pins[] = {
2096 /* D[0:15] */
2097 58, 57, 56, 55, 54, 53, 52, 51,
2098 50, 49, 48, 47, 46, 45, 44, 43,
2099 };
2100 static const unsigned int lcd0_data16_mux[] = {
2101 LCD0_D0_MARK, LCD0_D1_MARK, LCD0_D2_MARK, LCD0_D3_MARK,
2102 LCD0_D4_MARK, LCD0_D5_MARK, LCD0_D6_MARK, LCD0_D7_MARK,
2103 LCD0_D8_MARK, LCD0_D9_MARK, LCD0_D10_MARK, LCD0_D11_MARK,
2104 LCD0_D12_MARK, LCD0_D13_MARK, LCD0_D14_MARK, LCD0_D15_MARK,
2105 };
2106 static const unsigned int lcd0_data18_pins[] = {
2107 /* D[0:17] */
2108 58, 57, 56, 55, 54, 53, 52, 51,
2109 50, 49, 48, 47, 46, 45, 44, 43,
2110 42, 41,
2111 };
2112 static const unsigned int lcd0_data18_mux[] = {
2113 LCD0_D0_MARK, LCD0_D1_MARK, LCD0_D2_MARK, LCD0_D3_MARK,
2114 LCD0_D4_MARK, LCD0_D5_MARK, LCD0_D6_MARK, LCD0_D7_MARK,
2115 LCD0_D8_MARK, LCD0_D9_MARK, LCD0_D10_MARK, LCD0_D11_MARK,
2116 LCD0_D12_MARK, LCD0_D13_MARK, LCD0_D14_MARK, LCD0_D15_MARK,
2117 LCD0_D16_MARK, LCD0_D17_MARK,
2118 };
2119 static const unsigned int lcd0_data24_0_pins[] = {
2120 /* D[0:23] */
2121 58, 57, 56, 55, 54, 53, 52, 51,
2122 50, 49, 48, 47, 46, 45, 44, 43,
2123 42, 41, 40, 4, 3, 2, 0, 1,
2124 };
2125 static const unsigned int lcd0_data24_0_mux[] = {
2126 LCD0_D0_MARK, LCD0_D1_MARK, LCD0_D2_MARK, LCD0_D3_MARK,
2127 LCD0_D4_MARK, LCD0_D5_MARK, LCD0_D6_MARK, LCD0_D7_MARK,
2128 LCD0_D8_MARK, LCD0_D9_MARK, LCD0_D10_MARK, LCD0_D11_MARK,
2129 LCD0_D12_MARK, LCD0_D13_MARK, LCD0_D14_MARK, LCD0_D15_MARK,
2130 LCD0_D16_MARK, LCD0_D17_MARK, LCD0_D18_PORT40_MARK, LCD0_D19_PORT4_MARK,
2131 LCD0_D20_PORT3_MARK, LCD0_D21_PORT2_MARK, LCD0_D22_PORT0_MARK,
2132 LCD0_D23_PORT1_MARK,
2133 };
2134 static const unsigned int lcd0_data24_1_pins[] = {
2135 /* D[0:23] */
2136 58, 57, 56, 55, 54, 53, 52, 51,
2137 50, 49, 48, 47, 46, 45, 44, 43,
2138 42, 41, 163, 162, 161, 158, 160, 159,
2139 };
2140 static const unsigned int lcd0_data24_1_mux[] = {
2141 LCD0_D0_MARK, LCD0_D1_MARK, LCD0_D2_MARK, LCD0_D3_MARK,
2142 LCD0_D4_MARK, LCD0_D5_MARK, LCD0_D6_MARK, LCD0_D7_MARK,
2143 LCD0_D8_MARK, LCD0_D9_MARK, LCD0_D10_MARK, LCD0_D11_MARK,
2144 LCD0_D12_MARK, LCD0_D13_MARK, LCD0_D14_MARK, LCD0_D15_MARK,
2145 LCD0_D16_MARK, LCD0_D17_MARK, LCD0_D18_PORT163_MARK,
2146 LCD0_D19_PORT162_MARK, LCD0_D20_PORT161_MARK, LCD0_D21_PORT158_MARK,
2147 LCD0_D22_PORT160_MARK, LCD0_D23_PORT159_MARK,
2148 };
2149 static const unsigned int lcd0_display_pins[] = {
2150 /* DON, VCPWC, VEPWC */
2151 61, 59, 60,
2152 };
2153 static const unsigned int lcd0_display_mux[] = {
2154 LCD0_DON_MARK, LCD0_VCPWC_MARK, LCD0_VEPWC_MARK,
2155 };
2156 static const unsigned int lcd0_lclk_0_pins[] = {
2157 /* LCLK */
2158 102,
2159 };
2160 static const unsigned int lcd0_lclk_0_mux[] = {
2161 LCD0_LCLK_PORT102_MARK,
2162 };
2163 static const unsigned int lcd0_lclk_1_pins[] = {
2164 /* LCLK */
2165 165,
2166 };
2167 static const unsigned int lcd0_lclk_1_mux[] = {
2168 LCD0_LCLK_PORT165_MARK,
2169 };
2170 static const unsigned int lcd0_sync_pins[] = {
2171 /* VSYN, HSYN, DCK, DISP */
2172 63, 64, 62, 65,
2173 };
2174 static const unsigned int lcd0_sync_mux[] = {
2175 LCD0_VSYN_MARK, LCD0_HSYN_MARK, LCD0_DCK_MARK, LCD0_DISP_MARK,
2176 };
2177 static const unsigned int lcd0_sys_pins[] = {
2178 /* CS, WR, RD, RS */
2179 64, 62, 164, 65,
2180 };
2181 static const unsigned int lcd0_sys_mux[] = {
2182 LCD0_CS_MARK, LCD0_WR_MARK, LCD0_RD_MARK, LCD0_RS_MARK,
2183 };
2184 /* - LCD1 ------------------------------------------------------------------- */
2185 static const unsigned int lcd1_data8_pins[] = {
2186 /* D[0:7] */
2187 4, 3, 2, 1, 0, 91, 92, 23,
2188 };
2189 static const unsigned int lcd1_data8_mux[] = {
2190 LCD1_D0_MARK, LCD1_D1_MARK, LCD1_D2_MARK, LCD1_D3_MARK,
2191 LCD1_D4_MARK, LCD1_D5_MARK, LCD1_D6_MARK, LCD1_D7_MARK,
2192 };
2193 static const unsigned int lcd1_data9_pins[] = {
2194 /* D[0:8] */
2195 4, 3, 2, 1, 0, 91, 92, 23,
2196 93,
2197 };
2198 static const unsigned int lcd1_data9_mux[] = {
2199 LCD1_D0_MARK, LCD1_D1_MARK, LCD1_D2_MARK, LCD1_D3_MARK,
2200 LCD1_D4_MARK, LCD1_D5_MARK, LCD1_D6_MARK, LCD1_D7_MARK,
2201 LCD1_D8_MARK,
2202 };
2203 static const unsigned int lcd1_data12_pins[] = {
2204 /* D[0:11] */
2205 4, 3, 2, 1, 0, 91, 92, 23,
2206 93, 94, 21, 201,
2207 };
2208 static const unsigned int lcd1_data12_mux[] = {
2209 LCD1_D0_MARK, LCD1_D1_MARK, LCD1_D2_MARK, LCD1_D3_MARK,
2210 LCD1_D4_MARK, LCD1_D5_MARK, LCD1_D6_MARK, LCD1_D7_MARK,
2211 LCD1_D8_MARK, LCD1_D9_MARK, LCD1_D10_MARK, LCD1_D11_MARK,
2212 };
2213 static const unsigned int lcd1_data16_pins[] = {
2214 /* D[0:15] */
2215 4, 3, 2, 1, 0, 91, 92, 23,
2216 93, 94, 21, 201, 200, 199, 196, 195,
2217 };
2218 static const unsigned int lcd1_data16_mux[] = {
2219 LCD1_D0_MARK, LCD1_D1_MARK, LCD1_D2_MARK, LCD1_D3_MARK,
2220 LCD1_D4_MARK, LCD1_D5_MARK, LCD1_D6_MARK, LCD1_D7_MARK,
2221 LCD1_D8_MARK, LCD1_D9_MARK, LCD1_D10_MARK, LCD1_D11_MARK,
2222 LCD1_D12_MARK, LCD1_D13_MARK, LCD1_D14_MARK, LCD1_D15_MARK,
2223 };
2224 static const unsigned int lcd1_data18_pins[] = {
2225 /* D[0:17] */
2226 4, 3, 2, 1, 0, 91, 92, 23,
2227 93, 94, 21, 201, 200, 199, 196, 195,
2228 194, 193,
2229 };
2230 static const unsigned int lcd1_data18_mux[] = {
2231 LCD1_D0_MARK, LCD1_D1_MARK, LCD1_D2_MARK, LCD1_D3_MARK,
2232 LCD1_D4_MARK, LCD1_D5_MARK, LCD1_D6_MARK, LCD1_D7_MARK,
2233 LCD1_D8_MARK, LCD1_D9_MARK, LCD1_D10_MARK, LCD1_D11_MARK,
2234 LCD1_D12_MARK, LCD1_D13_MARK, LCD1_D14_MARK, LCD1_D15_MARK,
2235 LCD1_D16_MARK, LCD1_D17_MARK,
2236 };
2237 static const unsigned int lcd1_data24_pins[] = {
2238 /* D[0:23] */
2239 4, 3, 2, 1, 0, 91, 92, 23,
2240 93, 94, 21, 201, 200, 199, 196, 195,
2241 194, 193, 198, 197, 75, 74, 15, 14,
2242 };
2243 static const unsigned int lcd1_data24_mux[] = {
2244 LCD1_D0_MARK, LCD1_D1_MARK, LCD1_D2_MARK, LCD1_D3_MARK,
2245 LCD1_D4_MARK, LCD1_D5_MARK, LCD1_D6_MARK, LCD1_D7_MARK,
2246 LCD1_D8_MARK, LCD1_D9_MARK, LCD1_D10_MARK, LCD1_D11_MARK,
2247 LCD1_D12_MARK, LCD1_D13_MARK, LCD1_D14_MARK, LCD1_D15_MARK,
2248 LCD1_D16_MARK, LCD1_D17_MARK, LCD1_D18_MARK, LCD1_D19_MARK,
2249 LCD1_D20_MARK, LCD1_D21_MARK, LCD1_D22_MARK, LCD1_D23_MARK,
2250 };
2251 static const unsigned int lcd1_display_pins[] = {
2252 /* DON, VCPWC, VEPWC */
2253 100, 5, 6,
2254 };
2255 static const unsigned int lcd1_display_mux[] = {
2256 LCD1_DON_MARK, LCD1_VCPWC_MARK, LCD1_VEPWC_MARK,
2257 };
2258 static const unsigned int lcd1_lclk_pins[] = {
2259 /* LCLK */
2260 40,
2261 };
2262 static const unsigned int lcd1_lclk_mux[] = {
2263 LCD1_LCLK_MARK,
2264 };
2265 static const unsigned int lcd1_sync_pins[] = {
2266 /* VSYN, HSYN, DCK, DISP */
2267 98, 97, 99, 12,
2268 };
2269 static const unsigned int lcd1_sync_mux[] = {
2270 LCD1_VSYN_MARK, LCD1_HSYN_MARK, LCD1_DCK_MARK, LCD1_DISP_MARK,
2271 };
2272 static const unsigned int lcd1_sys_pins[] = {
2273 /* CS, WR, RD, RS */
2274 97, 99, 13, 12,
2275 };
2276 static const unsigned int lcd1_sys_mux[] = {
2277 LCD1_CS_MARK, LCD1_WR_MARK, LCD1_RD_MARK, LCD1_RS_MARK,
2278 };
2279 /* - MMCIF ------------------------------------------------------------------ */
2280 static const unsigned int mmc0_data1_0_pins[] = {
2281 /* D[0] */
2282 68,
2283 };
2284 static const unsigned int mmc0_data1_0_mux[] = {
2285 MMC0_D0_PORT68_MARK,
2286 };
2287 static const unsigned int mmc0_data4_0_pins[] = {
2288 /* D[0:3] */
2289 68, 69, 70, 71,
2290 };
2291 static const unsigned int mmc0_data4_0_mux[] = {
2292 MMC0_D0_PORT68_MARK, MMC0_D1_PORT69_MARK, MMC0_D2_PORT70_MARK, MMC0_D3_PORT71_MARK,
2293 };
2294 static const unsigned int mmc0_data8_0_pins[] = {
2295 /* D[0:7] */
2296 68, 69, 70, 71, 72, 73, 74, 75,
2297 };
2298 static const unsigned int mmc0_data8_0_mux[] = {
2299 MMC0_D0_PORT68_MARK, MMC0_D1_PORT69_MARK, MMC0_D2_PORT70_MARK, MMC0_D3_PORT71_MARK,
2300 MMC0_D4_PORT72_MARK, MMC0_D5_PORT73_MARK, MMC0_D6_PORT74_MARK, MMC0_D7_PORT75_MARK,
2301 };
2302 static const unsigned int mmc0_ctrl_0_pins[] = {
2303 /* CMD, CLK */
2304 67, 66,
2305 };
2306 static const unsigned int mmc0_ctrl_0_mux[] = {
2307 MMC0_CMD_PORT67_MARK, MMC0_CLK_PORT66_MARK,
2308 };
2309
2310 static const unsigned int mmc0_data1_1_pins[] = {
2311 /* D[0] */
2312 149,
2313 };
2314 static const unsigned int mmc0_data1_1_mux[] = {
2315 MMC1_D0_PORT149_MARK,
2316 };
2317 static const unsigned int mmc0_data4_1_pins[] = {
2318 /* D[0:3] */
2319 149, 148, 147, 146,
2320 };
2321 static const unsigned int mmc0_data4_1_mux[] = {
2322 MMC1_D0_PORT149_MARK, MMC1_D1_PORT148_MARK, MMC1_D2_PORT147_MARK, MMC1_D3_PORT146_MARK,
2323 };
2324 static const unsigned int mmc0_data8_1_pins[] = {
2325 /* D[0:7] */
2326 149, 148, 147, 146, 145, 144, 143, 142,
2327 };
2328 static const unsigned int mmc0_data8_1_mux[] = {
2329 MMC1_D0_PORT149_MARK, MMC1_D1_PORT148_MARK, MMC1_D2_PORT147_MARK, MMC1_D3_PORT146_MARK,
2330 MMC1_D4_PORT145_MARK, MMC1_D5_PORT144_MARK, MMC1_D6_PORT143_MARK, MMC1_D7_PORT142_MARK,
2331 };
2332 static const unsigned int mmc0_ctrl_1_pins[] = {
2333 /* CMD, CLK */
2334 104, 103,
2335 };
2336 static const unsigned int mmc0_ctrl_1_mux[] = {
2337 MMC1_CMD_PORT104_MARK, MMC1_CLK_PORT103_MARK,
2338 };
2339 /* - SCIFA0 ----------------------------------------------------------------- */
2340 static const unsigned int scifa0_data_pins[] = {
2341 /* RXD, TXD */
2342 197, 198,
2343 };
2344 static const unsigned int scifa0_data_mux[] = {
2345 SCIFA0_RXD_MARK, SCIFA0_TXD_MARK,
2346 };
2347 static const unsigned int scifa0_clk_pins[] = {
2348 /* SCK */
2349 188,
2350 };
2351 static const unsigned int scifa0_clk_mux[] = {
2352 SCIFA0_SCK_MARK,
2353 };
2354 static const unsigned int scifa0_ctrl_pins[] = {
2355 /* RTS, CTS */
2356 194, 193,
2357 };
2358 static const unsigned int scifa0_ctrl_mux[] = {
2359 SCIFA0_RTS_MARK, SCIFA0_CTS_MARK,
2360 };
2361 /* - SCIFA1 ----------------------------------------------------------------- */
2362 static const unsigned int scifa1_data_pins[] = {
2363 /* RXD, TXD */
2364 195, 196,
2365 };
2366 static const unsigned int scifa1_data_mux[] = {
2367 SCIFA1_RXD_MARK, SCIFA1_TXD_MARK,
2368 };
2369 static const unsigned int scifa1_clk_pins[] = {
2370 /* SCK */
2371 185,
2372 };
2373 static const unsigned int scifa1_clk_mux[] = {
2374 SCIFA1_SCK_MARK,
2375 };
2376 static const unsigned int scifa1_ctrl_pins[] = {
2377 /* RTS, CTS */
2378 23, 21,
2379 };
2380 static const unsigned int scifa1_ctrl_mux[] = {
2381 SCIFA1_RTS_MARK, SCIFA1_CTS_MARK,
2382 };
2383 /* - SCIFA2 ----------------------------------------------------------------- */
2384 static const unsigned int scifa2_data_pins[] = {
2385 /* RXD, TXD */
2386 200, 201,
2387 };
2388 static const unsigned int scifa2_data_mux[] = {
2389 SCIFA2_RXD_MARK, SCIFA2_TXD_MARK,
2390 };
2391 static const unsigned int scifa2_clk_0_pins[] = {
2392 /* SCK */
2393 22,
2394 };
2395 static const unsigned int scifa2_clk_0_mux[] = {
2396 SCIFA2_SCK_PORT22_MARK,
2397 };
2398 static const unsigned int scifa2_clk_1_pins[] = {
2399 /* SCK */
2400 199,
2401 };
2402 static const unsigned int scifa2_clk_1_mux[] = {
2403 SCIFA2_SCK_PORT199_MARK,
2404 };
2405 static const unsigned int scifa2_ctrl_pins[] = {
2406 /* RTS, CTS */
2407 96, 95,
2408 };
2409 static const unsigned int scifa2_ctrl_mux[] = {
2410 SCIFA2_RTS_MARK, SCIFA2_CTS_MARK,
2411 };
2412 /* - SCIFA3 ----------------------------------------------------------------- */
2413 static const unsigned int scifa3_data_0_pins[] = {
2414 /* RXD, TXD */
2415 174, 175,
2416 };
2417 static const unsigned int scifa3_data_0_mux[] = {
2418 SCIFA3_RXD_PORT174_MARK, SCIFA3_TXD_PORT175_MARK,
2419 };
2420 static const unsigned int scifa3_clk_0_pins[] = {
2421 /* SCK */
2422 116,
2423 };
2424 static const unsigned int scifa3_clk_0_mux[] = {
2425 SCIFA3_SCK_PORT116_MARK,
2426 };
2427 static const unsigned int scifa3_ctrl_0_pins[] = {
2428 /* RTS, CTS */
2429 105, 117,
2430 };
2431 static const unsigned int scifa3_ctrl_0_mux[] = {
2432 SCIFA3_RTS_PORT105_MARK, SCIFA3_CTS_PORT117_MARK,
2433 };
2434 static const unsigned int scifa3_data_1_pins[] = {
2435 /* RXD, TXD */
2436 159, 160,
2437 };
2438 static const unsigned int scifa3_data_1_mux[] = {
2439 SCIFA3_RXD_PORT159_MARK, SCIFA3_TXD_PORT160_MARK,
2440 };
2441 static const unsigned int scifa3_clk_1_pins[] = {
2442 /* SCK */
2443 158,
2444 };
2445 static const unsigned int scifa3_clk_1_mux[] = {
2446 SCIFA3_SCK_PORT158_MARK,
2447 };
2448 static const unsigned int scifa3_ctrl_1_pins[] = {
2449 /* RTS, CTS */
2450 161, 162,
2451 };
2452 static const unsigned int scifa3_ctrl_1_mux[] = {
2453 SCIFA3_RTS_PORT161_MARK, SCIFA3_CTS_PORT162_MARK,
2454 };
2455 /* - SCIFA4 ----------------------------------------------------------------- */
2456 static const unsigned int scifa4_data_0_pins[] = {
2457 /* RXD, TXD */
2458 12, 13,
2459 };
2460 static const unsigned int scifa4_data_0_mux[] = {
2461 SCIFA4_RXD_PORT12_MARK, SCIFA4_TXD_PORT13_MARK,
2462 };
2463 static const unsigned int scifa4_data_1_pins[] = {
2464 /* RXD, TXD */
2465 204, 203,
2466 };
2467 static const unsigned int scifa4_data_1_mux[] = {
2468 SCIFA4_RXD_PORT204_MARK, SCIFA4_TXD_PORT203_MARK,
2469 };
2470 static const unsigned int scifa4_data_2_pins[] = {
2471 /* RXD, TXD */
2472 94, 93,
2473 };
2474 static const unsigned int scifa4_data_2_mux[] = {
2475 SCIFA4_RXD_PORT94_MARK, SCIFA4_TXD_PORT93_MARK,
2476 };
2477 static const unsigned int scifa4_clk_0_pins[] = {
2478 /* SCK */
2479 21,
2480 };
2481 static const unsigned int scifa4_clk_0_mux[] = {
2482 SCIFA4_SCK_PORT21_MARK,
2483 };
2484 static const unsigned int scifa4_clk_1_pins[] = {
2485 /* SCK */
2486 205,
2487 };
2488 static const unsigned int scifa4_clk_1_mux[] = {
2489 SCIFA4_SCK_PORT205_MARK,
2490 };
2491 /* - SCIFA5 ----------------------------------------------------------------- */
2492 static const unsigned int scifa5_data_0_pins[] = {
2493 /* RXD, TXD */
2494 10, 20,
2495 };
2496 static const unsigned int scifa5_data_0_mux[] = {
2497 SCIFA5_RXD_PORT10_MARK, SCIFA5_TXD_PORT20_MARK,
2498 };
2499 static const unsigned int scifa5_data_1_pins[] = {
2500 /* RXD, TXD */
2501 207, 208,
2502 };
2503 static const unsigned int scifa5_data_1_mux[] = {
2504 SCIFA5_RXD_PORT207_MARK, SCIFA5_TXD_PORT208_MARK,
2505 };
2506 static const unsigned int scifa5_data_2_pins[] = {
2507 /* RXD, TXD */
2508 92, 91,
2509 };
2510 static const unsigned int scifa5_data_2_mux[] = {
2511 SCIFA5_RXD_PORT92_MARK, SCIFA5_TXD_PORT91_MARK,
2512 };
2513 static const unsigned int scifa5_clk_0_pins[] = {
2514 /* SCK */
2515 23,
2516 };
2517 static const unsigned int scifa5_clk_0_mux[] = {
2518 SCIFA5_SCK_PORT23_MARK,
2519 };
2520 static const unsigned int scifa5_clk_1_pins[] = {
2521 /* SCK */
2522 206,
2523 };
2524 static const unsigned int scifa5_clk_1_mux[] = {
2525 SCIFA5_SCK_PORT206_MARK,
2526 };
2527 /* - SCIFA6 ----------------------------------------------------------------- */
2528 static const unsigned int scifa6_data_pins[] = {
2529 /* RXD, TXD */
2530 25, 26,
2531 };
2532 static const unsigned int scifa6_data_mux[] = {
2533 SCIFA6_RXD_MARK, SCIFA6_TXD_MARK,
2534 };
2535 static const unsigned int scifa6_clk_pins[] = {
2536 /* SCK */
2537 24,
2538 };
2539 static const unsigned int scifa6_clk_mux[] = {
2540 SCIFA6_SCK_MARK,
2541 };
2542 /* - SCIFA7 ----------------------------------------------------------------- */
2543 static const unsigned int scifa7_data_pins[] = {
2544 /* RXD, TXD */
2545 0, 1,
2546 };
2547 static const unsigned int scifa7_data_mux[] = {
2548 SCIFA7_RXD_MARK, SCIFA7_TXD_MARK,
2549 };
2550 /* - SCIFB ------------------------------------------------------------------ */
2551 static const unsigned int scifb_data_0_pins[] = {
2552 /* RXD, TXD */
2553 191, 192,
2554 };
2555 static const unsigned int scifb_data_0_mux[] = {
2556 SCIFB_RXD_PORT191_MARK, SCIFB_TXD_PORT192_MARK,
2557 };
2558 static const unsigned int scifb_clk_0_pins[] = {
2559 /* SCK */
2560 190,
2561 };
2562 static const unsigned int scifb_clk_0_mux[] = {
2563 SCIFB_SCK_PORT190_MARK,
2564 };
2565 static const unsigned int scifb_ctrl_0_pins[] = {
2566 /* RTS, CTS */
2567 186, 187,
2568 };
2569 static const unsigned int scifb_ctrl_0_mux[] = {
2570 SCIFB_RTS_PORT186_MARK, SCIFB_CTS_PORT187_MARK,
2571 };
2572 static const unsigned int scifb_data_1_pins[] = {
2573 /* RXD, TXD */
2574 3, 4,
2575 };
2576 static const unsigned int scifb_data_1_mux[] = {
2577 SCIFB_RXD_PORT3_MARK, SCIFB_TXD_PORT4_MARK,
2578 };
2579 static const unsigned int scifb_clk_1_pins[] = {
2580 /* SCK */
2581 2,
2582 };
2583 static const unsigned int scifb_clk_1_mux[] = {
2584 SCIFB_SCK_PORT2_MARK,
2585 };
2586 static const unsigned int scifb_ctrl_1_pins[] = {
2587 /* RTS, CTS */
2588 172, 173,
2589 };
2590 static const unsigned int scifb_ctrl_1_mux[] = {
2591 SCIFB_RTS_PORT172_MARK, SCIFB_CTS_PORT173_MARK,
2592 };
2593 /* - SDHI0 ------------------------------------------------------------------ */
2594 static const unsigned int sdhi0_data1_pins[] = {
2595 /* D0 */
2596 77,
2597 };
2598 static const unsigned int sdhi0_data1_mux[] = {
2599 SDHI0_D0_MARK,
2600 };
2601 static const unsigned int sdhi0_data4_pins[] = {
2602 /* D[0:3] */
2603 77, 78, 79, 80,
2604 };
2605 static const unsigned int sdhi0_data4_mux[] = {
2606 SDHI0_D0_MARK, SDHI0_D1_MARK, SDHI0_D2_MARK, SDHI0_D3_MARK,
2607 };
2608 static const unsigned int sdhi0_ctrl_pins[] = {
2609 /* CMD, CLK */
2610 76, 82,
2611 };
2612 static const unsigned int sdhi0_ctrl_mux[] = {
2613 SDHI0_CMD_MARK, SDHI0_CLK_MARK,
2614 };
2615 static const unsigned int sdhi0_cd_pins[] = {
2616 /* CD */
2617 81,
2618 };
2619 static const unsigned int sdhi0_cd_mux[] = {
2620 SDHI0_CD_MARK,
2621 };
2622 static const unsigned int sdhi0_wp_pins[] = {
2623 /* WP */
2624 83,
2625 };
2626 static const unsigned int sdhi0_wp_mux[] = {
2627 SDHI0_WP_MARK,
2628 };
2629 /* - SDHI1 ------------------------------------------------------------------ */
2630 static const unsigned int sdhi1_data1_pins[] = {
2631 /* D0 */
2632 68,
2633 };
2634 static const unsigned int sdhi1_data1_mux[] = {
2635 SDHI1_D0_MARK,
2636 };
2637 static const unsigned int sdhi1_data4_pins[] = {
2638 /* D[0:3] */
2639 68, 69, 70, 71,
2640 };
2641 static const unsigned int sdhi1_data4_mux[] = {
2642 SDHI1_D0_MARK, SDHI1_D1_MARK, SDHI1_D2_MARK, SDHI1_D3_MARK,
2643 };
2644 static const unsigned int sdhi1_ctrl_pins[] = {
2645 /* CMD, CLK */
2646 67, 66,
2647 };
2648 static const unsigned int sdhi1_ctrl_mux[] = {
2649 SDHI1_CMD_MARK, SDHI1_CLK_MARK,
2650 };
2651 static const unsigned int sdhi1_cd_pins[] = {
2652 /* CD */
2653 72,
2654 };
2655 static const unsigned int sdhi1_cd_mux[] = {
2656 SDHI1_CD_MARK,
2657 };
2658 static const unsigned int sdhi1_wp_pins[] = {
2659 /* WP */
2660 73,
2661 };
2662 static const unsigned int sdhi1_wp_mux[] = {
2663 SDHI1_WP_MARK,
2664 };
2665 /* - SDHI2 ------------------------------------------------------------------ */
2666 static const unsigned int sdhi2_data1_pins[] = {
2667 /* D0 */
2668 205,
2669 };
2670 static const unsigned int sdhi2_data1_mux[] = {
2671 SDHI2_D0_MARK,
2672 };
2673 static const unsigned int sdhi2_data4_pins[] = {
2674 /* D[0:3] */
2675 205, 206, 207, 208,
2676 };
2677 static const unsigned int sdhi2_data4_mux[] = {
2678 SDHI2_D0_MARK, SDHI2_D1_MARK, SDHI2_D2_MARK, SDHI2_D3_MARK,
2679 };
2680 static const unsigned int sdhi2_ctrl_pins[] = {
2681 /* CMD, CLK */
2682 204, 203,
2683 };
2684 static const unsigned int sdhi2_ctrl_mux[] = {
2685 SDHI2_CMD_MARK, SDHI2_CLK_MARK,
2686 };
2687 static const unsigned int sdhi2_cd_0_pins[] = {
2688 /* CD */
2689 202,
2690 };
2691 static const unsigned int sdhi2_cd_0_mux[] = {
2692 SDHI2_CD_PORT202_MARK,
2693 };
2694 static const unsigned int sdhi2_wp_0_pins[] = {
2695 /* WP */
2696 177,
2697 };
2698 static const unsigned int sdhi2_wp_0_mux[] = {
2699 SDHI2_WP_PORT177_MARK,
2700 };
2701 static const unsigned int sdhi2_cd_1_pins[] = {
2702 /* CD */
2703 24,
2704 };
2705 static const unsigned int sdhi2_cd_1_mux[] = {
2706 SDHI2_CD_PORT24_MARK,
2707 };
2708 static const unsigned int sdhi2_wp_1_pins[] = {
2709 /* WP */
2710 25,
2711 };
2712 static const unsigned int sdhi2_wp_1_mux[] = {
2713 SDHI2_WP_PORT25_MARK,
2714 };
2715 /* - TPU0 ------------------------------------------------------------------- */
2716 static const unsigned int tpu0_to0_pins[] = {
2717 /* TO */
2718 23,
2719 };
2720 static const unsigned int tpu0_to0_mux[] = {
2721 TPU0TO0_MARK,
2722 };
2723 static const unsigned int tpu0_to1_pins[] = {
2724 /* TO */
2725 21,
2726 };
2727 static const unsigned int tpu0_to1_mux[] = {
2728 TPU0TO1_MARK,
2729 };
2730 static const unsigned int tpu0_to2_0_pins[] = {
2731 /* TO */
2732 66,
2733 };
2734 static const unsigned int tpu0_to2_0_mux[] = {
2735 TPU0TO2_PORT66_MARK,
2736 };
2737 static const unsigned int tpu0_to2_1_pins[] = {
2738 /* TO */
2739 202,
2740 };
2741 static const unsigned int tpu0_to2_1_mux[] = {
2742 TPU0TO2_PORT202_MARK,
2743 };
2744 static const unsigned int tpu0_to3_pins[] = {
2745 /* TO */
2746 180,
2747 };
2748 static const unsigned int tpu0_to3_mux[] = {
2749 TPU0TO3_MARK,
2750 };
2751
2752 static const struct sh_pfc_pin_group pinmux_groups[] = {
2753 SH_PFC_PIN_GROUP(bsc_data8),
2754 SH_PFC_PIN_GROUP(bsc_data16),
2755 SH_PFC_PIN_GROUP(bsc_data32),
2756 SH_PFC_PIN_GROUP(bsc_cs0),
2757 SH_PFC_PIN_GROUP(bsc_cs2),
2758 SH_PFC_PIN_GROUP(bsc_cs4),
2759 SH_PFC_PIN_GROUP(bsc_cs5a_0),
2760 SH_PFC_PIN_GROUP(bsc_cs5a_1),
2761 SH_PFC_PIN_GROUP(bsc_cs5b),
2762 SH_PFC_PIN_GROUP(bsc_cs6a),
2763 SH_PFC_PIN_GROUP(bsc_rd_we8),
2764 SH_PFC_PIN_GROUP(bsc_rd_we16),
2765 SH_PFC_PIN_GROUP(bsc_rd_we32),
2766 SH_PFC_PIN_GROUP(bsc_bs),
2767 SH_PFC_PIN_GROUP(bsc_rdwr),
2768 SH_PFC_PIN_GROUP(ceu0_data_0_7),
2769 SH_PFC_PIN_GROUP(ceu0_data_8_15_0),
2770 SH_PFC_PIN_GROUP(ceu0_data_8_15_1),
2771 SH_PFC_PIN_GROUP(ceu0_clk_0),
2772 SH_PFC_PIN_GROUP(ceu0_clk_1),
2773 SH_PFC_PIN_GROUP(ceu0_clk_2),
2774 SH_PFC_PIN_GROUP(ceu0_sync),
2775 SH_PFC_PIN_GROUP(ceu0_field),
2776 SH_PFC_PIN_GROUP(ceu1_data),
2777 SH_PFC_PIN_GROUP(ceu1_clk),
2778 SH_PFC_PIN_GROUP(ceu1_sync),
2779 SH_PFC_PIN_GROUP(ceu1_field),
2780 SH_PFC_PIN_GROUP(fsia_mclk_in),
2781 SH_PFC_PIN_GROUP(fsia_mclk_out),
2782 SH_PFC_PIN_GROUP(fsia_sclk_in),
2783 SH_PFC_PIN_GROUP(fsia_sclk_out),
2784 SH_PFC_PIN_GROUP(fsia_data_in_0),
2785 SH_PFC_PIN_GROUP(fsia_data_in_1),
2786 SH_PFC_PIN_GROUP(fsia_data_out_0),
2787 SH_PFC_PIN_GROUP(fsia_data_out_1),
2788 SH_PFC_PIN_GROUP(fsia_data_out_2),
2789 SH_PFC_PIN_GROUP(fsia_spdif_0),
2790 SH_PFC_PIN_GROUP(fsia_spdif_1),
2791 SH_PFC_PIN_GROUP(fsib_mclk_in),
2792 SH_PFC_PIN_GROUP(gether_rmii),
2793 SH_PFC_PIN_GROUP(gether_mii),
2794 SH_PFC_PIN_GROUP(gether_gmii),
2795 SH_PFC_PIN_GROUP(gether_int),
2796 SH_PFC_PIN_GROUP(gether_link),
2797 SH_PFC_PIN_GROUP(gether_wol),
2798 SH_PFC_PIN_GROUP(hdmi),
2799 SH_PFC_PIN_GROUP(intc_irq0_0),
2800 SH_PFC_PIN_GROUP(intc_irq0_1),
2801 SH_PFC_PIN_GROUP(intc_irq1),
2802 SH_PFC_PIN_GROUP(intc_irq2_0),
2803 SH_PFC_PIN_GROUP(intc_irq2_1),
2804 SH_PFC_PIN_GROUP(intc_irq3_0),
2805 SH_PFC_PIN_GROUP(intc_irq3_1),
2806 SH_PFC_PIN_GROUP(intc_irq4_0),
2807 SH_PFC_PIN_GROUP(intc_irq4_1),
2808 SH_PFC_PIN_GROUP(intc_irq5_0),
2809 SH_PFC_PIN_GROUP(intc_irq5_1),
2810 SH_PFC_PIN_GROUP(intc_irq6_0),
2811 SH_PFC_PIN_GROUP(intc_irq6_1),
2812 SH_PFC_PIN_GROUP(intc_irq7_0),
2813 SH_PFC_PIN_GROUP(intc_irq7_1),
2814 SH_PFC_PIN_GROUP(intc_irq8),
2815 SH_PFC_PIN_GROUP(intc_irq9_0),
2816 SH_PFC_PIN_GROUP(intc_irq9_1),
2817 SH_PFC_PIN_GROUP(intc_irq10),
2818 SH_PFC_PIN_GROUP(intc_irq11),
2819 SH_PFC_PIN_GROUP(intc_irq12_0),
2820 SH_PFC_PIN_GROUP(intc_irq12_1),
2821 SH_PFC_PIN_GROUP(intc_irq13_0),
2822 SH_PFC_PIN_GROUP(intc_irq13_1),
2823 SH_PFC_PIN_GROUP(intc_irq14_0),
2824 SH_PFC_PIN_GROUP(intc_irq14_1),
2825 SH_PFC_PIN_GROUP(intc_irq15_0),
2826 SH_PFC_PIN_GROUP(intc_irq15_1),
2827 SH_PFC_PIN_GROUP(intc_irq16_0),
2828 SH_PFC_PIN_GROUP(intc_irq16_1),
2829 SH_PFC_PIN_GROUP(intc_irq17),
2830 SH_PFC_PIN_GROUP(intc_irq18),
2831 SH_PFC_PIN_GROUP(intc_irq19),
2832 SH_PFC_PIN_GROUP(intc_irq20),
2833 SH_PFC_PIN_GROUP(intc_irq21),
2834 SH_PFC_PIN_GROUP(intc_irq22),
2835 SH_PFC_PIN_GROUP(intc_irq23),
2836 SH_PFC_PIN_GROUP(intc_irq24),
2837 SH_PFC_PIN_GROUP(intc_irq25),
2838 SH_PFC_PIN_GROUP(intc_irq26_0),
2839 SH_PFC_PIN_GROUP(intc_irq26_1),
2840 SH_PFC_PIN_GROUP(intc_irq27_0),
2841 SH_PFC_PIN_GROUP(intc_irq27_1),
2842 SH_PFC_PIN_GROUP(intc_irq28_0),
2843 SH_PFC_PIN_GROUP(intc_irq28_1),
2844 SH_PFC_PIN_GROUP(intc_irq29_0),
2845 SH_PFC_PIN_GROUP(intc_irq29_1),
2846 SH_PFC_PIN_GROUP(intc_irq30_0),
2847 SH_PFC_PIN_GROUP(intc_irq30_1),
2848 SH_PFC_PIN_GROUP(intc_irq31_0),
2849 SH_PFC_PIN_GROUP(intc_irq31_1),
2850 SH_PFC_PIN_GROUP(lcd0_data8),
2851 SH_PFC_PIN_GROUP(lcd0_data9),
2852 SH_PFC_PIN_GROUP(lcd0_data12),
2853 SH_PFC_PIN_GROUP(lcd0_data16),
2854 SH_PFC_PIN_GROUP(lcd0_data18),
2855 SH_PFC_PIN_GROUP(lcd0_data24_0),
2856 SH_PFC_PIN_GROUP(lcd0_data24_1),
2857 SH_PFC_PIN_GROUP(lcd0_display),
2858 SH_PFC_PIN_GROUP(lcd0_lclk_0),
2859 SH_PFC_PIN_GROUP(lcd0_lclk_1),
2860 SH_PFC_PIN_GROUP(lcd0_sync),
2861 SH_PFC_PIN_GROUP(lcd0_sys),
2862 SH_PFC_PIN_GROUP(lcd1_data8),
2863 SH_PFC_PIN_GROUP(lcd1_data9),
2864 SH_PFC_PIN_GROUP(lcd1_data12),
2865 SH_PFC_PIN_GROUP(lcd1_data16),
2866 SH_PFC_PIN_GROUP(lcd1_data18),
2867 SH_PFC_PIN_GROUP(lcd1_data24),
2868 SH_PFC_PIN_GROUP(lcd1_display),
2869 SH_PFC_PIN_GROUP(lcd1_lclk),
2870 SH_PFC_PIN_GROUP(lcd1_sync),
2871 SH_PFC_PIN_GROUP(lcd1_sys),
2872 SH_PFC_PIN_GROUP(mmc0_data1_0),
2873 SH_PFC_PIN_GROUP(mmc0_data4_0),
2874 SH_PFC_PIN_GROUP(mmc0_data8_0),
2875 SH_PFC_PIN_GROUP(mmc0_ctrl_0),
2876 SH_PFC_PIN_GROUP(mmc0_data1_1),
2877 SH_PFC_PIN_GROUP(mmc0_data4_1),
2878 SH_PFC_PIN_GROUP(mmc0_data8_1),
2879 SH_PFC_PIN_GROUP(mmc0_ctrl_1),
2880 SH_PFC_PIN_GROUP(scifa0_data),
2881 SH_PFC_PIN_GROUP(scifa0_clk),
2882 SH_PFC_PIN_GROUP(scifa0_ctrl),
2883 SH_PFC_PIN_GROUP(scifa1_data),
2884 SH_PFC_PIN_GROUP(scifa1_clk),
2885 SH_PFC_PIN_GROUP(scifa1_ctrl),
2886 SH_PFC_PIN_GROUP(scifa2_data),
2887 SH_PFC_PIN_GROUP(scifa2_clk_0),
2888 SH_PFC_PIN_GROUP(scifa2_clk_1),
2889 SH_PFC_PIN_GROUP(scifa2_ctrl),
2890 SH_PFC_PIN_GROUP(scifa3_data_0),
2891 SH_PFC_PIN_GROUP(scifa3_clk_0),
2892 SH_PFC_PIN_GROUP(scifa3_ctrl_0),
2893 SH_PFC_PIN_GROUP(scifa3_data_1),
2894 SH_PFC_PIN_GROUP(scifa3_clk_1),
2895 SH_PFC_PIN_GROUP(scifa3_ctrl_1),
2896 SH_PFC_PIN_GROUP(scifa4_data_0),
2897 SH_PFC_PIN_GROUP(scifa4_data_1),
2898 SH_PFC_PIN_GROUP(scifa4_data_2),
2899 SH_PFC_PIN_GROUP(scifa4_clk_0),
2900 SH_PFC_PIN_GROUP(scifa4_clk_1),
2901 SH_PFC_PIN_GROUP(scifa5_data_0),
2902 SH_PFC_PIN_GROUP(scifa5_data_1),
2903 SH_PFC_PIN_GROUP(scifa5_data_2),
2904 SH_PFC_PIN_GROUP(scifa5_clk_0),
2905 SH_PFC_PIN_GROUP(scifa5_clk_1),
2906 SH_PFC_PIN_GROUP(scifa6_data),
2907 SH_PFC_PIN_GROUP(scifa6_clk),
2908 SH_PFC_PIN_GROUP(scifa7_data),
2909 SH_PFC_PIN_GROUP(scifb_data_0),
2910 SH_PFC_PIN_GROUP(scifb_clk_0),
2911 SH_PFC_PIN_GROUP(scifb_ctrl_0),
2912 SH_PFC_PIN_GROUP(scifb_data_1),
2913 SH_PFC_PIN_GROUP(scifb_clk_1),
2914 SH_PFC_PIN_GROUP(scifb_ctrl_1),
2915 SH_PFC_PIN_GROUP(sdhi0_data1),
2916 SH_PFC_PIN_GROUP(sdhi0_data4),
2917 SH_PFC_PIN_GROUP(sdhi0_ctrl),
2918 SH_PFC_PIN_GROUP(sdhi0_cd),
2919 SH_PFC_PIN_GROUP(sdhi0_wp),
2920 SH_PFC_PIN_GROUP(sdhi1_data1),
2921 SH_PFC_PIN_GROUP(sdhi1_data4),
2922 SH_PFC_PIN_GROUP(sdhi1_ctrl),
2923 SH_PFC_PIN_GROUP(sdhi1_cd),
2924 SH_PFC_PIN_GROUP(sdhi1_wp),
2925 SH_PFC_PIN_GROUP(sdhi2_data1),
2926 SH_PFC_PIN_GROUP(sdhi2_data4),
2927 SH_PFC_PIN_GROUP(sdhi2_ctrl),
2928 SH_PFC_PIN_GROUP(sdhi2_cd_0),
2929 SH_PFC_PIN_GROUP(sdhi2_wp_0),
2930 SH_PFC_PIN_GROUP(sdhi2_cd_1),
2931 SH_PFC_PIN_GROUP(sdhi2_wp_1),
2932 SH_PFC_PIN_GROUP(tpu0_to0),
2933 SH_PFC_PIN_GROUP(tpu0_to1),
2934 SH_PFC_PIN_GROUP(tpu0_to2_0),
2935 SH_PFC_PIN_GROUP(tpu0_to2_1),
2936 SH_PFC_PIN_GROUP(tpu0_to3),
2937 };
2938
2939 static const char * const bsc_groups[] = {
2940 "bsc_data8",
2941 "bsc_data16",
2942 "bsc_data32",
2943 "bsc_cs0",
2944 "bsc_cs2",
2945 "bsc_cs4",
2946 "bsc_cs5a_0",
2947 "bsc_cs5a_1",
2948 "bsc_cs5b",
2949 "bsc_cs6a",
2950 "bsc_rd_we8",
2951 "bsc_rd_we16",
2952 "bsc_rd_we32",
2953 "bsc_bs",
2954 "bsc_rdwr",
2955 };
2956
2957 static const char * const ceu0_groups[] = {
2958 "ceu0_data_0_7",
2959 "ceu0_data_8_15_0",
2960 "ceu0_data_8_15_1",
2961 "ceu0_clk_0",
2962 "ceu0_clk_1",
2963 "ceu0_clk_2",
2964 "ceu0_sync",
2965 "ceu0_field",
2966 };
2967
2968 static const char * const ceu1_groups[] = {
2969 "ceu1_data",
2970 "ceu1_clk",
2971 "ceu1_sync",
2972 "ceu1_field",
2973 };
2974
2975 static const char * const fsia_groups[] = {
2976 "fsia_mclk_in",
2977 "fsia_mclk_out",
2978 "fsia_sclk_in",
2979 "fsia_sclk_out",
2980 "fsia_data_in_0",
2981 "fsia_data_in_1",
2982 "fsia_data_out_0",
2983 "fsia_data_out_1",
2984 "fsia_data_out_2",
2985 "fsia_spdif_0",
2986 "fsia_spdif_1",
2987 };
2988
2989 static const char * const fsib_groups[] = {
2990 "fsib_mclk_in",
2991 };
2992
2993 static const char * const gether_groups[] = {
2994 "gether_rmii",
2995 "gether_mii",
2996 "gether_gmii",
2997 "gether_int",
2998 "gether_link",
2999 "gether_wol",
3000 };
3001
3002 static const char * const hdmi_groups[] = {
3003 "hdmi",
3004 };
3005
3006 static const char * const intc_groups[] = {
3007 "intc_irq0_0",
3008 "intc_irq0_1",
3009 "intc_irq1",
3010 "intc_irq2_0",
3011 "intc_irq2_1",
3012 "intc_irq3_0",
3013 "intc_irq3_1",
3014 "intc_irq4_0",
3015 "intc_irq4_1",
3016 "intc_irq5_0",
3017 "intc_irq5_1",
3018 "intc_irq6_0",
3019 "intc_irq6_1",
3020 "intc_irq7_0",
3021 "intc_irq7_1",
3022 "intc_irq8",
3023 "intc_irq9_0",
3024 "intc_irq9_1",
3025 "intc_irq10",
3026 "intc_irq11",
3027 "intc_irq12_0",
3028 "intc_irq12_1",
3029 "intc_irq13_0",
3030 "intc_irq13_1",
3031 "intc_irq14_0",
3032 "intc_irq14_1",
3033 "intc_irq15_0",
3034 "intc_irq15_1",
3035 "intc_irq16_0",
3036 "intc_irq16_1",
3037 "intc_irq17",
3038 "intc_irq18",
3039 "intc_irq19",
3040 "intc_irq20",
3041 "intc_irq21",
3042 "intc_irq22",
3043 "intc_irq23",
3044 "intc_irq24",
3045 "intc_irq25",
3046 "intc_irq26_0",
3047 "intc_irq26_1",
3048 "intc_irq27_0",
3049 "intc_irq27_1",
3050 "intc_irq28_0",
3051 "intc_irq28_1",
3052 "intc_irq29_0",
3053 "intc_irq29_1",
3054 "intc_irq30_0",
3055 "intc_irq30_1",
3056 "intc_irq31_0",
3057 "intc_irq31_1",
3058 };
3059
3060 static const char * const lcd0_groups[] = {
3061 "lcd0_data8",
3062 "lcd0_data9",
3063 "lcd0_data12",
3064 "lcd0_data16",
3065 "lcd0_data18",
3066 "lcd0_data24_0",
3067 "lcd0_data24_1",
3068 "lcd0_display",
3069 "lcd0_lclk_0",
3070 "lcd0_lclk_1",
3071 "lcd0_sync",
3072 "lcd0_sys",
3073 };
3074
3075 static const char * const lcd1_groups[] = {
3076 "lcd1_data8",
3077 "lcd1_data9",
3078 "lcd1_data12",
3079 "lcd1_data16",
3080 "lcd1_data18",
3081 "lcd1_data24",
3082 "lcd1_display",
3083 "lcd1_lclk",
3084 "lcd1_sync",
3085 "lcd1_sys",
3086 };
3087
3088 static const char * const mmc0_groups[] = {
3089 "mmc0_data1_0",
3090 "mmc0_data4_0",
3091 "mmc0_data8_0",
3092 "mmc0_ctrl_0",
3093 "mmc0_data1_1",
3094 "mmc0_data4_1",
3095 "mmc0_data8_1",
3096 "mmc0_ctrl_1",
3097 };
3098
3099 static const char * const scifa0_groups[] = {
3100 "scifa0_data",
3101 "scifa0_clk",
3102 "scifa0_ctrl",
3103 };
3104
3105 static const char * const scifa1_groups[] = {
3106 "scifa1_data",
3107 "scifa1_clk",
3108 "scifa1_ctrl",
3109 };
3110
3111 static const char * const scifa2_groups[] = {
3112 "scifa2_data",
3113 "scifa2_clk_0",
3114 "scifa2_clk_1",
3115 "scifa2_ctrl",
3116 };
3117
3118 static const char * const scifa3_groups[] = {
3119 "scifa3_data_0",
3120 "scifa3_clk_0",
3121 "scifa3_ctrl_0",
3122 "scifa3_data_1",
3123 "scifa3_clk_1",
3124 "scifa3_ctrl_1",
3125 };
3126
3127 static const char * const scifa4_groups[] = {
3128 "scifa4_data_0",
3129 "scifa4_data_1",
3130 "scifa4_data_2",
3131 "scifa4_clk_0",
3132 "scifa4_clk_1",
3133 };
3134
3135 static const char * const scifa5_groups[] = {
3136 "scifa5_data_0",
3137 "scifa5_data_1",
3138 "scifa5_data_2",
3139 "scifa5_clk_0",
3140 "scifa5_clk_1",
3141 };
3142
3143 static const char * const scifa6_groups[] = {
3144 "scifa6_data",
3145 "scifa6_clk",
3146 };
3147
3148 static const char * const scifa7_groups[] = {
3149 "scifa7_data",
3150 };
3151
3152 static const char * const scifb_groups[] = {
3153 "scifb_data_0",
3154 "scifb_clk_0",
3155 "scifb_ctrl_0",
3156 "scifb_data_1",
3157 "scifb_clk_1",
3158 "scifb_ctrl_1",
3159 };
3160
3161 static const char * const sdhi0_groups[] = {
3162 "sdhi0_data1",
3163 "sdhi0_data4",
3164 "sdhi0_ctrl",
3165 "sdhi0_cd",
3166 "sdhi0_wp",
3167 };
3168
3169 static const char * const sdhi1_groups[] = {
3170 "sdhi1_data1",
3171 "sdhi1_data4",
3172 "sdhi1_ctrl",
3173 "sdhi1_cd",
3174 "sdhi1_wp",
3175 };
3176
3177 static const char * const sdhi2_groups[] = {
3178 "sdhi2_data1",
3179 "sdhi2_data4",
3180 "sdhi2_ctrl",
3181 "sdhi2_cd_0",
3182 "sdhi2_wp_0",
3183 "sdhi2_cd_1",
3184 "sdhi2_wp_1",
3185 };
3186
3187 static const char * const tpu0_groups[] = {
3188 "tpu0_to0",
3189 "tpu0_to1",
3190 "tpu0_to2_0",
3191 "tpu0_to2_1",
3192 "tpu0_to3",
3193 };
3194
3195 static const struct sh_pfc_function pinmux_functions[] = {
3196 SH_PFC_FUNCTION(bsc),
3197 SH_PFC_FUNCTION(ceu0),
3198 SH_PFC_FUNCTION(ceu1),
3199 SH_PFC_FUNCTION(fsia),
3200 SH_PFC_FUNCTION(fsib),
3201 SH_PFC_FUNCTION(gether),
3202 SH_PFC_FUNCTION(hdmi),
3203 SH_PFC_FUNCTION(intc),
3204 SH_PFC_FUNCTION(lcd0),
3205 SH_PFC_FUNCTION(lcd1),
3206 SH_PFC_FUNCTION(mmc0),
3207 SH_PFC_FUNCTION(scifa0),
3208 SH_PFC_FUNCTION(scifa1),
3209 SH_PFC_FUNCTION(scifa2),
3210 SH_PFC_FUNCTION(scifa3),
3211 SH_PFC_FUNCTION(scifa4),
3212 SH_PFC_FUNCTION(scifa5),
3213 SH_PFC_FUNCTION(scifa6),
3214 SH_PFC_FUNCTION(scifa7),
3215 SH_PFC_FUNCTION(scifb),
3216 SH_PFC_FUNCTION(sdhi0),
3217 SH_PFC_FUNCTION(sdhi1),
3218 SH_PFC_FUNCTION(sdhi2),
3219 SH_PFC_FUNCTION(tpu0),
3220 };
3221
3222 static const struct pinmux_cfg_reg pinmux_config_regs[] = {
3223 PORTCR(0, 0xe6050000), /* PORT0CR */
3224 PORTCR(1, 0xe6050001), /* PORT1CR */
3225 PORTCR(2, 0xe6050002), /* PORT2CR */
3226 PORTCR(3, 0xe6050003), /* PORT3CR */
3227 PORTCR(4, 0xe6050004), /* PORT4CR */
3228 PORTCR(5, 0xe6050005), /* PORT5CR */
3229 PORTCR(6, 0xe6050006), /* PORT6CR */
3230 PORTCR(7, 0xe6050007), /* PORT7CR */
3231 PORTCR(8, 0xe6050008), /* PORT8CR */
3232 PORTCR(9, 0xe6050009), /* PORT9CR */
3233 PORTCR(10, 0xe605000a), /* PORT10CR */
3234 PORTCR(11, 0xe605000b), /* PORT11CR */
3235 PORTCR(12, 0xe605000c), /* PORT12CR */
3236 PORTCR(13, 0xe605000d), /* PORT13CR */
3237 PORTCR(14, 0xe605000e), /* PORT14CR */
3238 PORTCR(15, 0xe605000f), /* PORT15CR */
3239 PORTCR(16, 0xe6050010), /* PORT16CR */
3240 PORTCR(17, 0xe6050011), /* PORT17CR */
3241 PORTCR(18, 0xe6050012), /* PORT18CR */
3242 PORTCR(19, 0xe6050013), /* PORT19CR */
3243 PORTCR(20, 0xe6050014), /* PORT20CR */
3244 PORTCR(21, 0xe6050015), /* PORT21CR */
3245 PORTCR(22, 0xe6050016), /* PORT22CR */
3246 PORTCR(23, 0xe6050017), /* PORT23CR */
3247 PORTCR(24, 0xe6050018), /* PORT24CR */
3248 PORTCR(25, 0xe6050019), /* PORT25CR */
3249 PORTCR(26, 0xe605001a), /* PORT26CR */
3250 PORTCR(27, 0xe605001b), /* PORT27CR */
3251 PORTCR(28, 0xe605001c), /* PORT28CR */
3252 PORTCR(29, 0xe605001d), /* PORT29CR */
3253 PORTCR(30, 0xe605001e), /* PORT30CR */
3254 PORTCR(31, 0xe605001f), /* PORT31CR */
3255 PORTCR(32, 0xe6050020), /* PORT32CR */
3256 PORTCR(33, 0xe6050021), /* PORT33CR */
3257 PORTCR(34, 0xe6050022), /* PORT34CR */
3258 PORTCR(35, 0xe6050023), /* PORT35CR */
3259 PORTCR(36, 0xe6050024), /* PORT36CR */
3260 PORTCR(37, 0xe6050025), /* PORT37CR */
3261 PORTCR(38, 0xe6050026), /* PORT38CR */
3262 PORTCR(39, 0xe6050027), /* PORT39CR */
3263 PORTCR(40, 0xe6050028), /* PORT40CR */
3264 PORTCR(41, 0xe6050029), /* PORT41CR */
3265 PORTCR(42, 0xe605002a), /* PORT42CR */
3266 PORTCR(43, 0xe605002b), /* PORT43CR */
3267 PORTCR(44, 0xe605002c), /* PORT44CR */
3268 PORTCR(45, 0xe605002d), /* PORT45CR */
3269 PORTCR(46, 0xe605002e), /* PORT46CR */
3270 PORTCR(47, 0xe605002f), /* PORT47CR */
3271 PORTCR(48, 0xe6050030), /* PORT48CR */
3272 PORTCR(49, 0xe6050031), /* PORT49CR */
3273 PORTCR(50, 0xe6050032), /* PORT50CR */
3274 PORTCR(51, 0xe6050033), /* PORT51CR */
3275 PORTCR(52, 0xe6050034), /* PORT52CR */
3276 PORTCR(53, 0xe6050035), /* PORT53CR */
3277 PORTCR(54, 0xe6050036), /* PORT54CR */
3278 PORTCR(55, 0xe6050037), /* PORT55CR */
3279 PORTCR(56, 0xe6050038), /* PORT56CR */
3280 PORTCR(57, 0xe6050039), /* PORT57CR */
3281 PORTCR(58, 0xe605003a), /* PORT58CR */
3282 PORTCR(59, 0xe605003b), /* PORT59CR */
3283 PORTCR(60, 0xe605003c), /* PORT60CR */
3284 PORTCR(61, 0xe605003d), /* PORT61CR */
3285 PORTCR(62, 0xe605003e), /* PORT62CR */
3286 PORTCR(63, 0xe605003f), /* PORT63CR */
3287 PORTCR(64, 0xe6050040), /* PORT64CR */
3288 PORTCR(65, 0xe6050041), /* PORT65CR */
3289 PORTCR(66, 0xe6050042), /* PORT66CR */
3290 PORTCR(67, 0xe6050043), /* PORT67CR */
3291 PORTCR(68, 0xe6050044), /* PORT68CR */
3292 PORTCR(69, 0xe6050045), /* PORT69CR */
3293 PORTCR(70, 0xe6050046), /* PORT70CR */
3294 PORTCR(71, 0xe6050047), /* PORT71CR */
3295 PORTCR(72, 0xe6050048), /* PORT72CR */
3296 PORTCR(73, 0xe6050049), /* PORT73CR */
3297 PORTCR(74, 0xe605004a), /* PORT74CR */
3298 PORTCR(75, 0xe605004b), /* PORT75CR */
3299 PORTCR(76, 0xe605004c), /* PORT76CR */
3300 PORTCR(77, 0xe605004d), /* PORT77CR */
3301 PORTCR(78, 0xe605004e), /* PORT78CR */
3302 PORTCR(79, 0xe605004f), /* PORT79CR */
3303 PORTCR(80, 0xe6050050), /* PORT80CR */
3304 PORTCR(81, 0xe6050051), /* PORT81CR */
3305 PORTCR(82, 0xe6050052), /* PORT82CR */
3306 PORTCR(83, 0xe6050053), /* PORT83CR */
3307
3308 PORTCR(84, 0xe6051054), /* PORT84CR */
3309 PORTCR(85, 0xe6051055), /* PORT85CR */
3310 PORTCR(86, 0xe6051056), /* PORT86CR */
3311 PORTCR(87, 0xe6051057), /* PORT87CR */
3312 PORTCR(88, 0xe6051058), /* PORT88CR */
3313 PORTCR(89, 0xe6051059), /* PORT89CR */
3314 PORTCR(90, 0xe605105a), /* PORT90CR */
3315 PORTCR(91, 0xe605105b), /* PORT91CR */
3316 PORTCR(92, 0xe605105c), /* PORT92CR */
3317 PORTCR(93, 0xe605105d), /* PORT93CR */
3318 PORTCR(94, 0xe605105e), /* PORT94CR */
3319 PORTCR(95, 0xe605105f), /* PORT95CR */
3320 PORTCR(96, 0xe6051060), /* PORT96CR */
3321 PORTCR(97, 0xe6051061), /* PORT97CR */
3322 PORTCR(98, 0xe6051062), /* PORT98CR */
3323 PORTCR(99, 0xe6051063), /* PORT99CR */
3324 PORTCR(100, 0xe6051064), /* PORT100CR */
3325 PORTCR(101, 0xe6051065), /* PORT101CR */
3326 PORTCR(102, 0xe6051066), /* PORT102CR */
3327 PORTCR(103, 0xe6051067), /* PORT103CR */
3328 PORTCR(104, 0xe6051068), /* PORT104CR */
3329 PORTCR(105, 0xe6051069), /* PORT105CR */
3330 PORTCR(106, 0xe605106a), /* PORT106CR */
3331 PORTCR(107, 0xe605106b), /* PORT107CR */
3332 PORTCR(108, 0xe605106c), /* PORT108CR */
3333 PORTCR(109, 0xe605106d), /* PORT109CR */
3334 PORTCR(110, 0xe605106e), /* PORT110CR */
3335 PORTCR(111, 0xe605106f), /* PORT111CR */
3336 PORTCR(112, 0xe6051070), /* PORT112CR */
3337 PORTCR(113, 0xe6051071), /* PORT113CR */
3338 PORTCR(114, 0xe6051072), /* PORT114CR */
3339
3340 PORTCR(115, 0xe6052073), /* PORT115CR */
3341 PORTCR(116, 0xe6052074), /* PORT116CR */
3342 PORTCR(117, 0xe6052075), /* PORT117CR */
3343 PORTCR(118, 0xe6052076), /* PORT118CR */
3344 PORTCR(119, 0xe6052077), /* PORT119CR */
3345 PORTCR(120, 0xe6052078), /* PORT120CR */
3346 PORTCR(121, 0xe6052079), /* PORT121CR */
3347 PORTCR(122, 0xe605207a), /* PORT122CR */
3348 PORTCR(123, 0xe605207b), /* PORT123CR */
3349 PORTCR(124, 0xe605207c), /* PORT124CR */
3350 PORTCR(125, 0xe605207d), /* PORT125CR */
3351 PORTCR(126, 0xe605207e), /* PORT126CR */
3352 PORTCR(127, 0xe605207f), /* PORT127CR */
3353 PORTCR(128, 0xe6052080), /* PORT128CR */
3354 PORTCR(129, 0xe6052081), /* PORT129CR */
3355 PORTCR(130, 0xe6052082), /* PORT130CR */
3356 PORTCR(131, 0xe6052083), /* PORT131CR */
3357 PORTCR(132, 0xe6052084), /* PORT132CR */
3358 PORTCR(133, 0xe6052085), /* PORT133CR */
3359 PORTCR(134, 0xe6052086), /* PORT134CR */
3360 PORTCR(135, 0xe6052087), /* PORT135CR */
3361 PORTCR(136, 0xe6052088), /* PORT136CR */
3362 PORTCR(137, 0xe6052089), /* PORT137CR */
3363 PORTCR(138, 0xe605208a), /* PORT138CR */
3364 PORTCR(139, 0xe605208b), /* PORT139CR */
3365 PORTCR(140, 0xe605208c), /* PORT140CR */
3366 PORTCR(141, 0xe605208d), /* PORT141CR */
3367 PORTCR(142, 0xe605208e), /* PORT142CR */
3368 PORTCR(143, 0xe605208f), /* PORT143CR */
3369 PORTCR(144, 0xe6052090), /* PORT144CR */
3370 PORTCR(145, 0xe6052091), /* PORT145CR */
3371 PORTCR(146, 0xe6052092), /* PORT146CR */
3372 PORTCR(147, 0xe6052093), /* PORT147CR */
3373 PORTCR(148, 0xe6052094), /* PORT148CR */
3374 PORTCR(149, 0xe6052095), /* PORT149CR */
3375 PORTCR(150, 0xe6052096), /* PORT150CR */
3376 PORTCR(151, 0xe6052097), /* PORT151CR */
3377 PORTCR(152, 0xe6052098), /* PORT152CR */
3378 PORTCR(153, 0xe6052099), /* PORT153CR */
3379 PORTCR(154, 0xe605209a), /* PORT154CR */
3380 PORTCR(155, 0xe605209b), /* PORT155CR */
3381 PORTCR(156, 0xe605209c), /* PORT156CR */
3382 PORTCR(157, 0xe605209d), /* PORT157CR */
3383 PORTCR(158, 0xe605209e), /* PORT158CR */
3384 PORTCR(159, 0xe605209f), /* PORT159CR */
3385 PORTCR(160, 0xe60520a0), /* PORT160CR */
3386 PORTCR(161, 0xe60520a1), /* PORT161CR */
3387 PORTCR(162, 0xe60520a2), /* PORT162CR */
3388 PORTCR(163, 0xe60520a3), /* PORT163CR */
3389 PORTCR(164, 0xe60520a4), /* PORT164CR */
3390 PORTCR(165, 0xe60520a5), /* PORT165CR */
3391 PORTCR(166, 0xe60520a6), /* PORT166CR */
3392 PORTCR(167, 0xe60520a7), /* PORT167CR */
3393 PORTCR(168, 0xe60520a8), /* PORT168CR */
3394 PORTCR(169, 0xe60520a9), /* PORT169CR */
3395 PORTCR(170, 0xe60520aa), /* PORT170CR */
3396 PORTCR(171, 0xe60520ab), /* PORT171CR */
3397 PORTCR(172, 0xe60520ac), /* PORT172CR */
3398 PORTCR(173, 0xe60520ad), /* PORT173CR */
3399 PORTCR(174, 0xe60520ae), /* PORT174CR */
3400 PORTCR(175, 0xe60520af), /* PORT175CR */
3401 PORTCR(176, 0xe60520b0), /* PORT176CR */
3402 PORTCR(177, 0xe60520b1), /* PORT177CR */
3403 PORTCR(178, 0xe60520b2), /* PORT178CR */
3404 PORTCR(179, 0xe60520b3), /* PORT179CR */
3405 PORTCR(180, 0xe60520b4), /* PORT180CR */
3406 PORTCR(181, 0xe60520b5), /* PORT181CR */
3407 PORTCR(182, 0xe60520b6), /* PORT182CR */
3408 PORTCR(183, 0xe60520b7), /* PORT183CR */
3409 PORTCR(184, 0xe60520b8), /* PORT184CR */
3410 PORTCR(185, 0xe60520b9), /* PORT185CR */
3411 PORTCR(186, 0xe60520ba), /* PORT186CR */
3412 PORTCR(187, 0xe60520bb), /* PORT187CR */
3413 PORTCR(188, 0xe60520bc), /* PORT188CR */
3414 PORTCR(189, 0xe60520bd), /* PORT189CR */
3415 PORTCR(190, 0xe60520be), /* PORT190CR */
3416 PORTCR(191, 0xe60520bf), /* PORT191CR */
3417 PORTCR(192, 0xe60520c0), /* PORT192CR */
3418 PORTCR(193, 0xe60520c1), /* PORT193CR */
3419 PORTCR(194, 0xe60520c2), /* PORT194CR */
3420 PORTCR(195, 0xe60520c3), /* PORT195CR */
3421 PORTCR(196, 0xe60520c4), /* PORT196CR */
3422 PORTCR(197, 0xe60520c5), /* PORT197CR */
3423 PORTCR(198, 0xe60520c6), /* PORT198CR */
3424 PORTCR(199, 0xe60520c7), /* PORT199CR */
3425 PORTCR(200, 0xe60520c8), /* PORT200CR */
3426 PORTCR(201, 0xe60520c9), /* PORT201CR */
3427 PORTCR(202, 0xe60520ca), /* PORT202CR */
3428 PORTCR(203, 0xe60520cb), /* PORT203CR */
3429 PORTCR(204, 0xe60520cc), /* PORT204CR */
3430 PORTCR(205, 0xe60520cd), /* PORT205CR */
3431 PORTCR(206, 0xe60520ce), /* PORT206CR */
3432 PORTCR(207, 0xe60520cf), /* PORT207CR */
3433 PORTCR(208, 0xe60520d0), /* PORT208CR */
3434 PORTCR(209, 0xe60520d1), /* PORT209CR */
3435
3436 PORTCR(210, 0xe60530d2), /* PORT210CR */
3437 PORTCR(211, 0xe60530d3), /* PORT211CR */
3438
3439 { PINMUX_CFG_REG("MSEL1CR", 0xe605800c, 32, 1, GROUP(
3440 MSEL1CR_31_0, MSEL1CR_31_1,
3441 MSEL1CR_30_0, MSEL1CR_30_1,
3442 MSEL1CR_29_0, MSEL1CR_29_1,
3443 MSEL1CR_28_0, MSEL1CR_28_1,
3444 MSEL1CR_27_0, MSEL1CR_27_1,
3445 MSEL1CR_26_0, MSEL1CR_26_1,
3446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3447 0, 0, 0, 0, 0, 0, 0, 0,
3448 MSEL1CR_16_0, MSEL1CR_16_1,
3449 MSEL1CR_15_0, MSEL1CR_15_1,
3450 MSEL1CR_14_0, MSEL1CR_14_1,
3451 MSEL1CR_13_0, MSEL1CR_13_1,
3452 MSEL1CR_12_0, MSEL1CR_12_1,
3453 0, 0, 0, 0,
3454 MSEL1CR_9_0, MSEL1CR_9_1,
3455 0, 0,
3456 MSEL1CR_7_0, MSEL1CR_7_1,
3457 MSEL1CR_6_0, MSEL1CR_6_1,
3458 MSEL1CR_5_0, MSEL1CR_5_1,
3459 MSEL1CR_4_0, MSEL1CR_4_1,
3460 MSEL1CR_3_0, MSEL1CR_3_1,
3461 MSEL1CR_2_0, MSEL1CR_2_1,
3462 0, 0,
3463 MSEL1CR_0_0, MSEL1CR_0_1,
3464 ))
3465 },
3466 { PINMUX_CFG_REG("MSEL3CR", 0xE6058020, 32, 1, GROUP(
3467 0, 0, 0, 0, 0, 0, 0, 0,
3468 0, 0, 0, 0, 0, 0, 0, 0,
3469 0, 0, 0, 0, 0, 0, 0, 0,
3470 0, 0, 0, 0, 0, 0, 0, 0,
3471 MSEL3CR_15_0, MSEL3CR_15_1,
3472 0, 0, 0, 0, 0, 0, 0, 0,
3473 0, 0, 0, 0, 0, 0, 0, 0,
3474 MSEL3CR_6_0, MSEL3CR_6_1,
3475 0, 0, 0, 0, 0, 0, 0, 0,
3476 0, 0, 0, 0,
3477 ))
3478 },
3479 { PINMUX_CFG_REG("MSEL4CR", 0xE6058024, 32, 1, GROUP(
3480 0, 0, 0, 0, 0, 0, 0, 0,
3481 0, 0, 0, 0, 0, 0, 0, 0,
3482 0, 0, 0, 0, 0, 0, 0, 0,
3483 MSEL4CR_19_0, MSEL4CR_19_1,
3484 MSEL4CR_18_0, MSEL4CR_18_1,
3485 0, 0, 0, 0,
3486 MSEL4CR_15_0, MSEL4CR_15_1,
3487 0, 0, 0, 0, 0, 0, 0, 0,
3488 MSEL4CR_10_0, MSEL4CR_10_1,
3489 0, 0, 0, 0, 0, 0,
3490 MSEL4CR_6_0, MSEL4CR_6_1,
3491 0, 0,
3492 MSEL4CR_4_0, MSEL4CR_4_1,
3493 0, 0, 0, 0,
3494 MSEL4CR_1_0, MSEL4CR_1_1,
3495 0, 0,
3496 ))
3497 },
3498 { PINMUX_CFG_REG("MSEL5CR", 0xE6058028, 32, 1, GROUP(
3499 MSEL5CR_31_0, MSEL5CR_31_1,
3500 MSEL5CR_30_0, MSEL5CR_30_1,
3501 MSEL5CR_29_0, MSEL5CR_29_1,
3502 0, 0,
3503 MSEL5CR_27_0, MSEL5CR_27_1,
3504 0, 0,
3505 MSEL5CR_25_0, MSEL5CR_25_1,
3506 0, 0,
3507 MSEL5CR_23_0, MSEL5CR_23_1,
3508 0, 0,
3509 MSEL5CR_21_0, MSEL5CR_21_1,
3510 0, 0,
3511 MSEL5CR_19_0, MSEL5CR_19_1,
3512 0, 0,
3513 MSEL5CR_17_0, MSEL5CR_17_1,
3514 0, 0,
3515 MSEL5CR_15_0, MSEL5CR_15_1,
3516 MSEL5CR_14_0, MSEL5CR_14_1,
3517 MSEL5CR_13_0, MSEL5CR_13_1,
3518 MSEL5CR_12_0, MSEL5CR_12_1,
3519 MSEL5CR_11_0, MSEL5CR_11_1,
3520 MSEL5CR_10_0, MSEL5CR_10_1,
3521 0, 0,
3522 MSEL5CR_8_0, MSEL5CR_8_1,
3523 MSEL5CR_7_0, MSEL5CR_7_1,
3524 MSEL5CR_6_0, MSEL5CR_6_1,
3525 MSEL5CR_5_0, MSEL5CR_5_1,
3526 MSEL5CR_4_0, MSEL5CR_4_1,
3527 MSEL5CR_3_0, MSEL5CR_3_1,
3528 MSEL5CR_2_0, MSEL5CR_2_1,
3529 0, 0,
3530 MSEL5CR_0_0, MSEL5CR_0_1,
3531 ))
3532 },
3533 { },
3534 };
3535
3536 static const struct pinmux_data_reg pinmux_data_regs[] = {
3537 { PINMUX_DATA_REG("PORTL031_000DR", 0xe6054800, 32, GROUP(
3538 PORT31_DATA, PORT30_DATA, PORT29_DATA, PORT28_DATA,
3539 PORT27_DATA, PORT26_DATA, PORT25_DATA, PORT24_DATA,
3540 PORT23_DATA, PORT22_DATA, PORT21_DATA, PORT20_DATA,
3541 PORT19_DATA, PORT18_DATA, PORT17_DATA, PORT16_DATA,
3542 PORT15_DATA, PORT14_DATA, PORT13_DATA, PORT12_DATA,
3543 PORT11_DATA, PORT10_DATA, PORT9_DATA, PORT8_DATA,
3544 PORT7_DATA, PORT6_DATA, PORT5_DATA, PORT4_DATA,
3545 PORT3_DATA, PORT2_DATA, PORT1_DATA, PORT0_DATA ))
3546 },
3547 { PINMUX_DATA_REG("PORTL063_032DR", 0xe6054804, 32, GROUP(
3548 PORT63_DATA, PORT62_DATA, PORT61_DATA, PORT60_DATA,
3549 PORT59_DATA, PORT58_DATA, PORT57_DATA, PORT56_DATA,
3550 PORT55_DATA, PORT54_DATA, PORT53_DATA, PORT52_DATA,
3551 PORT51_DATA, PORT50_DATA, PORT49_DATA, PORT48_DATA,
3552 PORT47_DATA, PORT46_DATA, PORT45_DATA, PORT44_DATA,
3553 PORT43_DATA, PORT42_DATA, PORT41_DATA, PORT40_DATA,
3554 PORT39_DATA, PORT38_DATA, PORT37_DATA, PORT36_DATA,
3555 PORT35_DATA, PORT34_DATA, PORT33_DATA, PORT32_DATA ))
3556 },
3557 { PINMUX_DATA_REG("PORTL095_064DR", 0xe6054808, 32, GROUP(
3558 0, 0, 0, 0,
3559 0, 0, 0, 0,
3560 0, 0, 0, 0,
3561 PORT83_DATA, PORT82_DATA, PORT81_DATA, PORT80_DATA,
3562 PORT79_DATA, PORT78_DATA, PORT77_DATA, PORT76_DATA,
3563 PORT75_DATA, PORT74_DATA, PORT73_DATA, PORT72_DATA,
3564 PORT71_DATA, PORT70_DATA, PORT69_DATA, PORT68_DATA,
3565 PORT67_DATA, PORT66_DATA, PORT65_DATA, PORT64_DATA ))
3566 },
3567 { PINMUX_DATA_REG("PORTD095_064DR", 0xe6055808, 32, GROUP(
3568 PORT95_DATA, PORT94_DATA, PORT93_DATA, PORT92_DATA,
3569 PORT91_DATA, PORT90_DATA, PORT89_DATA, PORT88_DATA,
3570 PORT87_DATA, PORT86_DATA, PORT85_DATA, PORT84_DATA,
3571 0, 0, 0, 0,
3572 0, 0, 0, 0,
3573 0, 0, 0, 0,
3574 0, 0, 0, 0,
3575 0, 0, 0, 0 ))
3576 },
3577 { PINMUX_DATA_REG("PORTD127_096DR", 0xe605580c, 32, GROUP(
3578 0, 0, 0, 0,
3579 0, 0, 0, 0,
3580 0, 0, 0, 0,
3581 0, PORT114_DATA, PORT113_DATA, PORT112_DATA,
3582 PORT111_DATA, PORT110_DATA, PORT109_DATA, PORT108_DATA,
3583 PORT107_DATA, PORT106_DATA, PORT105_DATA, PORT104_DATA,
3584 PORT103_DATA, PORT102_DATA, PORT101_DATA, PORT100_DATA,
3585 PORT99_DATA, PORT98_DATA, PORT97_DATA, PORT96_DATA ))
3586 },
3587 { PINMUX_DATA_REG("PORTR127_096DR", 0xe605680C, 32, GROUP(
3588 PORT127_DATA, PORT126_DATA, PORT125_DATA, PORT124_DATA,
3589 PORT123_DATA, PORT122_DATA, PORT121_DATA, PORT120_DATA,
3590 PORT119_DATA, PORT118_DATA, PORT117_DATA, PORT116_DATA,
3591 PORT115_DATA, 0, 0, 0,
3592 0, 0, 0, 0,
3593 0, 0, 0, 0,
3594 0, 0, 0, 0,
3595 0, 0, 0, 0 ))
3596 },
3597 { PINMUX_DATA_REG("PORTR159_128DR", 0xe6056810, 32, GROUP(
3598 PORT159_DATA, PORT158_DATA, PORT157_DATA, PORT156_DATA,
3599 PORT155_DATA, PORT154_DATA, PORT153_DATA, PORT152_DATA,
3600 PORT151_DATA, PORT150_DATA, PORT149_DATA, PORT148_DATA,
3601 PORT147_DATA, PORT146_DATA, PORT145_DATA, PORT144_DATA,
3602 PORT143_DATA, PORT142_DATA, PORT141_DATA, PORT140_DATA,
3603 PORT139_DATA, PORT138_DATA, PORT137_DATA, PORT136_DATA,
3604 PORT135_DATA, PORT134_DATA, PORT133_DATA, PORT132_DATA,
3605 PORT131_DATA, PORT130_DATA, PORT129_DATA, PORT128_DATA ))
3606 },
3607 { PINMUX_DATA_REG("PORTR191_160DR", 0xe6056814, 32, GROUP(
3608 PORT191_DATA, PORT190_DATA, PORT189_DATA, PORT188_DATA,
3609 PORT187_DATA, PORT186_DATA, PORT185_DATA, PORT184_DATA,
3610 PORT183_DATA, PORT182_DATA, PORT181_DATA, PORT180_DATA,
3611 PORT179_DATA, PORT178_DATA, PORT177_DATA, PORT176_DATA,
3612 PORT175_DATA, PORT174_DATA, PORT173_DATA, PORT172_DATA,
3613 PORT171_DATA, PORT170_DATA, PORT169_DATA, PORT168_DATA,
3614 PORT167_DATA, PORT166_DATA, PORT165_DATA, PORT164_DATA,
3615 PORT163_DATA, PORT162_DATA, PORT161_DATA, PORT160_DATA ))
3616 },
3617 { PINMUX_DATA_REG("PORTR223_192DR", 0xe6056818, 32, GROUP(
3618 0, 0, 0, 0,
3619 0, 0, 0, 0,
3620 0, 0, 0, 0,
3621 0, 0, PORT209_DATA, PORT208_DATA,
3622 PORT207_DATA, PORT206_DATA, PORT205_DATA, PORT204_DATA,
3623 PORT203_DATA, PORT202_DATA, PORT201_DATA, PORT200_DATA,
3624 PORT199_DATA, PORT198_DATA, PORT197_DATA, PORT196_DATA,
3625 PORT195_DATA, PORT194_DATA, PORT193_DATA, PORT192_DATA ))
3626 },
3627 { PINMUX_DATA_REG("PORTU223_192DR", 0xe6057818, 32, GROUP(
3628 0, 0, 0, 0,
3629 0, 0, 0, 0,
3630 0, 0, 0, 0,
3631 PORT211_DATA, PORT210_DATA, 0, 0,
3632 0, 0, 0, 0,
3633 0, 0, 0, 0,
3634 0, 0, 0, 0,
3635 0, 0, 0, 0 ))
3636 },
3637 { },
3638 };
3639
3640 static const struct pinmux_irq pinmux_irqs[] = {
3641 PINMUX_IRQ(2, 13), /* IRQ0A */
3642 PINMUX_IRQ(20), /* IRQ1A */
3643 PINMUX_IRQ(11, 12), /* IRQ2A */
3644 PINMUX_IRQ(10, 14), /* IRQ3A */
3645 PINMUX_IRQ(15, 172), /* IRQ4A */
3646 PINMUX_IRQ(0, 1), /* IRQ5A */
3647 PINMUX_IRQ(121, 173), /* IRQ6A */
3648 PINMUX_IRQ(120, 209), /* IRQ7A */
3649 PINMUX_IRQ(119), /* IRQ8A */
3650 PINMUX_IRQ(118, 210), /* IRQ9A */
3651 PINMUX_IRQ(19), /* IRQ10A */
3652 PINMUX_IRQ(104), /* IRQ11A */
3653 PINMUX_IRQ(42, 97), /* IRQ12A */
3654 PINMUX_IRQ(64, 98), /* IRQ13A */
3655 PINMUX_IRQ(63, 99), /* IRQ14A */
3656 PINMUX_IRQ(62, 100), /* IRQ15A */
3657 PINMUX_IRQ(68, 211), /* IRQ16A */
3658 PINMUX_IRQ(69), /* IRQ17A */
3659 PINMUX_IRQ(70), /* IRQ18A */
3660 PINMUX_IRQ(71), /* IRQ19A */
3661 PINMUX_IRQ(67), /* IRQ20A */
3662 PINMUX_IRQ(202), /* IRQ21A */
3663 PINMUX_IRQ(95), /* IRQ22A */
3664 PINMUX_IRQ(96), /* IRQ23A */
3665 PINMUX_IRQ(180), /* IRQ24A */
3666 PINMUX_IRQ(38), /* IRQ25A */
3667 PINMUX_IRQ(58, 81), /* IRQ26A */
3668 PINMUX_IRQ(57, 168), /* IRQ27A */
3669 PINMUX_IRQ(56, 169), /* IRQ28A */
3670 PINMUX_IRQ(50, 170), /* IRQ29A */
3671 PINMUX_IRQ(49, 171), /* IRQ30A */
3672 PINMUX_IRQ(41, 167), /* IRQ31A */
3673 };
3674
3675 struct r8a7740_portcr_group {
3676 unsigned int end_pin;
3677 unsigned int offset;
3678 };
3679
3680 static const struct r8a7740_portcr_group r8a7740_portcr_offsets[] = {
3681 { 83, 0x0000 }, { 114, 0x1000 }, { 209, 0x2000 }, { 211, 0x3000 },
3682 };
3683
r8a7740_pin_to_portcr(struct sh_pfc * pfc,unsigned int pin)3684 static void __iomem *r8a7740_pin_to_portcr(struct sh_pfc *pfc, unsigned int pin)
3685 {
3686 unsigned int i;
3687
3688 for (i = 0; i < ARRAY_SIZE(r8a7740_portcr_offsets); ++i) {
3689 const struct r8a7740_portcr_group *group =
3690 &r8a7740_portcr_offsets[i];
3691
3692 if (pin <= group->end_pin)
3693 return pfc->windows->virt + group->offset + pin;
3694 }
3695
3696 return NULL;
3697 }
3698
3699 static const struct sh_pfc_soc_operations r8a7740_pfc_ops = {
3700 .get_bias = rmobile_pinmux_get_bias,
3701 .set_bias = rmobile_pinmux_set_bias,
3702 .pin_to_portcr = r8a7740_pin_to_portcr,
3703 };
3704
3705 const struct sh_pfc_soc_info r8a7740_pinmux_info = {
3706 .name = "r8a7740_pfc",
3707 .ops = &r8a7740_pfc_ops,
3708
3709 .input = { PINMUX_INPUT_BEGIN,
3710 PINMUX_INPUT_END },
3711 .output = { PINMUX_OUTPUT_BEGIN,
3712 PINMUX_OUTPUT_END },
3713 .function = { PINMUX_FUNCTION_BEGIN,
3714 PINMUX_FUNCTION_END },
3715
3716 .pins = pinmux_pins,
3717 .nr_pins = ARRAY_SIZE(pinmux_pins),
3718 .groups = pinmux_groups,
3719 .nr_groups = ARRAY_SIZE(pinmux_groups),
3720 .functions = pinmux_functions,
3721 .nr_functions = ARRAY_SIZE(pinmux_functions),
3722
3723 .cfg_regs = pinmux_config_regs,
3724 .data_regs = pinmux_data_regs,
3725
3726 .pinmux_data = pinmux_data,
3727 .pinmux_data_size = ARRAY_SIZE(pinmux_data),
3728
3729 .gpio_irq = pinmux_irqs,
3730 .gpio_irq_size = ARRAY_SIZE(pinmux_irqs),
3731 };
3732