1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * SH7203 Pinmux
4  *
5  *  Copyright (C) 2008  Magnus Damm
6  */
7 
8 #include <linux/kernel.h>
9 #include <cpu/sh7203.h>
10 
11 #include "sh_pfc.h"
12 
13 enum {
14 	PINMUX_RESERVED = 0,
15 
16 	PINMUX_DATA_BEGIN,
17 	PA7_DATA, PA6_DATA, PA5_DATA, PA4_DATA,
18 	PA3_DATA, PA2_DATA, PA1_DATA, PA0_DATA,
19 	PB12_DATA,
20 	PB11_DATA, PB10_DATA, PB9_DATA, PB8_DATA,
21 	PB7_DATA, PB6_DATA, PB5_DATA, PB4_DATA,
22 	PB3_DATA, PB2_DATA, PB1_DATA, PB0_DATA,
23 	PC14_DATA, PC13_DATA, PC12_DATA,
24 	PC11_DATA, PC10_DATA, PC9_DATA, PC8_DATA,
25 	PC7_DATA, PC6_DATA, PC5_DATA, PC4_DATA,
26 	PC3_DATA, PC2_DATA, PC1_DATA, PC0_DATA,
27 	PD15_DATA, PD14_DATA, PD13_DATA, PD12_DATA,
28 	PD11_DATA, PD10_DATA, PD9_DATA, PD8_DATA,
29 	PD7_DATA, PD6_DATA, PD5_DATA, PD4_DATA,
30 	PD3_DATA, PD2_DATA, PD1_DATA, PD0_DATA,
31 	PE15_DATA, PE14_DATA, PE13_DATA, PE12_DATA,
32 	PE11_DATA, PE10_DATA, PE9_DATA, PE8_DATA,
33 	PE7_DATA, PE6_DATA, PE5_DATA, PE4_DATA,
34 	PE3_DATA, PE2_DATA, PE1_DATA, PE0_DATA,
35 	PF30_DATA, PF29_DATA, PF28_DATA,
36 	PF27_DATA, PF26_DATA, PF25_DATA, PF24_DATA,
37 	PF23_DATA, PF22_DATA, PF21_DATA, PF20_DATA,
38 	PF19_DATA, PF18_DATA, PF17_DATA, PF16_DATA,
39 	PF15_DATA, PF14_DATA, PF13_DATA, PF12_DATA,
40 	PF11_DATA, PF10_DATA, PF9_DATA, PF8_DATA,
41 	PF7_DATA, PF6_DATA, PF5_DATA, PF4_DATA,
42 	PF3_DATA, PF2_DATA, PF1_DATA, PF0_DATA,
43 	PINMUX_DATA_END,
44 
45 	PINMUX_INPUT_BEGIN,
46 	FORCE_IN,
47 	PA7_IN, PA6_IN, PA5_IN, PA4_IN,
48 	PA3_IN, PA2_IN, PA1_IN, PA0_IN,
49 	PB11_IN, PB10_IN, PB9_IN, PB8_IN,
50 	PC14_IN, PC13_IN, PC12_IN,
51 	PC11_IN, PC10_IN, PC9_IN, PC8_IN,
52 	PC7_IN, PC6_IN, PC5_IN, PC4_IN,
53 	PC3_IN, PC2_IN, PC1_IN, PC0_IN,
54 	PD15_IN, PD14_IN, PD13_IN, PD12_IN,
55 	PD11_IN, PD10_IN, PD9_IN, PD8_IN,
56 	PD7_IN, PD6_IN, PD5_IN, PD4_IN,
57 	PD3_IN, PD2_IN, PD1_IN, PD0_IN,
58 	PE15_IN, PE14_IN, PE13_IN, PE12_IN,
59 	PE11_IN, PE10_IN, PE9_IN, PE8_IN,
60 	PE7_IN, PE6_IN, PE5_IN, PE4_IN,
61 	PE3_IN, PE2_IN, PE1_IN, PE0_IN,
62 	PF30_IN, PF29_IN, PF28_IN,
63 	PF27_IN, PF26_IN, PF25_IN, PF24_IN,
64 	PF23_IN, PF22_IN, PF21_IN, PF20_IN,
65 	PF19_IN, PF18_IN, PF17_IN, PF16_IN,
66 	PF15_IN, PF14_IN, PF13_IN, PF12_IN,
67 	PF11_IN, PF10_IN, PF9_IN, PF8_IN,
68 	PF7_IN, PF6_IN, PF5_IN, PF4_IN,
69 	PF3_IN, PF2_IN, PF1_IN, PF0_IN,
70 	PINMUX_INPUT_END,
71 
72 	PINMUX_OUTPUT_BEGIN,
73 	FORCE_OUT,
74 	PB11_OUT, PB10_OUT, PB9_OUT, PB8_OUT,
75 	PC14_OUT, PC13_OUT, PC12_OUT,
76 	PC11_OUT, PC10_OUT, PC9_OUT, PC8_OUT,
77 	PC7_OUT, PC6_OUT, PC5_OUT, PC4_OUT,
78 	PC3_OUT, PC2_OUT, PC1_OUT, PC0_OUT,
79 	PD15_OUT, PD14_OUT, PD13_OUT, PD12_OUT,
80 	PD11_OUT, PD10_OUT, PD9_OUT, PD8_OUT,
81 	PD7_OUT, PD6_OUT, PD5_OUT, PD4_OUT,
82 	PD3_OUT, PD2_OUT, PD1_OUT, PD0_OUT,
83 	PE15_OUT, PE14_OUT, PE13_OUT, PE12_OUT,
84 	PE11_OUT, PE10_OUT, PE9_OUT, PE8_OUT,
85 	PE7_OUT, PE6_OUT, PE5_OUT, PE4_OUT,
86 	PE3_OUT, PE2_OUT, PE1_OUT, PE0_OUT,
87 	PF30_OUT, PF29_OUT, PF28_OUT,
88 	PF27_OUT, PF26_OUT, PF25_OUT, PF24_OUT,
89 	PF23_OUT, PF22_OUT, PF21_OUT, PF20_OUT,
90 	PF19_OUT, PF18_OUT, PF17_OUT, PF16_OUT,
91 	PF15_OUT, PF14_OUT, PF13_OUT, PF12_OUT,
92 	PF11_OUT, PF10_OUT, PF9_OUT, PF8_OUT,
93 	PF7_OUT, PF6_OUT, PF5_OUT, PF4_OUT,
94 	PF3_OUT, PF2_OUT, PF1_OUT, PF0_OUT,
95 	PINMUX_OUTPUT_END,
96 
97 	PINMUX_FUNCTION_BEGIN,
98 	PB11_IOR_IN, PB11_IOR_OUT,
99 	PB10_IOR_IN, PB10_IOR_OUT,
100 	PB9_IOR_IN, PB9_IOR_OUT,
101 	PB8_IOR_IN, PB8_IOR_OUT,
102 	PB12MD_00, PB12MD_01, PB12MD_10, PB12MD_11,
103 	PB11MD_0, PB11MD_1,
104 	PB10MD_0, PB10MD_1,
105 	PB9MD_00, PB9MD_01, PB9MD_10,
106 	PB8MD_00, PB8MD_01, PB8MD_10,
107 	PB7MD_00, PB7MD_01, PB7MD_10, PB7MD_11,
108 	PB6MD_00, PB6MD_01, PB6MD_10, PB6MD_11,
109 	PB5MD_00, PB5MD_01, PB5MD_10, PB5MD_11,
110 	PB4MD_00, PB4MD_01, PB4MD_10, PB4MD_11,
111 	PB3MD_00, PB3MD_01, PB3MD_10, PB3MD_11,
112 	PB2MD_00, PB2MD_01, PB2MD_10, PB2MD_11,
113 	PB1MD_00, PB1MD_01, PB1MD_10, PB1MD_11,
114 	PB0MD_00, PB0MD_01, PB0MD_10, PB0MD_11,
115 
116 	PB12IRQ_00, PB12IRQ_01, PB12IRQ_10,
117 
118 	PC14MD_0, PC14MD_1,
119 	PC13MD_0, PC13MD_1,
120 	PC12MD_0, PC12MD_1,
121 	PC11MD_00, PC11MD_01, PC11MD_10,
122 	PC10MD_00, PC10MD_01, PC10MD_10,
123 	PC9MD_0, PC9MD_1,
124 	PC8MD_0, PC8MD_1,
125 	PC7MD_0, PC7MD_1,
126 	PC6MD_0, PC6MD_1,
127 	PC5MD_0, PC5MD_1,
128 	PC4MD_0, PC4MD_1,
129 	PC3MD_0, PC3MD_1,
130 	PC2MD_0, PC2MD_1,
131 	PC1MD_0, PC1MD_1,
132 	PC0MD_00, PC0MD_01, PC0MD_10,
133 
134 	PD15MD_000, PD15MD_001, PD15MD_010, PD15MD_100, PD15MD_101,
135 	PD14MD_000, PD14MD_001, PD14MD_010, PD14MD_101,
136 	PD13MD_000, PD13MD_001, PD13MD_010, PD13MD_100, PD13MD_101,
137 	PD12MD_000, PD12MD_001, PD12MD_010, PD12MD_100, PD12MD_101,
138 	PD11MD_000, PD11MD_001, PD11MD_010, PD11MD_100, PD11MD_101,
139 	PD10MD_000, PD10MD_001, PD10MD_010, PD10MD_100, PD10MD_101,
140 	PD9MD_000, PD9MD_001, PD9MD_010, PD9MD_100, PD9MD_101,
141 	PD8MD_000, PD8MD_001, PD8MD_010, PD8MD_100, PD8MD_101,
142 	PD7MD_000, PD7MD_001, PD7MD_010, PD7MD_011, PD7MD_100, PD7MD_101,
143 	PD6MD_000, PD6MD_001, PD6MD_010, PD6MD_011, PD6MD_100, PD6MD_101,
144 	PD5MD_000, PD5MD_001, PD5MD_010, PD5MD_011, PD5MD_100, PD5MD_101,
145 	PD4MD_000, PD4MD_001, PD4MD_010, PD4MD_011, PD4MD_100, PD4MD_101,
146 	PD3MD_000, PD3MD_001, PD3MD_010, PD3MD_011, PD3MD_100, PD3MD_101,
147 	PD2MD_000, PD2MD_001, PD2MD_010, PD2MD_011, PD2MD_100, PD2MD_101,
148 	PD1MD_000, PD1MD_001, PD1MD_010, PD1MD_011, PD1MD_100, PD1MD_101,
149 	PD0MD_000, PD0MD_001, PD0MD_010, PD0MD_011, PD0MD_100, PD0MD_101,
150 
151 	PE15MD_00, PE15MD_01, PE15MD_11,
152 	PE14MD_00, PE14MD_01, PE14MD_11,
153 	PE13MD_00, PE13MD_11,
154 	PE12MD_00, PE12MD_11,
155 	PE11MD_000, PE11MD_001, PE11MD_010, PE11MD_100,
156 	PE10MD_000, PE10MD_001, PE10MD_010, PE10MD_100,
157 	PE9MD_00, PE9MD_01, PE9MD_10, PE9MD_11,
158 	PE8MD_00, PE8MD_01, PE8MD_10, PE8MD_11,
159 	PE7MD_000, PE7MD_001, PE7MD_010, PE7MD_011, PE7MD_100,
160 	PE6MD_000, PE6MD_001, PE6MD_010, PE6MD_011, PE6MD_100,
161 	PE5MD_000, PE5MD_001, PE5MD_010, PE5MD_011, PE5MD_100,
162 	PE4MD_000, PE4MD_001, PE4MD_010, PE4MD_011, PE4MD_100,
163 	PE3MD_00, PE3MD_01, PE3MD_11,
164 	PE2MD_00, PE2MD_01, PE2MD_11,
165 	PE1MD_00, PE1MD_01, PE1MD_10, PE1MD_11,
166 	PE0MD_000, PE0MD_001, PE0MD_011, PE0MD_100,
167 
168 	PF30MD_0, PF30MD_1,
169 	PF29MD_0, PF29MD_1,
170 	PF28MD_0, PF28MD_1,
171 	PF27MD_0, PF27MD_1,
172 	PF26MD_0, PF26MD_1,
173 	PF25MD_0, PF25MD_1,
174 	PF24MD_0, PF24MD_1,
175 	PF23MD_00, PF23MD_01, PF23MD_10,
176 	PF22MD_00, PF22MD_01, PF22MD_10,
177 	PF21MD_00, PF21MD_01, PF21MD_10,
178 	PF20MD_00, PF20MD_01, PF20MD_10,
179 	PF19MD_00, PF19MD_01, PF19MD_10,
180 	PF18MD_00, PF18MD_01, PF18MD_10,
181 	PF17MD_00, PF17MD_01, PF17MD_10,
182 	PF16MD_00, PF16MD_01, PF16MD_10,
183 	PF15MD_00, PF15MD_01, PF15MD_10,
184 	PF14MD_00, PF14MD_01, PF14MD_10,
185 	PF13MD_00, PF13MD_01, PF13MD_10,
186 	PF12MD_00, PF12MD_01, PF12MD_10,
187 	PF11MD_00, PF11MD_01, PF11MD_10,
188 	PF10MD_00, PF10MD_01, PF10MD_10,
189 	PF9MD_00, PF9MD_01, PF9MD_10,
190 	PF8MD_00, PF8MD_01, PF8MD_10,
191 	PF7MD_00, PF7MD_01, PF7MD_10, PF7MD_11,
192 	PF6MD_00, PF6MD_01, PF6MD_10, PF6MD_11,
193 	PF5MD_00, PF5MD_01, PF5MD_10, PF5MD_11,
194 	PF4MD_00, PF4MD_01, PF4MD_10, PF4MD_11,
195 	PF3MD_00, PF3MD_01, PF3MD_10, PF3MD_11,
196 	PF2MD_00, PF2MD_01, PF2MD_10, PF2MD_11,
197 	PF1MD_00, PF1MD_01, PF1MD_10, PF1MD_11,
198 	PF0MD_00, PF0MD_01, PF0MD_10, PF0MD_11,
199 	PINMUX_FUNCTION_END,
200 
201 	PINMUX_MARK_BEGIN,
202 	PINT7_PB_MARK, PINT6_PB_MARK, PINT5_PB_MARK, PINT4_PB_MARK,
203 	PINT3_PB_MARK, PINT2_PB_MARK, PINT1_PB_MARK, PINT0_PB_MARK,
204 	PINT7_PD_MARK, PINT6_PD_MARK, PINT5_PD_MARK, PINT4_PD_MARK,
205 	PINT3_PD_MARK, PINT2_PD_MARK, PINT1_PD_MARK, PINT0_PD_MARK,
206 	IRQ7_PB_MARK, IRQ6_PB_MARK, IRQ5_PB_MARK, IRQ4_PB_MARK,
207 	IRQ3_PB_MARK, IRQ2_PB_MARK, IRQ1_PB_MARK, IRQ0_PB_MARK,
208 	IRQ7_PD_MARK, IRQ6_PD_MARK, IRQ5_PD_MARK, IRQ4_PD_MARK,
209 	IRQ3_PD_MARK, IRQ2_PD_MARK, IRQ1_PD_MARK, IRQ0_PD_MARK,
210 	IRQ7_PE_MARK, IRQ6_PE_MARK, IRQ5_PE_MARK, IRQ4_PE_MARK,
211 	IRQ3_PE_MARK, IRQ2_PE_MARK, IRQ1_PE_MARK, IRQ0_PE_MARK,
212 	WDTOVF_MARK, IRQOUT_MARK, REFOUT_MARK, IRQOUT_REFOUT_MARK,
213 	UBCTRG_MARK,
214 	CTX1_MARK, CRX1_MARK, CTX0_MARK, CTX0_CTX1_MARK,
215 	CRX0_MARK, CRX0_CRX1_MARK,
216 	SDA3_MARK, SCL3_MARK,
217 	SDA2_MARK, SCL2_MARK,
218 	SDA1_MARK, SCL1_MARK,
219 	SDA0_MARK, SCL0_MARK,
220 	TEND0_PD_MARK, TEND0_PE_MARK, DACK0_PD_MARK, DACK0_PE_MARK,
221 	DREQ0_PD_MARK, DREQ0_PE_MARK, TEND1_PD_MARK, TEND1_PE_MARK,
222 	DACK1_PD_MARK, DACK1_PE_MARK, DREQ1_PD_MARK, DREQ1_PE_MARK,
223 	DACK2_MARK, DREQ2_MARK, DACK3_MARK, DREQ3_MARK,
224 	ADTRG_PD_MARK, ADTRG_PE_MARK,
225 	D31_MARK, D30_MARK, D29_MARK, D28_MARK,
226 	D27_MARK, D26_MARK, D25_MARK, D24_MARK,
227 	D23_MARK, D22_MARK, D21_MARK, D20_MARK,
228 	D19_MARK, D18_MARK, D17_MARK, D16_MARK,
229 	A25_MARK, A24_MARK, A23_MARK, A22_MARK,
230 	A21_MARK, CS4_MARK, MRES_MARK, BS_MARK,
231 	IOIS16_MARK, CS1_MARK, CS6_CE1B_MARK, CE2B_MARK,
232 	CS5_CE1A_MARK, CE2A_MARK, FRAME_MARK, WAIT_MARK,
233 	RDWR_MARK, CKE_MARK, CASU_MARK,	BREQ_MARK,
234 	RASU_MARK, BACK_MARK, CASL_MARK, RASL_MARK,
235 	WE3_DQMUU_AH_ICIO_WR_MARK, WE2_DQMUL_ICIORD_MARK,
236 	WE1_DQMLU_WE_MARK, WE0_DQMLL_MARK,
237 	CS3_MARK, CS2_MARK, A1_MARK, A0_MARK, CS7_MARK,
238 	TIOC4D_MARK, TIOC4C_MARK, TIOC4B_MARK, TIOC4A_MARK,
239 	TIOC3D_MARK, TIOC3C_MARK, TIOC3B_MARK, TIOC3A_MARK,
240 	TIOC2B_MARK, TIOC1B_MARK, TIOC2A_MARK, TIOC1A_MARK,
241 	TIOC0D_MARK, TIOC0C_MARK, TIOC0B_MARK, TIOC0A_MARK,
242 	TCLKD_PD_MARK, TCLKC_PD_MARK, TCLKB_PD_MARK, TCLKA_PD_MARK,
243 	TCLKD_PF_MARK, TCLKC_PF_MARK, TCLKB_PF_MARK, TCLKA_PF_MARK,
244 	SCS0_PD_MARK, SSO0_PD_MARK, SSI0_PD_MARK, SSCK0_PD_MARK,
245 	SCS0_PF_MARK, SSO0_PF_MARK, SSI0_PF_MARK, SSCK0_PF_MARK,
246 	SCS1_PD_MARK, SSO1_PD_MARK, SSI1_PD_MARK, SSCK1_PD_MARK,
247 	SCS1_PF_MARK, SSO1_PF_MARK, SSI1_PF_MARK, SSCK1_PF_MARK,
248 	TXD0_MARK, RXD0_MARK, SCK0_MARK,
249 	TXD1_MARK, RXD1_MARK, SCK1_MARK,
250 	TXD2_MARK, RXD2_MARK, SCK2_MARK,
251 	RTS3_MARK, CTS3_MARK, TXD3_MARK,
252 	RXD3_MARK, SCK3_MARK,
253 	AUDIO_CLK_MARK,
254 	SSIDATA3_MARK, SSIWS3_MARK, SSISCK3_MARK,
255 	SSIDATA2_MARK, SSIWS2_MARK, SSISCK2_MARK,
256 	SSIDATA1_MARK, SSIWS1_MARK, SSISCK1_MARK,
257 	SSIDATA0_MARK, SSIWS0_MARK, SSISCK0_MARK,
258 	FCE_MARK, FRB_MARK,
259 	NAF7_MARK, NAF6_MARK, NAF5_MARK, NAF4_MARK,
260 	NAF3_MARK, NAF2_MARK, NAF1_MARK, NAF0_MARK,
261 	FSC_MARK, FOE_MARK, FCDE_MARK, FWE_MARK,
262 	LCD_VEPWC_MARK, LCD_VCPWC_MARK,	LCD_CLK_MARK, LCD_FLM_MARK,
263 	LCD_M_DISP_MARK, LCD_CL2_MARK, LCD_CL1_MARK, LCD_DON_MARK,
264 	LCD_DATA15_MARK, LCD_DATA14_MARK, LCD_DATA13_MARK, LCD_DATA12_MARK,
265 	LCD_DATA11_MARK, LCD_DATA10_MARK, LCD_DATA9_MARK, LCD_DATA8_MARK,
266 	LCD_DATA7_MARK, LCD_DATA6_MARK, LCD_DATA5_MARK, LCD_DATA4_MARK,
267 	LCD_DATA3_MARK, LCD_DATA2_MARK, LCD_DATA1_MARK, LCD_DATA0_MARK,
268 	PINMUX_MARK_END,
269 };
270 
271 static const u16 pinmux_data[] = {
272 	/* PA */
273 	PINMUX_DATA(PA7_DATA, PA7_IN),
274 	PINMUX_DATA(PA6_DATA, PA6_IN),
275 	PINMUX_DATA(PA5_DATA, PA5_IN),
276 	PINMUX_DATA(PA4_DATA, PA4_IN),
277 	PINMUX_DATA(PA3_DATA, PA3_IN),
278 	PINMUX_DATA(PA2_DATA, PA2_IN),
279 	PINMUX_DATA(PA1_DATA, PA1_IN),
280 	PINMUX_DATA(PA0_DATA, PA0_IN),
281 
282 	/* PB */
283 	PINMUX_DATA(PB12_DATA, PB12MD_00, FORCE_OUT),
284 	PINMUX_DATA(WDTOVF_MARK, PB12MD_01),
285 	PINMUX_DATA(IRQOUT_MARK, PB12MD_10, PB12IRQ_00),
286 	PINMUX_DATA(REFOUT_MARK, PB12MD_10, PB12IRQ_01),
287 	PINMUX_DATA(IRQOUT_REFOUT_MARK, PB12MD_10, PB12IRQ_10),
288 	PINMUX_DATA(UBCTRG_MARK, PB12MD_11),
289 
290 	PINMUX_DATA(PB11_DATA, PB11MD_0, PB11_IN, PB11_OUT),
291 	PINMUX_DATA(CTX1_MARK, PB11MD_1),
292 
293 	PINMUX_DATA(PB10_DATA, PB10MD_0, PB10_IN, PB10_OUT),
294 	PINMUX_DATA(CRX1_MARK, PB10MD_1),
295 
296 	PINMUX_DATA(PB9_DATA, PB9MD_00, PB9_IN, PB9_OUT),
297 	PINMUX_DATA(CTX0_MARK, PB9MD_01),
298 	PINMUX_DATA(CTX0_CTX1_MARK, PB9MD_10),
299 
300 	PINMUX_DATA(PB8_DATA, PB8MD_00, PB8_IN, PB8_OUT),
301 	PINMUX_DATA(CRX0_MARK, PB8MD_01),
302 	PINMUX_DATA(CRX0_CRX1_MARK, PB8MD_10),
303 
304 	PINMUX_DATA(PB7_DATA, PB7MD_00, FORCE_IN),
305 	PINMUX_DATA(SDA3_MARK, PB7MD_01),
306 	PINMUX_DATA(PINT7_PB_MARK, PB7MD_10),
307 	PINMUX_DATA(IRQ7_PB_MARK, PB7MD_11),
308 
309 	PINMUX_DATA(PB6_DATA, PB6MD_00, FORCE_IN),
310 	PINMUX_DATA(SCL3_MARK, PB6MD_01),
311 	PINMUX_DATA(PINT6_PB_MARK, PB6MD_10),
312 	PINMUX_DATA(IRQ6_PB_MARK, PB6MD_11),
313 
314 	PINMUX_DATA(PB5_DATA, PB5MD_00, FORCE_IN),
315 	PINMUX_DATA(SDA2_MARK, PB6MD_01),
316 	PINMUX_DATA(PINT5_PB_MARK, PB6MD_10),
317 	PINMUX_DATA(IRQ5_PB_MARK, PB6MD_11),
318 
319 	PINMUX_DATA(PB4_DATA, PB4MD_00, FORCE_IN),
320 	PINMUX_DATA(SCL2_MARK, PB4MD_01),
321 	PINMUX_DATA(PINT4_PB_MARK, PB4MD_10),
322 	PINMUX_DATA(IRQ4_PB_MARK, PB4MD_11),
323 
324 	PINMUX_DATA(PB3_DATA, PB3MD_00, FORCE_IN),
325 	PINMUX_DATA(SDA1_MARK, PB3MD_01),
326 	PINMUX_DATA(PINT3_PB_MARK, PB3MD_10),
327 	PINMUX_DATA(IRQ3_PB_MARK, PB3MD_11),
328 
329 	PINMUX_DATA(PB2_DATA, PB2MD_00, FORCE_IN),
330 	PINMUX_DATA(SCL1_MARK, PB2MD_01),
331 	PINMUX_DATA(PINT2_PB_MARK, PB2MD_10),
332 	PINMUX_DATA(IRQ2_PB_MARK, PB2MD_11),
333 
334 	PINMUX_DATA(PB1_DATA, PB1MD_00, FORCE_IN),
335 	PINMUX_DATA(SDA0_MARK, PB1MD_01),
336 	PINMUX_DATA(PINT1_PB_MARK, PB1MD_10),
337 	PINMUX_DATA(IRQ1_PB_MARK, PB1MD_11),
338 
339 	PINMUX_DATA(PB0_DATA, PB0MD_00, FORCE_IN),
340 	PINMUX_DATA(SCL0_MARK, PB0MD_01),
341 	PINMUX_DATA(PINT0_PB_MARK, PB0MD_10),
342 	PINMUX_DATA(IRQ0_PB_MARK, PB0MD_11),
343 
344 	/* PC */
345 	PINMUX_DATA(PC14_DATA, PC14MD_0, PC14_IN, PC14_OUT),
346 	PINMUX_DATA(WAIT_MARK, PC14MD_1),
347 
348 	PINMUX_DATA(PC13_DATA, PC13MD_0, PC13_IN, PC13_OUT),
349 	PINMUX_DATA(RDWR_MARK, PC13MD_1),
350 
351 	PINMUX_DATA(PC12_DATA, PC12MD_0, PC12_IN, PC12_OUT),
352 	PINMUX_DATA(CKE_MARK, PC12MD_1),
353 
354 	PINMUX_DATA(PC11_DATA, PC11MD_00, PC11_IN, PC11_OUT),
355 	PINMUX_DATA(CASU_MARK, PC11MD_01),
356 	PINMUX_DATA(BREQ_MARK, PC11MD_10),
357 
358 	PINMUX_DATA(PC10_DATA, PC10MD_00, PC10_IN, PC10_OUT),
359 	PINMUX_DATA(RASU_MARK, PC10MD_01),
360 	PINMUX_DATA(BACK_MARK, PC10MD_10),
361 
362 	PINMUX_DATA(PC9_DATA, PC9MD_0, PC9_IN, PC9_OUT),
363 	PINMUX_DATA(CASL_MARK, PC9MD_1),
364 
365 	PINMUX_DATA(PC8_DATA, PC8MD_0, PC8_IN, PC8_OUT),
366 	PINMUX_DATA(RASL_MARK, PC8MD_1),
367 
368 	PINMUX_DATA(PC7_DATA, PC7MD_0, PC7_IN, PC7_OUT),
369 	PINMUX_DATA(WE3_DQMUU_AH_ICIO_WR_MARK, PC7MD_1),
370 
371 	PINMUX_DATA(PC6_DATA, PC6MD_0, PC6_IN, PC6_OUT),
372 	PINMUX_DATA(WE2_DQMUL_ICIORD_MARK, PC6MD_1),
373 
374 	PINMUX_DATA(PC5_DATA, PC5MD_0, PC5_IN, PC5_OUT),
375 	PINMUX_DATA(WE1_DQMLU_WE_MARK, PC5MD_1),
376 
377 	PINMUX_DATA(PC4_DATA, PC4MD_0, PC4_IN, PC4_OUT),
378 	PINMUX_DATA(WE0_DQMLL_MARK, PC4MD_1),
379 
380 	PINMUX_DATA(PC3_DATA, PC3MD_0, PC3_IN, PC3_OUT),
381 	PINMUX_DATA(CS3_MARK, PC3MD_1),
382 
383 	PINMUX_DATA(PC2_DATA, PC2MD_0, PC2_IN, PC2_OUT),
384 	PINMUX_DATA(CS2_MARK, PC2MD_1),
385 
386 	PINMUX_DATA(PC1_DATA, PC1MD_0, PC1_IN, PC1_OUT),
387 	PINMUX_DATA(A1_MARK, PC1MD_1),
388 
389 	PINMUX_DATA(PC0_DATA, PC0MD_00, PC0_IN, PC0_OUT),
390 	PINMUX_DATA(A0_MARK, PC0MD_01),
391 	PINMUX_DATA(CS7_MARK, PC0MD_10),
392 
393 	/* PD */
394 	PINMUX_DATA(PD15_DATA, PD15MD_000, PD15_IN, PD15_OUT),
395 	PINMUX_DATA(D31_MARK, PD15MD_001),
396 	PINMUX_DATA(PINT7_PD_MARK, PD15MD_010),
397 	PINMUX_DATA(ADTRG_PD_MARK, PD15MD_100),
398 	PINMUX_DATA(TIOC4D_MARK, PD15MD_101),
399 
400 	PINMUX_DATA(PD14_DATA, PD14MD_000, PD14_IN, PD14_OUT),
401 	PINMUX_DATA(D30_MARK, PD14MD_001),
402 	PINMUX_DATA(PINT6_PD_MARK, PD14MD_010),
403 	PINMUX_DATA(TIOC4C_MARK, PD14MD_101),
404 
405 	PINMUX_DATA(PD13_DATA, PD13MD_000, PD13_IN, PD13_OUT),
406 	PINMUX_DATA(D29_MARK, PD13MD_001),
407 	PINMUX_DATA(PINT5_PD_MARK, PD13MD_010),
408 	PINMUX_DATA(TEND1_PD_MARK, PD13MD_100),
409 	PINMUX_DATA(TIOC4B_MARK, PD13MD_101),
410 
411 	PINMUX_DATA(PD12_DATA, PD12MD_000, PD12_IN, PD12_OUT),
412 	PINMUX_DATA(D28_MARK, PD12MD_001),
413 	PINMUX_DATA(PINT4_PD_MARK, PD12MD_010),
414 	PINMUX_DATA(DACK1_PD_MARK, PD12MD_100),
415 	PINMUX_DATA(TIOC4A_MARK, PD12MD_101),
416 
417 	PINMUX_DATA(PD11_DATA, PD11MD_000, PD11_IN, PD11_OUT),
418 	PINMUX_DATA(D27_MARK, PD11MD_001),
419 	PINMUX_DATA(PINT3_PD_MARK, PD11MD_010),
420 	PINMUX_DATA(DREQ1_PD_MARK, PD11MD_100),
421 	PINMUX_DATA(TIOC3D_MARK, PD11MD_101),
422 
423 	PINMUX_DATA(PD10_DATA, PD10MD_000, PD10_IN, PD10_OUT),
424 	PINMUX_DATA(D26_MARK, PD10MD_001),
425 	PINMUX_DATA(PINT2_PD_MARK, PD10MD_010),
426 	PINMUX_DATA(TEND0_PD_MARK, PD10MD_100),
427 	PINMUX_DATA(TIOC3C_MARK, PD10MD_101),
428 
429 	PINMUX_DATA(PD9_DATA, PD9MD_000, PD9_IN, PD9_OUT),
430 	PINMUX_DATA(D25_MARK, PD9MD_001),
431 	PINMUX_DATA(PINT1_PD_MARK, PD9MD_010),
432 	PINMUX_DATA(DACK0_PD_MARK, PD9MD_100),
433 	PINMUX_DATA(TIOC3B_MARK, PD9MD_101),
434 
435 	PINMUX_DATA(PD8_DATA, PD8MD_000, PD8_IN, PD8_OUT),
436 	PINMUX_DATA(D24_MARK, PD8MD_001),
437 	PINMUX_DATA(PINT0_PD_MARK, PD8MD_010),
438 	PINMUX_DATA(DREQ0_PD_MARK, PD8MD_100),
439 	PINMUX_DATA(TIOC3A_MARK, PD8MD_101),
440 
441 	PINMUX_DATA(PD7_DATA, PD7MD_000, PD7_IN, PD7_OUT),
442 	PINMUX_DATA(D23_MARK, PD7MD_001),
443 	PINMUX_DATA(IRQ7_PD_MARK, PD7MD_010),
444 	PINMUX_DATA(SCS1_PD_MARK, PD7MD_011),
445 	PINMUX_DATA(TCLKD_PD_MARK, PD7MD_100),
446 	PINMUX_DATA(TIOC2B_MARK, PD7MD_101),
447 
448 	PINMUX_DATA(PD6_DATA, PD6MD_000, PD6_IN, PD6_OUT),
449 	PINMUX_DATA(D22_MARK, PD6MD_001),
450 	PINMUX_DATA(IRQ6_PD_MARK, PD6MD_010),
451 	PINMUX_DATA(SSO1_PD_MARK, PD6MD_011),
452 	PINMUX_DATA(TCLKC_PD_MARK, PD6MD_100),
453 	PINMUX_DATA(TIOC2A_MARK, PD6MD_101),
454 
455 	PINMUX_DATA(PD5_DATA, PD5MD_000, PD5_IN, PD5_OUT),
456 	PINMUX_DATA(D21_MARK, PD5MD_001),
457 	PINMUX_DATA(IRQ5_PD_MARK, PD5MD_010),
458 	PINMUX_DATA(SSI1_PD_MARK, PD5MD_011),
459 	PINMUX_DATA(TCLKB_PD_MARK, PD5MD_100),
460 	PINMUX_DATA(TIOC1B_MARK, PD5MD_101),
461 
462 	PINMUX_DATA(PD4_DATA, PD4MD_000, PD4_IN, PD4_OUT),
463 	PINMUX_DATA(D20_MARK, PD4MD_001),
464 	PINMUX_DATA(IRQ4_PD_MARK, PD4MD_010),
465 	PINMUX_DATA(SSCK1_PD_MARK, PD4MD_011),
466 	PINMUX_DATA(TCLKA_PD_MARK, PD4MD_100),
467 	PINMUX_DATA(TIOC1A_MARK, PD4MD_101),
468 
469 	PINMUX_DATA(PD3_DATA, PD3MD_000, PD3_IN, PD3_OUT),
470 	PINMUX_DATA(D19_MARK, PD3MD_001),
471 	PINMUX_DATA(IRQ3_PD_MARK, PD3MD_010),
472 	PINMUX_DATA(SCS0_PD_MARK, PD3MD_011),
473 	PINMUX_DATA(DACK3_MARK, PD3MD_100),
474 	PINMUX_DATA(TIOC0D_MARK, PD3MD_101),
475 
476 	PINMUX_DATA(PD2_DATA, PD2MD_000, PD2_IN, PD2_OUT),
477 	PINMUX_DATA(D18_MARK, PD2MD_001),
478 	PINMUX_DATA(IRQ2_PD_MARK, PD2MD_010),
479 	PINMUX_DATA(SSO0_PD_MARK, PD2MD_011),
480 	PINMUX_DATA(DREQ3_MARK, PD2MD_100),
481 	PINMUX_DATA(TIOC0C_MARK, PD2MD_101),
482 
483 	PINMUX_DATA(PD1_DATA, PD1MD_000, PD1_IN, PD1_OUT),
484 	PINMUX_DATA(D17_MARK, PD1MD_001),
485 	PINMUX_DATA(IRQ1_PD_MARK, PD1MD_010),
486 	PINMUX_DATA(SSI0_PD_MARK, PD1MD_011),
487 	PINMUX_DATA(DACK2_MARK, PD1MD_100),
488 	PINMUX_DATA(TIOC0B_MARK, PD1MD_101),
489 
490 	PINMUX_DATA(PD0_DATA, PD0MD_000, PD0_IN, PD0_OUT),
491 	PINMUX_DATA(D16_MARK, PD0MD_001),
492 	PINMUX_DATA(IRQ0_PD_MARK, PD0MD_010),
493 	PINMUX_DATA(SSCK0_PD_MARK, PD0MD_011),
494 	PINMUX_DATA(DREQ2_MARK, PD0MD_100),
495 	PINMUX_DATA(TIOC0A_MARK, PD0MD_101),
496 
497 	/* PE */
498 	PINMUX_DATA(PE15_DATA, PE15MD_00, PE15_IN, PE15_OUT),
499 	PINMUX_DATA(IOIS16_MARK, PE15MD_01),
500 	PINMUX_DATA(RTS3_MARK, PE15MD_11),
501 
502 	PINMUX_DATA(PE14_DATA, PE14MD_00, PE14_IN, PE14_OUT),
503 	PINMUX_DATA(CS1_MARK, PE14MD_01),
504 	PINMUX_DATA(CTS3_MARK, PE14MD_11),
505 
506 	PINMUX_DATA(PE13_DATA, PE13MD_00, PE13_IN, PE13_OUT),
507 	PINMUX_DATA(TXD3_MARK, PE13MD_11),
508 
509 	PINMUX_DATA(PE12_DATA, PE12MD_00, PE12_IN, PE12_OUT),
510 	PINMUX_DATA(RXD3_MARK, PE12MD_11),
511 
512 	PINMUX_DATA(PE11_DATA, PE11MD_000, PE11_IN, PE11_OUT),
513 	PINMUX_DATA(CS6_CE1B_MARK, PE11MD_001),
514 	PINMUX_DATA(IRQ7_PE_MARK, PE11MD_010),
515 	PINMUX_DATA(TEND1_PE_MARK, PE11MD_100),
516 
517 	PINMUX_DATA(PE10_DATA, PE10MD_000, PE10_IN, PE10_OUT),
518 	PINMUX_DATA(CE2B_MARK, PE10MD_001),
519 	PINMUX_DATA(IRQ6_PE_MARK, PE10MD_010),
520 	PINMUX_DATA(TEND0_PE_MARK, PE10MD_100),
521 
522 	PINMUX_DATA(PE9_DATA, PE9MD_00, PE9_IN, PE9_OUT),
523 	PINMUX_DATA(CS5_CE1A_MARK, PE9MD_01),
524 	PINMUX_DATA(IRQ5_PE_MARK, PE9MD_10),
525 	PINMUX_DATA(SCK3_MARK, PE9MD_11),
526 
527 	PINMUX_DATA(PE8_DATA, PE8MD_00, PE8_IN, PE8_OUT),
528 	PINMUX_DATA(CE2A_MARK, PE8MD_01),
529 	PINMUX_DATA(IRQ4_PE_MARK, PE8MD_10),
530 	PINMUX_DATA(SCK2_MARK, PE8MD_11),
531 
532 	PINMUX_DATA(PE7_DATA, PE7MD_000, PE7_IN, PE7_OUT),
533 	PINMUX_DATA(FRAME_MARK, PE7MD_001),
534 	PINMUX_DATA(IRQ3_PE_MARK, PE7MD_010),
535 	PINMUX_DATA(TXD2_MARK, PE7MD_011),
536 	PINMUX_DATA(DACK1_PE_MARK, PE7MD_100),
537 
538 	PINMUX_DATA(PE6_DATA, PE6MD_000, PE6_IN, PE6_OUT),
539 	PINMUX_DATA(A25_MARK, PE6MD_001),
540 	PINMUX_DATA(IRQ2_PE_MARK, PE6MD_010),
541 	PINMUX_DATA(RXD2_MARK, PE6MD_011),
542 	PINMUX_DATA(DREQ1_PE_MARK, PE6MD_100),
543 
544 	PINMUX_DATA(PE5_DATA, PE5MD_000, PE5_IN, PE5_OUT),
545 	PINMUX_DATA(A24_MARK, PE5MD_001),
546 	PINMUX_DATA(IRQ1_PE_MARK, PE5MD_010),
547 	PINMUX_DATA(TXD1_MARK, PE5MD_011),
548 	PINMUX_DATA(DACK0_PE_MARK, PE5MD_100),
549 
550 	PINMUX_DATA(PE4_DATA, PE4MD_000, PE4_IN, PE4_OUT),
551 	PINMUX_DATA(A23_MARK, PE4MD_001),
552 	PINMUX_DATA(IRQ0_PE_MARK, PE4MD_010),
553 	PINMUX_DATA(RXD1_MARK, PE4MD_011),
554 	PINMUX_DATA(DREQ0_PE_MARK, PE4MD_100),
555 
556 	PINMUX_DATA(PE3_DATA, PE3MD_00, PE3_IN, PE3_OUT),
557 	PINMUX_DATA(A22_MARK, PE3MD_01),
558 	PINMUX_DATA(SCK1_MARK, PE3MD_11),
559 
560 	PINMUX_DATA(PE2_DATA, PE2MD_00, PE2_IN, PE2_OUT),
561 	PINMUX_DATA(A21_MARK, PE2MD_01),
562 	PINMUX_DATA(SCK0_MARK, PE2MD_11),
563 
564 	PINMUX_DATA(PE1_DATA, PE1MD_00, PE1_IN, PE1_OUT),
565 	PINMUX_DATA(CS4_MARK, PE1MD_01),
566 	PINMUX_DATA(MRES_MARK, PE1MD_10),
567 	PINMUX_DATA(TXD0_MARK, PE1MD_11),
568 
569 	PINMUX_DATA(PE0_DATA, PE0MD_000, PE0_IN, PE0_OUT),
570 	PINMUX_DATA(BS_MARK, PE0MD_001),
571 	PINMUX_DATA(RXD0_MARK, PE0MD_011),
572 	PINMUX_DATA(ADTRG_PE_MARK, PE0MD_100),
573 
574 	/* PF */
575 	PINMUX_DATA(PF30_DATA, PF30MD_0, PF30_IN, PF30_OUT),
576 	PINMUX_DATA(AUDIO_CLK_MARK, PF30MD_1),
577 
578 	PINMUX_DATA(PF29_DATA, PF29MD_0, PF29_IN, PF29_OUT),
579 	PINMUX_DATA(SSIDATA3_MARK, PF29MD_1),
580 
581 	PINMUX_DATA(PF28_DATA, PF28MD_0, PF28_IN, PF28_OUT),
582 	PINMUX_DATA(SSIWS3_MARK, PF28MD_1),
583 
584 	PINMUX_DATA(PF27_DATA, PF27MD_0, PF27_IN, PF27_OUT),
585 	PINMUX_DATA(SSISCK3_MARK, PF27MD_1),
586 
587 	PINMUX_DATA(PF26_DATA, PF26MD_0, PF26_IN, PF26_OUT),
588 	PINMUX_DATA(SSIDATA2_MARK, PF26MD_1),
589 
590 	PINMUX_DATA(PF25_DATA, PF25MD_0, PF25_IN, PF25_OUT),
591 	PINMUX_DATA(SSIWS2_MARK, PF25MD_1),
592 
593 	PINMUX_DATA(PF24_DATA, PF24MD_0, PF24_IN, PF24_OUT),
594 	PINMUX_DATA(SSISCK2_MARK, PF24MD_1),
595 
596 	PINMUX_DATA(PF23_DATA, PF23MD_00, PF23_IN, PF23_OUT),
597 	PINMUX_DATA(SSIDATA1_MARK, PF23MD_01),
598 	PINMUX_DATA(LCD_VEPWC_MARK, PF23MD_10),
599 
600 	PINMUX_DATA(PF22_DATA, PF22MD_00, PF22_IN, PF22_OUT),
601 	PINMUX_DATA(SSIWS1_MARK, PF22MD_01),
602 	PINMUX_DATA(LCD_VCPWC_MARK, PF22MD_10),
603 
604 	PINMUX_DATA(PF21_DATA, PF21MD_00, PF21_IN, PF21_OUT),
605 	PINMUX_DATA(SSISCK1_MARK, PF21MD_01),
606 	PINMUX_DATA(LCD_CLK_MARK, PF21MD_10),
607 
608 	PINMUX_DATA(PF20_DATA, PF20MD_00, PF20_IN, PF20_OUT),
609 	PINMUX_DATA(SSIDATA0_MARK, PF20MD_01),
610 	PINMUX_DATA(LCD_FLM_MARK, PF20MD_10),
611 
612 	PINMUX_DATA(PF19_DATA, PF19MD_00, PF19_IN, PF19_OUT),
613 	PINMUX_DATA(SSIWS0_MARK, PF19MD_01),
614 	PINMUX_DATA(LCD_M_DISP_MARK, PF19MD_10),
615 
616 	PINMUX_DATA(PF18_DATA, PF18MD_00, PF18_IN, PF18_OUT),
617 	PINMUX_DATA(SSISCK0_MARK, PF18MD_01),
618 	PINMUX_DATA(LCD_CL2_MARK, PF18MD_10),
619 
620 	PINMUX_DATA(PF17_DATA, PF17MD_00, PF17_IN, PF17_OUT),
621 	PINMUX_DATA(FCE_MARK, PF17MD_01),
622 	PINMUX_DATA(LCD_CL1_MARK, PF17MD_10),
623 
624 	PINMUX_DATA(PF16_DATA, PF16MD_00, PF16_IN, PF16_OUT),
625 	PINMUX_DATA(FRB_MARK, PF16MD_01),
626 	PINMUX_DATA(LCD_DON_MARK, PF16MD_10),
627 
628 	PINMUX_DATA(PF15_DATA, PF15MD_00, PF15_IN, PF15_OUT),
629 	PINMUX_DATA(NAF7_MARK, PF15MD_01),
630 	PINMUX_DATA(LCD_DATA15_MARK, PF15MD_10),
631 
632 	PINMUX_DATA(PF14_DATA, PF14MD_00, PF14_IN, PF14_OUT),
633 	PINMUX_DATA(NAF6_MARK, PF14MD_01),
634 	PINMUX_DATA(LCD_DATA14_MARK, PF14MD_10),
635 
636 	PINMUX_DATA(PF13_DATA, PF13MD_00, PF13_IN, PF13_OUT),
637 	PINMUX_DATA(NAF5_MARK, PF13MD_01),
638 	PINMUX_DATA(LCD_DATA13_MARK, PF13MD_10),
639 
640 	PINMUX_DATA(PF12_DATA, PF12MD_00, PF12_IN, PF12_OUT),
641 	PINMUX_DATA(NAF4_MARK, PF12MD_01),
642 	PINMUX_DATA(LCD_DATA12_MARK, PF12MD_10),
643 
644 	PINMUX_DATA(PF11_DATA, PF11MD_00, PF11_IN, PF11_OUT),
645 	PINMUX_DATA(NAF3_MARK, PF11MD_01),
646 	PINMUX_DATA(LCD_DATA11_MARK, PF11MD_10),
647 
648 	PINMUX_DATA(PF10_DATA, PF10MD_00, PF10_IN, PF10_OUT),
649 	PINMUX_DATA(NAF2_MARK, PF10MD_01),
650 	PINMUX_DATA(LCD_DATA10_MARK, PF10MD_10),
651 
652 	PINMUX_DATA(PF9_DATA, PF9MD_00, PF9_IN, PF9_OUT),
653 	PINMUX_DATA(NAF1_MARK, PF9MD_01),
654 	PINMUX_DATA(LCD_DATA9_MARK, PF9MD_10),
655 
656 	PINMUX_DATA(PF8_DATA, PF8MD_00, PF8_IN, PF8_OUT),
657 	PINMUX_DATA(NAF0_MARK, PF8MD_01),
658 	PINMUX_DATA(LCD_DATA8_MARK, PF8MD_10),
659 
660 	PINMUX_DATA(PF7_DATA, PF7MD_00, PF7_IN, PF7_OUT),
661 	PINMUX_DATA(FSC_MARK, PF7MD_01),
662 	PINMUX_DATA(LCD_DATA7_MARK, PF7MD_10),
663 	PINMUX_DATA(SCS1_PF_MARK, PF7MD_11),
664 
665 	PINMUX_DATA(PF6_DATA, PF6MD_00, PF6_IN, PF6_OUT),
666 	PINMUX_DATA(FOE_MARK, PF6MD_01),
667 	PINMUX_DATA(LCD_DATA6_MARK, PF6MD_10),
668 	PINMUX_DATA(SSO1_PF_MARK, PF6MD_11),
669 
670 	PINMUX_DATA(PF5_DATA, PF5MD_00, PF5_IN, PF5_OUT),
671 	PINMUX_DATA(FCDE_MARK, PF5MD_01),
672 	PINMUX_DATA(LCD_DATA5_MARK, PF5MD_10),
673 	PINMUX_DATA(SSI1_PF_MARK, PF5MD_11),
674 
675 	PINMUX_DATA(PF4_DATA, PF4MD_00, PF4_IN, PF4_OUT),
676 	PINMUX_DATA(FWE_MARK, PF4MD_01),
677 	PINMUX_DATA(LCD_DATA4_MARK, PF4MD_10),
678 	PINMUX_DATA(SSCK1_PF_MARK, PF4MD_11),
679 
680 	PINMUX_DATA(PF3_DATA, PF3MD_00, PF3_IN, PF3_OUT),
681 	PINMUX_DATA(TCLKD_PF_MARK, PF3MD_01),
682 	PINMUX_DATA(LCD_DATA3_MARK, PF3MD_10),
683 	PINMUX_DATA(SCS0_PF_MARK, PF3MD_11),
684 
685 	PINMUX_DATA(PF2_DATA, PF2MD_00, PF2_IN, PF2_OUT),
686 	PINMUX_DATA(TCLKC_PF_MARK, PF2MD_01),
687 	PINMUX_DATA(LCD_DATA2_MARK, PF2MD_10),
688 	PINMUX_DATA(SSO0_PF_MARK, PF2MD_11),
689 
690 	PINMUX_DATA(PF1_DATA, PF1MD_00, PF1_IN, PF1_OUT),
691 	PINMUX_DATA(TCLKB_PF_MARK, PF1MD_01),
692 	PINMUX_DATA(LCD_DATA1_MARK, PF1MD_10),
693 	PINMUX_DATA(SSI0_PF_MARK, PF1MD_11),
694 
695 	PINMUX_DATA(PF0_DATA, PF0MD_00, PF0_IN, PF0_OUT),
696 	PINMUX_DATA(TCLKA_PF_MARK, PF0MD_01),
697 	PINMUX_DATA(LCD_DATA0_MARK, PF0MD_10),
698 	PINMUX_DATA(SSCK0_PF_MARK, PF0MD_11),
699 };
700 
701 static const struct sh_pfc_pin pinmux_pins[] = {
702 	/* PA */
703 	PINMUX_GPIO(PA7),
704 	PINMUX_GPIO(PA6),
705 	PINMUX_GPIO(PA5),
706 	PINMUX_GPIO(PA4),
707 	PINMUX_GPIO(PA3),
708 	PINMUX_GPIO(PA2),
709 	PINMUX_GPIO(PA1),
710 	PINMUX_GPIO(PA0),
711 
712 	/* PB */
713 	PINMUX_GPIO(PB12),
714 	PINMUX_GPIO(PB11),
715 	PINMUX_GPIO(PB10),
716 	PINMUX_GPIO(PB9),
717 	PINMUX_GPIO(PB8),
718 	PINMUX_GPIO(PB7),
719 	PINMUX_GPIO(PB6),
720 	PINMUX_GPIO(PB5),
721 	PINMUX_GPIO(PB4),
722 	PINMUX_GPIO(PB3),
723 	PINMUX_GPIO(PB2),
724 	PINMUX_GPIO(PB1),
725 	PINMUX_GPIO(PB0),
726 
727 	/* PC */
728 	PINMUX_GPIO(PC14),
729 	PINMUX_GPIO(PC13),
730 	PINMUX_GPIO(PC12),
731 	PINMUX_GPIO(PC11),
732 	PINMUX_GPIO(PC10),
733 	PINMUX_GPIO(PC9),
734 	PINMUX_GPIO(PC8),
735 	PINMUX_GPIO(PC7),
736 	PINMUX_GPIO(PC6),
737 	PINMUX_GPIO(PC5),
738 	PINMUX_GPIO(PC4),
739 	PINMUX_GPIO(PC3),
740 	PINMUX_GPIO(PC2),
741 	PINMUX_GPIO(PC1),
742 	PINMUX_GPIO(PC0),
743 
744 	/* PD */
745 	PINMUX_GPIO(PD15),
746 	PINMUX_GPIO(PD14),
747 	PINMUX_GPIO(PD13),
748 	PINMUX_GPIO(PD12),
749 	PINMUX_GPIO(PD11),
750 	PINMUX_GPIO(PD10),
751 	PINMUX_GPIO(PD9),
752 	PINMUX_GPIO(PD8),
753 	PINMUX_GPIO(PD7),
754 	PINMUX_GPIO(PD6),
755 	PINMUX_GPIO(PD5),
756 	PINMUX_GPIO(PD4),
757 	PINMUX_GPIO(PD3),
758 	PINMUX_GPIO(PD2),
759 	PINMUX_GPIO(PD1),
760 	PINMUX_GPIO(PD0),
761 
762 	/* PE */
763 	PINMUX_GPIO(PE15),
764 	PINMUX_GPIO(PE14),
765 	PINMUX_GPIO(PE13),
766 	PINMUX_GPIO(PE12),
767 	PINMUX_GPIO(PE11),
768 	PINMUX_GPIO(PE10),
769 	PINMUX_GPIO(PE9),
770 	PINMUX_GPIO(PE8),
771 	PINMUX_GPIO(PE7),
772 	PINMUX_GPIO(PE6),
773 	PINMUX_GPIO(PE5),
774 	PINMUX_GPIO(PE4),
775 	PINMUX_GPIO(PE3),
776 	PINMUX_GPIO(PE2),
777 	PINMUX_GPIO(PE1),
778 	PINMUX_GPIO(PE0),
779 
780 	/* PF */
781 	PINMUX_GPIO(PF30),
782 	PINMUX_GPIO(PF29),
783 	PINMUX_GPIO(PF28),
784 	PINMUX_GPIO(PF27),
785 	PINMUX_GPIO(PF26),
786 	PINMUX_GPIO(PF25),
787 	PINMUX_GPIO(PF24),
788 	PINMUX_GPIO(PF23),
789 	PINMUX_GPIO(PF22),
790 	PINMUX_GPIO(PF21),
791 	PINMUX_GPIO(PF20),
792 	PINMUX_GPIO(PF19),
793 	PINMUX_GPIO(PF18),
794 	PINMUX_GPIO(PF17),
795 	PINMUX_GPIO(PF16),
796 	PINMUX_GPIO(PF15),
797 	PINMUX_GPIO(PF14),
798 	PINMUX_GPIO(PF13),
799 	PINMUX_GPIO(PF12),
800 	PINMUX_GPIO(PF11),
801 	PINMUX_GPIO(PF10),
802 	PINMUX_GPIO(PF9),
803 	PINMUX_GPIO(PF8),
804 	PINMUX_GPIO(PF7),
805 	PINMUX_GPIO(PF6),
806 	PINMUX_GPIO(PF5),
807 	PINMUX_GPIO(PF4),
808 	PINMUX_GPIO(PF3),
809 	PINMUX_GPIO(PF2),
810 	PINMUX_GPIO(PF1),
811 	PINMUX_GPIO(PF0),
812 };
813 
814 #define PINMUX_FN_BASE	ARRAY_SIZE(pinmux_pins)
815 
816 static const struct pinmux_func pinmux_func_gpios[] = {
817 	/* INTC */
818 	GPIO_FN(PINT7_PB),
819 	GPIO_FN(PINT6_PB),
820 	GPIO_FN(PINT5_PB),
821 	GPIO_FN(PINT4_PB),
822 	GPIO_FN(PINT3_PB),
823 	GPIO_FN(PINT2_PB),
824 	GPIO_FN(PINT1_PB),
825 	GPIO_FN(PINT0_PB),
826 	GPIO_FN(PINT7_PD),
827 	GPIO_FN(PINT6_PD),
828 	GPIO_FN(PINT5_PD),
829 	GPIO_FN(PINT4_PD),
830 	GPIO_FN(PINT3_PD),
831 	GPIO_FN(PINT2_PD),
832 	GPIO_FN(PINT1_PD),
833 	GPIO_FN(PINT0_PD),
834 	GPIO_FN(IRQ7_PB),
835 	GPIO_FN(IRQ6_PB),
836 	GPIO_FN(IRQ5_PB),
837 	GPIO_FN(IRQ4_PB),
838 	GPIO_FN(IRQ3_PB),
839 	GPIO_FN(IRQ2_PB),
840 	GPIO_FN(IRQ1_PB),
841 	GPIO_FN(IRQ0_PB),
842 	GPIO_FN(IRQ7_PD),
843 	GPIO_FN(IRQ6_PD),
844 	GPIO_FN(IRQ5_PD),
845 	GPIO_FN(IRQ4_PD),
846 	GPIO_FN(IRQ3_PD),
847 	GPIO_FN(IRQ2_PD),
848 	GPIO_FN(IRQ1_PD),
849 	GPIO_FN(IRQ0_PD),
850 	GPIO_FN(IRQ7_PE),
851 	GPIO_FN(IRQ6_PE),
852 	GPIO_FN(IRQ5_PE),
853 	GPIO_FN(IRQ4_PE),
854 	GPIO_FN(IRQ3_PE),
855 	GPIO_FN(IRQ2_PE),
856 	GPIO_FN(IRQ1_PE),
857 	GPIO_FN(IRQ0_PE),
858 
859 	GPIO_FN(WDTOVF),
860 	GPIO_FN(IRQOUT),
861 	GPIO_FN(REFOUT),
862 	GPIO_FN(IRQOUT_REFOUT),
863 	GPIO_FN(UBCTRG),
864 
865 	/* CAN */
866 	GPIO_FN(CTX1),
867 	GPIO_FN(CRX1),
868 	GPIO_FN(CTX0),
869 	GPIO_FN(CTX0_CTX1),
870 	GPIO_FN(CRX0),
871 	GPIO_FN(CRX0_CRX1),
872 
873 	/* IIC3 */
874 	GPIO_FN(SDA3),
875 	GPIO_FN(SCL3),
876 	GPIO_FN(SDA2),
877 	GPIO_FN(SCL2),
878 	GPIO_FN(SDA1),
879 	GPIO_FN(SCL1),
880 	GPIO_FN(SDA0),
881 	GPIO_FN(SCL0),
882 
883 	/* DMAC */
884 	GPIO_FN(TEND0_PD),
885 	GPIO_FN(TEND0_PE),
886 	GPIO_FN(DACK0_PD),
887 	GPIO_FN(DACK0_PE),
888 	GPIO_FN(DREQ0_PD),
889 	GPIO_FN(DREQ0_PE),
890 	GPIO_FN(TEND1_PD),
891 	GPIO_FN(TEND1_PE),
892 	GPIO_FN(DACK1_PD),
893 	GPIO_FN(DACK1_PE),
894 	GPIO_FN(DREQ1_PD),
895 	GPIO_FN(DREQ1_PE),
896 	GPIO_FN(DACK2),
897 	GPIO_FN(DREQ2),
898 	GPIO_FN(DACK3),
899 	GPIO_FN(DREQ3),
900 
901 	/* ADC */
902 	GPIO_FN(ADTRG_PD),
903 	GPIO_FN(ADTRG_PE),
904 
905 	/* BSC */
906 	GPIO_FN(D31),
907 	GPIO_FN(D30),
908 	GPIO_FN(D29),
909 	GPIO_FN(D28),
910 	GPIO_FN(D27),
911 	GPIO_FN(D26),
912 	GPIO_FN(D25),
913 	GPIO_FN(D24),
914 	GPIO_FN(D23),
915 	GPIO_FN(D22),
916 	GPIO_FN(D21),
917 	GPIO_FN(D20),
918 	GPIO_FN(D19),
919 	GPIO_FN(D18),
920 	GPIO_FN(D17),
921 	GPIO_FN(D16),
922 	GPIO_FN(A25),
923 	GPIO_FN(A24),
924 	GPIO_FN(A23),
925 	GPIO_FN(A22),
926 	GPIO_FN(A21),
927 	GPIO_FN(CS4),
928 	GPIO_FN(MRES),
929 	GPIO_FN(BS),
930 	GPIO_FN(IOIS16),
931 	GPIO_FN(CS1),
932 	GPIO_FN(CS6_CE1B),
933 	GPIO_FN(CE2B),
934 	GPIO_FN(CS5_CE1A),
935 	GPIO_FN(CE2A),
936 	GPIO_FN(FRAME),
937 	GPIO_FN(WAIT),
938 	GPIO_FN(RDWR),
939 	GPIO_FN(CKE),
940 	GPIO_FN(CASU),
941 	GPIO_FN(BREQ),
942 	GPIO_FN(RASU),
943 	GPIO_FN(BACK),
944 	GPIO_FN(CASL),
945 	GPIO_FN(RASL),
946 	GPIO_FN(WE3_DQMUU_AH_ICIO_WR),
947 	GPIO_FN(WE2_DQMUL_ICIORD),
948 	GPIO_FN(WE1_DQMLU_WE),
949 	GPIO_FN(WE0_DQMLL),
950 	GPIO_FN(CS3),
951 	GPIO_FN(CS2),
952 	GPIO_FN(A1),
953 	GPIO_FN(A0),
954 	GPIO_FN(CS7),
955 
956 	/* TMU */
957 	GPIO_FN(TIOC4D),
958 	GPIO_FN(TIOC4C),
959 	GPIO_FN(TIOC4B),
960 	GPIO_FN(TIOC4A),
961 	GPIO_FN(TIOC3D),
962 	GPIO_FN(TIOC3C),
963 	GPIO_FN(TIOC3B),
964 	GPIO_FN(TIOC3A),
965 	GPIO_FN(TIOC2B),
966 	GPIO_FN(TIOC1B),
967 	GPIO_FN(TIOC2A),
968 	GPIO_FN(TIOC1A),
969 	GPIO_FN(TIOC0D),
970 	GPIO_FN(TIOC0C),
971 	GPIO_FN(TIOC0B),
972 	GPIO_FN(TIOC0A),
973 	GPIO_FN(TCLKD_PD),
974 	GPIO_FN(TCLKC_PD),
975 	GPIO_FN(TCLKB_PD),
976 	GPIO_FN(TCLKA_PD),
977 	GPIO_FN(TCLKD_PF),
978 	GPIO_FN(TCLKC_PF),
979 	GPIO_FN(TCLKB_PF),
980 	GPIO_FN(TCLKA_PF),
981 
982 	/* SSU */
983 	GPIO_FN(SCS0_PD),
984 	GPIO_FN(SSO0_PD),
985 	GPIO_FN(SSI0_PD),
986 	GPIO_FN(SSCK0_PD),
987 	GPIO_FN(SCS0_PF),
988 	GPIO_FN(SSO0_PF),
989 	GPIO_FN(SSI0_PF),
990 	GPIO_FN(SSCK0_PF),
991 	GPIO_FN(SCS1_PD),
992 	GPIO_FN(SSO1_PD),
993 	GPIO_FN(SSI1_PD),
994 	GPIO_FN(SSCK1_PD),
995 	GPIO_FN(SCS1_PF),
996 	GPIO_FN(SSO1_PF),
997 	GPIO_FN(SSI1_PF),
998 	GPIO_FN(SSCK1_PF),
999 
1000 	/* SCIF */
1001 	GPIO_FN(TXD0),
1002 	GPIO_FN(RXD0),
1003 	GPIO_FN(SCK0),
1004 	GPIO_FN(TXD1),
1005 	GPIO_FN(RXD1),
1006 	GPIO_FN(SCK1),
1007 	GPIO_FN(TXD2),
1008 	GPIO_FN(RXD2),
1009 	GPIO_FN(SCK2),
1010 	GPIO_FN(RTS3),
1011 	GPIO_FN(CTS3),
1012 	GPIO_FN(TXD3),
1013 	GPIO_FN(RXD3),
1014 	GPIO_FN(SCK3),
1015 
1016 	/* SSI */
1017 	GPIO_FN(AUDIO_CLK),
1018 	GPIO_FN(SSIDATA3),
1019 	GPIO_FN(SSIWS3),
1020 	GPIO_FN(SSISCK3),
1021 	GPIO_FN(SSIDATA2),
1022 	GPIO_FN(SSIWS2),
1023 	GPIO_FN(SSISCK2),
1024 	GPIO_FN(SSIDATA1),
1025 	GPIO_FN(SSIWS1),
1026 	GPIO_FN(SSISCK1),
1027 	GPIO_FN(SSIDATA0),
1028 	GPIO_FN(SSIWS0),
1029 	GPIO_FN(SSISCK0),
1030 
1031 	/* FLCTL */
1032 	GPIO_FN(FCE),
1033 	GPIO_FN(FRB),
1034 	GPIO_FN(NAF7),
1035 	GPIO_FN(NAF6),
1036 	GPIO_FN(NAF5),
1037 	GPIO_FN(NAF4),
1038 	GPIO_FN(NAF3),
1039 	GPIO_FN(NAF2),
1040 	GPIO_FN(NAF1),
1041 	GPIO_FN(NAF0),
1042 	GPIO_FN(FSC),
1043 	GPIO_FN(FOE),
1044 	GPIO_FN(FCDE),
1045 	GPIO_FN(FWE),
1046 
1047 	/* LCDC */
1048 	GPIO_FN(LCD_VEPWC),
1049 	GPIO_FN(LCD_VCPWC),
1050 	GPIO_FN(LCD_CLK),
1051 	GPIO_FN(LCD_FLM),
1052 	GPIO_FN(LCD_M_DISP),
1053 	GPIO_FN(LCD_CL2),
1054 	GPIO_FN(LCD_CL1),
1055 	GPIO_FN(LCD_DON),
1056 	GPIO_FN(LCD_DATA15),
1057 	GPIO_FN(LCD_DATA14),
1058 	GPIO_FN(LCD_DATA13),
1059 	GPIO_FN(LCD_DATA12),
1060 	GPIO_FN(LCD_DATA11),
1061 	GPIO_FN(LCD_DATA10),
1062 	GPIO_FN(LCD_DATA9),
1063 	GPIO_FN(LCD_DATA8),
1064 	GPIO_FN(LCD_DATA7),
1065 	GPIO_FN(LCD_DATA6),
1066 	GPIO_FN(LCD_DATA5),
1067 	GPIO_FN(LCD_DATA4),
1068 	GPIO_FN(LCD_DATA3),
1069 	GPIO_FN(LCD_DATA2),
1070 	GPIO_FN(LCD_DATA1),
1071 	GPIO_FN(LCD_DATA0),
1072 };
1073 
1074 static const struct pinmux_cfg_reg pinmux_config_regs[] = {
1075 	{ PINMUX_CFG_REG("PBIORL", 0xfffe3886, 16, 1, GROUP(
1076 		0, 0,
1077 		0, 0,
1078 		0, 0,
1079 		0, 0,
1080 		PB11_IN, PB11_OUT,
1081 		PB10_IN, PB10_OUT,
1082 		PB9_IN, PB9_OUT,
1083 		PB8_IN, PB8_OUT,
1084 		0, 0,
1085 		0, 0,
1086 		0, 0,
1087 		0, 0,
1088 		0, 0,
1089 		0, 0,
1090 		0, 0,
1091 		0, 0 ))
1092 	},
1093 	{ PINMUX_CFG_REG("PBCRL4", 0xfffe3890, 16, 4, GROUP(
1094 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1095 
1096 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1097 
1098 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1099 
1100 		PB12MD_00, PB12MD_01, PB12MD_10, PB12MD_11,
1101 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1102 	},
1103 	{ PINMUX_CFG_REG("PBCRL3", 0xfffe3892, 16, 4, GROUP(
1104 		PB11MD_0, PB11MD_1,
1105 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1106 
1107 		PB10MD_0, PB10MD_1,
1108 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1109 
1110 		PB9MD_00, PB9MD_01, PB9MD_10, 0,
1111 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1112 
1113 		PB8MD_00, PB8MD_01, PB8MD_10, 0,
1114 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1115 	},
1116 	{ PINMUX_CFG_REG("PBCRL2", 0xfffe3894, 16, 4, GROUP(
1117 		PB7MD_00, PB7MD_01, PB7MD_10, PB7MD_11,
1118 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1119 
1120 		PB6MD_00, PB6MD_01, PB6MD_10, PB6MD_11,
1121 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1122 
1123 		PB5MD_00, PB5MD_01, PB5MD_10, PB5MD_11,
1124 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1125 
1126 		PB4MD_00, PB4MD_01, PB4MD_10, PB4MD_11,
1127 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1128 	},
1129 	{ PINMUX_CFG_REG("PBCRL1", 0xfffe3896, 16, 4, GROUP(
1130 		PB3MD_00, PB3MD_01, PB3MD_10, PB3MD_11,
1131 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1132 
1133 		PB2MD_00, PB2MD_01, PB2MD_10, PB2MD_11,
1134 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1135 
1136 		PB1MD_00, PB1MD_01, PB1MD_10, PB1MD_11,
1137 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1138 
1139 		PB0MD_00, PB0MD_01, PB0MD_10, PB0MD_11,
1140 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1141 	},
1142 	{ PINMUX_CFG_REG("IFCR", 0xfffe38a2, 16, 4, GROUP(
1143 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1144 
1145 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1146 
1147 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1148 
1149 		PB12IRQ_00, PB12IRQ_01, PB12IRQ_10, 0,
1150 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1151 	},
1152 	{ PINMUX_CFG_REG("PCIORL", 0xfffe3906, 16, 1, GROUP(
1153 		0, 0,
1154 		PC14_IN, PC14_OUT,
1155 		PC13_IN, PC13_OUT,
1156 		PC12_IN, PC12_OUT,
1157 		PC11_IN, PC11_OUT,
1158 		PC10_IN, PC10_OUT,
1159 		PC9_IN, PC9_OUT,
1160 		PC8_IN, PC8_OUT,
1161 		PC7_IN, PC7_OUT,
1162 		PC6_IN, PC6_OUT,
1163 		PC5_IN, PC5_OUT,
1164 		PC4_IN, PC4_OUT,
1165 		PC3_IN, PC3_OUT,
1166 		PC2_IN, PC2_OUT,
1167 		PC1_IN, PC1_OUT,
1168 		PC0_IN, PC0_OUT ))
1169 	},
1170 	{ PINMUX_CFG_REG("PCCRL4", 0xfffe3910, 16, 4, GROUP(
1171 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1172 
1173 		PC14MD_0, PC14MD_1,
1174 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1175 
1176 		PC13MD_0, PC13MD_1,
1177 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1178 
1179 		PC12MD_0, PC12MD_1,
1180 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1181 	},
1182 	{ PINMUX_CFG_REG("PCCRL3", 0xfffe3912, 16, 4, GROUP(
1183 		PC11MD_00, PC11MD_01, PC11MD_10, 0,
1184 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1185 
1186 		PC10MD_00, PC10MD_01, PC10MD_10, 0,
1187 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1188 
1189 		PC9MD_0, PC9MD_1,
1190 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1191 
1192 		PC8MD_0, PC8MD_1,
1193 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1194 	},
1195 	{ PINMUX_CFG_REG("PCCRL2", 0xfffe3914, 16, 4, GROUP(
1196 		PC7MD_0, PC7MD_1,
1197 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1198 
1199 		PC6MD_0, PC6MD_1,
1200 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1201 
1202 		PC5MD_0, PC5MD_1,
1203 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1204 
1205 		PC4MD_0, PC4MD_1,
1206 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1207 	},
1208 	{ PINMUX_CFG_REG("PCCRL1", 0xfffe3916, 16, 4, GROUP(
1209 		PC3MD_0, PC3MD_1,
1210 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1211 
1212 		PC2MD_0, PC2MD_1,
1213 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1214 
1215 		PC1MD_0, PC1MD_1,
1216 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1217 
1218 		PC0MD_00, PC0MD_01, PC0MD_10, 0,
1219 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1220 	},
1221 	{ PINMUX_CFG_REG("PDIORL", 0xfffe3986, 16, 1, GROUP(
1222 		PD15_IN, PD15_OUT,
1223 		PD14_IN, PD14_OUT,
1224 		PD13_IN, PD13_OUT,
1225 		PD12_IN, PD12_OUT,
1226 		PD11_IN, PD11_OUT,
1227 		PD10_IN, PD10_OUT,
1228 		PD9_IN, PD9_OUT,
1229 		PD8_IN, PD8_OUT,
1230 		PD7_IN, PD7_OUT,
1231 		PD6_IN, PD6_OUT,
1232 		PD5_IN, PD5_OUT,
1233 		PD4_IN, PD4_OUT,
1234 		PD3_IN, PD3_OUT,
1235 		PD2_IN, PD2_OUT,
1236 		PD1_IN, PD1_OUT,
1237 		PD0_IN, PD0_OUT ))
1238 	},
1239 	{ PINMUX_CFG_REG("PDCRL4", 0xfffe3990, 16, 4, GROUP(
1240 		PD15MD_000, PD15MD_001, PD15MD_010, 0,
1241 		PD15MD_100, PD15MD_101, 0, 0,
1242 		0, 0, 0, 0, 0, 0, 0, 0,
1243 
1244 		PD14MD_000, PD14MD_001, PD14MD_010, 0,
1245 		0, PD14MD_101, 0, 0,
1246 		0, 0, 0, 0, 0, 0, 0, 0,
1247 
1248 		PD13MD_000, PD13MD_001, PD13MD_010, 0,
1249 		PD13MD_100, PD13MD_101, 0, 0,
1250 		0, 0, 0, 0, 0, 0, 0, 0,
1251 
1252 		PD12MD_000, PD12MD_001, PD12MD_010, 0,
1253 		PD12MD_100, PD12MD_101, 0, 0,
1254 		0, 0, 0, 0, 0, 0, 0, 0 ))
1255 	},
1256 	{ PINMUX_CFG_REG("PDCRL3", 0xfffe3992, 16, 4, GROUP(
1257 		PD11MD_000, PD11MD_001, PD11MD_010, 0,
1258 		PD11MD_100, PD11MD_101, 0, 0,
1259 		0, 0, 0, 0, 0, 0, 0, 0,
1260 
1261 		PD10MD_000, PD10MD_001, PD10MD_010, 0,
1262 		PD10MD_100, PD10MD_101, 0, 0,
1263 		0, 0, 0, 0, 0, 0, 0, 0,
1264 
1265 		PD9MD_000, PD9MD_001, PD9MD_010, 0,
1266 		PD9MD_100, PD9MD_101, 0, 0,
1267 		0, 0, 0, 0, 0, 0, 0, 0,
1268 
1269 		PD8MD_000, PD8MD_001, PD8MD_010, 0,
1270 		PD8MD_100, PD8MD_101, 0, 0,
1271 		0, 0, 0, 0, 0, 0, 0, 0 ))
1272 	},
1273 	{ PINMUX_CFG_REG("PDCRL2", 0xfffe3994, 16, 4, GROUP(
1274 		PD7MD_000, PD7MD_001, PD7MD_010, PD7MD_011,
1275 		PD7MD_100, PD7MD_101, 0, 0,
1276 		0, 0, 0, 0, 0, 0, 0, 0,
1277 
1278 		PD6MD_000, PD6MD_001, PD6MD_010, PD6MD_011,
1279 		PD6MD_100, PD6MD_101, 0, 0,
1280 		0, 0, 0, 0, 0, 0, 0, 0,
1281 
1282 		PD5MD_000, PD5MD_001, PD5MD_010, PD5MD_011,
1283 		PD5MD_100, PD5MD_101, 0, 0,
1284 		0, 0, 0, 0, 0, 0, 0, 0,
1285 
1286 		PD4MD_000, PD4MD_001, PD4MD_010, PD4MD_011,
1287 		PD4MD_100, PD4MD_101, 0, 0,
1288 		0, 0, 0, 0, 0, 0, 0, 0 ))
1289 	},
1290 	{ PINMUX_CFG_REG("PDCRL1", 0xfffe3996, 16, 4, GROUP(
1291 		PD3MD_000, PD3MD_001, PD3MD_010, PD3MD_011,
1292 		PD3MD_100, PD3MD_101, 0, 0,
1293 		0, 0, 0, 0, 0, 0, 0, 0,
1294 
1295 		PD2MD_000, PD2MD_001, PD2MD_010, PD2MD_011,
1296 		PD2MD_100, PD2MD_101, 0, 0,
1297 		0, 0, 0, 0, 0, 0, 0, 0,
1298 
1299 		PD1MD_000, PD1MD_001, PD1MD_010, PD1MD_011,
1300 		PD1MD_100, PD1MD_101, 0, 0,
1301 		0, 0, 0, 0, 0, 0, 0, 0,
1302 
1303 		PD0MD_000, PD0MD_001, PD0MD_010, PD0MD_011,
1304 		PD0MD_100, PD0MD_101, 0, 0,
1305 		0, 0, 0, 0, 0, 0, 0, 0 ))
1306 	},
1307 	{ PINMUX_CFG_REG("PEIORL", 0xfffe3a06, 16, 1, GROUP(
1308 		PE15_IN, PE15_OUT,
1309 		PE14_IN, PE14_OUT,
1310 		PE13_IN, PE13_OUT,
1311 		PE12_IN, PE12_OUT,
1312 		PE11_IN, PE11_OUT,
1313 		PE10_IN, PE10_OUT,
1314 		PE9_IN, PE9_OUT,
1315 		PE8_IN, PE8_OUT,
1316 		PE7_IN, PE7_OUT,
1317 		PE6_IN, PE6_OUT,
1318 		PE5_IN, PE5_OUT,
1319 		PE4_IN, PE4_OUT,
1320 		PE3_IN, PE3_OUT,
1321 		PE2_IN, PE2_OUT,
1322 		PE1_IN, PE1_OUT,
1323 		PE0_IN, PE0_OUT ))
1324 	},
1325 	{ PINMUX_CFG_REG("PECRL4", 0xfffe3a10, 16, 4, GROUP(
1326 		PE15MD_00, PE15MD_01, 0, PE15MD_11,
1327 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1328 
1329 		PE14MD_00, PE14MD_01, 0, PE14MD_11,
1330 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1331 
1332 		PE13MD_00, 0, 0, PE13MD_11,
1333 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1334 
1335 		PE12MD_00, 0, 0, PE12MD_11,
1336 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1337 	},
1338 	{ PINMUX_CFG_REG("PECRL3", 0xfffe3a12, 16, 4, GROUP(
1339 		PE11MD_000, PE11MD_001, PE11MD_010, 0,
1340 		PE11MD_100, 0, 0, 0,
1341 		0, 0, 0, 0, 0, 0, 0, 0,
1342 
1343 		PE10MD_000, PE10MD_001, PE10MD_010, 0,
1344 		PE10MD_100, 0, 0, 0,
1345 		0, 0, 0, 0, 0, 0, 0, 0,
1346 
1347 		PE9MD_00, PE9MD_01, PE9MD_10, PE9MD_11,
1348 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1349 
1350 		PE8MD_00, PE8MD_01, PE8MD_10, PE8MD_11,
1351 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1352 	},
1353 	{ PINMUX_CFG_REG("PECRL2", 0xfffe3a14, 16, 4, GROUP(
1354 		PE7MD_000, PE7MD_001, PE7MD_010, PE7MD_011,
1355 		PE7MD_100, 0, 0, 0,
1356 		0, 0, 0, 0, 0, 0, 0, 0,
1357 
1358 		PE6MD_000, PE6MD_001, PE6MD_010, PE6MD_011,
1359 		PE6MD_100, 0, 0, 0,
1360 		0, 0, 0, 0, 0, 0, 0, 0,
1361 
1362 		PE5MD_000, PE5MD_001, PE5MD_010, PE5MD_011,
1363 		PE5MD_100, 0, 0, 0,
1364 		0, 0, 0, 0, 0, 0, 0, 0,
1365 
1366 		PE4MD_000, PE4MD_001, PE4MD_010, PE4MD_011,
1367 		PE4MD_100, 0, 0, 0,
1368 		0, 0, 0, 0, 0, 0, 0, 0 ))
1369 	},
1370 	{ PINMUX_CFG_REG("PECRL1", 0xfffe3a16, 16, 4, GROUP(
1371 		PE3MD_00, PE3MD_01, 0, PE3MD_11,
1372 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1373 
1374 		PE2MD_00, PE2MD_01, 0, PE2MD_11,
1375 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1376 
1377 		PE1MD_00, PE1MD_01, PE1MD_10, PE1MD_11,
1378 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1379 
1380 		PE0MD_000, PE0MD_001, 0, PE0MD_011,
1381 		PE0MD_100, 0, 0, 0,
1382 		0, 0, 0, 0, 0, 0, 0, 0 ))
1383 	},
1384 	{ PINMUX_CFG_REG("PFIORH", 0xfffe3a84, 16, 1, GROUP(
1385 		0, 0,
1386 		PF30_IN, PF30_OUT,
1387 		PF29_IN, PF29_OUT,
1388 		PF28_IN, PF28_OUT,
1389 		PF27_IN, PF27_OUT,
1390 		PF26_IN, PF26_OUT,
1391 		PF25_IN, PF25_OUT,
1392 		PF24_IN, PF24_OUT,
1393 		PF23_IN, PF23_OUT,
1394 		PF22_IN, PF22_OUT,
1395 		PF21_IN, PF21_OUT,
1396 		PF20_IN, PF20_OUT,
1397 		PF19_IN, PF19_OUT,
1398 		PF18_IN, PF18_OUT,
1399 		PF17_IN, PF17_OUT,
1400 		PF16_IN, PF16_OUT ))
1401 	},
1402 	{ PINMUX_CFG_REG("PFIORL", 0xfffe3a86, 16, 1, GROUP(
1403 		PF15_IN, PF15_OUT,
1404 		PF14_IN, PF14_OUT,
1405 		PF13_IN, PF13_OUT,
1406 		PF12_IN, PF12_OUT,
1407 		PF11_IN, PF11_OUT,
1408 		PF10_IN, PF10_OUT,
1409 		PF9_IN, PF9_OUT,
1410 		PF8_IN, PF8_OUT,
1411 		PF7_IN, PF7_OUT,
1412 		PF6_IN, PF6_OUT,
1413 		PF5_IN, PF5_OUT,
1414 		PF4_IN, PF4_OUT,
1415 		PF3_IN, PF3_OUT,
1416 		PF2_IN, PF2_OUT,
1417 		PF1_IN, PF1_OUT,
1418 		PF0_IN, PF0_OUT ))
1419 	},
1420 	{ PINMUX_CFG_REG("PFCRH4", 0xfffe3a88, 16, 4, GROUP(
1421 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1422 
1423 		PF30MD_0, PF30MD_1,
1424 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1425 
1426 		PF29MD_0, PF29MD_1,
1427 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1428 
1429 		PF28MD_0, PF28MD_1,
1430 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1431 	},
1432 	{ PINMUX_CFG_REG("PFCRH3", 0xfffe3a8a, 16, 4, GROUP(
1433 		PF27MD_0, PF27MD_1,
1434 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1435 
1436 		PF26MD_0, PF26MD_1,
1437 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1438 
1439 		PF25MD_0, PF25MD_1,
1440 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1441 
1442 		PF24MD_0, PF24MD_1,
1443 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1444 	},
1445 	{ PINMUX_CFG_REG("PFCRH2", 0xfffe3a8c, 16, 4, GROUP(
1446 		PF23MD_00, PF23MD_01, PF23MD_10, 0,
1447 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1448 
1449 		PF22MD_00, PF22MD_01, PF22MD_10, 0,
1450 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1451 
1452 		PF21MD_00, PF21MD_01, PF21MD_10, 0,
1453 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1454 
1455 		PF20MD_00, PF20MD_01, PF20MD_10, 0,
1456 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1457 	},
1458 	{ PINMUX_CFG_REG("PFCRH1", 0xfffe3a8e, 16, 4, GROUP(
1459 		PF19MD_00, PF19MD_01, PF19MD_10, 0,
1460 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1461 
1462 		PF18MD_00, PF18MD_01, PF18MD_10, 0,
1463 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1464 
1465 		PF17MD_00, PF17MD_01, PF17MD_10, 0,
1466 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1467 
1468 		PF16MD_00, PF16MD_01, PF16MD_10, 0,
1469 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1470 	},
1471 	{ PINMUX_CFG_REG("PFCRL4", 0xfffe3a90, 16, 4, GROUP(
1472 		PF15MD_00, PF15MD_01, PF15MD_10, 0,
1473 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1474 
1475 		PF14MD_00, PF14MD_01, PF14MD_10, 0,
1476 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1477 
1478 		PF13MD_00, PF13MD_01, PF13MD_10, 0,
1479 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1480 
1481 		PF12MD_00, PF12MD_01, PF12MD_10, 0,
1482 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1483 	},
1484 	{ PINMUX_CFG_REG("PFCRL3", 0xfffe3a92, 16, 4, GROUP(
1485 		PF11MD_00, PF11MD_01, PF11MD_10, 0,
1486 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1487 
1488 		PF10MD_00, PF10MD_01, PF10MD_10, 0,
1489 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1490 
1491 		PF9MD_00, PF9MD_01, PF9MD_10, 0,
1492 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1493 
1494 		PF8MD_00, PF8MD_01, PF8MD_10, 0,
1495 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1496 	},
1497 	{ PINMUX_CFG_REG("PFCRL2", 0xfffe3a94, 16, 4, GROUP(
1498 		PF7MD_00, PF7MD_01, PF7MD_10, PF7MD_11,
1499 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1500 
1501 		PF6MD_00, PF6MD_01, PF6MD_10, PF6MD_11,
1502 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1503 
1504 		PF5MD_00, PF5MD_01, PF5MD_10, PF5MD_11,
1505 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1506 
1507 		PF4MD_00, PF4MD_01, PF4MD_10, PF4MD_11,
1508 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1509 	},
1510 	{ PINMUX_CFG_REG("PFCRL1", 0xfffe3a96, 16, 4, GROUP(
1511 		PF3MD_00, PF3MD_01, PF3MD_10, PF3MD_11,
1512 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1513 
1514 		PF2MD_00, PF2MD_01, PF2MD_10, PF2MD_11,
1515 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1516 
1517 		PF1MD_00, PF1MD_01, PF1MD_10, PF1MD_11,
1518 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1519 
1520 		PF0MD_00, PF0MD_01, PF0MD_10, PF0MD_11,
1521 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1522 	},
1523 	{}
1524 };
1525 
1526 static const struct pinmux_data_reg pinmux_data_regs[] = {
1527 	{ PINMUX_DATA_REG("PADRL", 0xfffe3802, 16, GROUP(
1528 		0, 0, 0, 0,
1529 		0, 0, 0, 0,
1530 		PA7_DATA, PA6_DATA, PA5_DATA, PA4_DATA,
1531 		PA3_DATA, PA2_DATA, PA1_DATA, PA0_DATA ))
1532 	},
1533 	{ PINMUX_DATA_REG("PBDRL", 0xfffe3882, 16, GROUP(
1534 		0, 0, 0, PB12_DATA,
1535 		PB11_DATA, PB10_DATA, PB9_DATA, PB8_DATA,
1536 		PB7_DATA, PB6_DATA, PB5_DATA, PB4_DATA,
1537 		PB3_DATA, PB2_DATA, PB1_DATA, PB0_DATA ))
1538 	},
1539 	{ PINMUX_DATA_REG("PCDRL", 0xfffe3902, 16, GROUP(
1540 		0, PC14_DATA, PC13_DATA, PC12_DATA,
1541 		PC11_DATA, PC10_DATA, PC9_DATA, PC8_DATA,
1542 		PC7_DATA, PC6_DATA, PC5_DATA, PC4_DATA,
1543 		PC3_DATA, PC2_DATA, PC1_DATA, PC0_DATA ))
1544 	},
1545 	{ PINMUX_DATA_REG("PDDRL", 0xfffe3982, 16, GROUP(
1546 		PD15_DATA, PD14_DATA, PD13_DATA, PD12_DATA,
1547 		PD11_DATA, PD10_DATA, PD9_DATA, PD8_DATA,
1548 		PD7_DATA, PD6_DATA, PD5_DATA, PD4_DATA,
1549 		PD3_DATA, PD2_DATA, PD1_DATA, PD0_DATA ))
1550 	},
1551 	{ PINMUX_DATA_REG("PEDRL", 0xfffe3a02, 16, GROUP(
1552 		PE15_DATA, PE14_DATA, PE13_DATA, PE12_DATA,
1553 		PE11_DATA, PE10_DATA, PE9_DATA, PE8_DATA,
1554 		PE7_DATA, PE6_DATA, PE5_DATA, PE4_DATA,
1555 		PE3_DATA, PE2_DATA, PE1_DATA, PE0_DATA ))
1556 	},
1557 	{ PINMUX_DATA_REG("PFDRH", 0xfffe3a80, 16, GROUP(
1558 		0, PF30_DATA, PF29_DATA, PF28_DATA,
1559 		PF27_DATA, PF26_DATA, PF25_DATA, PF24_DATA,
1560 		PF23_DATA, PF22_DATA, PF21_DATA, PF20_DATA,
1561 		PF19_DATA, PF18_DATA, PF17_DATA, PF16_DATA ))
1562 	},
1563 	{ PINMUX_DATA_REG("PFDRL", 0xfffe3a82, 16, GROUP(
1564 		PF15_DATA, PF14_DATA, PF13_DATA, PF12_DATA,
1565 		PF11_DATA, PF10_DATA, PF9_DATA, PF8_DATA,
1566 		PF7_DATA, PF6_DATA, PF5_DATA, PF4_DATA,
1567 		PF3_DATA, PF2_DATA, PF1_DATA, PF0_DATA ))
1568 	},
1569 	{ },
1570 };
1571 
1572 const struct sh_pfc_soc_info sh7203_pinmux_info = {
1573 	.name = "sh7203_pfc",
1574 	.input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END, FORCE_IN },
1575 	.output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END, FORCE_OUT },
1576 	.function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
1577 
1578 	.pins = pinmux_pins,
1579 	.nr_pins = ARRAY_SIZE(pinmux_pins),
1580 	.func_gpios = pinmux_func_gpios,
1581 	.nr_func_gpios = ARRAY_SIZE(pinmux_func_gpios),
1582 
1583 	.cfg_regs = pinmux_config_regs,
1584 	.data_regs = pinmux_data_regs,
1585 
1586 	.pinmux_data = pinmux_data,
1587 	.pinmux_data_size = ARRAY_SIZE(pinmux_data),
1588 };
1589