1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2008 Magnus Damm
8 #include <linux/kernel.h>
9 #include <cpu/sh7203.h>
17 PA7_DATA, PA6_DATA, PA5_DATA, PA4_DATA,
18 PA3_DATA, PA2_DATA, PA1_DATA, PA0_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,
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,
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,
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,
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,
116 PB12IRQ_00, PB12IRQ_01, PB12IRQ_10,
121 PC11MD_00, PC11MD_01, PC11MD_10,
122 PC10MD_00, PC10MD_01, PC10MD_10,
132 PC0MD_00, PC0MD_01, PC0MD_10,
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,
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,
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,
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,
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,
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,
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,
271 static const u16 pinmux_data[] = {
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),
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),
290 PINMUX_DATA(PB11_DATA, PB11MD_0, PB11_IN, PB11_OUT),
291 PINMUX_DATA(CTX1_MARK, PB11MD_1),
293 PINMUX_DATA(PB10_DATA, PB10MD_0, PB10_IN, PB10_OUT),
294 PINMUX_DATA(CRX1_MARK, PB10MD_1),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
345 PINMUX_DATA(PC14_DATA, PC14MD_0, PC14_IN, PC14_OUT),
346 PINMUX_DATA(WAIT_MARK, PC14MD_1),
348 PINMUX_DATA(PC13_DATA, PC13MD_0, PC13_IN, PC13_OUT),
349 PINMUX_DATA(RDWR_MARK, PC13MD_1),
351 PINMUX_DATA(PC12_DATA, PC12MD_0, PC12_IN, PC12_OUT),
352 PINMUX_DATA(CKE_MARK, PC12MD_1),
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),
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),
362 PINMUX_DATA(PC9_DATA, PC9MD_0, PC9_IN, PC9_OUT),
363 PINMUX_DATA(CASL_MARK, PC9MD_1),
365 PINMUX_DATA(PC8_DATA, PC8MD_0, PC8_IN, PC8_OUT),
366 PINMUX_DATA(RASL_MARK, PC8MD_1),
368 PINMUX_DATA(PC7_DATA, PC7MD_0, PC7_IN, PC7_OUT),
369 PINMUX_DATA(WE3_DQMUU_AH_ICIO_WR_MARK, PC7MD_1),
371 PINMUX_DATA(PC6_DATA, PC6MD_0, PC6_IN, PC6_OUT),
372 PINMUX_DATA(WE2_DQMUL_ICIORD_MARK, PC6MD_1),
374 PINMUX_DATA(PC5_DATA, PC5MD_0, PC5_IN, PC5_OUT),
375 PINMUX_DATA(WE1_DQMLU_WE_MARK, PC5MD_1),
377 PINMUX_DATA(PC4_DATA, PC4MD_0, PC4_IN, PC4_OUT),
378 PINMUX_DATA(WE0_DQMLL_MARK, PC4MD_1),
380 PINMUX_DATA(PC3_DATA, PC3MD_0, PC3_IN, PC3_OUT),
381 PINMUX_DATA(CS3_MARK, PC3MD_1),
383 PINMUX_DATA(PC2_DATA, PC2MD_0, PC2_IN, PC2_OUT),
384 PINMUX_DATA(CS2_MARK, PC2MD_1),
386 PINMUX_DATA(PC1_DATA, PC1MD_0, PC1_IN, PC1_OUT),
387 PINMUX_DATA(A1_MARK, PC1MD_1),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
506 PINMUX_DATA(PE13_DATA, PE13MD_00, PE13_IN, PE13_OUT),
507 PINMUX_DATA(TXD3_MARK, PE13MD_11),
509 PINMUX_DATA(PE12_DATA, PE12MD_00, PE12_IN, PE12_OUT),
510 PINMUX_DATA(RXD3_MARK, PE12MD_11),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
575 PINMUX_DATA(PF30_DATA, PF30MD_0, PF30_IN, PF30_OUT),
576 PINMUX_DATA(AUDIO_CLK_MARK, PF30MD_1),
578 PINMUX_DATA(PF29_DATA, PF29MD_0, PF29_IN, PF29_OUT),
579 PINMUX_DATA(SSIDATA3_MARK, PF29MD_1),
581 PINMUX_DATA(PF28_DATA, PF28MD_0, PF28_IN, PF28_OUT),
582 PINMUX_DATA(SSIWS3_MARK, PF28MD_1),
584 PINMUX_DATA(PF27_DATA, PF27MD_0, PF27_IN, PF27_OUT),
585 PINMUX_DATA(SSISCK3_MARK, PF27MD_1),
587 PINMUX_DATA(PF26_DATA, PF26MD_0, PF26_IN, PF26_OUT),
588 PINMUX_DATA(SSIDATA2_MARK, PF26MD_1),
590 PINMUX_DATA(PF25_DATA, PF25MD_0, PF25_IN, PF25_OUT),
591 PINMUX_DATA(SSIWS2_MARK, PF25MD_1),
593 PINMUX_DATA(PF24_DATA, PF24MD_0, PF24_IN, PF24_OUT),
594 PINMUX_DATA(SSISCK2_MARK, PF24MD_1),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
701 static const struct sh_pfc_pin pinmux_pins[] = {
814 #define PINMUX_FN_BASE ARRAY_SIZE(pinmux_pins)
816 static const struct pinmux_func pinmux_func_gpios[] = {
862 GPIO_FN(IRQOUT_REFOUT),
946 GPIO_FN(WE3_DQMUU_AH_ICIO_WR),
947 GPIO_FN(WE2_DQMUL_ICIORD),
948 GPIO_FN(WE1_DQMLU_WE),
1052 GPIO_FN(LCD_M_DISP),
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),
1074 static const struct pinmux_cfg_reg pinmux_config_regs[] = {
1075 { PINMUX_CFG_REG("PBIORL", 0xfffe3886, 16, 1, GROUP(
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,
1096 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1098 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1100 PB12MD_00, PB12MD_01, PB12MD_10, PB12MD_11,
1101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1103 { PINMUX_CFG_REG("PBCRL3", 0xfffe3892, 16, 4, GROUP(
1105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1110 PB9MD_00, PB9MD_01, PB9MD_10, 0,
1111 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1113 PB8MD_00, PB8MD_01, PB8MD_10, 0,
1114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
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,
1120 PB6MD_00, PB6MD_01, PB6MD_10, PB6MD_11,
1121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1123 PB5MD_00, PB5MD_01, PB5MD_10, PB5MD_11,
1124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1126 PB4MD_00, PB4MD_01, PB4MD_10, PB4MD_11,
1127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
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,
1133 PB2MD_00, PB2MD_01, PB2MD_10, PB2MD_11,
1134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1136 PB1MD_00, PB1MD_01, PB1MD_10, PB1MD_11,
1137 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1139 PB0MD_00, PB0MD_01, PB0MD_10, PB0MD_11,
1140 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
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,
1145 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1147 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1149 PB12IRQ_00, PB12IRQ_01, PB12IRQ_10, 0,
1150 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1152 { PINMUX_CFG_REG("PCIORL", 0xfffe3906, 16, 1, GROUP(
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,
1174 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
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,
1186 PC10MD_00, PC10MD_01, PC10MD_10, 0,
1187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1195 { PINMUX_CFG_REG("PCCRL2", 0xfffe3914, 16, 4, GROUP(
1197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1208 { PINMUX_CFG_REG("PCCRL1", 0xfffe3916, 16, 4, GROUP(
1210 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1213 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1216 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1218 PC0MD_00, PC0MD_01, PC0MD_10, 0,
1219 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1221 { PINMUX_CFG_REG("PDIORL", 0xfffe3986, 16, 1, GROUP(
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,
1244 PD14MD_000, PD14MD_001, PD14MD_010, 0,
1245 0, PD14MD_101, 0, 0,
1246 0, 0, 0, 0, 0, 0, 0, 0,
1248 PD13MD_000, PD13MD_001, PD13MD_010, 0,
1249 PD13MD_100, PD13MD_101, 0, 0,
1250 0, 0, 0, 0, 0, 0, 0, 0,
1252 PD12MD_000, PD12MD_001, PD12MD_010, 0,
1253 PD12MD_100, PD12MD_101, 0, 0,
1254 0, 0, 0, 0, 0, 0, 0, 0 ))
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,
1261 PD10MD_000, PD10MD_001, PD10MD_010, 0,
1262 PD10MD_100, PD10MD_101, 0, 0,
1263 0, 0, 0, 0, 0, 0, 0, 0,
1265 PD9MD_000, PD9MD_001, PD9MD_010, 0,
1266 PD9MD_100, PD9MD_101, 0, 0,
1267 0, 0, 0, 0, 0, 0, 0, 0,
1269 PD8MD_000, PD8MD_001, PD8MD_010, 0,
1270 PD8MD_100, PD8MD_101, 0, 0,
1271 0, 0, 0, 0, 0, 0, 0, 0 ))
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,
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,
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,
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 ))
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,
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,
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,
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 ))
1307 { PINMUX_CFG_REG("PEIORL", 0xfffe3a06, 16, 1, GROUP(
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,
1329 PE14MD_00, PE14MD_01, 0, PE14MD_11,
1330 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1332 PE13MD_00, 0, 0, PE13MD_11,
1333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1335 PE12MD_00, 0, 0, PE12MD_11,
1336 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
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,
1343 PE10MD_000, PE10MD_001, PE10MD_010, 0,
1344 PE10MD_100, 0, 0, 0,
1345 0, 0, 0, 0, 0, 0, 0, 0,
1347 PE9MD_00, PE9MD_01, PE9MD_10, PE9MD_11,
1348 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1350 PE8MD_00, PE8MD_01, PE8MD_10, PE8MD_11,
1351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1353 { PINMUX_CFG_REG("PECRL2", 0xfffe3a14, 16, 4, GROUP(
1354 PE7MD_000, PE7MD_001, PE7MD_010, PE7MD_011,
1356 0, 0, 0, 0, 0, 0, 0, 0,
1358 PE6MD_000, PE6MD_001, PE6MD_010, PE6MD_011,
1360 0, 0, 0, 0, 0, 0, 0, 0,
1362 PE5MD_000, PE5MD_001, PE5MD_010, PE5MD_011,
1364 0, 0, 0, 0, 0, 0, 0, 0,
1366 PE4MD_000, PE4MD_001, PE4MD_010, PE4MD_011,
1368 0, 0, 0, 0, 0, 0, 0, 0 ))
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,
1374 PE2MD_00, PE2MD_01, 0, PE2MD_11,
1375 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1377 PE1MD_00, PE1MD_01, PE1MD_10, PE1MD_11,
1378 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1380 PE0MD_000, PE0MD_001, 0, PE0MD_011,
1382 0, 0, 0, 0, 0, 0, 0, 0 ))
1384 { PINMUX_CFG_REG("PFIORH", 0xfffe3a84, 16, 1, GROUP(
1400 PF16_IN, PF16_OUT ))
1402 { PINMUX_CFG_REG("PFIORL", 0xfffe3a86, 16, 1, GROUP(
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,
1424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1432 { PINMUX_CFG_REG("PFCRH3", 0xfffe3a8a, 16, 4, GROUP(
1434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
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,
1449 PF22MD_00, PF22MD_01, PF22MD_10, 0,
1450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1452 PF21MD_00, PF21MD_01, PF21MD_10, 0,
1453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1455 PF20MD_00, PF20MD_01, PF20MD_10, 0,
1456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
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,
1462 PF18MD_00, PF18MD_01, PF18MD_10, 0,
1463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1465 PF17MD_00, PF17MD_01, PF17MD_10, 0,
1466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1468 PF16MD_00, PF16MD_01, PF16MD_10, 0,
1469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
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,
1475 PF14MD_00, PF14MD_01, PF14MD_10, 0,
1476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1478 PF13MD_00, PF13MD_01, PF13MD_10, 0,
1479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1481 PF12MD_00, PF12MD_01, PF12MD_10, 0,
1482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
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,
1488 PF10MD_00, PF10MD_01, PF10MD_10, 0,
1489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1491 PF9MD_00, PF9MD_01, PF9MD_10, 0,
1492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1494 PF8MD_00, PF8MD_01, PF8MD_10, 0,
1495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
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,
1501 PF6MD_00, PF6MD_01, PF6MD_10, PF6MD_11,
1502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1504 PF5MD_00, PF5MD_01, PF5MD_10, PF5MD_11,
1505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1507 PF4MD_00, PF4MD_01, PF4MD_10, PF4MD_11,
1508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
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,
1514 PF2MD_00, PF2MD_01, PF2MD_10, PF2MD_11,
1515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1517 PF1MD_00, PF1MD_01, PF1MD_10, PF1MD_11,
1518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1520 PF0MD_00, PF0MD_01, PF0MD_10, PF0MD_11,
1521 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
1526 static const struct pinmux_data_reg pinmux_data_regs[] = {
1527 { PINMUX_DATA_REG("PADRL", 0xfffe3802, 16, GROUP(
1530 PA7_DATA, PA6_DATA, PA5_DATA, PA4_DATA,
1531 PA3_DATA, PA2_DATA, PA1_DATA, PA0_DATA ))
1533 { PINMUX_DATA_REG("PBDRL", 0xfffe3882, 16, GROUP(
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 ))
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 ))
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 ))
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 ))
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 ))
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 ))
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 },
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),
1583 .cfg_regs = pinmux_config_regs,
1584 .data_regs = pinmux_data_regs,
1586 .pinmux_data = pinmux_data,
1587 .pinmux_data_size = ARRAY_SIZE(pinmux_data),