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