1 // SPDX-License-Identifier: GPL-2.0
2 /*
3 * Copyright (C) 2012-2013 Renesas Solutions Corp.
4 * Copyright (C) 2013 Magnus Damm
5 * Copyright (C) 2012 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
6 */
7 #include <linux/io.h>
8 #include <linux/kernel.h>
9 #include <linux/pinctrl/pinconf-generic.h>
10
11 #include "sh_pfc.h"
12
13 #define CPU_ALL_PORT(fn, pfx, sfx) \
14 /* Port0 - Port30 */ \
15 PORT_10(0, fn, pfx, sfx), \
16 PORT_10(10, fn, pfx##1, sfx), \
17 PORT_10(20, fn, pfx##2, sfx), \
18 PORT_1(30, fn, pfx##30, sfx), \
19 /* Port32 - Port40 */ \
20 PORT_1(32, fn, pfx##32, sfx), PORT_1(33, fn, pfx##33, sfx), \
21 PORT_1(34, fn, pfx##34, sfx), PORT_1(35, fn, pfx##35, sfx), \
22 PORT_1(36, fn, pfx##36, sfx), PORT_1(37, fn, pfx##37, sfx), \
23 PORT_1(38, fn, pfx##38, sfx), PORT_1(39, fn, pfx##39, sfx), \
24 PORT_1(40, fn, pfx##40, sfx), \
25 /* Port64 - Port85 */ \
26 PORT_1(64, fn, pfx##64, sfx), PORT_1(65, fn, pfx##65, sfx), \
27 PORT_1(66, fn, pfx##66, sfx), PORT_1(67, fn, pfx##67, sfx), \
28 PORT_1(68, fn, pfx##68, sfx), PORT_1(69, fn, pfx##69, sfx), \
29 PORT_10(70, fn, pfx##7, sfx), \
30 PORT_1(80, fn, pfx##80, sfx), PORT_1(81, fn, pfx##81, sfx), \
31 PORT_1(82, fn, pfx##82, sfx), PORT_1(83, fn, pfx##83, sfx), \
32 PORT_1(84, fn, pfx##84, sfx), PORT_1(85, fn, pfx##85, sfx), \
33 /* Port96 - Port126 */ \
34 PORT_1(96, fn, pfx##96, sfx), PORT_1(97, fn, pfx##97, sfx), \
35 PORT_1(98, fn, pfx##98, sfx), PORT_1(99, fn, pfx##99, sfx), \
36 PORT_10(100, fn, pfx##10, sfx), \
37 PORT_10(110, fn, pfx##11, sfx), \
38 PORT_1(120, fn, pfx##120, sfx), PORT_1(121, fn, pfx##121, sfx), \
39 PORT_1(122, fn, pfx##122, sfx), PORT_1(123, fn, pfx##123, sfx), \
40 PORT_1(124, fn, pfx##124, sfx), PORT_1(125, fn, pfx##125, sfx), \
41 PORT_1(126, fn, pfx##126, sfx), \
42 /* Port128 - Port134 */ \
43 PORT_1(128, fn, pfx##128, sfx), PORT_1(129, fn, pfx##129, sfx), \
44 PORT_1(130, fn, pfx##130, sfx), PORT_1(131, fn, pfx##131, sfx), \
45 PORT_1(132, fn, pfx##132, sfx), PORT_1(133, fn, pfx##133, sfx), \
46 PORT_1(134, fn, pfx##134, sfx), \
47 /* Port160 - Port178 */ \
48 PORT_10(160, fn, pfx##16, sfx), \
49 PORT_1(170, fn, pfx##170, sfx), PORT_1(171, fn, pfx##171, sfx), \
50 PORT_1(172, fn, pfx##172, sfx), PORT_1(173, fn, pfx##173, sfx), \
51 PORT_1(174, fn, pfx##174, sfx), PORT_1(175, fn, pfx##175, sfx), \
52 PORT_1(176, fn, pfx##176, sfx), PORT_1(177, fn, pfx##177, sfx), \
53 PORT_1(178, fn, pfx##178, sfx), \
54 /* Port192 - Port222 */ \
55 PORT_1(192, fn, pfx##192, sfx), PORT_1(193, fn, pfx##193, sfx), \
56 PORT_1(194, fn, pfx##194, sfx), PORT_1(195, fn, pfx##195, sfx), \
57 PORT_1(196, fn, pfx##196, sfx), PORT_1(197, fn, pfx##197, sfx), \
58 PORT_1(198, fn, pfx##198, sfx), PORT_1(199, fn, pfx##199, sfx), \
59 PORT_10(200, fn, pfx##20, sfx), \
60 PORT_10(210, fn, pfx##21, sfx), \
61 PORT_1(220, fn, pfx##220, sfx), PORT_1(221, fn, pfx##221, sfx), \
62 PORT_1(222, fn, pfx##222, sfx), \
63 /* Port224 - Port250 */ \
64 PORT_1(224, fn, pfx##224, sfx), PORT_1(225, fn, pfx##225, sfx), \
65 PORT_1(226, fn, pfx##226, sfx), PORT_1(227, fn, pfx##227, sfx), \
66 PORT_1(228, fn, pfx##228, sfx), PORT_1(229, fn, pfx##229, sfx), \
67 PORT_10(230, fn, pfx##23, sfx), \
68 PORT_10(240, fn, pfx##24, sfx), \
69 PORT_1(250, fn, pfx##250, sfx), \
70 /* Port256 - Port283 */ \
71 PORT_1(256, fn, pfx##256, sfx), PORT_1(257, fn, pfx##257, sfx), \
72 PORT_1(258, fn, pfx##258, sfx), PORT_1(259, fn, pfx##259, sfx), \
73 PORT_10(260, fn, pfx##26, sfx), \
74 PORT_10(270, fn, pfx##27, sfx), \
75 PORT_1(280, fn, pfx##280, sfx), PORT_1(281, fn, pfx##281, sfx), \
76 PORT_1(282, fn, pfx##282, sfx), PORT_1(283, fn, pfx##283, sfx), \
77 /* Port288 - Port308 */ \
78 PORT_1(288, fn, pfx##288, sfx), PORT_1(289, fn, pfx##289, sfx), \
79 PORT_10(290, fn, pfx##29, sfx), \
80 PORT_1(300, fn, pfx##300, sfx), PORT_1(301, fn, pfx##301, sfx), \
81 PORT_1(302, fn, pfx##302, sfx), PORT_1(303, fn, pfx##303, sfx), \
82 PORT_1(304, fn, pfx##304, sfx), PORT_1(305, fn, pfx##305, sfx), \
83 PORT_1(306, fn, pfx##306, sfx), PORT_1(307, fn, pfx##307, sfx), \
84 PORT_1(308, fn, pfx##308, sfx), \
85 /* Port320 - Port329 */ \
86 PORT_10(320, fn, pfx##32, sfx)
87
88
89 enum {
90 PINMUX_RESERVED = 0,
91
92 /* PORT0_DATA -> PORT329_DATA */
93 PINMUX_DATA_BEGIN,
94 PORT_ALL(DATA),
95 PINMUX_DATA_END,
96
97 /* PORT0_IN -> PORT329_IN */
98 PINMUX_INPUT_BEGIN,
99 PORT_ALL(IN),
100 PINMUX_INPUT_END,
101
102 /* PORT0_OUT -> PORT329_OUT */
103 PINMUX_OUTPUT_BEGIN,
104 PORT_ALL(OUT),
105 PINMUX_OUTPUT_END,
106
107 PINMUX_FUNCTION_BEGIN,
108 PORT_ALL(FN_IN), /* PORT0_FN_IN -> PORT329_FN_IN */
109 PORT_ALL(FN_OUT), /* PORT0_FN_OUT -> PORT329_FN_OUT */
110 PORT_ALL(FN0), /* PORT0_FN0 -> PORT329_FN0 */
111 PORT_ALL(FN1), /* PORT0_FN1 -> PORT329_FN1 */
112 PORT_ALL(FN2), /* PORT0_FN2 -> PORT329_FN2 */
113 PORT_ALL(FN3), /* PORT0_FN3 -> PORT329_FN3 */
114 PORT_ALL(FN4), /* PORT0_FN4 -> PORT329_FN4 */
115 PORT_ALL(FN5), /* PORT0_FN5 -> PORT329_FN5 */
116 PORT_ALL(FN6), /* PORT0_FN6 -> PORT329_FN6 */
117 PORT_ALL(FN7), /* PORT0_FN7 -> PORT329_FN7 */
118
119 MSEL1CR_31_0, MSEL1CR_31_1,
120 MSEL1CR_27_0, MSEL1CR_27_1,
121 MSEL1CR_25_0, MSEL1CR_25_1,
122 MSEL1CR_24_0, MSEL1CR_24_1,
123 MSEL1CR_22_0, MSEL1CR_22_1,
124 MSEL1CR_21_0, MSEL1CR_21_1,
125 MSEL1CR_20_0, MSEL1CR_20_1,
126 MSEL1CR_19_0, MSEL1CR_19_1,
127 MSEL1CR_18_0, MSEL1CR_18_1,
128 MSEL1CR_17_0, MSEL1CR_17_1,
129 MSEL1CR_16_0, MSEL1CR_16_1,
130 MSEL1CR_15_0, MSEL1CR_15_1,
131 MSEL1CR_14_0, MSEL1CR_14_1,
132 MSEL1CR_13_0, MSEL1CR_13_1,
133 MSEL1CR_12_0, MSEL1CR_12_1,
134 MSEL1CR_11_0, MSEL1CR_11_1,
135 MSEL1CR_10_0, MSEL1CR_10_1,
136 MSEL1CR_09_0, MSEL1CR_09_1,
137 MSEL1CR_08_0, MSEL1CR_08_1,
138 MSEL1CR_07_0, MSEL1CR_07_1,
139 MSEL1CR_06_0, MSEL1CR_06_1,
140 MSEL1CR_05_0, MSEL1CR_05_1,
141 MSEL1CR_04_0, MSEL1CR_04_1,
142 MSEL1CR_03_0, MSEL1CR_03_1,
143 MSEL1CR_02_0, MSEL1CR_02_1,
144 MSEL1CR_01_0, MSEL1CR_01_1,
145 MSEL1CR_00_0, MSEL1CR_00_1,
146
147 MSEL3CR_31_0, MSEL3CR_31_1,
148 MSEL3CR_28_0, MSEL3CR_28_1,
149 MSEL3CR_27_0, MSEL3CR_27_1,
150 MSEL3CR_26_0, MSEL3CR_26_1,
151 MSEL3CR_23_0, MSEL3CR_23_1,
152 MSEL3CR_22_0, MSEL3CR_22_1,
153 MSEL3CR_21_0, MSEL3CR_21_1,
154 MSEL3CR_20_0, MSEL3CR_20_1,
155 MSEL3CR_19_0, MSEL3CR_19_1,
156 MSEL3CR_18_0, MSEL3CR_18_1,
157 MSEL3CR_17_0, MSEL3CR_17_1,
158 MSEL3CR_16_0, MSEL3CR_16_1,
159 MSEL3CR_15_0, MSEL3CR_15_1,
160 MSEL3CR_12_0, MSEL3CR_12_1,
161 MSEL3CR_11_0, MSEL3CR_11_1,
162 MSEL3CR_10_0, MSEL3CR_10_1,
163 MSEL3CR_09_0, MSEL3CR_09_1,
164 MSEL3CR_06_0, MSEL3CR_06_1,
165 MSEL3CR_03_0, MSEL3CR_03_1,
166 MSEL3CR_01_0, MSEL3CR_01_1,
167 MSEL3CR_00_0, MSEL3CR_00_1,
168
169 MSEL4CR_30_0, MSEL4CR_30_1,
170 MSEL4CR_29_0, MSEL4CR_29_1,
171 MSEL4CR_28_0, MSEL4CR_28_1,
172 MSEL4CR_27_0, MSEL4CR_27_1,
173 MSEL4CR_26_0, MSEL4CR_26_1,
174 MSEL4CR_25_0, MSEL4CR_25_1,
175 MSEL4CR_24_0, MSEL4CR_24_1,
176 MSEL4CR_23_0, MSEL4CR_23_1,
177 MSEL4CR_22_0, MSEL4CR_22_1,
178 MSEL4CR_21_0, MSEL4CR_21_1,
179 MSEL4CR_20_0, MSEL4CR_20_1,
180 MSEL4CR_19_0, MSEL4CR_19_1,
181 MSEL4CR_18_0, MSEL4CR_18_1,
182 MSEL4CR_17_0, MSEL4CR_17_1,
183 MSEL4CR_16_0, MSEL4CR_16_1,
184 MSEL4CR_15_0, MSEL4CR_15_1,
185 MSEL4CR_14_0, MSEL4CR_14_1,
186 MSEL4CR_13_0, MSEL4CR_13_1,
187 MSEL4CR_12_0, MSEL4CR_12_1,
188 MSEL4CR_11_0, MSEL4CR_11_1,
189 MSEL4CR_10_0, MSEL4CR_10_1,
190 MSEL4CR_09_0, MSEL4CR_09_1,
191 MSEL4CR_07_0, MSEL4CR_07_1,
192 MSEL4CR_04_0, MSEL4CR_04_1,
193 MSEL4CR_01_0, MSEL4CR_01_1,
194
195 MSEL5CR_31_0, MSEL5CR_31_1,
196 MSEL5CR_30_0, MSEL5CR_30_1,
197 MSEL5CR_29_0, MSEL5CR_29_1,
198 MSEL5CR_28_0, MSEL5CR_28_1,
199 MSEL5CR_27_0, MSEL5CR_27_1,
200 MSEL5CR_26_0, MSEL5CR_26_1,
201 MSEL5CR_25_0, MSEL5CR_25_1,
202 MSEL5CR_24_0, MSEL5CR_24_1,
203 MSEL5CR_23_0, MSEL5CR_23_1,
204 MSEL5CR_22_0, MSEL5CR_22_1,
205 MSEL5CR_21_0, MSEL5CR_21_1,
206 MSEL5CR_20_0, MSEL5CR_20_1,
207 MSEL5CR_19_0, MSEL5CR_19_1,
208 MSEL5CR_18_0, MSEL5CR_18_1,
209 MSEL5CR_17_0, MSEL5CR_17_1,
210 MSEL5CR_16_0, MSEL5CR_16_1,
211 MSEL5CR_15_0, MSEL5CR_15_1,
212 MSEL5CR_14_0, MSEL5CR_14_1,
213 MSEL5CR_13_0, MSEL5CR_13_1,
214 MSEL5CR_12_0, MSEL5CR_12_1,
215 MSEL5CR_11_0, MSEL5CR_11_1,
216 MSEL5CR_10_0, MSEL5CR_10_1,
217 MSEL5CR_09_0, MSEL5CR_09_1,
218 MSEL5CR_08_0, MSEL5CR_08_1,
219 MSEL5CR_07_0, MSEL5CR_07_1,
220 MSEL5CR_06_0, MSEL5CR_06_1,
221
222 MSEL8CR_16_0, MSEL8CR_16_1,
223 MSEL8CR_01_0, MSEL8CR_01_1,
224 MSEL8CR_00_0, MSEL8CR_00_1,
225
226 PINMUX_FUNCTION_END,
227
228 PINMUX_MARK_BEGIN,
229
230
231 #define F1(a) a##_MARK
232 #define F2(a) a##_MARK
233 #define F3(a) a##_MARK
234 #define F4(a) a##_MARK
235 #define F5(a) a##_MARK
236 #define F6(a) a##_MARK
237 #define F7(a) a##_MARK
238 #define IRQ(a) IRQ##a##_MARK
239
240 F1(LCDD0), F3(PDM2_CLK_0), F7(DU0_DR0), IRQ(0), /* Port0 */
241 F1(LCDD1), F3(PDM2_DATA_1), F7(DU0_DR19), IRQ(1),
242 F1(LCDD2), F3(PDM3_CLK_2), F7(DU0_DR2), IRQ(2),
243 F1(LCDD3), F3(PDM3_DATA_3), F7(DU0_DR3), IRQ(3),
244 F1(LCDD4), F3(PDM4_CLK_4), F7(DU0_DR4), IRQ(4),
245 F1(LCDD5), F3(PDM4_DATA_5), F7(DU0_DR5), IRQ(5),
246 F1(LCDD6), F3(PDM0_OUTCLK_6), F7(DU0_DR6), IRQ(6),
247 F1(LCDD7), F3(PDM0_OUTDATA_7), F7(DU0_DR7), IRQ(7),
248 F1(LCDD8), F3(PDM1_OUTCLK_8), F7(DU0_DG0), IRQ(8),
249 F1(LCDD9), F3(PDM1_OUTDATA_9), F7(DU0_DG1), IRQ(9),
250 F1(LCDD10), F3(FSICCK), F7(DU0_DG2), IRQ(10), /* Port10 */
251 F1(LCDD11), F3(FSICISLD), F7(DU0_DG3), IRQ(11),
252 F1(LCDD12), F3(FSICOMC), F7(DU0_DG4), IRQ(12),
253 F1(LCDD13), F3(FSICOLR), F4(FSICILR), F7(DU0_DG5), IRQ(13),
254 F1(LCDD14), F3(FSICOBT), F4(FSICIBT), F7(DU0_DG6), IRQ(14),
255 F1(LCDD15), F3(FSICOSLD), F7(DU0_DG7), IRQ(15),
256 F1(LCDD16), F4(TPU1TO1), F7(DU0_DB0),
257 F1(LCDD17), F4(SF_IRQ_00), F7(DU0_DB1),
258 F1(LCDD18), F4(SF_IRQ_01), F7(DU0_DB2),
259 F1(LCDD19), F3(SCIFB3_RTS_19), F7(DU0_DB3),
260 F1(LCDD20), F3(SCIFB3_CTS_20), F7(DU0_DB4), /* Port20 */
261 F1(LCDD21), F3(SCIFB3_TXD_21), F7(DU0_DB5),
262 F1(LCDD22), F3(SCIFB3_RXD_22), F7(DU0_DB6),
263 F1(LCDD23), F3(SCIFB3_SCK_23), F7(DU0_DB7),
264 F1(LCDHSYN), F2(LCDCS), F3(SCIFB1_RTS_24),
265 F7(DU0_EXHSYNC_N_CSYNC_N_HSYNC_N),
266 F1(LCDVSYN), F3(SCIFB1_CTS_25), F7(DU0_EXVSYNC_N_VSYNC_N_CSYNC_N),
267 F1(LCDDCK), F2(LCDWR), F3(SCIFB1_TXD_26), F7(DU0_DOTCLKIN),
268 F1(LCDDISP), F2(LCDRS), F3(SCIFB1_RXD_27), F7(DU0_DOTCLKOUT),
269 F1(LCDRD_N), F3(SCIFB1_SCK_28), F7(DU0_DOTCLKOUTB),
270 F1(LCDLCLK), F4(SF_IRQ_02), F7(DU0_DISP_CSYNC_N_DE),
271 F1(LCDDON), F4(SF_IRQ_03), F7(DU0_ODDF_N_CLAMP), /* Port30 */
272
273 F1(SCIFA0_RTS), F5(SIM0_DET), F7(CSCIF0_RTS), /* Port32 */
274 F1(SCIFA0_CTS), F5(SIM1_DET), F7(CSCIF0_CTS),
275 F1(SCIFA0_SCK), F5(SIM0_PWRON), F7(CSCIF0_SCK),
276 F1(SCIFA1_RTS), F7(CSCIF1_RTS),
277 F1(SCIFA1_CTS), F7(CSCIF1_CTS),
278 F1(SCIFA1_SCK), F7(CSCIF1_SCK),
279 F1(SCIFB0_RTS), F3(TPU0TO1), F4(SCIFB3_RTS_38), F7(CHSCIF0_HRTS),
280 F1(SCIFB0_CTS), F3(TPU0TO2), F4(SCIFB3_CTS_39), F7(CHSCIF0_HCTS),
281 F1(SCIFB0_SCK), F3(TPU0TO3), F4(SCIFB3_SCK_40),
282 F7(CHSCIF0_HSCK), /* Port40 */
283
284 F1(PDM0_DATA), /* Port64 */
285 F1(PDM1_DATA),
286 F1(HSI_RX_WAKE), F2(SCIFB2_CTS_66), F3(MSIOF3_SYNC), F5(GenIO4),
287 IRQ(40),
288 F1(HSI_RX_READY), F2(SCIFB1_TXD_67), F5(GIO_OUT3_67), F7(CHSCIF1_HTX),
289 F1(HSI_RX_FLAG), F2(SCIFB2_TXD_68), F3(MSIOF3_TXD), F5(GIO_OUT4_68),
290 F1(HSI_RX_DATA), F2(SCIFB2_RXD_69), F3(MSIOF3_RXD), F5(GIO_OUT5_69),
291 F1(HSI_TX_FLAG), F2(SCIFB1_RTS_70), F5(GIO_OUT1_70), F6(HSIC_TSTCLK0),
292 F7(CHSCIF1_HRTS), /* Port70 */
293 F1(HSI_TX_DATA), F2(SCIFB1_CTS_71), F5(GIO_OUT2_71), F6(HSIC_TSTCLK1),
294 F7(CHSCIF1_HCTS),
295 F1(HSI_TX_WAKE), F2(SCIFB1_RXD_72), F5(GenIO8), F7(CHSCIF1_HRX),
296 F1(HSI_TX_READY), F2(SCIFB2_RTS_73), F3(MSIOF3_SCK), F5(GIO_OUT0_73),
297 F1(IRDA_OUT), F1(IRDA_IN), F1(IRDA_FIRSEL), F1(TPU0TO0),
298 F1(DIGRFEN), F1(GPS_TIMESTAMP), F1(TXP), /* Port80 */
299 F1(TXP2), F1(COEX_0), F1(COEX_1), IRQ(19), IRQ(18), /* Port85 */
300
301 F1(KEYIN0), /* Port96 */
302 F1(KEYIN1), F1(KEYIN2), F1(KEYIN3), F1(KEYIN4), /* Port100 */
303 F1(KEYIN5), F1(KEYIN6), IRQ(41), F1(KEYIN7), IRQ(42),
304 F2(KEYOUT0), F2(KEYOUT1), F2(KEYOUT2), F2(KEYOUT3),
305 F2(KEYOUT4), F2(KEYOUT5), IRQ(43), F2(KEYOUT6), IRQ(44), /* Port110 */
306 F2(KEYOUT7), F5(RFANAEN), IRQ(45),
307 F1(KEYIN8), F2(KEYOUT8), F4(SF_IRQ_04), IRQ(46),
308 F1(KEYIN9), F2(KEYOUT9), F4(SF_IRQ_05), IRQ(47),
309 F1(KEYIN10), F2(KEYOUT10), F4(SF_IRQ_06), IRQ(48),
310 F1(KEYIN11), F2(KEYOUT11), F4(SF_IRQ_07), IRQ(49),
311 F1(SCIFA0_TXD), F7(CSCIF0_TX), F1(SCIFA0_RXD), F7(CSCIF0_RX),
312 F1(SCIFA1_TXD), F7(CSCIF1_TX), F1(SCIFA1_RXD), F7(CSCIF1_RX),
313 F3(SF_PORT_1_120), F4(SCIFB3_RXD_120), F7(DU0_CDE), /* Port120 */
314 F3(SF_PORT_0_121), F4(SCIFB3_TXD_121),
315 F1(SCIFB0_TXD), F7(CHSCIF0_HTX),
316 F1(SCIFB0_RXD), F7(CHSCIF0_HRX), F3(ISP_STROBE_124),
317 F1(STP_ISD_0), F2(PDM4_CLK_125), F3(MSIOF2_TXD), F5(SIM0_VOLTSEL0),
318 F1(TS_SDEN), F2(MSIOF7_SYNC), F3(STP_ISEN_1),
319 F1(STP_ISEN_0), F2(PDM1_OUTDATA_128), F3(MSIOF2_SYNC),
320 F5(SIM1_VOLTSEL1), F1(TS_SPSYNC), F2(MSIOF7_RXD), F3(STP_ISSYNC_1),
321 F1(STP_ISSYNC_0), F2(PDM4_DATA_130), F3(MSIOF2_RXD),
322 F5(SIM0_VOLTSEL1), /* Port130 */
323 F1(STP_OPWM_0), F5(SIM1_PWRON), F1(TS_SCK), F2(MSIOF7_SCK),
324 F3(STP_ISCLK_1), F1(STP_ISCLK_0), F2(PDM1_OUTCLK_133), F3(MSIOF2_SCK),
325 F5(SIM1_VOLTSEL0), F1(TS_SDAT), F2(MSIOF7_TXD), F3(STP_ISD_1),
326 IRQ(20), /* Port160 */
327 IRQ(21), IRQ(22), IRQ(23),
328 F1(MMCD0_0), F1(MMCD0_1), F1(MMCD0_2), F1(MMCD0_3),
329 F1(MMCD0_4), F1(MMCD0_5), F1(MMCD0_6), /* Port170 */
330 F1(MMCD0_7), F1(MMCCMD0), F1(MMCCLK0), F1(MMCRST),
331 IRQ(24), IRQ(25), IRQ(26), IRQ(27),
332 F1(A10), F2(MMCD1_7), IRQ(31), /* Port192 */
333 F1(A9), F2(MMCD1_6), IRQ(32),
334 F1(A8), F2(MMCD1_5), IRQ(33),
335 F1(A7), F2(MMCD1_4), IRQ(34),
336 F1(A6), F2(MMCD1_3), IRQ(35),
337 F1(A5), F2(MMCD1_2), IRQ(36),
338 F1(A4), F2(MMCD1_1), IRQ(37),
339 F1(A3), F2(MMCD1_0), IRQ(38),
340 F1(A2), F2(MMCCMD1), IRQ(39), /* Port200 */
341 F1(A1),
342 F1(A0), F2(BS),
343 F1(CKO), F2(MMCCLK1),
344 F1(CS0_N), F5(SIM0_GPO1),
345 F1(CS2_N), F5(SIM0_GPO2),
346 F1(CS4_N), F2(VIO_VD), F5(SIM1_GPO0),
347 F1(D15), F5(GIO_OUT15),
348 F1(D14), F5(GIO_OUT14),
349 F1(D13), F5(GIO_OUT13),
350 F1(D12), F5(GIO_OUT12), /* Port210 */
351 F1(D11), F5(WGM_TXP2),
352 F1(D10), F5(WGM_GPS_TIMEM_ASK_RFCLK),
353 F1(D9), F2(VIO_D9), F5(GIO_OUT9),
354 F1(D8), F2(VIO_D8), F5(GIO_OUT8),
355 F1(D7), F2(VIO_D7), F5(GIO_OUT7),
356 F1(D6), F2(VIO_D6), F5(GIO_OUT6),
357 F1(D5), F2(VIO_D5), F5(GIO_OUT5_217),
358 F1(D4), F2(VIO_D4), F5(GIO_OUT4_218),
359 F1(D3), F2(VIO_D3), F5(GIO_OUT3_219),
360 F1(D2), F2(VIO_D2), F5(GIO_OUT2_220), /* Port220 */
361 F1(D1), F2(VIO_D1), F5(GIO_OUT1_221),
362 F1(D0), F2(VIO_D0), F5(GIO_OUT0_222),
363 F1(RDWR_224), F2(VIO_HD), F5(SIM1_GPO2),
364 F1(RD_N), F1(WAIT_N), F2(VIO_CLK), F5(SIM1_GPO1),
365 F1(WE0_N), F2(RDWR_227),
366 F1(WE1_N), F5(SIM0_GPO0),
367 F1(PWMO), F2(VIO_CKO1_229),
368 F1(SLIM_CLK), F2(VIO_CKO4_230), /* Port230 */
369 F1(SLIM_DATA), F2(VIO_CKO5_231), F2(VIO_CKO2_232), F4(SF_PORT_0_232),
370 F2(VIO_CKO3_233), F4(SF_PORT_1_233),
371 F1(FSIACK), F2(PDM3_CLK_234), F3(ISP_IRIS1_234),
372 F1(FSIAISLD), F2(PDM3_DATA_235),
373 F1(FSIAOMC), F2(PDM0_OUTCLK_236), F3(ISP_IRIS0_236),
374 F1(FSIAOLR), F2(FSIAILR), F1(FSIAOBT), F2(FSIAIBT),
375 F1(FSIAOSLD), F2(PDM0_OUTDATA_239),
376 F1(FSIBISLD), /* Port240 */
377 F1(FSIBOLR), F2(FSIBILR), F1(FSIBOMC), F3(ISP_SHUTTER1_242),
378 F1(FSIBOBT), F2(FSIBIBT), F1(FSIBOSLD), F2(FSIASPDIF),
379 F1(FSIBCK), F3(ISP_SHUTTER0_245),
380 F1(ISP_IRIS1_246), F1(ISP_IRIS0_247), F1(ISP_SHUTTER1_248),
381 F1(ISP_SHUTTER0_249), F1(ISP_STROBE_250), /* Port250 */
382 F1(MSIOF0_SYNC), F1(MSIOF0_RXD), F1(MSIOF0_SCK), F1(MSIOF0_SS2),
383 F3(VIO_CKO3_259), F1(MSIOF0_TXD), /* Port260 */
384 F2(SCIFB1_SCK_261), F7(CHSCIF1_HSCK), F2(SCIFB2_SCK_262),
385 F1(MSIOF1_SS2), F4(MSIOF5_SS2), F1(MSIOF1_TXD), F4(MSIOF5_TXD),
386 F1(MSIOF1_RXD), F4(MSIOF5_RXD), F1(MSIOF1_SS1), F4(MSIOF5_SS1),
387 F1(MSIOF0_SS1), F1(MSIOF1_SCK), F4(MSIOF5_SCK),
388 F1(MSIOF1_SYNC), F4(MSIOF5_SYNC),
389 F1(MSIOF2_SS1), F3(VIO_CKO5_270), /* Port270 */
390 F1(MSIOF2_SS2), F3(VIO_CKO2_271), F1(MSIOF3_SS2), F3(VIO_CKO1_272),
391 F1(MSIOF3_SS1), F3(VIO_CKO4_273), F1(MSIOF4_SS2), F4(TPU1TO0),
392 F1(IC_DP), F1(SIM0_RST), F1(IC_DM), F1(SIM0_BSICOMP),
393 F1(SIM0_CLK), F1(SIM0_IO), /* Port280 */
394 F1(SIM1_IO), F2(PDM2_DATA_281), F1(SIM1_CLK), F2(PDM2_CLK_282),
395 F1(SIM1_RST), F1(SDHID1_0), F3(STMDATA0_2),
396 F1(SDHID1_1), F3(STMDATA1_2), IRQ(51), /* Port290 */
397 F1(SDHID1_2), F3(STMDATA2_2), F1(SDHID1_3), F3(STMDATA3_2),
398 F1(SDHICLK1), F3(STMCLK_2), F1(SDHICMD1), F3(STMSIDI_2),
399 F1(SDHID2_0), F2(MSIOF4_TXD), F3(SCIFB2_TXD_295), F4(MSIOF6_TXD),
400 F1(SDHID2_1), F4(MSIOF6_SS2), IRQ(52),
401 F1(SDHID2_2), F2(MSIOF4_RXD), F3(SCIFB2_RXD_297), F4(MSIOF6_RXD),
402 F1(SDHID2_3), F2(MSIOF4_SYNC), F3(SCIFB2_CTS_298), F4(MSIOF6_SYNC),
403 F1(SDHICLK2), F2(MSIOF4_SCK), F3(SCIFB2_SCK_299), F4(MSIOF6_SCK),
404 F1(SDHICMD2), F2(MSIOF4_SS1), F3(SCIFB2_RTS_300),
405 F4(MSIOF6_SS1), /* Port300 */
406 F1(SDHICD0), IRQ(50), F1(SDHID0_0), F3(STMDATA0_1),
407 F1(SDHID0_1), F3(STMDATA1_1), F1(SDHID0_2), F3(STMDATA2_1),
408 F1(SDHID0_3), F3(STMDATA3_1), F1(SDHICMD0), F3(STMSIDI_1),
409 F1(SDHIWP0), F1(SDHICLK0), F3(STMCLK_1), IRQ(16), /* Port320 */
410 IRQ(17), IRQ(28), IRQ(29), IRQ(30), IRQ(53), IRQ(54),
411 IRQ(55), IRQ(56), IRQ(57),
412 PINMUX_MARK_END,
413 };
414
415 static const u16 pinmux_data[] = {
416 /* specify valid pin states for each pin in GPIO mode */
417 PINMUX_DATA_ALL(),
418
419 /* Port0 */
420 PINMUX_DATA(LCDD0_MARK, PORT0_FN1),
421 PINMUX_DATA(PDM2_CLK_0_MARK, PORT0_FN3),
422 PINMUX_DATA(DU0_DR0_MARK, PORT0_FN7),
423 PINMUX_DATA(IRQ0_MARK, PORT0_FN0),
424
425 /* Port1 */
426 PINMUX_DATA(LCDD1_MARK, PORT1_FN1),
427 PINMUX_DATA(PDM2_DATA_1_MARK, PORT1_FN3, MSEL3CR_12_0),
428 PINMUX_DATA(DU0_DR19_MARK, PORT1_FN7),
429 PINMUX_DATA(IRQ1_MARK, PORT1_FN0),
430
431 /* Port2 */
432 PINMUX_DATA(LCDD2_MARK, PORT2_FN1),
433 PINMUX_DATA(PDM3_CLK_2_MARK, PORT2_FN3),
434 PINMUX_DATA(DU0_DR2_MARK, PORT2_FN7),
435 PINMUX_DATA(IRQ2_MARK, PORT2_FN0),
436
437 /* Port3 */
438 PINMUX_DATA(LCDD3_MARK, PORT3_FN1),
439 PINMUX_DATA(PDM3_DATA_3_MARK, PORT3_FN3, MSEL3CR_12_0),
440 PINMUX_DATA(DU0_DR3_MARK, PORT3_FN7),
441 PINMUX_DATA(IRQ3_MARK, PORT3_FN0),
442
443 /* Port4 */
444 PINMUX_DATA(LCDD4_MARK, PORT4_FN1),
445 PINMUX_DATA(PDM4_CLK_4_MARK, PORT4_FN3),
446 PINMUX_DATA(DU0_DR4_MARK, PORT4_FN7),
447 PINMUX_DATA(IRQ4_MARK, PORT4_FN0),
448
449 /* Port5 */
450 PINMUX_DATA(LCDD5_MARK, PORT5_FN1),
451 PINMUX_DATA(PDM4_DATA_5_MARK, PORT5_FN3, MSEL3CR_12_0),
452 PINMUX_DATA(DU0_DR5_MARK, PORT5_FN7),
453 PINMUX_DATA(IRQ5_MARK, PORT5_FN0),
454
455 /* Port6 */
456 PINMUX_DATA(LCDD6_MARK, PORT6_FN1),
457 PINMUX_DATA(PDM0_OUTCLK_6_MARK, PORT6_FN3),
458 PINMUX_DATA(DU0_DR6_MARK, PORT6_FN7),
459 PINMUX_DATA(IRQ6_MARK, PORT6_FN0),
460
461 /* Port7 */
462 PINMUX_DATA(LCDD7_MARK, PORT7_FN1),
463 PINMUX_DATA(PDM0_OUTDATA_7_MARK, PORT7_FN3),
464 PINMUX_DATA(DU0_DR7_MARK, PORT7_FN7),
465 PINMUX_DATA(IRQ7_MARK, PORT7_FN0),
466
467 /* Port8 */
468 PINMUX_DATA(LCDD8_MARK, PORT8_FN1),
469 PINMUX_DATA(PDM1_OUTCLK_8_MARK, PORT8_FN3),
470 PINMUX_DATA(DU0_DG0_MARK, PORT8_FN7),
471 PINMUX_DATA(IRQ8_MARK, PORT8_FN0),
472
473 /* Port9 */
474 PINMUX_DATA(LCDD9_MARK, PORT9_FN1),
475 PINMUX_DATA(PDM1_OUTDATA_9_MARK, PORT9_FN3),
476 PINMUX_DATA(DU0_DG1_MARK, PORT9_FN7),
477 PINMUX_DATA(IRQ9_MARK, PORT9_FN0),
478
479 /* Port10 */
480 PINMUX_DATA(LCDD10_MARK, PORT10_FN1),
481 PINMUX_DATA(FSICCK_MARK, PORT10_FN3),
482 PINMUX_DATA(DU0_DG2_MARK, PORT10_FN7),
483 PINMUX_DATA(IRQ10_MARK, PORT10_FN0),
484
485 /* Port11 */
486 PINMUX_DATA(LCDD11_MARK, PORT11_FN1),
487 PINMUX_DATA(FSICISLD_MARK, PORT11_FN3),
488 PINMUX_DATA(DU0_DG3_MARK, PORT11_FN7),
489 PINMUX_DATA(IRQ11_MARK, PORT11_FN0),
490
491 /* Port12 */
492 PINMUX_DATA(LCDD12_MARK, PORT12_FN1),
493 PINMUX_DATA(FSICOMC_MARK, PORT12_FN3),
494 PINMUX_DATA(DU0_DG4_MARK, PORT12_FN7),
495 PINMUX_DATA(IRQ12_MARK, PORT12_FN0),
496
497 /* Port13 */
498 PINMUX_DATA(LCDD13_MARK, PORT13_FN1),
499 PINMUX_DATA(FSICOLR_MARK, PORT13_FN3),
500 PINMUX_DATA(FSICILR_MARK, PORT13_FN4),
501 PINMUX_DATA(DU0_DG5_MARK, PORT13_FN7),
502 PINMUX_DATA(IRQ13_MARK, PORT13_FN0),
503
504 /* Port14 */
505 PINMUX_DATA(LCDD14_MARK, PORT14_FN1),
506 PINMUX_DATA(FSICOBT_MARK, PORT14_FN3),
507 PINMUX_DATA(FSICIBT_MARK, PORT14_FN4),
508 PINMUX_DATA(DU0_DG6_MARK, PORT14_FN7),
509 PINMUX_DATA(IRQ14_MARK, PORT14_FN0),
510
511 /* Port15 */
512 PINMUX_DATA(LCDD15_MARK, PORT15_FN1),
513 PINMUX_DATA(FSICOSLD_MARK, PORT15_FN3),
514 PINMUX_DATA(DU0_DG7_MARK, PORT15_FN7),
515 PINMUX_DATA(IRQ15_MARK, PORT15_FN0),
516
517 /* Port16 */
518 PINMUX_DATA(LCDD16_MARK, PORT16_FN1),
519 PINMUX_DATA(TPU1TO1_MARK, PORT16_FN4),
520 PINMUX_DATA(DU0_DB0_MARK, PORT16_FN7),
521
522 /* Port17 */
523 PINMUX_DATA(LCDD17_MARK, PORT17_FN1),
524 PINMUX_DATA(SF_IRQ_00_MARK, PORT17_FN4),
525 PINMUX_DATA(DU0_DB1_MARK, PORT17_FN7),
526
527 /* Port18 */
528 PINMUX_DATA(LCDD18_MARK, PORT18_FN1),
529 PINMUX_DATA(SF_IRQ_01_MARK, PORT18_FN4),
530 PINMUX_DATA(DU0_DB2_MARK, PORT18_FN7),
531
532 /* Port19 */
533 PINMUX_DATA(LCDD19_MARK, PORT19_FN1),
534 PINMUX_DATA(SCIFB3_RTS_19_MARK, PORT19_FN3),
535 PINMUX_DATA(DU0_DB3_MARK, PORT19_FN7),
536
537 /* Port20 */
538 PINMUX_DATA(LCDD20_MARK, PORT20_FN1),
539 PINMUX_DATA(SCIFB3_CTS_20_MARK, PORT20_FN3, MSEL3CR_09_0),
540 PINMUX_DATA(DU0_DB4_MARK, PORT20_FN7),
541
542 /* Port21 */
543 PINMUX_DATA(LCDD21_MARK, PORT21_FN1),
544 PINMUX_DATA(SCIFB3_TXD_21_MARK, PORT21_FN3, MSEL3CR_09_0),
545 PINMUX_DATA(DU0_DB5_MARK, PORT21_FN7),
546
547 /* Port22 */
548 PINMUX_DATA(LCDD22_MARK, PORT22_FN1),
549 PINMUX_DATA(SCIFB3_RXD_22_MARK, PORT22_FN3, MSEL3CR_09_0),
550 PINMUX_DATA(DU0_DB6_MARK, PORT22_FN7),
551
552 /* Port23 */
553 PINMUX_DATA(LCDD23_MARK, PORT23_FN1),
554 PINMUX_DATA(SCIFB3_SCK_23_MARK, PORT23_FN3),
555 PINMUX_DATA(DU0_DB7_MARK, PORT23_FN7),
556
557 /* Port24 */
558 PINMUX_DATA(LCDHSYN_MARK, PORT24_FN1),
559 PINMUX_DATA(LCDCS_MARK, PORT24_FN2),
560 PINMUX_DATA(SCIFB1_RTS_24_MARK, PORT24_FN3),
561 PINMUX_DATA(DU0_EXHSYNC_N_CSYNC_N_HSYNC_N_MARK, PORT24_FN7),
562
563 /* Port25 */
564 PINMUX_DATA(LCDVSYN_MARK, PORT25_FN1),
565 PINMUX_DATA(SCIFB1_CTS_25_MARK, PORT25_FN3, MSEL3CR_11_0),
566 PINMUX_DATA(DU0_EXVSYNC_N_VSYNC_N_CSYNC_N_MARK, PORT25_FN7),
567
568 /* Port26 */
569 PINMUX_DATA(LCDDCK_MARK, PORT26_FN1),
570 PINMUX_DATA(LCDWR_MARK, PORT26_FN2),
571 PINMUX_DATA(SCIFB1_TXD_26_MARK, PORT26_FN3, MSEL3CR_11_0),
572 PINMUX_DATA(DU0_DOTCLKIN_MARK, PORT26_FN7),
573
574 /* Port27 */
575 PINMUX_DATA(LCDDISP_MARK, PORT27_FN1),
576 PINMUX_DATA(LCDRS_MARK, PORT27_FN2),
577 PINMUX_DATA(SCIFB1_RXD_27_MARK, PORT27_FN3, MSEL3CR_11_0),
578 PINMUX_DATA(DU0_DOTCLKOUT_MARK, PORT27_FN7),
579
580 /* Port28 */
581 PINMUX_DATA(LCDRD_N_MARK, PORT28_FN1),
582 PINMUX_DATA(SCIFB1_SCK_28_MARK, PORT28_FN3),
583 PINMUX_DATA(DU0_DOTCLKOUTB_MARK, PORT28_FN7),
584
585 /* Port29 */
586 PINMUX_DATA(LCDLCLK_MARK, PORT29_FN1),
587 PINMUX_DATA(SF_IRQ_02_MARK, PORT29_FN4),
588 PINMUX_DATA(DU0_DISP_CSYNC_N_DE_MARK, PORT29_FN7),
589
590 /* Port30 */
591 PINMUX_DATA(LCDDON_MARK, PORT30_FN1),
592 PINMUX_DATA(SF_IRQ_03_MARK, PORT30_FN4),
593 PINMUX_DATA(DU0_ODDF_N_CLAMP_MARK, PORT30_FN7),
594
595 /* Port32 */
596 PINMUX_DATA(SCIFA0_RTS_MARK, PORT32_FN1),
597 PINMUX_DATA(SIM0_DET_MARK, PORT32_FN5),
598 PINMUX_DATA(CSCIF0_RTS_MARK, PORT32_FN7),
599
600 /* Port33 */
601 PINMUX_DATA(SCIFA0_CTS_MARK, PORT33_FN1),
602 PINMUX_DATA(SIM1_DET_MARK, PORT33_FN5),
603 PINMUX_DATA(CSCIF0_CTS_MARK, PORT33_FN7),
604
605 /* Port34 */
606 PINMUX_DATA(SCIFA0_SCK_MARK, PORT34_FN1),
607 PINMUX_DATA(SIM0_PWRON_MARK, PORT34_FN5),
608 PINMUX_DATA(CSCIF0_SCK_MARK, PORT34_FN7),
609
610 /* Port35 */
611 PINMUX_DATA(SCIFA1_RTS_MARK, PORT35_FN1),
612 PINMUX_DATA(CSCIF1_RTS_MARK, PORT35_FN7),
613
614 /* Port36 */
615 PINMUX_DATA(SCIFA1_CTS_MARK, PORT36_FN1),
616 PINMUX_DATA(CSCIF1_CTS_MARK, PORT36_FN7),
617
618 /* Port37 */
619 PINMUX_DATA(SCIFA1_SCK_MARK, PORT37_FN1),
620 PINMUX_DATA(CSCIF1_SCK_MARK, PORT37_FN7),
621
622 /* Port38 */
623 PINMUX_DATA(SCIFB0_RTS_MARK, PORT38_FN1),
624 PINMUX_DATA(TPU0TO1_MARK, PORT38_FN3),
625 PINMUX_DATA(SCIFB3_RTS_38_MARK, PORT38_FN4),
626 PINMUX_DATA(CHSCIF0_HRTS_MARK, PORT38_FN7),
627
628 /* Port39 */
629 PINMUX_DATA(SCIFB0_CTS_MARK, PORT39_FN1),
630 PINMUX_DATA(TPU0TO2_MARK, PORT39_FN3),
631 PINMUX_DATA(SCIFB3_CTS_39_MARK, PORT39_FN4, MSEL3CR_09_1),
632 PINMUX_DATA(CHSCIF0_HCTS_MARK, PORT39_FN7),
633
634 /* Port40 */
635 PINMUX_DATA(SCIFB0_SCK_MARK, PORT40_FN1),
636 PINMUX_DATA(TPU0TO3_MARK, PORT40_FN3),
637 PINMUX_DATA(SCIFB3_SCK_40_MARK, PORT40_FN4),
638 PINMUX_DATA(CHSCIF0_HSCK_MARK, PORT40_FN7),
639
640 /* Port64 */
641 PINMUX_DATA(PDM0_DATA_MARK, PORT64_FN1),
642
643 /* Port65 */
644 PINMUX_DATA(PDM1_DATA_MARK, PORT65_FN1),
645
646 /* Port66 */
647 PINMUX_DATA(HSI_RX_WAKE_MARK, PORT66_FN1),
648 PINMUX_DATA(SCIFB2_CTS_66_MARK, PORT66_FN2, MSEL3CR_10_0),
649 PINMUX_DATA(MSIOF3_SYNC_MARK, PORT66_FN3),
650 PINMUX_DATA(GenIO4_MARK, PORT66_FN5),
651 PINMUX_DATA(IRQ40_MARK, PORT66_FN0),
652
653 /* Port67 */
654 PINMUX_DATA(HSI_RX_READY_MARK, PORT67_FN1),
655 PINMUX_DATA(SCIFB1_TXD_67_MARK, PORT67_FN2, MSEL3CR_11_1),
656 PINMUX_DATA(GIO_OUT3_67_MARK, PORT67_FN5),
657 PINMUX_DATA(CHSCIF1_HTX_MARK, PORT67_FN7),
658
659 /* Port68 */
660 PINMUX_DATA(HSI_RX_FLAG_MARK, PORT68_FN1),
661 PINMUX_DATA(SCIFB2_TXD_68_MARK, PORT68_FN2, MSEL3CR_10_0),
662 PINMUX_DATA(MSIOF3_TXD_MARK, PORT68_FN3),
663 PINMUX_DATA(GIO_OUT4_68_MARK, PORT68_FN5),
664
665 /* Port69 */
666 PINMUX_DATA(HSI_RX_DATA_MARK, PORT69_FN1),
667 PINMUX_DATA(SCIFB2_RXD_69_MARK, PORT69_FN2, MSEL3CR_10_0),
668 PINMUX_DATA(MSIOF3_RXD_MARK, PORT69_FN3),
669 PINMUX_DATA(GIO_OUT5_69_MARK, PORT69_FN5),
670
671 /* Port70 */
672 PINMUX_DATA(HSI_TX_FLAG_MARK, PORT70_FN1),
673 PINMUX_DATA(SCIFB1_RTS_70_MARK, PORT70_FN2),
674 PINMUX_DATA(GIO_OUT1_70_MARK, PORT70_FN5),
675 PINMUX_DATA(HSIC_TSTCLK0_MARK, PORT70_FN6),
676 PINMUX_DATA(CHSCIF1_HRTS_MARK, PORT70_FN7),
677
678 /* Port71 */
679 PINMUX_DATA(HSI_TX_DATA_MARK, PORT71_FN1),
680 PINMUX_DATA(SCIFB1_CTS_71_MARK, PORT71_FN2, MSEL3CR_11_1),
681 PINMUX_DATA(GIO_OUT2_71_MARK, PORT71_FN5),
682 PINMUX_DATA(HSIC_TSTCLK1_MARK, PORT71_FN6),
683 PINMUX_DATA(CHSCIF1_HCTS_MARK, PORT71_FN7),
684
685 /* Port72 */
686 PINMUX_DATA(HSI_TX_WAKE_MARK, PORT72_FN1),
687 PINMUX_DATA(SCIFB1_RXD_72_MARK, PORT72_FN2, MSEL3CR_11_1),
688 PINMUX_DATA(GenIO8_MARK, PORT72_FN5),
689 PINMUX_DATA(CHSCIF1_HRX_MARK, PORT72_FN7),
690
691 /* Port73 */
692 PINMUX_DATA(HSI_TX_READY_MARK, PORT73_FN1),
693 PINMUX_DATA(SCIFB2_RTS_73_MARK, PORT73_FN2),
694 PINMUX_DATA(MSIOF3_SCK_MARK, PORT73_FN3),
695 PINMUX_DATA(GIO_OUT0_73_MARK, PORT73_FN5),
696
697 /* Port74 - Port85 */
698 PINMUX_DATA(IRDA_OUT_MARK, PORT74_FN1),
699 PINMUX_DATA(IRDA_IN_MARK, PORT75_FN1),
700 PINMUX_DATA(IRDA_FIRSEL_MARK, PORT76_FN1),
701 PINMUX_DATA(TPU0TO0_MARK, PORT77_FN1),
702 PINMUX_DATA(DIGRFEN_MARK, PORT78_FN1),
703 PINMUX_DATA(GPS_TIMESTAMP_MARK, PORT79_FN1),
704 PINMUX_DATA(TXP_MARK, PORT80_FN1),
705 PINMUX_DATA(TXP2_MARK, PORT81_FN1),
706 PINMUX_DATA(COEX_0_MARK, PORT82_FN1),
707 PINMUX_DATA(COEX_1_MARK, PORT83_FN1),
708 PINMUX_DATA(IRQ19_MARK, PORT84_FN0),
709 PINMUX_DATA(IRQ18_MARK, PORT85_FN0),
710
711 /* Port96 - Port101 */
712 PINMUX_DATA(KEYIN0_MARK, PORT96_FN1),
713 PINMUX_DATA(KEYIN1_MARK, PORT97_FN1),
714 PINMUX_DATA(KEYIN2_MARK, PORT98_FN1),
715 PINMUX_DATA(KEYIN3_MARK, PORT99_FN1),
716 PINMUX_DATA(KEYIN4_MARK, PORT100_FN1),
717 PINMUX_DATA(KEYIN5_MARK, PORT101_FN1),
718
719 /* Port102 */
720 PINMUX_DATA(KEYIN6_MARK, PORT102_FN1),
721 PINMUX_DATA(IRQ41_MARK, PORT102_FN0),
722
723 /* Port103 */
724 PINMUX_DATA(KEYIN7_MARK, PORT103_FN1),
725 PINMUX_DATA(IRQ42_MARK, PORT103_FN0),
726
727 /* Port104 - Port108 */
728 PINMUX_DATA(KEYOUT0_MARK, PORT104_FN2),
729 PINMUX_DATA(KEYOUT1_MARK, PORT105_FN2),
730 PINMUX_DATA(KEYOUT2_MARK, PORT106_FN2),
731 PINMUX_DATA(KEYOUT3_MARK, PORT107_FN2),
732 PINMUX_DATA(KEYOUT4_MARK, PORT108_FN2),
733
734 /* Port109 */
735 PINMUX_DATA(KEYOUT5_MARK, PORT109_FN2),
736 PINMUX_DATA(IRQ43_MARK, PORT109_FN0),
737
738 /* Port110 */
739 PINMUX_DATA(KEYOUT6_MARK, PORT110_FN2),
740 PINMUX_DATA(IRQ44_MARK, PORT110_FN0),
741
742 /* Port111 */
743 PINMUX_DATA(KEYOUT7_MARK, PORT111_FN2),
744 PINMUX_DATA(RFANAEN_MARK, PORT111_FN5),
745 PINMUX_DATA(IRQ45_MARK, PORT111_FN0),
746
747 /* Port112 */
748 PINMUX_DATA(KEYIN8_MARK, PORT112_FN1),
749 PINMUX_DATA(KEYOUT8_MARK, PORT112_FN2),
750 PINMUX_DATA(SF_IRQ_04_MARK, PORT112_FN4),
751 PINMUX_DATA(IRQ46_MARK, PORT112_FN0),
752
753 /* Port113 */
754 PINMUX_DATA(KEYIN9_MARK, PORT113_FN1),
755 PINMUX_DATA(KEYOUT9_MARK, PORT113_FN2),
756 PINMUX_DATA(SF_IRQ_05_MARK, PORT113_FN4),
757 PINMUX_DATA(IRQ47_MARK, PORT113_FN0),
758
759 /* Port114 */
760 PINMUX_DATA(KEYIN10_MARK, PORT114_FN1),
761 PINMUX_DATA(KEYOUT10_MARK, PORT114_FN2),
762 PINMUX_DATA(SF_IRQ_06_MARK, PORT114_FN4),
763 PINMUX_DATA(IRQ48_MARK, PORT114_FN0),
764
765 /* Port115 */
766 PINMUX_DATA(KEYIN11_MARK, PORT115_FN1),
767 PINMUX_DATA(KEYOUT11_MARK, PORT115_FN2),
768 PINMUX_DATA(SF_IRQ_07_MARK, PORT115_FN4),
769 PINMUX_DATA(IRQ49_MARK, PORT115_FN0),
770
771 /* Port116 */
772 PINMUX_DATA(SCIFA0_TXD_MARK, PORT116_FN1),
773 PINMUX_DATA(CSCIF0_TX_MARK, PORT116_FN7),
774
775 /* Port117 */
776 PINMUX_DATA(SCIFA0_RXD_MARK, PORT117_FN1),
777 PINMUX_DATA(CSCIF0_RX_MARK, PORT117_FN7),
778
779 /* Port118 */
780 PINMUX_DATA(SCIFA1_TXD_MARK, PORT118_FN1),
781 PINMUX_DATA(CSCIF1_TX_MARK, PORT118_FN7),
782
783 /* Port119 */
784 PINMUX_DATA(SCIFA1_RXD_MARK, PORT119_FN1),
785 PINMUX_DATA(CSCIF1_RX_MARK, PORT119_FN7),
786
787 /* Port120 */
788 PINMUX_DATA(SF_PORT_1_120_MARK, PORT120_FN3),
789 PINMUX_DATA(SCIFB3_RXD_120_MARK, PORT120_FN4, MSEL3CR_09_1),
790 PINMUX_DATA(DU0_CDE_MARK, PORT120_FN7),
791
792 /* Port121 */
793 PINMUX_DATA(SF_PORT_0_121_MARK, PORT121_FN3),
794 PINMUX_DATA(SCIFB3_TXD_121_MARK, PORT121_FN4, MSEL3CR_09_1),
795
796 /* Port122 */
797 PINMUX_DATA(SCIFB0_TXD_MARK, PORT122_FN1),
798 PINMUX_DATA(CHSCIF0_HTX_MARK, PORT122_FN7),
799
800 /* Port123 */
801 PINMUX_DATA(SCIFB0_RXD_MARK, PORT123_FN1),
802 PINMUX_DATA(CHSCIF0_HRX_MARK, PORT123_FN7),
803
804 /* Port124 */
805 PINMUX_DATA(ISP_STROBE_124_MARK, PORT124_FN3),
806
807 /* Port125 */
808 PINMUX_DATA(STP_ISD_0_MARK, PORT125_FN1),
809 PINMUX_DATA(PDM4_CLK_125_MARK, PORT125_FN2),
810 PINMUX_DATA(MSIOF2_TXD_MARK, PORT125_FN3),
811 PINMUX_DATA(SIM0_VOLTSEL0_MARK, PORT125_FN5),
812
813 /* Port126 */
814 PINMUX_DATA(TS_SDEN_MARK, PORT126_FN1),
815 PINMUX_DATA(MSIOF7_SYNC_MARK, PORT126_FN2),
816 PINMUX_DATA(STP_ISEN_1_MARK, PORT126_FN3),
817
818 /* Port128 */
819 PINMUX_DATA(STP_ISEN_0_MARK, PORT128_FN1),
820 PINMUX_DATA(PDM1_OUTDATA_128_MARK, PORT128_FN2),
821 PINMUX_DATA(MSIOF2_SYNC_MARK, PORT128_FN3),
822 PINMUX_DATA(SIM1_VOLTSEL1_MARK, PORT128_FN5),
823
824 /* Port129 */
825 PINMUX_DATA(TS_SPSYNC_MARK, PORT129_FN1),
826 PINMUX_DATA(MSIOF7_RXD_MARK, PORT129_FN2),
827 PINMUX_DATA(STP_ISSYNC_1_MARK, PORT129_FN3),
828
829 /* Port130 */
830 PINMUX_DATA(STP_ISSYNC_0_MARK, PORT130_FN1),
831 PINMUX_DATA(PDM4_DATA_130_MARK, PORT130_FN2, MSEL3CR_12_1),
832 PINMUX_DATA(MSIOF2_RXD_MARK, PORT130_FN3),
833 PINMUX_DATA(SIM0_VOLTSEL1_MARK, PORT130_FN5),
834
835 /* Port131 */
836 PINMUX_DATA(STP_OPWM_0_MARK, PORT131_FN1),
837 PINMUX_DATA(SIM1_PWRON_MARK, PORT131_FN5),
838
839 /* Port132 */
840 PINMUX_DATA(TS_SCK_MARK, PORT132_FN1),
841 PINMUX_DATA(MSIOF7_SCK_MARK, PORT132_FN2),
842 PINMUX_DATA(STP_ISCLK_1_MARK, PORT132_FN3),
843
844 /* Port133 */
845 PINMUX_DATA(STP_ISCLK_0_MARK, PORT133_FN1),
846 PINMUX_DATA(PDM1_OUTCLK_133_MARK, PORT133_FN2),
847 PINMUX_DATA(MSIOF2_SCK_MARK, PORT133_FN3),
848 PINMUX_DATA(SIM1_VOLTSEL0_MARK, PORT133_FN5),
849
850 /* Port134 */
851 PINMUX_DATA(TS_SDAT_MARK, PORT134_FN1),
852 PINMUX_DATA(MSIOF7_TXD_MARK, PORT134_FN2),
853 PINMUX_DATA(STP_ISD_1_MARK, PORT134_FN3),
854
855 /* Port160 - Port178 */
856 PINMUX_DATA(IRQ20_MARK, PORT160_FN0),
857 PINMUX_DATA(IRQ21_MARK, PORT161_FN0),
858 PINMUX_DATA(IRQ22_MARK, PORT162_FN0),
859 PINMUX_DATA(IRQ23_MARK, PORT163_FN0),
860 PINMUX_DATA(MMCD0_0_MARK, PORT164_FN1),
861 PINMUX_DATA(MMCD0_1_MARK, PORT165_FN1),
862 PINMUX_DATA(MMCD0_2_MARK, PORT166_FN1),
863 PINMUX_DATA(MMCD0_3_MARK, PORT167_FN1),
864 PINMUX_DATA(MMCD0_4_MARK, PORT168_FN1),
865 PINMUX_DATA(MMCD0_5_MARK, PORT169_FN1),
866 PINMUX_DATA(MMCD0_6_MARK, PORT170_FN1),
867 PINMUX_DATA(MMCD0_7_MARK, PORT171_FN1),
868 PINMUX_DATA(MMCCMD0_MARK, PORT172_FN1),
869 PINMUX_DATA(MMCCLK0_MARK, PORT173_FN1),
870 PINMUX_DATA(MMCRST_MARK, PORT174_FN1),
871 PINMUX_DATA(IRQ24_MARK, PORT175_FN0),
872 PINMUX_DATA(IRQ25_MARK, PORT176_FN0),
873 PINMUX_DATA(IRQ26_MARK, PORT177_FN0),
874 PINMUX_DATA(IRQ27_MARK, PORT178_FN0),
875
876 /* Port192 - Port200 FN1 */
877 PINMUX_DATA(A10_MARK, PORT192_FN1),
878 PINMUX_DATA(A9_MARK, PORT193_FN1),
879 PINMUX_DATA(A8_MARK, PORT194_FN1),
880 PINMUX_DATA(A7_MARK, PORT195_FN1),
881 PINMUX_DATA(A6_MARK, PORT196_FN1),
882 PINMUX_DATA(A5_MARK, PORT197_FN1),
883 PINMUX_DATA(A4_MARK, PORT198_FN1),
884 PINMUX_DATA(A3_MARK, PORT199_FN1),
885 PINMUX_DATA(A2_MARK, PORT200_FN1),
886
887 /* Port192 - Port200 FN2 */
888 PINMUX_DATA(MMCD1_7_MARK, PORT192_FN2),
889 PINMUX_DATA(MMCD1_6_MARK, PORT193_FN2),
890 PINMUX_DATA(MMCD1_5_MARK, PORT194_FN2),
891 PINMUX_DATA(MMCD1_4_MARK, PORT195_FN2),
892 PINMUX_DATA(MMCD1_3_MARK, PORT196_FN2),
893 PINMUX_DATA(MMCD1_2_MARK, PORT197_FN2),
894 PINMUX_DATA(MMCD1_1_MARK, PORT198_FN2),
895 PINMUX_DATA(MMCD1_0_MARK, PORT199_FN2),
896 PINMUX_DATA(MMCCMD1_MARK, PORT200_FN2),
897
898 /* Port192 - Port200 IRQ */
899 PINMUX_DATA(IRQ31_MARK, PORT192_FN0),
900 PINMUX_DATA(IRQ32_MARK, PORT193_FN0),
901 PINMUX_DATA(IRQ33_MARK, PORT194_FN0),
902 PINMUX_DATA(IRQ34_MARK, PORT195_FN0),
903 PINMUX_DATA(IRQ35_MARK, PORT196_FN0),
904 PINMUX_DATA(IRQ36_MARK, PORT197_FN0),
905 PINMUX_DATA(IRQ37_MARK, PORT198_FN0),
906 PINMUX_DATA(IRQ38_MARK, PORT199_FN0),
907 PINMUX_DATA(IRQ39_MARK, PORT200_FN0),
908
909 /* Port201 */
910 PINMUX_DATA(A1_MARK, PORT201_FN1),
911
912 /* Port202 */
913 PINMUX_DATA(A0_MARK, PORT202_FN1),
914 PINMUX_DATA(BS_MARK, PORT202_FN2),
915
916 /* Port203 */
917 PINMUX_DATA(CKO_MARK, PORT203_FN1),
918 PINMUX_DATA(MMCCLK1_MARK, PORT203_FN2),
919
920 /* Port204 */
921 PINMUX_DATA(CS0_N_MARK, PORT204_FN1),
922 PINMUX_DATA(SIM0_GPO1_MARK, PORT204_FN5),
923
924 /* Port205 */
925 PINMUX_DATA(CS2_N_MARK, PORT205_FN1),
926 PINMUX_DATA(SIM0_GPO2_MARK, PORT205_FN5),
927
928 /* Port206 */
929 PINMUX_DATA(CS4_N_MARK, PORT206_FN1),
930 PINMUX_DATA(VIO_VD_MARK, PORT206_FN2),
931 PINMUX_DATA(SIM1_GPO0_MARK, PORT206_FN5),
932
933 /* Port207 - Port212 FN1 */
934 PINMUX_DATA(D15_MARK, PORT207_FN1),
935 PINMUX_DATA(D14_MARK, PORT208_FN1),
936 PINMUX_DATA(D13_MARK, PORT209_FN1),
937 PINMUX_DATA(D12_MARK, PORT210_FN1),
938 PINMUX_DATA(D11_MARK, PORT211_FN1),
939 PINMUX_DATA(D10_MARK, PORT212_FN1),
940
941 /* Port207 - Port212 FN5 */
942 PINMUX_DATA(GIO_OUT15_MARK, PORT207_FN5),
943 PINMUX_DATA(GIO_OUT14_MARK, PORT208_FN5),
944 PINMUX_DATA(GIO_OUT13_MARK, PORT209_FN5),
945 PINMUX_DATA(GIO_OUT12_MARK, PORT210_FN5),
946 PINMUX_DATA(WGM_TXP2_MARK, PORT211_FN5),
947 PINMUX_DATA(WGM_GPS_TIMEM_ASK_RFCLK_MARK, PORT212_FN5),
948
949 /* Port213 - Port222 FN1 */
950 PINMUX_DATA(D9_MARK, PORT213_FN1),
951 PINMUX_DATA(D8_MARK, PORT214_FN1),
952 PINMUX_DATA(D7_MARK, PORT215_FN1),
953 PINMUX_DATA(D6_MARK, PORT216_FN1),
954 PINMUX_DATA(D5_MARK, PORT217_FN1),
955 PINMUX_DATA(D4_MARK, PORT218_FN1),
956 PINMUX_DATA(D3_MARK, PORT219_FN1),
957 PINMUX_DATA(D2_MARK, PORT220_FN1),
958 PINMUX_DATA(D1_MARK, PORT221_FN1),
959 PINMUX_DATA(D0_MARK, PORT222_FN1),
960
961 /* Port213 - Port222 FN2 */
962 PINMUX_DATA(VIO_D9_MARK, PORT213_FN2),
963 PINMUX_DATA(VIO_D8_MARK, PORT214_FN2),
964 PINMUX_DATA(VIO_D7_MARK, PORT215_FN2),
965 PINMUX_DATA(VIO_D6_MARK, PORT216_FN2),
966 PINMUX_DATA(VIO_D5_MARK, PORT217_FN2),
967 PINMUX_DATA(VIO_D4_MARK, PORT218_FN2),
968 PINMUX_DATA(VIO_D3_MARK, PORT219_FN2),
969 PINMUX_DATA(VIO_D2_MARK, PORT220_FN2),
970 PINMUX_DATA(VIO_D1_MARK, PORT221_FN2),
971 PINMUX_DATA(VIO_D0_MARK, PORT222_FN2),
972
973 /* Port213 - Port222 FN5 */
974 PINMUX_DATA(GIO_OUT9_MARK, PORT213_FN5),
975 PINMUX_DATA(GIO_OUT8_MARK, PORT214_FN5),
976 PINMUX_DATA(GIO_OUT7_MARK, PORT215_FN5),
977 PINMUX_DATA(GIO_OUT6_MARK, PORT216_FN5),
978 PINMUX_DATA(GIO_OUT5_217_MARK, PORT217_FN5),
979 PINMUX_DATA(GIO_OUT4_218_MARK, PORT218_FN5),
980 PINMUX_DATA(GIO_OUT3_219_MARK, PORT219_FN5),
981 PINMUX_DATA(GIO_OUT2_220_MARK, PORT220_FN5),
982 PINMUX_DATA(GIO_OUT1_221_MARK, PORT221_FN5),
983 PINMUX_DATA(GIO_OUT0_222_MARK, PORT222_FN5),
984
985 /* Port224 */
986 PINMUX_DATA(RDWR_224_MARK, PORT224_FN1),
987 PINMUX_DATA(VIO_HD_MARK, PORT224_FN2),
988 PINMUX_DATA(SIM1_GPO2_MARK, PORT224_FN5),
989
990 /* Port225 */
991 PINMUX_DATA(RD_N_MARK, PORT225_FN1),
992
993 /* Port226 */
994 PINMUX_DATA(WAIT_N_MARK, PORT226_FN1),
995 PINMUX_DATA(VIO_CLK_MARK, PORT226_FN2),
996 PINMUX_DATA(SIM1_GPO1_MARK, PORT226_FN5),
997
998 /* Port227 */
999 PINMUX_DATA(WE0_N_MARK, PORT227_FN1),
1000 PINMUX_DATA(RDWR_227_MARK, PORT227_FN2),
1001
1002 /* Port228 */
1003 PINMUX_DATA(WE1_N_MARK, PORT228_FN1),
1004 PINMUX_DATA(SIM0_GPO0_MARK, PORT228_FN5),
1005
1006 /* Port229 */
1007 PINMUX_DATA(PWMO_MARK, PORT229_FN1),
1008 PINMUX_DATA(VIO_CKO1_229_MARK, PORT229_FN2),
1009
1010 /* Port230 */
1011 PINMUX_DATA(SLIM_CLK_MARK, PORT230_FN1),
1012 PINMUX_DATA(VIO_CKO4_230_MARK, PORT230_FN2),
1013
1014 /* Port231 */
1015 PINMUX_DATA(SLIM_DATA_MARK, PORT231_FN1),
1016 PINMUX_DATA(VIO_CKO5_231_MARK, PORT231_FN2),
1017
1018 /* Port232 */
1019 PINMUX_DATA(VIO_CKO2_232_MARK, PORT232_FN2),
1020 PINMUX_DATA(SF_PORT_0_232_MARK, PORT232_FN4),
1021
1022 /* Port233 */
1023 PINMUX_DATA(VIO_CKO3_233_MARK, PORT233_FN2),
1024 PINMUX_DATA(SF_PORT_1_233_MARK, PORT233_FN4),
1025
1026 /* Port234 */
1027 PINMUX_DATA(FSIACK_MARK, PORT234_FN1),
1028 PINMUX_DATA(PDM3_CLK_234_MARK, PORT234_FN2),
1029 PINMUX_DATA(ISP_IRIS1_234_MARK, PORT234_FN3),
1030
1031 /* Port235 */
1032 PINMUX_DATA(FSIAISLD_MARK, PORT235_FN1),
1033 PINMUX_DATA(PDM3_DATA_235_MARK, PORT235_FN2, MSEL3CR_12_1),
1034
1035 /* Port236 */
1036 PINMUX_DATA(FSIAOMC_MARK, PORT236_FN1),
1037 PINMUX_DATA(PDM0_OUTCLK_236_MARK, PORT236_FN2),
1038 PINMUX_DATA(ISP_IRIS0_236_MARK, PORT236_FN3),
1039
1040 /* Port237 */
1041 PINMUX_DATA(FSIAOLR_MARK, PORT237_FN1),
1042 PINMUX_DATA(FSIAILR_MARK, PORT237_FN2),
1043
1044 /* Port238 */
1045 PINMUX_DATA(FSIAOBT_MARK, PORT238_FN1),
1046 PINMUX_DATA(FSIAIBT_MARK, PORT238_FN2),
1047
1048 /* Port239 */
1049 PINMUX_DATA(FSIAOSLD_MARK, PORT239_FN1),
1050 PINMUX_DATA(PDM0_OUTDATA_239_MARK, PORT239_FN2),
1051
1052 /* Port240 */
1053 PINMUX_DATA(FSIBISLD_MARK, PORT240_FN1),
1054
1055 /* Port241 */
1056 PINMUX_DATA(FSIBOLR_MARK, PORT241_FN1),
1057 PINMUX_DATA(FSIBILR_MARK, PORT241_FN2),
1058
1059 /* Port242 */
1060 PINMUX_DATA(FSIBOMC_MARK, PORT242_FN1),
1061 PINMUX_DATA(ISP_SHUTTER1_242_MARK, PORT242_FN3),
1062
1063 /* Port243 */
1064 PINMUX_DATA(FSIBOBT_MARK, PORT243_FN1),
1065 PINMUX_DATA(FSIBIBT_MARK, PORT243_FN2),
1066
1067 /* Port244 */
1068 PINMUX_DATA(FSIBOSLD_MARK, PORT244_FN1),
1069 PINMUX_DATA(FSIASPDIF_MARK, PORT244_FN2),
1070
1071 /* Port245 */
1072 PINMUX_DATA(FSIBCK_MARK, PORT245_FN1),
1073 PINMUX_DATA(ISP_SHUTTER0_245_MARK, PORT245_FN3),
1074
1075 /* Port246 - Port250 FN1 */
1076 PINMUX_DATA(ISP_IRIS1_246_MARK, PORT246_FN1),
1077 PINMUX_DATA(ISP_IRIS0_247_MARK, PORT247_FN1),
1078 PINMUX_DATA(ISP_SHUTTER1_248_MARK, PORT248_FN1),
1079 PINMUX_DATA(ISP_SHUTTER0_249_MARK, PORT249_FN1),
1080 PINMUX_DATA(ISP_STROBE_250_MARK, PORT250_FN1),
1081
1082 /* Port256 - Port258 */
1083 PINMUX_DATA(MSIOF0_SYNC_MARK, PORT256_FN1),
1084 PINMUX_DATA(MSIOF0_RXD_MARK, PORT257_FN1),
1085 PINMUX_DATA(MSIOF0_SCK_MARK, PORT258_FN1),
1086
1087 /* Port259 */
1088 PINMUX_DATA(MSIOF0_SS2_MARK, PORT259_FN1),
1089 PINMUX_DATA(VIO_CKO3_259_MARK, PORT259_FN3),
1090
1091 /* Port260 */
1092 PINMUX_DATA(MSIOF0_TXD_MARK, PORT260_FN1),
1093
1094 /* Port261 */
1095 PINMUX_DATA(SCIFB1_SCK_261_MARK, PORT261_FN2),
1096 PINMUX_DATA(CHSCIF1_HSCK_MARK, PORT261_FN7),
1097
1098 /* Port262 */
1099 PINMUX_DATA(SCIFB2_SCK_262_MARK, PORT262_FN2),
1100
1101 /* Port263 - Port266 FN1 */
1102 PINMUX_DATA(MSIOF1_SS2_MARK, PORT263_FN1),
1103 PINMUX_DATA(MSIOF1_TXD_MARK, PORT264_FN1),
1104 PINMUX_DATA(MSIOF1_RXD_MARK, PORT265_FN1),
1105 PINMUX_DATA(MSIOF1_SS1_MARK, PORT266_FN1),
1106
1107 /* Port263 - Port266 FN4 */
1108 PINMUX_DATA(MSIOF5_SS2_MARK, PORT263_FN4),
1109 PINMUX_DATA(MSIOF5_TXD_MARK, PORT264_FN4),
1110 PINMUX_DATA(MSIOF5_RXD_MARK, PORT265_FN4),
1111 PINMUX_DATA(MSIOF5_SS1_MARK, PORT266_FN4),
1112
1113 /* Port267 */
1114 PINMUX_DATA(MSIOF0_SS1_MARK, PORT267_FN1),
1115
1116 /* Port268 */
1117 PINMUX_DATA(MSIOF1_SCK_MARK, PORT268_FN1),
1118 PINMUX_DATA(MSIOF5_SCK_MARK, PORT268_FN4),
1119
1120 /* Port269 */
1121 PINMUX_DATA(MSIOF1_SYNC_MARK, PORT269_FN1),
1122 PINMUX_DATA(MSIOF5_SYNC_MARK, PORT269_FN4),
1123
1124 /* Port270 - Port273 FN1 */
1125 PINMUX_DATA(MSIOF2_SS1_MARK, PORT270_FN1),
1126 PINMUX_DATA(MSIOF2_SS2_MARK, PORT271_FN1),
1127 PINMUX_DATA(MSIOF3_SS2_MARK, PORT272_FN1),
1128 PINMUX_DATA(MSIOF3_SS1_MARK, PORT273_FN1),
1129
1130 /* Port270 - Port273 FN3 */
1131 PINMUX_DATA(VIO_CKO5_270_MARK, PORT270_FN3),
1132 PINMUX_DATA(VIO_CKO2_271_MARK, PORT271_FN3),
1133 PINMUX_DATA(VIO_CKO1_272_MARK, PORT272_FN3),
1134 PINMUX_DATA(VIO_CKO4_273_MARK, PORT273_FN3),
1135
1136 /* Port274 */
1137 PINMUX_DATA(MSIOF4_SS2_MARK, PORT274_FN1),
1138 PINMUX_DATA(TPU1TO0_MARK, PORT274_FN4),
1139
1140 /* Port275 - Port280 */
1141 PINMUX_DATA(IC_DP_MARK, PORT275_FN1),
1142 PINMUX_DATA(SIM0_RST_MARK, PORT276_FN1),
1143 PINMUX_DATA(IC_DM_MARK, PORT277_FN1),
1144 PINMUX_DATA(SIM0_BSICOMP_MARK, PORT278_FN1),
1145 PINMUX_DATA(SIM0_CLK_MARK, PORT279_FN1),
1146 PINMUX_DATA(SIM0_IO_MARK, PORT280_FN1),
1147
1148 /* Port281 */
1149 PINMUX_DATA(SIM1_IO_MARK, PORT281_FN1),
1150 PINMUX_DATA(PDM2_DATA_281_MARK, PORT281_FN2, MSEL3CR_12_1),
1151
1152 /* Port282 */
1153 PINMUX_DATA(SIM1_CLK_MARK, PORT282_FN1),
1154 PINMUX_DATA(PDM2_CLK_282_MARK, PORT282_FN2),
1155
1156 /* Port283 */
1157 PINMUX_DATA(SIM1_RST_MARK, PORT283_FN1),
1158
1159 /* Port289 */
1160 PINMUX_DATA(SDHID1_0_MARK, PORT289_FN1),
1161 PINMUX_DATA(STMDATA0_2_MARK, PORT289_FN3),
1162
1163 /* Port290 */
1164 PINMUX_DATA(SDHID1_1_MARK, PORT290_FN1),
1165 PINMUX_DATA(STMDATA1_2_MARK, PORT290_FN3),
1166 PINMUX_DATA(IRQ51_MARK, PORT290_FN0),
1167
1168 /* Port291 - Port294 FN1 */
1169 PINMUX_DATA(SDHID1_2_MARK, PORT291_FN1),
1170 PINMUX_DATA(SDHID1_3_MARK, PORT292_FN1),
1171 PINMUX_DATA(SDHICLK1_MARK, PORT293_FN1),
1172 PINMUX_DATA(SDHICMD1_MARK, PORT294_FN1),
1173
1174 /* Port291 - Port294 FN3 */
1175 PINMUX_DATA(STMDATA2_2_MARK, PORT291_FN3),
1176 PINMUX_DATA(STMDATA3_2_MARK, PORT292_FN3),
1177 PINMUX_DATA(STMCLK_2_MARK, PORT293_FN3),
1178 PINMUX_DATA(STMSIDI_2_MARK, PORT294_FN3),
1179
1180 /* Port295 */
1181 PINMUX_DATA(SDHID2_0_MARK, PORT295_FN1),
1182 PINMUX_DATA(MSIOF4_TXD_MARK, PORT295_FN2),
1183 PINMUX_DATA(SCIFB2_TXD_295_MARK, PORT295_FN3, MSEL3CR_10_1),
1184 PINMUX_DATA(MSIOF6_TXD_MARK, PORT295_FN4),
1185
1186 /* Port296 */
1187 PINMUX_DATA(SDHID2_1_MARK, PORT296_FN1),
1188 PINMUX_DATA(MSIOF6_SS2_MARK, PORT296_FN4),
1189 PINMUX_DATA(IRQ52_MARK, PORT296_FN0),
1190
1191 /* Port297 - Port300 FN1 */
1192 PINMUX_DATA(SDHID2_2_MARK, PORT297_FN1),
1193 PINMUX_DATA(SDHID2_3_MARK, PORT298_FN1),
1194 PINMUX_DATA(SDHICLK2_MARK, PORT299_FN1),
1195 PINMUX_DATA(SDHICMD2_MARK, PORT300_FN1),
1196
1197 /* Port297 - Port300 FN2 */
1198 PINMUX_DATA(MSIOF4_RXD_MARK, PORT297_FN2),
1199 PINMUX_DATA(MSIOF4_SYNC_MARK, PORT298_FN2),
1200 PINMUX_DATA(MSIOF4_SCK_MARK, PORT299_FN2),
1201 PINMUX_DATA(MSIOF4_SS1_MARK, PORT300_FN2),
1202
1203 /* Port297 - Port300 FN3 */
1204 PINMUX_DATA(SCIFB2_RXD_297_MARK, PORT297_FN3, MSEL3CR_10_1),
1205 PINMUX_DATA(SCIFB2_CTS_298_MARK, PORT298_FN3, MSEL3CR_10_1),
1206 PINMUX_DATA(SCIFB2_SCK_299_MARK, PORT299_FN3),
1207 PINMUX_DATA(SCIFB2_RTS_300_MARK, PORT300_FN3),
1208
1209 /* Port297 - Port300 FN4 */
1210 PINMUX_DATA(MSIOF6_RXD_MARK, PORT297_FN4),
1211 PINMUX_DATA(MSIOF6_SYNC_MARK, PORT298_FN4),
1212 PINMUX_DATA(MSIOF6_SCK_MARK, PORT299_FN4),
1213 PINMUX_DATA(MSIOF6_SS1_MARK, PORT300_FN4),
1214
1215 /* Port301 */
1216 PINMUX_DATA(SDHICD0_MARK, PORT301_FN1),
1217 PINMUX_DATA(IRQ50_MARK, PORT301_FN0),
1218
1219 /* Port302 - Port306 FN1 */
1220 PINMUX_DATA(SDHID0_0_MARK, PORT302_FN1),
1221 PINMUX_DATA(SDHID0_1_MARK, PORT303_FN1),
1222 PINMUX_DATA(SDHID0_2_MARK, PORT304_FN1),
1223 PINMUX_DATA(SDHID0_3_MARK, PORT305_FN1),
1224 PINMUX_DATA(SDHICMD0_MARK, PORT306_FN1),
1225
1226 /* Port302 - Port306 FN3 */
1227 PINMUX_DATA(STMDATA0_1_MARK, PORT302_FN3),
1228 PINMUX_DATA(STMDATA1_1_MARK, PORT303_FN3),
1229 PINMUX_DATA(STMDATA2_1_MARK, PORT304_FN3),
1230 PINMUX_DATA(STMDATA3_1_MARK, PORT305_FN3),
1231 PINMUX_DATA(STMSIDI_1_MARK, PORT306_FN3),
1232
1233 /* Port307 */
1234 PINMUX_DATA(SDHIWP0_MARK, PORT307_FN1),
1235
1236 /* Port308 */
1237 PINMUX_DATA(SDHICLK0_MARK, PORT308_FN1),
1238 PINMUX_DATA(STMCLK_1_MARK, PORT308_FN3),
1239
1240 /* Port320 - Port329 */
1241 PINMUX_DATA(IRQ16_MARK, PORT320_FN0),
1242 PINMUX_DATA(IRQ17_MARK, PORT321_FN0),
1243 PINMUX_DATA(IRQ28_MARK, PORT322_FN0),
1244 PINMUX_DATA(IRQ29_MARK, PORT323_FN0),
1245 PINMUX_DATA(IRQ30_MARK, PORT324_FN0),
1246 PINMUX_DATA(IRQ53_MARK, PORT325_FN0),
1247 PINMUX_DATA(IRQ54_MARK, PORT326_FN0),
1248 PINMUX_DATA(IRQ55_MARK, PORT327_FN0),
1249 PINMUX_DATA(IRQ56_MARK, PORT328_FN0),
1250 PINMUX_DATA(IRQ57_MARK, PORT329_FN0),
1251 };
1252
1253 #define __O (SH_PFC_PIN_CFG_OUTPUT)
1254 #define __IO (SH_PFC_PIN_CFG_INPUT | SH_PFC_PIN_CFG_OUTPUT)
1255 #define __PUD (SH_PFC_PIN_CFG_PULL_UP_DOWN)
1256
1257 #define R8A73A4_PIN_IO_PU_PD(pin) SH_PFC_PIN_CFG(pin, __IO | __PUD)
1258 #define R8A73A4_PIN_O(pin) SH_PFC_PIN_CFG(pin, __O)
1259
1260 static const struct sh_pfc_pin pinmux_pins[] = {
1261 R8A73A4_PIN_IO_PU_PD(0), R8A73A4_PIN_IO_PU_PD(1),
1262 R8A73A4_PIN_IO_PU_PD(2), R8A73A4_PIN_IO_PU_PD(3),
1263 R8A73A4_PIN_IO_PU_PD(4), R8A73A4_PIN_IO_PU_PD(5),
1264 R8A73A4_PIN_IO_PU_PD(6), R8A73A4_PIN_IO_PU_PD(7),
1265 R8A73A4_PIN_IO_PU_PD(8), R8A73A4_PIN_IO_PU_PD(9),
1266 R8A73A4_PIN_IO_PU_PD(10), R8A73A4_PIN_IO_PU_PD(11),
1267 R8A73A4_PIN_IO_PU_PD(12), R8A73A4_PIN_IO_PU_PD(13),
1268 R8A73A4_PIN_IO_PU_PD(14), R8A73A4_PIN_IO_PU_PD(15),
1269 R8A73A4_PIN_IO_PU_PD(16), R8A73A4_PIN_IO_PU_PD(17),
1270 R8A73A4_PIN_IO_PU_PD(18), R8A73A4_PIN_IO_PU_PD(19),
1271 R8A73A4_PIN_IO_PU_PD(20), R8A73A4_PIN_IO_PU_PD(21),
1272 R8A73A4_PIN_IO_PU_PD(22), R8A73A4_PIN_IO_PU_PD(23),
1273 R8A73A4_PIN_IO_PU_PD(24), R8A73A4_PIN_IO_PU_PD(25),
1274 R8A73A4_PIN_IO_PU_PD(26), R8A73A4_PIN_IO_PU_PD(27),
1275 R8A73A4_PIN_IO_PU_PD(28), R8A73A4_PIN_IO_PU_PD(29),
1276 R8A73A4_PIN_IO_PU_PD(30),
1277 R8A73A4_PIN_IO_PU_PD(32), R8A73A4_PIN_IO_PU_PD(33),
1278 R8A73A4_PIN_IO_PU_PD(34), R8A73A4_PIN_IO_PU_PD(35),
1279 R8A73A4_PIN_IO_PU_PD(36), R8A73A4_PIN_IO_PU_PD(37),
1280 R8A73A4_PIN_IO_PU_PD(38), R8A73A4_PIN_IO_PU_PD(39),
1281 R8A73A4_PIN_IO_PU_PD(40),
1282 R8A73A4_PIN_IO_PU_PD(64), R8A73A4_PIN_IO_PU_PD(65),
1283 R8A73A4_PIN_IO_PU_PD(66), R8A73A4_PIN_IO_PU_PD(67),
1284 R8A73A4_PIN_IO_PU_PD(68), R8A73A4_PIN_IO_PU_PD(69),
1285 R8A73A4_PIN_IO_PU_PD(70), R8A73A4_PIN_IO_PU_PD(71),
1286 R8A73A4_PIN_IO_PU_PD(72), R8A73A4_PIN_IO_PU_PD(73),
1287 R8A73A4_PIN_O(74), R8A73A4_PIN_IO_PU_PD(75),
1288 R8A73A4_PIN_IO_PU_PD(76), R8A73A4_PIN_IO_PU_PD(77),
1289 R8A73A4_PIN_IO_PU_PD(78), R8A73A4_PIN_IO_PU_PD(79),
1290 R8A73A4_PIN_IO_PU_PD(80), R8A73A4_PIN_IO_PU_PD(81),
1291 R8A73A4_PIN_IO_PU_PD(82), R8A73A4_PIN_IO_PU_PD(83),
1292 R8A73A4_PIN_IO_PU_PD(84), R8A73A4_PIN_IO_PU_PD(85),
1293 R8A73A4_PIN_IO_PU_PD(96), R8A73A4_PIN_IO_PU_PD(97),
1294 R8A73A4_PIN_IO_PU_PD(98), R8A73A4_PIN_IO_PU_PD(99),
1295 R8A73A4_PIN_IO_PU_PD(100), R8A73A4_PIN_IO_PU_PD(101),
1296 R8A73A4_PIN_IO_PU_PD(102), R8A73A4_PIN_IO_PU_PD(103),
1297 R8A73A4_PIN_IO_PU_PD(104), R8A73A4_PIN_IO_PU_PD(105),
1298 R8A73A4_PIN_IO_PU_PD(106), R8A73A4_PIN_IO_PU_PD(107),
1299 R8A73A4_PIN_IO_PU_PD(108), R8A73A4_PIN_IO_PU_PD(109),
1300 R8A73A4_PIN_IO_PU_PD(110), R8A73A4_PIN_IO_PU_PD(111),
1301 R8A73A4_PIN_IO_PU_PD(112), R8A73A4_PIN_IO_PU_PD(113),
1302 R8A73A4_PIN_IO_PU_PD(114), R8A73A4_PIN_IO_PU_PD(115),
1303 R8A73A4_PIN_IO_PU_PD(116), R8A73A4_PIN_IO_PU_PD(117),
1304 R8A73A4_PIN_IO_PU_PD(118), R8A73A4_PIN_IO_PU_PD(119),
1305 R8A73A4_PIN_IO_PU_PD(120), R8A73A4_PIN_IO_PU_PD(121),
1306 R8A73A4_PIN_IO_PU_PD(122), R8A73A4_PIN_IO_PU_PD(123),
1307 R8A73A4_PIN_IO_PU_PD(124), R8A73A4_PIN_IO_PU_PD(125),
1308 R8A73A4_PIN_IO_PU_PD(126),
1309 R8A73A4_PIN_IO_PU_PD(128), R8A73A4_PIN_IO_PU_PD(129),
1310 R8A73A4_PIN_IO_PU_PD(130), R8A73A4_PIN_IO_PU_PD(131),
1311 R8A73A4_PIN_IO_PU_PD(132), R8A73A4_PIN_IO_PU_PD(133),
1312 R8A73A4_PIN_IO_PU_PD(134),
1313 R8A73A4_PIN_IO_PU_PD(160), R8A73A4_PIN_IO_PU_PD(161),
1314 R8A73A4_PIN_IO_PU_PD(162), R8A73A4_PIN_IO_PU_PD(163),
1315 R8A73A4_PIN_IO_PU_PD(164), R8A73A4_PIN_IO_PU_PD(165),
1316 R8A73A4_PIN_IO_PU_PD(166), R8A73A4_PIN_IO_PU_PD(167),
1317 R8A73A4_PIN_IO_PU_PD(168), R8A73A4_PIN_IO_PU_PD(169),
1318 R8A73A4_PIN_IO_PU_PD(170), R8A73A4_PIN_IO_PU_PD(171),
1319 R8A73A4_PIN_IO_PU_PD(172), R8A73A4_PIN_IO_PU_PD(173),
1320 R8A73A4_PIN_IO_PU_PD(174), R8A73A4_PIN_IO_PU_PD(175),
1321 R8A73A4_PIN_IO_PU_PD(176), R8A73A4_PIN_IO_PU_PD(177),
1322 R8A73A4_PIN_IO_PU_PD(178),
1323 R8A73A4_PIN_IO_PU_PD(192), R8A73A4_PIN_IO_PU_PD(193),
1324 R8A73A4_PIN_IO_PU_PD(194), R8A73A4_PIN_IO_PU_PD(195),
1325 R8A73A4_PIN_IO_PU_PD(196), R8A73A4_PIN_IO_PU_PD(197),
1326 R8A73A4_PIN_IO_PU_PD(198), R8A73A4_PIN_IO_PU_PD(199),
1327 R8A73A4_PIN_IO_PU_PD(200), R8A73A4_PIN_IO_PU_PD(201),
1328 R8A73A4_PIN_IO_PU_PD(202), R8A73A4_PIN_IO_PU_PD(203),
1329 R8A73A4_PIN_IO_PU_PD(204), R8A73A4_PIN_IO_PU_PD(205),
1330 R8A73A4_PIN_IO_PU_PD(206), R8A73A4_PIN_IO_PU_PD(207),
1331 R8A73A4_PIN_IO_PU_PD(208), R8A73A4_PIN_IO_PU_PD(209),
1332 R8A73A4_PIN_IO_PU_PD(210), R8A73A4_PIN_IO_PU_PD(211),
1333 R8A73A4_PIN_IO_PU_PD(212), R8A73A4_PIN_IO_PU_PD(213),
1334 R8A73A4_PIN_IO_PU_PD(214), R8A73A4_PIN_IO_PU_PD(215),
1335 R8A73A4_PIN_IO_PU_PD(216), R8A73A4_PIN_IO_PU_PD(217),
1336 R8A73A4_PIN_IO_PU_PD(218), R8A73A4_PIN_IO_PU_PD(219),
1337 R8A73A4_PIN_IO_PU_PD(220), R8A73A4_PIN_IO_PU_PD(221),
1338 R8A73A4_PIN_IO_PU_PD(222),
1339 R8A73A4_PIN_IO_PU_PD(224), R8A73A4_PIN_IO_PU_PD(225),
1340 R8A73A4_PIN_IO_PU_PD(226), R8A73A4_PIN_IO_PU_PD(227),
1341 R8A73A4_PIN_IO_PU_PD(228), R8A73A4_PIN_IO_PU_PD(229),
1342 R8A73A4_PIN_IO_PU_PD(230), R8A73A4_PIN_IO_PU_PD(231),
1343 R8A73A4_PIN_IO_PU_PD(232), R8A73A4_PIN_IO_PU_PD(233),
1344 R8A73A4_PIN_IO_PU_PD(234), R8A73A4_PIN_IO_PU_PD(235),
1345 R8A73A4_PIN_IO_PU_PD(236), R8A73A4_PIN_IO_PU_PD(237),
1346 R8A73A4_PIN_IO_PU_PD(238), R8A73A4_PIN_IO_PU_PD(239),
1347 R8A73A4_PIN_IO_PU_PD(240), R8A73A4_PIN_IO_PU_PD(241),
1348 R8A73A4_PIN_IO_PU_PD(242), R8A73A4_PIN_IO_PU_PD(243),
1349 R8A73A4_PIN_IO_PU_PD(244), R8A73A4_PIN_IO_PU_PD(245),
1350 R8A73A4_PIN_IO_PU_PD(246), R8A73A4_PIN_IO_PU_PD(247),
1351 R8A73A4_PIN_IO_PU_PD(248), R8A73A4_PIN_IO_PU_PD(249),
1352 R8A73A4_PIN_IO_PU_PD(250),
1353 R8A73A4_PIN_IO_PU_PD(256), R8A73A4_PIN_IO_PU_PD(257),
1354 R8A73A4_PIN_IO_PU_PD(258), R8A73A4_PIN_IO_PU_PD(259),
1355 R8A73A4_PIN_IO_PU_PD(260), R8A73A4_PIN_IO_PU_PD(261),
1356 R8A73A4_PIN_IO_PU_PD(262), R8A73A4_PIN_IO_PU_PD(263),
1357 R8A73A4_PIN_IO_PU_PD(264), R8A73A4_PIN_IO_PU_PD(265),
1358 R8A73A4_PIN_IO_PU_PD(266), R8A73A4_PIN_IO_PU_PD(267),
1359 R8A73A4_PIN_IO_PU_PD(268), R8A73A4_PIN_IO_PU_PD(269),
1360 R8A73A4_PIN_IO_PU_PD(270), R8A73A4_PIN_IO_PU_PD(271),
1361 R8A73A4_PIN_IO_PU_PD(272), R8A73A4_PIN_IO_PU_PD(273),
1362 R8A73A4_PIN_IO_PU_PD(274), R8A73A4_PIN_IO_PU_PD(275),
1363 R8A73A4_PIN_IO_PU_PD(276), R8A73A4_PIN_IO_PU_PD(277),
1364 R8A73A4_PIN_IO_PU_PD(278), R8A73A4_PIN_IO_PU_PD(279),
1365 R8A73A4_PIN_IO_PU_PD(280), R8A73A4_PIN_IO_PU_PD(281),
1366 R8A73A4_PIN_IO_PU_PD(282), R8A73A4_PIN_IO_PU_PD(283),
1367 R8A73A4_PIN_O(288), R8A73A4_PIN_IO_PU_PD(289),
1368 R8A73A4_PIN_IO_PU_PD(290), R8A73A4_PIN_IO_PU_PD(291),
1369 R8A73A4_PIN_IO_PU_PD(292), R8A73A4_PIN_IO_PU_PD(293),
1370 R8A73A4_PIN_IO_PU_PD(294), R8A73A4_PIN_IO_PU_PD(295),
1371 R8A73A4_PIN_IO_PU_PD(296), R8A73A4_PIN_IO_PU_PD(297),
1372 R8A73A4_PIN_IO_PU_PD(298), R8A73A4_PIN_IO_PU_PD(299),
1373 R8A73A4_PIN_IO_PU_PD(300), R8A73A4_PIN_IO_PU_PD(301),
1374 R8A73A4_PIN_IO_PU_PD(302), R8A73A4_PIN_IO_PU_PD(303),
1375 R8A73A4_PIN_IO_PU_PD(304), R8A73A4_PIN_IO_PU_PD(305),
1376 R8A73A4_PIN_IO_PU_PD(306), R8A73A4_PIN_IO_PU_PD(307),
1377 R8A73A4_PIN_IO_PU_PD(308),
1378 R8A73A4_PIN_IO_PU_PD(320), R8A73A4_PIN_IO_PU_PD(321),
1379 R8A73A4_PIN_IO_PU_PD(322), R8A73A4_PIN_IO_PU_PD(323),
1380 R8A73A4_PIN_IO_PU_PD(324), R8A73A4_PIN_IO_PU_PD(325),
1381 R8A73A4_PIN_IO_PU_PD(326), R8A73A4_PIN_IO_PU_PD(327),
1382 R8A73A4_PIN_IO_PU_PD(328), R8A73A4_PIN_IO_PU_PD(329),
1383 };
1384
1385 /* - IRQC ------------------------------------------------------------------- */
1386 #define IRQC_PINS_MUX(pin, irq_mark) \
1387 static const unsigned int irqc_irq##irq_mark##_pins[] = { \
1388 pin, \
1389 }; \
1390 static const unsigned int irqc_irq##irq_mark##_mux[] = { \
1391 IRQ##irq_mark##_MARK, \
1392 }
1393 IRQC_PINS_MUX(0, 0);
1394 IRQC_PINS_MUX(1, 1);
1395 IRQC_PINS_MUX(2, 2);
1396 IRQC_PINS_MUX(3, 3);
1397 IRQC_PINS_MUX(4, 4);
1398 IRQC_PINS_MUX(5, 5);
1399 IRQC_PINS_MUX(6, 6);
1400 IRQC_PINS_MUX(7, 7);
1401 IRQC_PINS_MUX(8, 8);
1402 IRQC_PINS_MUX(9, 9);
1403 IRQC_PINS_MUX(10, 10);
1404 IRQC_PINS_MUX(11, 11);
1405 IRQC_PINS_MUX(12, 12);
1406 IRQC_PINS_MUX(13, 13);
1407 IRQC_PINS_MUX(14, 14);
1408 IRQC_PINS_MUX(15, 15);
1409 IRQC_PINS_MUX(66, 40);
1410 IRQC_PINS_MUX(84, 19);
1411 IRQC_PINS_MUX(85, 18);
1412 IRQC_PINS_MUX(102, 41);
1413 IRQC_PINS_MUX(103, 42);
1414 IRQC_PINS_MUX(109, 43);
1415 IRQC_PINS_MUX(110, 44);
1416 IRQC_PINS_MUX(111, 45);
1417 IRQC_PINS_MUX(112, 46);
1418 IRQC_PINS_MUX(113, 47);
1419 IRQC_PINS_MUX(114, 48);
1420 IRQC_PINS_MUX(115, 49);
1421 IRQC_PINS_MUX(160, 20);
1422 IRQC_PINS_MUX(161, 21);
1423 IRQC_PINS_MUX(162, 22);
1424 IRQC_PINS_MUX(163, 23);
1425 IRQC_PINS_MUX(175, 24);
1426 IRQC_PINS_MUX(176, 25);
1427 IRQC_PINS_MUX(177, 26);
1428 IRQC_PINS_MUX(178, 27);
1429 IRQC_PINS_MUX(192, 31);
1430 IRQC_PINS_MUX(193, 32);
1431 IRQC_PINS_MUX(194, 33);
1432 IRQC_PINS_MUX(195, 34);
1433 IRQC_PINS_MUX(196, 35);
1434 IRQC_PINS_MUX(197, 36);
1435 IRQC_PINS_MUX(198, 37);
1436 IRQC_PINS_MUX(199, 38);
1437 IRQC_PINS_MUX(200, 39);
1438 IRQC_PINS_MUX(290, 51);
1439 IRQC_PINS_MUX(296, 52);
1440 IRQC_PINS_MUX(301, 50);
1441 IRQC_PINS_MUX(320, 16);
1442 IRQC_PINS_MUX(321, 17);
1443 IRQC_PINS_MUX(322, 28);
1444 IRQC_PINS_MUX(323, 29);
1445 IRQC_PINS_MUX(324, 30);
1446 IRQC_PINS_MUX(325, 53);
1447 IRQC_PINS_MUX(326, 54);
1448 IRQC_PINS_MUX(327, 55);
1449 IRQC_PINS_MUX(328, 56);
1450 IRQC_PINS_MUX(329, 57);
1451 /* - MMCIF0 ----------------------------------------------------------------- */
1452 static const unsigned int mmc0_data1_pins[] = {
1453 /* D[0] */
1454 164,
1455 };
1456 static const unsigned int mmc0_data1_mux[] = {
1457 MMCD0_0_MARK,
1458 };
1459 static const unsigned int mmc0_data4_pins[] = {
1460 /* D[0:3] */
1461 164, 165, 166, 167,
1462 };
1463 static const unsigned int mmc0_data4_mux[] = {
1464 MMCD0_0_MARK, MMCD0_1_MARK, MMCD0_2_MARK, MMCD0_3_MARK,
1465 };
1466 static const unsigned int mmc0_data8_pins[] = {
1467 /* D[0:7] */
1468 164, 165, 166, 167, 168, 169, 170, 171,
1469 };
1470 static const unsigned int mmc0_data8_mux[] = {
1471 MMCD0_0_MARK, MMCD0_1_MARK, MMCD0_2_MARK, MMCD0_3_MARK,
1472 MMCD0_4_MARK, MMCD0_5_MARK, MMCD0_6_MARK, MMCD0_7_MARK,
1473 };
1474 static const unsigned int mmc0_ctrl_pins[] = {
1475 /* CMD, CLK */
1476 172, 173,
1477 };
1478 static const unsigned int mmc0_ctrl_mux[] = {
1479 MMCCMD0_MARK, MMCCLK0_MARK,
1480 };
1481 /* - MMCIF1 ----------------------------------------------------------------- */
1482 static const unsigned int mmc1_data1_pins[] = {
1483 /* D[0] */
1484 199,
1485 };
1486 static const unsigned int mmc1_data1_mux[] = {
1487 MMCD1_0_MARK,
1488 };
1489 static const unsigned int mmc1_data4_pins[] = {
1490 /* D[0:3] */
1491 199, 198, 197, 196,
1492 };
1493 static const unsigned int mmc1_data4_mux[] = {
1494 MMCD1_0_MARK, MMCD1_1_MARK, MMCD1_2_MARK, MMCD1_3_MARK,
1495 };
1496 static const unsigned int mmc1_data8_pins[] = {
1497 /* D[0:7] */
1498 199, 198, 197, 196, 195, 194, 193, 192,
1499 };
1500 static const unsigned int mmc1_data8_mux[] = {
1501 MMCD1_0_MARK, MMCD1_1_MARK, MMCD1_2_MARK, MMCD1_3_MARK,
1502 MMCD1_4_MARK, MMCD1_5_MARK, MMCD1_6_MARK, MMCD1_7_MARK,
1503 };
1504 static const unsigned int mmc1_ctrl_pins[] = {
1505 /* CMD, CLK */
1506 200, 203,
1507 };
1508 static const unsigned int mmc1_ctrl_mux[] = {
1509 MMCCMD1_MARK, MMCCLK1_MARK,
1510 };
1511 /* - SCIFA0 ----------------------------------------------------------------- */
1512 static const unsigned int scifa0_data_pins[] = {
1513 /* SCIFA0_RXD, SCIFA0_TXD */
1514 117, 116,
1515 };
1516 static const unsigned int scifa0_data_mux[] = {
1517 SCIFA0_RXD_MARK, SCIFA0_TXD_MARK,
1518 };
1519 static const unsigned int scifa0_clk_pins[] = {
1520 /* SCIFA0_SCK */
1521 34,
1522 };
1523 static const unsigned int scifa0_clk_mux[] = {
1524 SCIFA0_SCK_MARK,
1525 };
1526 static const unsigned int scifa0_ctrl_pins[] = {
1527 /* SCIFA0_RTS, SCIFA0_CTS */
1528 32, 33,
1529 };
1530 static const unsigned int scifa0_ctrl_mux[] = {
1531 SCIFA0_RTS_MARK, SCIFA0_CTS_MARK,
1532 };
1533 /* - SCIFA1 ----------------------------------------------------------------- */
1534 static const unsigned int scifa1_data_pins[] = {
1535 /* SCIFA1_RXD, SCIFA1_TXD */
1536 119, 118,
1537 };
1538 static const unsigned int scifa1_data_mux[] = {
1539 SCIFA1_RXD_MARK, SCIFA1_TXD_MARK,
1540 };
1541 static const unsigned int scifa1_clk_pins[] = {
1542 /* SCIFA1_SCK */
1543 37,
1544 };
1545 static const unsigned int scifa1_clk_mux[] = {
1546 SCIFA1_SCK_MARK,
1547 };
1548 static const unsigned int scifa1_ctrl_pins[] = {
1549 /* SCIFA1_RTS, SCIFA1_CTS */
1550 35, 36,
1551 };
1552 static const unsigned int scifa1_ctrl_mux[] = {
1553 SCIFA1_RTS_MARK, SCIFA1_CTS_MARK,
1554 };
1555 /* - SCIFB0 ----------------------------------------------------------------- */
1556 static const unsigned int scifb0_data_pins[] = {
1557 /* SCIFB0_RXD, SCIFB0_TXD */
1558 123, 122,
1559 };
1560 static const unsigned int scifb0_data_mux[] = {
1561 SCIFB0_RXD_MARK, SCIFB0_TXD_MARK,
1562 };
1563 static const unsigned int scifb0_clk_pins[] = {
1564 /* SCIFB0_SCK */
1565 40,
1566 };
1567 static const unsigned int scifb0_clk_mux[] = {
1568 SCIFB0_SCK_MARK,
1569 };
1570 static const unsigned int scifb0_ctrl_pins[] = {
1571 /* SCIFB0_RTS, SCIFB0_CTS */
1572 38, 39,
1573 };
1574 static const unsigned int scifb0_ctrl_mux[] = {
1575 SCIFB0_RTS_MARK, SCIFB0_CTS_MARK,
1576 };
1577 /* - SCIFB1 ----------------------------------------------------------------- */
1578 static const unsigned int scifb1_data_pins[] = {
1579 /* SCIFB1_RXD, SCIFB1_TXD */
1580 27, 26,
1581 };
1582 static const unsigned int scifb1_data_mux[] = {
1583 SCIFB1_RXD_27_MARK, SCIFB1_TXD_26_MARK,
1584 };
1585 static const unsigned int scifb1_clk_pins[] = {
1586 /* SCIFB1_SCK */
1587 28,
1588 };
1589 static const unsigned int scifb1_clk_mux[] = {
1590 SCIFB1_SCK_28_MARK,
1591 };
1592 static const unsigned int scifb1_ctrl_pins[] = {
1593 /* SCIFB1_RTS, SCIFB1_CTS */
1594 24, 25,
1595 };
1596 static const unsigned int scifb1_ctrl_mux[] = {
1597 SCIFB1_RTS_24_MARK, SCIFB1_CTS_25_MARK,
1598 };
1599 static const unsigned int scifb1_data_b_pins[] = {
1600 /* SCIFB1_RXD, SCIFB1_TXD */
1601 72, 67,
1602 };
1603 static const unsigned int scifb1_data_b_mux[] = {
1604 SCIFB1_RXD_72_MARK, SCIFB1_TXD_67_MARK,
1605 };
1606 static const unsigned int scifb1_clk_b_pins[] = {
1607 /* SCIFB1_SCK */
1608 261,
1609 };
1610 static const unsigned int scifb1_clk_b_mux[] = {
1611 SCIFB1_SCK_261_MARK,
1612 };
1613 static const unsigned int scifb1_ctrl_b_pins[] = {
1614 /* SCIFB1_RTS, SCIFB1_CTS */
1615 70, 71,
1616 };
1617 static const unsigned int scifb1_ctrl_b_mux[] = {
1618 SCIFB1_RTS_70_MARK, SCIFB1_CTS_71_MARK,
1619 };
1620 /* - SCIFB2 ----------------------------------------------------------------- */
1621 static const unsigned int scifb2_data_pins[] = {
1622 /* SCIFB2_RXD, SCIFB2_TXD */
1623 69, 68,
1624 };
1625 static const unsigned int scifb2_data_mux[] = {
1626 SCIFB2_RXD_69_MARK, SCIFB2_TXD_68_MARK,
1627 };
1628 static const unsigned int scifb2_clk_pins[] = {
1629 /* SCIFB2_SCK */
1630 262,
1631 };
1632 static const unsigned int scifb2_clk_mux[] = {
1633 SCIFB2_SCK_262_MARK,
1634 };
1635 static const unsigned int scifb2_ctrl_pins[] = {
1636 /* SCIFB2_RTS, SCIFB2_CTS */
1637 73, 66,
1638 };
1639 static const unsigned int scifb2_ctrl_mux[] = {
1640 SCIFB2_RTS_73_MARK, SCIFB2_CTS_66_MARK,
1641 };
1642 static const unsigned int scifb2_data_b_pins[] = {
1643 /* SCIFB2_RXD, SCIFB2_TXD */
1644 297, 295,
1645 };
1646 static const unsigned int scifb2_data_b_mux[] = {
1647 SCIFB2_RXD_297_MARK, SCIFB2_TXD_295_MARK,
1648 };
1649 static const unsigned int scifb2_clk_b_pins[] = {
1650 /* SCIFB2_SCK */
1651 299,
1652 };
1653 static const unsigned int scifb2_clk_b_mux[] = {
1654 SCIFB2_SCK_299_MARK,
1655 };
1656 static const unsigned int scifb2_ctrl_b_pins[] = {
1657 /* SCIFB2_RTS, SCIFB2_CTS */
1658 300, 298,
1659 };
1660 static const unsigned int scifb2_ctrl_b_mux[] = {
1661 SCIFB2_RTS_300_MARK, SCIFB2_CTS_298_MARK,
1662 };
1663 /* - SCIFB3 ----------------------------------------------------------------- */
1664 static const unsigned int scifb3_data_pins[] = {
1665 /* SCIFB3_RXD, SCIFB3_TXD */
1666 22, 21,
1667 };
1668 static const unsigned int scifb3_data_mux[] = {
1669 SCIFB3_RXD_22_MARK, SCIFB3_TXD_21_MARK,
1670 };
1671 static const unsigned int scifb3_clk_pins[] = {
1672 /* SCIFB3_SCK */
1673 23,
1674 };
1675 static const unsigned int scifb3_clk_mux[] = {
1676 SCIFB3_SCK_23_MARK,
1677 };
1678 static const unsigned int scifb3_ctrl_pins[] = {
1679 /* SCIFB3_RTS, SCIFB3_CTS */
1680 19, 20,
1681 };
1682 static const unsigned int scifb3_ctrl_mux[] = {
1683 SCIFB3_RTS_19_MARK, SCIFB3_CTS_20_MARK,
1684 };
1685 static const unsigned int scifb3_data_b_pins[] = {
1686 /* SCIFB3_RXD, SCIFB3_TXD */
1687 120, 121,
1688 };
1689 static const unsigned int scifb3_data_b_mux[] = {
1690 SCIFB3_RXD_120_MARK, SCIFB3_TXD_121_MARK,
1691 };
1692 static const unsigned int scifb3_clk_b_pins[] = {
1693 /* SCIFB3_SCK */
1694 40,
1695 };
1696 static const unsigned int scifb3_clk_b_mux[] = {
1697 SCIFB3_SCK_40_MARK,
1698 };
1699 static const unsigned int scifb3_ctrl_b_pins[] = {
1700 /* SCIFB3_RTS, SCIFB3_CTS */
1701 38, 39,
1702 };
1703 static const unsigned int scifb3_ctrl_b_mux[] = {
1704 SCIFB3_RTS_38_MARK, SCIFB3_CTS_39_MARK,
1705 };
1706 /* - SDHI0 ------------------------------------------------------------------ */
1707 static const unsigned int sdhi0_data1_pins[] = {
1708 /* D0 */
1709 302,
1710 };
1711 static const unsigned int sdhi0_data1_mux[] = {
1712 SDHID0_0_MARK,
1713 };
1714 static const unsigned int sdhi0_data4_pins[] = {
1715 /* D[0:3] */
1716 302, 303, 304, 305,
1717 };
1718 static const unsigned int sdhi0_data4_mux[] = {
1719 SDHID0_0_MARK, SDHID0_1_MARK, SDHID0_2_MARK, SDHID0_3_MARK,
1720 };
1721 static const unsigned int sdhi0_ctrl_pins[] = {
1722 /* CLK, CMD */
1723 308, 306,
1724 };
1725 static const unsigned int sdhi0_ctrl_mux[] = {
1726 SDHICLK0_MARK, SDHICMD0_MARK,
1727 };
1728 static const unsigned int sdhi0_cd_pins[] = {
1729 /* CD */
1730 301,
1731 };
1732 static const unsigned int sdhi0_cd_mux[] = {
1733 SDHICD0_MARK,
1734 };
1735 static const unsigned int sdhi0_wp_pins[] = {
1736 /* WP */
1737 307,
1738 };
1739 static const unsigned int sdhi0_wp_mux[] = {
1740 SDHIWP0_MARK,
1741 };
1742 /* - SDHI1 ------------------------------------------------------------------ */
1743 static const unsigned int sdhi1_data1_pins[] = {
1744 /* D0 */
1745 289,
1746 };
1747 static const unsigned int sdhi1_data1_mux[] = {
1748 SDHID1_0_MARK,
1749 };
1750 static const unsigned int sdhi1_data4_pins[] = {
1751 /* D[0:3] */
1752 289, 290, 291, 292,
1753 };
1754 static const unsigned int sdhi1_data4_mux[] = {
1755 SDHID1_0_MARK, SDHID1_1_MARK, SDHID1_2_MARK, SDHID1_3_MARK,
1756 };
1757 static const unsigned int sdhi1_ctrl_pins[] = {
1758 /* CLK, CMD */
1759 293, 294,
1760 };
1761 static const unsigned int sdhi1_ctrl_mux[] = {
1762 SDHICLK1_MARK, SDHICMD1_MARK,
1763 };
1764 /* - SDHI2 ------------------------------------------------------------------ */
1765 static const unsigned int sdhi2_data1_pins[] = {
1766 /* D0 */
1767 295,
1768 };
1769 static const unsigned int sdhi2_data1_mux[] = {
1770 SDHID2_0_MARK,
1771 };
1772 static const unsigned int sdhi2_data4_pins[] = {
1773 /* D[0:3] */
1774 295, 296, 297, 298,
1775 };
1776 static const unsigned int sdhi2_data4_mux[] = {
1777 SDHID2_0_MARK, SDHID2_1_MARK, SDHID2_2_MARK, SDHID2_3_MARK,
1778 };
1779 static const unsigned int sdhi2_ctrl_pins[] = {
1780 /* CLK, CMD */
1781 299, 300,
1782 };
1783 static const unsigned int sdhi2_ctrl_mux[] = {
1784 SDHICLK2_MARK, SDHICMD2_MARK,
1785 };
1786
1787 static const struct sh_pfc_pin_group pinmux_groups[] = {
1788 SH_PFC_PIN_GROUP(irqc_irq0),
1789 SH_PFC_PIN_GROUP(irqc_irq1),
1790 SH_PFC_PIN_GROUP(irqc_irq2),
1791 SH_PFC_PIN_GROUP(irqc_irq3),
1792 SH_PFC_PIN_GROUP(irqc_irq4),
1793 SH_PFC_PIN_GROUP(irqc_irq5),
1794 SH_PFC_PIN_GROUP(irqc_irq6),
1795 SH_PFC_PIN_GROUP(irqc_irq7),
1796 SH_PFC_PIN_GROUP(irqc_irq8),
1797 SH_PFC_PIN_GROUP(irqc_irq9),
1798 SH_PFC_PIN_GROUP(irqc_irq10),
1799 SH_PFC_PIN_GROUP(irqc_irq11),
1800 SH_PFC_PIN_GROUP(irqc_irq12),
1801 SH_PFC_PIN_GROUP(irqc_irq13),
1802 SH_PFC_PIN_GROUP(irqc_irq14),
1803 SH_PFC_PIN_GROUP(irqc_irq15),
1804 SH_PFC_PIN_GROUP(irqc_irq16),
1805 SH_PFC_PIN_GROUP(irqc_irq17),
1806 SH_PFC_PIN_GROUP(irqc_irq18),
1807 SH_PFC_PIN_GROUP(irqc_irq19),
1808 SH_PFC_PIN_GROUP(irqc_irq20),
1809 SH_PFC_PIN_GROUP(irqc_irq21),
1810 SH_PFC_PIN_GROUP(irqc_irq22),
1811 SH_PFC_PIN_GROUP(irqc_irq23),
1812 SH_PFC_PIN_GROUP(irqc_irq24),
1813 SH_PFC_PIN_GROUP(irqc_irq25),
1814 SH_PFC_PIN_GROUP(irqc_irq26),
1815 SH_PFC_PIN_GROUP(irqc_irq27),
1816 SH_PFC_PIN_GROUP(irqc_irq28),
1817 SH_PFC_PIN_GROUP(irqc_irq29),
1818 SH_PFC_PIN_GROUP(irqc_irq30),
1819 SH_PFC_PIN_GROUP(irqc_irq31),
1820 SH_PFC_PIN_GROUP(irqc_irq32),
1821 SH_PFC_PIN_GROUP(irqc_irq33),
1822 SH_PFC_PIN_GROUP(irqc_irq34),
1823 SH_PFC_PIN_GROUP(irqc_irq35),
1824 SH_PFC_PIN_GROUP(irqc_irq36),
1825 SH_PFC_PIN_GROUP(irqc_irq37),
1826 SH_PFC_PIN_GROUP(irqc_irq38),
1827 SH_PFC_PIN_GROUP(irqc_irq39),
1828 SH_PFC_PIN_GROUP(irqc_irq40),
1829 SH_PFC_PIN_GROUP(irqc_irq41),
1830 SH_PFC_PIN_GROUP(irqc_irq42),
1831 SH_PFC_PIN_GROUP(irqc_irq43),
1832 SH_PFC_PIN_GROUP(irqc_irq44),
1833 SH_PFC_PIN_GROUP(irqc_irq45),
1834 SH_PFC_PIN_GROUP(irqc_irq46),
1835 SH_PFC_PIN_GROUP(irqc_irq47),
1836 SH_PFC_PIN_GROUP(irqc_irq48),
1837 SH_PFC_PIN_GROUP(irqc_irq49),
1838 SH_PFC_PIN_GROUP(irqc_irq50),
1839 SH_PFC_PIN_GROUP(irqc_irq51),
1840 SH_PFC_PIN_GROUP(irqc_irq52),
1841 SH_PFC_PIN_GROUP(irqc_irq53),
1842 SH_PFC_PIN_GROUP(irqc_irq54),
1843 SH_PFC_PIN_GROUP(irqc_irq55),
1844 SH_PFC_PIN_GROUP(irqc_irq56),
1845 SH_PFC_PIN_GROUP(irqc_irq57),
1846 SH_PFC_PIN_GROUP(mmc0_data1),
1847 SH_PFC_PIN_GROUP(mmc0_data4),
1848 SH_PFC_PIN_GROUP(mmc0_data8),
1849 SH_PFC_PIN_GROUP(mmc0_ctrl),
1850 SH_PFC_PIN_GROUP(mmc1_data1),
1851 SH_PFC_PIN_GROUP(mmc1_data4),
1852 SH_PFC_PIN_GROUP(mmc1_data8),
1853 SH_PFC_PIN_GROUP(mmc1_ctrl),
1854 SH_PFC_PIN_GROUP(scifa0_data),
1855 SH_PFC_PIN_GROUP(scifa0_clk),
1856 SH_PFC_PIN_GROUP(scifa0_ctrl),
1857 SH_PFC_PIN_GROUP(scifa1_data),
1858 SH_PFC_PIN_GROUP(scifa1_clk),
1859 SH_PFC_PIN_GROUP(scifa1_ctrl),
1860 SH_PFC_PIN_GROUP(scifb0_data),
1861 SH_PFC_PIN_GROUP(scifb0_clk),
1862 SH_PFC_PIN_GROUP(scifb0_ctrl),
1863 SH_PFC_PIN_GROUP(scifb1_data),
1864 SH_PFC_PIN_GROUP(scifb1_clk),
1865 SH_PFC_PIN_GROUP(scifb1_ctrl),
1866 SH_PFC_PIN_GROUP(scifb1_data_b),
1867 SH_PFC_PIN_GROUP(scifb1_clk_b),
1868 SH_PFC_PIN_GROUP(scifb1_ctrl_b),
1869 SH_PFC_PIN_GROUP(scifb2_data),
1870 SH_PFC_PIN_GROUP(scifb2_clk),
1871 SH_PFC_PIN_GROUP(scifb2_ctrl),
1872 SH_PFC_PIN_GROUP(scifb2_data_b),
1873 SH_PFC_PIN_GROUP(scifb2_clk_b),
1874 SH_PFC_PIN_GROUP(scifb2_ctrl_b),
1875 SH_PFC_PIN_GROUP(scifb3_data),
1876 SH_PFC_PIN_GROUP(scifb3_clk),
1877 SH_PFC_PIN_GROUP(scifb3_ctrl),
1878 SH_PFC_PIN_GROUP(scifb3_data_b),
1879 SH_PFC_PIN_GROUP(scifb3_clk_b),
1880 SH_PFC_PIN_GROUP(scifb3_ctrl_b),
1881 SH_PFC_PIN_GROUP(sdhi0_data1),
1882 SH_PFC_PIN_GROUP(sdhi0_data4),
1883 SH_PFC_PIN_GROUP(sdhi0_ctrl),
1884 SH_PFC_PIN_GROUP(sdhi0_cd),
1885 SH_PFC_PIN_GROUP(sdhi0_wp),
1886 SH_PFC_PIN_GROUP(sdhi1_data1),
1887 SH_PFC_PIN_GROUP(sdhi1_data4),
1888 SH_PFC_PIN_GROUP(sdhi1_ctrl),
1889 SH_PFC_PIN_GROUP(sdhi2_data1),
1890 SH_PFC_PIN_GROUP(sdhi2_data4),
1891 SH_PFC_PIN_GROUP(sdhi2_ctrl),
1892 };
1893
1894 static const char * const irqc_groups[] = {
1895 "irqc_irq0",
1896 "irqc_irq1",
1897 "irqc_irq2",
1898 "irqc_irq3",
1899 "irqc_irq4",
1900 "irqc_irq5",
1901 "irqc_irq6",
1902 "irqc_irq7",
1903 "irqc_irq8",
1904 "irqc_irq9",
1905 "irqc_irq10",
1906 "irqc_irq11",
1907 "irqc_irq12",
1908 "irqc_irq13",
1909 "irqc_irq14",
1910 "irqc_irq15",
1911 "irqc_irq16",
1912 "irqc_irq17",
1913 "irqc_irq18",
1914 "irqc_irq19",
1915 "irqc_irq20",
1916 "irqc_irq21",
1917 "irqc_irq22",
1918 "irqc_irq23",
1919 "irqc_irq24",
1920 "irqc_irq25",
1921 "irqc_irq26",
1922 "irqc_irq27",
1923 "irqc_irq28",
1924 "irqc_irq29",
1925 "irqc_irq30",
1926 "irqc_irq31",
1927 "irqc_irq32",
1928 "irqc_irq33",
1929 "irqc_irq34",
1930 "irqc_irq35",
1931 "irqc_irq36",
1932 "irqc_irq37",
1933 "irqc_irq38",
1934 "irqc_irq39",
1935 "irqc_irq40",
1936 "irqc_irq41",
1937 "irqc_irq42",
1938 "irqc_irq43",
1939 "irqc_irq44",
1940 "irqc_irq45",
1941 "irqc_irq46",
1942 "irqc_irq47",
1943 "irqc_irq48",
1944 "irqc_irq49",
1945 "irqc_irq50",
1946 "irqc_irq51",
1947 "irqc_irq52",
1948 "irqc_irq53",
1949 "irqc_irq54",
1950 "irqc_irq55",
1951 "irqc_irq56",
1952 "irqc_irq57",
1953 };
1954
1955 static const char * const mmc0_groups[] = {
1956 "mmc0_data1",
1957 "mmc0_data4",
1958 "mmc0_data8",
1959 "mmc0_ctrl",
1960 };
1961
1962 static const char * const mmc1_groups[] = {
1963 "mmc1_data1",
1964 "mmc1_data4",
1965 "mmc1_data8",
1966 "mmc1_ctrl",
1967 };
1968
1969 static const char * const scifa0_groups[] = {
1970 "scifa0_data",
1971 "scifa0_clk",
1972 "scifa0_ctrl",
1973 };
1974
1975 static const char * const scifa1_groups[] = {
1976 "scifa1_data",
1977 "scifa1_clk",
1978 "scifa1_ctrl",
1979 };
1980
1981 static const char * const scifb0_groups[] = {
1982 "scifb0_data",
1983 "scifb0_clk",
1984 "scifb0_ctrl",
1985 };
1986
1987 static const char * const scifb1_groups[] = {
1988 "scifb1_data",
1989 "scifb1_clk",
1990 "scifb1_ctrl",
1991 "scifb1_data_b",
1992 "scifb1_clk_b",
1993 "scifb1_ctrl_b",
1994 };
1995
1996 static const char * const scifb2_groups[] = {
1997 "scifb2_data",
1998 "scifb2_clk",
1999 "scifb2_ctrl",
2000 "scifb2_data_b",
2001 "scifb2_clk_b",
2002 "scifb2_ctrl_b",
2003 };
2004
2005 static const char * const scifb3_groups[] = {
2006 "scifb3_data",
2007 "scifb3_clk",
2008 "scifb3_ctrl",
2009 "scifb3_data_b",
2010 "scifb3_clk_b",
2011 "scifb3_ctrl_b",
2012 };
2013
2014 static const char * const sdhi0_groups[] = {
2015 "sdhi0_data1",
2016 "sdhi0_data4",
2017 "sdhi0_ctrl",
2018 "sdhi0_cd",
2019 "sdhi0_wp",
2020 };
2021
2022 static const char * const sdhi1_groups[] = {
2023 "sdhi1_data1",
2024 "sdhi1_data4",
2025 "sdhi1_ctrl",
2026 };
2027
2028 static const char * const sdhi2_groups[] = {
2029 "sdhi2_data1",
2030 "sdhi2_data4",
2031 "sdhi2_ctrl",
2032 };
2033
2034 static const struct sh_pfc_function pinmux_functions[] = {
2035 SH_PFC_FUNCTION(irqc),
2036 SH_PFC_FUNCTION(mmc0),
2037 SH_PFC_FUNCTION(mmc1),
2038 SH_PFC_FUNCTION(scifa0),
2039 SH_PFC_FUNCTION(scifa1),
2040 SH_PFC_FUNCTION(scifb0),
2041 SH_PFC_FUNCTION(scifb1),
2042 SH_PFC_FUNCTION(scifb2),
2043 SH_PFC_FUNCTION(scifb3),
2044 SH_PFC_FUNCTION(sdhi0),
2045 SH_PFC_FUNCTION(sdhi1),
2046 SH_PFC_FUNCTION(sdhi2),
2047 };
2048
2049 static const struct pinmux_cfg_reg pinmux_config_regs[] = {
2050 PORTCR(0, 0xe6050000),
2051 PORTCR(1, 0xe6050001),
2052 PORTCR(2, 0xe6050002),
2053 PORTCR(3, 0xe6050003),
2054 PORTCR(4, 0xe6050004),
2055 PORTCR(5, 0xe6050005),
2056 PORTCR(6, 0xe6050006),
2057 PORTCR(7, 0xe6050007),
2058 PORTCR(8, 0xe6050008),
2059 PORTCR(9, 0xe6050009),
2060 PORTCR(10, 0xe605000A),
2061 PORTCR(11, 0xe605000B),
2062 PORTCR(12, 0xe605000C),
2063 PORTCR(13, 0xe605000D),
2064 PORTCR(14, 0xe605000E),
2065 PORTCR(15, 0xe605000F),
2066 PORTCR(16, 0xe6050010),
2067 PORTCR(17, 0xe6050011),
2068 PORTCR(18, 0xe6050012),
2069 PORTCR(19, 0xe6050013),
2070 PORTCR(20, 0xe6050014),
2071 PORTCR(21, 0xe6050015),
2072 PORTCR(22, 0xe6050016),
2073 PORTCR(23, 0xe6050017),
2074 PORTCR(24, 0xe6050018),
2075 PORTCR(25, 0xe6050019),
2076 PORTCR(26, 0xe605001A),
2077 PORTCR(27, 0xe605001B),
2078 PORTCR(28, 0xe605001C),
2079 PORTCR(29, 0xe605001D),
2080 PORTCR(30, 0xe605001E),
2081 PORTCR(32, 0xe6051020),
2082 PORTCR(33, 0xe6051021),
2083 PORTCR(34, 0xe6051022),
2084 PORTCR(35, 0xe6051023),
2085 PORTCR(36, 0xe6051024),
2086 PORTCR(37, 0xe6051025),
2087 PORTCR(38, 0xe6051026),
2088 PORTCR(39, 0xe6051027),
2089 PORTCR(40, 0xe6051028),
2090 PORTCR(64, 0xe6050040),
2091 PORTCR(65, 0xe6050041),
2092 PORTCR(66, 0xe6050042),
2093 PORTCR(67, 0xe6050043),
2094 PORTCR(68, 0xe6050044),
2095 PORTCR(69, 0xe6050045),
2096 PORTCR(70, 0xe6050046),
2097 PORTCR(71, 0xe6050047),
2098 PORTCR(72, 0xe6050048),
2099 PORTCR(73, 0xe6050049),
2100 PORTCR(74, 0xe605004A),
2101 PORTCR(75, 0xe605004B),
2102 PORTCR(76, 0xe605004C),
2103 PORTCR(77, 0xe605004D),
2104 PORTCR(78, 0xe605004E),
2105 PORTCR(79, 0xe605004F),
2106 PORTCR(80, 0xe6050050),
2107 PORTCR(81, 0xe6050051),
2108 PORTCR(82, 0xe6050052),
2109 PORTCR(83, 0xe6050053),
2110 PORTCR(84, 0xe6050054),
2111 PORTCR(85, 0xe6050055),
2112 PORTCR(96, 0xe6051060),
2113 PORTCR(97, 0xe6051061),
2114 PORTCR(98, 0xe6051062),
2115 PORTCR(99, 0xe6051063),
2116 PORTCR(100, 0xe6051064),
2117 PORTCR(101, 0xe6051065),
2118 PORTCR(102, 0xe6051066),
2119 PORTCR(103, 0xe6051067),
2120 PORTCR(104, 0xe6051068),
2121 PORTCR(105, 0xe6051069),
2122 PORTCR(106, 0xe605106A),
2123 PORTCR(107, 0xe605106B),
2124 PORTCR(108, 0xe605106C),
2125 PORTCR(109, 0xe605106D),
2126 PORTCR(110, 0xe605106E),
2127 PORTCR(111, 0xe605106F),
2128 PORTCR(112, 0xe6051070),
2129 PORTCR(113, 0xe6051071),
2130 PORTCR(114, 0xe6051072),
2131 PORTCR(115, 0xe6051073),
2132 PORTCR(116, 0xe6051074),
2133 PORTCR(117, 0xe6051075),
2134 PORTCR(118, 0xe6051076),
2135 PORTCR(119, 0xe6051077),
2136 PORTCR(120, 0xe6051078),
2137 PORTCR(121, 0xe6051079),
2138 PORTCR(122, 0xe605107A),
2139 PORTCR(123, 0xe605107B),
2140 PORTCR(124, 0xe605107C),
2141 PORTCR(125, 0xe605107D),
2142 PORTCR(126, 0xe605107E),
2143 PORTCR(128, 0xe6051080),
2144 PORTCR(129, 0xe6051081),
2145 PORTCR(130, 0xe6051082),
2146 PORTCR(131, 0xe6051083),
2147 PORTCR(132, 0xe6051084),
2148 PORTCR(133, 0xe6051085),
2149 PORTCR(134, 0xe6051086),
2150 PORTCR(160, 0xe60520A0),
2151 PORTCR(161, 0xe60520A1),
2152 PORTCR(162, 0xe60520A2),
2153 PORTCR(163, 0xe60520A3),
2154 PORTCR(164, 0xe60520A4),
2155 PORTCR(165, 0xe60520A5),
2156 PORTCR(166, 0xe60520A6),
2157 PORTCR(167, 0xe60520A7),
2158 PORTCR(168, 0xe60520A8),
2159 PORTCR(169, 0xe60520A9),
2160 PORTCR(170, 0xe60520AA),
2161 PORTCR(171, 0xe60520AB),
2162 PORTCR(172, 0xe60520AC),
2163 PORTCR(173, 0xe60520AD),
2164 PORTCR(174, 0xe60520AE),
2165 PORTCR(175, 0xe60520AF),
2166 PORTCR(176, 0xe60520B0),
2167 PORTCR(177, 0xe60520B1),
2168 PORTCR(178, 0xe60520B2),
2169 PORTCR(192, 0xe60520C0),
2170 PORTCR(193, 0xe60520C1),
2171 PORTCR(194, 0xe60520C2),
2172 PORTCR(195, 0xe60520C3),
2173 PORTCR(196, 0xe60520C4),
2174 PORTCR(197, 0xe60520C5),
2175 PORTCR(198, 0xe60520C6),
2176 PORTCR(199, 0xe60520C7),
2177 PORTCR(200, 0xe60520C8),
2178 PORTCR(201, 0xe60520C9),
2179 PORTCR(202, 0xe60520CA),
2180 PORTCR(203, 0xe60520CB),
2181 PORTCR(204, 0xe60520CC),
2182 PORTCR(205, 0xe60520CD),
2183 PORTCR(206, 0xe60520CE),
2184 PORTCR(207, 0xe60520CF),
2185 PORTCR(208, 0xe60520D0),
2186 PORTCR(209, 0xe60520D1),
2187 PORTCR(210, 0xe60520D2),
2188 PORTCR(211, 0xe60520D3),
2189 PORTCR(212, 0xe60520D4),
2190 PORTCR(213, 0xe60520D5),
2191 PORTCR(214, 0xe60520D6),
2192 PORTCR(215, 0xe60520D7),
2193 PORTCR(216, 0xe60520D8),
2194 PORTCR(217, 0xe60520D9),
2195 PORTCR(218, 0xe60520DA),
2196 PORTCR(219, 0xe60520DB),
2197 PORTCR(220, 0xe60520DC),
2198 PORTCR(221, 0xe60520DD),
2199 PORTCR(222, 0xe60520DE),
2200 PORTCR(224, 0xe60520E0),
2201 PORTCR(225, 0xe60520E1),
2202 PORTCR(226, 0xe60520E2),
2203 PORTCR(227, 0xe60520E3),
2204 PORTCR(228, 0xe60520E4),
2205 PORTCR(229, 0xe60520E5),
2206 PORTCR(230, 0xe60520e6),
2207 PORTCR(231, 0xe60520E7),
2208 PORTCR(232, 0xe60520E8),
2209 PORTCR(233, 0xe60520E9),
2210 PORTCR(234, 0xe60520EA),
2211 PORTCR(235, 0xe60520EB),
2212 PORTCR(236, 0xe60520EC),
2213 PORTCR(237, 0xe60520ED),
2214 PORTCR(238, 0xe60520EE),
2215 PORTCR(239, 0xe60520EF),
2216 PORTCR(240, 0xe60520F0),
2217 PORTCR(241, 0xe60520F1),
2218 PORTCR(242, 0xe60520F2),
2219 PORTCR(243, 0xe60520F3),
2220 PORTCR(244, 0xe60520F4),
2221 PORTCR(245, 0xe60520F5),
2222 PORTCR(246, 0xe60520F6),
2223 PORTCR(247, 0xe60520F7),
2224 PORTCR(248, 0xe60520F8),
2225 PORTCR(249, 0xe60520F9),
2226 PORTCR(250, 0xe60520FA),
2227 PORTCR(256, 0xe6052100),
2228 PORTCR(257, 0xe6052101),
2229 PORTCR(258, 0xe6052102),
2230 PORTCR(259, 0xe6052103),
2231 PORTCR(260, 0xe6052104),
2232 PORTCR(261, 0xe6052105),
2233 PORTCR(262, 0xe6052106),
2234 PORTCR(263, 0xe6052107),
2235 PORTCR(264, 0xe6052108),
2236 PORTCR(265, 0xe6052109),
2237 PORTCR(266, 0xe605210A),
2238 PORTCR(267, 0xe605210B),
2239 PORTCR(268, 0xe605210C),
2240 PORTCR(269, 0xe605210D),
2241 PORTCR(270, 0xe605210E),
2242 PORTCR(271, 0xe605210F),
2243 PORTCR(272, 0xe6052110),
2244 PORTCR(273, 0xe6052111),
2245 PORTCR(274, 0xe6052112),
2246 PORTCR(275, 0xe6052113),
2247 PORTCR(276, 0xe6052114),
2248 PORTCR(277, 0xe6052115),
2249 PORTCR(278, 0xe6052116),
2250 PORTCR(279, 0xe6052117),
2251 PORTCR(280, 0xe6052118),
2252 PORTCR(281, 0xe6052119),
2253 PORTCR(282, 0xe605211A),
2254 PORTCR(283, 0xe605211B),
2255 PORTCR(288, 0xe6053120),
2256 PORTCR(289, 0xe6053121),
2257 PORTCR(290, 0xe6053122),
2258 PORTCR(291, 0xe6053123),
2259 PORTCR(292, 0xe6053124),
2260 PORTCR(293, 0xe6053125),
2261 PORTCR(294, 0xe6053126),
2262 PORTCR(295, 0xe6053127),
2263 PORTCR(296, 0xe6053128),
2264 PORTCR(297, 0xe6053129),
2265 PORTCR(298, 0xe605312A),
2266 PORTCR(299, 0xe605312B),
2267 PORTCR(300, 0xe605312C),
2268 PORTCR(301, 0xe605312D),
2269 PORTCR(302, 0xe605312E),
2270 PORTCR(303, 0xe605312F),
2271 PORTCR(304, 0xe6053130),
2272 PORTCR(305, 0xe6053131),
2273 PORTCR(306, 0xe6053132),
2274 PORTCR(307, 0xe6053133),
2275 PORTCR(308, 0xe6053134),
2276 PORTCR(320, 0xe6053140),
2277 PORTCR(321, 0xe6053141),
2278 PORTCR(322, 0xe6053142),
2279 PORTCR(323, 0xe6053143),
2280 PORTCR(324, 0xe6053144),
2281 PORTCR(325, 0xe6053145),
2282 PORTCR(326, 0xe6053146),
2283 PORTCR(327, 0xe6053147),
2284 PORTCR(328, 0xe6053148),
2285 PORTCR(329, 0xe6053149),
2286
2287 { PINMUX_CFG_REG("MSEL1CR", 0xe605800c, 32, 1, GROUP(
2288 MSEL1CR_31_0, MSEL1CR_31_1,
2289 0, 0,
2290 0, 0,
2291 0, 0,
2292 MSEL1CR_27_0, MSEL1CR_27_1,
2293 0, 0,
2294 MSEL1CR_25_0, MSEL1CR_25_1,
2295 MSEL1CR_24_0, MSEL1CR_24_1,
2296 0, 0,
2297 MSEL1CR_22_0, MSEL1CR_22_1,
2298 MSEL1CR_21_0, MSEL1CR_21_1,
2299 MSEL1CR_20_0, MSEL1CR_20_1,
2300 MSEL1CR_19_0, MSEL1CR_19_1,
2301 MSEL1CR_18_0, MSEL1CR_18_1,
2302 MSEL1CR_17_0, MSEL1CR_17_1,
2303 MSEL1CR_16_0, MSEL1CR_16_1,
2304 MSEL1CR_15_0, MSEL1CR_15_1,
2305 MSEL1CR_14_0, MSEL1CR_14_1,
2306 MSEL1CR_13_0, MSEL1CR_13_1,
2307 MSEL1CR_12_0, MSEL1CR_12_1,
2308 MSEL1CR_11_0, MSEL1CR_11_1,
2309 MSEL1CR_10_0, MSEL1CR_10_1,
2310 MSEL1CR_09_0, MSEL1CR_09_1,
2311 MSEL1CR_08_0, MSEL1CR_08_1,
2312 MSEL1CR_07_0, MSEL1CR_07_1,
2313 MSEL1CR_06_0, MSEL1CR_06_1,
2314 MSEL1CR_05_0, MSEL1CR_05_1,
2315 MSEL1CR_04_0, MSEL1CR_04_1,
2316 MSEL1CR_03_0, MSEL1CR_03_1,
2317 MSEL1CR_02_0, MSEL1CR_02_1,
2318 MSEL1CR_01_0, MSEL1CR_01_1,
2319 MSEL1CR_00_0, MSEL1CR_00_1,
2320 ))
2321 },
2322 { PINMUX_CFG_REG("MSEL3CR", 0xe6058020, 32, 1, GROUP(
2323 MSEL3CR_31_0, MSEL3CR_31_1,
2324 0, 0,
2325 0, 0,
2326 MSEL3CR_28_0, MSEL3CR_28_1,
2327 MSEL3CR_27_0, MSEL3CR_27_1,
2328 MSEL3CR_26_0, MSEL3CR_26_1,
2329 0, 0,
2330 0, 0,
2331 MSEL3CR_23_0, MSEL3CR_23_1,
2332 MSEL3CR_22_0, MSEL3CR_22_1,
2333 MSEL3CR_21_0, MSEL3CR_21_1,
2334 MSEL3CR_20_0, MSEL3CR_20_1,
2335 MSEL3CR_19_0, MSEL3CR_19_1,
2336 MSEL3CR_18_0, MSEL3CR_18_1,
2337 MSEL3CR_17_0, MSEL3CR_17_1,
2338 MSEL3CR_16_0, MSEL3CR_16_1,
2339 MSEL3CR_15_0, MSEL3CR_15_1,
2340 0, 0,
2341 0, 0,
2342 MSEL3CR_12_0, MSEL3CR_12_1,
2343 MSEL3CR_11_0, MSEL3CR_11_1,
2344 MSEL3CR_10_0, MSEL3CR_10_1,
2345 MSEL3CR_09_0, MSEL3CR_09_1,
2346 0, 0,
2347 0, 0,
2348 MSEL3CR_06_0, MSEL3CR_06_1,
2349 0, 0,
2350 0, 0,
2351 MSEL3CR_03_0, MSEL3CR_03_1,
2352 0, 0,
2353 MSEL3CR_01_0, MSEL3CR_01_1,
2354 MSEL3CR_00_0, MSEL3CR_00_1,
2355 ))
2356 },
2357 { PINMUX_CFG_REG("MSEL4CR", 0xe6058024, 32, 1, GROUP(
2358 0, 0,
2359 MSEL4CR_30_0, MSEL4CR_30_1,
2360 MSEL4CR_29_0, MSEL4CR_29_1,
2361 MSEL4CR_28_0, MSEL4CR_28_1,
2362 MSEL4CR_27_0, MSEL4CR_27_1,
2363 MSEL4CR_26_0, MSEL4CR_26_1,
2364 MSEL4CR_25_0, MSEL4CR_25_1,
2365 MSEL4CR_24_0, MSEL4CR_24_1,
2366 MSEL4CR_23_0, MSEL4CR_23_1,
2367 MSEL4CR_22_0, MSEL4CR_22_1,
2368 MSEL4CR_21_0, MSEL4CR_21_1,
2369 MSEL4CR_20_0, MSEL4CR_20_1,
2370 MSEL4CR_19_0, MSEL4CR_19_1,
2371 MSEL4CR_18_0, MSEL4CR_18_1,
2372 MSEL4CR_17_0, MSEL4CR_17_1,
2373 MSEL4CR_16_0, MSEL4CR_16_1,
2374 MSEL4CR_15_0, MSEL4CR_15_1,
2375 MSEL4CR_14_0, MSEL4CR_14_1,
2376 MSEL4CR_13_0, MSEL4CR_13_1,
2377 MSEL4CR_12_0, MSEL4CR_12_1,
2378 MSEL4CR_11_0, MSEL4CR_11_1,
2379 MSEL4CR_10_0, MSEL4CR_10_1,
2380 MSEL4CR_09_0, MSEL4CR_09_1,
2381 0, 0,
2382 MSEL4CR_07_0, MSEL4CR_07_1,
2383 0, 0,
2384 0, 0,
2385 MSEL4CR_04_0, MSEL4CR_04_1,
2386 0, 0,
2387 0, 0,
2388 MSEL4CR_01_0, MSEL4CR_01_1,
2389 0, 0,
2390 ))
2391 },
2392 { PINMUX_CFG_REG("MSEL5CR", 0xe6058028, 32, 1, GROUP(
2393 MSEL5CR_31_0, MSEL5CR_31_1,
2394 MSEL5CR_30_0, MSEL5CR_30_1,
2395 MSEL5CR_29_0, MSEL5CR_29_1,
2396 MSEL5CR_28_0, MSEL5CR_28_1,
2397 MSEL5CR_27_0, MSEL5CR_27_1,
2398 MSEL5CR_26_0, MSEL5CR_26_1,
2399 MSEL5CR_25_0, MSEL5CR_25_1,
2400 MSEL5CR_24_0, MSEL5CR_24_1,
2401 MSEL5CR_23_0, MSEL5CR_23_1,
2402 MSEL5CR_22_0, MSEL5CR_22_1,
2403 MSEL5CR_21_0, MSEL5CR_21_1,
2404 MSEL5CR_20_0, MSEL5CR_20_1,
2405 MSEL5CR_19_0, MSEL5CR_19_1,
2406 MSEL5CR_18_0, MSEL5CR_18_1,
2407 MSEL5CR_17_0, MSEL5CR_17_1,
2408 MSEL5CR_16_0, MSEL5CR_16_1,
2409 MSEL5CR_15_0, MSEL5CR_15_1,
2410 MSEL5CR_14_0, MSEL5CR_14_1,
2411 MSEL5CR_13_0, MSEL5CR_13_1,
2412 MSEL5CR_12_0, MSEL5CR_12_1,
2413 MSEL5CR_11_0, MSEL5CR_11_1,
2414 MSEL5CR_10_0, MSEL5CR_10_1,
2415 MSEL5CR_09_0, MSEL5CR_09_1,
2416 MSEL5CR_08_0, MSEL5CR_08_1,
2417 MSEL5CR_07_0, MSEL5CR_07_1,
2418 MSEL5CR_06_0, MSEL5CR_06_1,
2419 0, 0,
2420 0, 0,
2421 0, 0,
2422 0, 0,
2423 0, 0,
2424 0, 0,
2425 ))
2426 },
2427 { PINMUX_CFG_REG("MSEL8CR", 0xe6058034, 32, 1, GROUP(
2428 0, 0,
2429 0, 0,
2430 0, 0,
2431 0, 0,
2432 0, 0,
2433 0, 0,
2434 0, 0,
2435 0, 0,
2436 0, 0,
2437 0, 0,
2438 0, 0,
2439 0, 0,
2440 0, 0,
2441 0, 0,
2442 0, 0,
2443 MSEL8CR_16_0, MSEL8CR_16_1,
2444 0, 0,
2445 0, 0,
2446 0, 0,
2447 0, 0,
2448 0, 0,
2449 0, 0,
2450 0, 0,
2451 0, 0,
2452 0, 0,
2453 0, 0,
2454 0, 0,
2455 0, 0,
2456 0, 0,
2457 0, 0,
2458 MSEL8CR_01_0, MSEL8CR_01_1,
2459 MSEL8CR_00_0, MSEL8CR_00_1,
2460 ))
2461 },
2462 { },
2463 };
2464
2465 static const struct pinmux_data_reg pinmux_data_regs[] = {
2466
2467 { PINMUX_DATA_REG("PORTL031_000DR", 0xe6054000, 32, GROUP(
2468 0, PORT30_DATA, PORT29_DATA, PORT28_DATA,
2469 PORT27_DATA, PORT26_DATA, PORT25_DATA, PORT24_DATA,
2470 PORT23_DATA, PORT22_DATA, PORT21_DATA, PORT20_DATA,
2471 PORT19_DATA, PORT18_DATA, PORT17_DATA, PORT16_DATA,
2472 PORT15_DATA, PORT14_DATA, PORT13_DATA, PORT12_DATA,
2473 PORT11_DATA, PORT10_DATA, PORT9_DATA, PORT8_DATA,
2474 PORT7_DATA, PORT6_DATA, PORT5_DATA, PORT4_DATA,
2475 PORT3_DATA, PORT2_DATA, PORT1_DATA, PORT0_DATA,
2476 ))
2477 },
2478 { PINMUX_DATA_REG("PORTD063_032DR", 0xe6055000, 32, GROUP(
2479 0, 0, 0, 0,
2480 0, 0, 0, 0,
2481 0, 0, 0, 0,
2482 0, 0, 0, 0,
2483 0, 0, 0, 0,
2484 0, 0, 0, PORT40_DATA,
2485 PORT39_DATA, PORT38_DATA, PORT37_DATA, PORT36_DATA,
2486 PORT35_DATA, PORT34_DATA, PORT33_DATA, PORT32_DATA,
2487 ))
2488 },
2489 { PINMUX_DATA_REG("PORTL095_064DR", 0xe6054004, 32, GROUP(
2490 0, 0, 0, 0,
2491 0, 0, 0, 0,
2492 0, 0, PORT85_DATA, PORT84_DATA,
2493 PORT83_DATA, PORT82_DATA, PORT81_DATA, PORT80_DATA,
2494 PORT79_DATA, PORT78_DATA, PORT77_DATA, PORT76_DATA,
2495 PORT75_DATA, PORT74_DATA, PORT73_DATA, PORT72_DATA,
2496 PORT71_DATA, PORT70_DATA, PORT69_DATA, PORT68_DATA,
2497 PORT67_DATA, PORT66_DATA, PORT65_DATA, PORT64_DATA,
2498 ))
2499 },
2500 { PINMUX_DATA_REG("PORTD127_096DR", 0xe6055004, 32, GROUP(
2501 0, PORT126_DATA, PORT125_DATA, PORT124_DATA,
2502 PORT123_DATA, PORT122_DATA, PORT121_DATA, PORT120_DATA,
2503 PORT119_DATA, PORT118_DATA, PORT117_DATA, PORT116_DATA,
2504 PORT115_DATA, PORT114_DATA, PORT113_DATA, PORT112_DATA,
2505 PORT111_DATA, PORT110_DATA, PORT109_DATA, PORT108_DATA,
2506 PORT107_DATA, PORT106_DATA, PORT105_DATA, PORT104_DATA,
2507 PORT103_DATA, PORT102_DATA, PORT101_DATA, PORT100_DATA,
2508 PORT99_DATA, PORT98_DATA, PORT97_DATA, PORT96_DATA,
2509 ))
2510 },
2511 { PINMUX_DATA_REG("PORTD159_128DR", 0xe6055008, 32, GROUP(
2512 0, 0, 0, 0,
2513 0, 0, 0, 0,
2514 0, 0, 0, 0,
2515 0, 0, 0, 0,
2516 0, 0, 0, 0,
2517 0, 0, 0, 0,
2518 0, PORT134_DATA, PORT133_DATA, PORT132_DATA,
2519 PORT131_DATA, PORT130_DATA, PORT129_DATA, PORT128_DATA,
2520 ))
2521 },
2522 { PINMUX_DATA_REG("PORTR191_160DR", 0xe6056000, 32, GROUP(
2523 0, 0, 0, 0,
2524 0, 0, 0, 0,
2525 0, 0, 0, 0,
2526 0, PORT178_DATA, PORT177_DATA, PORT176_DATA,
2527 PORT175_DATA, PORT174_DATA, PORT173_DATA, PORT172_DATA,
2528 PORT171_DATA, PORT170_DATA, PORT169_DATA, PORT168_DATA,
2529 PORT167_DATA, PORT166_DATA, PORT165_DATA, PORT164_DATA,
2530 PORT163_DATA, PORT162_DATA, PORT161_DATA, PORT160_DATA,
2531 ))
2532 },
2533 { PINMUX_DATA_REG("PORTR223_192DR", 0xe6056004, 32, GROUP(
2534 0, PORT222_DATA, PORT221_DATA, PORT220_DATA,
2535 PORT219_DATA, PORT218_DATA, PORT217_DATA, PORT216_DATA,
2536 PORT215_DATA, PORT214_DATA, PORT213_DATA, PORT212_DATA,
2537 PORT211_DATA, PORT210_DATA, PORT209_DATA, PORT208_DATA,
2538 PORT207_DATA, PORT206_DATA, PORT205_DATA, PORT204_DATA,
2539 PORT203_DATA, PORT202_DATA, PORT201_DATA, PORT200_DATA,
2540 PORT199_DATA, PORT198_DATA, PORT197_DATA, PORT196_DATA,
2541 PORT195_DATA, PORT194_DATA, PORT193_DATA, PORT192_DATA,
2542 ))
2543 },
2544 { PINMUX_DATA_REG("PORTR255_224DR", 0xe6056008, 32, GROUP(
2545 0, 0, 0, 0,
2546 0, PORT250_DATA, PORT249_DATA, PORT248_DATA,
2547 PORT247_DATA, PORT246_DATA, PORT245_DATA, PORT244_DATA,
2548 PORT243_DATA, PORT242_DATA, PORT241_DATA, PORT240_DATA,
2549 PORT239_DATA, PORT238_DATA, PORT237_DATA, PORT236_DATA,
2550 PORT235_DATA, PORT234_DATA, PORT233_DATA, PORT232_DATA,
2551 PORT231_DATA, PORT230_DATA, PORT229_DATA, PORT228_DATA,
2552 PORT227_DATA, PORT226_DATA, PORT225_DATA, PORT224_DATA,
2553 ))
2554 },
2555 { PINMUX_DATA_REG("PORTR287_256DR", 0xe605600C, 32, GROUP(
2556 0, 0, 0, 0,
2557 PORT283_DATA, PORT282_DATA, PORT281_DATA, PORT280_DATA,
2558 PORT279_DATA, PORT278_DATA, PORT277_DATA, PORT276_DATA,
2559 PORT275_DATA, PORT274_DATA, PORT273_DATA, PORT272_DATA,
2560 PORT271_DATA, PORT270_DATA, PORT269_DATA, PORT268_DATA,
2561 PORT267_DATA, PORT266_DATA, PORT265_DATA, PORT264_DATA,
2562 PORT263_DATA, PORT262_DATA, PORT261_DATA, PORT260_DATA,
2563 PORT259_DATA, PORT258_DATA, PORT257_DATA, PORT256_DATA,
2564 ))
2565 },
2566 { PINMUX_DATA_REG("PORTU319_288DR", 0xe6057000, 32, GROUP(
2567 0, 0, 0, 0,
2568 0, 0, 0, 0,
2569 0, 0, 0, PORT308_DATA,
2570 PORT307_DATA, PORT306_DATA, PORT305_DATA, PORT304_DATA,
2571 PORT303_DATA, PORT302_DATA, PORT301_DATA, PORT300_DATA,
2572 PORT299_DATA, PORT298_DATA, PORT297_DATA, PORT296_DATA,
2573 PORT295_DATA, PORT294_DATA, PORT293_DATA, PORT292_DATA,
2574 PORT291_DATA, PORT290_DATA, PORT289_DATA, PORT288_DATA,
2575 ))
2576 },
2577 { PINMUX_DATA_REG("PORTU351_320DR", 0xe6057004, 32, GROUP(
2578 0, 0, 0, 0,
2579 0, 0, 0, 0,
2580 0, 0, 0, 0,
2581 0, 0, 0, 0,
2582 0, 0, 0, 0,
2583 0, 0, PORT329_DATA, PORT328_DATA,
2584 PORT327_DATA, PORT326_DATA, PORT325_DATA, PORT324_DATA,
2585 PORT323_DATA, PORT322_DATA, PORT321_DATA, PORT320_DATA,
2586 ))
2587 },
2588 { },
2589 };
2590
2591 static const struct pinmux_irq pinmux_irqs[] = {
2592 PINMUX_IRQ(0), /* IRQ0 */
2593 PINMUX_IRQ(1), /* IRQ1 */
2594 PINMUX_IRQ(2), /* IRQ2 */
2595 PINMUX_IRQ(3), /* IRQ3 */
2596 PINMUX_IRQ(4), /* IRQ4 */
2597 PINMUX_IRQ(5), /* IRQ5 */
2598 PINMUX_IRQ(6), /* IRQ6 */
2599 PINMUX_IRQ(7), /* IRQ7 */
2600 PINMUX_IRQ(8), /* IRQ8 */
2601 PINMUX_IRQ(9), /* IRQ9 */
2602 PINMUX_IRQ(10), /* IRQ10 */
2603 PINMUX_IRQ(11), /* IRQ11 */
2604 PINMUX_IRQ(12), /* IRQ12 */
2605 PINMUX_IRQ(13), /* IRQ13 */
2606 PINMUX_IRQ(14), /* IRQ14 */
2607 PINMUX_IRQ(15), /* IRQ15 */
2608 PINMUX_IRQ(320), /* IRQ16 */
2609 PINMUX_IRQ(321), /* IRQ17 */
2610 PINMUX_IRQ(85), /* IRQ18 */
2611 PINMUX_IRQ(84), /* IRQ19 */
2612 PINMUX_IRQ(160), /* IRQ20 */
2613 PINMUX_IRQ(161), /* IRQ21 */
2614 PINMUX_IRQ(162), /* IRQ22 */
2615 PINMUX_IRQ(163), /* IRQ23 */
2616 PINMUX_IRQ(175), /* IRQ24 */
2617 PINMUX_IRQ(176), /* IRQ25 */
2618 PINMUX_IRQ(177), /* IRQ26 */
2619 PINMUX_IRQ(178), /* IRQ27 */
2620 PINMUX_IRQ(322), /* IRQ28 */
2621 PINMUX_IRQ(323), /* IRQ29 */
2622 PINMUX_IRQ(324), /* IRQ30 */
2623 PINMUX_IRQ(192), /* IRQ31 */
2624 PINMUX_IRQ(193), /* IRQ32 */
2625 PINMUX_IRQ(194), /* IRQ33 */
2626 PINMUX_IRQ(195), /* IRQ34 */
2627 PINMUX_IRQ(196), /* IRQ35 */
2628 PINMUX_IRQ(197), /* IRQ36 */
2629 PINMUX_IRQ(198), /* IRQ37 */
2630 PINMUX_IRQ(199), /* IRQ38 */
2631 PINMUX_IRQ(200), /* IRQ39 */
2632 PINMUX_IRQ(66), /* IRQ40 */
2633 PINMUX_IRQ(102), /* IRQ41 */
2634 PINMUX_IRQ(103), /* IRQ42 */
2635 PINMUX_IRQ(109), /* IRQ43 */
2636 PINMUX_IRQ(110), /* IRQ44 */
2637 PINMUX_IRQ(111), /* IRQ45 */
2638 PINMUX_IRQ(112), /* IRQ46 */
2639 PINMUX_IRQ(113), /* IRQ47 */
2640 PINMUX_IRQ(114), /* IRQ48 */
2641 PINMUX_IRQ(115), /* IRQ49 */
2642 PINMUX_IRQ(301), /* IRQ50 */
2643 PINMUX_IRQ(290), /* IRQ51 */
2644 PINMUX_IRQ(296), /* IRQ52 */
2645 PINMUX_IRQ(325), /* IRQ53 */
2646 PINMUX_IRQ(326), /* IRQ54 */
2647 PINMUX_IRQ(327), /* IRQ55 */
2648 PINMUX_IRQ(328), /* IRQ56 */
2649 PINMUX_IRQ(329), /* IRQ57 */
2650 };
2651
2652 #define PORTCR_PULMD_OFF (0 << 6)
2653 #define PORTCR_PULMD_DOWN (2 << 6)
2654 #define PORTCR_PULMD_UP (3 << 6)
2655 #define PORTCR_PULMD_MASK (3 << 6)
2656
2657 static const unsigned int r8a73a4_portcr_offsets[] = {
2658 0x00000000, 0x00001000, 0x00000000, 0x00001000,
2659 0x00001000, 0x00002000, 0x00002000, 0x00002000,
2660 0x00002000, 0x00003000, 0x00003000,
2661 };
2662
r8a73a4_pinmux_get_bias(struct sh_pfc * pfc,unsigned int pin)2663 static unsigned int r8a73a4_pinmux_get_bias(struct sh_pfc *pfc,
2664 unsigned int pin)
2665 {
2666 void __iomem *addr;
2667
2668 addr = pfc->windows->virt + r8a73a4_portcr_offsets[pin >> 5] + pin;
2669
2670 switch (ioread8(addr) & PORTCR_PULMD_MASK) {
2671 case PORTCR_PULMD_UP:
2672 return PIN_CONFIG_BIAS_PULL_UP;
2673 case PORTCR_PULMD_DOWN:
2674 return PIN_CONFIG_BIAS_PULL_DOWN;
2675 case PORTCR_PULMD_OFF:
2676 default:
2677 return PIN_CONFIG_BIAS_DISABLE;
2678 }
2679 }
2680
r8a73a4_pinmux_set_bias(struct sh_pfc * pfc,unsigned int pin,unsigned int bias)2681 static void r8a73a4_pinmux_set_bias(struct sh_pfc *pfc, unsigned int pin,
2682 unsigned int bias)
2683 {
2684 void __iomem *addr;
2685 u32 value;
2686
2687 addr = pfc->windows->virt + r8a73a4_portcr_offsets[pin >> 5] + pin;
2688 value = ioread8(addr) & ~PORTCR_PULMD_MASK;
2689
2690 switch (bias) {
2691 case PIN_CONFIG_BIAS_PULL_UP:
2692 value |= PORTCR_PULMD_UP;
2693 break;
2694 case PIN_CONFIG_BIAS_PULL_DOWN:
2695 value |= PORTCR_PULMD_DOWN;
2696 break;
2697 }
2698
2699 iowrite8(value, addr);
2700 }
2701
2702 static const struct sh_pfc_soc_operations r8a73a4_pfc_ops = {
2703 .get_bias = r8a73a4_pinmux_get_bias,
2704 .set_bias = r8a73a4_pinmux_set_bias,
2705 };
2706
2707 const struct sh_pfc_soc_info r8a73a4_pinmux_info = {
2708 .name = "r8a73a4_pfc",
2709 .ops = &r8a73a4_pfc_ops,
2710
2711 .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END },
2712 .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END },
2713 .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
2714
2715 .pins = pinmux_pins,
2716 .nr_pins = ARRAY_SIZE(pinmux_pins),
2717
2718 .groups = pinmux_groups,
2719 .nr_groups = ARRAY_SIZE(pinmux_groups),
2720 .functions = pinmux_functions,
2721 .nr_functions = ARRAY_SIZE(pinmux_functions),
2722
2723 .cfg_regs = pinmux_config_regs,
2724 .data_regs = pinmux_data_regs,
2725
2726 .pinmux_data = pinmux_data,
2727 .pinmux_data_size = ARRAY_SIZE(pinmux_data),
2728
2729 .gpio_irq = pinmux_irqs,
2730 .gpio_irq_size = ARRAY_SIZE(pinmux_irqs),
2731 };
2732