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