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