1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * sh73a0 processor support - PFC hardware block
4  *
5  * Copyright (C) 2010 Renesas Solutions Corp.
6  * Copyright (C) 2010 NISHIMOTO Hiroki
7  */
8 #include <linux/io.h>
9 #include <linux/kernel.h>
10 #include <linux/module.h>
11 #include <linux/pinctrl/pinconf-generic.h>
12 #include <linux/regulator/driver.h>
13 #include <linux/regulator/machine.h>
14 #include <linux/slab.h>
15 
16 #include "sh_pfc.h"
17 
18 #define CPU_ALL_PORT(fn, pfx, sfx)					\
19 	PORT_10(0,  fn, pfx, sfx), PORT_90(0, fn, pfx, sfx),		\
20 	PORT_10(100, fn, pfx##10, sfx),					\
21 	PORT_1(110, fn, pfx##110, sfx), PORT_1(111, fn, pfx##111, sfx),	\
22 	PORT_1(112, fn, pfx##112, sfx), PORT_1(113, fn, pfx##113, sfx),	\
23 	PORT_1(114, fn, pfx##114, sfx), PORT_1(115, fn, pfx##115, sfx),	\
24 	PORT_1(116, fn, pfx##116, sfx), PORT_1(117, fn, pfx##117, sfx),	\
25 	PORT_1(118, fn, pfx##118, sfx),					\
26 	PORT_1(128, fn, pfx##128, sfx), PORT_1(129, fn, pfx##129, sfx),	\
27 	PORT_10(130, fn, pfx##13, sfx), PORT_10(140, fn, pfx##14, sfx),	\
28 	PORT_10(150, fn, pfx##15, sfx),					\
29 	PORT_1(160, fn, pfx##160, sfx), PORT_1(161, fn, pfx##161, sfx),	\
30 	PORT_1(162, fn, pfx##162, sfx), PORT_1(163, fn, pfx##163, sfx),	\
31 	PORT_1(164, fn, pfx##164, sfx),					\
32 	PORT_1(192, fn, pfx##192, sfx), PORT_1(193, fn, pfx##193, sfx),	\
33 	PORT_1(194, fn, pfx##194, sfx), PORT_1(195, fn, pfx##195, sfx),	\
34 	PORT_1(196, fn, pfx##196, sfx), PORT_1(197, fn, pfx##197, sfx),	\
35 	PORT_1(198, fn, pfx##198, sfx), PORT_1(199, fn, pfx##199, sfx),	\
36 	PORT_10(200, fn, pfx##20, sfx), PORT_10(210, fn, pfx##21, sfx),	\
37 	PORT_10(220, fn, pfx##22, sfx), PORT_10(230, fn, pfx##23, sfx),	\
38 	PORT_10(240, fn, pfx##24, sfx), PORT_10(250, fn, pfx##25, sfx),	\
39 	PORT_10(260, fn, pfx##26, sfx), PORT_10(270, fn, pfx##27, sfx),	\
40 	PORT_1(280, fn, pfx##280, sfx), PORT_1(281, fn, pfx##281, sfx),	\
41 	PORT_1(282, fn, pfx##282, sfx),					\
42 	PORT_1(288, fn, pfx##288, sfx), PORT_1(289, fn, pfx##289, sfx),	\
43 	PORT_10(290, fn, pfx##29, sfx), PORT_10(300, fn, pfx##30, sfx)
44 
45 #define CPU_ALL_NOGP(fn)	\
46 	PIN_NOGP(A11, "F26", fn)
47 
48 enum {
49 	PINMUX_RESERVED = 0,
50 
51 	PINMUX_DATA_BEGIN,
52 	PORT_ALL(DATA),			/* PORT0_DATA -> PORT309_DATA */
53 	PINMUX_DATA_END,
54 
55 	PINMUX_INPUT_BEGIN,
56 	PORT_ALL(IN),			/* PORT0_IN -> PORT309_IN */
57 	PINMUX_INPUT_END,
58 
59 	PINMUX_OUTPUT_BEGIN,
60 	PORT_ALL(OUT),			/* PORT0_OUT -> PORT309_OUT */
61 	PINMUX_OUTPUT_END,
62 
63 	PINMUX_FUNCTION_BEGIN,
64 	PORT_ALL(FN_IN),		/* PORT0_FN_IN -> PORT309_FN_IN */
65 	PORT_ALL(FN_OUT),		/* PORT0_FN_OUT -> PORT309_FN_OUT */
66 	PORT_ALL(FN0),			/* PORT0_FN0 -> PORT309_FN0 */
67 	PORT_ALL(FN1),			/* PORT0_FN1 -> PORT309_FN1 */
68 	PORT_ALL(FN2),			/* PORT0_FN2 -> PORT309_FN2 */
69 	PORT_ALL(FN3),			/* PORT0_FN3 -> PORT309_FN3 */
70 	PORT_ALL(FN4),			/* PORT0_FN4 -> PORT309_FN4 */
71 	PORT_ALL(FN5),			/* PORT0_FN5 -> PORT309_FN5 */
72 	PORT_ALL(FN6),			/* PORT0_FN6 -> PORT309_FN6 */
73 	PORT_ALL(FN7),			/* PORT0_FN7 -> PORT309_FN7 */
74 
75 	MSEL2CR_MSEL19_0, MSEL2CR_MSEL19_1,
76 	MSEL2CR_MSEL18_0, MSEL2CR_MSEL18_1,
77 	MSEL2CR_MSEL17_0, MSEL2CR_MSEL17_1,
78 	MSEL2CR_MSEL16_0, MSEL2CR_MSEL16_1,
79 	MSEL2CR_MSEL14_0, MSEL2CR_MSEL14_1,
80 	MSEL2CR_MSEL13_0, MSEL2CR_MSEL13_1,
81 	MSEL2CR_MSEL12_0, MSEL2CR_MSEL12_1,
82 	MSEL2CR_MSEL11_0, MSEL2CR_MSEL11_1,
83 	MSEL2CR_MSEL10_0, MSEL2CR_MSEL10_1,
84 	MSEL2CR_MSEL9_0, MSEL2CR_MSEL9_1,
85 	MSEL2CR_MSEL8_0, MSEL2CR_MSEL8_1,
86 	MSEL2CR_MSEL7_0, MSEL2CR_MSEL7_1,
87 	MSEL2CR_MSEL6_0, MSEL2CR_MSEL6_1,
88 	MSEL2CR_MSEL4_0, MSEL2CR_MSEL4_1,
89 	MSEL2CR_MSEL5_0, MSEL2CR_MSEL5_1,
90 	MSEL2CR_MSEL3_0, MSEL2CR_MSEL3_1,
91 	MSEL2CR_MSEL2_0, MSEL2CR_MSEL2_1,
92 	MSEL2CR_MSEL1_0, MSEL2CR_MSEL1_1,
93 	MSEL2CR_MSEL0_0, MSEL2CR_MSEL0_1,
94 	MSEL3CR_MSEL28_0, MSEL3CR_MSEL28_1,
95 	MSEL3CR_MSEL15_0, MSEL3CR_MSEL15_1,
96 	MSEL3CR_MSEL11_0, MSEL3CR_MSEL11_1,
97 	MSEL3CR_MSEL9_0, MSEL3CR_MSEL9_1,
98 	MSEL3CR_MSEL6_0, MSEL3CR_MSEL6_1,
99 	MSEL3CR_MSEL2_0, MSEL3CR_MSEL2_1,
100 	MSEL4CR_MSEL29_0, MSEL4CR_MSEL29_1,
101 	MSEL4CR_MSEL27_0, MSEL4CR_MSEL27_1,
102 	MSEL4CR_MSEL26_0, MSEL4CR_MSEL26_1,
103 	MSEL4CR_MSEL22_0, MSEL4CR_MSEL22_1,
104 	MSEL4CR_MSEL21_0, MSEL4CR_MSEL21_1,
105 	MSEL4CR_MSEL20_0, MSEL4CR_MSEL20_1,
106 	MSEL4CR_MSEL19_0, MSEL4CR_MSEL19_1,
107 	MSEL4CR_MSEL15_0, MSEL4CR_MSEL15_1,
108 	MSEL4CR_MSEL13_0, MSEL4CR_MSEL13_1,
109 	MSEL4CR_MSEL12_0, MSEL4CR_MSEL12_1,
110 	MSEL4CR_MSEL11_0, MSEL4CR_MSEL11_1,
111 	MSEL4CR_MSEL10_0, MSEL4CR_MSEL10_1,
112 	MSEL4CR_MSEL9_0, MSEL4CR_MSEL9_1,
113 	MSEL4CR_MSEL8_0, MSEL4CR_MSEL8_1,
114 	MSEL4CR_MSEL7_0, MSEL4CR_MSEL7_1,
115 	MSEL4CR_MSEL4_0, MSEL4CR_MSEL4_1,
116 	MSEL4CR_MSEL1_0, MSEL4CR_MSEL1_1,
117 	PINMUX_FUNCTION_END,
118 
119 	PINMUX_MARK_BEGIN,
120 	/* Hardware manual Table 25-1 (Function 0-7) */
121 	VBUS_0_MARK,
122 	GPI0_MARK,
123 	GPI1_MARK,
124 	GPI2_MARK,
125 	GPI3_MARK,
126 	GPI4_MARK,
127 	GPI5_MARK,
128 	GPI6_MARK,
129 	GPI7_MARK,
130 	SCIFA7_RXD_MARK,
131 	SCIFA7_CTS__MARK,
132 	GPO7_MARK, MFG0_OUT2_MARK,
133 	GPO6_MARK, MFG1_OUT2_MARK,
134 	GPO5_MARK, SCIFA0_SCK_MARK, FSICOSLDT3_MARK, PORT16_VIO_CKOR_MARK,
135 	SCIFA0_TXD_MARK,
136 	SCIFA7_TXD_MARK,
137 	SCIFA7_RTS__MARK, PORT19_VIO_CKO2_MARK,
138 	GPO0_MARK,
139 	GPO1_MARK,
140 	GPO2_MARK, STATUS0_MARK,
141 	GPO3_MARK, STATUS1_MARK,
142 	GPO4_MARK, STATUS2_MARK,
143 	VINT_MARK,
144 	TCKON_MARK,
145 	XDVFS1_MARK, PORT27_I2C_SCL2_MARK, PORT27_I2C_SCL3_MARK, \
146 	MFG0_OUT1_MARK, PORT27_IROUT_MARK,
147 	XDVFS2_MARK, PORT28_I2C_SDA2_MARK, PORT28_I2C_SDA3_MARK, \
148 	PORT28_TPU1TO1_MARK,
149 	SIM_RST_MARK, PORT29_TPU1TO1_MARK,
150 	SIM_CLK_MARK, PORT30_VIO_CKOR_MARK,
151 	SIM_D_MARK, PORT31_IROUT_MARK,
152 	SCIFA4_TXD_MARK,
153 	SCIFA4_RXD_MARK, XWUP_MARK,
154 	SCIFA4_RTS__MARK,
155 	SCIFA4_CTS__MARK,
156 	FSIBOBT_MARK, FSIBIBT_MARK,
157 	FSIBOLR_MARK, FSIBILR_MARK,
158 	FSIBOSLD_MARK,
159 	FSIBISLD_MARK,
160 	VACK_MARK,
161 	XTAL1L_MARK,
162 	SCIFA0_RTS__MARK, FSICOSLDT2_MARK,
163 	SCIFA0_RXD_MARK,
164 	SCIFA0_CTS__MARK, FSICOSLDT1_MARK,
165 	FSICOBT_MARK, FSICIBT_MARK, FSIDOBT_MARK, FSIDIBT_MARK,
166 	FSICOLR_MARK, FSICILR_MARK, FSIDOLR_MARK, FSIDILR_MARK,
167 	FSICOSLD_MARK, PORT47_FSICSPDIF_MARK,
168 	FSICISLD_MARK, FSIDISLD_MARK,
169 	FSIACK_MARK, PORT49_IRDA_OUT_MARK, PORT49_IROUT_MARK, FSIAOMC_MARK,
170 	FSIAOLR_MARK, BBIF2_TSYNC2_MARK, TPU2TO2_MARK, FSIAILR_MARK,
171 
172 	FSIAOBT_MARK, BBIF2_TSCK2_MARK, TPU2TO3_MARK, FSIAIBT_MARK,
173 	FSIAOSLD_MARK, BBIF2_TXD2_MARK,
174 	FSIASPDIF_MARK, PORT53_IRDA_IN_MARK, TPU3TO3_MARK, FSIBSPDIF_MARK, \
175 	PORT53_FSICSPDIF_MARK,
176 	FSIBCK_MARK, PORT54_IRDA_FIRSEL_MARK, TPU3TO2_MARK, FSIBOMC_MARK, \
177 	FSICCK_MARK, FSICOMC_MARK,
178 	FSIAISLD_MARK, TPU0TO0_MARK,
179 	A0_MARK, BS__MARK,
180 	A12_MARK, PORT58_KEYOUT7_MARK, TPU4TO2_MARK,
181 	A13_MARK, PORT59_KEYOUT6_MARK, TPU0TO1_MARK,
182 	A14_MARK, KEYOUT5_MARK,
183 	A15_MARK, KEYOUT4_MARK,
184 	A16_MARK, KEYOUT3_MARK, MSIOF0_SS1_MARK,
185 	A17_MARK, KEYOUT2_MARK, MSIOF0_TSYNC_MARK,
186 	A18_MARK, KEYOUT1_MARK, MSIOF0_TSCK_MARK,
187 	A19_MARK, KEYOUT0_MARK, MSIOF0_TXD_MARK,
188 	A20_MARK, KEYIN0_MARK, MSIOF0_RSCK_MARK,
189 	A21_MARK, KEYIN1_MARK, MSIOF0_RSYNC_MARK,
190 	A22_MARK, KEYIN2_MARK, MSIOF0_MCK0_MARK,
191 	A23_MARK, KEYIN3_MARK, MSIOF0_MCK1_MARK,
192 	A24_MARK, KEYIN4_MARK, MSIOF0_RXD_MARK,
193 	A25_MARK, KEYIN5_MARK, MSIOF0_SS2_MARK,
194 	A26_MARK, KEYIN6_MARK,
195 	KEYIN7_MARK,
196 	D0_NAF0_MARK,
197 	D1_NAF1_MARK,
198 	D2_NAF2_MARK,
199 	D3_NAF3_MARK,
200 	D4_NAF4_MARK,
201 	D5_NAF5_MARK,
202 	D6_NAF6_MARK,
203 	D7_NAF7_MARK,
204 	D8_NAF8_MARK,
205 	D9_NAF9_MARK,
206 	D10_NAF10_MARK,
207 	D11_NAF11_MARK,
208 	D12_NAF12_MARK,
209 	D13_NAF13_MARK,
210 	D14_NAF14_MARK,
211 	D15_NAF15_MARK,
212 	CS4__MARK,
213 	CS5A__MARK, PORT91_RDWR_MARK,
214 	CS5B__MARK, FCE1__MARK,
215 	CS6B__MARK, DACK0_MARK,
216 	FCE0__MARK, CS6A__MARK,
217 	WAIT__MARK, DREQ0_MARK,
218 	RD__FSC_MARK,
219 	WE0__FWE_MARK, RDWR_FWE_MARK,
220 	WE1__MARK,
221 	FRB_MARK,
222 	CKO_MARK,
223 	NBRSTOUT__MARK,
224 	NBRST__MARK,
225 	BBIF2_TXD_MARK,
226 	BBIF2_RXD_MARK,
227 	BBIF2_SYNC_MARK,
228 	BBIF2_SCK_MARK,
229 	SCIFA3_CTS__MARK, MFG3_IN2_MARK,
230 	SCIFA3_RXD_MARK, MFG3_IN1_MARK,
231 	BBIF1_SS2_MARK, SCIFA3_RTS__MARK, MFG3_OUT1_MARK,
232 	SCIFA3_TXD_MARK,
233 	HSI_RX_DATA_MARK, BBIF1_RXD_MARK,
234 	HSI_TX_WAKE_MARK, BBIF1_TSCK_MARK,
235 	HSI_TX_DATA_MARK, BBIF1_TSYNC_MARK,
236 	HSI_TX_READY_MARK, BBIF1_TXD_MARK,
237 	HSI_RX_READY_MARK, BBIF1_RSCK_MARK, PORT115_I2C_SCL2_MARK, \
238 	PORT115_I2C_SCL3_MARK,
239 	HSI_RX_WAKE_MARK, BBIF1_RSYNC_MARK, PORT116_I2C_SDA2_MARK, \
240 	PORT116_I2C_SDA3_MARK,
241 	HSI_RX_FLAG_MARK, BBIF1_SS1_MARK, BBIF1_FLOW_MARK,
242 	HSI_TX_FLAG_MARK,
243 	VIO_VD_MARK, PORT128_LCD2VSYN_MARK, VIO2_VD_MARK, LCD2D0_MARK,
244 
245 	VIO_HD_MARK, PORT129_LCD2HSYN_MARK, PORT129_LCD2CS__MARK, \
246 	VIO2_HD_MARK, LCD2D1_MARK,
247 	VIO_D0_MARK, PORT130_MSIOF2_RXD_MARK, LCD2D10_MARK,
248 	VIO_D1_MARK, PORT131_KEYOUT6_MARK, PORT131_MSIOF2_SS1_MARK, \
249 	PORT131_KEYOUT11_MARK, LCD2D11_MARK,
250 	VIO_D2_MARK, PORT132_KEYOUT7_MARK, PORT132_MSIOF2_SS2_MARK, \
251 	PORT132_KEYOUT10_MARK, LCD2D12_MARK,
252 	VIO_D3_MARK, MSIOF2_TSYNC_MARK, LCD2D13_MARK,
253 	VIO_D4_MARK, MSIOF2_TXD_MARK, LCD2D14_MARK,
254 	VIO_D5_MARK, MSIOF2_TSCK_MARK, LCD2D15_MARK,
255 	VIO_D6_MARK, PORT136_KEYOUT8_MARK, LCD2D16_MARK,
256 	VIO_D7_MARK, PORT137_KEYOUT9_MARK, LCD2D17_MARK,
257 	VIO_D8_MARK, PORT138_KEYOUT8_MARK, VIO2_D0_MARK, LCD2D6_MARK,
258 	VIO_D9_MARK, PORT139_KEYOUT9_MARK, VIO2_D1_MARK, LCD2D7_MARK,
259 	VIO_D10_MARK, TPU0TO2_MARK, VIO2_D2_MARK, LCD2D8_MARK,
260 	VIO_D11_MARK, TPU0TO3_MARK, VIO2_D3_MARK, LCD2D9_MARK,
261 	VIO_D12_MARK, PORT142_KEYOUT10_MARK, VIO2_D4_MARK, LCD2D2_MARK,
262 	VIO_D13_MARK, PORT143_KEYOUT11_MARK, PORT143_KEYOUT6_MARK, \
263 	VIO2_D5_MARK, LCD2D3_MARK,
264 	VIO_D14_MARK, PORT144_KEYOUT7_MARK, VIO2_D6_MARK, LCD2D4_MARK,
265 	VIO_D15_MARK, TPU1TO3_MARK, PORT145_LCD2DISP_MARK, \
266 	PORT145_LCD2RS_MARK, VIO2_D7_MARK, LCD2D5_MARK,
267 	VIO_CLK_MARK, LCD2DCK_MARK, PORT146_LCD2WR__MARK, VIO2_CLK_MARK, \
268 	LCD2D18_MARK,
269 	VIO_FIELD_MARK, LCD2RD__MARK, VIO2_FIELD_MARK, LCD2D19_MARK,
270 	VIO_CKO_MARK,
271 	A27_MARK, PORT149_RDWR_MARK, MFG0_IN1_MARK, PORT149_KEYOUT9_MARK,
272 	MFG0_IN2_MARK,
273 	TS_SPSYNC3_MARK, MSIOF2_RSCK_MARK,
274 	TS_SDAT3_MARK, MSIOF2_RSYNC_MARK,
275 	TPU1TO2_MARK, TS_SDEN3_MARK, PORT153_MSIOF2_SS1_MARK,
276 	SCIFA2_TXD1_MARK, MSIOF2_MCK0_MARK,
277 	SCIFA2_RXD1_MARK, MSIOF2_MCK1_MARK,
278 	SCIFA2_RTS1__MARK, PORT156_MSIOF2_SS2_MARK,
279 	SCIFA2_CTS1__MARK, PORT157_MSIOF2_RXD_MARK,
280 	DINT__MARK, SCIFA2_SCK1_MARK, TS_SCK3_MARK,
281 	PORT159_SCIFB_SCK_MARK, PORT159_SCIFA5_SCK_MARK, NMI_MARK,
282 	PORT160_SCIFB_TXD_MARK, PORT160_SCIFA5_TXD_MARK,
283 	PORT161_SCIFB_CTS__MARK, PORT161_SCIFA5_CTS__MARK,
284 	PORT162_SCIFB_RXD_MARK, PORT162_SCIFA5_RXD_MARK,
285 	PORT163_SCIFB_RTS__MARK, PORT163_SCIFA5_RTS__MARK, TPU3TO0_MARK,
286 	LCDD0_MARK,
287 	LCDD1_MARK, PORT193_SCIFA5_CTS__MARK, BBIF2_TSYNC1_MARK,
288 	LCDD2_MARK, PORT194_SCIFA5_RTS__MARK, BBIF2_TSCK1_MARK,
289 	LCDD3_MARK, PORT195_SCIFA5_RXD_MARK, BBIF2_TXD1_MARK,
290 	LCDD4_MARK, PORT196_SCIFA5_TXD_MARK,
291 	LCDD5_MARK, PORT197_SCIFA5_SCK_MARK, MFG2_OUT2_MARK, TPU2TO1_MARK,
292 	LCDD6_MARK,
293 	LCDD7_MARK, TPU4TO1_MARK, MFG4_OUT2_MARK,
294 	LCDD8_MARK, D16_MARK,
295 	LCDD9_MARK, D17_MARK,
296 	LCDD10_MARK, D18_MARK,
297 	LCDD11_MARK, D19_MARK,
298 	LCDD12_MARK, D20_MARK,
299 	LCDD13_MARK, D21_MARK,
300 	LCDD14_MARK, D22_MARK,
301 	LCDD15_MARK, PORT207_MSIOF0L_SS1_MARK, D23_MARK,
302 	LCDD16_MARK, PORT208_MSIOF0L_SS2_MARK, D24_MARK,
303 	LCDD17_MARK, D25_MARK,
304 	LCDD18_MARK, DREQ2_MARK, PORT210_MSIOF0L_SS1_MARK, D26_MARK,
305 	LCDD19_MARK, PORT211_MSIOF0L_SS2_MARK, D27_MARK,
306 	LCDD20_MARK, TS_SPSYNC1_MARK, MSIOF0L_MCK0_MARK, D28_MARK,
307 	LCDD21_MARK, TS_SDAT1_MARK, MSIOF0L_MCK1_MARK, D29_MARK,
308 	LCDD22_MARK, TS_SDEN1_MARK, MSIOF0L_RSCK_MARK, D30_MARK,
309 	LCDD23_MARK, TS_SCK1_MARK, MSIOF0L_RSYNC_MARK, D31_MARK,
310 	LCDDCK_MARK, LCDWR__MARK,
311 	LCDRD__MARK, DACK2_MARK, PORT217_LCD2RS_MARK, MSIOF0L_TSYNC_MARK, \
312 	VIO2_FIELD3_MARK, PORT217_LCD2DISP_MARK,
313 	LCDHSYN_MARK, LCDCS__MARK, LCDCS2__MARK, DACK3_MARK, \
314 	PORT218_VIO_CKOR_MARK,
315 	LCDDISP_MARK, LCDRS_MARK, PORT219_LCD2WR__MARK, DREQ3_MARK, \
316 	MSIOF0L_TSCK_MARK, VIO2_CLK3_MARK, LCD2DCK_2_MARK,
317 	LCDVSYN_MARK, LCDVSYN2_MARK,
318 	LCDLCLK_MARK, DREQ1_MARK, PORT221_LCD2CS__MARK, PWEN_MARK, \
319 	MSIOF0L_RXD_MARK, VIO2_HD3_MARK, PORT221_LCD2HSYN_MARK,
320 	LCDDON_MARK, LCDDON2_MARK, DACK1_MARK, OVCN_MARK, MSIOF0L_TXD_MARK, \
321 	VIO2_VD3_MARK, PORT222_LCD2VSYN_MARK,
322 
323 	SCIFA1_TXD_MARK, OVCN2_MARK,
324 	EXTLP_MARK, SCIFA1_SCK_MARK, PORT226_VIO_CKO2_MARK,
325 	SCIFA1_RTS__MARK, IDIN_MARK,
326 	SCIFA1_RXD_MARK,
327 	SCIFA1_CTS__MARK, MFG1_IN1_MARK,
328 	MSIOF1_TXD_MARK, SCIFA2_TXD2_MARK,
329 	MSIOF1_TSYNC_MARK, SCIFA2_CTS2__MARK,
330 	MSIOF1_TSCK_MARK, SCIFA2_SCK2_MARK,
331 	MSIOF1_RXD_MARK, SCIFA2_RXD2_MARK,
332 	MSIOF1_RSCK_MARK, SCIFA2_RTS2__MARK, VIO2_CLK2_MARK, LCD2D20_MARK,
333 	MSIOF1_RSYNC_MARK, MFG1_IN2_MARK, VIO2_VD2_MARK, LCD2D21_MARK,
334 	MSIOF1_MCK0_MARK, PORT236_I2C_SDA2_MARK,
335 	MSIOF1_MCK1_MARK, PORT237_I2C_SCL2_MARK,
336 	MSIOF1_SS1_MARK, VIO2_FIELD2_MARK, LCD2D22_MARK,
337 	MSIOF1_SS2_MARK, VIO2_HD2_MARK, LCD2D23_MARK,
338 	SCIFA6_TXD_MARK,
339 	PORT241_IRDA_OUT_MARK, PORT241_IROUT_MARK, MFG4_OUT1_MARK, TPU4TO0_MARK,
340 	PORT242_IRDA_IN_MARK, MFG4_IN2_MARK,
341 	PORT243_IRDA_FIRSEL_MARK, PORT243_VIO_CKO2_MARK,
342 	PORT244_SCIFA5_CTS__MARK, MFG2_IN1_MARK, PORT244_SCIFB_CTS__MARK, \
343 	MSIOF2R_RXD_MARK,
344 	PORT245_SCIFA5_RTS__MARK, MFG2_IN2_MARK, PORT245_SCIFB_RTS__MARK, \
345 	MSIOF2R_TXD_MARK,
346 	PORT246_SCIFA5_RXD_MARK, MFG1_OUT1_MARK, PORT246_SCIFB_RXD_MARK, \
347 	TPU1TO0_MARK,
348 	PORT247_SCIFA5_TXD_MARK, MFG3_OUT2_MARK, PORT247_SCIFB_TXD_MARK, \
349 	TPU3TO1_MARK,
350 	PORT248_SCIFA5_SCK_MARK, MFG2_OUT1_MARK, PORT248_SCIFB_SCK_MARK, \
351 	TPU2TO0_MARK, PORT248_I2C_SCL3_MARK, MSIOF2R_TSCK_MARK,
352 	PORT249_IROUT_MARK, MFG4_IN1_MARK, PORT249_I2C_SDA3_MARK, \
353 	MSIOF2R_TSYNC_MARK,
354 	SDHICLK0_MARK,
355 	SDHICD0_MARK,
356 	SDHID0_0_MARK,
357 	SDHID0_1_MARK,
358 	SDHID0_2_MARK,
359 	SDHID0_3_MARK,
360 	SDHICMD0_MARK,
361 	SDHIWP0_MARK,
362 	SDHICLK1_MARK,
363 	SDHID1_0_MARK, TS_SPSYNC2_MARK,
364 	SDHID1_1_MARK, TS_SDAT2_MARK,
365 	SDHID1_2_MARK, TS_SDEN2_MARK,
366 	SDHID1_3_MARK, TS_SCK2_MARK,
367 	SDHICMD1_MARK,
368 	SDHICLK2_MARK,
369 	SDHID2_0_MARK, TS_SPSYNC4_MARK,
370 	SDHID2_1_MARK, TS_SDAT4_MARK,
371 	SDHID2_2_MARK, TS_SDEN4_MARK,
372 	SDHID2_3_MARK, TS_SCK4_MARK,
373 	SDHICMD2_MARK,
374 	MMCCLK0_MARK,
375 	MMCD0_0_MARK,
376 	MMCD0_1_MARK,
377 	MMCD0_2_MARK,
378 	MMCD0_3_MARK,
379 	MMCD0_4_MARK, TS_SPSYNC5_MARK,
380 	MMCD0_5_MARK, TS_SDAT5_MARK,
381 	MMCD0_6_MARK, TS_SDEN5_MARK,
382 	MMCD0_7_MARK, TS_SCK5_MARK,
383 	MMCCMD0_MARK,
384 	RESETOUTS__MARK, EXTAL2OUT_MARK,
385 	MCP_WAIT__MCP_FRB_MARK,
386 	MCP_CKO_MARK, MMCCLK1_MARK,
387 	MCP_D15_MCP_NAF15_MARK,
388 	MCP_D14_MCP_NAF14_MARK,
389 	MCP_D13_MCP_NAF13_MARK,
390 	MCP_D12_MCP_NAF12_MARK,
391 	MCP_D11_MCP_NAF11_MARK,
392 	MCP_D10_MCP_NAF10_MARK,
393 	MCP_D9_MCP_NAF9_MARK,
394 	MCP_D8_MCP_NAF8_MARK, MMCCMD1_MARK,
395 	MCP_D7_MCP_NAF7_MARK, MMCD1_7_MARK,
396 
397 	MCP_D6_MCP_NAF6_MARK, MMCD1_6_MARK,
398 	MCP_D5_MCP_NAF5_MARK, MMCD1_5_MARK,
399 	MCP_D4_MCP_NAF4_MARK, MMCD1_4_MARK,
400 	MCP_D3_MCP_NAF3_MARK, MMCD1_3_MARK,
401 	MCP_D2_MCP_NAF2_MARK, MMCD1_2_MARK,
402 	MCP_D1_MCP_NAF1_MARK, MMCD1_1_MARK,
403 	MCP_D0_MCP_NAF0_MARK, MMCD1_0_MARK,
404 	MCP_NBRSTOUT__MARK,
405 	MCP_WE0__MCP_FWE_MARK, MCP_RDWR_MCP_FWE_MARK,
406 
407 	/* MSEL2 special cases */
408 	TSIF2_TS_XX1_MARK,
409 	TSIF2_TS_XX2_MARK,
410 	TSIF2_TS_XX3_MARK,
411 	TSIF2_TS_XX4_MARK,
412 	TSIF2_TS_XX5_MARK,
413 	TSIF1_TS_XX1_MARK,
414 	TSIF1_TS_XX2_MARK,
415 	TSIF1_TS_XX3_MARK,
416 	TSIF1_TS_XX4_MARK,
417 	TSIF1_TS_XX5_MARK,
418 	TSIF0_TS_XX1_MARK,
419 	TSIF0_TS_XX2_MARK,
420 	TSIF0_TS_XX3_MARK,
421 	TSIF0_TS_XX4_MARK,
422 	TSIF0_TS_XX5_MARK,
423 	MST1_TS_XX1_MARK,
424 	MST1_TS_XX2_MARK,
425 	MST1_TS_XX3_MARK,
426 	MST1_TS_XX4_MARK,
427 	MST1_TS_XX5_MARK,
428 	MST0_TS_XX1_MARK,
429 	MST0_TS_XX2_MARK,
430 	MST0_TS_XX3_MARK,
431 	MST0_TS_XX4_MARK,
432 	MST0_TS_XX5_MARK,
433 
434 	/* MSEL3 special cases */
435 	SDHI0_VCCQ_MC0_ON_MARK,
436 	SDHI0_VCCQ_MC0_OFF_MARK,
437 	DEBUG_MON_VIO_MARK,
438 	DEBUG_MON_LCDD_MARK,
439 	LCDC_LCDC0_MARK,
440 	LCDC_LCDC1_MARK,
441 
442 	/* MSEL4 special cases */
443 	IRQ9_MEM_INT_MARK,
444 	IRQ9_MCP_INT_MARK,
445 	A11_MARK,
446 	KEYOUT8_MARK,
447 	TPU4TO3_MARK,
448 	RESETA_N_PU_ON_MARK,
449 	RESETA_N_PU_OFF_MARK,
450 	EDBGREQ_PD_MARK,
451 	EDBGREQ_PU_MARK,
452 
453 	PINMUX_MARK_END,
454 };
455 
456 static const u16 pinmux_data[] = {
457 	/* specify valid pin states for each pin in GPIO mode */
458 	PINMUX_DATA_ALL(),
459 
460 	/* Table 25-1 (Function 0-7) */
461 	PINMUX_DATA(VBUS_0_MARK, PORT0_FN1),
462 	PINMUX_DATA(GPI0_MARK, PORT1_FN1),
463 	PINMUX_DATA(GPI1_MARK, PORT2_FN1),
464 	PINMUX_DATA(GPI2_MARK, PORT3_FN1),
465 	PINMUX_DATA(GPI3_MARK, PORT4_FN1),
466 	PINMUX_DATA(GPI4_MARK, PORT5_FN1),
467 	PINMUX_DATA(GPI5_MARK, PORT6_FN1),
468 	PINMUX_DATA(GPI6_MARK, PORT7_FN1),
469 	PINMUX_DATA(GPI7_MARK, PORT8_FN1),
470 	PINMUX_DATA(SCIFA7_RXD_MARK, PORT12_FN2),
471 	PINMUX_DATA(SCIFA7_CTS__MARK, PORT13_FN2),
472 	PINMUX_DATA(GPO7_MARK, PORT14_FN1), \
473 	PINMUX_DATA(MFG0_OUT2_MARK, PORT14_FN4),
474 	PINMUX_DATA(GPO6_MARK, PORT15_FN1), \
475 	PINMUX_DATA(MFG1_OUT2_MARK, PORT15_FN4),
476 	PINMUX_DATA(GPO5_MARK, PORT16_FN1), \
477 	PINMUX_DATA(SCIFA0_SCK_MARK, PORT16_FN2), \
478 	PINMUX_DATA(FSICOSLDT3_MARK, PORT16_FN3), \
479 	PINMUX_DATA(PORT16_VIO_CKOR_MARK, PORT16_FN4),
480 	PINMUX_DATA(SCIFA0_TXD_MARK, PORT17_FN2),
481 	PINMUX_DATA(SCIFA7_TXD_MARK, PORT18_FN2),
482 	PINMUX_DATA(SCIFA7_RTS__MARK, PORT19_FN2), \
483 	PINMUX_DATA(PORT19_VIO_CKO2_MARK, PORT19_FN3),
484 	PINMUX_DATA(GPO0_MARK, PORT20_FN1),
485 	PINMUX_DATA(GPO1_MARK, PORT21_FN1),
486 	PINMUX_DATA(GPO2_MARK, PORT22_FN1), \
487 	PINMUX_DATA(STATUS0_MARK, PORT22_FN2),
488 	PINMUX_DATA(GPO3_MARK, PORT23_FN1), \
489 	PINMUX_DATA(STATUS1_MARK, PORT23_FN2),
490 	PINMUX_DATA(GPO4_MARK, PORT24_FN1), \
491 	PINMUX_DATA(STATUS2_MARK, PORT24_FN2),
492 	PINMUX_DATA(VINT_MARK, PORT25_FN1),
493 	PINMUX_DATA(TCKON_MARK, PORT26_FN1),
494 	PINMUX_DATA(XDVFS1_MARK, PORT27_FN1), \
495 	PINMUX_DATA(PORT27_I2C_SCL2_MARK, PORT27_FN2, MSEL2CR_MSEL17_0,
496 		MSEL2CR_MSEL16_1), \
497 	PINMUX_DATA(PORT27_I2C_SCL3_MARK, PORT27_FN3, MSEL2CR_MSEL19_0,
498 		MSEL2CR_MSEL18_1), \
499 	PINMUX_DATA(MFG0_OUT1_MARK, PORT27_FN4), \
500 	PINMUX_DATA(PORT27_IROUT_MARK, PORT27_FN7),
501 	PINMUX_DATA(XDVFS2_MARK, PORT28_FN1), \
502 	PINMUX_DATA(PORT28_I2C_SDA2_MARK, PORT28_FN2, MSEL2CR_MSEL17_0,
503 		MSEL2CR_MSEL16_1), \
504 	PINMUX_DATA(PORT28_I2C_SDA3_MARK, PORT28_FN3, MSEL2CR_MSEL19_0,
505 		MSEL2CR_MSEL18_1), \
506 	PINMUX_DATA(PORT28_TPU1TO1_MARK, PORT28_FN7),
507 	PINMUX_DATA(SIM_RST_MARK, PORT29_FN1), \
508 	PINMUX_DATA(PORT29_TPU1TO1_MARK, PORT29_FN4),
509 	PINMUX_DATA(SIM_CLK_MARK, PORT30_FN1), \
510 	PINMUX_DATA(PORT30_VIO_CKOR_MARK, PORT30_FN4),
511 	PINMUX_DATA(SIM_D_MARK, PORT31_FN1), \
512 	PINMUX_DATA(PORT31_IROUT_MARK, PORT31_FN4),
513 	PINMUX_DATA(SCIFA4_TXD_MARK, PORT32_FN2),
514 	PINMUX_DATA(SCIFA4_RXD_MARK, PORT33_FN2), \
515 	PINMUX_DATA(XWUP_MARK, PORT33_FN3),
516 	PINMUX_DATA(SCIFA4_RTS__MARK, PORT34_FN2),
517 	PINMUX_DATA(SCIFA4_CTS__MARK, PORT35_FN2),
518 	PINMUX_DATA(FSIBOBT_MARK, PORT36_FN1), \
519 	PINMUX_DATA(FSIBIBT_MARK, PORT36_FN2),
520 	PINMUX_DATA(FSIBOLR_MARK, PORT37_FN1), \
521 	PINMUX_DATA(FSIBILR_MARK, PORT37_FN2),
522 	PINMUX_DATA(FSIBOSLD_MARK, PORT38_FN1),
523 	PINMUX_DATA(FSIBISLD_MARK, PORT39_FN1),
524 	PINMUX_DATA(VACK_MARK, PORT40_FN1),
525 	PINMUX_DATA(XTAL1L_MARK, PORT41_FN1),
526 	PINMUX_DATA(SCIFA0_RTS__MARK, PORT42_FN2), \
527 	PINMUX_DATA(FSICOSLDT2_MARK, PORT42_FN3),
528 	PINMUX_DATA(SCIFA0_RXD_MARK, PORT43_FN2),
529 	PINMUX_DATA(SCIFA0_CTS__MARK, PORT44_FN2), \
530 	PINMUX_DATA(FSICOSLDT1_MARK, PORT44_FN3),
531 	PINMUX_DATA(FSICOBT_MARK, PORT45_FN1), \
532 	PINMUX_DATA(FSICIBT_MARK, PORT45_FN2), \
533 	PINMUX_DATA(FSIDOBT_MARK, PORT45_FN3), \
534 	PINMUX_DATA(FSIDIBT_MARK, PORT45_FN4),
535 	PINMUX_DATA(FSICOLR_MARK, PORT46_FN1), \
536 	PINMUX_DATA(FSICILR_MARK, PORT46_FN2), \
537 	PINMUX_DATA(FSIDOLR_MARK, PORT46_FN3), \
538 	PINMUX_DATA(FSIDILR_MARK, PORT46_FN4),
539 	PINMUX_DATA(FSICOSLD_MARK, PORT47_FN1), \
540 	PINMUX_DATA(PORT47_FSICSPDIF_MARK, PORT47_FN2),
541 	PINMUX_DATA(FSICISLD_MARK, PORT48_FN1), \
542 	PINMUX_DATA(FSIDISLD_MARK, PORT48_FN3),
543 	PINMUX_DATA(FSIACK_MARK, PORT49_FN1), \
544 	PINMUX_DATA(PORT49_IRDA_OUT_MARK, PORT49_FN2, MSEL4CR_MSEL19_1), \
545 	PINMUX_DATA(PORT49_IROUT_MARK, PORT49_FN4), \
546 	PINMUX_DATA(FSIAOMC_MARK, PORT49_FN5),
547 	PINMUX_DATA(FSIAOLR_MARK, PORT50_FN1), \
548 	PINMUX_DATA(BBIF2_TSYNC2_MARK, PORT50_FN2), \
549 	PINMUX_DATA(TPU2TO2_MARK, PORT50_FN3), \
550 	PINMUX_DATA(FSIAILR_MARK, PORT50_FN5),
551 
552 	PINMUX_DATA(FSIAOBT_MARK, PORT51_FN1), \
553 	PINMUX_DATA(BBIF2_TSCK2_MARK, PORT51_FN2), \
554 	PINMUX_DATA(TPU2TO3_MARK, PORT51_FN3), \
555 	PINMUX_DATA(FSIAIBT_MARK, PORT51_FN5),
556 	PINMUX_DATA(FSIAOSLD_MARK, PORT52_FN1), \
557 	PINMUX_DATA(BBIF2_TXD2_MARK, PORT52_FN2),
558 	PINMUX_DATA(FSIASPDIF_MARK, PORT53_FN1), \
559 	PINMUX_DATA(PORT53_IRDA_IN_MARK, PORT53_FN2, MSEL4CR_MSEL19_1), \
560 	PINMUX_DATA(TPU3TO3_MARK, PORT53_FN3), \
561 	PINMUX_DATA(FSIBSPDIF_MARK, PORT53_FN5), \
562 	PINMUX_DATA(PORT53_FSICSPDIF_MARK, PORT53_FN6),
563 	PINMUX_DATA(FSIBCK_MARK, PORT54_FN1), \
564 	PINMUX_DATA(PORT54_IRDA_FIRSEL_MARK, PORT54_FN2, MSEL4CR_MSEL19_1), \
565 	PINMUX_DATA(TPU3TO2_MARK, PORT54_FN3), \
566 	PINMUX_DATA(FSIBOMC_MARK, PORT54_FN5), \
567 	PINMUX_DATA(FSICCK_MARK, PORT54_FN6), \
568 	PINMUX_DATA(FSICOMC_MARK, PORT54_FN7),
569 	PINMUX_DATA(FSIAISLD_MARK, PORT55_FN1), \
570 	PINMUX_DATA(TPU0TO0_MARK, PORT55_FN3),
571 	PINMUX_DATA(A0_MARK, PORT57_FN1), \
572 	PINMUX_DATA(BS__MARK, PORT57_FN2),
573 	PINMUX_DATA(A12_MARK, PORT58_FN1), \
574 	PINMUX_DATA(PORT58_KEYOUT7_MARK, PORT58_FN2), \
575 	PINMUX_DATA(TPU4TO2_MARK, PORT58_FN4),
576 	PINMUX_DATA(A13_MARK, PORT59_FN1), \
577 	PINMUX_DATA(PORT59_KEYOUT6_MARK, PORT59_FN2), \
578 	PINMUX_DATA(TPU0TO1_MARK, PORT59_FN4),
579 	PINMUX_DATA(A14_MARK, PORT60_FN1), \
580 	PINMUX_DATA(KEYOUT5_MARK, PORT60_FN2),
581 	PINMUX_DATA(A15_MARK, PORT61_FN1), \
582 	PINMUX_DATA(KEYOUT4_MARK, PORT61_FN2),
583 	PINMUX_DATA(A16_MARK, PORT62_FN1), \
584 	PINMUX_DATA(KEYOUT3_MARK, PORT62_FN2), \
585 	PINMUX_DATA(MSIOF0_SS1_MARK, PORT62_FN4, MSEL3CR_MSEL11_0),
586 	PINMUX_DATA(A17_MARK, PORT63_FN1), \
587 	PINMUX_DATA(KEYOUT2_MARK, PORT63_FN2), \
588 	PINMUX_DATA(MSIOF0_TSYNC_MARK, PORT63_FN4, MSEL3CR_MSEL11_0),
589 	PINMUX_DATA(A18_MARK, PORT64_FN1), \
590 	PINMUX_DATA(KEYOUT1_MARK, PORT64_FN2), \
591 	PINMUX_DATA(MSIOF0_TSCK_MARK, PORT64_FN4, MSEL3CR_MSEL11_0),
592 	PINMUX_DATA(A19_MARK, PORT65_FN1), \
593 	PINMUX_DATA(KEYOUT0_MARK, PORT65_FN2), \
594 	PINMUX_DATA(MSIOF0_TXD_MARK, PORT65_FN4, MSEL3CR_MSEL11_0),
595 	PINMUX_DATA(A20_MARK, PORT66_FN1), \
596 	PINMUX_DATA(KEYIN0_MARK, PORT66_FN2), \
597 	PINMUX_DATA(MSIOF0_RSCK_MARK, PORT66_FN4, MSEL3CR_MSEL11_0),
598 	PINMUX_DATA(A21_MARK, PORT67_FN1), \
599 	PINMUX_DATA(KEYIN1_MARK, PORT67_FN2), \
600 	PINMUX_DATA(MSIOF0_RSYNC_MARK, PORT67_FN4, MSEL3CR_MSEL11_0),
601 	PINMUX_DATA(A22_MARK, PORT68_FN1), \
602 	PINMUX_DATA(KEYIN2_MARK, PORT68_FN2), \
603 	PINMUX_DATA(MSIOF0_MCK0_MARK, PORT68_FN4, MSEL3CR_MSEL11_0),
604 	PINMUX_DATA(A23_MARK, PORT69_FN1), \
605 	PINMUX_DATA(KEYIN3_MARK, PORT69_FN2), \
606 	PINMUX_DATA(MSIOF0_MCK1_MARK, PORT69_FN4, MSEL3CR_MSEL11_0),
607 	PINMUX_DATA(A24_MARK, PORT70_FN1), \
608 	PINMUX_DATA(KEYIN4_MARK, PORT70_FN2), \
609 	PINMUX_DATA(MSIOF0_RXD_MARK, PORT70_FN4, MSEL3CR_MSEL11_0),
610 	PINMUX_DATA(A25_MARK, PORT71_FN1), \
611 	PINMUX_DATA(KEYIN5_MARK, PORT71_FN2), \
612 	PINMUX_DATA(MSIOF0_SS2_MARK, PORT71_FN4, MSEL3CR_MSEL11_0),
613 	PINMUX_DATA(A26_MARK, PORT72_FN1), \
614 	PINMUX_DATA(KEYIN6_MARK, PORT72_FN2),
615 	PINMUX_DATA(KEYIN7_MARK, PORT73_FN2),
616 	PINMUX_DATA(D0_NAF0_MARK, PORT74_FN1),
617 	PINMUX_DATA(D1_NAF1_MARK, PORT75_FN1),
618 	PINMUX_DATA(D2_NAF2_MARK, PORT76_FN1),
619 	PINMUX_DATA(D3_NAF3_MARK, PORT77_FN1),
620 	PINMUX_DATA(D4_NAF4_MARK, PORT78_FN1),
621 	PINMUX_DATA(D5_NAF5_MARK, PORT79_FN1),
622 	PINMUX_DATA(D6_NAF6_MARK, PORT80_FN1),
623 	PINMUX_DATA(D7_NAF7_MARK, PORT81_FN1),
624 	PINMUX_DATA(D8_NAF8_MARK, PORT82_FN1),
625 	PINMUX_DATA(D9_NAF9_MARK, PORT83_FN1),
626 	PINMUX_DATA(D10_NAF10_MARK, PORT84_FN1),
627 	PINMUX_DATA(D11_NAF11_MARK, PORT85_FN1),
628 	PINMUX_DATA(D12_NAF12_MARK, PORT86_FN1),
629 	PINMUX_DATA(D13_NAF13_MARK, PORT87_FN1),
630 	PINMUX_DATA(D14_NAF14_MARK, PORT88_FN1),
631 	PINMUX_DATA(D15_NAF15_MARK, PORT89_FN1),
632 	PINMUX_DATA(CS4__MARK, PORT90_FN1),
633 	PINMUX_DATA(CS5A__MARK, PORT91_FN1), \
634 	PINMUX_DATA(PORT91_RDWR_MARK, PORT91_FN2),
635 	PINMUX_DATA(CS5B__MARK, PORT92_FN1), \
636 	PINMUX_DATA(FCE1__MARK, PORT92_FN2),
637 	PINMUX_DATA(CS6B__MARK, PORT93_FN1), \
638 	PINMUX_DATA(DACK0_MARK, PORT93_FN4),
639 	PINMUX_DATA(FCE0__MARK, PORT94_FN1), \
640 	PINMUX_DATA(CS6A__MARK, PORT94_FN2),
641 	PINMUX_DATA(WAIT__MARK, PORT95_FN1), \
642 	PINMUX_DATA(DREQ0_MARK, PORT95_FN2),
643 	PINMUX_DATA(RD__FSC_MARK, PORT96_FN1),
644 	PINMUX_DATA(WE0__FWE_MARK, PORT97_FN1), \
645 	PINMUX_DATA(RDWR_FWE_MARK, PORT97_FN2),
646 	PINMUX_DATA(WE1__MARK, PORT98_FN1),
647 	PINMUX_DATA(FRB_MARK, PORT99_FN1),
648 	PINMUX_DATA(CKO_MARK, PORT100_FN1),
649 	PINMUX_DATA(NBRSTOUT__MARK, PORT101_FN1),
650 	PINMUX_DATA(NBRST__MARK, PORT102_FN1),
651 	PINMUX_DATA(BBIF2_TXD_MARK, PORT103_FN3),
652 	PINMUX_DATA(BBIF2_RXD_MARK, PORT104_FN3),
653 	PINMUX_DATA(BBIF2_SYNC_MARK, PORT105_FN3),
654 	PINMUX_DATA(BBIF2_SCK_MARK, PORT106_FN3),
655 	PINMUX_DATA(SCIFA3_CTS__MARK, PORT107_FN3), \
656 	PINMUX_DATA(MFG3_IN2_MARK, PORT107_FN4),
657 	PINMUX_DATA(SCIFA3_RXD_MARK, PORT108_FN3), \
658 	PINMUX_DATA(MFG3_IN1_MARK, PORT108_FN4),
659 	PINMUX_DATA(BBIF1_SS2_MARK, PORT109_FN2), \
660 	PINMUX_DATA(SCIFA3_RTS__MARK, PORT109_FN3), \
661 	PINMUX_DATA(MFG3_OUT1_MARK, PORT109_FN4),
662 	PINMUX_DATA(SCIFA3_TXD_MARK, PORT110_FN3),
663 	PINMUX_DATA(HSI_RX_DATA_MARK, PORT111_FN1), \
664 	PINMUX_DATA(BBIF1_RXD_MARK, PORT111_FN3),
665 	PINMUX_DATA(HSI_TX_WAKE_MARK, PORT112_FN1), \
666 	PINMUX_DATA(BBIF1_TSCK_MARK, PORT112_FN3),
667 	PINMUX_DATA(HSI_TX_DATA_MARK, PORT113_FN1), \
668 	PINMUX_DATA(BBIF1_TSYNC_MARK, PORT113_FN3),
669 	PINMUX_DATA(HSI_TX_READY_MARK, PORT114_FN1), \
670 	PINMUX_DATA(BBIF1_TXD_MARK, PORT114_FN3),
671 	PINMUX_DATA(HSI_RX_READY_MARK, PORT115_FN1), \
672 	PINMUX_DATA(BBIF1_RSCK_MARK, PORT115_FN3), \
673 	PINMUX_DATA(PORT115_I2C_SCL2_MARK, PORT115_FN5, MSEL2CR_MSEL17_1), \
674 	PINMUX_DATA(PORT115_I2C_SCL3_MARK, PORT115_FN6, MSEL2CR_MSEL19_1),
675 	PINMUX_DATA(HSI_RX_WAKE_MARK, PORT116_FN1), \
676 	PINMUX_DATA(BBIF1_RSYNC_MARK, PORT116_FN3), \
677 	PINMUX_DATA(PORT116_I2C_SDA2_MARK, PORT116_FN5, MSEL2CR_MSEL17_1), \
678 	PINMUX_DATA(PORT116_I2C_SDA3_MARK, PORT116_FN6, MSEL2CR_MSEL19_1),
679 	PINMUX_DATA(HSI_RX_FLAG_MARK, PORT117_FN1), \
680 	PINMUX_DATA(BBIF1_SS1_MARK, PORT117_FN2), \
681 	PINMUX_DATA(BBIF1_FLOW_MARK, PORT117_FN3),
682 	PINMUX_DATA(HSI_TX_FLAG_MARK, PORT118_FN1),
683 	PINMUX_DATA(VIO_VD_MARK, PORT128_FN1), \
684 	PINMUX_DATA(PORT128_LCD2VSYN_MARK, PORT128_FN4, MSEL3CR_MSEL2_0), \
685 	PINMUX_DATA(VIO2_VD_MARK, PORT128_FN6, MSEL4CR_MSEL27_0), \
686 	PINMUX_DATA(LCD2D0_MARK, PORT128_FN7),
687 
688 	PINMUX_DATA(VIO_HD_MARK, PORT129_FN1), \
689 	PINMUX_DATA(PORT129_LCD2HSYN_MARK, PORT129_FN4), \
690 	PINMUX_DATA(PORT129_LCD2CS__MARK, PORT129_FN5), \
691 	PINMUX_DATA(VIO2_HD_MARK, PORT129_FN6, MSEL4CR_MSEL27_0), \
692 	PINMUX_DATA(LCD2D1_MARK, PORT129_FN7),
693 	PINMUX_DATA(VIO_D0_MARK, PORT130_FN1), \
694 	PINMUX_DATA(PORT130_MSIOF2_RXD_MARK, PORT130_FN3, MSEL4CR_MSEL11_0,
695 		MSEL4CR_MSEL10_1), \
696 	PINMUX_DATA(LCD2D10_MARK, PORT130_FN7),
697 	PINMUX_DATA(VIO_D1_MARK, PORT131_FN1), \
698 	PINMUX_DATA(PORT131_KEYOUT6_MARK, PORT131_FN2), \
699 	PINMUX_DATA(PORT131_MSIOF2_SS1_MARK, PORT131_FN3), \
700 	PINMUX_DATA(PORT131_KEYOUT11_MARK, PORT131_FN4), \
701 	PINMUX_DATA(LCD2D11_MARK, PORT131_FN7),
702 	PINMUX_DATA(VIO_D2_MARK, PORT132_FN1), \
703 	PINMUX_DATA(PORT132_KEYOUT7_MARK, PORT132_FN2), \
704 	PINMUX_DATA(PORT132_MSIOF2_SS2_MARK, PORT132_FN3), \
705 	PINMUX_DATA(PORT132_KEYOUT10_MARK, PORT132_FN4), \
706 	PINMUX_DATA(LCD2D12_MARK, PORT132_FN7),
707 	PINMUX_DATA(VIO_D3_MARK, PORT133_FN1), \
708 	PINMUX_DATA(MSIOF2_TSYNC_MARK, PORT133_FN3, MSEL4CR_MSEL11_0), \
709 	PINMUX_DATA(LCD2D13_MARK, PORT133_FN7),
710 	PINMUX_DATA(VIO_D4_MARK, PORT134_FN1), \
711 	PINMUX_DATA(MSIOF2_TXD_MARK, PORT134_FN3, MSEL4CR_MSEL11_0), \
712 	PINMUX_DATA(LCD2D14_MARK, PORT134_FN7),
713 	PINMUX_DATA(VIO_D5_MARK, PORT135_FN1), \
714 	PINMUX_DATA(MSIOF2_TSCK_MARK, PORT135_FN3, MSEL4CR_MSEL11_0), \
715 	PINMUX_DATA(LCD2D15_MARK, PORT135_FN7),
716 	PINMUX_DATA(VIO_D6_MARK, PORT136_FN1), \
717 	PINMUX_DATA(PORT136_KEYOUT8_MARK, PORT136_FN2), \
718 	PINMUX_DATA(LCD2D16_MARK, PORT136_FN7),
719 	PINMUX_DATA(VIO_D7_MARK, PORT137_FN1), \
720 	PINMUX_DATA(PORT137_KEYOUT9_MARK, PORT137_FN2), \
721 	PINMUX_DATA(LCD2D17_MARK, PORT137_FN7),
722 	PINMUX_DATA(VIO_D8_MARK, PORT138_FN1), \
723 	PINMUX_DATA(PORT138_KEYOUT8_MARK, PORT138_FN2), \
724 	PINMUX_DATA(VIO2_D0_MARK, PORT138_FN6), \
725 	PINMUX_DATA(LCD2D6_MARK, PORT138_FN7),
726 	PINMUX_DATA(VIO_D9_MARK, PORT139_FN1), \
727 	PINMUX_DATA(PORT139_KEYOUT9_MARK, PORT139_FN2), \
728 	PINMUX_DATA(VIO2_D1_MARK, PORT139_FN6), \
729 	PINMUX_DATA(LCD2D7_MARK, PORT139_FN7),
730 	PINMUX_DATA(VIO_D10_MARK, PORT140_FN1), \
731 	PINMUX_DATA(TPU0TO2_MARK, PORT140_FN4), \
732 	PINMUX_DATA(VIO2_D2_MARK, PORT140_FN6), \
733 	PINMUX_DATA(LCD2D8_MARK, PORT140_FN7),
734 	PINMUX_DATA(VIO_D11_MARK, PORT141_FN1), \
735 	PINMUX_DATA(TPU0TO3_MARK, PORT141_FN4), \
736 	PINMUX_DATA(VIO2_D3_MARK, PORT141_FN6), \
737 	PINMUX_DATA(LCD2D9_MARK, PORT141_FN7),
738 	PINMUX_DATA(VIO_D12_MARK, PORT142_FN1), \
739 	PINMUX_DATA(PORT142_KEYOUT10_MARK, PORT142_FN2), \
740 	PINMUX_DATA(VIO2_D4_MARK, PORT142_FN6), \
741 	PINMUX_DATA(LCD2D2_MARK, PORT142_FN7),
742 	PINMUX_DATA(VIO_D13_MARK, PORT143_FN1), \
743 	PINMUX_DATA(PORT143_KEYOUT11_MARK, PORT143_FN2), \
744 	PINMUX_DATA(PORT143_KEYOUT6_MARK, PORT143_FN3), \
745 	PINMUX_DATA(VIO2_D5_MARK, PORT143_FN6), \
746 	PINMUX_DATA(LCD2D3_MARK, PORT143_FN7),
747 	PINMUX_DATA(VIO_D14_MARK, PORT144_FN1), \
748 	PINMUX_DATA(PORT144_KEYOUT7_MARK, PORT144_FN2), \
749 	PINMUX_DATA(VIO2_D6_MARK, PORT144_FN6), \
750 	PINMUX_DATA(LCD2D4_MARK, PORT144_FN7),
751 	PINMUX_DATA(VIO_D15_MARK, PORT145_FN1), \
752 	PINMUX_DATA(TPU1TO3_MARK, PORT145_FN3), \
753 	PINMUX_DATA(PORT145_LCD2DISP_MARK, PORT145_FN4), \
754 	PINMUX_DATA(PORT145_LCD2RS_MARK, PORT145_FN5), \
755 	PINMUX_DATA(VIO2_D7_MARK, PORT145_FN6), \
756 	PINMUX_DATA(LCD2D5_MARK, PORT145_FN7),
757 	PINMUX_DATA(VIO_CLK_MARK, PORT146_FN1), \
758 	PINMUX_DATA(LCD2DCK_MARK, PORT146_FN4), \
759 	PINMUX_DATA(PORT146_LCD2WR__MARK, PORT146_FN5), \
760 	PINMUX_DATA(VIO2_CLK_MARK, PORT146_FN6, MSEL4CR_MSEL27_0), \
761 	PINMUX_DATA(LCD2D18_MARK, PORT146_FN7),
762 	PINMUX_DATA(VIO_FIELD_MARK, PORT147_FN1), \
763 	PINMUX_DATA(LCD2RD__MARK, PORT147_FN4), \
764 	PINMUX_DATA(VIO2_FIELD_MARK, PORT147_FN6, MSEL4CR_MSEL27_0), \
765 	PINMUX_DATA(LCD2D19_MARK, PORT147_FN7),
766 	PINMUX_DATA(VIO_CKO_MARK, PORT148_FN1),
767 	PINMUX_DATA(A27_MARK, PORT149_FN1), \
768 	PINMUX_DATA(PORT149_RDWR_MARK, PORT149_FN2), \
769 	PINMUX_DATA(MFG0_IN1_MARK, PORT149_FN3), \
770 	PINMUX_DATA(PORT149_KEYOUT9_MARK, PORT149_FN4),
771 	PINMUX_DATA(MFG0_IN2_MARK, PORT150_FN3),
772 	PINMUX_DATA(TS_SPSYNC3_MARK, PORT151_FN4), \
773 	PINMUX_DATA(MSIOF2_RSCK_MARK, PORT151_FN5),
774 	PINMUX_DATA(TS_SDAT3_MARK, PORT152_FN4), \
775 	PINMUX_DATA(MSIOF2_RSYNC_MARK, PORT152_FN5),
776 	PINMUX_DATA(TPU1TO2_MARK, PORT153_FN3), \
777 	PINMUX_DATA(TS_SDEN3_MARK, PORT153_FN4), \
778 	PINMUX_DATA(PORT153_MSIOF2_SS1_MARK, PORT153_FN5),
779 	PINMUX_DATA(SCIFA2_TXD1_MARK, PORT154_FN2, MSEL3CR_MSEL9_0), \
780 	PINMUX_DATA(MSIOF2_MCK0_MARK, PORT154_FN5),
781 	PINMUX_DATA(SCIFA2_RXD1_MARK, PORT155_FN2, MSEL3CR_MSEL9_0), \
782 	PINMUX_DATA(MSIOF2_MCK1_MARK, PORT155_FN5),
783 	PINMUX_DATA(SCIFA2_RTS1__MARK, PORT156_FN2, MSEL3CR_MSEL9_0), \
784 	PINMUX_DATA(PORT156_MSIOF2_SS2_MARK, PORT156_FN5),
785 	PINMUX_DATA(SCIFA2_CTS1__MARK, PORT157_FN2, MSEL3CR_MSEL9_0), \
786 	PINMUX_DATA(PORT157_MSIOF2_RXD_MARK, PORT157_FN5, MSEL4CR_MSEL11_0,
787 		MSEL4CR_MSEL10_0),
788 	PINMUX_DATA(DINT__MARK, PORT158_FN1), \
789 	PINMUX_DATA(SCIFA2_SCK1_MARK, PORT158_FN2, MSEL3CR_MSEL9_0), \
790 	PINMUX_DATA(TS_SCK3_MARK, PORT158_FN4),
791 	PINMUX_DATA(PORT159_SCIFB_SCK_MARK, PORT159_FN1, MSEL4CR_MSEL22_0), \
792 	PINMUX_DATA(PORT159_SCIFA5_SCK_MARK, PORT159_FN2, MSEL4CR_MSEL21_1), \
793 	PINMUX_DATA(NMI_MARK, PORT159_FN3),
794 	PINMUX_DATA(PORT160_SCIFB_TXD_MARK, PORT160_FN1, MSEL4CR_MSEL22_0), \
795 	PINMUX_DATA(PORT160_SCIFA5_TXD_MARK, PORT160_FN2, MSEL4CR_MSEL21_1),
796 	PINMUX_DATA(PORT161_SCIFB_CTS__MARK, PORT161_FN1, MSEL4CR_MSEL22_0), \
797 	PINMUX_DATA(PORT161_SCIFA5_CTS__MARK, PORT161_FN2, MSEL4CR_MSEL21_1),
798 	PINMUX_DATA(PORT162_SCIFB_RXD_MARK, PORT162_FN1, MSEL4CR_MSEL22_0), \
799 	PINMUX_DATA(PORT162_SCIFA5_RXD_MARK, PORT162_FN2, MSEL4CR_MSEL21_1),
800 	PINMUX_DATA(PORT163_SCIFB_RTS__MARK, PORT163_FN1, MSEL4CR_MSEL22_0), \
801 	PINMUX_DATA(PORT163_SCIFA5_RTS__MARK, PORT163_FN2, MSEL4CR_MSEL21_1), \
802 	PINMUX_DATA(TPU3TO0_MARK, PORT163_FN5),
803 	PINMUX_DATA(LCDD0_MARK, PORT192_FN1),
804 	PINMUX_DATA(LCDD1_MARK, PORT193_FN1), \
805 	PINMUX_DATA(PORT193_SCIFA5_CTS__MARK, PORT193_FN3, MSEL4CR_MSEL21_0,
806 		MSEL4CR_MSEL20_1), \
807 	PINMUX_DATA(BBIF2_TSYNC1_MARK, PORT193_FN5),
808 	PINMUX_DATA(LCDD2_MARK, PORT194_FN1), \
809 	PINMUX_DATA(PORT194_SCIFA5_RTS__MARK, PORT194_FN3, MSEL4CR_MSEL21_0,
810 		MSEL4CR_MSEL20_1), \
811 	PINMUX_DATA(BBIF2_TSCK1_MARK, PORT194_FN5),
812 	PINMUX_DATA(LCDD3_MARK, PORT195_FN1), \
813 	PINMUX_DATA(PORT195_SCIFA5_RXD_MARK, PORT195_FN3, MSEL4CR_MSEL21_0,
814 		MSEL4CR_MSEL20_1), \
815 	PINMUX_DATA(BBIF2_TXD1_MARK, PORT195_FN5),
816 	PINMUX_DATA(LCDD4_MARK, PORT196_FN1), \
817 	PINMUX_DATA(PORT196_SCIFA5_TXD_MARK, PORT196_FN3, MSEL4CR_MSEL21_0,
818 		MSEL4CR_MSEL20_1),
819 	PINMUX_DATA(LCDD5_MARK, PORT197_FN1), \
820 	PINMUX_DATA(PORT197_SCIFA5_SCK_MARK, PORT197_FN3, MSEL4CR_MSEL21_0,
821 		MSEL4CR_MSEL20_1), \
822 	PINMUX_DATA(MFG2_OUT2_MARK, PORT197_FN5), \
823 	PINMUX_DATA(TPU2TO1_MARK, PORT197_FN7),
824 	PINMUX_DATA(LCDD6_MARK, PORT198_FN1),
825 	PINMUX_DATA(LCDD7_MARK, PORT199_FN1), \
826 	PINMUX_DATA(TPU4TO1_MARK, PORT199_FN2), \
827 	PINMUX_DATA(MFG4_OUT2_MARK, PORT199_FN5),
828 	PINMUX_DATA(LCDD8_MARK, PORT200_FN1), \
829 	PINMUX_DATA(D16_MARK, PORT200_FN6),
830 	PINMUX_DATA(LCDD9_MARK, PORT201_FN1), \
831 	PINMUX_DATA(D17_MARK, PORT201_FN6),
832 	PINMUX_DATA(LCDD10_MARK, PORT202_FN1), \
833 	PINMUX_DATA(D18_MARK, PORT202_FN6),
834 	PINMUX_DATA(LCDD11_MARK, PORT203_FN1), \
835 	PINMUX_DATA(D19_MARK, PORT203_FN6),
836 	PINMUX_DATA(LCDD12_MARK, PORT204_FN1), \
837 	PINMUX_DATA(D20_MARK, PORT204_FN6),
838 	PINMUX_DATA(LCDD13_MARK, PORT205_FN1), \
839 	PINMUX_DATA(D21_MARK, PORT205_FN6),
840 	PINMUX_DATA(LCDD14_MARK, PORT206_FN1), \
841 	PINMUX_DATA(D22_MARK, PORT206_FN6),
842 	PINMUX_DATA(LCDD15_MARK, PORT207_FN1), \
843 	PINMUX_DATA(PORT207_MSIOF0L_SS1_MARK, PORT207_FN2, MSEL3CR_MSEL11_1), \
844 	PINMUX_DATA(D23_MARK, PORT207_FN6),
845 	PINMUX_DATA(LCDD16_MARK, PORT208_FN1), \
846 	PINMUX_DATA(PORT208_MSIOF0L_SS2_MARK, PORT208_FN2, MSEL3CR_MSEL11_1), \
847 	PINMUX_DATA(D24_MARK, PORT208_FN6),
848 	PINMUX_DATA(LCDD17_MARK, PORT209_FN1), \
849 	PINMUX_DATA(D25_MARK, PORT209_FN6),
850 	PINMUX_DATA(LCDD18_MARK, PORT210_FN1), \
851 	PINMUX_DATA(DREQ2_MARK, PORT210_FN2), \
852 	PINMUX_DATA(PORT210_MSIOF0L_SS1_MARK, PORT210_FN5, MSEL3CR_MSEL11_1), \
853 	PINMUX_DATA(D26_MARK, PORT210_FN6),
854 	PINMUX_DATA(LCDD19_MARK, PORT211_FN1), \
855 	PINMUX_DATA(PORT211_MSIOF0L_SS2_MARK, PORT211_FN5, MSEL3CR_MSEL11_1), \
856 	PINMUX_DATA(D27_MARK, PORT211_FN6),
857 	PINMUX_DATA(LCDD20_MARK, PORT212_FN1), \
858 	PINMUX_DATA(TS_SPSYNC1_MARK, PORT212_FN2), \
859 	PINMUX_DATA(MSIOF0L_MCK0_MARK, PORT212_FN5, MSEL3CR_MSEL11_1), \
860 	PINMUX_DATA(D28_MARK, PORT212_FN6),
861 	PINMUX_DATA(LCDD21_MARK, PORT213_FN1), \
862 	PINMUX_DATA(TS_SDAT1_MARK, PORT213_FN2), \
863 	PINMUX_DATA(MSIOF0L_MCK1_MARK, PORT213_FN5, MSEL3CR_MSEL11_1), \
864 	PINMUX_DATA(D29_MARK, PORT213_FN6),
865 	PINMUX_DATA(LCDD22_MARK, PORT214_FN1), \
866 	PINMUX_DATA(TS_SDEN1_MARK, PORT214_FN2), \
867 	PINMUX_DATA(MSIOF0L_RSCK_MARK, PORT214_FN5, MSEL3CR_MSEL11_1), \
868 	PINMUX_DATA(D30_MARK, PORT214_FN6),
869 	PINMUX_DATA(LCDD23_MARK, PORT215_FN1), \
870 	PINMUX_DATA(TS_SCK1_MARK, PORT215_FN2), \
871 	PINMUX_DATA(MSIOF0L_RSYNC_MARK, PORT215_FN5, MSEL3CR_MSEL11_1), \
872 	PINMUX_DATA(D31_MARK, PORT215_FN6),
873 	PINMUX_DATA(LCDDCK_MARK, PORT216_FN1), \
874 	PINMUX_DATA(LCDWR__MARK, PORT216_FN2),
875 	PINMUX_DATA(LCDRD__MARK, PORT217_FN1), \
876 	PINMUX_DATA(DACK2_MARK, PORT217_FN2), \
877 	PINMUX_DATA(PORT217_LCD2RS_MARK, PORT217_FN3), \
878 	PINMUX_DATA(MSIOF0L_TSYNC_MARK, PORT217_FN5, MSEL3CR_MSEL11_1), \
879 	PINMUX_DATA(VIO2_FIELD3_MARK, PORT217_FN6, MSEL4CR_MSEL27_1,
880 		MSEL4CR_MSEL26_1), \
881 	PINMUX_DATA(PORT217_LCD2DISP_MARK, PORT217_FN7),
882 	PINMUX_DATA(LCDHSYN_MARK, PORT218_FN1), \
883 	PINMUX_DATA(LCDCS__MARK, PORT218_FN2), \
884 	PINMUX_DATA(LCDCS2__MARK, PORT218_FN3), \
885 	PINMUX_DATA(DACK3_MARK, PORT218_FN4), \
886 	PINMUX_DATA(PORT218_VIO_CKOR_MARK, PORT218_FN5),
887 	PINMUX_DATA(LCDDISP_MARK, PORT219_FN1), \
888 	PINMUX_DATA(LCDRS_MARK, PORT219_FN2), \
889 	PINMUX_DATA(PORT219_LCD2WR__MARK, PORT219_FN3), \
890 	PINMUX_DATA(DREQ3_MARK, PORT219_FN4), \
891 	PINMUX_DATA(MSIOF0L_TSCK_MARK, PORT219_FN5, MSEL3CR_MSEL11_1), \
892 	PINMUX_DATA(VIO2_CLK3_MARK, PORT219_FN6, MSEL4CR_MSEL27_1,
893 		MSEL4CR_MSEL26_1), \
894 	PINMUX_DATA(LCD2DCK_2_MARK, PORT219_FN7),
895 	PINMUX_DATA(LCDVSYN_MARK, PORT220_FN1), \
896 	PINMUX_DATA(LCDVSYN2_MARK, PORT220_FN2),
897 	PINMUX_DATA(LCDLCLK_MARK, PORT221_FN1), \
898 	PINMUX_DATA(DREQ1_MARK, PORT221_FN2), \
899 	PINMUX_DATA(PORT221_LCD2CS__MARK, PORT221_FN3), \
900 	PINMUX_DATA(PWEN_MARK, PORT221_FN4), \
901 	PINMUX_DATA(MSIOF0L_RXD_MARK, PORT221_FN5, MSEL3CR_MSEL11_1), \
902 	PINMUX_DATA(VIO2_HD3_MARK, PORT221_FN6, MSEL4CR_MSEL27_1,
903 		MSEL4CR_MSEL26_1), \
904 	PINMUX_DATA(PORT221_LCD2HSYN_MARK, PORT221_FN7),
905 	PINMUX_DATA(LCDDON_MARK, PORT222_FN1), \
906 	PINMUX_DATA(LCDDON2_MARK, PORT222_FN2), \
907 	PINMUX_DATA(DACK1_MARK, PORT222_FN3), \
908 	PINMUX_DATA(OVCN_MARK, PORT222_FN4), \
909 	PINMUX_DATA(MSIOF0L_TXD_MARK, PORT222_FN5, MSEL3CR_MSEL11_1), \
910 	PINMUX_DATA(VIO2_VD3_MARK, PORT222_FN6, MSEL4CR_MSEL27_1,
911 		MSEL4CR_MSEL26_1), \
912 	PINMUX_DATA(PORT222_LCD2VSYN_MARK, PORT222_FN7, MSEL3CR_MSEL2_1),
913 
914 	PINMUX_DATA(SCIFA1_TXD_MARK, PORT225_FN2), \
915 	PINMUX_DATA(OVCN2_MARK, PORT225_FN4),
916 	PINMUX_DATA(EXTLP_MARK, PORT226_FN1), \
917 	PINMUX_DATA(SCIFA1_SCK_MARK, PORT226_FN2), \
918 	PINMUX_DATA(PORT226_VIO_CKO2_MARK, PORT226_FN5),
919 	PINMUX_DATA(SCIFA1_RTS__MARK, PORT227_FN2), \
920 	PINMUX_DATA(IDIN_MARK, PORT227_FN4),
921 	PINMUX_DATA(SCIFA1_RXD_MARK, PORT228_FN2),
922 	PINMUX_DATA(SCIFA1_CTS__MARK, PORT229_FN2), \
923 	PINMUX_DATA(MFG1_IN1_MARK, PORT229_FN3),
924 	PINMUX_DATA(MSIOF1_TXD_MARK, PORT230_FN1), \
925 	PINMUX_DATA(SCIFA2_TXD2_MARK, PORT230_FN2, MSEL3CR_MSEL9_1),
926 	PINMUX_DATA(MSIOF1_TSYNC_MARK, PORT231_FN1), \
927 	PINMUX_DATA(SCIFA2_CTS2__MARK, PORT231_FN2, MSEL3CR_MSEL9_1),
928 	PINMUX_DATA(MSIOF1_TSCK_MARK, PORT232_FN1), \
929 	PINMUX_DATA(SCIFA2_SCK2_MARK, PORT232_FN2, MSEL3CR_MSEL9_1),
930 	PINMUX_DATA(MSIOF1_RXD_MARK, PORT233_FN1), \
931 	PINMUX_DATA(SCIFA2_RXD2_MARK, PORT233_FN2, MSEL3CR_MSEL9_1),
932 	PINMUX_DATA(MSIOF1_RSCK_MARK, PORT234_FN1), \
933 	PINMUX_DATA(SCIFA2_RTS2__MARK, PORT234_FN2, MSEL3CR_MSEL9_1), \
934 	PINMUX_DATA(VIO2_CLK2_MARK, PORT234_FN6, MSEL4CR_MSEL27_1,
935 		MSEL4CR_MSEL26_0), \
936 	PINMUX_DATA(LCD2D20_MARK, PORT234_FN7),
937 	PINMUX_DATA(MSIOF1_RSYNC_MARK, PORT235_FN1), \
938 	PINMUX_DATA(MFG1_IN2_MARK, PORT235_FN3), \
939 	PINMUX_DATA(VIO2_VD2_MARK, PORT235_FN6, MSEL4CR_MSEL27_1,
940 		MSEL4CR_MSEL26_0), \
941 	PINMUX_DATA(LCD2D21_MARK, PORT235_FN7),
942 	PINMUX_DATA(MSIOF1_MCK0_MARK, PORT236_FN1), \
943 	PINMUX_DATA(PORT236_I2C_SDA2_MARK, PORT236_FN2, MSEL2CR_MSEL17_0,
944 		MSEL2CR_MSEL16_0),
945 	PINMUX_DATA(MSIOF1_MCK1_MARK, PORT237_FN1), \
946 	PINMUX_DATA(PORT237_I2C_SCL2_MARK, PORT237_FN2, MSEL2CR_MSEL17_0,
947 		MSEL2CR_MSEL16_0),
948 	PINMUX_DATA(MSIOF1_SS1_MARK, PORT238_FN1), \
949 	PINMUX_DATA(VIO2_FIELD2_MARK, PORT238_FN6, MSEL4CR_MSEL27_1,
950 		MSEL4CR_MSEL26_0), \
951 	PINMUX_DATA(LCD2D22_MARK, PORT238_FN7),
952 	PINMUX_DATA(MSIOF1_SS2_MARK, PORT239_FN1), \
953 	PINMUX_DATA(VIO2_HD2_MARK, PORT239_FN6, MSEL4CR_MSEL27_1,
954 		MSEL4CR_MSEL26_0), \
955 	PINMUX_DATA(LCD2D23_MARK, PORT239_FN7),
956 	PINMUX_DATA(SCIFA6_TXD_MARK, PORT240_FN1),
957 	PINMUX_DATA(PORT241_IRDA_OUT_MARK, PORT241_FN1, MSEL4CR_MSEL19_0), \
958 	PINMUX_DATA(PORT241_IROUT_MARK, PORT241_FN2), \
959 	PINMUX_DATA(MFG4_OUT1_MARK, PORT241_FN3), \
960 	PINMUX_DATA(TPU4TO0_MARK, PORT241_FN4),
961 	PINMUX_DATA(PORT242_IRDA_IN_MARK, PORT242_FN1, MSEL4CR_MSEL19_0), \
962 	PINMUX_DATA(MFG4_IN2_MARK, PORT242_FN3),
963 	PINMUX_DATA(PORT243_IRDA_FIRSEL_MARK, PORT243_FN1, MSEL4CR_MSEL19_0), \
964 	PINMUX_DATA(PORT243_VIO_CKO2_MARK, PORT243_FN2),
965 	PINMUX_DATA(PORT244_SCIFA5_CTS__MARK, PORT244_FN1, MSEL4CR_MSEL21_0,
966 		MSEL4CR_MSEL20_0), \
967 	PINMUX_DATA(MFG2_IN1_MARK, PORT244_FN2), \
968 	PINMUX_DATA(PORT244_SCIFB_CTS__MARK, PORT244_FN3, MSEL4CR_MSEL22_1), \
969 	PINMUX_DATA(MSIOF2R_RXD_MARK, PORT244_FN7, MSEL4CR_MSEL11_1),
970 	PINMUX_DATA(PORT245_SCIFA5_RTS__MARK, PORT245_FN1, MSEL4CR_MSEL21_0,
971 		MSEL4CR_MSEL20_0), \
972 	PINMUX_DATA(MFG2_IN2_MARK, PORT245_FN2), \
973 	PINMUX_DATA(PORT245_SCIFB_RTS__MARK, PORT245_FN3, MSEL4CR_MSEL22_1), \
974 	PINMUX_DATA(MSIOF2R_TXD_MARK, PORT245_FN7, MSEL4CR_MSEL11_1),
975 	PINMUX_DATA(PORT246_SCIFA5_RXD_MARK, PORT246_FN1, MSEL4CR_MSEL21_0,
976 		MSEL4CR_MSEL20_0), \
977 	PINMUX_DATA(MFG1_OUT1_MARK, PORT246_FN2), \
978 	PINMUX_DATA(PORT246_SCIFB_RXD_MARK, PORT246_FN3, MSEL4CR_MSEL22_1), \
979 	PINMUX_DATA(TPU1TO0_MARK, PORT246_FN4),
980 	PINMUX_DATA(PORT247_SCIFA5_TXD_MARK, PORT247_FN1, MSEL4CR_MSEL21_0,
981 		MSEL4CR_MSEL20_0), \
982 	PINMUX_DATA(MFG3_OUT2_MARK, PORT247_FN2), \
983 	PINMUX_DATA(PORT247_SCIFB_TXD_MARK, PORT247_FN3, MSEL4CR_MSEL22_1), \
984 	PINMUX_DATA(TPU3TO1_MARK, PORT247_FN4),
985 	PINMUX_DATA(PORT248_SCIFA5_SCK_MARK, PORT248_FN1, MSEL4CR_MSEL21_0,
986 		MSEL4CR_MSEL20_0), \
987 	PINMUX_DATA(MFG2_OUT1_MARK, PORT248_FN2), \
988 	PINMUX_DATA(PORT248_SCIFB_SCK_MARK, PORT248_FN3, MSEL4CR_MSEL22_1), \
989 	PINMUX_DATA(TPU2TO0_MARK, PORT248_FN4), \
990 	PINMUX_DATA(PORT248_I2C_SCL3_MARK, PORT248_FN5, MSEL2CR_MSEL19_0,
991 		MSEL2CR_MSEL18_0), \
992 	PINMUX_DATA(MSIOF2R_TSCK_MARK, PORT248_FN7, MSEL4CR_MSEL11_1),
993 	PINMUX_DATA(PORT249_IROUT_MARK, PORT249_FN1), \
994 	PINMUX_DATA(MFG4_IN1_MARK, PORT249_FN2), \
995 	PINMUX_DATA(PORT249_I2C_SDA3_MARK, PORT249_FN5, MSEL2CR_MSEL19_0,
996 		MSEL2CR_MSEL18_0), \
997 	PINMUX_DATA(MSIOF2R_TSYNC_MARK, PORT249_FN7, MSEL4CR_MSEL11_1),
998 	PINMUX_DATA(SDHICLK0_MARK, PORT250_FN1),
999 	PINMUX_DATA(SDHICD0_MARK, PORT251_FN1),
1000 	PINMUX_DATA(SDHID0_0_MARK, PORT252_FN1),
1001 	PINMUX_DATA(SDHID0_1_MARK, PORT253_FN1),
1002 	PINMUX_DATA(SDHID0_2_MARK, PORT254_FN1),
1003 	PINMUX_DATA(SDHID0_3_MARK, PORT255_FN1),
1004 	PINMUX_DATA(SDHICMD0_MARK, PORT256_FN1),
1005 	PINMUX_DATA(SDHIWP0_MARK, PORT257_FN1),
1006 	PINMUX_DATA(SDHICLK1_MARK, PORT258_FN1),
1007 	PINMUX_DATA(SDHID1_0_MARK, PORT259_FN1), \
1008 	PINMUX_DATA(TS_SPSYNC2_MARK, PORT259_FN3),
1009 	PINMUX_DATA(SDHID1_1_MARK, PORT260_FN1), \
1010 	PINMUX_DATA(TS_SDAT2_MARK, PORT260_FN3),
1011 	PINMUX_DATA(SDHID1_2_MARK, PORT261_FN1), \
1012 	PINMUX_DATA(TS_SDEN2_MARK, PORT261_FN3),
1013 	PINMUX_DATA(SDHID1_3_MARK, PORT262_FN1), \
1014 	PINMUX_DATA(TS_SCK2_MARK, PORT262_FN3),
1015 	PINMUX_DATA(SDHICMD1_MARK, PORT263_FN1),
1016 	PINMUX_DATA(SDHICLK2_MARK, PORT264_FN1),
1017 	PINMUX_DATA(SDHID2_0_MARK, PORT265_FN1), \
1018 	PINMUX_DATA(TS_SPSYNC4_MARK, PORT265_FN3),
1019 	PINMUX_DATA(SDHID2_1_MARK, PORT266_FN1), \
1020 	PINMUX_DATA(TS_SDAT4_MARK, PORT266_FN3),
1021 	PINMUX_DATA(SDHID2_2_MARK, PORT267_FN1), \
1022 	PINMUX_DATA(TS_SDEN4_MARK, PORT267_FN3),
1023 	PINMUX_DATA(SDHID2_3_MARK, PORT268_FN1), \
1024 	PINMUX_DATA(TS_SCK4_MARK, PORT268_FN3),
1025 	PINMUX_DATA(SDHICMD2_MARK, PORT269_FN1),
1026 	PINMUX_DATA(MMCCLK0_MARK, PORT270_FN1, MSEL4CR_MSEL15_0),
1027 	PINMUX_DATA(MMCD0_0_MARK, PORT271_FN1, MSEL4CR_MSEL15_0),
1028 	PINMUX_DATA(MMCD0_1_MARK, PORT272_FN1, MSEL4CR_MSEL15_0),
1029 	PINMUX_DATA(MMCD0_2_MARK, PORT273_FN1, MSEL4CR_MSEL15_0),
1030 	PINMUX_DATA(MMCD0_3_MARK, PORT274_FN1, MSEL4CR_MSEL15_0),
1031 	PINMUX_DATA(MMCD0_4_MARK, PORT275_FN1, MSEL4CR_MSEL15_0),
1032 	PINMUX_DATA(TS_SPSYNC5_MARK, PORT275_FN3),
1033 	PINMUX_DATA(MMCD0_5_MARK, PORT276_FN1, MSEL4CR_MSEL15_0),
1034 	PINMUX_DATA(TS_SDAT5_MARK, PORT276_FN3),
1035 	PINMUX_DATA(MMCD0_6_MARK, PORT277_FN1, MSEL4CR_MSEL15_0),
1036 	PINMUX_DATA(TS_SDEN5_MARK, PORT277_FN3),
1037 	PINMUX_DATA(MMCD0_7_MARK, PORT278_FN1, MSEL4CR_MSEL15_0),
1038 	PINMUX_DATA(TS_SCK5_MARK, PORT278_FN3),
1039 	PINMUX_DATA(MMCCMD0_MARK, PORT279_FN1, MSEL4CR_MSEL15_0),
1040 	PINMUX_DATA(RESETOUTS__MARK, PORT281_FN1), \
1041 	PINMUX_DATA(EXTAL2OUT_MARK, PORT281_FN2),
1042 	PINMUX_DATA(MCP_WAIT__MCP_FRB_MARK, PORT288_FN1),
1043 	PINMUX_DATA(MCP_CKO_MARK, PORT289_FN1), \
1044 	PINMUX_DATA(MMCCLK1_MARK, PORT289_FN2, MSEL4CR_MSEL15_1),
1045 	PINMUX_DATA(MCP_D15_MCP_NAF15_MARK, PORT290_FN1),
1046 	PINMUX_DATA(MCP_D14_MCP_NAF14_MARK, PORT291_FN1),
1047 	PINMUX_DATA(MCP_D13_MCP_NAF13_MARK, PORT292_FN1),
1048 	PINMUX_DATA(MCP_D12_MCP_NAF12_MARK, PORT293_FN1),
1049 	PINMUX_DATA(MCP_D11_MCP_NAF11_MARK, PORT294_FN1),
1050 	PINMUX_DATA(MCP_D10_MCP_NAF10_MARK, PORT295_FN1),
1051 	PINMUX_DATA(MCP_D9_MCP_NAF9_MARK, PORT296_FN1),
1052 	PINMUX_DATA(MCP_D8_MCP_NAF8_MARK, PORT297_FN1), \
1053 	PINMUX_DATA(MMCCMD1_MARK, PORT297_FN2, MSEL4CR_MSEL15_1),
1054 	PINMUX_DATA(MCP_D7_MCP_NAF7_MARK, PORT298_FN1), \
1055 	PINMUX_DATA(MMCD1_7_MARK, PORT298_FN2, MSEL4CR_MSEL15_1),
1056 
1057 	PINMUX_DATA(MCP_D6_MCP_NAF6_MARK, PORT299_FN1), \
1058 	PINMUX_DATA(MMCD1_6_MARK, PORT299_FN2, MSEL4CR_MSEL15_1),
1059 	PINMUX_DATA(MCP_D5_MCP_NAF5_MARK, PORT300_FN1), \
1060 	PINMUX_DATA(MMCD1_5_MARK, PORT300_FN2, MSEL4CR_MSEL15_1),
1061 	PINMUX_DATA(MCP_D4_MCP_NAF4_MARK, PORT301_FN1), \
1062 	PINMUX_DATA(MMCD1_4_MARK, PORT301_FN2, MSEL4CR_MSEL15_1),
1063 	PINMUX_DATA(MCP_D3_MCP_NAF3_MARK, PORT302_FN1), \
1064 	PINMUX_DATA(MMCD1_3_MARK, PORT302_FN2, MSEL4CR_MSEL15_1),
1065 	PINMUX_DATA(MCP_D2_MCP_NAF2_MARK, PORT303_FN1), \
1066 	PINMUX_DATA(MMCD1_2_MARK, PORT303_FN2, MSEL4CR_MSEL15_1),
1067 	PINMUX_DATA(MCP_D1_MCP_NAF1_MARK, PORT304_FN1), \
1068 	PINMUX_DATA(MMCD1_1_MARK, PORT304_FN2, MSEL4CR_MSEL15_1),
1069 	PINMUX_DATA(MCP_D0_MCP_NAF0_MARK, PORT305_FN1), \
1070 	PINMUX_DATA(MMCD1_0_MARK, PORT305_FN2, MSEL4CR_MSEL15_1),
1071 	PINMUX_DATA(MCP_NBRSTOUT__MARK, PORT306_FN1),
1072 	PINMUX_DATA(MCP_WE0__MCP_FWE_MARK, PORT309_FN1), \
1073 	PINMUX_DATA(MCP_RDWR_MCP_FWE_MARK, PORT309_FN2),
1074 
1075 	/* MSEL2 special cases */
1076 	PINMUX_DATA(TSIF2_TS_XX1_MARK, MSEL2CR_MSEL14_0, MSEL2CR_MSEL13_0,
1077 		MSEL2CR_MSEL12_0),
1078 	PINMUX_DATA(TSIF2_TS_XX2_MARK, MSEL2CR_MSEL14_0, MSEL2CR_MSEL13_0,
1079 		MSEL2CR_MSEL12_1),
1080 	PINMUX_DATA(TSIF2_TS_XX3_MARK, MSEL2CR_MSEL14_0, MSEL2CR_MSEL13_1,
1081 		MSEL2CR_MSEL12_0),
1082 	PINMUX_DATA(TSIF2_TS_XX4_MARK, MSEL2CR_MSEL14_0, MSEL2CR_MSEL13_1,
1083 		MSEL2CR_MSEL12_1),
1084 	PINMUX_DATA(TSIF2_TS_XX5_MARK, MSEL2CR_MSEL14_1, MSEL2CR_MSEL13_0,
1085 		MSEL2CR_MSEL12_0),
1086 	PINMUX_DATA(TSIF1_TS_XX1_MARK, MSEL2CR_MSEL11_0, MSEL2CR_MSEL10_0,
1087 		MSEL2CR_MSEL9_0),
1088 	PINMUX_DATA(TSIF1_TS_XX2_MARK, MSEL2CR_MSEL11_0, MSEL2CR_MSEL10_0,
1089 		MSEL2CR_MSEL9_1),
1090 	PINMUX_DATA(TSIF1_TS_XX3_MARK, MSEL2CR_MSEL11_0, MSEL2CR_MSEL10_1,
1091 		MSEL2CR_MSEL9_0),
1092 	PINMUX_DATA(TSIF1_TS_XX4_MARK, MSEL2CR_MSEL11_0, MSEL2CR_MSEL10_1,
1093 		MSEL2CR_MSEL9_1),
1094 	PINMUX_DATA(TSIF1_TS_XX5_MARK, MSEL2CR_MSEL11_1, MSEL2CR_MSEL10_0,
1095 		MSEL2CR_MSEL9_0),
1096 	PINMUX_DATA(TSIF0_TS_XX1_MARK, MSEL2CR_MSEL8_0, MSEL2CR_MSEL7_0,
1097 		MSEL2CR_MSEL6_0),
1098 	PINMUX_DATA(TSIF0_TS_XX2_MARK, MSEL2CR_MSEL8_0, MSEL2CR_MSEL7_0,
1099 		MSEL2CR_MSEL6_1),
1100 	PINMUX_DATA(TSIF0_TS_XX3_MARK, MSEL2CR_MSEL8_0, MSEL2CR_MSEL7_1,
1101 		MSEL2CR_MSEL6_0),
1102 	PINMUX_DATA(TSIF0_TS_XX4_MARK, MSEL2CR_MSEL8_0, MSEL2CR_MSEL7_1,
1103 		MSEL2CR_MSEL6_1),
1104 	PINMUX_DATA(TSIF0_TS_XX5_MARK, MSEL2CR_MSEL8_1, MSEL2CR_MSEL7_0,
1105 		MSEL2CR_MSEL6_0),
1106 	PINMUX_DATA(MST1_TS_XX1_MARK, MSEL2CR_MSEL5_0, MSEL2CR_MSEL4_0,
1107 		MSEL2CR_MSEL3_0),
1108 	PINMUX_DATA(MST1_TS_XX2_MARK, MSEL2CR_MSEL5_0, MSEL2CR_MSEL4_0,
1109 		MSEL2CR_MSEL3_1),
1110 	PINMUX_DATA(MST1_TS_XX3_MARK, MSEL2CR_MSEL5_0, MSEL2CR_MSEL4_1,
1111 		MSEL2CR_MSEL3_0),
1112 	PINMUX_DATA(MST1_TS_XX4_MARK, MSEL2CR_MSEL5_0, MSEL2CR_MSEL4_1,
1113 		MSEL2CR_MSEL3_1),
1114 	PINMUX_DATA(MST1_TS_XX5_MARK, MSEL2CR_MSEL5_1, MSEL2CR_MSEL4_0,
1115 		MSEL2CR_MSEL3_0),
1116 	PINMUX_DATA(MST0_TS_XX1_MARK, MSEL2CR_MSEL2_0, MSEL2CR_MSEL1_0,
1117 		MSEL2CR_MSEL0_0),
1118 	PINMUX_DATA(MST0_TS_XX2_MARK, MSEL2CR_MSEL2_0, MSEL2CR_MSEL1_0,
1119 		MSEL2CR_MSEL0_1),
1120 	PINMUX_DATA(MST0_TS_XX3_MARK, MSEL2CR_MSEL2_0, MSEL2CR_MSEL1_1,
1121 		MSEL2CR_MSEL0_0),
1122 	PINMUX_DATA(MST0_TS_XX4_MARK, MSEL2CR_MSEL2_0, MSEL2CR_MSEL1_1,
1123 		MSEL2CR_MSEL0_1),
1124 	PINMUX_DATA(MST0_TS_XX5_MARK, MSEL2CR_MSEL2_1, MSEL2CR_MSEL1_0,
1125 		MSEL2CR_MSEL0_0),
1126 
1127 	/* MSEL3 special cases */
1128 	PINMUX_DATA(SDHI0_VCCQ_MC0_ON_MARK, MSEL3CR_MSEL28_1),
1129 	PINMUX_DATA(SDHI0_VCCQ_MC0_OFF_MARK, MSEL3CR_MSEL28_0),
1130 	PINMUX_DATA(DEBUG_MON_VIO_MARK, MSEL3CR_MSEL15_0),
1131 	PINMUX_DATA(DEBUG_MON_LCDD_MARK, MSEL3CR_MSEL15_1),
1132 	PINMUX_DATA(LCDC_LCDC0_MARK, MSEL3CR_MSEL6_0),
1133 	PINMUX_DATA(LCDC_LCDC1_MARK, MSEL3CR_MSEL6_1),
1134 
1135 	/* MSEL4 special cases */
1136 	PINMUX_DATA(IRQ9_MEM_INT_MARK, MSEL4CR_MSEL29_0),
1137 	PINMUX_DATA(IRQ9_MCP_INT_MARK, MSEL4CR_MSEL29_1),
1138 	PINMUX_DATA(A11_MARK, MSEL4CR_MSEL13_0, MSEL4CR_MSEL12_0),
1139 	PINMUX_DATA(KEYOUT8_MARK, MSEL4CR_MSEL13_0, MSEL4CR_MSEL12_1),
1140 	PINMUX_DATA(TPU4TO3_MARK, MSEL4CR_MSEL13_1, MSEL4CR_MSEL12_0),
1141 	PINMUX_DATA(RESETA_N_PU_ON_MARK, MSEL4CR_MSEL4_0),
1142 	PINMUX_DATA(RESETA_N_PU_OFF_MARK, MSEL4CR_MSEL4_1),
1143 	PINMUX_DATA(EDBGREQ_PD_MARK, MSEL4CR_MSEL1_0),
1144 	PINMUX_DATA(EDBGREQ_PU_MARK, MSEL4CR_MSEL1_1),
1145 };
1146 
1147 #define __I		(SH_PFC_PIN_CFG_INPUT)
1148 #define __O		(SH_PFC_PIN_CFG_OUTPUT)
1149 #define __IO		(SH_PFC_PIN_CFG_INPUT | SH_PFC_PIN_CFG_OUTPUT)
1150 #define __PD		(SH_PFC_PIN_CFG_PULL_DOWN)
1151 #define __PU		(SH_PFC_PIN_CFG_PULL_UP)
1152 #define __PUD		(SH_PFC_PIN_CFG_PULL_UP_DOWN)
1153 
1154 #define SH73A0_PIN_I_PD(pin)		SH_PFC_PIN_CFG(pin, __I | __PD)
1155 #define SH73A0_PIN_I_PU(pin)		SH_PFC_PIN_CFG(pin, __I | __PU)
1156 #define SH73A0_PIN_I_PU_PD(pin)		SH_PFC_PIN_CFG(pin, __I | __PUD)
1157 #define SH73A0_PIN_IO(pin)		SH_PFC_PIN_CFG(pin, __IO)
1158 #define SH73A0_PIN_IO_PD(pin)		SH_PFC_PIN_CFG(pin, __IO | __PD)
1159 #define SH73A0_PIN_IO_PU(pin)		SH_PFC_PIN_CFG(pin, __IO | __PU)
1160 #define SH73A0_PIN_IO_PU_PD(pin)	SH_PFC_PIN_CFG(pin, __IO | __PUD)
1161 #define SH73A0_PIN_O(pin)		SH_PFC_PIN_CFG(pin, __O)
1162 
1163 /*
1164  * Pins not associated with a GPIO port.
1165  */
1166 enum {
1167 	PORT_ASSIGN_LAST(),
1168 	NOGP_ALL(),
1169 };
1170 
1171 static const struct sh_pfc_pin pinmux_pins[] = {
1172 	/* Table 25-1 (I/O and Pull U/D) */
1173 	SH73A0_PIN_I_PD(0),
1174 	SH73A0_PIN_I_PU(1),
1175 	SH73A0_PIN_I_PU(2),
1176 	SH73A0_PIN_I_PU(3),
1177 	SH73A0_PIN_I_PU(4),
1178 	SH73A0_PIN_I_PU(5),
1179 	SH73A0_PIN_I_PU(6),
1180 	SH73A0_PIN_I_PU(7),
1181 	SH73A0_PIN_I_PU(8),
1182 	SH73A0_PIN_I_PD(9),
1183 	SH73A0_PIN_I_PD(10),
1184 	SH73A0_PIN_I_PU_PD(11),
1185 	SH73A0_PIN_IO_PU_PD(12),
1186 	SH73A0_PIN_IO_PU_PD(13),
1187 	SH73A0_PIN_IO_PU_PD(14),
1188 	SH73A0_PIN_IO_PU_PD(15),
1189 	SH73A0_PIN_IO_PD(16),
1190 	SH73A0_PIN_IO_PD(17),
1191 	SH73A0_PIN_IO_PU(18),
1192 	SH73A0_PIN_IO_PU(19),
1193 	SH73A0_PIN_O(20),
1194 	SH73A0_PIN_O(21),
1195 	SH73A0_PIN_O(22),
1196 	SH73A0_PIN_O(23),
1197 	SH73A0_PIN_O(24),
1198 	SH73A0_PIN_I_PD(25),
1199 	SH73A0_PIN_I_PD(26),
1200 	SH73A0_PIN_IO_PU(27),
1201 	SH73A0_PIN_IO_PU(28),
1202 	SH73A0_PIN_IO_PD(29),
1203 	SH73A0_PIN_IO_PD(30),
1204 	SH73A0_PIN_IO_PU(31),
1205 	SH73A0_PIN_IO_PD(32),
1206 	SH73A0_PIN_I_PU_PD(33),
1207 	SH73A0_PIN_IO_PD(34),
1208 	SH73A0_PIN_I_PU_PD(35),
1209 	SH73A0_PIN_IO_PD(36),
1210 	SH73A0_PIN_IO(37),
1211 	SH73A0_PIN_O(38),
1212 	SH73A0_PIN_I_PU(39),
1213 	SH73A0_PIN_I_PU_PD(40),
1214 	SH73A0_PIN_O(41),
1215 	SH73A0_PIN_IO_PD(42),
1216 	SH73A0_PIN_IO_PU_PD(43),
1217 	SH73A0_PIN_IO_PU_PD(44),
1218 	SH73A0_PIN_IO_PD(45),
1219 	SH73A0_PIN_IO_PD(46),
1220 	SH73A0_PIN_IO_PD(47),
1221 	SH73A0_PIN_I_PD(48),
1222 	SH73A0_PIN_IO_PU_PD(49),
1223 	SH73A0_PIN_IO_PD(50),
1224 	SH73A0_PIN_IO_PD(51),
1225 	SH73A0_PIN_O(52),
1226 	SH73A0_PIN_IO_PU_PD(53),
1227 	SH73A0_PIN_IO_PU_PD(54),
1228 	SH73A0_PIN_IO_PD(55),
1229 	SH73A0_PIN_I_PU_PD(56),
1230 	SH73A0_PIN_IO(57),
1231 	SH73A0_PIN_IO(58),
1232 	SH73A0_PIN_IO(59),
1233 	SH73A0_PIN_IO(60),
1234 	SH73A0_PIN_IO(61),
1235 	SH73A0_PIN_IO_PD(62),
1236 	SH73A0_PIN_IO_PD(63),
1237 	SH73A0_PIN_IO_PU_PD(64),
1238 	SH73A0_PIN_IO_PD(65),
1239 	SH73A0_PIN_IO_PU_PD(66),
1240 	SH73A0_PIN_IO_PU_PD(67),
1241 	SH73A0_PIN_IO_PU_PD(68),
1242 	SH73A0_PIN_IO_PU_PD(69),
1243 	SH73A0_PIN_IO_PU_PD(70),
1244 	SH73A0_PIN_IO_PU_PD(71),
1245 	SH73A0_PIN_IO_PU_PD(72),
1246 	SH73A0_PIN_I_PU_PD(73),
1247 	SH73A0_PIN_IO_PU(74),
1248 	SH73A0_PIN_IO_PU(75),
1249 	SH73A0_PIN_IO_PU(76),
1250 	SH73A0_PIN_IO_PU(77),
1251 	SH73A0_PIN_IO_PU(78),
1252 	SH73A0_PIN_IO_PU(79),
1253 	SH73A0_PIN_IO_PU(80),
1254 	SH73A0_PIN_IO_PU(81),
1255 	SH73A0_PIN_IO_PU(82),
1256 	SH73A0_PIN_IO_PU(83),
1257 	SH73A0_PIN_IO_PU(84),
1258 	SH73A0_PIN_IO_PU(85),
1259 	SH73A0_PIN_IO_PU(86),
1260 	SH73A0_PIN_IO_PU(87),
1261 	SH73A0_PIN_IO_PU(88),
1262 	SH73A0_PIN_IO_PU(89),
1263 	SH73A0_PIN_O(90),
1264 	SH73A0_PIN_IO_PU(91),
1265 	SH73A0_PIN_O(92),
1266 	SH73A0_PIN_IO_PU(93),
1267 	SH73A0_PIN_O(94),
1268 	SH73A0_PIN_I_PU_PD(95),
1269 	SH73A0_PIN_IO(96),
1270 	SH73A0_PIN_IO(97),
1271 	SH73A0_PIN_IO(98),
1272 	SH73A0_PIN_I_PU(99),
1273 	SH73A0_PIN_O(100),
1274 	SH73A0_PIN_O(101),
1275 	SH73A0_PIN_I_PU(102),
1276 	SH73A0_PIN_IO_PD(103),
1277 	SH73A0_PIN_I_PU_PD(104),
1278 	SH73A0_PIN_I_PD(105),
1279 	SH73A0_PIN_I_PD(106),
1280 	SH73A0_PIN_I_PU_PD(107),
1281 	SH73A0_PIN_I_PU_PD(108),
1282 	SH73A0_PIN_IO_PD(109),
1283 	SH73A0_PIN_IO_PD(110),
1284 	SH73A0_PIN_IO_PU_PD(111),
1285 	SH73A0_PIN_IO_PU_PD(112),
1286 	SH73A0_PIN_IO_PU_PD(113),
1287 	SH73A0_PIN_IO_PD(114),
1288 	SH73A0_PIN_IO_PU(115),
1289 	SH73A0_PIN_IO_PU(116),
1290 	SH73A0_PIN_IO_PU_PD(117),
1291 	SH73A0_PIN_IO_PU_PD(118),
1292 	SH73A0_PIN_IO_PD(128),
1293 	SH73A0_PIN_IO_PD(129),
1294 	SH73A0_PIN_IO_PU_PD(130),
1295 	SH73A0_PIN_IO_PD(131),
1296 	SH73A0_PIN_IO_PD(132),
1297 	SH73A0_PIN_IO_PD(133),
1298 	SH73A0_PIN_IO_PU_PD(134),
1299 	SH73A0_PIN_IO_PU_PD(135),
1300 	SH73A0_PIN_IO_PU_PD(136),
1301 	SH73A0_PIN_IO_PU_PD(137),
1302 	SH73A0_PIN_IO_PD(138),
1303 	SH73A0_PIN_IO_PD(139),
1304 	SH73A0_PIN_IO_PD(140),
1305 	SH73A0_PIN_IO_PD(141),
1306 	SH73A0_PIN_IO_PD(142),
1307 	SH73A0_PIN_IO_PD(143),
1308 	SH73A0_PIN_IO_PU_PD(144),
1309 	SH73A0_PIN_IO_PD(145),
1310 	SH73A0_PIN_IO_PU_PD(146),
1311 	SH73A0_PIN_IO_PU_PD(147),
1312 	SH73A0_PIN_IO_PU_PD(148),
1313 	SH73A0_PIN_IO_PU_PD(149),
1314 	SH73A0_PIN_I_PU_PD(150),
1315 	SH73A0_PIN_IO_PU_PD(151),
1316 	SH73A0_PIN_IO_PU_PD(152),
1317 	SH73A0_PIN_IO_PD(153),
1318 	SH73A0_PIN_IO_PD(154),
1319 	SH73A0_PIN_I_PU_PD(155),
1320 	SH73A0_PIN_IO_PU_PD(156),
1321 	SH73A0_PIN_I_PD(157),
1322 	SH73A0_PIN_IO_PD(158),
1323 	SH73A0_PIN_IO_PU_PD(159),
1324 	SH73A0_PIN_IO_PU_PD(160),
1325 	SH73A0_PIN_I_PU_PD(161),
1326 	SH73A0_PIN_I_PU_PD(162),
1327 	SH73A0_PIN_IO_PU_PD(163),
1328 	SH73A0_PIN_I_PU_PD(164),
1329 	SH73A0_PIN_IO_PD(192),
1330 	SH73A0_PIN_IO_PU_PD(193),
1331 	SH73A0_PIN_IO_PD(194),
1332 	SH73A0_PIN_IO_PU_PD(195),
1333 	SH73A0_PIN_IO_PD(196),
1334 	SH73A0_PIN_IO_PD(197),
1335 	SH73A0_PIN_IO_PD(198),
1336 	SH73A0_PIN_IO_PD(199),
1337 	SH73A0_PIN_IO_PU_PD(200),
1338 	SH73A0_PIN_IO_PU_PD(201),
1339 	SH73A0_PIN_IO_PU_PD(202),
1340 	SH73A0_PIN_IO_PU_PD(203),
1341 	SH73A0_PIN_IO_PU_PD(204),
1342 	SH73A0_PIN_IO_PU_PD(205),
1343 	SH73A0_PIN_IO_PU_PD(206),
1344 	SH73A0_PIN_IO_PD(207),
1345 	SH73A0_PIN_IO_PD(208),
1346 	SH73A0_PIN_IO_PD(209),
1347 	SH73A0_PIN_IO_PD(210),
1348 	SH73A0_PIN_IO_PD(211),
1349 	SH73A0_PIN_IO_PD(212),
1350 	SH73A0_PIN_IO_PD(213),
1351 	SH73A0_PIN_IO_PU_PD(214),
1352 	SH73A0_PIN_IO_PU_PD(215),
1353 	SH73A0_PIN_IO_PD(216),
1354 	SH73A0_PIN_IO_PD(217),
1355 	SH73A0_PIN_O(218),
1356 	SH73A0_PIN_IO_PD(219),
1357 	SH73A0_PIN_IO_PD(220),
1358 	SH73A0_PIN_IO_PU_PD(221),
1359 	SH73A0_PIN_IO_PU_PD(222),
1360 	SH73A0_PIN_I_PU_PD(223),
1361 	SH73A0_PIN_I_PU_PD(224),
1362 	SH73A0_PIN_IO_PU_PD(225),
1363 	SH73A0_PIN_O(226),
1364 	SH73A0_PIN_IO_PU_PD(227),
1365 	SH73A0_PIN_I_PU_PD(228),
1366 	SH73A0_PIN_I_PD(229),
1367 	SH73A0_PIN_IO(230),
1368 	SH73A0_PIN_IO_PU_PD(231),
1369 	SH73A0_PIN_IO_PU_PD(232),
1370 	SH73A0_PIN_I_PU_PD(233),
1371 	SH73A0_PIN_IO_PU_PD(234),
1372 	SH73A0_PIN_IO_PU_PD(235),
1373 	SH73A0_PIN_IO_PU_PD(236),
1374 	SH73A0_PIN_IO_PD(237),
1375 	SH73A0_PIN_IO_PU_PD(238),
1376 	SH73A0_PIN_IO_PU_PD(239),
1377 	SH73A0_PIN_IO_PU_PD(240),
1378 	SH73A0_PIN_O(241),
1379 	SH73A0_PIN_I_PD(242),
1380 	SH73A0_PIN_IO_PU_PD(243),
1381 	SH73A0_PIN_IO_PU_PD(244),
1382 	SH73A0_PIN_IO_PU_PD(245),
1383 	SH73A0_PIN_IO_PU_PD(246),
1384 	SH73A0_PIN_IO_PU_PD(247),
1385 	SH73A0_PIN_IO_PU_PD(248),
1386 	SH73A0_PIN_IO_PU_PD(249),
1387 	SH73A0_PIN_IO_PU_PD(250),
1388 	SH73A0_PIN_IO_PU_PD(251),
1389 	SH73A0_PIN_IO_PU_PD(252),
1390 	SH73A0_PIN_IO_PU_PD(253),
1391 	SH73A0_PIN_IO_PU_PD(254),
1392 	SH73A0_PIN_IO_PU_PD(255),
1393 	SH73A0_PIN_IO_PU_PD(256),
1394 	SH73A0_PIN_IO_PU_PD(257),
1395 	SH73A0_PIN_IO_PU_PD(258),
1396 	SH73A0_PIN_IO_PU_PD(259),
1397 	SH73A0_PIN_IO_PU_PD(260),
1398 	SH73A0_PIN_IO_PU_PD(261),
1399 	SH73A0_PIN_IO_PU_PD(262),
1400 	SH73A0_PIN_IO_PU_PD(263),
1401 	SH73A0_PIN_IO_PU_PD(264),
1402 	SH73A0_PIN_IO_PU_PD(265),
1403 	SH73A0_PIN_IO_PU_PD(266),
1404 	SH73A0_PIN_IO_PU_PD(267),
1405 	SH73A0_PIN_IO_PU_PD(268),
1406 	SH73A0_PIN_IO_PU_PD(269),
1407 	SH73A0_PIN_IO_PU_PD(270),
1408 	SH73A0_PIN_IO_PU_PD(271),
1409 	SH73A0_PIN_IO_PU_PD(272),
1410 	SH73A0_PIN_IO_PU_PD(273),
1411 	SH73A0_PIN_IO_PU_PD(274),
1412 	SH73A0_PIN_IO_PU_PD(275),
1413 	SH73A0_PIN_IO_PU_PD(276),
1414 	SH73A0_PIN_IO_PU_PD(277),
1415 	SH73A0_PIN_IO_PU_PD(278),
1416 	SH73A0_PIN_IO_PU_PD(279),
1417 	SH73A0_PIN_IO_PU_PD(280),
1418 	SH73A0_PIN_O(281),
1419 	SH73A0_PIN_O(282),
1420 	SH73A0_PIN_I_PU(288),
1421 	SH73A0_PIN_IO_PU_PD(289),
1422 	SH73A0_PIN_IO_PU_PD(290),
1423 	SH73A0_PIN_IO_PU_PD(291),
1424 	SH73A0_PIN_IO_PU_PD(292),
1425 	SH73A0_PIN_IO_PU_PD(293),
1426 	SH73A0_PIN_IO_PU_PD(294),
1427 	SH73A0_PIN_IO_PU_PD(295),
1428 	SH73A0_PIN_IO_PU_PD(296),
1429 	SH73A0_PIN_IO_PU_PD(297),
1430 	SH73A0_PIN_IO_PU_PD(298),
1431 	SH73A0_PIN_IO_PU_PD(299),
1432 	SH73A0_PIN_IO_PU_PD(300),
1433 	SH73A0_PIN_IO_PU_PD(301),
1434 	SH73A0_PIN_IO_PU_PD(302),
1435 	SH73A0_PIN_IO_PU_PD(303),
1436 	SH73A0_PIN_IO_PU_PD(304),
1437 	SH73A0_PIN_IO_PU_PD(305),
1438 	SH73A0_PIN_O(306),
1439 	SH73A0_PIN_O(307),
1440 	SH73A0_PIN_I_PU(308),
1441 	SH73A0_PIN_O(309),
1442 
1443 	/* Pins not associated with a GPIO port */
1444 	PINMUX_NOGP_ALL(),
1445 };
1446 
1447 /* - BSC -------------------------------------------------------------------- */
1448 static const unsigned int bsc_data_0_7_pins[] = {
1449 	/* D[0:7] */
1450 	74, 75, 76, 77, 78, 79, 80, 81,
1451 };
1452 static const unsigned int bsc_data_0_7_mux[] = {
1453 	D0_NAF0_MARK, D1_NAF1_MARK, D2_NAF2_MARK, D3_NAF3_MARK,
1454 	D4_NAF4_MARK, D5_NAF5_MARK, D6_NAF6_MARK, D7_NAF7_MARK,
1455 };
1456 static const unsigned int bsc_data_8_15_pins[] = {
1457 	/* D[8:15] */
1458 	82, 83, 84, 85, 86, 87, 88, 89,
1459 };
1460 static const unsigned int bsc_data_8_15_mux[] = {
1461 	D8_NAF8_MARK, D9_NAF9_MARK, D10_NAF10_MARK, D11_NAF11_MARK,
1462 	D12_NAF12_MARK, D13_NAF13_MARK, D14_NAF14_MARK, D15_NAF15_MARK,
1463 };
1464 static const unsigned int bsc_cs4_pins[] = {
1465 	/* CS */
1466 	90,
1467 };
1468 static const unsigned int bsc_cs4_mux[] = {
1469 	CS4__MARK,
1470 };
1471 static const unsigned int bsc_cs5_a_pins[] = {
1472 	/* CS */
1473 	91,
1474 };
1475 static const unsigned int bsc_cs5_a_mux[] = {
1476 	CS5A__MARK,
1477 };
1478 static const unsigned int bsc_cs5_b_pins[] = {
1479 	/* CS */
1480 	92,
1481 };
1482 static const unsigned int bsc_cs5_b_mux[] = {
1483 	CS5B__MARK,
1484 };
1485 static const unsigned int bsc_cs6_a_pins[] = {
1486 	/* CS */
1487 	94,
1488 };
1489 static const unsigned int bsc_cs6_a_mux[] = {
1490 	CS6A__MARK,
1491 };
1492 static const unsigned int bsc_cs6_b_pins[] = {
1493 	/* CS */
1494 	93,
1495 };
1496 static const unsigned int bsc_cs6_b_mux[] = {
1497 	CS6B__MARK,
1498 };
1499 static const unsigned int bsc_rd_pins[] = {
1500 	/* RD */
1501 	96,
1502 };
1503 static const unsigned int bsc_rd_mux[] = {
1504 	RD__FSC_MARK,
1505 };
1506 static const unsigned int bsc_rdwr_0_pins[] = {
1507 	/* RDWR */
1508 	91,
1509 };
1510 static const unsigned int bsc_rdwr_0_mux[] = {
1511 	PORT91_RDWR_MARK,
1512 };
1513 static const unsigned int bsc_rdwr_1_pins[] = {
1514 	/* RDWR */
1515 	97,
1516 };
1517 static const unsigned int bsc_rdwr_1_mux[] = {
1518 	RDWR_FWE_MARK,
1519 };
1520 static const unsigned int bsc_rdwr_2_pins[] = {
1521 	/* RDWR */
1522 	149,
1523 };
1524 static const unsigned int bsc_rdwr_2_mux[] = {
1525 	PORT149_RDWR_MARK,
1526 };
1527 static const unsigned int bsc_we0_pins[] = {
1528 	/* WE0 */
1529 	97,
1530 };
1531 static const unsigned int bsc_we0_mux[] = {
1532 	WE0__FWE_MARK,
1533 };
1534 static const unsigned int bsc_we1_pins[] = {
1535 	/* WE1 */
1536 	98,
1537 };
1538 static const unsigned int bsc_we1_mux[] = {
1539 	WE1__MARK,
1540 };
1541 /* - FSIA ------------------------------------------------------------------- */
1542 static const unsigned int fsia_mclk_in_pins[] = {
1543 	/* CK */
1544 	49,
1545 };
1546 static const unsigned int fsia_mclk_in_mux[] = {
1547 	FSIACK_MARK,
1548 };
1549 static const unsigned int fsia_mclk_out_pins[] = {
1550 	/* OMC */
1551 	49,
1552 };
1553 static const unsigned int fsia_mclk_out_mux[] = {
1554 	FSIAOMC_MARK,
1555 };
1556 static const unsigned int fsia_sclk_in_pins[] = {
1557 	/* ILR, IBT */
1558 	50, 51,
1559 };
1560 static const unsigned int fsia_sclk_in_mux[] = {
1561 	FSIAILR_MARK, FSIAIBT_MARK,
1562 };
1563 static const unsigned int fsia_sclk_out_pins[] = {
1564 	/* OLR, OBT */
1565 	50, 51,
1566 };
1567 static const unsigned int fsia_sclk_out_mux[] = {
1568 	FSIAOLR_MARK, FSIAOBT_MARK,
1569 };
1570 static const unsigned int fsia_data_in_pins[] = {
1571 	/* ISLD */
1572 	55,
1573 };
1574 static const unsigned int fsia_data_in_mux[] = {
1575 	FSIAISLD_MARK,
1576 };
1577 static const unsigned int fsia_data_out_pins[] = {
1578 	/* OSLD */
1579 	52,
1580 };
1581 static const unsigned int fsia_data_out_mux[] = {
1582 	FSIAOSLD_MARK,
1583 };
1584 static const unsigned int fsia_spdif_pins[] = {
1585 	/* SPDIF */
1586 	53,
1587 };
1588 static const unsigned int fsia_spdif_mux[] = {
1589 	FSIASPDIF_MARK,
1590 };
1591 /* - FSIB ------------------------------------------------------------------- */
1592 static const unsigned int fsib_mclk_in_pins[] = {
1593 	/* CK */
1594 	54,
1595 };
1596 static const unsigned int fsib_mclk_in_mux[] = {
1597 	FSIBCK_MARK,
1598 };
1599 static const unsigned int fsib_mclk_out_pins[] = {
1600 	/* OMC */
1601 	54,
1602 };
1603 static const unsigned int fsib_mclk_out_mux[] = {
1604 	FSIBOMC_MARK,
1605 };
1606 static const unsigned int fsib_sclk_in_pins[] = {
1607 	/* ILR, IBT */
1608 	37, 36,
1609 };
1610 static const unsigned int fsib_sclk_in_mux[] = {
1611 	FSIBILR_MARK, FSIBIBT_MARK,
1612 };
1613 static const unsigned int fsib_sclk_out_pins[] = {
1614 	/* OLR, OBT */
1615 	37, 36,
1616 };
1617 static const unsigned int fsib_sclk_out_mux[] = {
1618 	FSIBOLR_MARK, FSIBOBT_MARK,
1619 };
1620 static const unsigned int fsib_data_in_pins[] = {
1621 	/* ISLD */
1622 	39,
1623 };
1624 static const unsigned int fsib_data_in_mux[] = {
1625 	FSIBISLD_MARK,
1626 };
1627 static const unsigned int fsib_data_out_pins[] = {
1628 	/* OSLD */
1629 	38,
1630 };
1631 static const unsigned int fsib_data_out_mux[] = {
1632 	FSIBOSLD_MARK,
1633 };
1634 static const unsigned int fsib_spdif_pins[] = {
1635 	/* SPDIF */
1636 	53,
1637 };
1638 static const unsigned int fsib_spdif_mux[] = {
1639 	FSIBSPDIF_MARK,
1640 };
1641 /* - FSIC ------------------------------------------------------------------- */
1642 static const unsigned int fsic_mclk_in_pins[] = {
1643 	/* CK */
1644 	54,
1645 };
1646 static const unsigned int fsic_mclk_in_mux[] = {
1647 	FSICCK_MARK,
1648 };
1649 static const unsigned int fsic_mclk_out_pins[] = {
1650 	/* OMC */
1651 	54,
1652 };
1653 static const unsigned int fsic_mclk_out_mux[] = {
1654 	FSICOMC_MARK,
1655 };
1656 static const unsigned int fsic_sclk_in_pins[] = {
1657 	/* ILR, IBT */
1658 	46, 45,
1659 };
1660 static const unsigned int fsic_sclk_in_mux[] = {
1661 	FSICILR_MARK, FSICIBT_MARK,
1662 };
1663 static const unsigned int fsic_sclk_out_pins[] = {
1664 	/* OLR, OBT */
1665 	46, 45,
1666 };
1667 static const unsigned int fsic_sclk_out_mux[] = {
1668 	FSICOLR_MARK, FSICOBT_MARK,
1669 };
1670 static const unsigned int fsic_data_in_pins[] = {
1671 	/* ISLD */
1672 	48,
1673 };
1674 static const unsigned int fsic_data_in_mux[] = {
1675 	FSICISLD_MARK,
1676 };
1677 static const unsigned int fsic_data_out_pins[] = {
1678 	/* OSLD, OSLDT1, OSLDT2, OSLDT3 */
1679 	47, 44, 42, 16,
1680 };
1681 static const unsigned int fsic_data_out_mux[] = {
1682 	FSICOSLD_MARK, FSICOSLDT1_MARK, FSICOSLDT2_MARK, FSICOSLDT3_MARK,
1683 };
1684 static const unsigned int fsic_spdif_0_pins[] = {
1685 	/* SPDIF */
1686 	53,
1687 };
1688 static const unsigned int fsic_spdif_0_mux[] = {
1689 	PORT53_FSICSPDIF_MARK,
1690 };
1691 static const unsigned int fsic_spdif_1_pins[] = {
1692 	/* SPDIF */
1693 	47,
1694 };
1695 static const unsigned int fsic_spdif_1_mux[] = {
1696 	PORT47_FSICSPDIF_MARK,
1697 };
1698 /* - FSID ------------------------------------------------------------------- */
1699 static const unsigned int fsid_sclk_in_pins[] = {
1700 	/* ILR, IBT */
1701 	46, 45,
1702 };
1703 static const unsigned int fsid_sclk_in_mux[] = {
1704 	FSIDILR_MARK, FSIDIBT_MARK,
1705 };
1706 static const unsigned int fsid_sclk_out_pins[] = {
1707 	/* OLR, OBT */
1708 	46, 45,
1709 };
1710 static const unsigned int fsid_sclk_out_mux[] = {
1711 	FSIDOLR_MARK, FSIDOBT_MARK,
1712 };
1713 static const unsigned int fsid_data_in_pins[] = {
1714 	/* ISLD */
1715 	48,
1716 };
1717 static const unsigned int fsid_data_in_mux[] = {
1718 	FSIDISLD_MARK,
1719 };
1720 /* - I2C2 ------------------------------------------------------------------- */
1721 static const unsigned int i2c2_0_pins[] = {
1722 	/* SCL, SDA */
1723 	237, 236,
1724 };
1725 static const unsigned int i2c2_0_mux[] = {
1726 	PORT237_I2C_SCL2_MARK, PORT236_I2C_SDA2_MARK,
1727 };
1728 static const unsigned int i2c2_1_pins[] = {
1729 	/* SCL, SDA */
1730 	27, 28,
1731 };
1732 static const unsigned int i2c2_1_mux[] = {
1733 	PORT27_I2C_SCL2_MARK, PORT28_I2C_SDA2_MARK,
1734 };
1735 static const unsigned int i2c2_2_pins[] = {
1736 	/* SCL, SDA */
1737 	115, 116,
1738 };
1739 static const unsigned int i2c2_2_mux[] = {
1740 	PORT115_I2C_SCL2_MARK, PORT116_I2C_SDA2_MARK,
1741 };
1742 /* - I2C3 ------------------------------------------------------------------- */
1743 static const unsigned int i2c3_0_pins[] = {
1744 	/* SCL, SDA */
1745 	248, 249,
1746 };
1747 static const unsigned int i2c3_0_mux[] = {
1748 	PORT248_I2C_SCL3_MARK, PORT249_I2C_SDA3_MARK,
1749 };
1750 static const unsigned int i2c3_1_pins[] = {
1751 	/* SCL, SDA */
1752 	27, 28,
1753 };
1754 static const unsigned int i2c3_1_mux[] = {
1755 	PORT27_I2C_SCL3_MARK, PORT28_I2C_SDA3_MARK,
1756 };
1757 static const unsigned int i2c3_2_pins[] = {
1758 	/* SCL, SDA */
1759 	115, 116,
1760 };
1761 static const unsigned int i2c3_2_mux[] = {
1762 	PORT115_I2C_SCL3_MARK, PORT116_I2C_SDA3_MARK,
1763 };
1764 /* - IrDA ------------------------------------------------------------------- */
1765 static const unsigned int irda_0_pins[] = {
1766 	/* OUT, IN, FIRSEL */
1767 	241, 242, 243,
1768 };
1769 static const unsigned int irda_0_mux[] = {
1770 	PORT241_IRDA_OUT_MARK, PORT242_IRDA_IN_MARK, PORT243_IRDA_FIRSEL_MARK,
1771 };
1772 static const unsigned int irda_1_pins[] = {
1773 	/* OUT, IN, FIRSEL */
1774 	49, 53, 54,
1775 };
1776 static const unsigned int irda_1_mux[] = {
1777 	PORT49_IRDA_OUT_MARK, PORT53_IRDA_IN_MARK, PORT54_IRDA_FIRSEL_MARK,
1778 };
1779 /* - KEYSC ------------------------------------------------------------------ */
1780 static const unsigned int keysc_in_pins[] = {
1781 	/* KEYIN[0:7] */
1782 	66, 67, 68, 69, 70, 71, 72, 73,
1783 };
1784 static const unsigned int keysc_in_mux[] = {
1785 	KEYIN0_MARK, KEYIN1_MARK, KEYIN2_MARK, KEYIN3_MARK,
1786 	KEYIN4_MARK, KEYIN5_MARK, KEYIN6_MARK, KEYIN7_MARK,
1787 };
1788 static const unsigned int keysc_out04_pins[] = {
1789 	/* KEYOUT[0:4] */
1790 	65, 64, 63, 62, 61,
1791 };
1792 static const unsigned int keysc_out04_mux[] = {
1793 	KEYOUT0_MARK, KEYOUT1_MARK, KEYOUT2_MARK, KEYOUT3_MARK, KEYOUT4_MARK,
1794 };
1795 static const unsigned int keysc_out5_pins[] = {
1796 	/* KEYOUT5 */
1797 	60,
1798 };
1799 static const unsigned int keysc_out5_mux[] = {
1800 	KEYOUT5_MARK,
1801 };
1802 static const unsigned int keysc_out6_0_pins[] = {
1803 	/* KEYOUT6 */
1804 	59,
1805 };
1806 static const unsigned int keysc_out6_0_mux[] = {
1807 	PORT59_KEYOUT6_MARK,
1808 };
1809 static const unsigned int keysc_out6_1_pins[] = {
1810 	/* KEYOUT6 */
1811 	131,
1812 };
1813 static const unsigned int keysc_out6_1_mux[] = {
1814 	PORT131_KEYOUT6_MARK,
1815 };
1816 static const unsigned int keysc_out6_2_pins[] = {
1817 	/* KEYOUT6 */
1818 	143,
1819 };
1820 static const unsigned int keysc_out6_2_mux[] = {
1821 	PORT143_KEYOUT6_MARK,
1822 };
1823 static const unsigned int keysc_out7_0_pins[] = {
1824 	/* KEYOUT7 */
1825 	58,
1826 };
1827 static const unsigned int keysc_out7_0_mux[] = {
1828 	PORT58_KEYOUT7_MARK,
1829 };
1830 static const unsigned int keysc_out7_1_pins[] = {
1831 	/* KEYOUT7 */
1832 	132,
1833 };
1834 static const unsigned int keysc_out7_1_mux[] = {
1835 	PORT132_KEYOUT7_MARK,
1836 };
1837 static const unsigned int keysc_out7_2_pins[] = {
1838 	/* KEYOUT7 */
1839 	144,
1840 };
1841 static const unsigned int keysc_out7_2_mux[] = {
1842 	PORT144_KEYOUT7_MARK,
1843 };
1844 static const unsigned int keysc_out8_0_pins[] = {
1845 	/* KEYOUT8 */
1846 	PIN_A11,
1847 };
1848 static const unsigned int keysc_out8_0_mux[] = {
1849 	KEYOUT8_MARK,
1850 };
1851 static const unsigned int keysc_out8_1_pins[] = {
1852 	/* KEYOUT8 */
1853 	136,
1854 };
1855 static const unsigned int keysc_out8_1_mux[] = {
1856 	PORT136_KEYOUT8_MARK,
1857 };
1858 static const unsigned int keysc_out8_2_pins[] = {
1859 	/* KEYOUT8 */
1860 	138,
1861 };
1862 static const unsigned int keysc_out8_2_mux[] = {
1863 	PORT138_KEYOUT8_MARK,
1864 };
1865 static const unsigned int keysc_out9_0_pins[] = {
1866 	/* KEYOUT9 */
1867 	137,
1868 };
1869 static const unsigned int keysc_out9_0_mux[] = {
1870 	PORT137_KEYOUT9_MARK,
1871 };
1872 static const unsigned int keysc_out9_1_pins[] = {
1873 	/* KEYOUT9 */
1874 	139,
1875 };
1876 static const unsigned int keysc_out9_1_mux[] = {
1877 	PORT139_KEYOUT9_MARK,
1878 };
1879 static const unsigned int keysc_out9_2_pins[] = {
1880 	/* KEYOUT9 */
1881 	149,
1882 };
1883 static const unsigned int keysc_out9_2_mux[] = {
1884 	PORT149_KEYOUT9_MARK,
1885 };
1886 static const unsigned int keysc_out10_0_pins[] = {
1887 	/* KEYOUT10 */
1888 	132,
1889 };
1890 static const unsigned int keysc_out10_0_mux[] = {
1891 	PORT132_KEYOUT10_MARK,
1892 };
1893 static const unsigned int keysc_out10_1_pins[] = {
1894 	/* KEYOUT10 */
1895 	142,
1896 };
1897 static const unsigned int keysc_out10_1_mux[] = {
1898 	PORT142_KEYOUT10_MARK,
1899 };
1900 static const unsigned int keysc_out11_0_pins[] = {
1901 	/* KEYOUT11 */
1902 	131,
1903 };
1904 static const unsigned int keysc_out11_0_mux[] = {
1905 	PORT131_KEYOUT11_MARK,
1906 };
1907 static const unsigned int keysc_out11_1_pins[] = {
1908 	/* KEYOUT11 */
1909 	143,
1910 };
1911 static const unsigned int keysc_out11_1_mux[] = {
1912 	PORT143_KEYOUT11_MARK,
1913 };
1914 /* - LCD -------------------------------------------------------------------- */
1915 static const unsigned int lcd_data_pins[] = {
1916 	/* D[0:23] */
1917 	192, 193, 194, 195, 196, 197, 198, 199,
1918 	200, 201, 202, 203, 204, 205, 206, 207,
1919 	208, 209, 210, 211, 212, 213, 214, 215
1920 };
1921 static const unsigned int lcd_data_mux[] = {
1922 	LCDD0_MARK, LCDD1_MARK, LCDD2_MARK, LCDD3_MARK,
1923 	LCDD4_MARK, LCDD5_MARK, LCDD6_MARK, LCDD7_MARK,
1924 	LCDD8_MARK, LCDD9_MARK, LCDD10_MARK, LCDD11_MARK,
1925 	LCDD12_MARK, LCDD13_MARK, LCDD14_MARK, LCDD15_MARK,
1926 	LCDD16_MARK, LCDD17_MARK, LCDD18_MARK, LCDD19_MARK,
1927 	LCDD20_MARK, LCDD21_MARK, LCDD22_MARK, LCDD23_MARK,
1928 };
1929 static const unsigned int lcd_display_pins[] = {
1930 	/* DON */
1931 	222,
1932 };
1933 static const unsigned int lcd_display_mux[] = {
1934 	LCDDON_MARK,
1935 };
1936 static const unsigned int lcd_lclk_pins[] = {
1937 	/* LCLK */
1938 	221,
1939 };
1940 static const unsigned int lcd_lclk_mux[] = {
1941 	LCDLCLK_MARK,
1942 };
1943 static const unsigned int lcd_sync_pins[] = {
1944 	/* VSYN, HSYN, DCK, DISP */
1945 	220, 218, 216, 219,
1946 };
1947 static const unsigned int lcd_sync_mux[] = {
1948 	LCDVSYN_MARK, LCDHSYN_MARK, LCDDCK_MARK, LCDDISP_MARK,
1949 };
1950 static const unsigned int lcd_sys_pins[] = {
1951 	/* CS, WR, RD, RS */
1952 	218, 216, 217, 219,
1953 };
1954 static const unsigned int lcd_sys_mux[] = {
1955 	LCDCS__MARK, LCDWR__MARK, LCDRD__MARK, LCDRS_MARK,
1956 };
1957 /* - LCD2 ------------------------------------------------------------------- */
1958 static const unsigned int lcd2_data_pins[] = {
1959 	/* D[0:23] */
1960 	128, 129, 142, 143, 144, 145, 138, 139,
1961 	140, 141, 130, 131, 132, 133, 134, 135,
1962 	136, 137, 146, 147, 234, 235, 238, 239
1963 };
1964 static const unsigned int lcd2_data_mux[] = {
1965 	LCD2D0_MARK, LCD2D1_MARK, LCD2D2_MARK, LCD2D3_MARK,
1966 	LCD2D4_MARK, LCD2D5_MARK, LCD2D6_MARK, LCD2D7_MARK,
1967 	LCD2D8_MARK, LCD2D9_MARK, LCD2D10_MARK, LCD2D11_MARK,
1968 	LCD2D12_MARK, LCD2D13_MARK, LCD2D14_MARK, LCD2D15_MARK,
1969 	LCD2D16_MARK, LCD2D17_MARK, LCD2D18_MARK, LCD2D19_MARK,
1970 	LCD2D20_MARK, LCD2D21_MARK, LCD2D22_MARK, LCD2D23_MARK,
1971 };
1972 static const unsigned int lcd2_sync_0_pins[] = {
1973 	/* VSYN, HSYN, DCK, DISP */
1974 	128, 129, 146, 145,
1975 };
1976 static const unsigned int lcd2_sync_0_mux[] = {
1977 	PORT128_LCD2VSYN_MARK, PORT129_LCD2HSYN_MARK,
1978 	LCD2DCK_MARK, PORT145_LCD2DISP_MARK,
1979 };
1980 static const unsigned int lcd2_sync_1_pins[] = {
1981 	/* VSYN, HSYN, DCK, DISP */
1982 	222, 221, 219, 217,
1983 };
1984 static const unsigned int lcd2_sync_1_mux[] = {
1985 	PORT222_LCD2VSYN_MARK, PORT221_LCD2HSYN_MARK,
1986 	LCD2DCK_2_MARK, PORT217_LCD2DISP_MARK,
1987 };
1988 static const unsigned int lcd2_sys_0_pins[] = {
1989 	/* CS, WR, RD, RS */
1990 	129, 146, 147, 145,
1991 };
1992 static const unsigned int lcd2_sys_0_mux[] = {
1993 	PORT129_LCD2CS__MARK, PORT146_LCD2WR__MARK,
1994 	LCD2RD__MARK, PORT145_LCD2RS_MARK,
1995 };
1996 static const unsigned int lcd2_sys_1_pins[] = {
1997 	/* CS, WR, RD, RS */
1998 	221, 219, 147, 217,
1999 };
2000 static const unsigned int lcd2_sys_1_mux[] = {
2001 	PORT221_LCD2CS__MARK, PORT219_LCD2WR__MARK,
2002 	LCD2RD__MARK, PORT217_LCD2RS_MARK,
2003 };
2004 /* - MMCIF ------------------------------------------------------------------ */
2005 static const unsigned int mmc0_data_0_pins[] = {
2006 	/* D[0:7] */
2007 	271, 272, 273, 274, 275, 276, 277, 278,
2008 };
2009 static const unsigned int mmc0_data_0_mux[] = {
2010 	MMCD0_0_MARK, MMCD0_1_MARK, MMCD0_2_MARK, MMCD0_3_MARK,
2011 	MMCD0_4_MARK, MMCD0_5_MARK, MMCD0_6_MARK, MMCD0_7_MARK,
2012 };
2013 static const unsigned int mmc0_ctrl_0_pins[] = {
2014 	/* CMD, CLK */
2015 	279, 270,
2016 };
2017 static const unsigned int mmc0_ctrl_0_mux[] = {
2018 	MMCCMD0_MARK, MMCCLK0_MARK,
2019 };
2020 
2021 static const unsigned int mmc0_data_1_pins[] = {
2022 	/* D[0:7] */
2023 	305, 304, 303, 302, 301, 300, 299, 298,
2024 };
2025 static const unsigned int mmc0_data_1_mux[] = {
2026 	MMCD1_0_MARK, MMCD1_1_MARK, MMCD1_2_MARK, MMCD1_3_MARK,
2027 	MMCD1_4_MARK, MMCD1_5_MARK, MMCD1_6_MARK, MMCD1_7_MARK,
2028 };
2029 static const unsigned int mmc0_ctrl_1_pins[] = {
2030 	/* CMD, CLK */
2031 	297, 289,
2032 };
2033 static const unsigned int mmc0_ctrl_1_mux[] = {
2034 	MMCCMD1_MARK, MMCCLK1_MARK,
2035 };
2036 /* - MSIOF0 ----------------------------------------------------------------- */
2037 static const unsigned int msiof0_rsck_pins[] = {
2038 	/* RSCK */
2039 	66,
2040 };
2041 static const unsigned int msiof0_rsck_mux[] = {
2042 	MSIOF0_RSCK_MARK,
2043 };
2044 static const unsigned int msiof0_tsck_pins[] = {
2045 	/* TSCK */
2046 	64,
2047 };
2048 static const unsigned int msiof0_tsck_mux[] = {
2049 	MSIOF0_TSCK_MARK,
2050 };
2051 static const unsigned int msiof0_rsync_pins[] = {
2052 	/* RSYNC */
2053 	67,
2054 };
2055 static const unsigned int msiof0_rsync_mux[] = {
2056 	MSIOF0_RSYNC_MARK,
2057 };
2058 static const unsigned int msiof0_tsync_pins[] = {
2059 	/* TSYNC */
2060 	63,
2061 };
2062 static const unsigned int msiof0_tsync_mux[] = {
2063 	MSIOF0_TSYNC_MARK,
2064 };
2065 static const unsigned int msiof0_ss1_pins[] = {
2066 	/* SS1 */
2067 	62,
2068 };
2069 static const unsigned int msiof0_ss1_mux[] = {
2070 	MSIOF0_SS1_MARK,
2071 };
2072 static const unsigned int msiof0_ss2_pins[] = {
2073 	/* SS2 */
2074 	71,
2075 };
2076 static const unsigned int msiof0_ss2_mux[] = {
2077 	MSIOF0_SS2_MARK,
2078 };
2079 static const unsigned int msiof0_rxd_pins[] = {
2080 	/* RXD */
2081 	70,
2082 };
2083 static const unsigned int msiof0_rxd_mux[] = {
2084 	MSIOF0_RXD_MARK,
2085 };
2086 static const unsigned int msiof0_txd_pins[] = {
2087 	/* TXD */
2088 	65,
2089 };
2090 static const unsigned int msiof0_txd_mux[] = {
2091 	MSIOF0_TXD_MARK,
2092 };
2093 static const unsigned int msiof0_mck0_pins[] = {
2094 	/* MSCK0 */
2095 	68,
2096 };
2097 static const unsigned int msiof0_mck0_mux[] = {
2098 	MSIOF0_MCK0_MARK,
2099 };
2100 
2101 static const unsigned int msiof0_mck1_pins[] = {
2102 	/* MSCK1 */
2103 	69,
2104 };
2105 static const unsigned int msiof0_mck1_mux[] = {
2106 	MSIOF0_MCK1_MARK,
2107 };
2108 
2109 static const unsigned int msiof0l_rsck_pins[] = {
2110 	/* RSCK */
2111 	214,
2112 };
2113 static const unsigned int msiof0l_rsck_mux[] = {
2114 	MSIOF0L_RSCK_MARK,
2115 };
2116 static const unsigned int msiof0l_tsck_pins[] = {
2117 	/* TSCK */
2118 	219,
2119 };
2120 static const unsigned int msiof0l_tsck_mux[] = {
2121 	MSIOF0L_TSCK_MARK,
2122 };
2123 static const unsigned int msiof0l_rsync_pins[] = {
2124 	/* RSYNC */
2125 	215,
2126 };
2127 static const unsigned int msiof0l_rsync_mux[] = {
2128 	MSIOF0L_RSYNC_MARK,
2129 };
2130 static const unsigned int msiof0l_tsync_pins[] = {
2131 	/* TSYNC */
2132 	217,
2133 };
2134 static const unsigned int msiof0l_tsync_mux[] = {
2135 	MSIOF0L_TSYNC_MARK,
2136 };
2137 static const unsigned int msiof0l_ss1_a_pins[] = {
2138 	/* SS1 */
2139 	207,
2140 };
2141 static const unsigned int msiof0l_ss1_a_mux[] = {
2142 	PORT207_MSIOF0L_SS1_MARK,
2143 };
2144 static const unsigned int msiof0l_ss1_b_pins[] = {
2145 	/* SS1 */
2146 	210,
2147 };
2148 static const unsigned int msiof0l_ss1_b_mux[] = {
2149 	PORT210_MSIOF0L_SS1_MARK,
2150 };
2151 static const unsigned int msiof0l_ss2_a_pins[] = {
2152 	/* SS2 */
2153 	208,
2154 };
2155 static const unsigned int msiof0l_ss2_a_mux[] = {
2156 	PORT208_MSIOF0L_SS2_MARK,
2157 };
2158 static const unsigned int msiof0l_ss2_b_pins[] = {
2159 	/* SS2 */
2160 	211,
2161 };
2162 static const unsigned int msiof0l_ss2_b_mux[] = {
2163 	PORT211_MSIOF0L_SS2_MARK,
2164 };
2165 static const unsigned int msiof0l_rxd_pins[] = {
2166 	/* RXD */
2167 	221,
2168 };
2169 static const unsigned int msiof0l_rxd_mux[] = {
2170 	MSIOF0L_RXD_MARK,
2171 };
2172 static const unsigned int msiof0l_txd_pins[] = {
2173 	/* TXD */
2174 	222,
2175 };
2176 static const unsigned int msiof0l_txd_mux[] = {
2177 	MSIOF0L_TXD_MARK,
2178 };
2179 static const unsigned int msiof0l_mck0_pins[] = {
2180 	/* MSCK0 */
2181 	212,
2182 };
2183 static const unsigned int msiof0l_mck0_mux[] = {
2184 	MSIOF0L_MCK0_MARK,
2185 };
2186 static const unsigned int msiof0l_mck1_pins[] = {
2187 	/* MSCK1 */
2188 	213,
2189 };
2190 static const unsigned int msiof0l_mck1_mux[] = {
2191 	MSIOF0L_MCK1_MARK,
2192 };
2193 /* - MSIOF1 ----------------------------------------------------------------- */
2194 static const unsigned int msiof1_rsck_pins[] = {
2195 	/* RSCK */
2196 	234,
2197 };
2198 static const unsigned int msiof1_rsck_mux[] = {
2199 	MSIOF1_RSCK_MARK,
2200 };
2201 static const unsigned int msiof1_tsck_pins[] = {
2202 	/* TSCK */
2203 	232,
2204 };
2205 static const unsigned int msiof1_tsck_mux[] = {
2206 	MSIOF1_TSCK_MARK,
2207 };
2208 static const unsigned int msiof1_rsync_pins[] = {
2209 	/* RSYNC */
2210 	235,
2211 };
2212 static const unsigned int msiof1_rsync_mux[] = {
2213 	MSIOF1_RSYNC_MARK,
2214 };
2215 static const unsigned int msiof1_tsync_pins[] = {
2216 	/* TSYNC */
2217 	231,
2218 };
2219 static const unsigned int msiof1_tsync_mux[] = {
2220 	MSIOF1_TSYNC_MARK,
2221 };
2222 static const unsigned int msiof1_ss1_pins[] = {
2223 	/* SS1 */
2224 	238,
2225 };
2226 static const unsigned int msiof1_ss1_mux[] = {
2227 	MSIOF1_SS1_MARK,
2228 };
2229 static const unsigned int msiof1_ss2_pins[] = {
2230 	/* SS2 */
2231 	239,
2232 };
2233 static const unsigned int msiof1_ss2_mux[] = {
2234 	MSIOF1_SS2_MARK,
2235 };
2236 static const unsigned int msiof1_rxd_pins[] = {
2237 	/* RXD */
2238 	233,
2239 };
2240 static const unsigned int msiof1_rxd_mux[] = {
2241 	MSIOF1_RXD_MARK,
2242 };
2243 static const unsigned int msiof1_txd_pins[] = {
2244 	/* TXD */
2245 	230,
2246 };
2247 static const unsigned int msiof1_txd_mux[] = {
2248 	MSIOF1_TXD_MARK,
2249 };
2250 static const unsigned int msiof1_mck0_pins[] = {
2251 	/* MSCK0 */
2252 	236,
2253 };
2254 static const unsigned int msiof1_mck0_mux[] = {
2255 	MSIOF1_MCK0_MARK,
2256 };
2257 static const unsigned int msiof1_mck1_pins[] = {
2258 	/* MSCK1 */
2259 	237,
2260 };
2261 static const unsigned int msiof1_mck1_mux[] = {
2262 	MSIOF1_MCK1_MARK,
2263 };
2264 /* - MSIOF2 ----------------------------------------------------------------- */
2265 static const unsigned int msiof2_rsck_pins[] = {
2266 	/* RSCK */
2267 	151,
2268 };
2269 static const unsigned int msiof2_rsck_mux[] = {
2270 	MSIOF2_RSCK_MARK,
2271 };
2272 static const unsigned int msiof2_tsck_pins[] = {
2273 	/* TSCK */
2274 	135,
2275 };
2276 static const unsigned int msiof2_tsck_mux[] = {
2277 	MSIOF2_TSCK_MARK,
2278 };
2279 static const unsigned int msiof2_rsync_pins[] = {
2280 	/* RSYNC */
2281 	152,
2282 };
2283 static const unsigned int msiof2_rsync_mux[] = {
2284 	MSIOF2_RSYNC_MARK,
2285 };
2286 static const unsigned int msiof2_tsync_pins[] = {
2287 	/* TSYNC */
2288 	133,
2289 };
2290 static const unsigned int msiof2_tsync_mux[] = {
2291 	MSIOF2_TSYNC_MARK,
2292 };
2293 static const unsigned int msiof2_ss1_a_pins[] = {
2294 	/* SS1 */
2295 	131,
2296 };
2297 static const unsigned int msiof2_ss1_a_mux[] = {
2298 	PORT131_MSIOF2_SS1_MARK,
2299 };
2300 static const unsigned int msiof2_ss1_b_pins[] = {
2301 	/* SS1 */
2302 	153,
2303 };
2304 static const unsigned int msiof2_ss1_b_mux[] = {
2305 	PORT153_MSIOF2_SS1_MARK,
2306 };
2307 static const unsigned int msiof2_ss2_a_pins[] = {
2308 	/* SS2 */
2309 	132,
2310 };
2311 static const unsigned int msiof2_ss2_a_mux[] = {
2312 	PORT132_MSIOF2_SS2_MARK,
2313 };
2314 static const unsigned int msiof2_ss2_b_pins[] = {
2315 	/* SS2 */
2316 	156,
2317 };
2318 static const unsigned int msiof2_ss2_b_mux[] = {
2319 	PORT156_MSIOF2_SS2_MARK,
2320 };
2321 static const unsigned int msiof2_rxd_a_pins[] = {
2322 	/* RXD */
2323 	130,
2324 };
2325 static const unsigned int msiof2_rxd_a_mux[] = {
2326 	PORT130_MSIOF2_RXD_MARK,
2327 };
2328 static const unsigned int msiof2_rxd_b_pins[] = {
2329 	/* RXD */
2330 	157,
2331 };
2332 static const unsigned int msiof2_rxd_b_mux[] = {
2333 	PORT157_MSIOF2_RXD_MARK,
2334 };
2335 static const unsigned int msiof2_txd_pins[] = {
2336 	/* TXD */
2337 	134,
2338 };
2339 static const unsigned int msiof2_txd_mux[] = {
2340 	MSIOF2_TXD_MARK,
2341 };
2342 static const unsigned int msiof2_mck0_pins[] = {
2343 	/* MSCK0 */
2344 	154,
2345 };
2346 static const unsigned int msiof2_mck0_mux[] = {
2347 	MSIOF2_MCK0_MARK,
2348 };
2349 static const unsigned int msiof2_mck1_pins[] = {
2350 	/* MSCK1 */
2351 	155,
2352 };
2353 static const unsigned int msiof2_mck1_mux[] = {
2354 	MSIOF2_MCK1_MARK,
2355 };
2356 
2357 static const unsigned int msiof2r_tsck_pins[] = {
2358 	/* TSCK */
2359 	248,
2360 };
2361 static const unsigned int msiof2r_tsck_mux[] = {
2362 	MSIOF2R_TSCK_MARK,
2363 };
2364 static const unsigned int msiof2r_tsync_pins[] = {
2365 	/* TSYNC */
2366 	249,
2367 };
2368 static const unsigned int msiof2r_tsync_mux[] = {
2369 	MSIOF2R_TSYNC_MARK,
2370 };
2371 static const unsigned int msiof2r_rxd_pins[] = {
2372 	/* RXD */
2373 	244,
2374 };
2375 static const unsigned int msiof2r_rxd_mux[] = {
2376 	MSIOF2R_RXD_MARK,
2377 };
2378 static const unsigned int msiof2r_txd_pins[] = {
2379 	/* TXD */
2380 	245,
2381 };
2382 static const unsigned int msiof2r_txd_mux[] = {
2383 	MSIOF2R_TXD_MARK,
2384 };
2385 /* - MSIOF3 (Pin function name of MSIOF3 is named BBIF1) -------------------- */
2386 static const unsigned int msiof3_rsck_pins[] = {
2387 	/* RSCK */
2388 	115,
2389 };
2390 static const unsigned int msiof3_rsck_mux[] = {
2391 	BBIF1_RSCK_MARK,
2392 };
2393 static const unsigned int msiof3_tsck_pins[] = {
2394 	/* TSCK */
2395 	112,
2396 };
2397 static const unsigned int msiof3_tsck_mux[] = {
2398 	BBIF1_TSCK_MARK,
2399 };
2400 static const unsigned int msiof3_rsync_pins[] = {
2401 	/* RSYNC */
2402 	116,
2403 };
2404 static const unsigned int msiof3_rsync_mux[] = {
2405 	BBIF1_RSYNC_MARK,
2406 };
2407 static const unsigned int msiof3_tsync_pins[] = {
2408 	/* TSYNC */
2409 	113,
2410 };
2411 static const unsigned int msiof3_tsync_mux[] = {
2412 	BBIF1_TSYNC_MARK,
2413 };
2414 static const unsigned int msiof3_ss1_pins[] = {
2415 	/* SS1 */
2416 	117,
2417 };
2418 static const unsigned int msiof3_ss1_mux[] = {
2419 	BBIF1_SS1_MARK,
2420 };
2421 static const unsigned int msiof3_ss2_pins[] = {
2422 	/* SS2 */
2423 	109,
2424 };
2425 static const unsigned int msiof3_ss2_mux[] = {
2426 	BBIF1_SS2_MARK,
2427 };
2428 static const unsigned int msiof3_rxd_pins[] = {
2429 	/* RXD */
2430 	111,
2431 };
2432 static const unsigned int msiof3_rxd_mux[] = {
2433 	BBIF1_RXD_MARK,
2434 };
2435 static const unsigned int msiof3_txd_pins[] = {
2436 	/* TXD */
2437 	114,
2438 };
2439 static const unsigned int msiof3_txd_mux[] = {
2440 	BBIF1_TXD_MARK,
2441 };
2442 static const unsigned int msiof3_flow_pins[] = {
2443 	/* FLOW */
2444 	117,
2445 };
2446 static const unsigned int msiof3_flow_mux[] = {
2447 	BBIF1_FLOW_MARK,
2448 };
2449 
2450 /* - SCIFA0 ----------------------------------------------------------------- */
2451 static const unsigned int scifa0_data_pins[] = {
2452 	/* RXD, TXD */
2453 	43, 17,
2454 };
2455 static const unsigned int scifa0_data_mux[] = {
2456 	SCIFA0_RXD_MARK, SCIFA0_TXD_MARK,
2457 };
2458 static const unsigned int scifa0_clk_pins[] = {
2459 	/* SCK */
2460 	16,
2461 };
2462 static const unsigned int scifa0_clk_mux[] = {
2463 	SCIFA0_SCK_MARK,
2464 };
2465 static const unsigned int scifa0_ctrl_pins[] = {
2466 	/* RTS, CTS */
2467 	42, 44,
2468 };
2469 static const unsigned int scifa0_ctrl_mux[] = {
2470 	SCIFA0_RTS__MARK, SCIFA0_CTS__MARK,
2471 };
2472 /* - SCIFA1 ----------------------------------------------------------------- */
2473 static const unsigned int scifa1_data_pins[] = {
2474 	/* RXD, TXD */
2475 	228, 225,
2476 };
2477 static const unsigned int scifa1_data_mux[] = {
2478 	SCIFA1_RXD_MARK, SCIFA1_TXD_MARK,
2479 };
2480 static const unsigned int scifa1_clk_pins[] = {
2481 	/* SCK */
2482 	226,
2483 };
2484 static const unsigned int scifa1_clk_mux[] = {
2485 	SCIFA1_SCK_MARK,
2486 };
2487 static const unsigned int scifa1_ctrl_pins[] = {
2488 	/* RTS, CTS */
2489 	227, 229,
2490 };
2491 static const unsigned int scifa1_ctrl_mux[] = {
2492 	SCIFA1_RTS__MARK, SCIFA1_CTS__MARK,
2493 };
2494 /* - SCIFA2 ----------------------------------------------------------------- */
2495 static const unsigned int scifa2_data_0_pins[] = {
2496 	/* RXD, TXD */
2497 	155, 154,
2498 };
2499 static const unsigned int scifa2_data_0_mux[] = {
2500 	SCIFA2_RXD1_MARK, SCIFA2_TXD1_MARK,
2501 };
2502 static const unsigned int scifa2_clk_0_pins[] = {
2503 	/* SCK */
2504 	158,
2505 };
2506 static const unsigned int scifa2_clk_0_mux[] = {
2507 	SCIFA2_SCK1_MARK,
2508 };
2509 static const unsigned int scifa2_ctrl_0_pins[] = {
2510 	/* RTS, CTS */
2511 	156, 157,
2512 };
2513 static const unsigned int scifa2_ctrl_0_mux[] = {
2514 	SCIFA2_RTS1__MARK, SCIFA2_CTS1__MARK,
2515 };
2516 static const unsigned int scifa2_data_1_pins[] = {
2517 	/* RXD, TXD */
2518 	233, 230,
2519 };
2520 static const unsigned int scifa2_data_1_mux[] = {
2521 	SCIFA2_RXD2_MARK, SCIFA2_TXD2_MARK,
2522 };
2523 static const unsigned int scifa2_clk_1_pins[] = {
2524 	/* SCK */
2525 	232,
2526 };
2527 static const unsigned int scifa2_clk_1_mux[] = {
2528 	SCIFA2_SCK2_MARK,
2529 };
2530 static const unsigned int scifa2_ctrl_1_pins[] = {
2531 	/* RTS, CTS */
2532 	234, 231,
2533 };
2534 static const unsigned int scifa2_ctrl_1_mux[] = {
2535 	SCIFA2_RTS2__MARK, SCIFA2_CTS2__MARK,
2536 };
2537 /* - SCIFA3 ----------------------------------------------------------------- */
2538 static const unsigned int scifa3_data_pins[] = {
2539 	/* RXD, TXD */
2540 	108, 110,
2541 };
2542 static const unsigned int scifa3_data_mux[] = {
2543 	SCIFA3_RXD_MARK, SCIFA3_TXD_MARK,
2544 };
2545 static const unsigned int scifa3_ctrl_pins[] = {
2546 	/* RTS, CTS */
2547 	109, 107,
2548 };
2549 static const unsigned int scifa3_ctrl_mux[] = {
2550 	SCIFA3_RTS__MARK, SCIFA3_CTS__MARK,
2551 };
2552 /* - SCIFA4 ----------------------------------------------------------------- */
2553 static const unsigned int scifa4_data_pins[] = {
2554 	/* RXD, TXD */
2555 	33, 32,
2556 };
2557 static const unsigned int scifa4_data_mux[] = {
2558 	SCIFA4_RXD_MARK, SCIFA4_TXD_MARK,
2559 };
2560 static const unsigned int scifa4_ctrl_pins[] = {
2561 	/* RTS, CTS */
2562 	34, 35,
2563 };
2564 static const unsigned int scifa4_ctrl_mux[] = {
2565 	SCIFA4_RTS__MARK, SCIFA4_CTS__MARK,
2566 };
2567 /* - SCIFA5 ----------------------------------------------------------------- */
2568 static const unsigned int scifa5_data_0_pins[] = {
2569 	/* RXD, TXD */
2570 	246, 247,
2571 };
2572 static const unsigned int scifa5_data_0_mux[] = {
2573 	PORT246_SCIFA5_RXD_MARK, PORT247_SCIFA5_TXD_MARK,
2574 };
2575 static const unsigned int scifa5_clk_0_pins[] = {
2576 	/* SCK */
2577 	248,
2578 };
2579 static const unsigned int scifa5_clk_0_mux[] = {
2580 	PORT248_SCIFA5_SCK_MARK,
2581 };
2582 static const unsigned int scifa5_ctrl_0_pins[] = {
2583 	/* RTS, CTS */
2584 	245, 244,
2585 };
2586 static const unsigned int scifa5_ctrl_0_mux[] = {
2587 	PORT245_SCIFA5_RTS__MARK, PORT244_SCIFA5_CTS__MARK,
2588 };
2589 static const unsigned int scifa5_data_1_pins[] = {
2590 	/* RXD, TXD */
2591 	195, 196,
2592 };
2593 static const unsigned int scifa5_data_1_mux[] = {
2594 	PORT195_SCIFA5_RXD_MARK, PORT196_SCIFA5_TXD_MARK,
2595 };
2596 static const unsigned int scifa5_clk_1_pins[] = {
2597 	/* SCK */
2598 	197,
2599 };
2600 static const unsigned int scifa5_clk_1_mux[] = {
2601 	PORT197_SCIFA5_SCK_MARK,
2602 };
2603 static const unsigned int scifa5_ctrl_1_pins[] = {
2604 	/* RTS, CTS */
2605 	194, 193,
2606 };
2607 static const unsigned int scifa5_ctrl_1_mux[] = {
2608 	PORT194_SCIFA5_RTS__MARK, PORT193_SCIFA5_CTS__MARK,
2609 };
2610 static const unsigned int scifa5_data_2_pins[] = {
2611 	/* RXD, TXD */
2612 	162, 160,
2613 };
2614 static const unsigned int scifa5_data_2_mux[] = {
2615 	PORT162_SCIFA5_RXD_MARK, PORT160_SCIFA5_TXD_MARK,
2616 };
2617 static const unsigned int scifa5_clk_2_pins[] = {
2618 	/* SCK */
2619 	159,
2620 };
2621 static const unsigned int scifa5_clk_2_mux[] = {
2622 	PORT159_SCIFA5_SCK_MARK,
2623 };
2624 static const unsigned int scifa5_ctrl_2_pins[] = {
2625 	/* RTS, CTS */
2626 	163, 161,
2627 };
2628 static const unsigned int scifa5_ctrl_2_mux[] = {
2629 	PORT163_SCIFA5_RTS__MARK, PORT161_SCIFA5_CTS__MARK,
2630 };
2631 /* - SCIFA6 ----------------------------------------------------------------- */
2632 static const unsigned int scifa6_pins[] = {
2633 	/* TXD */
2634 	240,
2635 };
2636 static const unsigned int scifa6_mux[] = {
2637 	SCIFA6_TXD_MARK,
2638 };
2639 /* - SCIFA7 ----------------------------------------------------------------- */
2640 static const unsigned int scifa7_data_pins[] = {
2641 	/* RXD, TXD */
2642 	12, 18,
2643 };
2644 static const unsigned int scifa7_data_mux[] = {
2645 	SCIFA7_RXD_MARK, SCIFA7_TXD_MARK,
2646 };
2647 static const unsigned int scifa7_ctrl_pins[] = {
2648 	/* RTS, CTS */
2649 	19, 13,
2650 };
2651 static const unsigned int scifa7_ctrl_mux[] = {
2652 	SCIFA7_RTS__MARK, SCIFA7_CTS__MARK,
2653 };
2654 /* - SCIFB ------------------------------------------------------------------ */
2655 static const unsigned int scifb_data_0_pins[] = {
2656 	/* RXD, TXD */
2657 	162, 160,
2658 };
2659 static const unsigned int scifb_data_0_mux[] = {
2660 	PORT162_SCIFB_RXD_MARK, PORT160_SCIFB_TXD_MARK,
2661 };
2662 static const unsigned int scifb_clk_0_pins[] = {
2663 	/* SCK */
2664 	159,
2665 };
2666 static const unsigned int scifb_clk_0_mux[] = {
2667 	PORT159_SCIFB_SCK_MARK,
2668 };
2669 static const unsigned int scifb_ctrl_0_pins[] = {
2670 	/* RTS, CTS */
2671 	163, 161,
2672 };
2673 static const unsigned int scifb_ctrl_0_mux[] = {
2674 	PORT163_SCIFB_RTS__MARK, PORT161_SCIFB_CTS__MARK,
2675 };
2676 static const unsigned int scifb_data_1_pins[] = {
2677 	/* RXD, TXD */
2678 	246, 247,
2679 };
2680 static const unsigned int scifb_data_1_mux[] = {
2681 	PORT246_SCIFB_RXD_MARK, PORT247_SCIFB_TXD_MARK,
2682 };
2683 static const unsigned int scifb_clk_1_pins[] = {
2684 	/* SCK */
2685 	248,
2686 };
2687 static const unsigned int scifb_clk_1_mux[] = {
2688 	PORT248_SCIFB_SCK_MARK,
2689 };
2690 static const unsigned int scifb_ctrl_1_pins[] = {
2691 	/* RTS, CTS */
2692 	245, 244,
2693 };
2694 static const unsigned int scifb_ctrl_1_mux[] = {
2695 	PORT245_SCIFB_RTS__MARK, PORT244_SCIFB_CTS__MARK,
2696 };
2697 /* - SDHI0 ------------------------------------------------------------------ */
2698 static const unsigned int sdhi0_data_pins[] = {
2699 	/* D[0:3] */
2700 	252, 253, 254, 255,
2701 };
2702 static const unsigned int sdhi0_data_mux[] = {
2703 	SDHID0_0_MARK, SDHID0_1_MARK, SDHID0_2_MARK, SDHID0_3_MARK,
2704 };
2705 static const unsigned int sdhi0_ctrl_pins[] = {
2706 	/* CMD, CLK */
2707 	256, 250,
2708 };
2709 static const unsigned int sdhi0_ctrl_mux[] = {
2710 	SDHICMD0_MARK, SDHICLK0_MARK,
2711 };
2712 static const unsigned int sdhi0_cd_pins[] = {
2713 	/* CD */
2714 	251,
2715 };
2716 static const unsigned int sdhi0_cd_mux[] = {
2717 	SDHICD0_MARK,
2718 };
2719 static const unsigned int sdhi0_wp_pins[] = {
2720 	/* WP */
2721 	257,
2722 };
2723 static const unsigned int sdhi0_wp_mux[] = {
2724 	SDHIWP0_MARK,
2725 };
2726 /* - SDHI1 ------------------------------------------------------------------ */
2727 static const unsigned int sdhi1_data_pins[] = {
2728 	/* D[0:3] */
2729 	259, 260, 261, 262,
2730 };
2731 static const unsigned int sdhi1_data_mux[] = {
2732 	SDHID1_0_MARK, SDHID1_1_MARK, SDHID1_2_MARK, SDHID1_3_MARK,
2733 };
2734 static const unsigned int sdhi1_ctrl_pins[] = {
2735 	/* CMD, CLK */
2736 	263, 258,
2737 };
2738 static const unsigned int sdhi1_ctrl_mux[] = {
2739 	SDHICMD1_MARK, SDHICLK1_MARK,
2740 };
2741 /* - SDHI2 ------------------------------------------------------------------ */
2742 static const unsigned int sdhi2_data_pins[] = {
2743 	/* D[0:3] */
2744 	265, 266, 267, 268,
2745 };
2746 static const unsigned int sdhi2_data_mux[] = {
2747 	SDHID2_0_MARK, SDHID2_1_MARK, SDHID2_2_MARK, SDHID2_3_MARK,
2748 };
2749 static const unsigned int sdhi2_ctrl_pins[] = {
2750 	/* CMD, CLK */
2751 	269, 264,
2752 };
2753 static const unsigned int sdhi2_ctrl_mux[] = {
2754 	SDHICMD2_MARK, SDHICLK2_MARK,
2755 };
2756 /* - TPU0 ------------------------------------------------------------------- */
2757 static const unsigned int tpu0_to0_pins[] = {
2758 	/* TO */
2759 	55,
2760 };
2761 static const unsigned int tpu0_to0_mux[] = {
2762 	TPU0TO0_MARK,
2763 };
2764 static const unsigned int tpu0_to1_pins[] = {
2765 	/* TO */
2766 	59,
2767 };
2768 static const unsigned int tpu0_to1_mux[] = {
2769 	TPU0TO1_MARK,
2770 };
2771 static const unsigned int tpu0_to2_pins[] = {
2772 	/* TO */
2773 	140,
2774 };
2775 static const unsigned int tpu0_to2_mux[] = {
2776 	TPU0TO2_MARK,
2777 };
2778 static const unsigned int tpu0_to3_pins[] = {
2779 	/* TO */
2780 	141,
2781 };
2782 static const unsigned int tpu0_to3_mux[] = {
2783 	TPU0TO3_MARK,
2784 };
2785 /* - TPU1 ------------------------------------------------------------------- */
2786 static const unsigned int tpu1_to0_pins[] = {
2787 	/* TO */
2788 	246,
2789 };
2790 static const unsigned int tpu1_to0_mux[] = {
2791 	TPU1TO0_MARK,
2792 };
2793 static const unsigned int tpu1_to1_0_pins[] = {
2794 	/* TO */
2795 	28,
2796 };
2797 static const unsigned int tpu1_to1_0_mux[] = {
2798 	PORT28_TPU1TO1_MARK,
2799 };
2800 static const unsigned int tpu1_to1_1_pins[] = {
2801 	/* TO */
2802 	29,
2803 };
2804 static const unsigned int tpu1_to1_1_mux[] = {
2805 	PORT29_TPU1TO1_MARK,
2806 };
2807 static const unsigned int tpu1_to2_pins[] = {
2808 	/* TO */
2809 	153,
2810 };
2811 static const unsigned int tpu1_to2_mux[] = {
2812 	TPU1TO2_MARK,
2813 };
2814 static const unsigned int tpu1_to3_pins[] = {
2815 	/* TO */
2816 	145,
2817 };
2818 static const unsigned int tpu1_to3_mux[] = {
2819 	TPU1TO3_MARK,
2820 };
2821 /* - TPU2 ------------------------------------------------------------------- */
2822 static const unsigned int tpu2_to0_pins[] = {
2823 	/* TO */
2824 	248,
2825 };
2826 static const unsigned int tpu2_to0_mux[] = {
2827 	TPU2TO0_MARK,
2828 };
2829 static const unsigned int tpu2_to1_pins[] = {
2830 	/* TO */
2831 	197,
2832 };
2833 static const unsigned int tpu2_to1_mux[] = {
2834 	TPU2TO1_MARK,
2835 };
2836 static const unsigned int tpu2_to2_pins[] = {
2837 	/* TO */
2838 	50,
2839 };
2840 static const unsigned int tpu2_to2_mux[] = {
2841 	TPU2TO2_MARK,
2842 };
2843 static const unsigned int tpu2_to3_pins[] = {
2844 	/* TO */
2845 	51,
2846 };
2847 static const unsigned int tpu2_to3_mux[] = {
2848 	TPU2TO3_MARK,
2849 };
2850 /* - TPU3 ------------------------------------------------------------------- */
2851 static const unsigned int tpu3_to0_pins[] = {
2852 	/* TO */
2853 	163,
2854 };
2855 static const unsigned int tpu3_to0_mux[] = {
2856 	TPU3TO0_MARK,
2857 };
2858 static const unsigned int tpu3_to1_pins[] = {
2859 	/* TO */
2860 	247,
2861 };
2862 static const unsigned int tpu3_to1_mux[] = {
2863 	TPU3TO1_MARK,
2864 };
2865 static const unsigned int tpu3_to2_pins[] = {
2866 	/* TO */
2867 	54,
2868 };
2869 static const unsigned int tpu3_to2_mux[] = {
2870 	TPU3TO2_MARK,
2871 };
2872 static const unsigned int tpu3_to3_pins[] = {
2873 	/* TO */
2874 	53,
2875 };
2876 static const unsigned int tpu3_to3_mux[] = {
2877 	TPU3TO3_MARK,
2878 };
2879 /* - TPU4 ------------------------------------------------------------------- */
2880 static const unsigned int tpu4_to0_pins[] = {
2881 	/* TO */
2882 	241,
2883 };
2884 static const unsigned int tpu4_to0_mux[] = {
2885 	TPU4TO0_MARK,
2886 };
2887 static const unsigned int tpu4_to1_pins[] = {
2888 	/* TO */
2889 	199,
2890 };
2891 static const unsigned int tpu4_to1_mux[] = {
2892 	TPU4TO1_MARK,
2893 };
2894 static const unsigned int tpu4_to2_pins[] = {
2895 	/* TO */
2896 	58,
2897 };
2898 static const unsigned int tpu4_to2_mux[] = {
2899 	TPU4TO2_MARK,
2900 };
2901 static const unsigned int tpu4_to3_pins[] = {
2902 	/* TO */
2903 	PIN_A11,
2904 };
2905 static const unsigned int tpu4_to3_mux[] = {
2906 	TPU4TO3_MARK,
2907 };
2908 /* - USB -------------------------------------------------------------------- */
2909 static const unsigned int usb_vbus_pins[] = {
2910 	/* VBUS */
2911 	0,
2912 };
2913 static const unsigned int usb_vbus_mux[] = {
2914 	VBUS_0_MARK,
2915 };
2916 
2917 static const struct sh_pfc_pin_group pinmux_groups[] = {
2918 	SH_PFC_PIN_GROUP(bsc_data_0_7),
2919 	SH_PFC_PIN_GROUP(bsc_data_8_15),
2920 	SH_PFC_PIN_GROUP(bsc_cs4),
2921 	SH_PFC_PIN_GROUP(bsc_cs5_a),
2922 	SH_PFC_PIN_GROUP(bsc_cs5_b),
2923 	SH_PFC_PIN_GROUP(bsc_cs6_a),
2924 	SH_PFC_PIN_GROUP(bsc_cs6_b),
2925 	SH_PFC_PIN_GROUP(bsc_rd),
2926 	SH_PFC_PIN_GROUP(bsc_rdwr_0),
2927 	SH_PFC_PIN_GROUP(bsc_rdwr_1),
2928 	SH_PFC_PIN_GROUP(bsc_rdwr_2),
2929 	SH_PFC_PIN_GROUP(bsc_we0),
2930 	SH_PFC_PIN_GROUP(bsc_we1),
2931 	SH_PFC_PIN_GROUP(fsia_mclk_in),
2932 	SH_PFC_PIN_GROUP(fsia_mclk_out),
2933 	SH_PFC_PIN_GROUP(fsia_sclk_in),
2934 	SH_PFC_PIN_GROUP(fsia_sclk_out),
2935 	SH_PFC_PIN_GROUP(fsia_data_in),
2936 	SH_PFC_PIN_GROUP(fsia_data_out),
2937 	SH_PFC_PIN_GROUP(fsia_spdif),
2938 	SH_PFC_PIN_GROUP(fsib_mclk_in),
2939 	SH_PFC_PIN_GROUP(fsib_mclk_out),
2940 	SH_PFC_PIN_GROUP(fsib_sclk_in),
2941 	SH_PFC_PIN_GROUP(fsib_sclk_out),
2942 	SH_PFC_PIN_GROUP(fsib_data_in),
2943 	SH_PFC_PIN_GROUP(fsib_data_out),
2944 	SH_PFC_PIN_GROUP(fsib_spdif),
2945 	SH_PFC_PIN_GROUP(fsic_mclk_in),
2946 	SH_PFC_PIN_GROUP(fsic_mclk_out),
2947 	SH_PFC_PIN_GROUP(fsic_sclk_in),
2948 	SH_PFC_PIN_GROUP(fsic_sclk_out),
2949 	SH_PFC_PIN_GROUP(fsic_data_in),
2950 	SH_PFC_PIN_GROUP(fsic_data_out),
2951 	SH_PFC_PIN_GROUP(fsic_spdif_0),
2952 	SH_PFC_PIN_GROUP(fsic_spdif_1),
2953 	SH_PFC_PIN_GROUP(fsid_sclk_in),
2954 	SH_PFC_PIN_GROUP(fsid_sclk_out),
2955 	SH_PFC_PIN_GROUP(fsid_data_in),
2956 	SH_PFC_PIN_GROUP(i2c2_0),
2957 	SH_PFC_PIN_GROUP(i2c2_1),
2958 	SH_PFC_PIN_GROUP(i2c2_2),
2959 	SH_PFC_PIN_GROUP(i2c3_0),
2960 	SH_PFC_PIN_GROUP(i2c3_1),
2961 	SH_PFC_PIN_GROUP(i2c3_2),
2962 	SH_PFC_PIN_GROUP(irda_0),
2963 	SH_PFC_PIN_GROUP(irda_1),
2964 	BUS_DATA_PIN_GROUP(keysc_in, 5),
2965 	BUS_DATA_PIN_GROUP(keysc_in, 6),
2966 	BUS_DATA_PIN_GROUP(keysc_in, 7),
2967 	BUS_DATA_PIN_GROUP(keysc_in, 8),
2968 	SH_PFC_PIN_GROUP(keysc_out04),
2969 	SH_PFC_PIN_GROUP(keysc_out5),
2970 	SH_PFC_PIN_GROUP(keysc_out6_0),
2971 	SH_PFC_PIN_GROUP(keysc_out6_1),
2972 	SH_PFC_PIN_GROUP(keysc_out6_2),
2973 	SH_PFC_PIN_GROUP(keysc_out7_0),
2974 	SH_PFC_PIN_GROUP(keysc_out7_1),
2975 	SH_PFC_PIN_GROUP(keysc_out7_2),
2976 	SH_PFC_PIN_GROUP(keysc_out8_0),
2977 	SH_PFC_PIN_GROUP(keysc_out8_1),
2978 	SH_PFC_PIN_GROUP(keysc_out8_2),
2979 	SH_PFC_PIN_GROUP(keysc_out9_0),
2980 	SH_PFC_PIN_GROUP(keysc_out9_1),
2981 	SH_PFC_PIN_GROUP(keysc_out9_2),
2982 	SH_PFC_PIN_GROUP(keysc_out10_0),
2983 	SH_PFC_PIN_GROUP(keysc_out10_1),
2984 	SH_PFC_PIN_GROUP(keysc_out11_0),
2985 	SH_PFC_PIN_GROUP(keysc_out11_1),
2986 	BUS_DATA_PIN_GROUP(lcd_data, 8),
2987 	BUS_DATA_PIN_GROUP(lcd_data, 9),
2988 	BUS_DATA_PIN_GROUP(lcd_data, 12),
2989 	BUS_DATA_PIN_GROUP(lcd_data, 16),
2990 	BUS_DATA_PIN_GROUP(lcd_data, 18),
2991 	BUS_DATA_PIN_GROUP(lcd_data, 24),
2992 	SH_PFC_PIN_GROUP(lcd_display),
2993 	SH_PFC_PIN_GROUP(lcd_lclk),
2994 	SH_PFC_PIN_GROUP(lcd_sync),
2995 	SH_PFC_PIN_GROUP(lcd_sys),
2996 	BUS_DATA_PIN_GROUP(lcd2_data, 8),
2997 	BUS_DATA_PIN_GROUP(lcd2_data, 9),
2998 	BUS_DATA_PIN_GROUP(lcd2_data, 12),
2999 	BUS_DATA_PIN_GROUP(lcd2_data, 16),
3000 	BUS_DATA_PIN_GROUP(lcd2_data, 18),
3001 	BUS_DATA_PIN_GROUP(lcd2_data, 24),
3002 	SH_PFC_PIN_GROUP(lcd2_sync_0),
3003 	SH_PFC_PIN_GROUP(lcd2_sync_1),
3004 	SH_PFC_PIN_GROUP(lcd2_sys_0),
3005 	SH_PFC_PIN_GROUP(lcd2_sys_1),
3006 	BUS_DATA_PIN_GROUP(mmc0_data, 1, _0),
3007 	BUS_DATA_PIN_GROUP(mmc0_data, 4, _0),
3008 	BUS_DATA_PIN_GROUP(mmc0_data, 8, _0),
3009 	SH_PFC_PIN_GROUP(mmc0_ctrl_0),
3010 	BUS_DATA_PIN_GROUP(mmc0_data, 1, _1),
3011 	BUS_DATA_PIN_GROUP(mmc0_data, 4, _1),
3012 	BUS_DATA_PIN_GROUP(mmc0_data, 8, _1),
3013 	SH_PFC_PIN_GROUP(mmc0_ctrl_1),
3014 	SH_PFC_PIN_GROUP(msiof0_rsck),
3015 	SH_PFC_PIN_GROUP(msiof0_tsck),
3016 	SH_PFC_PIN_GROUP(msiof0_rsync),
3017 	SH_PFC_PIN_GROUP(msiof0_tsync),
3018 	SH_PFC_PIN_GROUP(msiof0_ss1),
3019 	SH_PFC_PIN_GROUP(msiof0_ss2),
3020 	SH_PFC_PIN_GROUP(msiof0_rxd),
3021 	SH_PFC_PIN_GROUP(msiof0_txd),
3022 	SH_PFC_PIN_GROUP(msiof0_mck0),
3023 	SH_PFC_PIN_GROUP(msiof0_mck1),
3024 	SH_PFC_PIN_GROUP(msiof0l_rsck),
3025 	SH_PFC_PIN_GROUP(msiof0l_tsck),
3026 	SH_PFC_PIN_GROUP(msiof0l_rsync),
3027 	SH_PFC_PIN_GROUP(msiof0l_tsync),
3028 	SH_PFC_PIN_GROUP(msiof0l_ss1_a),
3029 	SH_PFC_PIN_GROUP(msiof0l_ss1_b),
3030 	SH_PFC_PIN_GROUP(msiof0l_ss2_a),
3031 	SH_PFC_PIN_GROUP(msiof0l_ss2_b),
3032 	SH_PFC_PIN_GROUP(msiof0l_rxd),
3033 	SH_PFC_PIN_GROUP(msiof0l_txd),
3034 	SH_PFC_PIN_GROUP(msiof0l_mck0),
3035 	SH_PFC_PIN_GROUP(msiof0l_mck1),
3036 	SH_PFC_PIN_GROUP(msiof1_rsck),
3037 	SH_PFC_PIN_GROUP(msiof1_tsck),
3038 	SH_PFC_PIN_GROUP(msiof1_rsync),
3039 	SH_PFC_PIN_GROUP(msiof1_tsync),
3040 	SH_PFC_PIN_GROUP(msiof1_ss1),
3041 	SH_PFC_PIN_GROUP(msiof1_ss2),
3042 	SH_PFC_PIN_GROUP(msiof1_rxd),
3043 	SH_PFC_PIN_GROUP(msiof1_txd),
3044 	SH_PFC_PIN_GROUP(msiof1_mck0),
3045 	SH_PFC_PIN_GROUP(msiof1_mck1),
3046 	SH_PFC_PIN_GROUP(msiof2_rsck),
3047 	SH_PFC_PIN_GROUP(msiof2_tsck),
3048 	SH_PFC_PIN_GROUP(msiof2_rsync),
3049 	SH_PFC_PIN_GROUP(msiof2_tsync),
3050 	SH_PFC_PIN_GROUP(msiof2_ss1_a),
3051 	SH_PFC_PIN_GROUP(msiof2_ss1_b),
3052 	SH_PFC_PIN_GROUP(msiof2_ss2_a),
3053 	SH_PFC_PIN_GROUP(msiof2_ss2_b),
3054 	SH_PFC_PIN_GROUP(msiof2_rxd_a),
3055 	SH_PFC_PIN_GROUP(msiof2_rxd_b),
3056 	SH_PFC_PIN_GROUP(msiof2_txd),
3057 	SH_PFC_PIN_GROUP(msiof2_mck0),
3058 	SH_PFC_PIN_GROUP(msiof2_mck1),
3059 	SH_PFC_PIN_GROUP(msiof2r_tsck),
3060 	SH_PFC_PIN_GROUP(msiof2r_tsync),
3061 	SH_PFC_PIN_GROUP(msiof2r_rxd),
3062 	SH_PFC_PIN_GROUP(msiof2r_txd),
3063 	SH_PFC_PIN_GROUP(msiof3_rsck),
3064 	SH_PFC_PIN_GROUP(msiof3_tsck),
3065 	SH_PFC_PIN_GROUP(msiof3_rsync),
3066 	SH_PFC_PIN_GROUP(msiof3_tsync),
3067 	SH_PFC_PIN_GROUP(msiof3_ss1),
3068 	SH_PFC_PIN_GROUP(msiof3_ss2),
3069 	SH_PFC_PIN_GROUP(msiof3_rxd),
3070 	SH_PFC_PIN_GROUP(msiof3_txd),
3071 	SH_PFC_PIN_GROUP(msiof3_flow),
3072 	SH_PFC_PIN_GROUP(scifa0_data),
3073 	SH_PFC_PIN_GROUP(scifa0_clk),
3074 	SH_PFC_PIN_GROUP(scifa0_ctrl),
3075 	SH_PFC_PIN_GROUP(scifa1_data),
3076 	SH_PFC_PIN_GROUP(scifa1_clk),
3077 	SH_PFC_PIN_GROUP(scifa1_ctrl),
3078 	SH_PFC_PIN_GROUP(scifa2_data_0),
3079 	SH_PFC_PIN_GROUP(scifa2_clk_0),
3080 	SH_PFC_PIN_GROUP(scifa2_ctrl_0),
3081 	SH_PFC_PIN_GROUP(scifa2_data_1),
3082 	SH_PFC_PIN_GROUP(scifa2_clk_1),
3083 	SH_PFC_PIN_GROUP(scifa2_ctrl_1),
3084 	SH_PFC_PIN_GROUP(scifa3_data),
3085 	SH_PFC_PIN_GROUP(scifa3_ctrl),
3086 	SH_PFC_PIN_GROUP(scifa4_data),
3087 	SH_PFC_PIN_GROUP(scifa4_ctrl),
3088 	SH_PFC_PIN_GROUP(scifa5_data_0),
3089 	SH_PFC_PIN_GROUP(scifa5_clk_0),
3090 	SH_PFC_PIN_GROUP(scifa5_ctrl_0),
3091 	SH_PFC_PIN_GROUP(scifa5_data_1),
3092 	SH_PFC_PIN_GROUP(scifa5_clk_1),
3093 	SH_PFC_PIN_GROUP(scifa5_ctrl_1),
3094 	SH_PFC_PIN_GROUP(scifa5_data_2),
3095 	SH_PFC_PIN_GROUP(scifa5_clk_2),
3096 	SH_PFC_PIN_GROUP(scifa5_ctrl_2),
3097 	SH_PFC_PIN_GROUP(scifa6),
3098 	SH_PFC_PIN_GROUP(scifa7_data),
3099 	SH_PFC_PIN_GROUP(scifa7_ctrl),
3100 	SH_PFC_PIN_GROUP(scifb_data_0),
3101 	SH_PFC_PIN_GROUP(scifb_clk_0),
3102 	SH_PFC_PIN_GROUP(scifb_ctrl_0),
3103 	SH_PFC_PIN_GROUP(scifb_data_1),
3104 	SH_PFC_PIN_GROUP(scifb_clk_1),
3105 	SH_PFC_PIN_GROUP(scifb_ctrl_1),
3106 	BUS_DATA_PIN_GROUP(sdhi0_data, 1),
3107 	BUS_DATA_PIN_GROUP(sdhi0_data, 4),
3108 	SH_PFC_PIN_GROUP(sdhi0_ctrl),
3109 	SH_PFC_PIN_GROUP(sdhi0_cd),
3110 	SH_PFC_PIN_GROUP(sdhi0_wp),
3111 	BUS_DATA_PIN_GROUP(sdhi1_data, 1),
3112 	BUS_DATA_PIN_GROUP(sdhi1_data, 4),
3113 	SH_PFC_PIN_GROUP(sdhi1_ctrl),
3114 	BUS_DATA_PIN_GROUP(sdhi2_data, 1),
3115 	BUS_DATA_PIN_GROUP(sdhi2_data, 4),
3116 	SH_PFC_PIN_GROUP(sdhi2_ctrl),
3117 	SH_PFC_PIN_GROUP(tpu0_to0),
3118 	SH_PFC_PIN_GROUP(tpu0_to1),
3119 	SH_PFC_PIN_GROUP(tpu0_to2),
3120 	SH_PFC_PIN_GROUP(tpu0_to3),
3121 	SH_PFC_PIN_GROUP(tpu1_to0),
3122 	SH_PFC_PIN_GROUP(tpu1_to1_0),
3123 	SH_PFC_PIN_GROUP(tpu1_to1_1),
3124 	SH_PFC_PIN_GROUP(tpu1_to2),
3125 	SH_PFC_PIN_GROUP(tpu1_to3),
3126 	SH_PFC_PIN_GROUP(tpu2_to0),
3127 	SH_PFC_PIN_GROUP(tpu2_to1),
3128 	SH_PFC_PIN_GROUP(tpu2_to2),
3129 	SH_PFC_PIN_GROUP(tpu2_to3),
3130 	SH_PFC_PIN_GROUP(tpu3_to0),
3131 	SH_PFC_PIN_GROUP(tpu3_to1),
3132 	SH_PFC_PIN_GROUP(tpu3_to2),
3133 	SH_PFC_PIN_GROUP(tpu3_to3),
3134 	SH_PFC_PIN_GROUP(tpu4_to0),
3135 	SH_PFC_PIN_GROUP(tpu4_to1),
3136 	SH_PFC_PIN_GROUP(tpu4_to2),
3137 	SH_PFC_PIN_GROUP(tpu4_to3),
3138 	SH_PFC_PIN_GROUP(usb_vbus),
3139 };
3140 
3141 static const char * const bsc_groups[] = {
3142 	"bsc_data_0_7",
3143 	"bsc_data_8_15",
3144 	"bsc_cs4",
3145 	"bsc_cs5_a",
3146 	"bsc_cs5_b",
3147 	"bsc_cs6_a",
3148 	"bsc_cs6_b",
3149 	"bsc_rd",
3150 	"bsc_rdwr_0",
3151 	"bsc_rdwr_1",
3152 	"bsc_rdwr_2",
3153 	"bsc_we0",
3154 	"bsc_we1",
3155 };
3156 
3157 static const char * const fsia_groups[] = {
3158 	"fsia_mclk_in",
3159 	"fsia_mclk_out",
3160 	"fsia_sclk_in",
3161 	"fsia_sclk_out",
3162 	"fsia_data_in",
3163 	"fsia_data_out",
3164 	"fsia_spdif",
3165 };
3166 
3167 static const char * const fsib_groups[] = {
3168 	"fsib_mclk_in",
3169 	"fsib_mclk_out",
3170 	"fsib_sclk_in",
3171 	"fsib_sclk_out",
3172 	"fsib_data_in",
3173 	"fsib_data_out",
3174 	"fsib_spdif",
3175 };
3176 
3177 static const char * const fsic_groups[] = {
3178 	"fsic_mclk_in",
3179 	"fsic_mclk_out",
3180 	"fsic_sclk_in",
3181 	"fsic_sclk_out",
3182 	"fsic_data_in",
3183 	"fsic_data_out",
3184 	"fsic_spdif_0",
3185 	"fsic_spdif_1",
3186 };
3187 
3188 static const char * const fsid_groups[] = {
3189 	"fsid_sclk_in",
3190 	"fsid_sclk_out",
3191 	"fsid_data_in",
3192 };
3193 
3194 static const char * const i2c2_groups[] = {
3195 	"i2c2_0",
3196 	"i2c2_1",
3197 	"i2c2_2",
3198 };
3199 
3200 static const char * const i2c3_groups[] = {
3201 	"i2c3_0",
3202 	"i2c3_1",
3203 	"i2c3_2",
3204 };
3205 
3206 static const char * const irda_groups[] = {
3207 	"irda_0",
3208 	"irda_1",
3209 };
3210 
3211 static const char * const keysc_groups[] = {
3212 	"keysc_in5",
3213 	"keysc_in6",
3214 	"keysc_in7",
3215 	"keysc_in8",
3216 	"keysc_out04",
3217 	"keysc_out5",
3218 	"keysc_out6_0",
3219 	"keysc_out6_1",
3220 	"keysc_out6_2",
3221 	"keysc_out7_0",
3222 	"keysc_out7_1",
3223 	"keysc_out7_2",
3224 	"keysc_out8_0",
3225 	"keysc_out8_1",
3226 	"keysc_out8_2",
3227 	"keysc_out9_0",
3228 	"keysc_out9_1",
3229 	"keysc_out9_2",
3230 	"keysc_out10_0",
3231 	"keysc_out10_1",
3232 	"keysc_out11_0",
3233 	"keysc_out11_1",
3234 };
3235 
3236 static const char * const lcd_groups[] = {
3237 	"lcd_data8",
3238 	"lcd_data9",
3239 	"lcd_data12",
3240 	"lcd_data16",
3241 	"lcd_data18",
3242 	"lcd_data24",
3243 	"lcd_display",
3244 	"lcd_lclk",
3245 	"lcd_sync",
3246 	"lcd_sys",
3247 };
3248 
3249 static const char * const lcd2_groups[] = {
3250 	"lcd2_data8",
3251 	"lcd2_data9",
3252 	"lcd2_data12",
3253 	"lcd2_data16",
3254 	"lcd2_data18",
3255 	"lcd2_data24",
3256 	"lcd2_sync_0",
3257 	"lcd2_sync_1",
3258 	"lcd2_sys_0",
3259 	"lcd2_sys_1",
3260 };
3261 
3262 static const char * const mmc0_groups[] = {
3263 	"mmc0_data1_0",
3264 	"mmc0_data4_0",
3265 	"mmc0_data8_0",
3266 	"mmc0_ctrl_0",
3267 	"mmc0_data1_1",
3268 	"mmc0_data4_1",
3269 	"mmc0_data8_1",
3270 	"mmc0_ctrl_1",
3271 };
3272 
3273 static const char * const msiof0_groups[] = {
3274 	"msiof0_rsck",
3275 	"msiof0_tsck",
3276 	"msiof0_rsync",
3277 	"msiof0_tsync",
3278 	"msiof0_ss1",
3279 	"msiof0_ss2",
3280 	"msiof0_rxd",
3281 	"msiof0_txd",
3282 	"msiof0_mck0",
3283 	"msiof0_mck1",
3284 	"msiof0l_rsck",
3285 	"msiof0l_tsck",
3286 	"msiof0l_rsync",
3287 	"msiof0l_tsync",
3288 	"msiof0l_ss1_a",
3289 	"msiof0l_ss1_b",
3290 	"msiof0l_ss2_a",
3291 	"msiof0l_ss2_b",
3292 	"msiof0l_rxd",
3293 	"msiof0l_txd",
3294 	"msiof0l_mck0",
3295 	"msiof0l_mck1",
3296 };
3297 
3298 static const char * const msiof1_groups[] = {
3299 	"msiof1_rsck",
3300 	"msiof1_tsck",
3301 	"msiof1_rsync",
3302 	"msiof1_tsync",
3303 	"msiof1_ss1",
3304 	"msiof1_ss2",
3305 	"msiof1_rxd",
3306 	"msiof1_txd",
3307 	"msiof1_mck0",
3308 	"msiof1_mck1",
3309 };
3310 
3311 static const char * const msiof2_groups[] = {
3312 	"msiof2_rsck",
3313 	"msiof2_tsck",
3314 	"msiof2_rsync",
3315 	"msiof2_tsync",
3316 	"msiof2_ss1_a",
3317 	"msiof2_ss1_b",
3318 	"msiof2_ss2_a",
3319 	"msiof2_ss2_b",
3320 	"msiof2_rxd_a",
3321 	"msiof2_rxd_b",
3322 	"msiof2_txd",
3323 	"msiof2_mck0",
3324 	"msiof2_mck1",
3325 	"msiof2r_tsck",
3326 	"msiof2r_tsync",
3327 	"msiof2r_rxd",
3328 	"msiof2r_txd",
3329 };
3330 
3331 static const char * const msiof3_groups[] = {
3332 	"msiof3_rsck",
3333 	"msiof3_tsck",
3334 	"msiof3_rsync",
3335 	"msiof3_tsync",
3336 	"msiof3_ss1",
3337 	"msiof3_ss2",
3338 	"msiof3_rxd",
3339 	"msiof3_txd",
3340 	"msiof3_flow",
3341 };
3342 
3343 static const char * const scifa0_groups[] = {
3344 	"scifa0_data",
3345 	"scifa0_clk",
3346 	"scifa0_ctrl",
3347 };
3348 
3349 static const char * const scifa1_groups[] = {
3350 	"scifa1_data",
3351 	"scifa1_clk",
3352 	"scifa1_ctrl",
3353 };
3354 
3355 static const char * const scifa2_groups[] = {
3356 	"scifa2_data_0",
3357 	"scifa2_clk_0",
3358 	"scifa2_ctrl_0",
3359 	"scifa2_data_1",
3360 	"scifa2_clk_1",
3361 	"scifa2_ctrl_1",
3362 };
3363 
3364 static const char * const scifa3_groups[] = {
3365 	"scifa3_data",
3366 	"scifa3_ctrl",
3367 };
3368 
3369 static const char * const scifa4_groups[] = {
3370 	"scifa4_data",
3371 	"scifa4_ctrl",
3372 };
3373 
3374 static const char * const scifa5_groups[] = {
3375 	"scifa5_data_0",
3376 	"scifa5_clk_0",
3377 	"scifa5_ctrl_0",
3378 	"scifa5_data_1",
3379 	"scifa5_clk_1",
3380 	"scifa5_ctrl_1",
3381 	"scifa5_data_2",
3382 	"scifa5_clk_2",
3383 	"scifa5_ctrl_2",
3384 };
3385 
3386 static const char * const scifa6_groups[] = {
3387 	"scifa6",
3388 };
3389 
3390 static const char * const scifa7_groups[] = {
3391 	"scifa7_data",
3392 	"scifa7_ctrl",
3393 };
3394 
3395 static const char * const scifb_groups[] = {
3396 	"scifb_data_0",
3397 	"scifb_clk_0",
3398 	"scifb_ctrl_0",
3399 	"scifb_data_1",
3400 	"scifb_clk_1",
3401 	"scifb_ctrl_1",
3402 };
3403 
3404 static const char * const sdhi0_groups[] = {
3405 	"sdhi0_data1",
3406 	"sdhi0_data4",
3407 	"sdhi0_ctrl",
3408 	"sdhi0_cd",
3409 	"sdhi0_wp",
3410 };
3411 
3412 static const char * const sdhi1_groups[] = {
3413 	"sdhi1_data1",
3414 	"sdhi1_data4",
3415 	"sdhi1_ctrl",
3416 };
3417 
3418 static const char * const sdhi2_groups[] = {
3419 	"sdhi2_data1",
3420 	"sdhi2_data4",
3421 	"sdhi2_ctrl",
3422 };
3423 
3424 static const char * const usb_groups[] = {
3425 	"usb_vbus",
3426 };
3427 
3428 static const char * const tpu0_groups[] = {
3429 	"tpu0_to0",
3430 	"tpu0_to1",
3431 	"tpu0_to2",
3432 	"tpu0_to3",
3433 };
3434 
3435 static const char * const tpu1_groups[] = {
3436 	"tpu1_to0",
3437 	"tpu1_to1_0",
3438 	"tpu1_to1_1",
3439 	"tpu1_to2",
3440 	"tpu1_to3",
3441 };
3442 
3443 static const char * const tpu2_groups[] = {
3444 	"tpu2_to0",
3445 	"tpu2_to1",
3446 	"tpu2_to2",
3447 	"tpu2_to3",
3448 };
3449 
3450 static const char * const tpu3_groups[] = {
3451 	"tpu3_to0",
3452 	"tpu3_to1",
3453 	"tpu3_to2",
3454 	"tpu3_to3",
3455 };
3456 
3457 static const char * const tpu4_groups[] = {
3458 	"tpu4_to0",
3459 	"tpu4_to1",
3460 	"tpu4_to2",
3461 	"tpu4_to3",
3462 };
3463 
3464 static const struct sh_pfc_function pinmux_functions[] = {
3465 	SH_PFC_FUNCTION(bsc),
3466 	SH_PFC_FUNCTION(fsia),
3467 	SH_PFC_FUNCTION(fsib),
3468 	SH_PFC_FUNCTION(fsic),
3469 	SH_PFC_FUNCTION(fsid),
3470 	SH_PFC_FUNCTION(i2c2),
3471 	SH_PFC_FUNCTION(i2c3),
3472 	SH_PFC_FUNCTION(irda),
3473 	SH_PFC_FUNCTION(keysc),
3474 	SH_PFC_FUNCTION(lcd),
3475 	SH_PFC_FUNCTION(lcd2),
3476 	SH_PFC_FUNCTION(mmc0),
3477 	SH_PFC_FUNCTION(msiof0),
3478 	SH_PFC_FUNCTION(msiof1),
3479 	SH_PFC_FUNCTION(msiof2),
3480 	SH_PFC_FUNCTION(msiof3),
3481 	SH_PFC_FUNCTION(scifa0),
3482 	SH_PFC_FUNCTION(scifa1),
3483 	SH_PFC_FUNCTION(scifa2),
3484 	SH_PFC_FUNCTION(scifa3),
3485 	SH_PFC_FUNCTION(scifa4),
3486 	SH_PFC_FUNCTION(scifa5),
3487 	SH_PFC_FUNCTION(scifa6),
3488 	SH_PFC_FUNCTION(scifa7),
3489 	SH_PFC_FUNCTION(scifb),
3490 	SH_PFC_FUNCTION(sdhi0),
3491 	SH_PFC_FUNCTION(sdhi1),
3492 	SH_PFC_FUNCTION(sdhi2),
3493 	SH_PFC_FUNCTION(tpu0),
3494 	SH_PFC_FUNCTION(tpu1),
3495 	SH_PFC_FUNCTION(tpu2),
3496 	SH_PFC_FUNCTION(tpu3),
3497 	SH_PFC_FUNCTION(tpu4),
3498 	SH_PFC_FUNCTION(usb),
3499 };
3500 
3501 static const struct pinmux_cfg_reg pinmux_config_regs[] = {
3502 	PORTCR(0, 0xe6050000), /* PORT0CR */
3503 	PORTCR(1, 0xe6050001), /* PORT1CR */
3504 	PORTCR(2, 0xe6050002), /* PORT2CR */
3505 	PORTCR(3, 0xe6050003), /* PORT3CR */
3506 	PORTCR(4, 0xe6050004), /* PORT4CR */
3507 	PORTCR(5, 0xe6050005), /* PORT5CR */
3508 	PORTCR(6, 0xe6050006), /* PORT6CR */
3509 	PORTCR(7, 0xe6050007), /* PORT7CR */
3510 	PORTCR(8, 0xe6050008), /* PORT8CR */
3511 	PORTCR(9, 0xe6050009), /* PORT9CR */
3512 
3513 	PORTCR(10, 0xe605000a), /* PORT10CR */
3514 	PORTCR(11, 0xe605000b), /* PORT11CR */
3515 	PORTCR(12, 0xe605000c), /* PORT12CR */
3516 	PORTCR(13, 0xe605000d), /* PORT13CR */
3517 	PORTCR(14, 0xe605000e), /* PORT14CR */
3518 	PORTCR(15, 0xe605000f), /* PORT15CR */
3519 	PORTCR(16, 0xe6050010), /* PORT16CR */
3520 	PORTCR(17, 0xe6050011), /* PORT17CR */
3521 	PORTCR(18, 0xe6050012), /* PORT18CR */
3522 	PORTCR(19, 0xe6050013), /* PORT19CR */
3523 
3524 	PORTCR(20, 0xe6050014), /* PORT20CR */
3525 	PORTCR(21, 0xe6050015), /* PORT21CR */
3526 	PORTCR(22, 0xe6050016), /* PORT22CR */
3527 	PORTCR(23, 0xe6050017), /* PORT23CR */
3528 	PORTCR(24, 0xe6050018), /* PORT24CR */
3529 	PORTCR(25, 0xe6050019), /* PORT25CR */
3530 	PORTCR(26, 0xe605001a), /* PORT26CR */
3531 	PORTCR(27, 0xe605001b), /* PORT27CR */
3532 	PORTCR(28, 0xe605001c), /* PORT28CR */
3533 	PORTCR(29, 0xe605001d), /* PORT29CR */
3534 
3535 	PORTCR(30, 0xe605001e), /* PORT30CR */
3536 	PORTCR(31, 0xe605001f), /* PORT31CR */
3537 	PORTCR(32, 0xe6051020), /* PORT32CR */
3538 	PORTCR(33, 0xe6051021), /* PORT33CR */
3539 	PORTCR(34, 0xe6051022), /* PORT34CR */
3540 	PORTCR(35, 0xe6051023), /* PORT35CR */
3541 	PORTCR(36, 0xe6051024), /* PORT36CR */
3542 	PORTCR(37, 0xe6051025), /* PORT37CR */
3543 	PORTCR(38, 0xe6051026), /* PORT38CR */
3544 	PORTCR(39, 0xe6051027), /* PORT39CR */
3545 
3546 	PORTCR(40, 0xe6051028), /* PORT40CR */
3547 	PORTCR(41, 0xe6051029), /* PORT41CR */
3548 	PORTCR(42, 0xe605102a), /* PORT42CR */
3549 	PORTCR(43, 0xe605102b), /* PORT43CR */
3550 	PORTCR(44, 0xe605102c), /* PORT44CR */
3551 	PORTCR(45, 0xe605102d), /* PORT45CR */
3552 	PORTCR(46, 0xe605102e), /* PORT46CR */
3553 	PORTCR(47, 0xe605102f), /* PORT47CR */
3554 	PORTCR(48, 0xe6051030), /* PORT48CR */
3555 	PORTCR(49, 0xe6051031), /* PORT49CR */
3556 
3557 	PORTCR(50, 0xe6051032), /* PORT50CR */
3558 	PORTCR(51, 0xe6051033), /* PORT51CR */
3559 	PORTCR(52, 0xe6051034), /* PORT52CR */
3560 	PORTCR(53, 0xe6051035), /* PORT53CR */
3561 	PORTCR(54, 0xe6051036), /* PORT54CR */
3562 	PORTCR(55, 0xe6051037), /* PORT55CR */
3563 	PORTCR(56, 0xe6051038), /* PORT56CR */
3564 	PORTCR(57, 0xe6051039), /* PORT57CR */
3565 	PORTCR(58, 0xe605103a), /* PORT58CR */
3566 	PORTCR(59, 0xe605103b), /* PORT59CR */
3567 
3568 	PORTCR(60, 0xe605103c), /* PORT60CR */
3569 	PORTCR(61, 0xe605103d), /* PORT61CR */
3570 	PORTCR(62, 0xe605103e), /* PORT62CR */
3571 	PORTCR(63, 0xe605103f), /* PORT63CR */
3572 	PORTCR(64, 0xe6051040), /* PORT64CR */
3573 	PORTCR(65, 0xe6051041), /* PORT65CR */
3574 	PORTCR(66, 0xe6051042), /* PORT66CR */
3575 	PORTCR(67, 0xe6051043), /* PORT67CR */
3576 	PORTCR(68, 0xe6051044), /* PORT68CR */
3577 	PORTCR(69, 0xe6051045), /* PORT69CR */
3578 
3579 	PORTCR(70, 0xe6051046), /* PORT70CR */
3580 	PORTCR(71, 0xe6051047), /* PORT71CR */
3581 	PORTCR(72, 0xe6051048), /* PORT72CR */
3582 	PORTCR(73, 0xe6051049), /* PORT73CR */
3583 	PORTCR(74, 0xe605104a), /* PORT74CR */
3584 	PORTCR(75, 0xe605104b), /* PORT75CR */
3585 	PORTCR(76, 0xe605104c), /* PORT76CR */
3586 	PORTCR(77, 0xe605104d), /* PORT77CR */
3587 	PORTCR(78, 0xe605104e), /* PORT78CR */
3588 	PORTCR(79, 0xe605104f), /* PORT79CR */
3589 
3590 	PORTCR(80, 0xe6051050), /* PORT80CR */
3591 	PORTCR(81, 0xe6051051), /* PORT81CR */
3592 	PORTCR(82, 0xe6051052), /* PORT82CR */
3593 	PORTCR(83, 0xe6051053), /* PORT83CR */
3594 	PORTCR(84, 0xe6051054), /* PORT84CR */
3595 	PORTCR(85, 0xe6051055), /* PORT85CR */
3596 	PORTCR(86, 0xe6051056), /* PORT86CR */
3597 	PORTCR(87, 0xe6051057), /* PORT87CR */
3598 	PORTCR(88, 0xe6051058), /* PORT88CR */
3599 	PORTCR(89, 0xe6051059), /* PORT89CR */
3600 
3601 	PORTCR(90, 0xe605105a), /* PORT90CR */
3602 	PORTCR(91, 0xe605105b), /* PORT91CR */
3603 	PORTCR(92, 0xe605105c), /* PORT92CR */
3604 	PORTCR(93, 0xe605105d), /* PORT93CR */
3605 	PORTCR(94, 0xe605105e), /* PORT94CR */
3606 	PORTCR(95, 0xe605105f), /* PORT95CR */
3607 	PORTCR(96, 0xe6052060), /* PORT96CR */
3608 	PORTCR(97, 0xe6052061), /* PORT97CR */
3609 	PORTCR(98, 0xe6052062), /* PORT98CR */
3610 	PORTCR(99, 0xe6052063), /* PORT99CR */
3611 
3612 	PORTCR(100, 0xe6052064), /* PORT100CR */
3613 	PORTCR(101, 0xe6052065), /* PORT101CR */
3614 	PORTCR(102, 0xe6052066), /* PORT102CR */
3615 	PORTCR(103, 0xe6052067), /* PORT103CR */
3616 	PORTCR(104, 0xe6052068), /* PORT104CR */
3617 	PORTCR(105, 0xe6052069), /* PORT105CR */
3618 	PORTCR(106, 0xe605206a), /* PORT106CR */
3619 	PORTCR(107, 0xe605206b), /* PORT107CR */
3620 	PORTCR(108, 0xe605206c), /* PORT108CR */
3621 	PORTCR(109, 0xe605206d), /* PORT109CR */
3622 
3623 	PORTCR(110, 0xe605206e), /* PORT110CR */
3624 	PORTCR(111, 0xe605206f), /* PORT111CR */
3625 	PORTCR(112, 0xe6052070), /* PORT112CR */
3626 	PORTCR(113, 0xe6052071), /* PORT113CR */
3627 	PORTCR(114, 0xe6052072), /* PORT114CR */
3628 	PORTCR(115, 0xe6052073), /* PORT115CR */
3629 	PORTCR(116, 0xe6052074), /* PORT116CR */
3630 	PORTCR(117, 0xe6052075), /* PORT117CR */
3631 	PORTCR(118, 0xe6052076), /* PORT118CR */
3632 
3633 	PORTCR(128, 0xe6052080), /* PORT128CR */
3634 	PORTCR(129, 0xe6052081), /* PORT129CR */
3635 
3636 	PORTCR(130, 0xe6052082), /* PORT130CR */
3637 	PORTCR(131, 0xe6052083), /* PORT131CR */
3638 	PORTCR(132, 0xe6052084), /* PORT132CR */
3639 	PORTCR(133, 0xe6052085), /* PORT133CR */
3640 	PORTCR(134, 0xe6052086), /* PORT134CR */
3641 	PORTCR(135, 0xe6052087), /* PORT135CR */
3642 	PORTCR(136, 0xe6052088), /* PORT136CR */
3643 	PORTCR(137, 0xe6052089), /* PORT137CR */
3644 	PORTCR(138, 0xe605208a), /* PORT138CR */
3645 	PORTCR(139, 0xe605208b), /* PORT139CR */
3646 
3647 	PORTCR(140, 0xe605208c), /* PORT140CR */
3648 	PORTCR(141, 0xe605208d), /* PORT141CR */
3649 	PORTCR(142, 0xe605208e), /* PORT142CR */
3650 	PORTCR(143, 0xe605208f), /* PORT143CR */
3651 	PORTCR(144, 0xe6052090), /* PORT144CR */
3652 	PORTCR(145, 0xe6052091), /* PORT145CR */
3653 	PORTCR(146, 0xe6052092), /* PORT146CR */
3654 	PORTCR(147, 0xe6052093), /* PORT147CR */
3655 	PORTCR(148, 0xe6052094), /* PORT148CR */
3656 	PORTCR(149, 0xe6052095), /* PORT149CR */
3657 
3658 	PORTCR(150, 0xe6052096), /* PORT150CR */
3659 	PORTCR(151, 0xe6052097), /* PORT151CR */
3660 	PORTCR(152, 0xe6052098), /* PORT152CR */
3661 	PORTCR(153, 0xe6052099), /* PORT153CR */
3662 	PORTCR(154, 0xe605209a), /* PORT154CR */
3663 	PORTCR(155, 0xe605209b), /* PORT155CR */
3664 	PORTCR(156, 0xe605209c), /* PORT156CR */
3665 	PORTCR(157, 0xe605209d), /* PORT157CR */
3666 	PORTCR(158, 0xe605209e), /* PORT158CR */
3667 	PORTCR(159, 0xe605209f), /* PORT159CR */
3668 
3669 	PORTCR(160, 0xe60520a0), /* PORT160CR */
3670 	PORTCR(161, 0xe60520a1), /* PORT161CR */
3671 	PORTCR(162, 0xe60520a2), /* PORT162CR */
3672 	PORTCR(163, 0xe60520a3), /* PORT163CR */
3673 	PORTCR(164, 0xe60520a4), /* PORT164CR */
3674 
3675 	PORTCR(192, 0xe60520c0), /* PORT192CR */
3676 	PORTCR(193, 0xe60520c1), /* PORT193CR */
3677 	PORTCR(194, 0xe60520c2), /* PORT194CR */
3678 	PORTCR(195, 0xe60520c3), /* PORT195CR */
3679 	PORTCR(196, 0xe60520c4), /* PORT196CR */
3680 	PORTCR(197, 0xe60520c5), /* PORT197CR */
3681 	PORTCR(198, 0xe60520c6), /* PORT198CR */
3682 	PORTCR(199, 0xe60520c7), /* PORT199CR */
3683 
3684 	PORTCR(200, 0xe60520c8), /* PORT200CR */
3685 	PORTCR(201, 0xe60520c9), /* PORT201CR */
3686 	PORTCR(202, 0xe60520ca), /* PORT202CR */
3687 	PORTCR(203, 0xe60520cb), /* PORT203CR */
3688 	PORTCR(204, 0xe60520cc), /* PORT204CR */
3689 	PORTCR(205, 0xe60520cd), /* PORT205CR */
3690 	PORTCR(206, 0xe60520ce), /* PORT206CR */
3691 	PORTCR(207, 0xe60520cf), /* PORT207CR */
3692 	PORTCR(208, 0xe60520d0), /* PORT208CR */
3693 	PORTCR(209, 0xe60520d1), /* PORT209CR */
3694 
3695 	PORTCR(210, 0xe60520d2), /* PORT210CR */
3696 	PORTCR(211, 0xe60520d3), /* PORT211CR */
3697 	PORTCR(212, 0xe60520d4), /* PORT212CR */
3698 	PORTCR(213, 0xe60520d5), /* PORT213CR */
3699 	PORTCR(214, 0xe60520d6), /* PORT214CR */
3700 	PORTCR(215, 0xe60520d7), /* PORT215CR */
3701 	PORTCR(216, 0xe60520d8), /* PORT216CR */
3702 	PORTCR(217, 0xe60520d9), /* PORT217CR */
3703 	PORTCR(218, 0xe60520da), /* PORT218CR */
3704 	PORTCR(219, 0xe60520db), /* PORT219CR */
3705 
3706 	PORTCR(220, 0xe60520dc), /* PORT220CR */
3707 	PORTCR(221, 0xe60520dd), /* PORT221CR */
3708 	PORTCR(222, 0xe60520de), /* PORT222CR */
3709 	PORTCR(223, 0xe60520df), /* PORT223CR */
3710 	PORTCR(224, 0xe60530e0), /* PORT224CR */
3711 	PORTCR(225, 0xe60530e1), /* PORT225CR */
3712 	PORTCR(226, 0xe60530e2), /* PORT226CR */
3713 	PORTCR(227, 0xe60530e3), /* PORT227CR */
3714 	PORTCR(228, 0xe60530e4), /* PORT228CR */
3715 	PORTCR(229, 0xe60530e5), /* PORT229CR */
3716 
3717 	PORTCR(230, 0xe60530e6), /* PORT230CR */
3718 	PORTCR(231, 0xe60530e7), /* PORT231CR */
3719 	PORTCR(232, 0xe60530e8), /* PORT232CR */
3720 	PORTCR(233, 0xe60530e9), /* PORT233CR */
3721 	PORTCR(234, 0xe60530ea), /* PORT234CR */
3722 	PORTCR(235, 0xe60530eb), /* PORT235CR */
3723 	PORTCR(236, 0xe60530ec), /* PORT236CR */
3724 	PORTCR(237, 0xe60530ed), /* PORT237CR */
3725 	PORTCR(238, 0xe60530ee), /* PORT238CR */
3726 	PORTCR(239, 0xe60530ef), /* PORT239CR */
3727 
3728 	PORTCR(240, 0xe60530f0), /* PORT240CR */
3729 	PORTCR(241, 0xe60530f1), /* PORT241CR */
3730 	PORTCR(242, 0xe60530f2), /* PORT242CR */
3731 	PORTCR(243, 0xe60530f3), /* PORT243CR */
3732 	PORTCR(244, 0xe60530f4), /* PORT244CR */
3733 	PORTCR(245, 0xe60530f5), /* PORT245CR */
3734 	PORTCR(246, 0xe60530f6), /* PORT246CR */
3735 	PORTCR(247, 0xe60530f7), /* PORT247CR */
3736 	PORTCR(248, 0xe60530f8), /* PORT248CR */
3737 	PORTCR(249, 0xe60530f9), /* PORT249CR */
3738 
3739 	PORTCR(250, 0xe60530fa), /* PORT250CR */
3740 	PORTCR(251, 0xe60530fb), /* PORT251CR */
3741 	PORTCR(252, 0xe60530fc), /* PORT252CR */
3742 	PORTCR(253, 0xe60530fd), /* PORT253CR */
3743 	PORTCR(254, 0xe60530fe), /* PORT254CR */
3744 	PORTCR(255, 0xe60530ff), /* PORT255CR */
3745 	PORTCR(256, 0xe6053100), /* PORT256CR */
3746 	PORTCR(257, 0xe6053101), /* PORT257CR */
3747 	PORTCR(258, 0xe6053102), /* PORT258CR */
3748 	PORTCR(259, 0xe6053103), /* PORT259CR */
3749 
3750 	PORTCR(260, 0xe6053104), /* PORT260CR */
3751 	PORTCR(261, 0xe6053105), /* PORT261CR */
3752 	PORTCR(262, 0xe6053106), /* PORT262CR */
3753 	PORTCR(263, 0xe6053107), /* PORT263CR */
3754 	PORTCR(264, 0xe6053108), /* PORT264CR */
3755 	PORTCR(265, 0xe6053109), /* PORT265CR */
3756 	PORTCR(266, 0xe605310a), /* PORT266CR */
3757 	PORTCR(267, 0xe605310b), /* PORT267CR */
3758 	PORTCR(268, 0xe605310c), /* PORT268CR */
3759 	PORTCR(269, 0xe605310d), /* PORT269CR */
3760 
3761 	PORTCR(270, 0xe605310e), /* PORT270CR */
3762 	PORTCR(271, 0xe605310f), /* PORT271CR */
3763 	PORTCR(272, 0xe6053110), /* PORT272CR */
3764 	PORTCR(273, 0xe6053111), /* PORT273CR */
3765 	PORTCR(274, 0xe6053112), /* PORT274CR */
3766 	PORTCR(275, 0xe6053113), /* PORT275CR */
3767 	PORTCR(276, 0xe6053114), /* PORT276CR */
3768 	PORTCR(277, 0xe6053115), /* PORT277CR */
3769 	PORTCR(278, 0xe6053116), /* PORT278CR */
3770 	PORTCR(279, 0xe6053117), /* PORT279CR */
3771 
3772 	PORTCR(280, 0xe6053118), /* PORT280CR */
3773 	PORTCR(281, 0xe6053119), /* PORT281CR */
3774 	PORTCR(282, 0xe605311a), /* PORT282CR */
3775 
3776 	PORTCR(288, 0xe6052120), /* PORT288CR */
3777 	PORTCR(289, 0xe6052121), /* PORT289CR */
3778 
3779 	PORTCR(290, 0xe6052122), /* PORT290CR */
3780 	PORTCR(291, 0xe6052123), /* PORT291CR */
3781 	PORTCR(292, 0xe6052124), /* PORT292CR */
3782 	PORTCR(293, 0xe6052125), /* PORT293CR */
3783 	PORTCR(294, 0xe6052126), /* PORT294CR */
3784 	PORTCR(295, 0xe6052127), /* PORT295CR */
3785 	PORTCR(296, 0xe6052128), /* PORT296CR */
3786 	PORTCR(297, 0xe6052129), /* PORT297CR */
3787 	PORTCR(298, 0xe605212a), /* PORT298CR */
3788 	PORTCR(299, 0xe605212b), /* PORT299CR */
3789 
3790 	PORTCR(300, 0xe605212c), /* PORT300CR */
3791 	PORTCR(301, 0xe605212d), /* PORT301CR */
3792 	PORTCR(302, 0xe605212e), /* PORT302CR */
3793 	PORTCR(303, 0xe605212f), /* PORT303CR */
3794 	PORTCR(304, 0xe6052130), /* PORT304CR */
3795 	PORTCR(305, 0xe6052131), /* PORT305CR */
3796 	PORTCR(306, 0xe6052132), /* PORT306CR */
3797 	PORTCR(307, 0xe6052133), /* PORT307CR */
3798 	PORTCR(308, 0xe6052134), /* PORT308CR */
3799 	PORTCR(309, 0xe6052135), /* PORT309CR */
3800 
3801 	{ PINMUX_CFG_REG_VAR("MSEL2CR", 0xe605801c, 32,
3802 			     GROUP(-12, 1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1,
3803 				   1, 1, 1, 1, 1, 1, 1, 1, 1),
3804 			     GROUP(
3805 			/* RESERVED [12] */
3806 			MSEL2CR_MSEL19_0, MSEL2CR_MSEL19_1,
3807 			MSEL2CR_MSEL18_0, MSEL2CR_MSEL18_1,
3808 			MSEL2CR_MSEL17_0, MSEL2CR_MSEL17_1,
3809 			MSEL2CR_MSEL16_0, MSEL2CR_MSEL16_1,
3810 			/* RESERVED [1] */
3811 			MSEL2CR_MSEL14_0, MSEL2CR_MSEL14_1,
3812 			MSEL2CR_MSEL13_0, MSEL2CR_MSEL13_1,
3813 			MSEL2CR_MSEL12_0, MSEL2CR_MSEL12_1,
3814 			MSEL2CR_MSEL11_0, MSEL2CR_MSEL11_1,
3815 			MSEL2CR_MSEL10_0, MSEL2CR_MSEL10_1,
3816 			MSEL2CR_MSEL9_0, MSEL2CR_MSEL9_1,
3817 			MSEL2CR_MSEL8_0, MSEL2CR_MSEL8_1,
3818 			MSEL2CR_MSEL7_0, MSEL2CR_MSEL7_1,
3819 			MSEL2CR_MSEL6_0, MSEL2CR_MSEL6_1,
3820 			MSEL2CR_MSEL5_0, MSEL2CR_MSEL5_1,
3821 			MSEL2CR_MSEL4_0, MSEL2CR_MSEL4_1,
3822 			MSEL2CR_MSEL3_0, MSEL2CR_MSEL3_1,
3823 			MSEL2CR_MSEL2_0, MSEL2CR_MSEL2_1,
3824 			MSEL2CR_MSEL1_0, MSEL2CR_MSEL1_1,
3825 			MSEL2CR_MSEL0_0, MSEL2CR_MSEL0_1,
3826 		))
3827 	},
3828 	{ PINMUX_CFG_REG_VAR("MSEL3CR", 0xe6058020, 32,
3829 			     GROUP(-3, 1, -12, 1, -3, 1, -1, 1, -2, 1, -3, 1,
3830 				   -2),
3831 			     GROUP(
3832 			/* RESERVED [3] */
3833 			MSEL3CR_MSEL28_0, MSEL3CR_MSEL28_1,
3834 			/* RESERVED [12] */
3835 			MSEL3CR_MSEL15_0, MSEL3CR_MSEL15_1,
3836 			/* RESERVED [3] */
3837 			MSEL3CR_MSEL11_0, MSEL3CR_MSEL11_1,
3838 			/* RESERVED [1] */
3839 			MSEL3CR_MSEL9_0, MSEL3CR_MSEL9_1,
3840 			/* RESERVED [2] */
3841 			MSEL3CR_MSEL6_0, MSEL3CR_MSEL6_1,
3842 			/* RESERVED [3] */
3843 			MSEL3CR_MSEL2_0, MSEL3CR_MSEL2_1,
3844 			/* RESERVED [2] */
3845 		))
3846 	},
3847 	{ PINMUX_CFG_REG_VAR("MSEL4CR", 0xe6058024, 32,
3848 			     GROUP(-2, 1, -1, 1, 1, -3, 1, 1, 1, 1, -3, 1,
3849 				   -1, 1, 1, 1, 1, 1, 1, 1, -2, 1, -2, 1,
3850 				   -1),
3851 			     GROUP(
3852 			/* RESERVED [2] */
3853 			MSEL4CR_MSEL29_0, MSEL4CR_MSEL29_1,
3854 			/* RESERVED [1] */
3855 			MSEL4CR_MSEL27_0, MSEL4CR_MSEL27_1,
3856 			MSEL4CR_MSEL26_0, MSEL4CR_MSEL26_1,
3857 			/* RESERVED [3] */
3858 			MSEL4CR_MSEL22_0, MSEL4CR_MSEL22_1,
3859 			MSEL4CR_MSEL21_0, MSEL4CR_MSEL21_1,
3860 			MSEL4CR_MSEL20_0, MSEL4CR_MSEL20_1,
3861 			MSEL4CR_MSEL19_0, MSEL4CR_MSEL19_1,
3862 			/* RESERVED [3] */
3863 			MSEL4CR_MSEL15_0, MSEL4CR_MSEL15_1,
3864 			/* RESERVED [1] */
3865 			MSEL4CR_MSEL13_0, MSEL4CR_MSEL13_1,
3866 			MSEL4CR_MSEL12_0, MSEL4CR_MSEL12_1,
3867 			MSEL4CR_MSEL11_0, MSEL4CR_MSEL11_1,
3868 			MSEL4CR_MSEL10_0, MSEL4CR_MSEL10_1,
3869 			MSEL4CR_MSEL9_0, MSEL4CR_MSEL9_1,
3870 			MSEL4CR_MSEL8_0, MSEL4CR_MSEL8_1,
3871 			MSEL4CR_MSEL7_0, MSEL4CR_MSEL7_1,
3872 			/* RESERVED [2] */
3873 			MSEL4CR_MSEL4_0, MSEL4CR_MSEL4_1,
3874 			/* RESERVED [2] */
3875 			MSEL4CR_MSEL1_0, MSEL4CR_MSEL1_1,
3876 			/* RESERVED [1] */
3877 		))
3878 	},
3879 	{ /* sentinel */ }
3880 };
3881 
3882 static const struct pinmux_data_reg pinmux_data_regs[] = {
3883 	{ PINMUX_DATA_REG("PORTL031_000DR", 0xe6054000, 32, GROUP(
3884 			PORT31_DATA, PORT30_DATA, PORT29_DATA, PORT28_DATA,
3885 			PORT27_DATA, PORT26_DATA, PORT25_DATA, PORT24_DATA,
3886 			PORT23_DATA, PORT22_DATA, PORT21_DATA, PORT20_DATA,
3887 			PORT19_DATA, PORT18_DATA, PORT17_DATA, PORT16_DATA,
3888 			PORT15_DATA, PORT14_DATA, PORT13_DATA, PORT12_DATA,
3889 			PORT11_DATA, PORT10_DATA, PORT9_DATA, PORT8_DATA,
3890 			PORT7_DATA, PORT6_DATA, PORT5_DATA, PORT4_DATA,
3891 			PORT3_DATA, PORT2_DATA, PORT1_DATA, PORT0_DATA ))
3892 	},
3893 	{ PINMUX_DATA_REG("PORTD063_032DR", 0xe6055000, 32, GROUP(
3894 			PORT63_DATA, PORT62_DATA, PORT61_DATA, PORT60_DATA,
3895 			PORT59_DATA, PORT58_DATA, PORT57_DATA, PORT56_DATA,
3896 			PORT55_DATA, PORT54_DATA, PORT53_DATA, PORT52_DATA,
3897 			PORT51_DATA, PORT50_DATA, PORT49_DATA, PORT48_DATA,
3898 			PORT47_DATA, PORT46_DATA, PORT45_DATA, PORT44_DATA,
3899 			PORT43_DATA, PORT42_DATA, PORT41_DATA, PORT40_DATA,
3900 			PORT39_DATA, PORT38_DATA, PORT37_DATA, PORT36_DATA,
3901 			PORT35_DATA, PORT34_DATA, PORT33_DATA, PORT32_DATA ))
3902 	},
3903 	{ PINMUX_DATA_REG("PORTD095_064DR", 0xe6055004, 32, GROUP(
3904 			PORT95_DATA, PORT94_DATA, PORT93_DATA, PORT92_DATA,
3905 			PORT91_DATA, PORT90_DATA, PORT89_DATA, PORT88_DATA,
3906 			PORT87_DATA, PORT86_DATA, PORT85_DATA, PORT84_DATA,
3907 			PORT83_DATA, PORT82_DATA, PORT81_DATA, PORT80_DATA,
3908 			PORT79_DATA, PORT78_DATA, PORT77_DATA, PORT76_DATA,
3909 			PORT75_DATA, PORT74_DATA, PORT73_DATA, PORT72_DATA,
3910 			PORT71_DATA, PORT70_DATA, PORT69_DATA, PORT68_DATA,
3911 			PORT67_DATA, PORT66_DATA, PORT65_DATA, PORT64_DATA ))
3912 	},
3913 	{ PINMUX_DATA_REG("PORTR127_096DR", 0xe6056000, 32, GROUP(
3914 			0, 0, 0, 0,
3915 			0, 0, 0, 0,
3916 			0, PORT118_DATA, PORT117_DATA, PORT116_DATA,
3917 			PORT115_DATA, PORT114_DATA, PORT113_DATA, PORT112_DATA,
3918 			PORT111_DATA, PORT110_DATA, PORT109_DATA, PORT108_DATA,
3919 			PORT107_DATA, PORT106_DATA, PORT105_DATA, PORT104_DATA,
3920 			PORT103_DATA, PORT102_DATA, PORT101_DATA, PORT100_DATA,
3921 			PORT99_DATA, PORT98_DATA, PORT97_DATA, PORT96_DATA ))
3922 	},
3923 	{ PINMUX_DATA_REG("PORTR159_128DR", 0xe6056004, 32, GROUP(
3924 			PORT159_DATA, PORT158_DATA, PORT157_DATA, PORT156_DATA,
3925 			PORT155_DATA, PORT154_DATA, PORT153_DATA, PORT152_DATA,
3926 			PORT151_DATA, PORT150_DATA, PORT149_DATA, PORT148_DATA,
3927 			PORT147_DATA, PORT146_DATA, PORT145_DATA, PORT144_DATA,
3928 			PORT143_DATA, PORT142_DATA, PORT141_DATA, PORT140_DATA,
3929 			PORT139_DATA, PORT138_DATA, PORT137_DATA, PORT136_DATA,
3930 			PORT135_DATA, PORT134_DATA, PORT133_DATA, PORT132_DATA,
3931 			PORT131_DATA, PORT130_DATA, PORT129_DATA, PORT128_DATA ))
3932 	},
3933 	{ PINMUX_DATA_REG("PORTR191_160DR", 0xe6056008, 32, GROUP(
3934 			0, 0, 0, 0,
3935 			0, 0, 0, 0,
3936 			0, 0, 0, 0,
3937 			0, 0, 0, 0,
3938 			0, 0, 0, 0,
3939 			0, 0, 0, 0,
3940 			0, 0, 0, PORT164_DATA,
3941 			PORT163_DATA, PORT162_DATA, PORT161_DATA, PORT160_DATA ))
3942 	},
3943 	{ PINMUX_DATA_REG("PORTR223_192DR", 0xe605600C, 32, GROUP(
3944 			PORT223_DATA, PORT222_DATA, PORT221_DATA, PORT220_DATA,
3945 			PORT219_DATA, PORT218_DATA, PORT217_DATA, PORT216_DATA,
3946 			PORT215_DATA, PORT214_DATA, PORT213_DATA, PORT212_DATA,
3947 			PORT211_DATA, PORT210_DATA, PORT209_DATA, PORT208_DATA,
3948 			PORT207_DATA, PORT206_DATA, PORT205_DATA, PORT204_DATA,
3949 			PORT203_DATA, PORT202_DATA, PORT201_DATA, PORT200_DATA,
3950 			PORT199_DATA, PORT198_DATA, PORT197_DATA, PORT196_DATA,
3951 			PORT195_DATA, PORT194_DATA, PORT193_DATA, PORT192_DATA ))
3952 	},
3953 	{ PINMUX_DATA_REG("PORTU255_224DR", 0xe6057000, 32, GROUP(
3954 			PORT255_DATA, PORT254_DATA, PORT253_DATA, PORT252_DATA,
3955 			PORT251_DATA, PORT250_DATA, PORT249_DATA, PORT248_DATA,
3956 			PORT247_DATA, PORT246_DATA, PORT245_DATA, PORT244_DATA,
3957 			PORT243_DATA, PORT242_DATA, PORT241_DATA, PORT240_DATA,
3958 			PORT239_DATA, PORT238_DATA, PORT237_DATA, PORT236_DATA,
3959 			PORT235_DATA, PORT234_DATA, PORT233_DATA, PORT232_DATA,
3960 			PORT231_DATA, PORT230_DATA, PORT229_DATA, PORT228_DATA,
3961 			PORT227_DATA, PORT226_DATA, PORT225_DATA, PORT224_DATA ))
3962 	},
3963 	{ PINMUX_DATA_REG("PORTU287_256DR", 0xe6057004, 32, GROUP(
3964 			0, 0, 0, 0,
3965 			0, PORT282_DATA, PORT281_DATA, PORT280_DATA,
3966 			PORT279_DATA, PORT278_DATA, PORT277_DATA, PORT276_DATA,
3967 			PORT275_DATA, PORT274_DATA, PORT273_DATA, PORT272_DATA,
3968 			PORT271_DATA, PORT270_DATA, PORT269_DATA, PORT268_DATA,
3969 			PORT267_DATA, PORT266_DATA, PORT265_DATA, PORT264_DATA,
3970 			PORT263_DATA, PORT262_DATA, PORT261_DATA, PORT260_DATA,
3971 			PORT259_DATA, PORT258_DATA, PORT257_DATA, PORT256_DATA ))
3972 	},
3973 	{ PINMUX_DATA_REG("PORTR319_288DR", 0xe6056010, 32, GROUP(
3974 			0, 0, 0, 0,
3975 			0, 0, 0, 0,
3976 			0, 0, PORT309_DATA, PORT308_DATA,
3977 			PORT307_DATA, PORT306_DATA, PORT305_DATA, PORT304_DATA,
3978 			PORT303_DATA, PORT302_DATA, PORT301_DATA, PORT300_DATA,
3979 			PORT299_DATA, PORT298_DATA, PORT297_DATA, PORT296_DATA,
3980 			PORT295_DATA, PORT294_DATA, PORT293_DATA, PORT292_DATA,
3981 			PORT291_DATA, PORT290_DATA, PORT289_DATA, PORT288_DATA ))
3982 	},
3983 	{ /* sentinel */ }
3984 };
3985 
3986 static const struct pinmux_irq pinmux_irqs[] = {
3987 	PINMUX_IRQ(11),		/* IRQ0 */
3988 	PINMUX_IRQ(10),		/* IRQ1 */
3989 	PINMUX_IRQ(149),	/* IRQ2 */
3990 	PINMUX_IRQ(224),	/* IRQ3 */
3991 	PINMUX_IRQ(159),	/* IRQ4 */
3992 	PINMUX_IRQ(227),	/* IRQ5 */
3993 	PINMUX_IRQ(147),	/* IRQ6 */
3994 	PINMUX_IRQ(150),	/* IRQ7 */
3995 	PINMUX_IRQ(223),	/* IRQ8 */
3996 	PINMUX_IRQ(56, 308),	/* IRQ9 */
3997 	PINMUX_IRQ(54),		/* IRQ10 */
3998 	PINMUX_IRQ(238),	/* IRQ11 */
3999 	PINMUX_IRQ(156),	/* IRQ12 */
4000 	PINMUX_IRQ(239),	/* IRQ13 */
4001 	PINMUX_IRQ(251),	/* IRQ14 */
4002 	PINMUX_IRQ(0),		/* IRQ15 */
4003 	PINMUX_IRQ(249),	/* IRQ16 */
4004 	PINMUX_IRQ(234),	/* IRQ17 */
4005 	PINMUX_IRQ(13),		/* IRQ18 */
4006 	PINMUX_IRQ(9),		/* IRQ19 */
4007 	PINMUX_IRQ(14),		/* IRQ20 */
4008 	PINMUX_IRQ(15),		/* IRQ21 */
4009 	PINMUX_IRQ(40),		/* IRQ22 */
4010 	PINMUX_IRQ(53),		/* IRQ23 */
4011 	PINMUX_IRQ(118),	/* IRQ24 */
4012 	PINMUX_IRQ(164),	/* IRQ25 */
4013 	PINMUX_IRQ(115),	/* IRQ26 */
4014 	PINMUX_IRQ(116),	/* IRQ27 */
4015 	PINMUX_IRQ(117),	/* IRQ28 */
4016 	PINMUX_IRQ(28),		/* IRQ29 */
4017 	PINMUX_IRQ(27),		/* IRQ30 */
4018 	PINMUX_IRQ(26),		/* IRQ31 */
4019 };
4020 
4021 /* -----------------------------------------------------------------------------
4022  * VCCQ MC0 regulator
4023  */
4024 
sh73a0_vccq_mc0_endisable(struct regulator_dev * reg,bool enable)4025 static void sh73a0_vccq_mc0_endisable(struct regulator_dev *reg, bool enable)
4026 {
4027 	struct sh_pfc *pfc = reg->reg_data;
4028 	void __iomem *addr = pfc->windows[1].virt + 4;
4029 	unsigned long flags;
4030 	u32 value;
4031 
4032 	spin_lock_irqsave(&pfc->lock, flags);
4033 
4034 	value = ioread32(addr);
4035 
4036 	if (enable)
4037 		value |= BIT(28);
4038 	else
4039 		value &= ~BIT(28);
4040 
4041 	iowrite32(value, addr);
4042 
4043 	spin_unlock_irqrestore(&pfc->lock, flags);
4044 }
4045 
sh73a0_vccq_mc0_enable(struct regulator_dev * reg)4046 static int sh73a0_vccq_mc0_enable(struct regulator_dev *reg)
4047 {
4048 	sh73a0_vccq_mc0_endisable(reg, true);
4049 	return 0;
4050 }
4051 
sh73a0_vccq_mc0_disable(struct regulator_dev * reg)4052 static int sh73a0_vccq_mc0_disable(struct regulator_dev *reg)
4053 {
4054 	sh73a0_vccq_mc0_endisable(reg, false);
4055 	return 0;
4056 }
4057 
sh73a0_vccq_mc0_is_enabled(struct regulator_dev * reg)4058 static int sh73a0_vccq_mc0_is_enabled(struct regulator_dev *reg)
4059 {
4060 	struct sh_pfc *pfc = reg->reg_data;
4061 	void __iomem *addr = pfc->windows[1].virt + 4;
4062 	unsigned long flags;
4063 	u32 value;
4064 
4065 	spin_lock_irqsave(&pfc->lock, flags);
4066 	value = ioread32(addr);
4067 	spin_unlock_irqrestore(&pfc->lock, flags);
4068 
4069 	return !!(value & BIT(28));
4070 }
4071 
sh73a0_vccq_mc0_get_voltage(struct regulator_dev * reg)4072 static int sh73a0_vccq_mc0_get_voltage(struct regulator_dev *reg)
4073 {
4074 	return 3300000;
4075 }
4076 
4077 static const struct regulator_ops sh73a0_vccq_mc0_ops = {
4078 	.enable = sh73a0_vccq_mc0_enable,
4079 	.disable = sh73a0_vccq_mc0_disable,
4080 	.is_enabled = sh73a0_vccq_mc0_is_enabled,
4081 	.get_voltage = sh73a0_vccq_mc0_get_voltage,
4082 };
4083 
4084 static const struct regulator_desc sh73a0_vccq_mc0_desc = {
4085 	.owner = THIS_MODULE,
4086 	.name = "vccq_mc0",
4087 	.type = REGULATOR_VOLTAGE,
4088 	.ops = &sh73a0_vccq_mc0_ops,
4089 };
4090 
4091 static struct regulator_consumer_supply sh73a0_vccq_mc0_consumers[] = {
4092 	REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi.0"),
4093 	REGULATOR_SUPPLY("vqmmc", "ee100000.sdhi"),
4094 };
4095 
4096 static const struct regulator_init_data sh73a0_vccq_mc0_init_data = {
4097 	.constraints = {
4098 		.valid_ops_mask = REGULATOR_CHANGE_STATUS,
4099 	},
4100 	.num_consumer_supplies = ARRAY_SIZE(sh73a0_vccq_mc0_consumers),
4101 	.consumer_supplies = sh73a0_vccq_mc0_consumers,
4102 };
4103 
4104 /* -----------------------------------------------------------------------------
4105  * Pin bias
4106  */
4107 
4108 static const unsigned int sh73a0_portcr_offsets[] = {
4109 	0x00000000, 0x00001000, 0x00001000, 0x00002000, 0x00002000,
4110 	0x00002000, 0x00002000, 0x00003000, 0x00003000, 0x00002000,
4111 };
4112 
sh73a0_pin_to_portcr(unsigned int pin)4113 static int sh73a0_pin_to_portcr(unsigned int pin)
4114 {
4115 	return sh73a0_portcr_offsets[pin >> 5] + pin;
4116 }
4117 
4118 /* -----------------------------------------------------------------------------
4119  * SoC information
4120  */
4121 
sh73a0_pinmux_soc_init(struct sh_pfc * pfc)4122 static int sh73a0_pinmux_soc_init(struct sh_pfc *pfc)
4123 {
4124 	struct regulator_config cfg = { };
4125 	struct regulator_dev *vccq;
4126 	int ret;
4127 
4128 	cfg.dev = pfc->dev;
4129 	cfg.init_data = &sh73a0_vccq_mc0_init_data;
4130 	cfg.driver_data = pfc;
4131 
4132 	vccq = devm_regulator_register(pfc->dev, &sh73a0_vccq_mc0_desc, &cfg);
4133 	if (IS_ERR(vccq)) {
4134 		ret = PTR_ERR(vccq);
4135 		dev_err(pfc->dev, "Failed to register VCCQ MC0 regulator: %d\n",
4136 			ret);
4137 		return ret;
4138 	}
4139 
4140 	return 0;
4141 }
4142 
4143 static const struct sh_pfc_soc_operations sh73a0_pfc_ops = {
4144 	.init = sh73a0_pinmux_soc_init,
4145 	.get_bias = rmobile_pinmux_get_bias,
4146 	.set_bias = rmobile_pinmux_set_bias,
4147 	.pin_to_portcr = sh73a0_pin_to_portcr,
4148 };
4149 
4150 const struct sh_pfc_soc_info sh73a0_pinmux_info = {
4151 	.name = "sh73a0_pfc",
4152 	.ops = &sh73a0_pfc_ops,
4153 
4154 	.input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END },
4155 	.output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END },
4156 	.function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
4157 
4158 	.pins = pinmux_pins,
4159 	.nr_pins = ARRAY_SIZE(pinmux_pins),
4160 	.groups = pinmux_groups,
4161 	.nr_groups = ARRAY_SIZE(pinmux_groups),
4162 	.functions = pinmux_functions,
4163 	.nr_functions = ARRAY_SIZE(pinmux_functions),
4164 
4165 	.cfg_regs = pinmux_config_regs,
4166 	.data_regs = pinmux_data_regs,
4167 
4168 	.pinmux_data = pinmux_data,
4169 	.pinmux_data_size = ARRAY_SIZE(pinmux_data),
4170 
4171 	.gpio_irq = pinmux_irqs,
4172 	.gpio_irq_size = ARRAY_SIZE(pinmux_irqs),
4173 };
4174