1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * SH7720 Pinmux
4  *
5  *  Copyright (C) 2008  Magnus Damm
6  */
7 
8 #include <linux/kernel.h>
9 #include <linux/gpio.h>
10 #include <cpu/sh7720.h>
11 
12 #include "sh_pfc.h"
13 
14 enum {
15 	PINMUX_RESERVED = 0,
16 
17 	PINMUX_DATA_BEGIN,
18 	PTA7_DATA, PTA6_DATA, PTA5_DATA, PTA4_DATA,
19 	PTA3_DATA, PTA2_DATA, PTA1_DATA, PTA0_DATA,
20 	PTB7_DATA, PTB6_DATA, PTB5_DATA, PTB4_DATA,
21 	PTB3_DATA, PTB2_DATA, PTB1_DATA, PTB0_DATA,
22 	PTC7_DATA, PTC6_DATA, PTC5_DATA, PTC4_DATA,
23 	PTC3_DATA, PTC2_DATA, PTC1_DATA, PTC0_DATA,
24 	PTD7_DATA, PTD6_DATA, PTD5_DATA, PTD4_DATA,
25 	PTD3_DATA, PTD2_DATA, PTD1_DATA, PTD0_DATA,
26 	PTE6_DATA, PTE5_DATA, PTE4_DATA,
27 	PTE3_DATA, PTE2_DATA, PTE1_DATA, PTE0_DATA,
28 	PTF6_DATA, PTF5_DATA, PTF4_DATA,
29 	PTF3_DATA, PTF2_DATA, PTF1_DATA, PTF0_DATA,
30 	PTG6_DATA, PTG5_DATA, PTG4_DATA,
31 	PTG3_DATA, PTG2_DATA, PTG1_DATA, PTG0_DATA,
32 	PTH6_DATA, PTH5_DATA, PTH4_DATA,
33 	PTH3_DATA, PTH2_DATA, PTH1_DATA, PTH0_DATA,
34 	PTJ6_DATA, PTJ5_DATA, PTJ4_DATA,
35 	PTJ3_DATA, PTJ2_DATA, PTJ1_DATA, PTJ0_DATA,
36 	PTK3_DATA, PTK2_DATA, PTK1_DATA, PTK0_DATA,
37 	PTL7_DATA, PTL6_DATA, PTL5_DATA, PTL4_DATA, PTL3_DATA,
38 	PTM7_DATA, PTM6_DATA, PTM5_DATA, PTM4_DATA,
39 	PTM3_DATA, PTM2_DATA, PTM1_DATA, PTM0_DATA,
40 	PTP4_DATA, PTP3_DATA, PTP2_DATA, PTP1_DATA, PTP0_DATA,
41 	PTR7_DATA, PTR6_DATA, PTR5_DATA, PTR4_DATA,
42 	PTR3_DATA, PTR2_DATA, PTR1_DATA, PTR0_DATA,
43 	PTS4_DATA, PTS3_DATA, PTS2_DATA, PTS1_DATA, PTS0_DATA,
44 	PTT4_DATA, PTT3_DATA, PTT2_DATA, PTT1_DATA, PTT0_DATA,
45 	PTU4_DATA, PTU3_DATA, PTU2_DATA, PTU1_DATA, PTU0_DATA,
46 	PTV4_DATA, PTV3_DATA, PTV2_DATA, PTV1_DATA, PTV0_DATA,
47 	PINMUX_DATA_END,
48 
49 	PINMUX_INPUT_BEGIN,
50 	PTA7_IN, PTA6_IN, PTA5_IN, PTA4_IN,
51 	PTA3_IN, PTA2_IN, PTA1_IN, PTA0_IN,
52 	PTB7_IN, PTB6_IN, PTB5_IN, PTB4_IN,
53 	PTB3_IN, PTB2_IN, PTB1_IN, PTB0_IN,
54 	PTC7_IN, PTC6_IN, PTC5_IN, PTC4_IN,
55 	PTC3_IN, PTC2_IN, PTC1_IN, PTC0_IN,
56 	PTD7_IN, PTD6_IN, PTD5_IN, PTD4_IN,
57 	PTD3_IN, PTD2_IN, PTD1_IN, PTD0_IN,
58 	PTE6_IN, PTE5_IN, PTE4_IN,
59 	PTE3_IN, PTE2_IN, PTE1_IN, PTE0_IN,
60 	PTF6_IN, PTF5_IN, PTF4_IN,
61 	PTF3_IN, PTF2_IN, PTF1_IN, PTF0_IN,
62 	PTG6_IN, PTG5_IN, PTG4_IN,
63 	PTG3_IN, PTG2_IN, PTG1_IN, PTG0_IN,
64 	PTH6_IN, PTH5_IN, PTH4_IN,
65 	PTH3_IN, PTH2_IN, PTH1_IN, PTH0_IN,
66 	PTJ6_IN, PTJ5_IN, PTJ4_IN,
67 	PTJ3_IN, PTJ2_IN, PTJ1_IN, PTJ0_IN,
68 	PTK3_IN, PTK2_IN, PTK1_IN, PTK0_IN,
69 	PTL7_IN, PTL6_IN, PTL5_IN, PTL4_IN, PTL3_IN,
70 	PTM7_IN, PTM6_IN, PTM5_IN, PTM4_IN,
71 	PTM3_IN, PTM2_IN, PTM1_IN, PTM0_IN,
72 	PTP4_IN, PTP3_IN, PTP2_IN, PTP1_IN, PTP0_IN,
73 	PTR7_IN, PTR6_IN, PTR5_IN, PTR4_IN,
74 	PTR3_IN, PTR2_IN, PTR1_IN, PTR0_IN,
75 	PTS4_IN, PTS3_IN, PTS2_IN, PTS1_IN, PTS0_IN,
76 	PTT4_IN, PTT3_IN, PTT2_IN, PTT1_IN, PTT0_IN,
77 	PTU4_IN, PTU3_IN, PTU2_IN, PTU1_IN, PTU0_IN,
78 	PTV4_IN, PTV3_IN, PTV2_IN, PTV1_IN, PTV0_IN,
79 	PINMUX_INPUT_END,
80 
81 	PINMUX_OUTPUT_BEGIN,
82 	PTA7_OUT, PTA6_OUT, PTA5_OUT, PTA4_OUT,
83 	PTA3_OUT, PTA2_OUT, PTA1_OUT, PTA0_OUT,
84 	PTB7_OUT, PTB6_OUT, PTB5_OUT, PTB4_OUT,
85 	PTB3_OUT, PTB2_OUT, PTB1_OUT, PTB0_OUT,
86 	PTC7_OUT, PTC6_OUT, PTC5_OUT, PTC4_OUT,
87 	PTC3_OUT, PTC2_OUT, PTC1_OUT, PTC0_OUT,
88 	PTD7_OUT, PTD6_OUT, PTD5_OUT, PTD4_OUT,
89 	PTD3_OUT, PTD2_OUT, PTD1_OUT, PTD0_OUT,
90 	PTE4_OUT, PTE3_OUT, PTE2_OUT, PTE1_OUT, PTE0_OUT,
91 	PTF0_OUT,
92 	PTG6_OUT, PTG5_OUT, PTG4_OUT,
93 	PTG3_OUT, PTG2_OUT, PTG1_OUT, PTG0_OUT,
94 	PTH6_OUT, PTH5_OUT, PTH4_OUT,
95 	PTH3_OUT, PTH2_OUT, PTH1_OUT, PTH0_OUT,
96 	PTJ6_OUT, PTJ5_OUT, PTJ4_OUT,
97 	PTJ3_OUT, PTJ2_OUT, PTJ1_OUT, PTJ0_OUT,
98 	PTK3_OUT, PTK2_OUT, PTK1_OUT, PTK0_OUT,
99 	PTL7_OUT, PTL6_OUT, PTL5_OUT, PTL4_OUT, PTL3_OUT,
100 	PTM7_OUT, PTM6_OUT, PTM5_OUT, PTM4_OUT,
101 	PTM3_OUT, PTM2_OUT, PTM1_OUT, PTM0_OUT,
102 	PTP4_OUT, PTP3_OUT, PTP2_OUT, PTP1_OUT, PTP0_OUT,
103 	PTR7_OUT, PTR6_OUT, PTR5_OUT, PTR4_OUT,
104 	PTR3_OUT, PTR2_OUT, PTR1_OUT, PTR0_OUT,
105 	PTS4_OUT, PTS3_OUT, PTS2_OUT, PTS1_OUT, PTS0_OUT,
106 	PTT4_OUT, PTT3_OUT, PTT2_OUT, PTT1_OUT, PTT0_OUT,
107 	PTU4_OUT, PTU3_OUT, PTU2_OUT, PTU1_OUT, PTU0_OUT,
108 	PTV4_OUT, PTV3_OUT, PTV2_OUT, PTV1_OUT, PTV0_OUT,
109 	PINMUX_OUTPUT_END,
110 
111 	PINMUX_FUNCTION_BEGIN,
112 	PTA7_FN, PTA6_FN, PTA5_FN, PTA4_FN,
113 	PTA3_FN, PTA2_FN, PTA1_FN, PTA0_FN,
114 	PTB7_FN, PTB6_FN, PTB5_FN, PTB4_FN,
115 	PTB3_FN, PTB2_FN, PTB1_FN, PTB0_FN,
116 	PTC7_FN, PTC6_FN, PTC5_FN, PTC4_FN,
117 	PTC3_FN, PTC2_FN, PTC1_FN, PTC0_FN,
118 	PTD7_FN, PTD6_FN, PTD5_FN, PTD4_FN,
119 	PTD3_FN, PTD2_FN, PTD1_FN, PTD0_FN,
120 	PTE6_FN, PTE5_FN, PTE4_FN,
121 	PTE3_FN, PTE2_FN, PTE1_FN, PTE0_FN,
122 	PTF6_FN, PTF5_FN, PTF4_FN,
123 	PTF3_FN, PTF2_FN, PTF1_FN, PTF0_FN,
124 	PTG6_FN, PTG5_FN, PTG4_FN,
125 	PTG3_FN, PTG2_FN, PTG1_FN, PTG0_FN,
126 	PTH6_FN, PTH5_FN, PTH4_FN,
127 	PTH3_FN, PTH2_FN, PTH1_FN, PTH0_FN,
128 	PTJ6_FN, PTJ5_FN, PTJ4_FN,
129 	PTJ3_FN, PTJ2_FN, PTJ1_FN, PTJ0_FN,
130 	PTK3_FN, PTK2_FN, PTK1_FN, PTK0_FN,
131 	PTL7_FN, PTL6_FN, PTL5_FN, PTL4_FN, PTL3_FN,
132 	PTM7_FN, PTM6_FN, PTM5_FN, PTM4_FN,
133 	PTM3_FN, PTM2_FN, PTM1_FN, PTM0_FN,
134 	PTP4_FN, PTP3_FN, PTP2_FN, PTP1_FN, PTP0_FN,
135 	PTR7_FN, PTR6_FN, PTR5_FN, PTR4_FN,
136 	PTR3_FN, PTR2_FN, PTR1_FN, PTR0_FN,
137 	PTS4_FN, PTS3_FN, PTS2_FN, PTS1_FN, PTS0_FN,
138 	PTT4_FN, PTT3_FN, PTT2_FN, PTT1_FN, PTT0_FN,
139 	PTU4_FN, PTU3_FN, PTU2_FN, PTU1_FN, PTU0_FN,
140 	PTV4_FN, PTV3_FN, PTV2_FN, PTV1_FN, PTV0_FN,
141 
142 	PSELA_1_0_00, PSELA_1_0_01, PSELA_1_0_10,
143 	PSELA_3_2_00, PSELA_3_2_01, PSELA_3_2_10, PSELA_3_2_11,
144 	PSELA_5_4_00, PSELA_5_4_01, PSELA_5_4_10, PSELA_5_4_11,
145 	PSELA_7_6_00, PSELA_7_6_01, PSELA_7_6_10,
146 	PSELA_9_8_00, PSELA_9_8_01, PSELA_9_8_10,
147 	PSELA_11_10_00, PSELA_11_10_01, PSELA_11_10_10,
148 	PSELA_13_12_00, PSELA_13_12_10,
149 	PSELA_15_14_00, PSELA_15_14_10,
150 	PSELB_9_8_00, PSELB_9_8_11,
151 	PSELB_11_10_00, PSELB_11_10_01, PSELB_11_10_10, PSELB_11_10_11,
152 	PSELB_13_12_00, PSELB_13_12_01, PSELB_13_12_10, PSELB_13_12_11,
153 	PSELB_15_14_00, PSELB_15_14_11,
154 	PSELC_9_8_00, PSELC_9_8_10,
155 	PSELC_11_10_00, PSELC_11_10_10,
156 	PSELC_13_12_00,	PSELC_13_12_01,	PSELC_13_12_10,
157 	PSELC_15_14_00,	PSELC_15_14_01,	PSELC_15_14_10,
158 	PSELD_1_0_00, PSELD_1_0_10,
159 	PSELD_11_10_00,	PSELD_11_10_01,
160 	PSELD_15_14_00,	PSELD_15_14_01,	PSELD_15_14_10,
161 	PINMUX_FUNCTION_END,
162 
163 	PINMUX_MARK_BEGIN,
164 	D31_MARK, D30_MARK, D29_MARK, D28_MARK,
165 	D27_MARK, D26_MARK, D25_MARK, D24_MARK,
166 	D23_MARK, D22_MARK, D21_MARK, D20_MARK,
167 	D19_MARK, D18_MARK, D17_MARK, D16_MARK,
168 	IOIS16_MARK, RAS_MARK, CAS_MARK, CKE_MARK,
169 	CS5B_CE1A_MARK, CS6B_CE1B_MARK,
170 	A25_MARK, A24_MARK, A23_MARK, A22_MARK,
171 	A21_MARK, A20_MARK, A19_MARK, A0_MARK,
172 	REFOUT_MARK, IRQOUT_MARK,
173 	LCD_DATA15_MARK, LCD_DATA14_MARK,
174 	LCD_DATA13_MARK, LCD_DATA12_MARK,
175 	LCD_DATA11_MARK, LCD_DATA10_MARK,
176 	LCD_DATA9_MARK, LCD_DATA8_MARK,
177 	LCD_DATA7_MARK, LCD_DATA6_MARK,
178 	LCD_DATA5_MARK, LCD_DATA4_MARK,
179 	LCD_DATA3_MARK, LCD_DATA2_MARK,
180 	LCD_DATA1_MARK, LCD_DATA0_MARK,
181 	LCD_M_DISP_MARK,
182 	LCD_CL1_MARK, LCD_CL2_MARK,
183 	LCD_DON_MARK, LCD_FLM_MARK,
184 	LCD_VEPWC_MARK, LCD_VCPWC_MARK,
185 	AFE_RXIN_MARK, AFE_RDET_MARK,
186 	AFE_FS_MARK, AFE_TXOUT_MARK,
187 	AFE_SCLK_MARK, AFE_RLYCNT_MARK,
188 	AFE_HC1_MARK,
189 	IIC_SCL_MARK, IIC_SDA_MARK,
190 	DA1_MARK, DA0_MARK,
191 	AN3_MARK, AN2_MARK, AN1_MARK, AN0_MARK, ADTRG_MARK,
192 	USB1D_RCV_MARK, USB1D_TXSE0_MARK,
193 	USB1D_TXDPLS_MARK, USB1D_DMNS_MARK,
194 	USB1D_DPLS_MARK, USB1D_SPEED_MARK,
195 	USB1D_TXENL_MARK,
196 	USB2_PWR_EN_MARK, USB1_PWR_EN_USBF_UPLUP_MARK, USB1D_SUSPEND_MARK,
197 	IRQ5_MARK, IRQ4_MARK,
198 	IRQ3_IRL3_MARK, IRQ2_IRL2_MARK,
199 	IRQ1_IRL1_MARK, IRQ0_IRL0_MARK,
200 	PCC_REG_MARK, PCC_DRV_MARK,
201 	PCC_BVD2_MARK, PCC_BVD1_MARK,
202 	PCC_CD2_MARK, PCC_CD1_MARK,
203 	PCC_RESET_MARK, PCC_RDY_MARK,
204 	PCC_VS2_MARK, PCC_VS1_MARK,
205 	AUDATA3_MARK, AUDATA2_MARK, AUDATA1_MARK, AUDATA0_MARK,
206 	AUDCK_MARK, AUDSYNC_MARK, ASEBRKAK_MARK, TRST_MARK,
207 	TMS_MARK, TDO_MARK, TDI_MARK, TCK_MARK,
208 	DACK1_MARK, DREQ1_MARK, DACK0_MARK, DREQ0_MARK,
209 	TEND1_MARK, TEND0_MARK,
210 	SIOF0_SYNC_MARK, SIOF0_MCLK_MARK,
211 	SIOF0_TXD_MARK, SIOF0_RXD_MARK,
212 	SIOF0_SCK_MARK,
213 	SIOF1_SYNC_MARK, SIOF1_MCLK_MARK,
214 	SIOF1_TXD_MARK, SIOF1_RXD_MARK,
215 	SIOF1_SCK_MARK,
216 	SCIF0_TXD_MARK, SCIF0_RXD_MARK,
217 	SCIF0_RTS_MARK, SCIF0_CTS_MARK, SCIF0_SCK_MARK,
218 	SCIF1_TXD_MARK, SCIF1_RXD_MARK,
219 	SCIF1_RTS_MARK, SCIF1_CTS_MARK, SCIF1_SCK_MARK,
220 	TPU_TO1_MARK, TPU_TO0_MARK,
221 	TPU_TI3B_MARK, TPU_TI3A_MARK,
222 	TPU_TI2B_MARK, TPU_TI2A_MARK,
223 	TPU_TO3_MARK, TPU_TO2_MARK,
224 	SIM_D_MARK, SIM_CLK_MARK, SIM_RST_MARK,
225 	MMC_DAT_MARK, MMC_CMD_MARK,
226 	MMC_CLK_MARK, MMC_VDDON_MARK,
227 	MMC_ODMOD_MARK,
228 	STATUS0_MARK, STATUS1_MARK,
229 	PINMUX_MARK_END,
230 };
231 
232 static const u16 pinmux_data[] = {
233 	/* PTA GPIO */
234 	PINMUX_DATA(PTA7_DATA, PTA7_IN, PTA7_OUT),
235 	PINMUX_DATA(PTA6_DATA, PTA6_IN, PTA6_OUT),
236 	PINMUX_DATA(PTA5_DATA, PTA5_IN, PTA5_OUT),
237 	PINMUX_DATA(PTA4_DATA, PTA4_IN, PTA4_OUT),
238 	PINMUX_DATA(PTA3_DATA, PTA3_IN, PTA3_OUT),
239 	PINMUX_DATA(PTA2_DATA, PTA2_IN, PTA2_OUT),
240 	PINMUX_DATA(PTA1_DATA, PTA1_IN, PTA1_OUT),
241 	PINMUX_DATA(PTA0_DATA, PTA0_IN, PTA0_OUT),
242 
243 	/* PTB GPIO */
244 	PINMUX_DATA(PTB7_DATA, PTB7_IN, PTB7_OUT),
245 	PINMUX_DATA(PTB6_DATA, PTB6_IN, PTB6_OUT),
246 	PINMUX_DATA(PTB5_DATA, PTB5_IN, PTB5_OUT),
247 	PINMUX_DATA(PTB4_DATA, PTB4_IN, PTB4_OUT),
248 	PINMUX_DATA(PTB3_DATA, PTB3_IN, PTB3_OUT),
249 	PINMUX_DATA(PTB2_DATA, PTB2_IN, PTB2_OUT),
250 	PINMUX_DATA(PTB1_DATA, PTB1_IN, PTB1_OUT),
251 	PINMUX_DATA(PTB0_DATA, PTB0_IN, PTB0_OUT),
252 
253 	/* PTC GPIO */
254 	PINMUX_DATA(PTC7_DATA, PTC7_IN, PTC7_OUT),
255 	PINMUX_DATA(PTC6_DATA, PTC6_IN, PTC6_OUT),
256 	PINMUX_DATA(PTC5_DATA, PTC5_IN, PTC5_OUT),
257 	PINMUX_DATA(PTC4_DATA, PTC4_IN, PTC4_OUT),
258 	PINMUX_DATA(PTC3_DATA, PTC3_IN, PTC3_OUT),
259 	PINMUX_DATA(PTC2_DATA, PTC2_IN, PTC2_OUT),
260 	PINMUX_DATA(PTC1_DATA, PTC1_IN, PTC1_OUT),
261 	PINMUX_DATA(PTC0_DATA, PTC0_IN, PTC0_OUT),
262 
263 	/* PTD GPIO */
264 	PINMUX_DATA(PTD7_DATA, PTD7_IN, PTD7_OUT),
265 	PINMUX_DATA(PTD6_DATA, PTD6_IN, PTD6_OUT),
266 	PINMUX_DATA(PTD5_DATA, PTD5_IN, PTD5_OUT),
267 	PINMUX_DATA(PTD4_DATA, PTD4_IN, PTD4_OUT),
268 	PINMUX_DATA(PTD3_DATA, PTD3_IN, PTD3_OUT),
269 	PINMUX_DATA(PTD2_DATA, PTD2_IN, PTD2_OUT),
270 	PINMUX_DATA(PTD1_DATA, PTD1_IN, PTD1_OUT),
271 	PINMUX_DATA(PTD0_DATA, PTD0_IN, PTD0_OUT),
272 
273 	/* PTE GPIO */
274 	PINMUX_DATA(PTE6_DATA, PTE6_IN),
275 	PINMUX_DATA(PTE5_DATA, PTE5_IN),
276 	PINMUX_DATA(PTE4_DATA, PTE4_IN, PTE4_OUT),
277 	PINMUX_DATA(PTE3_DATA, PTE3_IN, PTE3_OUT),
278 	PINMUX_DATA(PTE2_DATA, PTE2_IN, PTE2_OUT),
279 	PINMUX_DATA(PTE1_DATA, PTE1_IN, PTE1_OUT),
280 	PINMUX_DATA(PTE0_DATA, PTE0_IN, PTE0_OUT),
281 
282 	/* PTF GPIO */
283 	PINMUX_DATA(PTF6_DATA, PTF6_IN),
284 	PINMUX_DATA(PTF5_DATA, PTF5_IN),
285 	PINMUX_DATA(PTF4_DATA, PTF4_IN),
286 	PINMUX_DATA(PTF3_DATA, PTF3_IN),
287 	PINMUX_DATA(PTF2_DATA, PTF2_IN),
288 	PINMUX_DATA(PTF1_DATA, PTF1_IN),
289 	PINMUX_DATA(PTF0_DATA, PTF0_IN, PTF0_OUT),
290 
291 	/* PTG GPIO */
292 	PINMUX_DATA(PTG6_DATA, PTG6_IN, PTG6_OUT),
293 	PINMUX_DATA(PTG5_DATA, PTG5_IN, PTG5_OUT),
294 	PINMUX_DATA(PTG4_DATA, PTG4_IN, PTG4_OUT),
295 	PINMUX_DATA(PTG3_DATA, PTG3_IN, PTG3_OUT),
296 	PINMUX_DATA(PTG2_DATA, PTG2_IN, PTG2_OUT),
297 	PINMUX_DATA(PTG1_DATA, PTG1_IN, PTG1_OUT),
298 	PINMUX_DATA(PTG0_DATA, PTG0_IN, PTG0_OUT),
299 
300 	/* PTH GPIO */
301 	PINMUX_DATA(PTH6_DATA, PTH6_IN, PTH6_OUT),
302 	PINMUX_DATA(PTH5_DATA, PTH5_IN, PTH5_OUT),
303 	PINMUX_DATA(PTH4_DATA, PTH4_IN, PTH4_OUT),
304 	PINMUX_DATA(PTH3_DATA, PTH3_IN, PTH3_OUT),
305 	PINMUX_DATA(PTH2_DATA, PTH2_IN, PTH2_OUT),
306 	PINMUX_DATA(PTH1_DATA, PTH1_IN, PTH1_OUT),
307 	PINMUX_DATA(PTH0_DATA, PTH0_IN, PTH0_OUT),
308 
309 	/* PTJ GPIO */
310 	PINMUX_DATA(PTJ6_DATA, PTJ6_IN, PTJ6_OUT),
311 	PINMUX_DATA(PTJ5_DATA, PTJ5_IN, PTJ5_OUT),
312 	PINMUX_DATA(PTJ4_DATA, PTJ4_IN, PTJ4_OUT),
313 	PINMUX_DATA(PTJ3_DATA, PTJ3_IN, PTJ3_OUT),
314 	PINMUX_DATA(PTJ2_DATA, PTJ2_IN, PTJ2_OUT),
315 	PINMUX_DATA(PTJ1_DATA, PTJ1_IN, PTJ1_OUT),
316 	PINMUX_DATA(PTJ0_DATA, PTJ0_IN, PTJ0_OUT),
317 
318 	/* PTK GPIO */
319 	PINMUX_DATA(PTK3_DATA, PTK3_IN, PTK3_OUT),
320 	PINMUX_DATA(PTK2_DATA, PTK2_IN, PTK2_OUT),
321 	PINMUX_DATA(PTK1_DATA, PTK1_IN, PTK1_OUT),
322 	PINMUX_DATA(PTK0_DATA, PTK0_IN, PTK0_OUT),
323 
324 	/* PTL GPIO */
325 	PINMUX_DATA(PTL7_DATA, PTL7_IN, PTL7_OUT),
326 	PINMUX_DATA(PTL6_DATA, PTL6_IN, PTL6_OUT),
327 	PINMUX_DATA(PTL5_DATA, PTL5_IN, PTL5_OUT),
328 	PINMUX_DATA(PTL4_DATA, PTL4_IN, PTL4_OUT),
329 	PINMUX_DATA(PTL3_DATA, PTL3_IN, PTL3_OUT),
330 
331 	/* PTM GPIO */
332 	PINMUX_DATA(PTM7_DATA, PTM7_IN, PTM7_OUT),
333 	PINMUX_DATA(PTM6_DATA, PTM6_IN, PTM6_OUT),
334 	PINMUX_DATA(PTM5_DATA, PTM5_IN, PTM5_OUT),
335 	PINMUX_DATA(PTM4_DATA, PTM4_IN, PTM4_OUT),
336 	PINMUX_DATA(PTM3_DATA, PTM3_IN, PTM3_OUT),
337 	PINMUX_DATA(PTM2_DATA, PTM2_IN, PTM2_OUT),
338 	PINMUX_DATA(PTM1_DATA, PTM1_IN, PTM1_OUT),
339 	PINMUX_DATA(PTM0_DATA, PTM0_IN, PTM0_OUT),
340 
341 	/* PTP GPIO */
342 	PINMUX_DATA(PTP4_DATA, PTP4_IN, PTP4_OUT),
343 	PINMUX_DATA(PTP3_DATA, PTP3_IN, PTP3_OUT),
344 	PINMUX_DATA(PTP2_DATA, PTP2_IN, PTP2_OUT),
345 	PINMUX_DATA(PTP1_DATA, PTP1_IN, PTP1_OUT),
346 	PINMUX_DATA(PTP0_DATA, PTP0_IN, PTP0_OUT),
347 
348 	/* PTR GPIO */
349 	PINMUX_DATA(PTR7_DATA, PTR7_IN, PTR7_OUT),
350 	PINMUX_DATA(PTR6_DATA, PTR6_IN, PTR6_OUT),
351 	PINMUX_DATA(PTR5_DATA, PTR5_IN, PTR5_OUT),
352 	PINMUX_DATA(PTR4_DATA, PTR4_IN, PTR4_OUT),
353 	PINMUX_DATA(PTR3_DATA, PTR3_IN, PTR3_OUT),
354 	PINMUX_DATA(PTR2_DATA, PTR2_IN, PTR2_OUT),
355 	PINMUX_DATA(PTR1_DATA, PTR1_IN, PTR1_OUT),
356 	PINMUX_DATA(PTR0_DATA, PTR0_IN, PTR0_OUT),
357 
358 	/* PTS GPIO */
359 	PINMUX_DATA(PTS4_DATA, PTS4_IN, PTS4_OUT),
360 	PINMUX_DATA(PTS3_DATA, PTS3_IN, PTS3_OUT),
361 	PINMUX_DATA(PTS2_DATA, PTS2_IN, PTS2_OUT),
362 	PINMUX_DATA(PTS1_DATA, PTS1_IN, PTS1_OUT),
363 	PINMUX_DATA(PTS0_DATA, PTS0_IN, PTS0_OUT),
364 
365 	/* PTT GPIO */
366 	PINMUX_DATA(PTT4_DATA, PTT4_IN, PTT4_OUT),
367 	PINMUX_DATA(PTT3_DATA, PTT3_IN, PTT3_OUT),
368 	PINMUX_DATA(PTT2_DATA, PTT2_IN, PTT2_OUT),
369 	PINMUX_DATA(PTT1_DATA, PTT1_IN, PTT1_OUT),
370 	PINMUX_DATA(PTT0_DATA, PTT0_IN, PTT0_OUT),
371 
372 	/* PTU GPIO */
373 	PINMUX_DATA(PTU4_DATA, PTU4_IN, PTU4_OUT),
374 	PINMUX_DATA(PTU3_DATA, PTU3_IN, PTU3_OUT),
375 	PINMUX_DATA(PTU2_DATA, PTU2_IN, PTU2_OUT),
376 	PINMUX_DATA(PTU1_DATA, PTU1_IN, PTU1_OUT),
377 	PINMUX_DATA(PTU0_DATA, PTU0_IN, PTU0_OUT),
378 
379 	/* PTV GPIO */
380 	PINMUX_DATA(PTV4_DATA, PTV4_IN, PTV4_OUT),
381 	PINMUX_DATA(PTV3_DATA, PTV3_IN, PTV3_OUT),
382 	PINMUX_DATA(PTV2_DATA, PTV2_IN, PTV2_OUT),
383 	PINMUX_DATA(PTV1_DATA, PTV1_IN, PTV1_OUT),
384 	PINMUX_DATA(PTV0_DATA, PTV0_IN, PTV0_OUT),
385 
386 	/* PTA FN */
387 	PINMUX_DATA(D23_MARK, PTA7_FN),
388 	PINMUX_DATA(D22_MARK, PTA6_FN),
389 	PINMUX_DATA(D21_MARK, PTA5_FN),
390 	PINMUX_DATA(D20_MARK, PTA4_FN),
391 	PINMUX_DATA(D19_MARK, PTA3_FN),
392 	PINMUX_DATA(D18_MARK, PTA2_FN),
393 	PINMUX_DATA(D17_MARK, PTA1_FN),
394 	PINMUX_DATA(D16_MARK, PTA0_FN),
395 
396 	/* PTB FN */
397 	PINMUX_DATA(D31_MARK, PTB7_FN),
398 	PINMUX_DATA(D30_MARK, PTB6_FN),
399 	PINMUX_DATA(D29_MARK, PTB5_FN),
400 	PINMUX_DATA(D28_MARK, PTB4_FN),
401 	PINMUX_DATA(D27_MARK, PTB3_FN),
402 	PINMUX_DATA(D26_MARK, PTB2_FN),
403 	PINMUX_DATA(D25_MARK, PTB1_FN),
404 	PINMUX_DATA(D24_MARK, PTB0_FN),
405 
406 	/* PTC FN */
407 	PINMUX_DATA(LCD_DATA7_MARK, PTC7_FN),
408 	PINMUX_DATA(LCD_DATA6_MARK, PTC6_FN),
409 	PINMUX_DATA(LCD_DATA5_MARK, PTC5_FN),
410 	PINMUX_DATA(LCD_DATA4_MARK, PTC4_FN),
411 	PINMUX_DATA(LCD_DATA3_MARK, PTC3_FN),
412 	PINMUX_DATA(LCD_DATA2_MARK, PTC2_FN),
413 	PINMUX_DATA(LCD_DATA1_MARK, PTC1_FN),
414 	PINMUX_DATA(LCD_DATA0_MARK, PTC0_FN),
415 
416 	/* PTD FN */
417 	PINMUX_DATA(LCD_DATA15_MARK, PTD7_FN),
418 	PINMUX_DATA(LCD_DATA14_MARK, PTD6_FN),
419 	PINMUX_DATA(LCD_DATA13_MARK, PTD5_FN),
420 	PINMUX_DATA(LCD_DATA12_MARK, PTD4_FN),
421 	PINMUX_DATA(LCD_DATA11_MARK, PTD3_FN),
422 	PINMUX_DATA(LCD_DATA10_MARK, PTD2_FN),
423 	PINMUX_DATA(LCD_DATA9_MARK, PTD1_FN),
424 	PINMUX_DATA(LCD_DATA8_MARK, PTD0_FN),
425 
426 	/* PTE FN */
427 	PINMUX_DATA(IIC_SCL_MARK, PSELB_9_8_00, PTE6_FN),
428 	PINMUX_DATA(AFE_RXIN_MARK, PSELB_9_8_11, PTE6_FN),
429 	PINMUX_DATA(IIC_SDA_MARK, PSELB_9_8_00, PTE5_FN),
430 	PINMUX_DATA(AFE_RDET_MARK, PSELB_9_8_11, PTE5_FN),
431 	PINMUX_DATA(LCD_M_DISP_MARK, PTE4_FN),
432 	PINMUX_DATA(LCD_CL1_MARK, PTE3_FN),
433 	PINMUX_DATA(LCD_CL2_MARK, PTE2_FN),
434 	PINMUX_DATA(LCD_DON_MARK, PTE1_FN),
435 	PINMUX_DATA(LCD_FLM_MARK, PTE0_FN),
436 
437 	/* PTF FN */
438 	PINMUX_DATA(DA1_MARK, PTF6_FN),
439 	PINMUX_DATA(DA0_MARK, PTF5_FN),
440 	PINMUX_DATA(AN3_MARK, PTF4_FN),
441 	PINMUX_DATA(AN2_MARK, PTF3_FN),
442 	PINMUX_DATA(AN1_MARK, PTF2_FN),
443 	PINMUX_DATA(AN0_MARK, PTF1_FN),
444 	PINMUX_DATA(ADTRG_MARK, PTF0_FN),
445 
446 	/* PTG FN */
447 	PINMUX_DATA(USB1D_RCV_MARK, PSELA_3_2_00, PTG6_FN),
448 	PINMUX_DATA(AFE_FS_MARK, PSELA_3_2_01, PTG6_FN),
449 	PINMUX_DATA(PCC_REG_MARK, PSELA_3_2_10, PTG6_FN),
450 	PINMUX_DATA(IRQ5_MARK, PSELA_3_2_11, PTG6_FN),
451 	PINMUX_DATA(USB1D_TXSE0_MARK, PSELA_5_4_00, PTG5_FN),
452 	PINMUX_DATA(AFE_TXOUT_MARK, PSELA_5_4_01, PTG5_FN),
453 	PINMUX_DATA(PCC_DRV_MARK, PSELA_5_4_10, PTG5_FN),
454 	PINMUX_DATA(IRQ4_MARK, PSELA_5_4_11, PTG5_FN),
455 	PINMUX_DATA(USB1D_TXDPLS_MARK, PSELA_7_6_00, PTG4_FN),
456 	PINMUX_DATA(AFE_SCLK_MARK, PSELA_7_6_01, PTG4_FN),
457 	PINMUX_DATA(IOIS16_MARK, PSELA_7_6_10, PTG4_FN),
458 	PINMUX_DATA(USB1D_DMNS_MARK, PSELA_9_8_00, PTG3_FN),
459 	PINMUX_DATA(AFE_RLYCNT_MARK, PSELA_9_8_01, PTG3_FN),
460 	PINMUX_DATA(PCC_BVD2_MARK, PSELA_9_8_10, PTG3_FN),
461 	PINMUX_DATA(USB1D_DPLS_MARK, PSELA_11_10_00, PTG2_FN),
462 	PINMUX_DATA(AFE_HC1_MARK, PSELA_11_10_01, PTG2_FN),
463 	PINMUX_DATA(PCC_BVD1_MARK, PSELA_11_10_10, PTG2_FN),
464 	PINMUX_DATA(USB1D_SPEED_MARK, PSELA_13_12_00, PTG1_FN),
465 	PINMUX_DATA(PCC_CD2_MARK, PSELA_13_12_10, PTG1_FN),
466 	PINMUX_DATA(USB1D_TXENL_MARK, PSELA_15_14_00, PTG0_FN),
467 	PINMUX_DATA(PCC_CD1_MARK, PSELA_15_14_10, PTG0_FN),
468 
469 	/* PTH FN */
470 	PINMUX_DATA(RAS_MARK, PTH6_FN),
471 	PINMUX_DATA(CAS_MARK, PTH5_FN),
472 	PINMUX_DATA(CKE_MARK, PTH4_FN),
473 	PINMUX_DATA(STATUS1_MARK, PTH3_FN),
474 	PINMUX_DATA(STATUS0_MARK, PTH2_FN),
475 	PINMUX_DATA(USB2_PWR_EN_MARK, PTH1_FN),
476 	PINMUX_DATA(USB1_PWR_EN_USBF_UPLUP_MARK, PTH0_FN),
477 
478 	/* PTJ FN */
479 	PINMUX_DATA(AUDCK_MARK, PTJ6_FN),
480 	PINMUX_DATA(ASEBRKAK_MARK, PTJ5_FN),
481 	PINMUX_DATA(AUDATA3_MARK, PTJ4_FN),
482 	PINMUX_DATA(AUDATA2_MARK, PTJ3_FN),
483 	PINMUX_DATA(AUDATA1_MARK, PTJ2_FN),
484 	PINMUX_DATA(AUDATA0_MARK, PTJ1_FN),
485 	PINMUX_DATA(AUDSYNC_MARK, PTJ0_FN),
486 
487 	/* PTK FN */
488 	PINMUX_DATA(PCC_RESET_MARK, PTK3_FN),
489 	PINMUX_DATA(PCC_RDY_MARK, PTK2_FN),
490 	PINMUX_DATA(PCC_VS2_MARK, PTK1_FN),
491 	PINMUX_DATA(PCC_VS1_MARK, PTK0_FN),
492 
493 	/* PTL FN */
494 	PINMUX_DATA(TRST_MARK, PTL7_FN),
495 	PINMUX_DATA(TMS_MARK, PTL6_FN),
496 	PINMUX_DATA(TDO_MARK, PTL5_FN),
497 	PINMUX_DATA(TDI_MARK, PTL4_FN),
498 	PINMUX_DATA(TCK_MARK, PTL3_FN),
499 
500 	/* PTM FN */
501 	PINMUX_DATA(DREQ1_MARK, PTM7_FN),
502 	PINMUX_DATA(DREQ0_MARK, PTM6_FN),
503 	PINMUX_DATA(DACK1_MARK, PTM5_FN),
504 	PINMUX_DATA(DACK0_MARK, PTM4_FN),
505 	PINMUX_DATA(TEND1_MARK, PTM3_FN),
506 	PINMUX_DATA(TEND0_MARK, PTM2_FN),
507 	PINMUX_DATA(CS5B_CE1A_MARK, PTM1_FN),
508 	PINMUX_DATA(CS6B_CE1B_MARK, PTM0_FN),
509 
510 	/* PTP FN */
511 	PINMUX_DATA(USB1D_SUSPEND_MARK, PSELA_1_0_00, PTP4_FN),
512 	PINMUX_DATA(REFOUT_MARK, PSELA_1_0_01, PTP4_FN),
513 	PINMUX_DATA(IRQOUT_MARK, PSELA_1_0_10, PTP4_FN),
514 	PINMUX_DATA(IRQ3_IRL3_MARK, PTP3_FN),
515 	PINMUX_DATA(IRQ2_IRL2_MARK, PTP2_FN),
516 	PINMUX_DATA(IRQ1_IRL1_MARK, PTP1_FN),
517 	PINMUX_DATA(IRQ0_IRL0_MARK, PTP0_FN),
518 
519 	/* PTR FN */
520 	PINMUX_DATA(A25_MARK, PTR7_FN),
521 	PINMUX_DATA(A24_MARK, PTR6_FN),
522 	PINMUX_DATA(A23_MARK, PTR5_FN),
523 	PINMUX_DATA(A22_MARK, PTR4_FN),
524 	PINMUX_DATA(A21_MARK, PTR3_FN),
525 	PINMUX_DATA(A20_MARK, PTR2_FN),
526 	PINMUX_DATA(A19_MARK, PTR1_FN),
527 	PINMUX_DATA(A0_MARK, PTR0_FN),
528 
529 	/* PTS FN */
530 	PINMUX_DATA(SIOF0_SYNC_MARK, PTS4_FN),
531 	PINMUX_DATA(SIOF0_MCLK_MARK, PTS3_FN),
532 	PINMUX_DATA(SIOF0_TXD_MARK, PTS2_FN),
533 	PINMUX_DATA(SIOF0_RXD_MARK, PTS1_FN),
534 	PINMUX_DATA(SIOF0_SCK_MARK, PTS0_FN),
535 
536 	/* PTT FN */
537 	PINMUX_DATA(SCIF0_CTS_MARK, PSELB_15_14_00, PTT4_FN),
538 	PINMUX_DATA(TPU_TO1_MARK, PSELB_15_14_11, PTT4_FN),
539 	PINMUX_DATA(SCIF0_RTS_MARK, PSELB_15_14_00, PTT3_FN),
540 	PINMUX_DATA(TPU_TO0_MARK, PSELB_15_14_11, PTT3_FN),
541 	PINMUX_DATA(SCIF0_TXD_MARK, PTT2_FN),
542 	PINMUX_DATA(SCIF0_RXD_MARK, PTT1_FN),
543 	PINMUX_DATA(SCIF0_SCK_MARK, PTT0_FN),
544 
545 	/* PTU FN */
546 	PINMUX_DATA(SIOF1_SYNC_MARK, PTU4_FN),
547 	PINMUX_DATA(SIOF1_MCLK_MARK, PSELD_11_10_00, PTU3_FN),
548 	PINMUX_DATA(TPU_TI3B_MARK, PSELD_11_10_01, PTU3_FN),
549 	PINMUX_DATA(SIOF1_TXD_MARK, PSELD_15_14_00, PTU2_FN),
550 	PINMUX_DATA(TPU_TI3A_MARK, PSELD_15_14_01, PTU2_FN),
551 	PINMUX_DATA(MMC_DAT_MARK, PSELD_15_14_10, PTU2_FN),
552 	PINMUX_DATA(SIOF1_RXD_MARK, PSELC_13_12_00, PTU1_FN),
553 	PINMUX_DATA(TPU_TI2B_MARK, PSELC_13_12_01, PTU1_FN),
554 	PINMUX_DATA(MMC_CMD_MARK, PSELC_13_12_10, PTU1_FN),
555 	PINMUX_DATA(SIOF1_SCK_MARK, PSELC_15_14_00, PTU0_FN),
556 	PINMUX_DATA(TPU_TI2A_MARK, PSELC_15_14_01, PTU0_FN),
557 	PINMUX_DATA(MMC_CLK_MARK, PSELC_15_14_10, PTU0_FN),
558 
559 	/* PTV FN */
560 	PINMUX_DATA(SCIF1_CTS_MARK, PSELB_11_10_00, PTV4_FN),
561 	PINMUX_DATA(TPU_TO3_MARK, PSELB_11_10_01, PTV4_FN),
562 	PINMUX_DATA(MMC_VDDON_MARK, PSELB_11_10_10, PTV4_FN),
563 	PINMUX_DATA(LCD_VEPWC_MARK, PSELB_11_10_11, PTV4_FN),
564 	PINMUX_DATA(SCIF1_RTS_MARK, PSELB_13_12_00, PTV3_FN),
565 	PINMUX_DATA(TPU_TO2_MARK, PSELB_13_12_01, PTV3_FN),
566 	PINMUX_DATA(MMC_ODMOD_MARK, PSELB_13_12_10, PTV3_FN),
567 	PINMUX_DATA(LCD_VCPWC_MARK, PSELB_13_12_11, PTV3_FN),
568 	PINMUX_DATA(SCIF1_TXD_MARK, PSELC_9_8_00, PTV2_FN),
569 	PINMUX_DATA(SIM_D_MARK, PSELC_9_8_10, PTV2_FN),
570 	PINMUX_DATA(SCIF1_RXD_MARK, PSELC_11_10_00, PTV1_FN),
571 	PINMUX_DATA(SIM_RST_MARK, PSELC_11_10_10, PTV1_FN),
572 	PINMUX_DATA(SCIF1_SCK_MARK, PSELD_1_0_00, PTV0_FN),
573 	PINMUX_DATA(SIM_CLK_MARK, PSELD_1_0_10, PTV0_FN),
574 };
575 
576 static const struct sh_pfc_pin pinmux_pins[] = {
577 	/* PTA */
578 	PINMUX_GPIO(PTA7),
579 	PINMUX_GPIO(PTA6),
580 	PINMUX_GPIO(PTA5),
581 	PINMUX_GPIO(PTA4),
582 	PINMUX_GPIO(PTA3),
583 	PINMUX_GPIO(PTA2),
584 	PINMUX_GPIO(PTA1),
585 	PINMUX_GPIO(PTA0),
586 
587 	/* PTB */
588 	PINMUX_GPIO(PTB7),
589 	PINMUX_GPIO(PTB6),
590 	PINMUX_GPIO(PTB5),
591 	PINMUX_GPIO(PTB4),
592 	PINMUX_GPIO(PTB3),
593 	PINMUX_GPIO(PTB2),
594 	PINMUX_GPIO(PTB1),
595 	PINMUX_GPIO(PTB0),
596 
597 	/* PTC */
598 	PINMUX_GPIO(PTC7),
599 	PINMUX_GPIO(PTC6),
600 	PINMUX_GPIO(PTC5),
601 	PINMUX_GPIO(PTC4),
602 	PINMUX_GPIO(PTC3),
603 	PINMUX_GPIO(PTC2),
604 	PINMUX_GPIO(PTC1),
605 	PINMUX_GPIO(PTC0),
606 
607 	/* PTD */
608 	PINMUX_GPIO(PTD7),
609 	PINMUX_GPIO(PTD6),
610 	PINMUX_GPIO(PTD5),
611 	PINMUX_GPIO(PTD4),
612 	PINMUX_GPIO(PTD3),
613 	PINMUX_GPIO(PTD2),
614 	PINMUX_GPIO(PTD1),
615 	PINMUX_GPIO(PTD0),
616 
617 	/* PTE */
618 	PINMUX_GPIO(PTE6),
619 	PINMUX_GPIO(PTE5),
620 	PINMUX_GPIO(PTE4),
621 	PINMUX_GPIO(PTE3),
622 	PINMUX_GPIO(PTE2),
623 	PINMUX_GPIO(PTE1),
624 	PINMUX_GPIO(PTE0),
625 
626 	/* PTF */
627 	PINMUX_GPIO(PTF6),
628 	PINMUX_GPIO(PTF5),
629 	PINMUX_GPIO(PTF4),
630 	PINMUX_GPIO(PTF3),
631 	PINMUX_GPIO(PTF2),
632 	PINMUX_GPIO(PTF1),
633 	PINMUX_GPIO(PTF0),
634 
635 	/* PTG */
636 	PINMUX_GPIO(PTG6),
637 	PINMUX_GPIO(PTG5),
638 	PINMUX_GPIO(PTG4),
639 	PINMUX_GPIO(PTG3),
640 	PINMUX_GPIO(PTG2),
641 	PINMUX_GPIO(PTG1),
642 	PINMUX_GPIO(PTG0),
643 
644 	/* PTH */
645 	PINMUX_GPIO(PTH6),
646 	PINMUX_GPIO(PTH5),
647 	PINMUX_GPIO(PTH4),
648 	PINMUX_GPIO(PTH3),
649 	PINMUX_GPIO(PTH2),
650 	PINMUX_GPIO(PTH1),
651 	PINMUX_GPIO(PTH0),
652 
653 	/* PTJ */
654 	PINMUX_GPIO(PTJ6),
655 	PINMUX_GPIO(PTJ5),
656 	PINMUX_GPIO(PTJ4),
657 	PINMUX_GPIO(PTJ3),
658 	PINMUX_GPIO(PTJ2),
659 	PINMUX_GPIO(PTJ1),
660 	PINMUX_GPIO(PTJ0),
661 
662 	/* PTK */
663 	PINMUX_GPIO(PTK3),
664 	PINMUX_GPIO(PTK2),
665 	PINMUX_GPIO(PTK1),
666 	PINMUX_GPIO(PTK0),
667 
668 	/* PTL */
669 	PINMUX_GPIO(PTL7),
670 	PINMUX_GPIO(PTL6),
671 	PINMUX_GPIO(PTL5),
672 	PINMUX_GPIO(PTL4),
673 	PINMUX_GPIO(PTL3),
674 
675 	/* PTM */
676 	PINMUX_GPIO(PTM7),
677 	PINMUX_GPIO(PTM6),
678 	PINMUX_GPIO(PTM5),
679 	PINMUX_GPIO(PTM4),
680 	PINMUX_GPIO(PTM3),
681 	PINMUX_GPIO(PTM2),
682 	PINMUX_GPIO(PTM1),
683 	PINMUX_GPIO(PTM0),
684 
685 	/* PTP */
686 	PINMUX_GPIO(PTP4),
687 	PINMUX_GPIO(PTP3),
688 	PINMUX_GPIO(PTP2),
689 	PINMUX_GPIO(PTP1),
690 	PINMUX_GPIO(PTP0),
691 
692 	/* PTR */
693 	PINMUX_GPIO(PTR7),
694 	PINMUX_GPIO(PTR6),
695 	PINMUX_GPIO(PTR5),
696 	PINMUX_GPIO(PTR4),
697 	PINMUX_GPIO(PTR3),
698 	PINMUX_GPIO(PTR2),
699 	PINMUX_GPIO(PTR1),
700 	PINMUX_GPIO(PTR0),
701 
702 	/* PTS */
703 	PINMUX_GPIO(PTS4),
704 	PINMUX_GPIO(PTS3),
705 	PINMUX_GPIO(PTS2),
706 	PINMUX_GPIO(PTS1),
707 	PINMUX_GPIO(PTS0),
708 
709 	/* PTT */
710 	PINMUX_GPIO(PTT4),
711 	PINMUX_GPIO(PTT3),
712 	PINMUX_GPIO(PTT2),
713 	PINMUX_GPIO(PTT1),
714 	PINMUX_GPIO(PTT0),
715 
716 	/* PTU */
717 	PINMUX_GPIO(PTU4),
718 	PINMUX_GPIO(PTU3),
719 	PINMUX_GPIO(PTU2),
720 	PINMUX_GPIO(PTU1),
721 	PINMUX_GPIO(PTU0),
722 
723 	/* PTV */
724 	PINMUX_GPIO(PTV4),
725 	PINMUX_GPIO(PTV3),
726 	PINMUX_GPIO(PTV2),
727 	PINMUX_GPIO(PTV1),
728 	PINMUX_GPIO(PTV0),
729 };
730 
731 #define PINMUX_FN_BASE	ARRAY_SIZE(pinmux_pins)
732 
733 static const struct pinmux_func pinmux_func_gpios[] = {
734 	/* BSC */
735 	GPIO_FN(D31),
736 	GPIO_FN(D30),
737 	GPIO_FN(D29),
738 	GPIO_FN(D28),
739 	GPIO_FN(D27),
740 	GPIO_FN(D26),
741 	GPIO_FN(D25),
742 	GPIO_FN(D24),
743 	GPIO_FN(D23),
744 	GPIO_FN(D22),
745 	GPIO_FN(D21),
746 	GPIO_FN(D20),
747 	GPIO_FN(D19),
748 	GPIO_FN(D18),
749 	GPIO_FN(D17),
750 	GPIO_FN(D16),
751 	GPIO_FN(IOIS16),
752 	GPIO_FN(RAS),
753 	GPIO_FN(CAS),
754 	GPIO_FN(CKE),
755 	GPIO_FN(CS5B_CE1A),
756 	GPIO_FN(CS6B_CE1B),
757 	GPIO_FN(A25),
758 	GPIO_FN(A24),
759 	GPIO_FN(A23),
760 	GPIO_FN(A22),
761 	GPIO_FN(A21),
762 	GPIO_FN(A20),
763 	GPIO_FN(A19),
764 	GPIO_FN(A0),
765 	GPIO_FN(REFOUT),
766 	GPIO_FN(IRQOUT),
767 
768 	/* LCDC */
769 	GPIO_FN(LCD_DATA15),
770 	GPIO_FN(LCD_DATA14),
771 	GPIO_FN(LCD_DATA13),
772 	GPIO_FN(LCD_DATA12),
773 	GPIO_FN(LCD_DATA11),
774 	GPIO_FN(LCD_DATA10),
775 	GPIO_FN(LCD_DATA9),
776 	GPIO_FN(LCD_DATA8),
777 	GPIO_FN(LCD_DATA7),
778 	GPIO_FN(LCD_DATA6),
779 	GPIO_FN(LCD_DATA5),
780 	GPIO_FN(LCD_DATA4),
781 	GPIO_FN(LCD_DATA3),
782 	GPIO_FN(LCD_DATA2),
783 	GPIO_FN(LCD_DATA1),
784 	GPIO_FN(LCD_DATA0),
785 	GPIO_FN(LCD_M_DISP),
786 	GPIO_FN(LCD_CL1),
787 	GPIO_FN(LCD_CL2),
788 	GPIO_FN(LCD_DON),
789 	GPIO_FN(LCD_FLM),
790 	GPIO_FN(LCD_VEPWC),
791 	GPIO_FN(LCD_VCPWC),
792 
793 	/* AFEIF */
794 	GPIO_FN(AFE_RXIN),
795 	GPIO_FN(AFE_RDET),
796 	GPIO_FN(AFE_FS),
797 	GPIO_FN(AFE_TXOUT),
798 	GPIO_FN(AFE_SCLK),
799 	GPIO_FN(AFE_RLYCNT),
800 	GPIO_FN(AFE_HC1),
801 
802 	/* IIC */
803 	GPIO_FN(IIC_SCL),
804 	GPIO_FN(IIC_SDA),
805 
806 	/* DAC */
807 	GPIO_FN(DA1),
808 	GPIO_FN(DA0),
809 
810 	/* ADC */
811 	GPIO_FN(AN3),
812 	GPIO_FN(AN2),
813 	GPIO_FN(AN1),
814 	GPIO_FN(AN0),
815 	GPIO_FN(ADTRG),
816 
817 	/* USB */
818 	GPIO_FN(USB1D_RCV),
819 	GPIO_FN(USB1D_TXSE0),
820 	GPIO_FN(USB1D_TXDPLS),
821 	GPIO_FN(USB1D_DMNS),
822 	GPIO_FN(USB1D_DPLS),
823 	GPIO_FN(USB1D_SPEED),
824 	GPIO_FN(USB1D_TXENL),
825 
826 	GPIO_FN(USB2_PWR_EN),
827 	GPIO_FN(USB1_PWR_EN_USBF_UPLUP),
828 	GPIO_FN(USB1D_SUSPEND),
829 
830 	/* INTC */
831 	GPIO_FN(IRQ5),
832 	GPIO_FN(IRQ4),
833 	GPIO_FN(IRQ3_IRL3),
834 	GPIO_FN(IRQ2_IRL2),
835 	GPIO_FN(IRQ1_IRL1),
836 	GPIO_FN(IRQ0_IRL0),
837 
838 	/* PCC */
839 	GPIO_FN(PCC_REG),
840 	GPIO_FN(PCC_DRV),
841 	GPIO_FN(PCC_BVD2),
842 	GPIO_FN(PCC_BVD1),
843 	GPIO_FN(PCC_CD2),
844 	GPIO_FN(PCC_CD1),
845 	GPIO_FN(PCC_RESET),
846 	GPIO_FN(PCC_RDY),
847 	GPIO_FN(PCC_VS2),
848 	GPIO_FN(PCC_VS1),
849 
850 	/* HUDI */
851 	GPIO_FN(AUDATA3),
852 	GPIO_FN(AUDATA2),
853 	GPIO_FN(AUDATA1),
854 	GPIO_FN(AUDATA0),
855 	GPIO_FN(AUDCK),
856 	GPIO_FN(AUDSYNC),
857 	GPIO_FN(ASEBRKAK),
858 	GPIO_FN(TRST),
859 	GPIO_FN(TMS),
860 	GPIO_FN(TDO),
861 	GPIO_FN(TDI),
862 	GPIO_FN(TCK),
863 
864 	/* DMAC */
865 	GPIO_FN(DACK1),
866 	GPIO_FN(DREQ1),
867 	GPIO_FN(DACK0),
868 	GPIO_FN(DREQ0),
869 	GPIO_FN(TEND1),
870 	GPIO_FN(TEND0),
871 
872 	/* SIOF0 */
873 	GPIO_FN(SIOF0_SYNC),
874 	GPIO_FN(SIOF0_MCLK),
875 	GPIO_FN(SIOF0_TXD),
876 	GPIO_FN(SIOF0_RXD),
877 	GPIO_FN(SIOF0_SCK),
878 
879 	/* SIOF1 */
880 	GPIO_FN(SIOF1_SYNC),
881 	GPIO_FN(SIOF1_MCLK),
882 	GPIO_FN(SIOF1_TXD),
883 	GPIO_FN(SIOF1_RXD),
884 	GPIO_FN(SIOF1_SCK),
885 
886 	/* SCIF0 */
887 	GPIO_FN(SCIF0_TXD),
888 	GPIO_FN(SCIF0_RXD),
889 	GPIO_FN(SCIF0_RTS),
890 	GPIO_FN(SCIF0_CTS),
891 	GPIO_FN(SCIF0_SCK),
892 
893 	/* SCIF1 */
894 	GPIO_FN(SCIF1_TXD),
895 	GPIO_FN(SCIF1_RXD),
896 	GPIO_FN(SCIF1_RTS),
897 	GPIO_FN(SCIF1_CTS),
898 	GPIO_FN(SCIF1_SCK),
899 
900 	/* TPU */
901 	GPIO_FN(TPU_TO1),
902 	GPIO_FN(TPU_TO0),
903 	GPIO_FN(TPU_TI3B),
904 	GPIO_FN(TPU_TI3A),
905 	GPIO_FN(TPU_TI2B),
906 	GPIO_FN(TPU_TI2A),
907 	GPIO_FN(TPU_TO3),
908 	GPIO_FN(TPU_TO2),
909 
910 	/* SIM */
911 	GPIO_FN(SIM_D),
912 	GPIO_FN(SIM_CLK),
913 	GPIO_FN(SIM_RST),
914 
915 	/* MMC */
916 	GPIO_FN(MMC_DAT),
917 	GPIO_FN(MMC_CMD),
918 	GPIO_FN(MMC_CLK),
919 	GPIO_FN(MMC_VDDON),
920 	GPIO_FN(MMC_ODMOD),
921 
922 	/* SYSC */
923 	GPIO_FN(STATUS0),
924 	GPIO_FN(STATUS1),
925 };
926 
927 static const struct pinmux_cfg_reg pinmux_config_regs[] = {
928 	{ PINMUX_CFG_REG("PACR", 0xa4050100, 16, 2, GROUP(
929 		PTA7_FN, PTA7_OUT, 0, PTA7_IN,
930 		PTA6_FN, PTA6_OUT, 0, PTA6_IN,
931 		PTA5_FN, PTA5_OUT, 0, PTA5_IN,
932 		PTA4_FN, PTA4_OUT, 0, PTA4_IN,
933 		PTA3_FN, PTA3_OUT, 0, PTA3_IN,
934 		PTA2_FN, PTA2_OUT, 0, PTA2_IN,
935 		PTA1_FN, PTA1_OUT, 0, PTA1_IN,
936 		PTA0_FN, PTA0_OUT, 0, PTA0_IN ))
937 	},
938 	{ PINMUX_CFG_REG("PBCR", 0xa4050102, 16, 2, GROUP(
939 		PTB7_FN, PTB7_OUT, 0, PTB7_IN,
940 		PTB6_FN, PTB6_OUT, 0, PTB6_IN,
941 		PTB5_FN, PTB5_OUT, 0, PTB5_IN,
942 		PTB4_FN, PTB4_OUT, 0, PTB4_IN,
943 		PTB3_FN, PTB3_OUT, 0, PTB3_IN,
944 		PTB2_FN, PTB2_OUT, 0, PTB2_IN,
945 		PTB1_FN, PTB1_OUT, 0, PTB1_IN,
946 		PTB0_FN, PTB0_OUT, 0, PTB0_IN ))
947 	},
948 	{ PINMUX_CFG_REG("PCCR", 0xa4050104, 16, 2, GROUP(
949 		PTC7_FN, PTC7_OUT, 0, PTC7_IN,
950 		PTC6_FN, PTC6_OUT, 0, PTC6_IN,
951 		PTC5_FN, PTC5_OUT, 0, PTC5_IN,
952 		PTC4_FN, PTC4_OUT, 0, PTC4_IN,
953 		PTC3_FN, PTC3_OUT, 0, PTC3_IN,
954 		PTC2_FN, PTC2_OUT, 0, PTC2_IN,
955 		PTC1_FN, PTC1_OUT, 0, PTC1_IN,
956 		PTC0_FN, PTC0_OUT, 0, PTC0_IN ))
957 	},
958 	{ PINMUX_CFG_REG("PDCR", 0xa4050106, 16, 2, GROUP(
959 		PTD7_FN, PTD7_OUT, 0, PTD7_IN,
960 		PTD6_FN, PTD6_OUT, 0, PTD6_IN,
961 		PTD5_FN, PTD5_OUT, 0, PTD5_IN,
962 		PTD4_FN, PTD4_OUT, 0, PTD4_IN,
963 		PTD3_FN, PTD3_OUT, 0, PTD3_IN,
964 		PTD2_FN, PTD2_OUT, 0, PTD2_IN,
965 		PTD1_FN, PTD1_OUT, 0, PTD1_IN,
966 		PTD0_FN, PTD0_OUT, 0, PTD0_IN ))
967 	},
968 	{ PINMUX_CFG_REG("PECR", 0xa4050108, 16, 2, GROUP(
969 		0, 0, 0, 0,
970 		PTE6_FN, 0, 0, PTE6_IN,
971 		PTE5_FN, 0, 0, PTE5_IN,
972 		PTE4_FN, PTE4_OUT, 0, PTE4_IN,
973 		PTE3_FN, PTE3_OUT, 0, PTE3_IN,
974 		PTE2_FN, PTE2_OUT, 0, PTE2_IN,
975 		PTE1_FN, PTE1_OUT, 0, PTE1_IN,
976 		PTE0_FN, PTE0_OUT, 0, PTE0_IN ))
977 	},
978 	{ PINMUX_CFG_REG("PFCR", 0xa405010a, 16, 2, GROUP(
979 		0, 0, 0, 0,
980 		PTF6_FN, 0, 0, PTF6_IN,
981 		PTF5_FN, 0, 0, PTF5_IN,
982 		PTF4_FN, 0, 0, PTF4_IN,
983 		PTF3_FN, 0, 0, PTF3_IN,
984 		PTF2_FN, 0, 0, PTF2_IN,
985 		PTF1_FN, 0, 0, PTF1_IN,
986 		PTF0_FN, 0, 0, PTF0_IN ))
987 	},
988 	{ PINMUX_CFG_REG("PGCR", 0xa405010c, 16, 2, GROUP(
989 		0, 0, 0, 0,
990 		PTG6_FN, PTG6_OUT, 0, PTG6_IN,
991 		PTG5_FN, PTG5_OUT, 0, PTG5_IN,
992 		PTG4_FN, PTG4_OUT, 0, PTG4_IN,
993 		PTG3_FN, PTG3_OUT, 0, PTG3_IN,
994 		PTG2_FN, PTG2_OUT, 0, PTG2_IN,
995 		PTG1_FN, PTG1_OUT, 0, PTG1_IN,
996 		PTG0_FN, PTG0_OUT, 0, PTG0_IN ))
997 	},
998 	{ PINMUX_CFG_REG("PHCR", 0xa405010e, 16, 2, GROUP(
999 		0, 0, 0, 0,
1000 		PTH6_FN, PTH6_OUT, 0, PTH6_IN,
1001 		PTH5_FN, PTH5_OUT, 0, PTH5_IN,
1002 		PTH4_FN, PTH4_OUT, 0, PTH4_IN,
1003 		PTH3_FN, PTH3_OUT, 0, PTH3_IN,
1004 		PTH2_FN, PTH2_OUT, 0, PTH2_IN,
1005 		PTH1_FN, PTH1_OUT, 0, PTH1_IN,
1006 		PTH0_FN, PTH0_OUT, 0, PTH0_IN ))
1007 	},
1008 	{ PINMUX_CFG_REG("PJCR", 0xa4050110, 16, 2, GROUP(
1009 		0, 0, 0, 0,
1010 		PTJ6_FN, PTJ6_OUT, 0, PTJ6_IN,
1011 		PTJ5_FN, PTJ5_OUT, 0, PTJ5_IN,
1012 		PTJ4_FN, PTJ4_OUT, 0, PTJ4_IN,
1013 		PTJ3_FN, PTJ3_OUT, 0, PTJ3_IN,
1014 		PTJ2_FN, PTJ2_OUT, 0, PTJ2_IN,
1015 		PTJ1_FN, PTJ1_OUT, 0, PTJ1_IN,
1016 		PTJ0_FN, PTJ0_OUT, 0, PTJ0_IN ))
1017 	},
1018 	{ PINMUX_CFG_REG("PKCR", 0xa4050112, 16, 2, GROUP(
1019 		0, 0, 0, 0,
1020 		0, 0, 0, 0,
1021 		0, 0, 0, 0,
1022 		0, 0, 0, 0,
1023 		PTK3_FN, PTK3_OUT, 0, PTK3_IN,
1024 		PTK2_FN, PTK2_OUT, 0, PTK2_IN,
1025 		PTK1_FN, PTK1_OUT, 0, PTK1_IN,
1026 		PTK0_FN, PTK0_OUT, 0, PTK0_IN ))
1027 	},
1028 	{ PINMUX_CFG_REG("PLCR", 0xa4050114, 16, 2, GROUP(
1029 		PTL7_FN, PTL7_OUT, 0, PTL7_IN,
1030 		PTL6_FN, PTL6_OUT, 0, PTL6_IN,
1031 		PTL5_FN, PTL5_OUT, 0, PTL5_IN,
1032 		PTL4_FN, PTL4_OUT, 0, PTL4_IN,
1033 		PTL3_FN, PTL3_OUT, 0, PTL3_IN,
1034 		0, 0, 0, 0,
1035 		0, 0, 0, 0,
1036 		0, 0, 0, 0 ))
1037 	},
1038 	{ PINMUX_CFG_REG("PMCR", 0xa4050116, 16, 2, GROUP(
1039 		PTM7_FN, PTM7_OUT, 0, PTM7_IN,
1040 		PTM6_FN, PTM6_OUT, 0, PTM6_IN,
1041 		PTM5_FN, PTM5_OUT, 0, PTM5_IN,
1042 		PTM4_FN, PTM4_OUT, 0, PTM4_IN,
1043 		PTM3_FN, PTM3_OUT, 0, PTM3_IN,
1044 		PTM2_FN, PTM2_OUT, 0, PTM2_IN,
1045 		PTM1_FN, PTM1_OUT, 0, PTM1_IN,
1046 		PTM0_FN, PTM0_OUT, 0, PTM0_IN ))
1047 	},
1048 	{ PINMUX_CFG_REG("PPCR", 0xa4050118, 16, 2, GROUP(
1049 		0, 0, 0, 0,
1050 		0, 0, 0, 0,
1051 		0, 0, 0, 0,
1052 		PTP4_FN, PTP4_OUT, 0, PTP4_IN,
1053 		PTP3_FN, PTP3_OUT, 0, PTP3_IN,
1054 		PTP2_FN, PTP2_OUT, 0, PTP2_IN,
1055 		PTP1_FN, PTP1_OUT, 0, PTP1_IN,
1056 		PTP0_FN, PTP0_OUT, 0, PTP0_IN ))
1057 	},
1058 	{ PINMUX_CFG_REG("PRCR", 0xa405011a, 16, 2, GROUP(
1059 		PTR7_FN, PTR7_OUT, 0, PTR7_IN,
1060 		PTR6_FN, PTR6_OUT, 0, PTR6_IN,
1061 		PTR5_FN, PTR5_OUT, 0, PTR5_IN,
1062 		PTR4_FN, PTR4_OUT, 0, PTR4_IN,
1063 		PTR3_FN, PTR3_OUT, 0, PTR3_IN,
1064 		PTR2_FN, PTR2_OUT, 0, PTR2_IN,
1065 		PTR1_FN, PTR1_OUT, 0, PTR1_IN,
1066 		PTR0_FN, PTR0_OUT, 0, PTR0_IN ))
1067 	},
1068 	{ PINMUX_CFG_REG("PSCR", 0xa405011c, 16, 2, GROUP(
1069 		0, 0, 0, 0,
1070 		0, 0, 0, 0,
1071 		0, 0, 0, 0,
1072 		PTS4_FN, PTS4_OUT, 0, PTS4_IN,
1073 		PTS3_FN, PTS3_OUT, 0, PTS3_IN,
1074 		PTS2_FN, PTS2_OUT, 0, PTS2_IN,
1075 		PTS1_FN, PTS1_OUT, 0, PTS1_IN,
1076 		PTS0_FN, PTS0_OUT, 0, PTS0_IN ))
1077 	},
1078 	{ PINMUX_CFG_REG("PTCR", 0xa405011e, 16, 2, GROUP(
1079 		0, 0, 0, 0,
1080 		0, 0, 0, 0,
1081 		0, 0, 0, 0,
1082 		PTT4_FN, PTT4_OUT, 0, PTT4_IN,
1083 		PTT3_FN, PTT3_OUT, 0, PTT3_IN,
1084 		PTT2_FN, PTT2_OUT, 0, PTT2_IN,
1085 		PTT1_FN, PTT1_OUT, 0, PTT1_IN,
1086 		PTT0_FN, PTT0_OUT, 0, PTT0_IN ))
1087 	},
1088 	{ PINMUX_CFG_REG("PUCR", 0xa4050120, 16, 2, GROUP(
1089 		0, 0, 0, 0,
1090 		0, 0, 0, 0,
1091 		0, 0, 0, 0,
1092 		PTU4_FN, PTU4_OUT, 0, PTU4_IN,
1093 		PTU3_FN, PTU3_OUT, 0, PTU3_IN,
1094 		PTU2_FN, PTU2_OUT, 0, PTU2_IN,
1095 		PTU1_FN, PTU1_OUT, 0, PTU1_IN,
1096 		PTU0_FN, PTU0_OUT, 0, PTU0_IN ))
1097 	},
1098 	{ PINMUX_CFG_REG("PVCR", 0xa4050122, 16, 2, GROUP(
1099 		0, 0, 0, 0,
1100 		0, 0, 0, 0,
1101 		0, 0, 0, 0,
1102 		PTV4_FN, PTV4_OUT, 0, PTV4_IN,
1103 		PTV3_FN, PTV3_OUT, 0, PTV3_IN,
1104 		PTV2_FN, PTV2_OUT, 0, PTV2_IN,
1105 		PTV1_FN, PTV1_OUT, 0, PTV1_IN,
1106 		PTV0_FN, PTV0_OUT, 0, PTV0_IN ))
1107 	},
1108 	{}
1109 };
1110 
1111 static const struct pinmux_data_reg pinmux_data_regs[] = {
1112 	{ PINMUX_DATA_REG("PADR", 0xa4050140, 8, GROUP(
1113 		PTA7_DATA, PTA6_DATA, PTA5_DATA, PTA4_DATA,
1114 		PTA3_DATA, PTA2_DATA, PTA1_DATA, PTA0_DATA ))
1115 	},
1116 	{ PINMUX_DATA_REG("PBDR", 0xa4050142, 8, GROUP(
1117 		PTB7_DATA, PTB6_DATA, PTB5_DATA, PTB4_DATA,
1118 		PTB3_DATA, PTB2_DATA, PTB1_DATA, PTB0_DATA ))
1119 	},
1120 	{ PINMUX_DATA_REG("PCDR", 0xa4050144, 8, GROUP(
1121 		PTC7_DATA, PTC6_DATA, PTC5_DATA, PTC4_DATA,
1122 		PTC3_DATA, PTC2_DATA, PTC1_DATA, PTC0_DATA ))
1123 	},
1124 	{ PINMUX_DATA_REG("PDDR", 0xa4050126, 8, GROUP(
1125 		PTD7_DATA, PTD6_DATA, PTD5_DATA, PTD4_DATA,
1126 		PTD3_DATA, PTD2_DATA, PTD1_DATA, PTD0_DATA ))
1127 	},
1128 	{ PINMUX_DATA_REG("PEDR", 0xa4050148, 8, GROUP(
1129 		0, PTE6_DATA, PTE5_DATA, PTE4_DATA,
1130 		PTE3_DATA, PTE2_DATA, PTE1_DATA, PTE0_DATA ))
1131 	},
1132 	{ PINMUX_DATA_REG("PFDR", 0xa405014a, 8, GROUP(
1133 		0, PTF6_DATA, PTF5_DATA, PTF4_DATA,
1134 		PTF3_DATA, PTF2_DATA, PTF1_DATA, PTF0_DATA ))
1135 	},
1136 	{ PINMUX_DATA_REG("PGDR", 0xa405014c, 8, GROUP(
1137 		0, PTG6_DATA, PTG5_DATA, PTG4_DATA,
1138 		PTG3_DATA, PTG2_DATA, PTG1_DATA, PTG0_DATA ))
1139 	},
1140 	{ PINMUX_DATA_REG("PHDR", 0xa405014e, 8, GROUP(
1141 		0, PTH6_DATA, PTH5_DATA, PTH4_DATA,
1142 		PTH3_DATA, PTH2_DATA, PTH1_DATA, PTH0_DATA ))
1143 	},
1144 	{ PINMUX_DATA_REG("PJDR", 0xa4050150, 8, GROUP(
1145 		0, PTJ6_DATA, PTJ5_DATA, PTJ4_DATA,
1146 		PTJ3_DATA, PTJ2_DATA, PTJ1_DATA, PTJ0_DATA ))
1147 	},
1148 	{ PINMUX_DATA_REG("PKDR", 0xa4050152, 8, GROUP(
1149 		0, 0, 0, 0,
1150 		PTK3_DATA, PTK2_DATA, PTK1_DATA, PTK0_DATA ))
1151 	},
1152 	{ PINMUX_DATA_REG("PLDR", 0xa4050154, 8, GROUP(
1153 		PTL7_DATA, PTL6_DATA, PTL5_DATA, PTL4_DATA,
1154 		PTL3_DATA, 0, 0, 0 ))
1155 	},
1156 	{ PINMUX_DATA_REG("PMDR", 0xa4050156, 8, GROUP(
1157 		PTM7_DATA, PTM6_DATA, PTM5_DATA, PTM4_DATA,
1158 		PTM3_DATA, PTM2_DATA, PTM1_DATA, PTM0_DATA ))
1159 	},
1160 	{ PINMUX_DATA_REG("PPDR", 0xa4050158, 8, GROUP(
1161 		0, 0, 0, PTP4_DATA,
1162 		PTP3_DATA, PTP2_DATA, PTP1_DATA, PTP0_DATA ))
1163 	},
1164 	{ PINMUX_DATA_REG("PRDR", 0xa405015a, 8, GROUP(
1165 		PTR7_DATA, PTR6_DATA, PTR5_DATA, PTR4_DATA,
1166 		PTR3_DATA, PTR2_DATA, PTR1_DATA, PTR0_DATA ))
1167 	},
1168 	{ PINMUX_DATA_REG("PSDR", 0xa405015c, 8, GROUP(
1169 		0, 0, 0, PTS4_DATA,
1170 		PTS3_DATA, PTS2_DATA, PTS1_DATA, PTS0_DATA ))
1171 	},
1172 	{ PINMUX_DATA_REG("PTDR", 0xa405015e, 8, GROUP(
1173 		0, 0, 0, PTT4_DATA,
1174 		PTT3_DATA, PTT2_DATA, PTT1_DATA, PTT0_DATA ))
1175 	},
1176 	{ PINMUX_DATA_REG("PUDR", 0xa4050160, 8, GROUP(
1177 		0, 0, 0, PTU4_DATA,
1178 		PTU3_DATA, PTU2_DATA, PTU1_DATA, PTU0_DATA ))
1179 	},
1180 	{ PINMUX_DATA_REG("PVDR", 0xa4050162, 8, GROUP(
1181 		0, 0, 0, PTV4_DATA,
1182 		PTV3_DATA, PTV2_DATA, PTV1_DATA, PTV0_DATA ))
1183 	},
1184 	{ },
1185 };
1186 
1187 const struct sh_pfc_soc_info sh7720_pinmux_info = {
1188 	.name = "sh7720_pfc",
1189 	.input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END },
1190 	.output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END },
1191 	.function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
1192 
1193 	.pins = pinmux_pins,
1194 	.nr_pins = ARRAY_SIZE(pinmux_pins),
1195 	.func_gpios = pinmux_func_gpios,
1196 	.nr_func_gpios = ARRAY_SIZE(pinmux_func_gpios),
1197 
1198 	.cfg_regs = pinmux_config_regs,
1199 	.data_regs = pinmux_data_regs,
1200 
1201 	.pinmux_data = pinmux_data,
1202 	.pinmux_data_size = ARRAY_SIZE(pinmux_data),
1203 };
1204