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