GNU Linux-libre 5.10.219-gnu1
[releases.git] / drivers / pinctrl / renesas / pfc-sh7722.c
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 };