1 // SPDX-License-Identifier: GPL-2.0
2 #include <linux/init.h>
3 #include <linux/kernel.h>
4 #include <linux/gpio.h>
5 #include <cpu/sh7722.h>
6 
7 #include "sh_pfc.h"
8 
9 enum {
10 	PINMUX_RESERVED = 0,
11 
12 	PINMUX_DATA_BEGIN,
13 	PTA7_DATA, PTA6_DATA, PTA5_DATA, PTA4_DATA,
14 	PTA3_DATA, PTA2_DATA, PTA1_DATA, PTA0_DATA,
15 	PTB7_DATA, PTB6_DATA, PTB5_DATA, PTB4_DATA,
16 	PTB3_DATA, PTB2_DATA, PTB1_DATA, PTB0_DATA,
17 	PTC7_DATA, PTC5_DATA, PTC4_DATA, PTC3_DATA, PTC2_DATA, PTC0_DATA,
18 	PTD7_DATA, PTD6_DATA, PTD5_DATA, PTD4_DATA,
19 	PTD3_DATA, PTD2_DATA, PTD1_DATA, PTD0_DATA,
20 	PTE7_DATA, PTE6_DATA, PTE5_DATA, PTE4_DATA, PTE1_DATA, PTE0_DATA,
21 	PTF6_DATA, PTF5_DATA, PTF4_DATA,
22 	PTF3_DATA, PTF2_DATA, PTF1_DATA, PTF0_DATA,
23 	PTG4_DATA, PTG3_DATA, PTG2_DATA, PTG1_DATA, PTG0_DATA,
24 	PTH7_DATA, PTH6_DATA, PTH5_DATA, PTH4_DATA,
25 	PTH3_DATA, PTH2_DATA, PTH1_DATA, PTH0_DATA,
26 	PTJ7_DATA, PTJ6_DATA, PTJ5_DATA, PTJ1_DATA, PTJ0_DATA,
27 	PTK6_DATA, PTK5_DATA, PTK4_DATA,
28 	PTK3_DATA, PTK2_DATA, PTK1_DATA, PTK0_DATA,
29 	PTL7_DATA, PTL6_DATA, PTL5_DATA, PTL4_DATA,
30 	PTL3_DATA, PTL2_DATA, PTL1_DATA, PTL0_DATA,
31 	PTM7_DATA, PTM6_DATA, PTM5_DATA, PTM4_DATA,
32 	PTM3_DATA, PTM2_DATA, PTM1_DATA, PTM0_DATA,
33 	PTN7_DATA, PTN6_DATA, PTN5_DATA, PTN4_DATA,
34 	PTN3_DATA, PTN2_DATA, PTN1_DATA, PTN0_DATA,
35 	PTQ6_DATA, PTQ5_DATA, PTQ4_DATA,
36 	PTQ3_DATA, PTQ2_DATA, PTQ1_DATA, PTQ0_DATA,
37 	PTR4_DATA, PTR3_DATA, PTR2_DATA, PTR1_DATA, PTR0_DATA,
38 	PTS4_DATA, PTS3_DATA, PTS2_DATA, PTS1_DATA, PTS0_DATA,
39 	PTT4_DATA, PTT3_DATA, PTT2_DATA, PTT1_DATA, PTT0_DATA,
40 	PTU4_DATA, PTU3_DATA, PTU2_DATA, PTU1_DATA, PTU0_DATA,
41 	PTV4_DATA, PTV3_DATA, PTV2_DATA, PTV1_DATA, PTV0_DATA,
42 	PTW6_DATA, PTW5_DATA, PTW4_DATA,
43 	PTW3_DATA, PTW2_DATA, PTW1_DATA, PTW0_DATA,
44 	PTX6_DATA, PTX5_DATA, PTX4_DATA,
45 	PTX3_DATA, PTX2_DATA, PTX1_DATA, PTX0_DATA,
46 	PTY6_DATA, PTY5_DATA, PTY4_DATA,
47 	PTY3_DATA, PTY2_DATA, PTY1_DATA, PTY0_DATA,
48 	PTZ5_DATA, PTZ4_DATA, PTZ3_DATA, PTZ2_DATA, PTZ1_DATA, PTZ0_DATA,
49 	PINMUX_DATA_END,
50 
51 	PINMUX_INPUT_BEGIN,
52 	PTA7_IN, PTA6_IN, PTA5_IN, PTA4_IN,
53 	PTA3_IN, PTA2_IN, PTA1_IN, PTA0_IN,
54 	PTB7_IN, PTB6_IN, PTB5_IN, PTB4_IN,
55 	PTB3_IN, PTB2_IN, PTB1_IN, PTB0_IN,
56 	PTC7_IN, PTC5_IN, PTC4_IN, PTC3_IN, PTC2_IN, PTC0_IN,
57 	PTD7_IN, PTD6_IN, PTD5_IN, PTD4_IN, PTD3_IN, PTD2_IN, PTD1_IN,
58 	PTE7_IN, PTE6_IN, PTE5_IN, PTE4_IN, PTE1_IN, PTE0_IN,
59 	PTF6_IN, PTF5_IN, PTF4_IN, PTF3_IN, PTF2_IN, PTF1_IN,
60 	PTH6_IN, PTH5_IN, PTH1_IN, PTH0_IN,
61 	PTJ1_IN, PTJ0_IN,
62 	PTK6_IN, PTK5_IN, PTK4_IN, PTK3_IN, PTK2_IN, PTK0_IN,
63 	PTL7_IN, PTL6_IN, PTL5_IN, PTL4_IN,
64 	PTL3_IN, PTL2_IN, PTL1_IN, PTL0_IN,
65 	PTM7_IN, PTM6_IN, PTM5_IN, PTM4_IN,
66 	PTM3_IN, PTM2_IN, PTM1_IN, PTM0_IN,
67 	PTN7_IN, PTN6_IN, PTN5_IN, PTN4_IN,
68 	PTN3_IN, PTN2_IN, PTN1_IN, PTN0_IN,
69 	PTQ5_IN, PTQ4_IN, PTQ3_IN, PTQ2_IN, PTQ0_IN,
70 	PTR2_IN,
71 	PTS4_IN, PTS2_IN, PTS1_IN,
72 	PTT4_IN, PTT3_IN, PTT2_IN, PTT1_IN,
73 	PTU4_IN, PTU3_IN, PTU2_IN, PTU1_IN, PTU0_IN,
74 	PTV4_IN, PTV3_IN, PTV2_IN, PTV1_IN, PTV0_IN,
75 	PTW6_IN, PTW4_IN, PTW3_IN, PTW2_IN, PTW1_IN, PTW0_IN,
76 	PTX6_IN, PTX5_IN, PTX4_IN, PTX3_IN, PTX2_IN, PTX1_IN, PTX0_IN,
77 	PTY5_IN, PTY4_IN, PTY3_IN, PTY2_IN, PTY0_IN,
78 	PTZ5_IN, PTZ4_IN, PTZ3_IN, PTZ2_IN, PTZ1_IN,
79 	PINMUX_INPUT_END,
80 
81 	PINMUX_OUTPUT_BEGIN,
82 	PTA7_OUT, PTA5_OUT,
83 	PTB7_OUT, PTB6_OUT, PTB5_OUT, PTB4_OUT,
84 	PTB3_OUT, PTB2_OUT, PTB1_OUT, PTB0_OUT,
85 	PTC4_OUT, PTC3_OUT, PTC2_OUT, PTC0_OUT,
86 	PTD6_OUT, PTD5_OUT, PTD4_OUT,
87 	PTD3_OUT, PTD2_OUT, PTD1_OUT, PTD0_OUT,
88 	PTE7_OUT, PTE6_OUT, PTE5_OUT, PTE4_OUT, PTE1_OUT, PTE0_OUT,
89 	PTF6_OUT, PTF5_OUT, PTF4_OUT, PTF3_OUT, PTF2_OUT, PTF0_OUT,
90 	PTG4_OUT, PTG3_OUT, PTG2_OUT, PTG1_OUT, PTG0_OUT,
91 	PTH7_OUT, PTH6_OUT, PTH5_OUT, PTH4_OUT,
92 	PTH3_OUT, PTH2_OUT, PTH1_OUT, PTH0_OUT,
93 	PTJ7_OUT, PTJ6_OUT, PTJ5_OUT, PTJ1_OUT, PTJ0_OUT,
94 	PTK6_OUT, PTK5_OUT, PTK4_OUT, PTK3_OUT, PTK1_OUT, PTK0_OUT,
95 	PTL7_OUT, PTL6_OUT, PTL5_OUT, PTL4_OUT,
96 	PTL3_OUT, PTL2_OUT, PTL1_OUT, PTL0_OUT,
97 	PTM7_OUT, PTM6_OUT, PTM5_OUT, PTM4_OUT,
98 	PTM3_OUT, PTM2_OUT, PTM1_OUT, PTM0_OUT,
99 	PTN7_OUT, PTN6_OUT, PTN5_OUT, PTN4_OUT,
100 	PTN3_OUT, PTN2_OUT, PTN1_OUT, PTN0_OUT,	PTQ6_OUT, PTQ5_OUT, PTQ4_OUT,
101 	PTQ3_OUT, PTQ2_OUT, PTQ1_OUT, PTQ0_OUT,
102 	PTR4_OUT, PTR3_OUT, PTR1_OUT, PTR0_OUT,
103 	PTS3_OUT, PTS2_OUT, PTS0_OUT,
104 	PTT4_OUT, PTT3_OUT, PTT2_OUT, PTT0_OUT,
105 	PTU4_OUT, PTU3_OUT, PTU2_OUT, PTU0_OUT,
106 	PTV4_OUT, PTV3_OUT, PTV2_OUT, PTV1_OUT, PTV0_OUT,
107 	PTW5_OUT, PTW4_OUT, PTW3_OUT, PTW2_OUT, PTW1_OUT, PTW0_OUT,
108 	PTX6_OUT, PTX5_OUT, PTX4_OUT, PTX3_OUT, PTX2_OUT, PTX1_OUT, PTX0_OUT,
109 	PTY5_OUT, PTY4_OUT, PTY3_OUT, PTY2_OUT, PTY1_OUT, PTY0_OUT,
110 	PINMUX_OUTPUT_END,
111 
112 	PINMUX_MARK_BEGIN,
113 	SCIF0_TXD_MARK, SCIF0_RXD_MARK,
114 	SCIF0_RTS_MARK, SCIF0_CTS_MARK, SCIF0_SCK_MARK,
115 	SCIF1_TXD_MARK, SCIF1_RXD_MARK,
116 	SCIF1_RTS_MARK, SCIF1_CTS_MARK, SCIF1_SCK_MARK,
117 	SCIF2_TXD_MARK, SCIF2_RXD_MARK,
118 	SCIF2_RTS_MARK, SCIF2_CTS_MARK, SCIF2_SCK_MARK,
119 	SIOTXD_MARK, SIORXD_MARK,
120 	SIOD_MARK, SIOSTRB0_MARK, SIOSTRB1_MARK,
121 	SIOSCK_MARK, SIOMCK_MARK,
122 	VIO_D15_MARK, VIO_D14_MARK, VIO_D13_MARK, VIO_D12_MARK,
123 	VIO_D11_MARK, VIO_D10_MARK, VIO_D9_MARK, VIO_D8_MARK,
124 	VIO_D7_MARK, VIO_D6_MARK, VIO_D5_MARK, VIO_D4_MARK,
125 	VIO_D3_MARK, VIO_D2_MARK, VIO_D1_MARK, VIO_D0_MARK,
126 	VIO_CLK_MARK, VIO_VD_MARK, VIO_HD_MARK, VIO_FLD_MARK,
127 	VIO_CKO_MARK, VIO_STEX_MARK, VIO_STEM_MARK, VIO_VD2_MARK,
128 	VIO_HD2_MARK, VIO_CLK2_MARK,
129 	LCDD23_MARK, LCDD22_MARK, LCDD21_MARK, LCDD20_MARK,
130 	LCDD19_MARK, LCDD18_MARK, LCDD17_MARK, LCDD16_MARK,
131 	LCDD15_MARK, LCDD14_MARK, LCDD13_MARK, LCDD12_MARK,
132 	LCDD11_MARK, LCDD10_MARK, LCDD9_MARK, LCDD8_MARK,
133 	LCDD7_MARK, LCDD6_MARK, LCDD5_MARK, LCDD4_MARK,
134 	LCDD3_MARK, LCDD2_MARK, LCDD1_MARK, LCDD0_MARK,
135 	LCDLCLK_MARK, LCDDON_MARK, LCDVCPWC_MARK, LCDVEPWC_MARK,
136 	LCDVSYN_MARK, LCDDCK_MARK, LCDHSYN_MARK, LCDDISP_MARK,
137 	LCDRS_MARK, LCDCS_MARK, LCDWR_MARK, LCDRD_MARK,
138 	LCDDON2_MARK, LCDVCPWC2_MARK, LCDVEPWC2_MARK, LCDVSYN2_MARK,
139 	LCDCS2_MARK,
140 	IOIS16_MARK, A25_MARK, A24_MARK, A23_MARK, A22_MARK,
141 	BS_MARK, CS6B_CE1B_MARK, WAIT_MARK, CS6A_CE2B_MARK,
142 	HPD63_MARK, HPD62_MARK, HPD61_MARK, HPD60_MARK,
143 	HPD59_MARK, HPD58_MARK, HPD57_MARK, HPD56_MARK,
144 	HPD55_MARK, HPD54_MARK, HPD53_MARK, HPD52_MARK,
145 	HPD51_MARK, HPD50_MARK, HPD49_MARK, HPD48_MARK,
146 	HPDQM7_MARK, HPDQM6_MARK, HPDQM5_MARK, HPDQM4_MARK,
147 	IRQ0_MARK, IRQ1_MARK, IRQ2_MARK, IRQ3_MARK,
148 	IRQ4_MARK, IRQ5_MARK, IRQ6_MARK, IRQ7_MARK,
149 	SDHICD_MARK, SDHIWP_MARK, SDHID3_MARK, SDHID2_MARK,
150 	SDHID1_MARK, SDHID0_MARK, SDHICMD_MARK, SDHICLK_MARK,
151 	SIUAOLR_MARK, SIUAOBT_MARK, SIUAISLD_MARK, SIUAILR_MARK,
152 	SIUAIBT_MARK, SIUAOSLD_MARK, SIUMCKA_MARK, SIUFCKA_MARK,
153 	SIUBOLR_MARK, SIUBOBT_MARK, SIUBISLD_MARK, SIUBILR_MARK,
154 	SIUBIBT_MARK, SIUBOSLD_MARK, SIUMCKB_MARK, SIUFCKB_MARK,
155 	AUDSYNC_MARK, AUDATA3_MARK, AUDATA2_MARK, AUDATA1_MARK,	AUDATA0_MARK,
156 	DACK_MARK, DREQ0_MARK,
157 	DV_CLKI_MARK, DV_CLK_MARK, DV_HSYNC_MARK, DV_VSYNC_MARK,
158 	DV_D15_MARK, DV_D14_MARK, DV_D13_MARK, DV_D12_MARK,
159 	DV_D11_MARK, DV_D10_MARK, DV_D9_MARK, DV_D8_MARK,
160 	DV_D7_MARK, DV_D6_MARK, DV_D5_MARK, DV_D4_MARK,
161 	DV_D3_MARK, DV_D2_MARK, DV_D1_MARK, DV_D0_MARK,
162 	STATUS0_MARK, PDSTATUS_MARK,
163 	SIOF0_MCK_MARK, SIOF0_SCK_MARK,
164 	SIOF0_SYNC_MARK, SIOF0_SS1_MARK, SIOF0_SS2_MARK,
165 	SIOF0_TXD_MARK,	SIOF0_RXD_MARK,
166 	SIOF1_MCK_MARK, SIOF1_SCK_MARK,
167 	SIOF1_SYNC_MARK, SIOF1_SS1_MARK, SIOF1_SS2_MARK,
168 	SIOF1_TXD_MARK, SIOF1_RXD_MARK,
169 	SIM_D_MARK, SIM_CLK_MARK, SIM_RST_MARK,
170 	TS_SDAT_MARK, TS_SCK_MARK, TS_SDEN_MARK, TS_SPSYNC_MARK,
171 	IRDA_IN_MARK, IRDA_OUT_MARK,
172 	TPUTO_MARK,
173 	FCE_MARK, NAF7_MARK, NAF6_MARK, NAF5_MARK, NAF4_MARK,
174 	NAF3_MARK, NAF2_MARK, NAF1_MARK, NAF0_MARK, FCDE_MARK,
175 	FOE_MARK, FSC_MARK, FWE_MARK, FRB_MARK,
176 	KEYIN0_MARK, KEYIN1_MARK, KEYIN2_MARK, KEYIN3_MARK, KEYIN4_MARK,
177 	KEYOUT0_MARK, KEYOUT1_MARK, KEYOUT2_MARK, KEYOUT3_MARK,
178 	KEYOUT4_IN6_MARK, KEYOUT5_IN5_MARK,
179 	PINMUX_MARK_END,
180 
181 	PINMUX_FUNCTION_BEGIN,
182 	VIO_D7_SCIF1_SCK, VIO_D6_SCIF1_RXD, VIO_D5_SCIF1_TXD, VIO_D4,
183 	VIO_D3, VIO_D2, VIO_D1, VIO_D0_LCDLCLK,
184 	HPD55, HPD54, HPD53, HPD52, HPD51, HPD50, HPD49, HPD48,
185 	IOIS16, HPDQM7, HPDQM6, HPDQM5, HPDQM4,
186 	SDHICD, SDHIWP, SDHID3, IRQ2_SDHID2, SDHID1, SDHID0, SDHICMD, SDHICLK,
187 	A25, A24, A23, A22, IRQ5, IRQ4_BS,
188 	PTF6, SIOSCK_SIUBOBT, SIOSTRB1_SIUBOLR,
189 	SIOSTRB0_SIUBIBT, SIOD_SIUBILR, SIORXD_SIUBISLD, SIOTXD_SIUBOSLD,
190 	AUDSYNC, AUDATA3, AUDATA2, AUDATA1, AUDATA0,
191 	LCDVCPWC_LCDVCPWC2, LCDVSYN2_DACK, LCDVSYN, LCDDISP_LCDRS,
192 	LCDHSYN_LCDCS, LCDDON_LCDDON2, LCDD17_DV_HSYNC, LCDD16_DV_VSYNC,
193 	STATUS0, PDSTATUS, IRQ1, IRQ0,
194 	SIUAILR_SIOF1_SS2, SIUAIBT_SIOF1_SS1, SIUAOLR_SIOF1_SYNC,
195 	SIUAOBT_SIOF1_SCK, SIUAISLD_SIOF1_RXD, SIUAOSLD_SIOF1_TXD, PTK0,
196 	LCDD15_DV_D15, LCDD14_DV_D14, LCDD13_DV_D13, LCDD12_DV_D12,
197 	LCDD11_DV_D11, LCDD10_DV_D10, LCDD9_DV_D9, LCDD8_DV_D8,
198 	LCDD7_DV_D7, LCDD6_DV_D6, LCDD5_DV_D5, LCDD4_DV_D4,
199 	LCDD3_DV_D3, LCDD2_DV_D2, LCDD1_DV_D1, LCDD0_DV_D0,
200 	HPD63, HPD62, HPD61, HPD60, HPD59, HPD58, HPD57, HPD56,
201 	SIOF0_SS2_SIM_RST, SIOF0_SS1_TS_SPSYNC, SIOF0_SYNC_TS_SDEN,
202 	SIOF0_SCK_TS_SCK, PTQ2, PTQ1, PTQ0,
203 	LCDRD, CS6B_CE1B_LCDCS2, WAIT, LCDDCK_LCDWR, LCDVEPWC_LCDVEPWC2,
204 	SCIF0_CTS_SIUAISPD, SCIF0_RTS_SIUAOSPD,
205 	SCIF0_SCK_TPUTO, SCIF0_RXD, SCIF0_TXD,
206 	FOE_VIO_VD2, FWE, FSC, DREQ0, FCDE,
207 	NAF2_VIO_D10, NAF1_VIO_D9, NAF0_VIO_D8,
208 	FRB_VIO_CLK2, FCE_VIO_HD2,
209 	NAF7_VIO_D15, NAF6_VIO_D14, NAF5_VIO_D13, NAF4_VIO_D12, NAF3_VIO_D11,
210 	VIO_FLD_SCIF2_CTS, VIO_CKO_SCIF2_RTS, VIO_STEX_SCIF2_SCK,
211 	VIO_STEM_SCIF2_TXD, VIO_HD_SCIF2_RXD,
212 	VIO_VD_SCIF1_CTS, VIO_CLK_SCIF1_RTS,
213 	CS6A_CE2B, LCDD23, LCDD22, LCDD21, LCDD20,
214 	LCDD19_DV_CLKI, LCDD18_DV_CLK,
215 	KEYOUT5_IN5, KEYOUT4_IN6, KEYOUT3, KEYOUT2, KEYOUT1, KEYOUT0,
216 	KEYIN4_IRQ7, KEYIN3, KEYIN2, KEYIN1, KEYIN0_IRQ6,
217 
218 	PSA15_KEYIN0, PSA15_IRQ6, PSA14_KEYIN4, PSA14_IRQ7,
219 	PSA9_IRQ4, PSA9_BS, PSA4_IRQ2, PSA4_SDHID2,
220 	PSB15_SIOTXD, PSB15_SIUBOSLD, PSB14_SIORXD, PSB14_SIUBISLD,
221 	PSB13_SIOD, PSB13_SIUBILR, PSB12_SIOSTRB0, PSB12_SIUBIBT,
222 	PSB11_SIOSTRB1, PSB11_SIUBOLR, PSB10_SIOSCK, PSB10_SIUBOBT,
223 	PSB9_SIOMCK, PSB9_SIUMCKB, PSB8_SIOF0_MCK, PSB8_IRQ3,
224 	PSB7_SIOF0_TXD, PSB7_IRDA_OUT, PSB6_SIOF0_RXD, PSB6_IRDA_IN,
225 	PSB5_SIOF0_SCK, PSB5_TS_SCK, PSB4_SIOF0_SYNC, PSB4_TS_SDEN,
226 	PSB3_SIOF0_SS1, PSB3_TS_SPSYNC, PSB2_SIOF0_SS2, PSB2_SIM_RST,
227 	PSB1_SIUMCKA, PSB1_SIOF1_MCK, PSB0_SIUAOSLD, PSB0_SIOF1_TXD,
228 	PSC15_SIUAISLD, PSC15_SIOF1_RXD, PSC14_SIUAOBT, PSC14_SIOF1_SCK,
229 	PSC13_SIUAOLR, PSC13_SIOF1_SYNC, PSC12_SIUAIBT, PSC12_SIOF1_SS1,
230 	PSC11_SIUAILR, PSC11_SIOF1_SS2, PSC0_NAF, PSC0_VIO,
231 	PSD13_VIO, PSD13_SCIF2, PSD12_VIO, PSD12_SCIF1,
232 	PSD11_VIO, PSD11_SCIF1, PSD10_VIO_D0, PSD10_LCDLCLK,
233 	PSD9_SIOMCK_SIUMCKB, PSD9_SIUFCKB, PSD8_SCIF0_SCK, PSD8_TPUTO,
234 	PSD7_SCIF0_RTS, PSD7_SIUAOSPD, PSD6_SCIF0_CTS, PSD6_SIUAISPD,
235 	PSD5_CS6B_CE1B, PSD5_LCDCS2,
236 	PSD3_LCDVEPWC_LCDVCPWC, PSD3_LCDVEPWC2_LCDVCPWC2,
237 	PSD2_LCDDON, PSD2_LCDDON2, PSD0_LCDD19_LCDD0, PSD0_DV,
238 	PSE15_SIOF0_MCK_IRQ3, PSE15_SIM_D,
239 	PSE14_SIOF0_TXD_IRDA_OUT, PSE14_SIM_CLK,
240 	PSE13_SIOF0_RXD_IRDA_IN, PSE13_TS_SDAT, PSE12_LCDVSYN2, PSE12_DACK,
241 	PSE11_SIUMCKA_SIOF1_MCK, PSE11_SIUFCKA,
242 	PSE3_FLCTL, PSE3_VIO, PSE2_NAF2, PSE2_VIO_D10,
243 	PSE1_NAF1, PSE1_VIO_D9, PSE0_NAF0, PSE0_VIO_D8,
244 
245 	HIZA14_KEYSC, HIZA14_HIZ,
246 	HIZA10_NAF, HIZA10_HIZ,
247 	HIZA9_VIO, HIZA9_HIZ,
248 	HIZA8_LCDC, HIZA8_HIZ,
249 	HIZA7_LCDC, HIZA7_HIZ,
250 	HIZA6_LCDC, HIZA6_HIZ,
251 	HIZB4_SIUA, HIZB4_HIZ,
252 	HIZB1_VIO, HIZB1_HIZ,
253 	HIZB0_VIO, HIZB0_HIZ,
254 	HIZC15_IRQ7, HIZC15_HIZ,
255 	HIZC14_IRQ6, HIZC14_HIZ,
256 	HIZC13_IRQ5, HIZC13_HIZ,
257 	HIZC12_IRQ4, HIZC12_HIZ,
258 	HIZC11_IRQ3, HIZC11_HIZ,
259 	HIZC10_IRQ2, HIZC10_HIZ,
260 	HIZC9_IRQ1, HIZC9_HIZ,
261 	HIZC8_IRQ0, HIZC8_HIZ,
262 	MSELB9_VIO, MSELB9_VIO2,
263 	MSELB8_RGB, MSELB8_SYS,
264 	PINMUX_FUNCTION_END,
265 };
266 
267 static const u16 pinmux_data[] = {
268 	/* PTA */
269 	PINMUX_DATA(PTA7_DATA, PTA7_IN, PTA7_OUT),
270 	PINMUX_DATA(PTA6_DATA, PTA6_IN),
271 	PINMUX_DATA(PTA5_DATA, PTA5_IN, PTA5_OUT),
272 	PINMUX_DATA(PTA4_DATA, PTA4_IN),
273 	PINMUX_DATA(PTA3_DATA, PTA3_IN),
274 	PINMUX_DATA(PTA2_DATA, PTA2_IN),
275 	PINMUX_DATA(PTA1_DATA, PTA1_IN),
276 	PINMUX_DATA(PTA0_DATA, PTA0_IN),
277 
278 	/* PTB */
279 	PINMUX_DATA(PTB7_DATA, PTB7_IN, PTB7_OUT),
280 	PINMUX_DATA(PTB6_DATA, PTB6_IN, PTB6_OUT),
281 	PINMUX_DATA(PTB5_DATA, PTB5_IN, PTB5_OUT),
282 	PINMUX_DATA(PTB4_DATA, PTB4_IN, PTB4_OUT),
283 	PINMUX_DATA(PTB3_DATA, PTB3_IN, PTB3_OUT),
284 	PINMUX_DATA(PTB2_DATA, PTB2_IN, PTB2_OUT),
285 	PINMUX_DATA(PTB1_DATA, PTB1_IN, PTB1_OUT),
286 	PINMUX_DATA(PTB0_DATA, PTB0_IN, PTB0_OUT),
287 
288 	/* PTC */
289 	PINMUX_DATA(PTC7_DATA, PTC7_IN),
290 	PINMUX_DATA(PTC5_DATA, PTC5_IN),
291 	PINMUX_DATA(PTC4_DATA, PTC4_IN, PTC4_OUT),
292 	PINMUX_DATA(PTC3_DATA, PTC3_IN, PTC3_OUT),
293 	PINMUX_DATA(PTC2_DATA, PTC2_IN, PTC2_OUT),
294 	PINMUX_DATA(PTC0_DATA, PTC0_IN, PTC0_OUT),
295 
296 	/* PTD */
297 	PINMUX_DATA(PTD7_DATA, PTD7_IN),
298 	PINMUX_DATA(PTD6_DATA, PTD6_OUT, PTD6_IN),
299 	PINMUX_DATA(PTD5_DATA, PTD5_OUT, PTD5_IN),
300 	PINMUX_DATA(PTD4_DATA, PTD4_OUT, PTD4_IN),
301 	PINMUX_DATA(PTD3_DATA, PTD3_OUT, PTD3_IN),
302 	PINMUX_DATA(PTD2_DATA, PTD2_OUT, PTD2_IN),
303 	PINMUX_DATA(PTD1_DATA, PTD1_OUT, PTD1_IN),
304 	PINMUX_DATA(PTD0_DATA, PTD0_OUT),
305 
306 	/* PTE */
307 	PINMUX_DATA(PTE7_DATA, PTE7_OUT, PTE7_IN),
308 	PINMUX_DATA(PTE6_DATA, PTE6_OUT, PTE6_IN),
309 	PINMUX_DATA(PTE5_DATA, PTE5_OUT, PTE5_IN),
310 	PINMUX_DATA(PTE4_DATA, PTE4_OUT, PTE4_IN),
311 	PINMUX_DATA(PTE1_DATA, PTE1_OUT, PTE1_IN),
312 	PINMUX_DATA(PTE0_DATA, PTE0_OUT, PTE0_IN),
313 
314 	/* PTF */
315 	PINMUX_DATA(PTF6_DATA, PTF6_OUT, PTF6_IN),
316 	PINMUX_DATA(PTF5_DATA, PTF5_OUT, PTF5_IN),
317 	PINMUX_DATA(PTF4_DATA, PTF4_OUT, PTF4_IN),
318 	PINMUX_DATA(PTF3_DATA, PTF3_OUT, PTF3_IN),
319 	PINMUX_DATA(PTF2_DATA, PTF2_OUT, PTF2_IN),
320 	PINMUX_DATA(PTF1_DATA, PTF1_IN),
321 	PINMUX_DATA(PTF0_DATA, PTF0_OUT),
322 
323 	/* PTG */
324 	PINMUX_DATA(PTG4_DATA, PTG4_OUT),
325 	PINMUX_DATA(PTG3_DATA, PTG3_OUT),
326 	PINMUX_DATA(PTG2_DATA, PTG2_OUT),
327 	PINMUX_DATA(PTG1_DATA, PTG1_OUT),
328 	PINMUX_DATA(PTG0_DATA, PTG0_OUT),
329 
330 	/* PTH */
331 	PINMUX_DATA(PTH7_DATA, PTH7_OUT),
332 	PINMUX_DATA(PTH6_DATA, PTH6_OUT, PTH6_IN),
333 	PINMUX_DATA(PTH5_DATA, PTH5_OUT, PTH5_IN),
334 	PINMUX_DATA(PTH4_DATA, PTH4_OUT),
335 	PINMUX_DATA(PTH3_DATA, PTH3_OUT),
336 	PINMUX_DATA(PTH2_DATA, PTH2_OUT),
337 	PINMUX_DATA(PTH1_DATA, PTH1_OUT, PTH1_IN),
338 	PINMUX_DATA(PTH0_DATA, PTH0_OUT, PTH0_IN),
339 
340 	/* PTJ */
341 	PINMUX_DATA(PTJ7_DATA, PTJ7_OUT),
342 	PINMUX_DATA(PTJ6_DATA, PTJ6_OUT),
343 	PINMUX_DATA(PTJ5_DATA, PTJ5_OUT),
344 	PINMUX_DATA(PTJ1_DATA, PTJ1_OUT, PTJ1_IN),
345 	PINMUX_DATA(PTJ0_DATA, PTJ0_OUT, PTJ0_IN),
346 
347 	/* PTK */
348 	PINMUX_DATA(PTK6_DATA, PTK6_OUT, PTK6_IN),
349 	PINMUX_DATA(PTK5_DATA, PTK5_OUT, PTK5_IN),
350 	PINMUX_DATA(PTK4_DATA, PTK4_OUT, PTK4_IN),
351 	PINMUX_DATA(PTK3_DATA, PTK3_OUT, PTK3_IN),
352 	PINMUX_DATA(PTK2_DATA, PTK2_IN),
353 	PINMUX_DATA(PTK1_DATA, PTK1_OUT),
354 	PINMUX_DATA(PTK0_DATA, PTK0_OUT, PTK0_IN),
355 
356 	/* PTL */
357 	PINMUX_DATA(PTL7_DATA, PTL7_OUT, PTL7_IN),
358 	PINMUX_DATA(PTL6_DATA, PTL6_OUT, PTL6_IN),
359 	PINMUX_DATA(PTL5_DATA, PTL5_OUT, PTL5_IN),
360 	PINMUX_DATA(PTL4_DATA, PTL4_OUT, PTL4_IN),
361 	PINMUX_DATA(PTL3_DATA, PTL3_OUT, PTL3_IN),
362 	PINMUX_DATA(PTL2_DATA, PTL2_OUT, PTL2_IN),
363 	PINMUX_DATA(PTL1_DATA, PTL1_OUT, PTL1_IN),
364 	PINMUX_DATA(PTL0_DATA, PTL0_OUT, PTL0_IN),
365 
366 	/* PTM */
367 	PINMUX_DATA(PTM7_DATA, PTM7_OUT, PTM7_IN),
368 	PINMUX_DATA(PTM6_DATA, PTM6_OUT, PTM6_IN),
369 	PINMUX_DATA(PTM5_DATA, PTM5_OUT, PTM5_IN),
370 	PINMUX_DATA(PTM4_DATA, PTM4_OUT, PTM4_IN),
371 	PINMUX_DATA(PTM3_DATA, PTM3_OUT, PTM3_IN),
372 	PINMUX_DATA(PTM2_DATA, PTM2_OUT, PTM2_IN),
373 	PINMUX_DATA(PTM1_DATA, PTM1_OUT, PTM1_IN),
374 	PINMUX_DATA(PTM0_DATA, PTM0_OUT, PTM0_IN),
375 
376 	/* PTN */
377 	PINMUX_DATA(PTN7_DATA, PTN7_OUT, PTN7_IN),
378 	PINMUX_DATA(PTN6_DATA, PTN6_OUT, PTN6_IN),
379 	PINMUX_DATA(PTN5_DATA, PTN5_OUT, PTN5_IN),
380 	PINMUX_DATA(PTN4_DATA, PTN4_OUT, PTN4_IN),
381 	PINMUX_DATA(PTN3_DATA, PTN3_OUT, PTN3_IN),
382 	PINMUX_DATA(PTN2_DATA, PTN2_OUT, PTN2_IN),
383 	PINMUX_DATA(PTN1_DATA, PTN1_OUT, PTN1_IN),
384 	PINMUX_DATA(PTN0_DATA, PTN0_OUT, PTN0_IN),
385 
386 	/* PTQ */
387 	PINMUX_DATA(PTQ6_DATA, PTQ6_OUT),
388 	PINMUX_DATA(PTQ5_DATA, PTQ5_OUT, PTQ5_IN),
389 	PINMUX_DATA(PTQ4_DATA, PTQ4_OUT, PTQ4_IN),
390 	PINMUX_DATA(PTQ3_DATA, PTQ3_OUT, PTQ3_IN),
391 	PINMUX_DATA(PTQ2_DATA, PTQ2_IN),
392 	PINMUX_DATA(PTQ1_DATA, PTQ1_OUT),
393 	PINMUX_DATA(PTQ0_DATA, PTQ0_OUT, PTQ0_IN),
394 
395 	/* PTR */
396 	PINMUX_DATA(PTR4_DATA, PTR4_OUT),
397 	PINMUX_DATA(PTR3_DATA, PTR3_OUT),
398 	PINMUX_DATA(PTR2_DATA, PTR2_IN),
399 	PINMUX_DATA(PTR1_DATA, PTR1_OUT),
400 	PINMUX_DATA(PTR0_DATA, PTR0_OUT),
401 
402 	/* PTS */
403 	PINMUX_DATA(PTS4_DATA, PTS4_IN),
404 	PINMUX_DATA(PTS3_DATA, PTS3_OUT),
405 	PINMUX_DATA(PTS2_DATA, PTS2_OUT, PTS2_IN),
406 	PINMUX_DATA(PTS1_DATA, PTS1_IN),
407 	PINMUX_DATA(PTS0_DATA, PTS0_OUT),
408 
409 	/* PTT */
410 	PINMUX_DATA(PTT4_DATA, PTT4_OUT, PTT4_IN),
411 	PINMUX_DATA(PTT3_DATA, PTT3_OUT, PTT3_IN),
412 	PINMUX_DATA(PTT2_DATA, PTT2_OUT, PTT2_IN),
413 	PINMUX_DATA(PTT1_DATA, PTT1_IN),
414 	PINMUX_DATA(PTT0_DATA, PTT0_OUT),
415 
416 	/* PTU */
417 	PINMUX_DATA(PTU4_DATA, PTU4_OUT, PTU4_IN),
418 	PINMUX_DATA(PTU3_DATA, PTU3_OUT, PTU3_IN),
419 	PINMUX_DATA(PTU2_DATA, PTU2_OUT, PTU2_IN),
420 	PINMUX_DATA(PTU1_DATA, PTU1_IN),
421 	PINMUX_DATA(PTU0_DATA, PTU0_OUT, PTU0_IN),
422 
423 	/* PTV */
424 	PINMUX_DATA(PTV4_DATA, PTV4_OUT, PTV4_IN),
425 	PINMUX_DATA(PTV3_DATA, PTV3_OUT, PTV3_IN),
426 	PINMUX_DATA(PTV2_DATA, PTV2_OUT, PTV2_IN),
427 	PINMUX_DATA(PTV1_DATA, PTV1_OUT, PTV1_IN),
428 	PINMUX_DATA(PTV0_DATA, PTV0_OUT, PTV0_IN),
429 
430 	/* PTW */
431 	PINMUX_DATA(PTW6_DATA, PTW6_IN),
432 	PINMUX_DATA(PTW5_DATA, PTW5_OUT),
433 	PINMUX_DATA(PTW4_DATA, PTW4_OUT, PTW4_IN),
434 	PINMUX_DATA(PTW3_DATA, PTW3_OUT, PTW3_IN),
435 	PINMUX_DATA(PTW2_DATA, PTW2_OUT, PTW2_IN),
436 	PINMUX_DATA(PTW1_DATA, PTW1_OUT, PTW1_IN),
437 	PINMUX_DATA(PTW0_DATA, PTW0_OUT, PTW0_IN),
438 
439 	/* PTX */
440 	PINMUX_DATA(PTX6_DATA, PTX6_OUT, PTX6_IN),
441 	PINMUX_DATA(PTX5_DATA, PTX5_OUT, PTX5_IN),
442 	PINMUX_DATA(PTX4_DATA, PTX4_OUT, PTX4_IN),
443 	PINMUX_DATA(PTX3_DATA, PTX3_OUT, PTX3_IN),
444 	PINMUX_DATA(PTX2_DATA, PTX2_OUT, PTX2_IN),
445 	PINMUX_DATA(PTX1_DATA, PTX1_OUT, PTX1_IN),
446 	PINMUX_DATA(PTX0_DATA, PTX0_OUT, PTX0_IN),
447 
448 	/* PTY */
449 	PINMUX_DATA(PTY5_DATA, PTY5_OUT, PTY5_IN),
450 	PINMUX_DATA(PTY4_DATA, PTY4_OUT, PTY4_IN),
451 	PINMUX_DATA(PTY3_DATA, PTY3_OUT, PTY3_IN),
452 	PINMUX_DATA(PTY2_DATA, PTY2_OUT, PTY2_IN),
453 	PINMUX_DATA(PTY1_DATA, PTY1_OUT),
454 	PINMUX_DATA(PTY0_DATA, PTY0_OUT, PTY0_IN),
455 
456 	/* PTZ */
457 	PINMUX_DATA(PTZ5_DATA, PTZ5_IN),
458 	PINMUX_DATA(PTZ4_DATA, PTZ4_IN),
459 	PINMUX_DATA(PTZ3_DATA, PTZ3_IN),
460 	PINMUX_DATA(PTZ2_DATA, PTZ2_IN),
461 	PINMUX_DATA(PTZ1_DATA, PTZ1_IN),
462 
463 	/* SCIF0 */
464 	PINMUX_DATA(SCIF0_TXD_MARK, SCIF0_TXD),
465 	PINMUX_DATA(SCIF0_RXD_MARK, SCIF0_RXD),
466 	PINMUX_DATA(SCIF0_RTS_MARK, PSD7_SCIF0_RTS, SCIF0_RTS_SIUAOSPD),
467 	PINMUX_DATA(SCIF0_CTS_MARK, PSD6_SCIF0_CTS, SCIF0_CTS_SIUAISPD),
468 	PINMUX_DATA(SCIF0_SCK_MARK, PSD8_SCIF0_SCK, SCIF0_SCK_TPUTO),
469 
470 	/* SCIF1 */
471 	PINMUX_DATA(SCIF1_TXD_MARK, PSD11_SCIF1, VIO_D5_SCIF1_TXD),
472 	PINMUX_DATA(SCIF1_RXD_MARK, PSD11_SCIF1, VIO_D6_SCIF1_RXD),
473 	PINMUX_DATA(SCIF1_RTS_MARK, PSD12_SCIF1, VIO_CLK_SCIF1_RTS),
474 	PINMUX_DATA(SCIF1_CTS_MARK, PSD12_SCIF1, VIO_VD_SCIF1_CTS),
475 	PINMUX_DATA(SCIF1_SCK_MARK, PSD11_SCIF1, VIO_D7_SCIF1_SCK),
476 
477 	/* SCIF2 */
478 	PINMUX_DATA(SCIF2_TXD_MARK, PSD13_SCIF2, VIO_STEM_SCIF2_TXD),
479 	PINMUX_DATA(SCIF2_RXD_MARK, PSD13_SCIF2, VIO_HD_SCIF2_RXD),
480 	PINMUX_DATA(SCIF2_RTS_MARK, PSD13_SCIF2, VIO_CKO_SCIF2_RTS),
481 	PINMUX_DATA(SCIF2_CTS_MARK, PSD13_SCIF2, VIO_FLD_SCIF2_CTS),
482 	PINMUX_DATA(SCIF2_SCK_MARK, PSD13_SCIF2, VIO_STEX_SCIF2_SCK),
483 
484 	/* SIO */
485 	PINMUX_DATA(SIOTXD_MARK, PSB15_SIOTXD, SIOTXD_SIUBOSLD),
486 	PINMUX_DATA(SIORXD_MARK, PSB14_SIORXD, SIORXD_SIUBISLD),
487 	PINMUX_DATA(SIOD_MARK, PSB13_SIOD, SIOD_SIUBILR),
488 	PINMUX_DATA(SIOSTRB0_MARK, PSB12_SIOSTRB0, SIOSTRB0_SIUBIBT),
489 	PINMUX_DATA(SIOSTRB1_MARK, PSB11_SIOSTRB1, SIOSTRB1_SIUBOLR),
490 	PINMUX_DATA(SIOSCK_MARK, PSB10_SIOSCK, SIOSCK_SIUBOBT),
491 	PINMUX_DATA(SIOMCK_MARK, PSD9_SIOMCK_SIUMCKB, PSB9_SIOMCK, PTF6),
492 
493 	/* CEU */
494 	PINMUX_DATA(VIO_D15_MARK, PSC0_VIO, HIZA10_NAF, NAF7_VIO_D15),
495 	PINMUX_DATA(VIO_D14_MARK, PSC0_VIO, HIZA10_NAF, NAF6_VIO_D14),
496 	PINMUX_DATA(VIO_D13_MARK, PSC0_VIO, HIZA10_NAF, NAF5_VIO_D13),
497 	PINMUX_DATA(VIO_D12_MARK, PSC0_VIO, HIZA10_NAF, NAF4_VIO_D12),
498 	PINMUX_DATA(VIO_D11_MARK, PSC0_VIO, HIZA10_NAF, NAF3_VIO_D11),
499 	PINMUX_DATA(VIO_D10_MARK, PSE2_VIO_D10, HIZB0_VIO, NAF2_VIO_D10),
500 	PINMUX_DATA(VIO_D9_MARK, PSE1_VIO_D9, HIZB0_VIO, NAF1_VIO_D9),
501 	PINMUX_DATA(VIO_D8_MARK, PSE0_VIO_D8, HIZB0_VIO, NAF0_VIO_D8),
502 	PINMUX_DATA(VIO_D7_MARK, PSD11_VIO, VIO_D7_SCIF1_SCK),
503 	PINMUX_DATA(VIO_D6_MARK, PSD11_VIO, VIO_D6_SCIF1_RXD),
504 	PINMUX_DATA(VIO_D5_MARK, PSD11_VIO, VIO_D5_SCIF1_TXD),
505 	PINMUX_DATA(VIO_D4_MARK, VIO_D4),
506 	PINMUX_DATA(VIO_D3_MARK, VIO_D3),
507 	PINMUX_DATA(VIO_D2_MARK, VIO_D2),
508 	PINMUX_DATA(VIO_D1_MARK, VIO_D1),
509 	PINMUX_DATA(VIO_D0_MARK, PSD10_VIO_D0, VIO_D0_LCDLCLK),
510 	PINMUX_DATA(VIO_CLK_MARK, PSD12_VIO, MSELB9_VIO, VIO_CLK_SCIF1_RTS),
511 	PINMUX_DATA(VIO_VD_MARK, PSD12_VIO, MSELB9_VIO, VIO_VD_SCIF1_CTS),
512 	PINMUX_DATA(VIO_HD_MARK, PSD13_VIO, MSELB9_VIO, VIO_HD_SCIF2_RXD),
513 	PINMUX_DATA(VIO_FLD_MARK, PSD13_VIO, HIZA9_VIO, VIO_FLD_SCIF2_CTS),
514 	PINMUX_DATA(VIO_CKO_MARK, PSD13_VIO, HIZA9_VIO, VIO_CKO_SCIF2_RTS),
515 	PINMUX_DATA(VIO_STEX_MARK, PSD13_VIO, HIZA9_VIO, VIO_STEX_SCIF2_SCK),
516 	PINMUX_DATA(VIO_STEM_MARK, PSD13_VIO, HIZA9_VIO, VIO_STEM_SCIF2_TXD),
517 	PINMUX_DATA(VIO_VD2_MARK, PSE3_VIO, MSELB9_VIO2,
518 		    HIZB0_VIO, FOE_VIO_VD2),
519 	PINMUX_DATA(VIO_HD2_MARK, PSE3_VIO, MSELB9_VIO2,
520 		    HIZB1_VIO, FCE_VIO_HD2),
521 	PINMUX_DATA(VIO_CLK2_MARK, PSE3_VIO, MSELB9_VIO2,
522 		    HIZB1_VIO, FRB_VIO_CLK2),
523 
524 	/* LCDC */
525 	PINMUX_DATA(LCDD23_MARK, HIZA8_LCDC, LCDD23),
526 	PINMUX_DATA(LCDD22_MARK, HIZA8_LCDC, LCDD22),
527 	PINMUX_DATA(LCDD21_MARK, HIZA8_LCDC, LCDD21),
528 	PINMUX_DATA(LCDD20_MARK, HIZA8_LCDC, LCDD20),
529 	PINMUX_DATA(LCDD19_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD19_DV_CLKI),
530 	PINMUX_DATA(LCDD18_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD18_DV_CLK),
531 	PINMUX_DATA(LCDD17_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC,
532 		    LCDD17_DV_HSYNC),
533 	PINMUX_DATA(LCDD16_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC,
534 		    LCDD16_DV_VSYNC),
535 	PINMUX_DATA(LCDD15_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD15_DV_D15),
536 	PINMUX_DATA(LCDD14_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD14_DV_D14),
537 	PINMUX_DATA(LCDD13_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD13_DV_D13),
538 	PINMUX_DATA(LCDD12_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD12_DV_D12),
539 	PINMUX_DATA(LCDD11_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD11_DV_D11),
540 	PINMUX_DATA(LCDD10_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD10_DV_D10),
541 	PINMUX_DATA(LCDD9_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD9_DV_D9),
542 	PINMUX_DATA(LCDD8_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD8_DV_D8),
543 	PINMUX_DATA(LCDD7_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD7_DV_D7),
544 	PINMUX_DATA(LCDD6_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD6_DV_D6),
545 	PINMUX_DATA(LCDD5_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD5_DV_D5),
546 	PINMUX_DATA(LCDD4_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD4_DV_D4),
547 	PINMUX_DATA(LCDD3_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD3_DV_D3),
548 	PINMUX_DATA(LCDD2_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD2_DV_D2),
549 	PINMUX_DATA(LCDD1_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD1_DV_D1),
550 	PINMUX_DATA(LCDD0_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD0_DV_D0),
551 	PINMUX_DATA(LCDLCLK_MARK, PSD10_LCDLCLK, VIO_D0_LCDLCLK),
552 	/* Main LCD */
553 	PINMUX_DATA(LCDDON_MARK, PSD2_LCDDON, HIZA7_LCDC, LCDDON_LCDDON2),
554 	PINMUX_DATA(LCDVCPWC_MARK, PSD3_LCDVEPWC_LCDVCPWC,
555 		    HIZA6_LCDC, LCDVCPWC_LCDVCPWC2),
556 	PINMUX_DATA(LCDVEPWC_MARK, PSD3_LCDVEPWC_LCDVCPWC,
557 		    HIZA6_LCDC, LCDVEPWC_LCDVEPWC2),
558 	PINMUX_DATA(LCDVSYN_MARK, HIZA7_LCDC, LCDVSYN),
559 	/* Main LCD - RGB Mode */
560 	PINMUX_DATA(LCDDCK_MARK, MSELB8_RGB, HIZA8_LCDC, LCDDCK_LCDWR),
561 	PINMUX_DATA(LCDHSYN_MARK, MSELB8_RGB, HIZA7_LCDC, LCDHSYN_LCDCS),
562 	PINMUX_DATA(LCDDISP_MARK, MSELB8_RGB, HIZA7_LCDC, LCDDISP_LCDRS),
563 	/* Main LCD - SYS Mode */
564 	PINMUX_DATA(LCDRS_MARK, MSELB8_SYS, HIZA7_LCDC, LCDDISP_LCDRS),
565 	PINMUX_DATA(LCDCS_MARK, MSELB8_SYS, HIZA7_LCDC, LCDHSYN_LCDCS),
566 	PINMUX_DATA(LCDWR_MARK, MSELB8_SYS, HIZA8_LCDC, LCDDCK_LCDWR),
567 	PINMUX_DATA(LCDRD_MARK, HIZA7_LCDC, LCDRD),
568 	/* Sub LCD - SYS Mode */
569 	PINMUX_DATA(LCDDON2_MARK, PSD2_LCDDON2, HIZA7_LCDC, LCDDON_LCDDON2),
570 	PINMUX_DATA(LCDVCPWC2_MARK, PSD3_LCDVEPWC2_LCDVCPWC2,
571 		    HIZA6_LCDC, LCDVCPWC_LCDVCPWC2),
572 	PINMUX_DATA(LCDVEPWC2_MARK, PSD3_LCDVEPWC2_LCDVCPWC2,
573 		    HIZA6_LCDC, LCDVEPWC_LCDVEPWC2),
574 	PINMUX_DATA(LCDVSYN2_MARK, PSE12_LCDVSYN2, HIZA8_LCDC, LCDVSYN2_DACK),
575 	PINMUX_DATA(LCDCS2_MARK, PSD5_LCDCS2, CS6B_CE1B_LCDCS2),
576 
577 	/* BSC */
578 	PINMUX_DATA(IOIS16_MARK, IOIS16),
579 	PINMUX_DATA(A25_MARK, A25),
580 	PINMUX_DATA(A24_MARK, A24),
581 	PINMUX_DATA(A23_MARK, A23),
582 	PINMUX_DATA(A22_MARK, A22),
583 	PINMUX_DATA(BS_MARK, PSA9_BS, IRQ4_BS),
584 	PINMUX_DATA(CS6B_CE1B_MARK, PSD5_CS6B_CE1B, CS6B_CE1B_LCDCS2),
585 	PINMUX_DATA(WAIT_MARK, WAIT),
586 	PINMUX_DATA(CS6A_CE2B_MARK, CS6A_CE2B),
587 
588 	/* SBSC */
589 	PINMUX_DATA(HPD63_MARK, HPD63),
590 	PINMUX_DATA(HPD62_MARK, HPD62),
591 	PINMUX_DATA(HPD61_MARK, HPD61),
592 	PINMUX_DATA(HPD60_MARK, HPD60),
593 	PINMUX_DATA(HPD59_MARK, HPD59),
594 	PINMUX_DATA(HPD58_MARK, HPD58),
595 	PINMUX_DATA(HPD57_MARK, HPD57),
596 	PINMUX_DATA(HPD56_MARK, HPD56),
597 	PINMUX_DATA(HPD55_MARK, HPD55),
598 	PINMUX_DATA(HPD54_MARK, HPD54),
599 	PINMUX_DATA(HPD53_MARK, HPD53),
600 	PINMUX_DATA(HPD52_MARK, HPD52),
601 	PINMUX_DATA(HPD51_MARK, HPD51),
602 	PINMUX_DATA(HPD50_MARK, HPD50),
603 	PINMUX_DATA(HPD49_MARK, HPD49),
604 	PINMUX_DATA(HPD48_MARK, HPD48),
605 	PINMUX_DATA(HPDQM7_MARK, HPDQM7),
606 	PINMUX_DATA(HPDQM6_MARK, HPDQM6),
607 	PINMUX_DATA(HPDQM5_MARK, HPDQM5),
608 	PINMUX_DATA(HPDQM4_MARK, HPDQM4),
609 
610 	/* IRQ */
611 	PINMUX_DATA(IRQ0_MARK, HIZC8_IRQ0, IRQ0),
612 	PINMUX_DATA(IRQ1_MARK, HIZC9_IRQ1, IRQ1),
613 	PINMUX_DATA(IRQ2_MARK, PSA4_IRQ2, HIZC10_IRQ2, IRQ2_SDHID2),
614 	PINMUX_DATA(IRQ3_MARK, PSE15_SIOF0_MCK_IRQ3, PSB8_IRQ3,
615 		    HIZC11_IRQ3, PTQ0),
616 	PINMUX_DATA(IRQ4_MARK, PSA9_IRQ4, HIZC12_IRQ4, IRQ4_BS),
617 	PINMUX_DATA(IRQ5_MARK, HIZC13_IRQ5, IRQ5),
618 	PINMUX_DATA(IRQ6_MARK, PSA15_IRQ6, HIZC14_IRQ6, KEYIN0_IRQ6),
619 	PINMUX_DATA(IRQ7_MARK, PSA14_IRQ7, HIZC15_IRQ7, KEYIN4_IRQ7),
620 
621 	/* SDHI */
622 	PINMUX_DATA(SDHICD_MARK, SDHICD),
623 	PINMUX_DATA(SDHIWP_MARK, SDHIWP),
624 	PINMUX_DATA(SDHID3_MARK, SDHID3),
625 	PINMUX_DATA(SDHID2_MARK, PSA4_SDHID2, IRQ2_SDHID2),
626 	PINMUX_DATA(SDHID1_MARK, SDHID1),
627 	PINMUX_DATA(SDHID0_MARK, SDHID0),
628 	PINMUX_DATA(SDHICMD_MARK, SDHICMD),
629 	PINMUX_DATA(SDHICLK_MARK, SDHICLK),
630 
631 	/* SIU - Port A */
632 	PINMUX_DATA(SIUAOLR_MARK, PSC13_SIUAOLR, HIZB4_SIUA, SIUAOLR_SIOF1_SYNC),
633 	PINMUX_DATA(SIUAOBT_MARK, PSC14_SIUAOBT, HIZB4_SIUA, SIUAOBT_SIOF1_SCK),
634 	PINMUX_DATA(SIUAISLD_MARK, PSC15_SIUAISLD, HIZB4_SIUA, SIUAISLD_SIOF1_RXD),
635 	PINMUX_DATA(SIUAILR_MARK, PSC11_SIUAILR, HIZB4_SIUA, SIUAILR_SIOF1_SS2),
636 	PINMUX_DATA(SIUAIBT_MARK, PSC12_SIUAIBT, HIZB4_SIUA, SIUAIBT_SIOF1_SS1),
637 	PINMUX_DATA(SIUAOSLD_MARK, PSB0_SIUAOSLD, HIZB4_SIUA, SIUAOSLD_SIOF1_TXD),
638 	PINMUX_DATA(SIUMCKA_MARK, PSE11_SIUMCKA_SIOF1_MCK, HIZB4_SIUA, PSB1_SIUMCKA, PTK0),
639 	PINMUX_DATA(SIUFCKA_MARK, PSE11_SIUFCKA, HIZB4_SIUA, PTK0),
640 
641 	/* SIU - Port B */
642 	PINMUX_DATA(SIUBOLR_MARK, PSB11_SIUBOLR, SIOSTRB1_SIUBOLR),
643 	PINMUX_DATA(SIUBOBT_MARK, PSB10_SIUBOBT, SIOSCK_SIUBOBT),
644 	PINMUX_DATA(SIUBISLD_MARK, PSB14_SIUBISLD, SIORXD_SIUBISLD),
645 	PINMUX_DATA(SIUBILR_MARK, PSB13_SIUBILR, SIOD_SIUBILR),
646 	PINMUX_DATA(SIUBIBT_MARK, PSB12_SIUBIBT, SIOSTRB0_SIUBIBT),
647 	PINMUX_DATA(SIUBOSLD_MARK, PSB15_SIUBOSLD, SIOTXD_SIUBOSLD),
648 	PINMUX_DATA(SIUMCKB_MARK, PSD9_SIOMCK_SIUMCKB, PSB9_SIUMCKB, PTF6),
649 	PINMUX_DATA(SIUFCKB_MARK, PSD9_SIUFCKB, PTF6),
650 
651 	/* AUD */
652 	PINMUX_DATA(AUDSYNC_MARK, AUDSYNC),
653 	PINMUX_DATA(AUDATA3_MARK, AUDATA3),
654 	PINMUX_DATA(AUDATA2_MARK, AUDATA2),
655 	PINMUX_DATA(AUDATA1_MARK, AUDATA1),
656 	PINMUX_DATA(AUDATA0_MARK, AUDATA0),
657 
658 	/* DMAC */
659 	PINMUX_DATA(DACK_MARK, PSE12_DACK, LCDVSYN2_DACK),
660 	PINMUX_DATA(DREQ0_MARK, DREQ0),
661 
662 	/* VOU */
663 	PINMUX_DATA(DV_CLKI_MARK, PSD0_DV, LCDD19_DV_CLKI),
664 	PINMUX_DATA(DV_CLK_MARK, PSD0_DV, LCDD18_DV_CLK),
665 	PINMUX_DATA(DV_HSYNC_MARK, PSD0_DV, LCDD17_DV_HSYNC),
666 	PINMUX_DATA(DV_VSYNC_MARK, PSD0_DV, LCDD16_DV_VSYNC),
667 	PINMUX_DATA(DV_D15_MARK, PSD0_DV, LCDD15_DV_D15),
668 	PINMUX_DATA(DV_D14_MARK, PSD0_DV, LCDD14_DV_D14),
669 	PINMUX_DATA(DV_D13_MARK, PSD0_DV, LCDD13_DV_D13),
670 	PINMUX_DATA(DV_D12_MARK, PSD0_DV, LCDD12_DV_D12),
671 	PINMUX_DATA(DV_D11_MARK, PSD0_DV, LCDD11_DV_D11),
672 	PINMUX_DATA(DV_D10_MARK, PSD0_DV, LCDD10_DV_D10),
673 	PINMUX_DATA(DV_D9_MARK, PSD0_DV, LCDD9_DV_D9),
674 	PINMUX_DATA(DV_D8_MARK, PSD0_DV, LCDD8_DV_D8),
675 	PINMUX_DATA(DV_D7_MARK, PSD0_DV, LCDD7_DV_D7),
676 	PINMUX_DATA(DV_D6_MARK, PSD0_DV, LCDD6_DV_D6),
677 	PINMUX_DATA(DV_D5_MARK, PSD0_DV, LCDD5_DV_D5),
678 	PINMUX_DATA(DV_D4_MARK, PSD0_DV, LCDD4_DV_D4),
679 	PINMUX_DATA(DV_D3_MARK, PSD0_DV, LCDD3_DV_D3),
680 	PINMUX_DATA(DV_D2_MARK, PSD0_DV, LCDD2_DV_D2),
681 	PINMUX_DATA(DV_D1_MARK, PSD0_DV, LCDD1_DV_D1),
682 	PINMUX_DATA(DV_D0_MARK, PSD0_DV, LCDD0_DV_D0),
683 
684 	/* CPG */
685 	PINMUX_DATA(STATUS0_MARK, STATUS0),
686 	PINMUX_DATA(PDSTATUS_MARK, PDSTATUS),
687 
688 	/* SIOF0 */
689 	PINMUX_DATA(SIOF0_MCK_MARK, PSE15_SIOF0_MCK_IRQ3, PSB8_SIOF0_MCK, PTQ0),
690 	PINMUX_DATA(SIOF0_SCK_MARK, PSB5_SIOF0_SCK, SIOF0_SCK_TS_SCK),
691 	PINMUX_DATA(SIOF0_SYNC_MARK, PSB4_SIOF0_SYNC, SIOF0_SYNC_TS_SDEN),
692 	PINMUX_DATA(SIOF0_SS1_MARK, PSB3_SIOF0_SS1, SIOF0_SS1_TS_SPSYNC),
693 	PINMUX_DATA(SIOF0_SS2_MARK, PSB2_SIOF0_SS2, SIOF0_SS2_SIM_RST),
694 	PINMUX_DATA(SIOF0_TXD_MARK, PSE14_SIOF0_TXD_IRDA_OUT,
695 		    PSB7_SIOF0_TXD, PTQ1),
696 	PINMUX_DATA(SIOF0_RXD_MARK, PSE13_SIOF0_RXD_IRDA_IN,
697 		    PSB6_SIOF0_RXD, PTQ2),
698 
699 	/* SIOF1 */
700 	PINMUX_DATA(SIOF1_MCK_MARK, PSE11_SIUMCKA_SIOF1_MCK,
701 		    PSB1_SIOF1_MCK, PTK0),
702 	PINMUX_DATA(SIOF1_SCK_MARK, PSC14_SIOF1_SCK, SIUAOBT_SIOF1_SCK),
703 	PINMUX_DATA(SIOF1_SYNC_MARK, PSC13_SIOF1_SYNC, SIUAOLR_SIOF1_SYNC),
704 	PINMUX_DATA(SIOF1_SS1_MARK, PSC12_SIOF1_SS1, SIUAIBT_SIOF1_SS1),
705 	PINMUX_DATA(SIOF1_SS2_MARK, PSC11_SIOF1_SS2, SIUAILR_SIOF1_SS2),
706 	PINMUX_DATA(SIOF1_TXD_MARK, PSB0_SIOF1_TXD, SIUAOSLD_SIOF1_TXD),
707 	PINMUX_DATA(SIOF1_RXD_MARK, PSC15_SIOF1_RXD, SIUAISLD_SIOF1_RXD),
708 
709 	/* SIM */
710 	PINMUX_DATA(SIM_D_MARK, PSE15_SIM_D, PTQ0),
711 	PINMUX_DATA(SIM_CLK_MARK, PSE14_SIM_CLK, PTQ1),
712 	PINMUX_DATA(SIM_RST_MARK, PSB2_SIM_RST, SIOF0_SS2_SIM_RST),
713 
714 	/* TSIF */
715 	PINMUX_DATA(TS_SDAT_MARK, PSE13_TS_SDAT, PTQ2),
716 	PINMUX_DATA(TS_SCK_MARK, PSB5_TS_SCK, SIOF0_SCK_TS_SCK),
717 	PINMUX_DATA(TS_SDEN_MARK, PSB4_TS_SDEN, SIOF0_SYNC_TS_SDEN),
718 	PINMUX_DATA(TS_SPSYNC_MARK, PSB3_TS_SPSYNC, SIOF0_SS1_TS_SPSYNC),
719 
720 	/* IRDA */
721 	PINMUX_DATA(IRDA_IN_MARK, PSE13_SIOF0_RXD_IRDA_IN, PSB6_IRDA_IN, PTQ2),
722 	PINMUX_DATA(IRDA_OUT_MARK, PSE14_SIOF0_TXD_IRDA_OUT,
723 		    PSB7_IRDA_OUT, PTQ1),
724 
725 	/* TPU */
726 	PINMUX_DATA(TPUTO_MARK, PSD8_TPUTO, SCIF0_SCK_TPUTO),
727 
728 	/* FLCTL */
729 	PINMUX_DATA(FCE_MARK, PSE3_FLCTL, FCE_VIO_HD2),
730 	PINMUX_DATA(NAF7_MARK, PSC0_NAF, HIZA10_NAF, NAF7_VIO_D15),
731 	PINMUX_DATA(NAF6_MARK, PSC0_NAF, HIZA10_NAF, NAF6_VIO_D14),
732 	PINMUX_DATA(NAF5_MARK, PSC0_NAF, HIZA10_NAF, NAF5_VIO_D13),
733 	PINMUX_DATA(NAF4_MARK, PSC0_NAF, HIZA10_NAF, NAF4_VIO_D12),
734 	PINMUX_DATA(NAF3_MARK, PSC0_NAF, HIZA10_NAF, NAF3_VIO_D11),
735 	PINMUX_DATA(NAF2_MARK, PSE2_NAF2, HIZB0_VIO, NAF2_VIO_D10),
736 	PINMUX_DATA(NAF1_MARK, PSE1_NAF1, HIZB0_VIO, NAF1_VIO_D9),
737 	PINMUX_DATA(NAF0_MARK, PSE0_NAF0, HIZB0_VIO, NAF0_VIO_D8),
738 	PINMUX_DATA(FCDE_MARK, FCDE),
739 	PINMUX_DATA(FOE_MARK, PSE3_FLCTL, HIZB0_VIO, FOE_VIO_VD2),
740 	PINMUX_DATA(FSC_MARK, FSC),
741 	PINMUX_DATA(FWE_MARK, FWE),
742 	PINMUX_DATA(FRB_MARK, PSE3_FLCTL, FRB_VIO_CLK2),
743 
744 	/* KEYSC */
745 	PINMUX_DATA(KEYIN0_MARK, PSA15_KEYIN0, HIZC14_IRQ6, KEYIN0_IRQ6),
746 	PINMUX_DATA(KEYIN1_MARK, HIZA14_KEYSC, KEYIN1),
747 	PINMUX_DATA(KEYIN2_MARK, HIZA14_KEYSC, KEYIN2),
748 	PINMUX_DATA(KEYIN3_MARK, HIZA14_KEYSC, KEYIN3),
749 	PINMUX_DATA(KEYIN4_MARK, PSA14_KEYIN4, HIZC15_IRQ7, KEYIN4_IRQ7),
750 	PINMUX_DATA(KEYOUT0_MARK, HIZA14_KEYSC, KEYOUT0),
751 	PINMUX_DATA(KEYOUT1_MARK, HIZA14_KEYSC, KEYOUT1),
752 	PINMUX_DATA(KEYOUT2_MARK, HIZA14_KEYSC, KEYOUT2),
753 	PINMUX_DATA(KEYOUT3_MARK, HIZA14_KEYSC, KEYOUT3),
754 	PINMUX_DATA(KEYOUT4_IN6_MARK, HIZA14_KEYSC, KEYOUT4_IN6),
755 	PINMUX_DATA(KEYOUT5_IN5_MARK, HIZA14_KEYSC, KEYOUT5_IN5),
756 };
757 
758 static const struct sh_pfc_pin pinmux_pins[] = {
759 	/* PTA */
760 	PINMUX_GPIO(PTA7),
761 	PINMUX_GPIO(PTA6),
762 	PINMUX_GPIO(PTA5),
763 	PINMUX_GPIO(PTA4),
764 	PINMUX_GPIO(PTA3),
765 	PINMUX_GPIO(PTA2),
766 	PINMUX_GPIO(PTA1),
767 	PINMUX_GPIO(PTA0),
768 
769 	/* PTB */
770 	PINMUX_GPIO(PTB7),
771 	PINMUX_GPIO(PTB6),
772 	PINMUX_GPIO(PTB5),
773 	PINMUX_GPIO(PTB4),
774 	PINMUX_GPIO(PTB3),
775 	PINMUX_GPIO(PTB2),
776 	PINMUX_GPIO(PTB1),
777 	PINMUX_GPIO(PTB0),
778 
779 	/* PTC */
780 	PINMUX_GPIO(PTC7),
781 	PINMUX_GPIO(PTC5),
782 	PINMUX_GPIO(PTC4),
783 	PINMUX_GPIO(PTC3),
784 	PINMUX_GPIO(PTC2),
785 	PINMUX_GPIO(PTC0),
786 
787 	/* PTD */
788 	PINMUX_GPIO(PTD7),
789 	PINMUX_GPIO(PTD6),
790 	PINMUX_GPIO(PTD5),
791 	PINMUX_GPIO(PTD4),
792 	PINMUX_GPIO(PTD3),
793 	PINMUX_GPIO(PTD2),
794 	PINMUX_GPIO(PTD1),
795 	PINMUX_GPIO(PTD0),
796 
797 	/* PTE */
798 	PINMUX_GPIO(PTE7),
799 	PINMUX_GPIO(PTE6),
800 	PINMUX_GPIO(PTE5),
801 	PINMUX_GPIO(PTE4),
802 	PINMUX_GPIO(PTE1),
803 	PINMUX_GPIO(PTE0),
804 
805 	/* PTF */
806 	PINMUX_GPIO(PTF6),
807 	PINMUX_GPIO(PTF5),
808 	PINMUX_GPIO(PTF4),
809 	PINMUX_GPIO(PTF3),
810 	PINMUX_GPIO(PTF2),
811 	PINMUX_GPIO(PTF1),
812 	PINMUX_GPIO(PTF0),
813 
814 	/* PTG */
815 	PINMUX_GPIO(PTG4),
816 	PINMUX_GPIO(PTG3),
817 	PINMUX_GPIO(PTG2),
818 	PINMUX_GPIO(PTG1),
819 	PINMUX_GPIO(PTG0),
820 
821 	/* PTH */
822 	PINMUX_GPIO(PTH7),
823 	PINMUX_GPIO(PTH6),
824 	PINMUX_GPIO(PTH5),
825 	PINMUX_GPIO(PTH4),
826 	PINMUX_GPIO(PTH3),
827 	PINMUX_GPIO(PTH2),
828 	PINMUX_GPIO(PTH1),
829 	PINMUX_GPIO(PTH0),
830 
831 	/* PTJ */
832 	PINMUX_GPIO(PTJ7),
833 	PINMUX_GPIO(PTJ6),
834 	PINMUX_GPIO(PTJ5),
835 	PINMUX_GPIO(PTJ1),
836 	PINMUX_GPIO(PTJ0),
837 
838 	/* PTK */
839 	PINMUX_GPIO(PTK6),
840 	PINMUX_GPIO(PTK5),
841 	PINMUX_GPIO(PTK4),
842 	PINMUX_GPIO(PTK3),
843 	PINMUX_GPIO(PTK2),
844 	PINMUX_GPIO(PTK1),
845 	PINMUX_GPIO(PTK0),
846 
847 	/* PTL */
848 	PINMUX_GPIO(PTL7),
849 	PINMUX_GPIO(PTL6),
850 	PINMUX_GPIO(PTL5),
851 	PINMUX_GPIO(PTL4),
852 	PINMUX_GPIO(PTL3),
853 	PINMUX_GPIO(PTL2),
854 	PINMUX_GPIO(PTL1),
855 	PINMUX_GPIO(PTL0),
856 
857 	/* PTM */
858 	PINMUX_GPIO(PTM7),
859 	PINMUX_GPIO(PTM6),
860 	PINMUX_GPIO(PTM5),
861 	PINMUX_GPIO(PTM4),
862 	PINMUX_GPIO(PTM3),
863 	PINMUX_GPIO(PTM2),
864 	PINMUX_GPIO(PTM1),
865 	PINMUX_GPIO(PTM0),
866 
867 	/* PTN */
868 	PINMUX_GPIO(PTN7),
869 	PINMUX_GPIO(PTN6),
870 	PINMUX_GPIO(PTN5),
871 	PINMUX_GPIO(PTN4),
872 	PINMUX_GPIO(PTN3),
873 	PINMUX_GPIO(PTN2),
874 	PINMUX_GPIO(PTN1),
875 	PINMUX_GPIO(PTN0),
876 
877 	/* PTQ */
878 	PINMUX_GPIO(PTQ6),
879 	PINMUX_GPIO(PTQ5),
880 	PINMUX_GPIO(PTQ4),
881 	PINMUX_GPIO(PTQ3),
882 	PINMUX_GPIO(PTQ2),
883 	PINMUX_GPIO(PTQ1),
884 	PINMUX_GPIO(PTQ0),
885 
886 	/* PTR */
887 	PINMUX_GPIO(PTR4),
888 	PINMUX_GPIO(PTR3),
889 	PINMUX_GPIO(PTR2),
890 	PINMUX_GPIO(PTR1),
891 	PINMUX_GPIO(PTR0),
892 
893 	/* PTS */
894 	PINMUX_GPIO(PTS4),
895 	PINMUX_GPIO(PTS3),
896 	PINMUX_GPIO(PTS2),
897 	PINMUX_GPIO(PTS1),
898 	PINMUX_GPIO(PTS0),
899 
900 	/* PTT */
901 	PINMUX_GPIO(PTT4),
902 	PINMUX_GPIO(PTT3),
903 	PINMUX_GPIO(PTT2),
904 	PINMUX_GPIO(PTT1),
905 	PINMUX_GPIO(PTT0),
906 
907 	/* PTU */
908 	PINMUX_GPIO(PTU4),
909 	PINMUX_GPIO(PTU3),
910 	PINMUX_GPIO(PTU2),
911 	PINMUX_GPIO(PTU1),
912 	PINMUX_GPIO(PTU0),
913 
914 	/* PTV */
915 	PINMUX_GPIO(PTV4),
916 	PINMUX_GPIO(PTV3),
917 	PINMUX_GPIO(PTV2),
918 	PINMUX_GPIO(PTV1),
919 	PINMUX_GPIO(PTV0),
920 
921 	/* PTW */
922 	PINMUX_GPIO(PTW6),
923 	PINMUX_GPIO(PTW5),
924 	PINMUX_GPIO(PTW4),
925 	PINMUX_GPIO(PTW3),
926 	PINMUX_GPIO(PTW2),
927 	PINMUX_GPIO(PTW1),
928 	PINMUX_GPIO(PTW0),
929 
930 	/* PTX */
931 	PINMUX_GPIO(PTX6),
932 	PINMUX_GPIO(PTX5),
933 	PINMUX_GPIO(PTX4),
934 	PINMUX_GPIO(PTX3),
935 	PINMUX_GPIO(PTX2),
936 	PINMUX_GPIO(PTX1),
937 	PINMUX_GPIO(PTX0),
938 
939 	/* PTY */
940 	PINMUX_GPIO(PTY5),
941 	PINMUX_GPIO(PTY4),
942 	PINMUX_GPIO(PTY3),
943 	PINMUX_GPIO(PTY2),
944 	PINMUX_GPIO(PTY1),
945 	PINMUX_GPIO(PTY0),
946 
947 	/* PTZ */
948 	PINMUX_GPIO(PTZ5),
949 	PINMUX_GPIO(PTZ4),
950 	PINMUX_GPIO(PTZ3),
951 	PINMUX_GPIO(PTZ2),
952 	PINMUX_GPIO(PTZ1),
953 };
954 
955 #define PINMUX_FN_BASE	ARRAY_SIZE(pinmux_pins)
956 
957 static const struct pinmux_func pinmux_func_gpios[] = {
958 	/* SCIF0 */
959 	GPIO_FN(SCIF0_TXD),
960 	GPIO_FN(SCIF0_RXD),
961 	GPIO_FN(SCIF0_RTS),
962 	GPIO_FN(SCIF0_CTS),
963 	GPIO_FN(SCIF0_SCK),
964 
965 	/* SCIF1 */
966 	GPIO_FN(SCIF1_TXD),
967 	GPIO_FN(SCIF1_RXD),
968 	GPIO_FN(SCIF1_RTS),
969 	GPIO_FN(SCIF1_CTS),
970 	GPIO_FN(SCIF1_SCK),
971 
972 	/* SCIF2 */
973 	GPIO_FN(SCIF2_TXD),
974 	GPIO_FN(SCIF2_RXD),
975 	GPIO_FN(SCIF2_RTS),
976 	GPIO_FN(SCIF2_CTS),
977 	GPIO_FN(SCIF2_SCK),
978 
979 	/* SIO */
980 	GPIO_FN(SIOTXD),
981 	GPIO_FN(SIORXD),
982 	GPIO_FN(SIOD),
983 	GPIO_FN(SIOSTRB0),
984 	GPIO_FN(SIOSTRB1),
985 	GPIO_FN(SIOSCK),
986 	GPIO_FN(SIOMCK),
987 
988 	/* CEU */
989 	GPIO_FN(VIO_D15),
990 	GPIO_FN(VIO_D14),
991 	GPIO_FN(VIO_D13),
992 	GPIO_FN(VIO_D12),
993 	GPIO_FN(VIO_D11),
994 	GPIO_FN(VIO_D10),
995 	GPIO_FN(VIO_D9),
996 	GPIO_FN(VIO_D8),
997 	GPIO_FN(VIO_D7),
998 	GPIO_FN(VIO_D6),
999 	GPIO_FN(VIO_D5),
1000 	GPIO_FN(VIO_D4),
1001 	GPIO_FN(VIO_D3),
1002 	GPIO_FN(VIO_D2),
1003 	GPIO_FN(VIO_D1),
1004 	GPIO_FN(VIO_D0),
1005 	GPIO_FN(VIO_CLK),
1006 	GPIO_FN(VIO_VD),
1007 	GPIO_FN(VIO_HD),
1008 	GPIO_FN(VIO_FLD),
1009 	GPIO_FN(VIO_CKO),
1010 	GPIO_FN(VIO_STEX),
1011 	GPIO_FN(VIO_STEM),
1012 	GPIO_FN(VIO_VD2),
1013 	GPIO_FN(VIO_HD2),
1014 	GPIO_FN(VIO_CLK2),
1015 
1016 	/* LCDC */
1017 	GPIO_FN(LCDD23),
1018 	GPIO_FN(LCDD22),
1019 	GPIO_FN(LCDD21),
1020 	GPIO_FN(LCDD20),
1021 	GPIO_FN(LCDD19),
1022 	GPIO_FN(LCDD18),
1023 	GPIO_FN(LCDD17),
1024 	GPIO_FN(LCDD16),
1025 	GPIO_FN(LCDD15),
1026 	GPIO_FN(LCDD14),
1027 	GPIO_FN(LCDD13),
1028 	GPIO_FN(LCDD12),
1029 	GPIO_FN(LCDD11),
1030 	GPIO_FN(LCDD10),
1031 	GPIO_FN(LCDD9),
1032 	GPIO_FN(LCDD8),
1033 	GPIO_FN(LCDD7),
1034 	GPIO_FN(LCDD6),
1035 	GPIO_FN(LCDD5),
1036 	GPIO_FN(LCDD4),
1037 	GPIO_FN(LCDD3),
1038 	GPIO_FN(LCDD2),
1039 	GPIO_FN(LCDD1),
1040 	GPIO_FN(LCDD0),
1041 	GPIO_FN(LCDLCLK),
1042 	/* Main LCD */
1043 	GPIO_FN(LCDDON),
1044 	GPIO_FN(LCDVCPWC),
1045 	GPIO_FN(LCDVEPWC),
1046 	GPIO_FN(LCDVSYN),
1047 	/* Main LCD - RGB Mode */
1048 	GPIO_FN(LCDDCK),
1049 	GPIO_FN(LCDHSYN),
1050 	GPIO_FN(LCDDISP),
1051 	/* Main LCD - SYS Mode */
1052 	GPIO_FN(LCDRS),
1053 	GPIO_FN(LCDCS),
1054 	GPIO_FN(LCDWR),
1055 	GPIO_FN(LCDRD),
1056 	/* Sub LCD - SYS Mode */
1057 	GPIO_FN(LCDDON2),
1058 	GPIO_FN(LCDVCPWC2),
1059 	GPIO_FN(LCDVEPWC2),
1060 	GPIO_FN(LCDVSYN2),
1061 	GPIO_FN(LCDCS2),
1062 
1063 	/* BSC */
1064 	GPIO_FN(IOIS16),
1065 	GPIO_FN(A25),
1066 	GPIO_FN(A24),
1067 	GPIO_FN(A23),
1068 	GPIO_FN(A22),
1069 	GPIO_FN(BS),
1070 	GPIO_FN(CS6B_CE1B),
1071 	GPIO_FN(WAIT),
1072 	GPIO_FN(CS6A_CE2B),
1073 
1074 	/* SBSC */
1075 	GPIO_FN(HPD63),
1076 	GPIO_FN(HPD62),
1077 	GPIO_FN(HPD61),
1078 	GPIO_FN(HPD60),
1079 	GPIO_FN(HPD59),
1080 	GPIO_FN(HPD58),
1081 	GPIO_FN(HPD57),
1082 	GPIO_FN(HPD56),
1083 	GPIO_FN(HPD55),
1084 	GPIO_FN(HPD54),
1085 	GPIO_FN(HPD53),
1086 	GPIO_FN(HPD52),
1087 	GPIO_FN(HPD51),
1088 	GPIO_FN(HPD50),
1089 	GPIO_FN(HPD49),
1090 	GPIO_FN(HPD48),
1091 	GPIO_FN(HPDQM7),
1092 	GPIO_FN(HPDQM6),
1093 	GPIO_FN(HPDQM5),
1094 	GPIO_FN(HPDQM4),
1095 
1096 	/* IRQ */
1097 	GPIO_FN(IRQ0),
1098 	GPIO_FN(IRQ1),
1099 	GPIO_FN(IRQ2),
1100 	GPIO_FN(IRQ3),
1101 	GPIO_FN(IRQ4),
1102 	GPIO_FN(IRQ5),
1103 	GPIO_FN(IRQ6),
1104 	GPIO_FN(IRQ7),
1105 
1106 	/* SDHI */
1107 	GPIO_FN(SDHICD),
1108 	GPIO_FN(SDHIWP),
1109 	GPIO_FN(SDHID3),
1110 	GPIO_FN(SDHID2),
1111 	GPIO_FN(SDHID1),
1112 	GPIO_FN(SDHID0),
1113 	GPIO_FN(SDHICMD),
1114 	GPIO_FN(SDHICLK),
1115 
1116 	/* SIU - Port A */
1117 	GPIO_FN(SIUAOLR),
1118 	GPIO_FN(SIUAOBT),
1119 	GPIO_FN(SIUAISLD),
1120 	GPIO_FN(SIUAILR),
1121 	GPIO_FN(SIUAIBT),
1122 	GPIO_FN(SIUAOSLD),
1123 	GPIO_FN(SIUMCKA),
1124 	GPIO_FN(SIUFCKA),
1125 
1126 	/* SIU - Port B */
1127 	GPIO_FN(SIUBOLR),
1128 	GPIO_FN(SIUBOBT),
1129 	GPIO_FN(SIUBISLD),
1130 	GPIO_FN(SIUBILR),
1131 	GPIO_FN(SIUBIBT),
1132 	GPIO_FN(SIUBOSLD),
1133 	GPIO_FN(SIUMCKB),
1134 	GPIO_FN(SIUFCKB),
1135 
1136 	/* AUD */
1137 	GPIO_FN(AUDSYNC),
1138 	GPIO_FN(AUDATA3),
1139 	GPIO_FN(AUDATA2),
1140 	GPIO_FN(AUDATA1),
1141 	GPIO_FN(AUDATA0),
1142 
1143 	/* DMAC */
1144 	GPIO_FN(DACK),
1145 	GPIO_FN(DREQ0),
1146 
1147 	/* VOU */
1148 	GPIO_FN(DV_CLKI),
1149 	GPIO_FN(DV_CLK),
1150 	GPIO_FN(DV_HSYNC),
1151 	GPIO_FN(DV_VSYNC),
1152 	GPIO_FN(DV_D15),
1153 	GPIO_FN(DV_D14),
1154 	GPIO_FN(DV_D13),
1155 	GPIO_FN(DV_D12),
1156 	GPIO_FN(DV_D11),
1157 	GPIO_FN(DV_D10),
1158 	GPIO_FN(DV_D9),
1159 	GPIO_FN(DV_D8),
1160 	GPIO_FN(DV_D7),
1161 	GPIO_FN(DV_D6),
1162 	GPIO_FN(DV_D5),
1163 	GPIO_FN(DV_D4),
1164 	GPIO_FN(DV_D3),
1165 	GPIO_FN(DV_D2),
1166 	GPIO_FN(DV_D1),
1167 	GPIO_FN(DV_D0),
1168 
1169 	/* CPG */
1170 	GPIO_FN(STATUS0),
1171 	GPIO_FN(PDSTATUS),
1172 
1173 	/* SIOF0 */
1174 	GPIO_FN(SIOF0_MCK),
1175 	GPIO_FN(SIOF0_SCK),
1176 	GPIO_FN(SIOF0_SYNC),
1177 	GPIO_FN(SIOF0_SS1),
1178 	GPIO_FN(SIOF0_SS2),
1179 	GPIO_FN(SIOF0_TXD),
1180 	GPIO_FN(SIOF0_RXD),
1181 
1182 	/* SIOF1 */
1183 	GPIO_FN(SIOF1_MCK),
1184 	GPIO_FN(SIOF1_SCK),
1185 	GPIO_FN(SIOF1_SYNC),
1186 	GPIO_FN(SIOF1_SS1),
1187 	GPIO_FN(SIOF1_SS2),
1188 	GPIO_FN(SIOF1_TXD),
1189 	GPIO_FN(SIOF1_RXD),
1190 
1191 	/* SIM */
1192 	GPIO_FN(SIM_D),
1193 	GPIO_FN(SIM_CLK),
1194 	GPIO_FN(SIM_RST),
1195 
1196 	/* TSIF */
1197 	GPIO_FN(TS_SDAT),
1198 	GPIO_FN(TS_SCK),
1199 	GPIO_FN(TS_SDEN),
1200 	GPIO_FN(TS_SPSYNC),
1201 
1202 	/* IRDA */
1203 	GPIO_FN(IRDA_IN),
1204 	GPIO_FN(IRDA_OUT),
1205 
1206 	/* TPU */
1207 	GPIO_FN(TPUTO),
1208 
1209 	/* FLCTL */
1210 	GPIO_FN(FCE),
1211 	GPIO_FN(NAF7),
1212 	GPIO_FN(NAF6),
1213 	GPIO_FN(NAF5),
1214 	GPIO_FN(NAF4),
1215 	GPIO_FN(NAF3),
1216 	GPIO_FN(NAF2),
1217 	GPIO_FN(NAF1),
1218 	GPIO_FN(NAF0),
1219 	GPIO_FN(FCDE),
1220 	GPIO_FN(FOE),
1221 	GPIO_FN(FSC),
1222 	GPIO_FN(FWE),
1223 	GPIO_FN(FRB),
1224 
1225 	/* KEYSC */
1226 	GPIO_FN(KEYIN0),
1227 	GPIO_FN(KEYIN1),
1228 	GPIO_FN(KEYIN2),
1229 	GPIO_FN(KEYIN3),
1230 	GPIO_FN(KEYIN4),
1231 	GPIO_FN(KEYOUT0),
1232 	GPIO_FN(KEYOUT1),
1233 	GPIO_FN(KEYOUT2),
1234 	GPIO_FN(KEYOUT3),
1235 	GPIO_FN(KEYOUT4_IN6),
1236 	GPIO_FN(KEYOUT5_IN5),
1237 };
1238 
1239 static const struct pinmux_cfg_reg pinmux_config_regs[] = {
1240 	{ PINMUX_CFG_REG("PACR", 0xa4050100, 16, 2, GROUP(
1241 		VIO_D7_SCIF1_SCK, PTA7_OUT, 0, PTA7_IN,
1242 		VIO_D6_SCIF1_RXD, 0, 0, PTA6_IN,
1243 		VIO_D5_SCIF1_TXD, PTA5_OUT, 0, PTA5_IN,
1244 		VIO_D4, 0, 0, PTA4_IN,
1245 		VIO_D3, 0, 0, PTA3_IN,
1246 		VIO_D2, 0, 0, PTA2_IN,
1247 		VIO_D1, 0, 0, PTA1_IN,
1248 		VIO_D0_LCDLCLK, 0, 0, PTA0_IN ))
1249 	},
1250 	{ PINMUX_CFG_REG("PBCR", 0xa4050102, 16, 2, GROUP(
1251 		HPD55, PTB7_OUT, 0, PTB7_IN,
1252 		HPD54, PTB6_OUT, 0, PTB6_IN,
1253 		HPD53, PTB5_OUT, 0, PTB5_IN,
1254 		HPD52, PTB4_OUT, 0, PTB4_IN,
1255 		HPD51, PTB3_OUT, 0, PTB3_IN,
1256 		HPD50, PTB2_OUT, 0, PTB2_IN,
1257 		HPD49, PTB1_OUT, 0, PTB1_IN,
1258 		HPD48, PTB0_OUT, 0, PTB0_IN ))
1259 	},
1260 	{ PINMUX_CFG_REG("PCCR", 0xa4050104, 16, 2, GROUP(
1261 		0, 0, 0, PTC7_IN,
1262 		0, 0, 0, 0,
1263 		IOIS16, 0, 0, PTC5_IN,
1264 		HPDQM7, PTC4_OUT, 0, PTC4_IN,
1265 		HPDQM6, PTC3_OUT, 0, PTC3_IN,
1266 		HPDQM5, PTC2_OUT, 0, PTC2_IN,
1267 		0, 0, 0, 0,
1268 		HPDQM4, PTC0_OUT, 0, PTC0_IN ))
1269 	},
1270 	{ PINMUX_CFG_REG("PDCR", 0xa4050106, 16, 2, GROUP(
1271 		SDHICD, 0, 0, PTD7_IN,
1272 		SDHIWP, PTD6_OUT, 0, PTD6_IN,
1273 		SDHID3, PTD5_OUT, 0, PTD5_IN,
1274 		IRQ2_SDHID2, PTD4_OUT, 0, PTD4_IN,
1275 		SDHID1, PTD3_OUT, 0, PTD3_IN,
1276 		SDHID0, PTD2_OUT, 0, PTD2_IN,
1277 		SDHICMD, PTD1_OUT, 0, PTD1_IN,
1278 		SDHICLK, PTD0_OUT, 0, 0 ))
1279 	},
1280 	{ PINMUX_CFG_REG("PECR", 0xa4050108, 16, 2, GROUP(
1281 		A25, PTE7_OUT, 0, PTE7_IN,
1282 		A24, PTE6_OUT, 0, PTE6_IN,
1283 		A23, PTE5_OUT, 0, PTE5_IN,
1284 		A22, PTE4_OUT, 0, PTE4_IN,
1285 		0, 0, 0, 0,
1286 		0, 0, 0, 0,
1287 		IRQ5, PTE1_OUT, 0, PTE1_IN,
1288 		IRQ4_BS, PTE0_OUT, 0, PTE0_IN ))
1289 	},
1290 	{ PINMUX_CFG_REG("PFCR", 0xa405010a, 16, 2, GROUP(
1291 		0, 0, 0, 0,
1292 		PTF6, PTF6_OUT, 0, PTF6_IN,
1293 		SIOSCK_SIUBOBT, PTF5_OUT, 0, PTF5_IN,
1294 		SIOSTRB1_SIUBOLR, PTF4_OUT, 0, PTF4_IN,
1295 		SIOSTRB0_SIUBIBT, PTF3_OUT, 0, PTF3_IN,
1296 		SIOD_SIUBILR, PTF2_OUT, 0, PTF2_IN,
1297 		SIORXD_SIUBISLD, 0, 0, PTF1_IN,
1298 		SIOTXD_SIUBOSLD, PTF0_OUT, 0, 0 ))
1299 	},
1300 	{ PINMUX_CFG_REG("PGCR", 0xa405010c, 16, 2, GROUP(
1301 		0, 0, 0, 0,
1302 		0, 0, 0, 0,
1303 		0, 0, 0, 0,
1304 		AUDSYNC, PTG4_OUT, 0, 0,
1305 		AUDATA3, PTG3_OUT, 0, 0,
1306 		AUDATA2, PTG2_OUT, 0, 0,
1307 		AUDATA1, PTG1_OUT, 0, 0,
1308 		AUDATA0, PTG0_OUT, 0, 0 ))
1309 	},
1310 	{ PINMUX_CFG_REG("PHCR", 0xa405010e, 16, 2, GROUP(
1311 		LCDVCPWC_LCDVCPWC2, PTH7_OUT, 0, 0,
1312 		LCDVSYN2_DACK, PTH6_OUT, 0, PTH6_IN,
1313 		LCDVSYN, PTH5_OUT, 0, PTH5_IN,
1314 		LCDDISP_LCDRS, PTH4_OUT, 0, 0,
1315 		LCDHSYN_LCDCS, PTH3_OUT, 0, 0,
1316 		LCDDON_LCDDON2, PTH2_OUT, 0, 0,
1317 		LCDD17_DV_HSYNC, PTH1_OUT, 0, PTH1_IN,
1318 		LCDD16_DV_VSYNC, PTH0_OUT, 0, PTH0_IN ))
1319 	},
1320 	{ PINMUX_CFG_REG("PJCR", 0xa4050110, 16, 2, GROUP(
1321 		STATUS0, PTJ7_OUT, 0, 0,
1322 		0, PTJ6_OUT, 0, 0,
1323 		PDSTATUS, PTJ5_OUT, 0, 0,
1324 		0, 0, 0, 0,
1325 		0, 0, 0, 0,
1326 		0, 0, 0, 0,
1327 		IRQ1, PTJ1_OUT, 0, PTJ1_IN,
1328 		IRQ0, PTJ0_OUT, 0, PTJ0_IN ))
1329 	},
1330 	{ PINMUX_CFG_REG("PKCR", 0xa4050112, 16, 2, GROUP(
1331 		0, 0, 0, 0,
1332 		SIUAILR_SIOF1_SS2, PTK6_OUT, 0, PTK6_IN,
1333 		SIUAIBT_SIOF1_SS1, PTK5_OUT, 0, PTK5_IN,
1334 		SIUAOLR_SIOF1_SYNC, PTK4_OUT, 0, PTK4_IN,
1335 		SIUAOBT_SIOF1_SCK, PTK3_OUT, 0, PTK3_IN,
1336 		SIUAISLD_SIOF1_RXD, 0, 0, PTK2_IN,
1337 		SIUAOSLD_SIOF1_TXD, PTK1_OUT, 0, 0,
1338 		PTK0, PTK0_OUT, 0, PTK0_IN ))
1339 	},
1340 	{ PINMUX_CFG_REG("PLCR", 0xa4050114, 16, 2, GROUP(
1341 		LCDD15_DV_D15, PTL7_OUT, 0, PTL7_IN,
1342 		LCDD14_DV_D14, PTL6_OUT, 0, PTL6_IN,
1343 		LCDD13_DV_D13, PTL5_OUT, 0, PTL5_IN,
1344 		LCDD12_DV_D12, PTL4_OUT, 0, PTL4_IN,
1345 		LCDD11_DV_D11, PTL3_OUT, 0, PTL3_IN,
1346 		LCDD10_DV_D10, PTL2_OUT, 0, PTL2_IN,
1347 		LCDD9_DV_D9, PTL1_OUT, 0, PTL1_IN,
1348 		LCDD8_DV_D8, PTL0_OUT, 0, PTL0_IN ))
1349 	},
1350 	{ PINMUX_CFG_REG("PMCR", 0xa4050116, 16, 2, GROUP(
1351 		LCDD7_DV_D7, PTM7_OUT, 0, PTM7_IN,
1352 		LCDD6_DV_D6, PTM6_OUT, 0, PTM6_IN,
1353 		LCDD5_DV_D5, PTM5_OUT, 0, PTM5_IN,
1354 		LCDD4_DV_D4, PTM4_OUT, 0, PTM4_IN,
1355 		LCDD3_DV_D3, PTM3_OUT, 0, PTM3_IN,
1356 		LCDD2_DV_D2, PTM2_OUT, 0, PTM2_IN,
1357 		LCDD1_DV_D1, PTM1_OUT, 0, PTM1_IN,
1358 		LCDD0_DV_D0, PTM0_OUT, 0, PTM0_IN ))
1359 	},
1360 	{ PINMUX_CFG_REG("PNCR", 0xa4050118, 16, 2, GROUP(
1361 		HPD63, PTN7_OUT, 0, PTN7_IN,
1362 		HPD62, PTN6_OUT, 0, PTN6_IN,
1363 		HPD61, PTN5_OUT, 0, PTN5_IN,
1364 		HPD60, PTN4_OUT, 0, PTN4_IN,
1365 		HPD59, PTN3_OUT, 0, PTN3_IN,
1366 		HPD58, PTN2_OUT, 0, PTN2_IN,
1367 		HPD57, PTN1_OUT, 0, PTN1_IN,
1368 		HPD56, PTN0_OUT, 0, PTN0_IN ))
1369 	},
1370 	{ PINMUX_CFG_REG("PQCR", 0xa405011a, 16, 2, GROUP(
1371 		0, 0, 0, 0,
1372 		SIOF0_SS2_SIM_RST, PTQ6_OUT, 0, 0,
1373 		SIOF0_SS1_TS_SPSYNC, PTQ5_OUT, 0, PTQ5_IN,
1374 		SIOF0_SYNC_TS_SDEN, PTQ4_OUT, 0, PTQ4_IN,
1375 		SIOF0_SCK_TS_SCK, PTQ3_OUT, 0, PTQ3_IN,
1376 		PTQ2, 0, 0, PTQ2_IN,
1377 		PTQ1, PTQ1_OUT, 0, 0,
1378 		PTQ0, PTQ0_OUT, 0, PTQ0_IN ))
1379 	},
1380 	{ PINMUX_CFG_REG("PRCR", 0xa405011c, 16, 2, GROUP(
1381 		0, 0, 0, 0,
1382 		0, 0, 0, 0,
1383 		0, 0, 0, 0,
1384 		LCDRD, PTR4_OUT, 0, 0,
1385 		CS6B_CE1B_LCDCS2, PTR3_OUT, 0, 0,
1386 		WAIT, 0, 0, PTR2_IN,
1387 		LCDDCK_LCDWR, PTR1_OUT, 0, 0,
1388 		LCDVEPWC_LCDVEPWC2, PTR0_OUT, 0, 0 ))
1389 	},
1390 	{ PINMUX_CFG_REG("PSCR", 0xa405011e, 16, 2, GROUP(
1391 		0, 0, 0, 0,
1392 		0, 0, 0, 0,
1393 		0, 0, 0, 0,
1394 		SCIF0_CTS_SIUAISPD, 0, 0, PTS4_IN,
1395 		SCIF0_RTS_SIUAOSPD, PTS3_OUT, 0, 0,
1396 		SCIF0_SCK_TPUTO, PTS2_OUT, 0, PTS2_IN,
1397 		SCIF0_RXD, 0, 0, PTS1_IN,
1398 		SCIF0_TXD, PTS0_OUT, 0, 0 ))
1399 	},
1400 	{ PINMUX_CFG_REG("PTCR", 0xa4050140, 16, 2, GROUP(
1401 		0, 0, 0, 0,
1402 		0, 0, 0, 0,
1403 		0, 0, 0, 0,
1404 		FOE_VIO_VD2, PTT4_OUT, 0, PTT4_IN,
1405 		FWE, PTT3_OUT, 0, PTT3_IN,
1406 		FSC, PTT2_OUT, 0, PTT2_IN,
1407 		DREQ0, 0, 0, PTT1_IN,
1408 		FCDE, PTT0_OUT, 0, 0 ))
1409 	},
1410 	{ PINMUX_CFG_REG("PUCR", 0xa4050142, 16, 2, GROUP(
1411 		0, 0, 0, 0,
1412 		0, 0, 0, 0,
1413 		0, 0, 0, 0,
1414 		NAF2_VIO_D10, PTU4_OUT, 0, PTU4_IN,
1415 		NAF1_VIO_D9, PTU3_OUT, 0, PTU3_IN,
1416 		NAF0_VIO_D8, PTU2_OUT, 0, PTU2_IN,
1417 		FRB_VIO_CLK2, 0, 0, PTU1_IN,
1418 		FCE_VIO_HD2, PTU0_OUT, 0, PTU0_IN ))
1419 	},
1420 	{ PINMUX_CFG_REG("PVCR", 0xa4050144, 16, 2, GROUP(
1421 		0, 0, 0, 0,
1422 		0, 0, 0, 0,
1423 		0, 0, 0, 0,
1424 		NAF7_VIO_D15, PTV4_OUT, 0, PTV4_IN,
1425 		NAF6_VIO_D14, PTV3_OUT, 0, PTV3_IN,
1426 		NAF5_VIO_D13, PTV2_OUT, 0, PTV2_IN,
1427 		NAF4_VIO_D12, PTV1_OUT, 0, PTV1_IN,
1428 		NAF3_VIO_D11, PTV0_OUT, 0, PTV0_IN ))
1429 	},
1430 	{ PINMUX_CFG_REG("PWCR", 0xa4050146, 16, 2, GROUP(
1431 		0, 0, 0, 0,
1432 		VIO_FLD_SCIF2_CTS, 0, 0, PTW6_IN,
1433 		VIO_CKO_SCIF2_RTS, PTW5_OUT, 0, 0,
1434 		VIO_STEX_SCIF2_SCK, PTW4_OUT, 0, PTW4_IN,
1435 		VIO_STEM_SCIF2_TXD, PTW3_OUT, 0, PTW3_IN,
1436 		VIO_HD_SCIF2_RXD, PTW2_OUT, 0, PTW2_IN,
1437 		VIO_VD_SCIF1_CTS, PTW1_OUT, 0, PTW1_IN,
1438 		VIO_CLK_SCIF1_RTS, PTW0_OUT, 0, PTW0_IN ))
1439 	},
1440 	{ PINMUX_CFG_REG("PXCR", 0xa4050148, 16, 2, GROUP(
1441 		0, 0, 0, 0,
1442 		CS6A_CE2B, PTX6_OUT, 0, PTX6_IN,
1443 		LCDD23, PTX5_OUT, 0, PTX5_IN,
1444 		LCDD22, PTX4_OUT, 0, PTX4_IN,
1445 		LCDD21, PTX3_OUT, 0, PTX3_IN,
1446 		LCDD20, PTX2_OUT, 0, PTX2_IN,
1447 		LCDD19_DV_CLKI, PTX1_OUT, 0, PTX1_IN,
1448 		LCDD18_DV_CLK, PTX0_OUT, 0, PTX0_IN ))
1449 	},
1450 	{ PINMUX_CFG_REG("PYCR", 0xa405014a, 16, 2, GROUP(
1451 		0, 0, 0, 0,
1452 		0, 0, 0, 0,
1453 		KEYOUT5_IN5, PTY5_OUT, 0, PTY5_IN,
1454 		KEYOUT4_IN6, PTY4_OUT, 0, PTY4_IN,
1455 		KEYOUT3, PTY3_OUT, 0, PTY3_IN,
1456 		KEYOUT2, PTY2_OUT, 0, PTY2_IN,
1457 		KEYOUT1, PTY1_OUT, 0, 0,
1458 		KEYOUT0, PTY0_OUT, 0, PTY0_IN ))
1459 	},
1460 	{ PINMUX_CFG_REG("PZCR", 0xa405014c, 16, 2, GROUP(
1461 		0, 0, 0, 0,
1462 		0, 0, 0, 0,
1463 		KEYIN4_IRQ7, 0, 0, PTZ5_IN,
1464 		KEYIN3, 0, 0, PTZ4_IN,
1465 		KEYIN2, 0, 0, PTZ3_IN,
1466 		KEYIN1, 0, 0, PTZ2_IN,
1467 		KEYIN0_IRQ6, 0, 0, PTZ1_IN,
1468 		0, 0, 0, 0 ))
1469 	},
1470 	{ PINMUX_CFG_REG("PSELA", 0xa405014e, 16, 1, GROUP(
1471 		PSA15_KEYIN0, PSA15_IRQ6,
1472 		PSA14_KEYIN4, PSA14_IRQ7,
1473 		0, 0,
1474 		0, 0,
1475 		0, 0,
1476 		0, 0,
1477 		PSA9_IRQ4, PSA9_BS,
1478 		0, 0,
1479 		0, 0,
1480 		0, 0,
1481 		0, 0,
1482 		PSA4_IRQ2, PSA4_SDHID2,
1483 		0, 0,
1484 		0, 0,
1485 		0, 0,
1486 		0, 0 ))
1487 	},
1488 	{ PINMUX_CFG_REG("PSELB", 0xa4050150, 16, 1, GROUP(
1489 		PSB15_SIOTXD, PSB15_SIUBOSLD,
1490 		PSB14_SIORXD, PSB14_SIUBISLD,
1491 		PSB13_SIOD, PSB13_SIUBILR,
1492 		PSB12_SIOSTRB0, PSB12_SIUBIBT,
1493 		PSB11_SIOSTRB1, PSB11_SIUBOLR,
1494 		PSB10_SIOSCK, PSB10_SIUBOBT,
1495 		PSB9_SIOMCK, PSB9_SIUMCKB,
1496 		PSB8_SIOF0_MCK, PSB8_IRQ3,
1497 		PSB7_SIOF0_TXD, PSB7_IRDA_OUT,
1498 		PSB6_SIOF0_RXD, PSB6_IRDA_IN,
1499 		PSB5_SIOF0_SCK, PSB5_TS_SCK,
1500 		PSB4_SIOF0_SYNC, PSB4_TS_SDEN,
1501 		PSB3_SIOF0_SS1, PSB3_TS_SPSYNC,
1502 		PSB2_SIOF0_SS2, PSB2_SIM_RST,
1503 		PSB1_SIUMCKA, PSB1_SIOF1_MCK,
1504 		PSB0_SIUAOSLD, PSB0_SIOF1_TXD ))
1505 	},
1506 	{ PINMUX_CFG_REG("PSELC", 0xa4050152, 16, 1, GROUP(
1507 		PSC15_SIUAISLD, PSC15_SIOF1_RXD,
1508 		PSC14_SIUAOBT, PSC14_SIOF1_SCK,
1509 		PSC13_SIUAOLR, PSC13_SIOF1_SYNC,
1510 		PSC12_SIUAIBT, PSC12_SIOF1_SS1,
1511 		PSC11_SIUAILR, PSC11_SIOF1_SS2,
1512 		0, 0,
1513 		0, 0,
1514 		0, 0,
1515 		0, 0,
1516 		0, 0,
1517 		0, 0,
1518 		0, 0,
1519 		0, 0,
1520 		0, 0,
1521 		0, 0,
1522 		PSC0_NAF, PSC0_VIO ))
1523 	},
1524 	{ PINMUX_CFG_REG("PSELD", 0xa4050154, 16, 1, GROUP(
1525 		0, 0,
1526 		0, 0,
1527 		PSD13_VIO, PSD13_SCIF2,
1528 		PSD12_VIO, PSD12_SCIF1,
1529 		PSD11_VIO, PSD11_SCIF1,
1530 		PSD10_VIO_D0, PSD10_LCDLCLK,
1531 		PSD9_SIOMCK_SIUMCKB, PSD9_SIUFCKB,
1532 		PSD8_SCIF0_SCK, PSD8_TPUTO,
1533 		PSD7_SCIF0_RTS, PSD7_SIUAOSPD,
1534 		PSD6_SCIF0_CTS, PSD6_SIUAISPD,
1535 		PSD5_CS6B_CE1B, PSD5_LCDCS2,
1536 		0, 0,
1537 		PSD3_LCDVEPWC_LCDVCPWC, PSD3_LCDVEPWC2_LCDVCPWC2,
1538 		PSD2_LCDDON, PSD2_LCDDON2,
1539 		0, 0,
1540 		PSD0_LCDD19_LCDD0, PSD0_DV ))
1541 	},
1542 	{ PINMUX_CFG_REG("PSELE", 0xa4050156, 16, 1, GROUP(
1543 		PSE15_SIOF0_MCK_IRQ3, PSE15_SIM_D,
1544 		PSE14_SIOF0_TXD_IRDA_OUT, PSE14_SIM_CLK,
1545 		PSE13_SIOF0_RXD_IRDA_IN, PSE13_TS_SDAT,
1546 		PSE12_LCDVSYN2, PSE12_DACK,
1547 		PSE11_SIUMCKA_SIOF1_MCK, PSE11_SIUFCKA,
1548 		0, 0,
1549 		0, 0,
1550 		0, 0,
1551 		0, 0,
1552 		0, 0,
1553 		0, 0,
1554 		0, 0,
1555 		PSE3_FLCTL, PSE3_VIO,
1556 		PSE2_NAF2, PSE2_VIO_D10,
1557 		PSE1_NAF1, PSE1_VIO_D9,
1558 		PSE0_NAF0, PSE0_VIO_D8 ))
1559 	},
1560 	{ PINMUX_CFG_REG("HIZCRA", 0xa4050158, 16, 1, GROUP(
1561 		0, 0,
1562 		HIZA14_KEYSC, HIZA14_HIZ,
1563 		0, 0,
1564 		0, 0,
1565 		0, 0,
1566 		HIZA10_NAF, HIZA10_HIZ,
1567 		HIZA9_VIO, HIZA9_HIZ,
1568 		HIZA8_LCDC, HIZA8_HIZ,
1569 		HIZA7_LCDC, HIZA7_HIZ,
1570 		HIZA6_LCDC, HIZA6_HIZ,
1571 		0, 0,
1572 		0, 0,
1573 		0, 0,
1574 		0, 0,
1575 		0, 0,
1576 		0, 0 ))
1577 	},
1578 	{ PINMUX_CFG_REG("HIZCRB", 0xa405015a, 16, 1, GROUP(
1579 		0, 0,
1580 		0, 0,
1581 		0, 0,
1582 		0, 0,
1583 		0, 0,
1584 		0, 0,
1585 		0, 0,
1586 		0, 0,
1587 		0, 0,
1588 		0, 0,
1589 		0, 0,
1590 		HIZB4_SIUA, HIZB4_HIZ,
1591 		0, 0,
1592 		0, 0,
1593 		HIZB1_VIO, HIZB1_HIZ,
1594 		HIZB0_VIO, HIZB0_HIZ ))
1595 	},
1596 	{ PINMUX_CFG_REG("HIZCRC", 0xa405015c, 16, 1, GROUP(
1597 		HIZC15_IRQ7, HIZC15_HIZ,
1598 		HIZC14_IRQ6, HIZC14_HIZ,
1599 		HIZC13_IRQ5, HIZC13_HIZ,
1600 		HIZC12_IRQ4, HIZC12_HIZ,
1601 		HIZC11_IRQ3, HIZC11_HIZ,
1602 		HIZC10_IRQ2, HIZC10_HIZ,
1603 		HIZC9_IRQ1, HIZC9_HIZ,
1604 		HIZC8_IRQ0, HIZC8_HIZ,
1605 		0, 0,
1606 		0, 0,
1607 		0, 0,
1608 		0, 0,
1609 		0, 0,
1610 		0, 0,
1611 		0, 0,
1612 		0, 0 ))
1613 	},
1614 	{ PINMUX_CFG_REG("MSELCRB", 0xa4050182, 16, 1, GROUP(
1615 		0, 0,
1616 		0, 0,
1617 		0, 0,
1618 		0, 0,
1619 		0, 0,
1620 		0, 0,
1621 		MSELB9_VIO, MSELB9_VIO2,
1622 		MSELB8_RGB, MSELB8_SYS,
1623 		0, 0,
1624 		0, 0,
1625 		0, 0,
1626 		0, 0,
1627 		0, 0,
1628 		0, 0,
1629 		0, 0,
1630 		0, 0 ))
1631 	},
1632 	{}
1633 };
1634 
1635 static const struct pinmux_data_reg pinmux_data_regs[] = {
1636 	{ PINMUX_DATA_REG("PADR", 0xa4050120, 8, GROUP(
1637 		PTA7_DATA, PTA6_DATA, PTA5_DATA, PTA4_DATA,
1638 		PTA3_DATA, PTA2_DATA, PTA1_DATA, PTA0_DATA ))
1639 	},
1640 	{ PINMUX_DATA_REG("PBDR", 0xa4050122, 8, GROUP(
1641 		PTB7_DATA, PTB6_DATA, PTB5_DATA, PTB4_DATA,
1642 		PTB3_DATA, PTB2_DATA, PTB1_DATA, PTB0_DATA ))
1643 	},
1644 	{ PINMUX_DATA_REG("PCDR", 0xa4050124, 8, GROUP(
1645 		PTC7_DATA, 0, PTC5_DATA, PTC4_DATA,
1646 		PTC3_DATA, PTC2_DATA, 0, PTC0_DATA ))
1647 	},
1648 	{ PINMUX_DATA_REG("PDDR", 0xa4050126, 8, GROUP(
1649 		PTD7_DATA, PTD6_DATA, PTD5_DATA, PTD4_DATA,
1650 		PTD3_DATA, PTD2_DATA, PTD1_DATA, PTD0_DATA ))
1651 	},
1652 	{ PINMUX_DATA_REG("PEDR", 0xa4050128, 8, GROUP(
1653 		PTE7_DATA, PTE6_DATA, PTE5_DATA, PTE4_DATA,
1654 		0, 0, PTE1_DATA, PTE0_DATA ))
1655 	},
1656 	{ PINMUX_DATA_REG("PFDR", 0xa405012a, 8, GROUP(
1657 		0, PTF6_DATA, PTF5_DATA, PTF4_DATA,
1658 		PTF3_DATA, PTF2_DATA, PTF1_DATA, PTF0_DATA ))
1659 	},
1660 	{ PINMUX_DATA_REG("PGDR", 0xa405012c, 8, GROUP(
1661 		0, 0, 0, PTG4_DATA,
1662 		PTG3_DATA, PTG2_DATA, PTG1_DATA, PTG0_DATA ))
1663 	},
1664 	{ PINMUX_DATA_REG("PHDR", 0xa405012e, 8, GROUP(
1665 		PTH7_DATA, PTH6_DATA, PTH5_DATA, PTH4_DATA,
1666 		PTH3_DATA, PTH2_DATA, PTH1_DATA, PTH0_DATA ))
1667 	},
1668 	{ PINMUX_DATA_REG("PJDR", 0xa4050130, 8, GROUP(
1669 		PTJ7_DATA, PTJ6_DATA, PTJ5_DATA, 0,
1670 		0, 0, PTJ1_DATA, PTJ0_DATA ))
1671 	},
1672 	{ PINMUX_DATA_REG("PKDR", 0xa4050132, 8, GROUP(
1673 		0, PTK6_DATA, PTK5_DATA, PTK4_DATA,
1674 		PTK3_DATA, PTK2_DATA, PTK1_DATA, PTK0_DATA ))
1675 	},
1676 	{ PINMUX_DATA_REG("PLDR", 0xa4050134, 8, GROUP(
1677 		PTL7_DATA, PTL6_DATA, PTL5_DATA, PTL4_DATA,
1678 		PTL3_DATA, PTL2_DATA, PTL1_DATA, PTL0_DATA ))
1679 	},
1680 	{ PINMUX_DATA_REG("PMDR", 0xa4050136, 8, GROUP(
1681 		PTM7_DATA, PTM6_DATA, PTM5_DATA, PTM4_DATA,
1682 		PTM3_DATA, PTM2_DATA, PTM1_DATA, PTM0_DATA ))
1683 	},
1684 	{ PINMUX_DATA_REG("PNDR", 0xa4050138, 8, GROUP(
1685 		PTN7_DATA, PTN6_DATA, PTN5_DATA, PTN4_DATA,
1686 		PTN3_DATA, PTN2_DATA, PTN1_DATA, PTN0_DATA ))
1687 	},
1688 	{ PINMUX_DATA_REG("PQDR", 0xa405013a, 8, GROUP(
1689 		0, PTQ6_DATA, PTQ5_DATA, PTQ4_DATA,
1690 		PTQ3_DATA, PTQ2_DATA, PTQ1_DATA, PTQ0_DATA ))
1691 	},
1692 	{ PINMUX_DATA_REG("PRDR", 0xa405013c, 8, GROUP(
1693 		0, 0, 0, PTR4_DATA,
1694 		PTR3_DATA, PTR2_DATA, PTR1_DATA, PTR0_DATA ))
1695 	},
1696 	{ PINMUX_DATA_REG("PSDR", 0xa405013e, 8, GROUP(
1697 		0, 0, 0, PTS4_DATA,
1698 		PTS3_DATA, PTS2_DATA, PTS1_DATA, PTS0_DATA ))
1699 	},
1700 	{ PINMUX_DATA_REG("PTDR", 0xa4050160, 8, GROUP(
1701 		0, 0, 0, PTT4_DATA,
1702 		PTT3_DATA, PTT2_DATA, PTT1_DATA, PTT0_DATA ))
1703 	},
1704 	{ PINMUX_DATA_REG("PUDR", 0xa4050162, 8, GROUP(
1705 		0, 0, 0, PTU4_DATA,
1706 		PTU3_DATA, PTU2_DATA, PTU1_DATA, PTU0_DATA ))
1707 	},
1708 	{ PINMUX_DATA_REG("PVDR", 0xa4050164, 8, GROUP(
1709 		0, 0, 0, PTV4_DATA,
1710 		PTV3_DATA, PTV2_DATA, PTV1_DATA, PTV0_DATA ))
1711 	},
1712 	{ PINMUX_DATA_REG("PWDR", 0xa4050166, 8, GROUP(
1713 		0, PTW6_DATA, PTW5_DATA, PTW4_DATA,
1714 		PTW3_DATA, PTW2_DATA, PTW1_DATA, PTW0_DATA ))
1715 	},
1716 	{ PINMUX_DATA_REG("PXDR", 0xa4050168, 8, GROUP(
1717 		0, PTX6_DATA, PTX5_DATA, PTX4_DATA,
1718 		PTX3_DATA, PTX2_DATA, PTX1_DATA, PTX0_DATA ))
1719 	},
1720 	{ PINMUX_DATA_REG("PYDR", 0xa405016a, 8, GROUP(
1721 		0, PTY6_DATA, PTY5_DATA, PTY4_DATA,
1722 		PTY3_DATA, PTY2_DATA, PTY1_DATA, PTY0_DATA ))
1723 	},
1724 	{ PINMUX_DATA_REG("PZDR", 0xa405016c, 8, GROUP(
1725 		0, 0, PTZ5_DATA, PTZ4_DATA,
1726 		PTZ3_DATA, PTZ2_DATA, PTZ1_DATA, PTZ0_DATA ))
1727 	},
1728 	{ },
1729 };
1730 
1731 const struct sh_pfc_soc_info sh7722_pinmux_info = {
1732 	.name = "sh7722_pfc",
1733 	.input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END },
1734 	.output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END },
1735 	.function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
1736 
1737 	.pins = pinmux_pins,
1738 	.nr_pins = ARRAY_SIZE(pinmux_pins),
1739 	.func_gpios = pinmux_func_gpios,
1740 	.nr_func_gpios = ARRAY_SIZE(pinmux_func_gpios),
1741 
1742 	.cfg_regs = pinmux_config_regs,
1743 	.data_regs = pinmux_data_regs,
1744 
1745 	.pinmux_data = pinmux_data,
1746 	.pinmux_data_size = ARRAY_SIZE(pinmux_data),
1747 };
1748