Linux-libre 5.3-gnu
[librecmc/linux-libre.git] / drivers / pinctrl / sh-pfc / pfc-r8a77470.c
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * R8A77470 processor support - PFC hardware block.
4  *
5  * Copyright (C) 2018 Renesas Electronics Corp.
6  */
7
8 #include <linux/errno.h>
9 #include <linux/kernel.h>
10
11 #include "sh_pfc.h"
12
13 #define CPU_ALL_GP(fn, sfx)                                             \
14         PORT_GP_4(0, fn, sfx),                                          \
15         PORT_GP_1(0, 4, fn, sfx),                                       \
16         PORT_GP_CFG_1(0,  5, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),       \
17         PORT_GP_CFG_1(0,  6, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),       \
18         PORT_GP_CFG_1(0,  7, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),       \
19         PORT_GP_CFG_1(0,  8, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),       \
20         PORT_GP_CFG_1(0,  9, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),       \
21         PORT_GP_CFG_1(0, 10, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),       \
22         PORT_GP_1(0, 11, fn, sfx),                                      \
23         PORT_GP_1(0, 12, fn, sfx),                                      \
24         PORT_GP_CFG_1(0, 13, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),       \
25         PORT_GP_CFG_1(0, 14, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),       \
26         PORT_GP_CFG_1(0, 15, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),       \
27         PORT_GP_CFG_1(0, 16, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),       \
28         PORT_GP_CFG_1(0, 17, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),       \
29         PORT_GP_CFG_1(0, 18, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),       \
30         PORT_GP_CFG_1(0, 19, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),       \
31         PORT_GP_CFG_1(0, 20, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),       \
32         PORT_GP_CFG_1(0, 21, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),       \
33         PORT_GP_CFG_1(0, 22, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),       \
34         PORT_GP_23(1, fn, sfx),                                         \
35         PORT_GP_32(2, fn, sfx),                                         \
36         PORT_GP_17(3, fn, sfx),                                         \
37         PORT_GP_1(3, 27, fn, sfx),                                      \
38         PORT_GP_1(3, 28, fn, sfx),                                      \
39         PORT_GP_1(3, 29, fn, sfx),                                      \
40         PORT_GP_14(4, fn, sfx),                                         \
41         PORT_GP_CFG_1(4, 14, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),       \
42         PORT_GP_CFG_1(4, 15, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),       \
43         PORT_GP_CFG_1(4, 16, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),       \
44         PORT_GP_CFG_1(4, 17, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),       \
45         PORT_GP_CFG_1(4, 18, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),       \
46         PORT_GP_CFG_1(4, 19, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),       \
47         PORT_GP_1(4, 20, fn, sfx),                                      \
48         PORT_GP_1(4, 21, fn, sfx),                                      \
49         PORT_GP_1(4, 22, fn, sfx),                                      \
50         PORT_GP_1(4, 23, fn, sfx),                                      \
51         PORT_GP_1(4, 24, fn, sfx),                                      \
52         PORT_GP_1(4, 25, fn, sfx),                                      \
53         PORT_GP_32(5, fn, sfx)
54
55 enum {
56         PINMUX_RESERVED = 0,
57
58         PINMUX_DATA_BEGIN,
59         GP_ALL(DATA),
60         PINMUX_DATA_END,
61
62         PINMUX_FUNCTION_BEGIN,
63         GP_ALL(FN),
64
65         /* GPSR0 */
66         FN_USB0_PWEN, FN_USB0_OVC, FN_USB1_PWEN, FN_USB1_OVC, FN_CLKOUT,
67         FN_IP0_3_0, FN_IP0_7_4, FN_IP0_11_8, FN_IP0_15_12, FN_IP0_19_16,
68         FN_IP0_23_20, FN_IP0_27_24, FN_IP0_31_28, FN_MMC0_CLK_SDHI1_CLK,
69         FN_MMC0_CMD_SDHI1_CMD, FN_MMC0_D0_SDHI1_D0, FN_MMC0_D1_SDHI1_D1,
70         FN_MMC0_D2_SDHI1_D2, FN_MMC0_D3_SDHI1_D3, FN_IP1_3_0,
71         FN_IP1_7_4, FN_MMC0_D6, FN_MMC0_D7,
72
73         /* GPSR1 */
74         FN_IP1_11_8, FN_IP1_15_12, FN_IP1_19_16, FN_IP1_23_20, FN_IP1_27_24,
75         FN_IP1_31_28, FN_IP2_3_0, FN_IP2_7_4, FN_IP2_11_8, FN_IP2_15_12,
76         FN_IP2_19_16, FN_IP2_23_20, FN_IP2_27_24, FN_IP2_31_28, FN_IP3_3_0,
77         FN_IP3_7_4, FN_IP3_11_8, FN_IP3_15_12, FN_IP3_19_16, FN_IP3_23_20,
78         FN_IP3_27_24, FN_IP3_31_28, FN_IP4_3_0,
79
80         /* GPSR2 */
81         FN_IP4_7_4, FN_IP4_11_8, FN_IP4_15_12, FN_IP4_19_16, FN_IP4_23_20,
82         FN_IP4_27_24, FN_IP4_31_28, FN_IP5_3_0, FN_IP5_7_4, FN_IP5_11_8,
83         FN_IP5_15_12, FN_IP5_19_16, FN_IP5_23_20, FN_IP5_27_24, FN_IP5_31_28,
84         FN_IP6_3_0, FN_IP6_7_4, FN_IP6_11_8, FN_IP6_15_12, FN_IP6_19_16,
85         FN_IP6_23_20, FN_IP6_27_24, FN_IP6_31_28, FN_IP7_3_0, FN_IP7_7_4,
86         FN_IP7_11_8, FN_IP7_15_12, FN_IP7_19_16, FN_IP7_23_20, FN_IP7_27_24,
87         FN_IP7_31_28, FN_IP8_3_0,
88
89         /* GPSR3 */
90         FN_IP8_7_4, FN_IP8_11_8, FN_IP8_15_12, FN_IP8_19_16, FN_IP8_23_20,
91         FN_IP8_27_24, FN_IP8_31_28, FN_IP9_3_0, FN_IP9_7_4, FN_IP9_11_8,
92         FN_IP9_15_12, FN_IP9_19_16, FN_IP9_23_20, FN_IP9_27_24, FN_IP9_31_28,
93         FN_IP10_3_0, FN_IP10_7_4, FN_IP10_11_8, FN_IP10_15_12, FN_IP10_19_16,
94
95         /* GPSR4 */
96         FN_IP10_23_20, FN_IP10_27_24, FN_IP10_31_28, FN_IP11_3_0, FN_IP11_7_4,
97         FN_IP11_11_8, FN_IP11_15_12, FN_IP11_19_16, FN_IP11_23_20,
98         FN_IP11_27_24, FN_IP11_31_28, FN_IP12_3_0, FN_IP12_7_4, FN_IP12_11_8,
99         FN_IP12_15_12, FN_IP12_19_16, FN_IP12_23_20, FN_IP12_27_24,
100         FN_IP12_31_28, FN_IP13_3_0, FN_IP13_7_4, FN_IP13_11_8, FN_IP13_15_12,
101         FN_IP13_19_16, FN_IP13_23_20, FN_IP13_27_24,
102
103         /* GPSR5 */
104         FN_IP13_31_28, FN_IP14_3_0, FN_IP14_7_4, FN_IP14_11_8, FN_IP14_15_12,
105         FN_IP14_19_16, FN_IP14_23_20, FN_IP14_27_24, FN_IP14_31_28,
106         FN_IP15_3_0, FN_IP15_7_4, FN_IP15_11_8, FN_IP15_15_12, FN_IP15_19_16,
107         FN_IP15_23_20, FN_IP15_27_24, FN_IP15_31_28, FN_IP16_3_0, FN_IP16_7_4,
108         FN_IP16_11_8, FN_IP16_15_12, FN_IP16_19_16, FN_IP16_23_20,
109         FN_IP16_27_24, FN_IP16_31_28, FN_IP17_3_0, FN_IP17_7_4, FN_IP17_11_8,
110         FN_IP17_15_12, FN_IP17_19_16, FN_IP17_23_20, FN_IP17_27_24,
111
112         /* IPSR0 */
113         FN_SD0_CLK, FN_SSI_SCK1_C, FN_RX3_C,
114         FN_SD0_CMD, FN_SSI_WS1_C, FN_TX3_C,
115         FN_SD0_DAT0, FN_SSI_SDATA1_C, FN_RX4_E,
116         FN_SD0_DAT1, FN_SSI_SCK0129_B, FN_TX4_E,
117         FN_SD0_DAT2, FN_SSI_WS0129_B, FN_RX5_E,
118         FN_SD0_DAT3, FN_SSI_SDATA0_B, FN_TX5_E,
119         FN_SD0_CD, FN_CAN0_RX_A,
120         FN_SD0_WP, FN_IRQ7, FN_CAN0_TX_A,
121
122         /* IPSR1 */
123         FN_MMC0_D4, FN_SD1_CD,
124         FN_MMC0_D5, FN_SD1_WP,
125         FN_D0, FN_SCL3_B, FN_RX5_B, FN_IRQ4, FN_MSIOF2_RXD_C, FN_SSI_SDATA5_B,
126         FN_D1, FN_SDA3_B, FN_TX5_B, FN_MSIOF2_TXD_C, FN_SSI_WS5_B,
127         FN_D2, FN_RX4_B, FN_SCL0_D, FN_PWM1_C, FN_MSIOF2_SCK_C, FN_SSI_SCK5_B,
128         FN_D3, FN_TX4_B, FN_SDA0_D, FN_PWM0_A, FN_MSIOF2_SYNC_C,
129         FN_D4, FN_IRQ3, FN_TCLK1_A, FN_PWM6_C,
130         FN_D5, FN_HRX2, FN_SCL1_B, FN_PWM2_C, FN_TCLK2_B,
131
132         /* IPSR2 */
133         FN_D6, FN_HTX2, FN_SDA1_B, FN_PWM4_C,
134         FN_D7, FN_HSCK2, FN_SCIF1_SCK_C, FN_IRQ6, FN_PWM5_C,
135         FN_D8, FN_HCTS2_N, FN_RX1_C, FN_SCL1_D, FN_PWM3_C,
136         FN_D9, FN_HRTS2_N, FN_TX1_C, FN_SDA1_D,
137         FN_D10, FN_MSIOF2_RXD_A, FN_HRX0_B,
138         FN_D11, FN_MSIOF2_TXD_A, FN_HTX0_B,
139         FN_D12, FN_MSIOF2_SCK_A, FN_HSCK0, FN_CAN_CLK_C,
140         FN_D13, FN_MSIOF2_SYNC_A, FN_RX4_C,
141
142         /* IPSR3 */
143         FN_D14, FN_MSIOF2_SS1, FN_TX4_C, FN_CAN1_RX_B, FN_AVB_AVTP_CAPTURE_A,
144         FN_D15, FN_MSIOF2_SS2, FN_PWM4_A, FN_CAN1_TX_B, FN_IRQ2, FN_AVB_AVTP_MATCH_A,
145         FN_QSPI0_SPCLK, FN_WE0_N,
146         FN_QSPI0_MOSI_QSPI0_IO0, FN_BS_N,
147         FN_QSPI0_MISO_QSPI0_IO1, FN_RD_WR_N,
148         FN_QSPI0_IO2, FN_CS0_N,
149         FN_QSPI0_IO3, FN_RD_N,
150         FN_QSPI0_SSL, FN_WE1_N,
151
152         /* IPSR4 */
153         FN_EX_WAIT0, FN_CAN_CLK_B, FN_SCIF_CLK_A,
154         FN_DU0_DR0, FN_RX5_C, FN_SCL2_D, FN_A0,
155         FN_DU0_DR1, FN_TX5_C, FN_SDA2_D, FN_A1,
156         FN_DU0_DR2, FN_RX0_D, FN_SCL0_E, FN_A2,
157         FN_DU0_DR3, FN_TX0_D, FN_SDA0_E, FN_PWM0_B, FN_A3,
158         FN_DU0_DR4, FN_RX1_D, FN_A4,
159         FN_DU0_DR5, FN_TX1_D, FN_PWM1_B, FN_A5,
160         FN_DU0_DR6, FN_RX2_C, FN_A6,
161
162         /* IPSR5 */
163         FN_DU0_DR7, FN_TX2_C, FN_PWM2_B, FN_A7,
164         FN_DU0_DG0, FN_RX3_B, FN_SCL3_D, FN_A8,
165         FN_DU0_DG1, FN_TX3_B, FN_SDA3_D, FN_PWM3_B, FN_A9,
166         FN_DU0_DG2, FN_RX4_D, FN_A10,
167         FN_DU0_DG3, FN_TX4_D, FN_PWM4_B, FN_A11,
168         FN_DU0_DG4, FN_HRX0_A, FN_A12,
169         FN_DU0_DG5, FN_HTX0_A, FN_PWM5_B, FN_A13,
170         FN_DU0_DG6, FN_HRX1_C, FN_A14,
171
172         /* IPSR6 */
173         FN_DU0_DG7, FN_HTX1_C, FN_PWM6_B, FN_A15,
174         FN_DU0_DB0, FN_SCL4_D, FN_CAN0_RX_C, FN_A16,
175         FN_DU0_DB1, FN_SDA4_D, FN_CAN0_TX_C, FN_A17,
176         FN_DU0_DB2, FN_HCTS0_N, FN_A18,
177         FN_DU0_DB3, FN_HRTS0_N, FN_A19,
178         FN_DU0_DB4, FN_HCTS1_N_C, FN_A20,
179         FN_DU0_DB5, FN_HRTS1_N_C, FN_A21,
180         FN_DU0_DB6, FN_A22,
181
182         /* IPSR7 */
183         FN_DU0_DB7, FN_A23,
184         FN_DU0_DOTCLKIN, FN_A24,
185         FN_DU0_DOTCLKOUT0, FN_A25,
186         FN_DU0_DOTCLKOUT1, FN_MSIOF2_RXD_B, FN_CS1_N_A26,
187         FN_DU0_EXHSYNC_DU0_HSYNC, FN_MSIOF2_TXD_B, FN_DREQ0_N,
188         FN_DU0_EXVSYNC_DU0_VSYNC, FN_MSIOF2_SYNC_B, FN_DACK0,
189         FN_DU0_EXODDF_DU0_ODDF_DISP_CDE, FN_MSIOF2_SCK_B, FN_DRACK0,
190         FN_DU0_DISP, FN_CAN1_RX_C,
191
192         /* IPSR8 */
193         FN_DU0_CDE, FN_CAN1_TX_C,
194         FN_VI1_CLK, FN_AVB_RX_CLK, FN_ETH_REF_CLK,
195         FN_VI1_DATA0, FN_AVB_RX_DV, FN_ETH_CRS_DV,
196         FN_VI1_DATA1, FN_AVB_RXD0, FN_ETH_RXD0,
197         FN_VI1_DATA2, FN_AVB_RXD1, FN_ETH_RXD1,
198         FN_VI1_DATA3, FN_AVB_RXD2, FN_ETH_MDIO,
199         FN_VI1_DATA4, FN_AVB_RXD3, FN_ETH_RX_ER,
200         FN_VI1_DATA5, FN_AVB_RXD4, FN_ETH_LINK,
201
202         /* IPSR9 */
203         FN_VI1_DATA6, FN_AVB_RXD5, FN_ETH_TXD1,
204         FN_VI1_DATA7, FN_AVB_RXD6, FN_ETH_TX_EN,
205         FN_VI1_CLKENB, FN_SCL3_A, FN_AVB_RXD7, FN_ETH_MAGIC,
206         FN_VI1_FIELD, FN_SDA3_A, FN_AVB_RX_ER, FN_ETH_TXD0,
207         FN_VI1_HSYNC_N, FN_RX0_B, FN_SCL0_C, FN_AVB_GTXREFCLK, FN_ETH_MDC,
208         FN_VI1_VSYNC_N, FN_TX0_B, FN_SDA0_C, FN_AUDIO_CLKOUT_B, FN_AVB_TX_CLK,
209         FN_VI1_DATA8, FN_SCL2_B, FN_AVB_TX_EN,
210         FN_VI1_DATA9, FN_SDA2_B, FN_AVB_TXD0,
211
212         /* IPSR10 */
213         FN_VI1_DATA10, FN_CAN0_RX_B, FN_AVB_TXD1,
214         FN_VI1_DATA11, FN_CAN0_TX_B, FN_AVB_TXD2,
215         FN_AVB_TXD3, FN_AUDIO_CLKA_B, FN_SSI_SCK1_D, FN_RX5_F, FN_MSIOF0_RXD_B,
216         FN_AVB_TXD4, FN_AUDIO_CLKB_B, FN_SSI_WS1_D, FN_TX5_F, FN_MSIOF0_TXD_B,
217         FN_AVB_TXD5, FN_SCIF_CLK_B, FN_AUDIO_CLKC_B, FN_SSI_SDATA1_D, FN_MSIOF0_SCK_B,
218         FN_SCL0_A, FN_RX0_C, FN_PWM5_A, FN_TCLK1_B, FN_AVB_TXD6, FN_CAN1_RX_D, FN_MSIOF0_SYNC_B,
219         FN_SDA0_A, FN_TX0_C, FN_IRQ5, FN_CAN_CLK_A, FN_AVB_GTX_CLK, FN_CAN1_TX_D, FN_DVC_MUTE,
220         FN_SCL1_A, FN_RX4_A, FN_PWM5_D, FN_DU1_DR0, FN_SSI_SCK6_B, FN_VI0_G0,
221
222         /* IPSR11 */
223         FN_SDA1_A, FN_TX4_A, FN_DU1_DR1, FN_SSI_WS6_B, FN_VI0_G1,
224         FN_MSIOF0_RXD_A, FN_RX5_A, FN_SCL2_C, FN_DU1_DR2, FN_QSPI1_MOSI_QSPI1_IO0, FN_SSI_SDATA6_B, FN_VI0_G2,
225         FN_MSIOF0_TXD_A, FN_TX5_A, FN_SDA2_C, FN_DU1_DR3, FN_QSPI1_MISO_QSPI1_IO1, FN_SSI_WS78_B, FN_VI0_G3,
226         FN_MSIOF0_SCK_A, FN_IRQ0, FN_DU1_DR4, FN_QSPI1_SPCLK, FN_SSI_SCK78_B, FN_VI0_G4,
227         FN_MSIOF0_SYNC_A, FN_PWM1_A, FN_DU1_DR5, FN_QSPI1_IO2, FN_SSI_SDATA7_B,
228         FN_MSIOF0_SS1_A, FN_DU1_DR6, FN_QSPI1_IO3, FN_SSI_SDATA8_B,
229         FN_MSIOF0_SS2_A, FN_DU1_DR7, FN_QSPI1_SSL,
230         FN_HRX1_A, FN_SCL4_A, FN_PWM6_A, FN_DU1_DG0, FN_RX0_A,
231
232         /* IPSR12 */
233         FN_HTX1_A, FN_SDA4_A, FN_DU1_DG1, FN_TX0_A,
234         FN_HCTS1_N_A, FN_PWM2_A, FN_DU1_DG2, FN_REMOCON_B,
235         FN_HRTS1_N_A, FN_DU1_DG3, FN_SSI_WS1_B, FN_IRQ1,
236         FN_SD2_CLK, FN_HSCK1, FN_DU1_DG4, FN_SSI_SCK1_B,
237         FN_SD2_CMD, FN_SCIF1_SCK_A, FN_TCLK2_A, FN_DU1_DG5, FN_SSI_SCK2_B, FN_PWM3_A,
238         FN_SD2_DAT0, FN_RX1_A, FN_SCL1_E, FN_DU1_DG6, FN_SSI_SDATA1_B,
239         FN_SD2_DAT1, FN_TX1_A, FN_SDA1_E, FN_DU1_DG7, FN_SSI_WS2_B,
240         FN_SD2_DAT2, FN_RX2_A, FN_DU1_DB0, FN_SSI_SDATA2_B,
241
242         /* IPSR13 */
243         FN_SD2_DAT3, FN_TX2_A, FN_DU1_DB1, FN_SSI_WS9_B,
244         FN_SD2_CD, FN_SCIF2_SCK_A, FN_DU1_DB2, FN_SSI_SCK9_B,
245         FN_SD2_WP, FN_SCIF3_SCK, FN_DU1_DB3, FN_SSI_SDATA9_B,
246         FN_RX3_A, FN_SCL1_C, FN_MSIOF1_RXD_B, FN_DU1_DB4, FN_AUDIO_CLKA_C, FN_SSI_SDATA4_B,
247         FN_TX3_A, FN_SDA1_C, FN_MSIOF1_TXD_B, FN_DU1_DB5, FN_AUDIO_CLKB_C, FN_SSI_WS4_B,
248         FN_SCL2_A, FN_MSIOF1_SCK_B, FN_DU1_DB6, FN_AUDIO_CLKC_C, FN_SSI_SCK4_B,
249         FN_SDA2_A, FN_MSIOF1_SYNC_B, FN_DU1_DB7, FN_AUDIO_CLKOUT_C,
250         FN_SSI_SCK5_A, FN_DU1_DOTCLKOUT1,
251
252         /* IPSR14 */
253         FN_SSI_WS5_A, FN_SCL3_C, FN_DU1_DOTCLKIN,
254         FN_SSI_SDATA5_A, FN_SDA3_C, FN_DU1_DOTCLKOUT0,
255         FN_SSI_SCK6_A, FN_DU1_EXODDF_DU1_ODDF_DISP_CDE,
256         FN_SSI_WS6_A, FN_SCL4_C, FN_DU1_EXHSYNC_DU1_HSYNC,
257         FN_SSI_SDATA6_A, FN_SDA4_C, FN_DU1_EXVSYNC_DU1_VSYNC,
258         FN_SSI_SCK78_A, FN_SDA4_E, FN_DU1_DISP,
259         FN_SSI_WS78_A, FN_SCL4_E, FN_DU1_CDE,
260         FN_SSI_SDATA7_A, FN_IRQ8, FN_AUDIO_CLKA_D, FN_CAN_CLK_D, FN_VI0_G5,
261
262         /* IPSR15 */
263         FN_SSI_SCK0129_A, FN_MSIOF1_RXD_A, FN_RX5_D, FN_VI0_G6,
264         FN_SSI_WS0129_A, FN_MSIOF1_TXD_A, FN_TX5_D, FN_VI0_G7,
265         FN_SSI_SDATA0_A, FN_MSIOF1_SYNC_A, FN_PWM0_C, FN_VI0_R0,
266         FN_SSI_SCK34, FN_MSIOF1_SCK_A, FN_AVB_MDC, FN_DACK1, FN_VI0_R1,
267         FN_SSI_WS34, FN_MSIOF1_SS1_A, FN_AVB_MDIO, FN_CAN1_RX_A, FN_DREQ1_N, FN_VI0_R2,
268         FN_SSI_SDATA3, FN_MSIOF1_SS2_A, FN_AVB_LINK, FN_CAN1_TX_A, FN_DREQ2_N, FN_VI0_R3,
269         FN_SSI_SCK4_A, FN_AVB_MAGIC, FN_VI0_R4,
270         FN_SSI_WS4_A, FN_AVB_PHY_INT, FN_VI0_R5,
271
272         /* IPSR16 */
273         FN_SSI_SDATA4_A, FN_AVB_CRS, FN_VI0_R6,
274         FN_SSI_SCK1_A, FN_SCIF1_SCK_B, FN_PWM1_D, FN_IRQ9, FN_REMOCON_A, FN_DACK2, FN_VI0_CLK, FN_AVB_COL,
275         FN_SSI_SDATA8_A, FN_RX1_B, FN_CAN0_RX_D, FN_AVB_AVTP_CAPTURE_B, FN_VI0_R7,
276         FN_SSI_WS1_A, FN_TX1_B, FN_CAN0_TX_D, FN_AVB_AVTP_MATCH_B, FN_VI0_DATA0_VI0_B0,
277         FN_SSI_SDATA1_A, FN_HRX1_B, FN_VI0_DATA1_VI0_B1,
278         FN_SSI_SCK2_A, FN_HTX1_B, FN_AVB_TXD7, FN_VI0_DATA2_VI0_B2,
279         FN_SSI_WS2_A, FN_HCTS1_N_B, FN_AVB_TX_ER, FN_VI0_DATA3_VI0_B3,
280         FN_SSI_SDATA2_A, FN_HRTS1_N_B, FN_VI0_DATA4_VI0_B4,
281
282         /* IPSR17 */
283         FN_SSI_SCK9_A, FN_RX2_B, FN_SCL3_E, FN_EX_WAIT1, FN_VI0_DATA5_VI0_B5,
284         FN_SSI_WS9_A, FN_TX2_B, FN_SDA3_E, FN_VI0_DATA6_VI0_B6,
285         FN_SSI_SDATA9_A, FN_SCIF2_SCK_B, FN_PWM2_D, FN_VI0_DATA7_VI0_B7,
286         FN_AUDIO_CLKA_A, FN_SCL0_B, FN_VI0_CLKENB,
287         FN_AUDIO_CLKB_A, FN_SDA0_B, FN_VI0_FIELD,
288         FN_AUDIO_CLKC_A, FN_SCL4_B, FN_VI0_HSYNC_N,
289         FN_AUDIO_CLKOUT_A, FN_SDA4_B, FN_VI0_VSYNC_N,
290
291         /* MOD_SEL0 */
292         FN_SEL_ADGA_0, FN_SEL_ADGA_1, FN_SEL_ADGA_2, FN_SEL_ADGA_3,
293         FN_SEL_CANCLK_0, FN_SEL_CANCLK_1, FN_SEL_CANCLK_2, FN_SEL_CANCLK_3,
294         FN_SEL_CAN1_0, FN_SEL_CAN1_1, FN_SEL_CAN1_2, FN_SEL_CAN1_3,
295         FN_SEL_CAN0_0, FN_SEL_CAN0_1, FN_SEL_CAN0_2, FN_SEL_CAN0_3,
296         FN_SEL_I2C04_0, FN_SEL_I2C04_1, FN_SEL_I2C04_2, FN_SEL_I2C04_3, FN_SEL_I2C04_4,
297         FN_SEL_I2C03_0, FN_SEL_I2C03_1, FN_SEL_I2C03_2, FN_SEL_I2C03_3, FN_SEL_I2C03_4,
298         FN_SEL_I2C02_0, FN_SEL_I2C02_1, FN_SEL_I2C02_2, FN_SEL_I2C02_3,
299         FN_SEL_I2C01_0, FN_SEL_I2C01_1, FN_SEL_I2C01_2, FN_SEL_I2C01_3, FN_SEL_I2C01_4,
300         FN_SEL_I2C00_0, FN_SEL_I2C00_1, FN_SEL_I2C00_2, FN_SEL_I2C00_3, FN_SEL_I2C00_4,
301         FN_SEL_AVB_0, FN_SEL_AVB_1,
302
303         /* MOD_SEL1 */
304         FN_SEL_SCIFCLK_0, FN_SEL_SCIFCLK_1,
305         FN_SEL_SCIF5_0, FN_SEL_SCIF5_1, FN_SEL_SCIF5_2, FN_SEL_SCIF5_3, FN_SEL_SCIF5_4, FN_SEL_SCIF5_5,
306         FN_SEL_SCIF4_0, FN_SEL_SCIF4_1, FN_SEL_SCIF4_2, FN_SEL_SCIF4_3, FN_SEL_SCIF4_4,
307         FN_SEL_SCIF3_0, FN_SEL_SCIF3_1, FN_SEL_SCIF3_2,
308         FN_SEL_SCIF2_0, FN_SEL_SCIF2_1, FN_SEL_SCIF2_2,
309         FN_SEL_SCIF2_CLK_0, FN_SEL_SCIF2_CLK_1,
310         FN_SEL_SCIF1_0, FN_SEL_SCIF1_1, FN_SEL_SCIF1_2, FN_SEL_SCIF1_3,
311         FN_SEL_SCIF0_0, FN_SEL_SCIF0_1, FN_SEL_SCIF0_2, FN_SEL_SCIF0_3,
312         FN_SEL_MSIOF2_0, FN_SEL_MSIOF2_1, FN_SEL_MSIOF2_2,
313         FN_SEL_MSIOF1_0, FN_SEL_MSIOF1_1,
314         FN_SEL_MSIOF0_0, FN_SEL_MSIOF0_1,
315         FN_SEL_RCN_0, FN_SEL_RCN_1,
316         FN_SEL_TMU2_0, FN_SEL_TMU2_1,
317         FN_SEL_TMU1_0, FN_SEL_TMU1_1,
318         FN_SEL_HSCIF1_0, FN_SEL_HSCIF1_1, FN_SEL_HSCIF1_2,
319         FN_SEL_HSCIF0_0, FN_SEL_HSCIF0_1,
320
321         /* MOD_SEL2 */
322         FN_SEL_ADGB_0, FN_SEL_ADGB_1, FN_SEL_ADGB_2,
323         FN_SEL_ADGC_0, FN_SEL_ADGC_1, FN_SEL_ADGC_2,
324         FN_SEL_SSI9_0, FN_SEL_SSI9_1,
325         FN_SEL_SSI8_0, FN_SEL_SSI8_1,
326         FN_SEL_SSI7_0, FN_SEL_SSI7_1,
327         FN_SEL_SSI6_0, FN_SEL_SSI6_1,
328         FN_SEL_SSI5_0, FN_SEL_SSI5_1,
329         FN_SEL_SSI4_0, FN_SEL_SSI4_1,
330         FN_SEL_SSI2_0, FN_SEL_SSI2_1,
331         FN_SEL_SSI1_0, FN_SEL_SSI1_1, FN_SEL_SSI1_2, FN_SEL_SSI1_3,
332         FN_SEL_SSI0_0, FN_SEL_SSI0_1,
333         PINMUX_FUNCTION_END,
334
335         PINMUX_MARK_BEGIN,
336
337         USB0_PWEN_MARK, USB0_OVC_MARK, USB1_PWEN_MARK, USB1_OVC_MARK,
338         CLKOUT_MARK, MMC0_CLK_SDHI1_CLK_MARK, MMC0_CMD_SDHI1_CMD_MARK,
339         MMC0_D0_SDHI1_D0_MARK, MMC0_D1_SDHI1_D1_MARK,
340         MMC0_D2_SDHI1_D2_MARK, MMC0_D3_SDHI1_D3_MARK, MMC0_D6_MARK,
341         MMC0_D7_MARK,
342
343         /* IPSR0 */
344         SD0_CLK_MARK, SSI_SCK1_C_MARK, RX3_C_MARK,
345         SD0_CMD_MARK, SSI_WS1_C_MARK, TX3_C_MARK,
346         SD0_DAT0_MARK, SSI_SDATA1_C_MARK, RX4_E_MARK,
347         SD0_DAT1_MARK, SSI_SCK0129_B_MARK, TX4_E_MARK,
348         SD0_DAT2_MARK, SSI_WS0129_B_MARK, RX5_E_MARK,
349         SD0_DAT3_MARK, SSI_SDATA0_B_MARK, TX5_E_MARK,
350         SD0_CD_MARK, CAN0_RX_A_MARK,
351         SD0_WP_MARK, IRQ7_MARK, CAN0_TX_A_MARK,
352
353         /* IPSR1 */
354         MMC0_D4_MARK, SD1_CD_MARK,
355         MMC0_D5_MARK, SD1_WP_MARK,
356         D0_MARK, SCL3_B_MARK, RX5_B_MARK, IRQ4_MARK, MSIOF2_RXD_C_MARK, SSI_SDATA5_B_MARK,
357         D1_MARK, SDA3_B_MARK, TX5_B_MARK, MSIOF2_TXD_C_MARK, SSI_WS5_B_MARK,
358         D2_MARK, RX4_B_MARK, SCL0_D_MARK, PWM1_C_MARK, MSIOF2_SCK_C_MARK, SSI_SCK5_B_MARK,
359         D3_MARK, TX4_B_MARK, SDA0_D_MARK, PWM0_A_MARK, MSIOF2_SYNC_C_MARK,
360         D4_MARK, IRQ3_MARK, TCLK1_A_MARK, PWM6_C_MARK,
361         D5_MARK, HRX2_MARK, SCL1_B_MARK, PWM2_C_MARK, TCLK2_B_MARK,
362
363         /* IPSR2 */
364         D6_MARK, HTX2_MARK, SDA1_B_MARK, PWM4_C_MARK,
365         D7_MARK, HSCK2_MARK, SCIF1_SCK_C_MARK, IRQ6_MARK, PWM5_C_MARK,
366         D8_MARK, HCTS2_N_MARK, RX1_C_MARK, SCL1_D_MARK, PWM3_C_MARK,
367         D9_MARK, HRTS2_N_MARK, TX1_C_MARK, SDA1_D_MARK,
368         D10_MARK, MSIOF2_RXD_A_MARK, HRX0_B_MARK,
369         D11_MARK, MSIOF2_TXD_A_MARK, HTX0_B_MARK,
370         D12_MARK, MSIOF2_SCK_A_MARK, HSCK0_MARK, CAN_CLK_C_MARK,
371         D13_MARK, MSIOF2_SYNC_A_MARK, RX4_C_MARK,
372
373         /* IPSR3 */
374         D14_MARK, MSIOF2_SS1_MARK, TX4_C_MARK, CAN1_RX_B_MARK, AVB_AVTP_CAPTURE_A_MARK,
375         D15_MARK, MSIOF2_SS2_MARK, PWM4_A_MARK, CAN1_TX_B_MARK, IRQ2_MARK, AVB_AVTP_MATCH_A_MARK,
376         QSPI0_SPCLK_MARK, WE0_N_MARK,
377         QSPI0_MOSI_QSPI0_IO0_MARK, BS_N_MARK,
378         QSPI0_MISO_QSPI0_IO1_MARK, RD_WR_N_MARK,
379         QSPI0_IO2_MARK, CS0_N_MARK,
380         QSPI0_IO3_MARK, RD_N_MARK,
381         QSPI0_SSL_MARK, WE1_N_MARK,
382
383         /* IPSR4 */
384         EX_WAIT0_MARK, CAN_CLK_B_MARK, SCIF_CLK_A_MARK,
385         DU0_DR0_MARK, RX5_C_MARK, SCL2_D_MARK, A0_MARK,
386         DU0_DR1_MARK, TX5_C_MARK, SDA2_D_MARK, A1_MARK,
387         DU0_DR2_MARK, RX0_D_MARK, SCL0_E_MARK, A2_MARK,
388         DU0_DR3_MARK, TX0_D_MARK, SDA0_E_MARK, PWM0_B_MARK, A3_MARK,
389         DU0_DR4_MARK, RX1_D_MARK, A4_MARK,
390         DU0_DR5_MARK, TX1_D_MARK, PWM1_B_MARK, A5_MARK,
391         DU0_DR6_MARK, RX2_C_MARK, A6_MARK,
392
393         /* IPSR5 */
394         DU0_DR7_MARK, TX2_C_MARK, PWM2_B_MARK, A7_MARK,
395         DU0_DG0_MARK, RX3_B_MARK, SCL3_D_MARK, A8_MARK,
396         DU0_DG1_MARK, TX3_B_MARK, SDA3_D_MARK, PWM3_B_MARK, A9_MARK,
397         DU0_DG2_MARK, RX4_D_MARK, A10_MARK,
398         DU0_DG3_MARK, TX4_D_MARK, PWM4_B_MARK, A11_MARK,
399         DU0_DG4_MARK, HRX0_A_MARK, A12_MARK,
400         DU0_DG5_MARK, HTX0_A_MARK, PWM5_B_MARK, A13_MARK,
401         DU0_DG6_MARK, HRX1_C_MARK, A14_MARK,
402
403         /* IPSR6 */
404         DU0_DG7_MARK, HTX1_C_MARK, PWM6_B_MARK, A15_MARK,
405         DU0_DB0_MARK, SCL4_D_MARK, CAN0_RX_C_MARK, A16_MARK,
406         DU0_DB1_MARK, SDA4_D_MARK, CAN0_TX_C_MARK, A17_MARK,
407         DU0_DB2_MARK, HCTS0_N_MARK, A18_MARK,
408         DU0_DB3_MARK, HRTS0_N_MARK, A19_MARK,
409         DU0_DB4_MARK, HCTS1_N_C_MARK, A20_MARK,
410         DU0_DB5_MARK, HRTS1_N_C_MARK, A21_MARK,
411         DU0_DB6_MARK, A22_MARK,
412
413         /* IPSR7 */
414         DU0_DB7_MARK, A23_MARK,
415         DU0_DOTCLKIN_MARK, A24_MARK,
416         DU0_DOTCLKOUT0_MARK, A25_MARK,
417         DU0_DOTCLKOUT1_MARK, MSIOF2_RXD_B_MARK, CS1_N_A26_MARK,
418         DU0_EXHSYNC_DU0_HSYNC_MARK, MSIOF2_TXD_B_MARK, DREQ0_N_MARK,
419         DU0_EXVSYNC_DU0_VSYNC_MARK, MSIOF2_SYNC_B_MARK, DACK0_MARK,
420         DU0_EXODDF_DU0_ODDF_DISP_CDE_MARK, MSIOF2_SCK_B_MARK, DRACK0_MARK,
421         DU0_DISP_MARK, CAN1_RX_C_MARK,
422
423         /* IPSR8 */
424         DU0_CDE_MARK, CAN1_TX_C_MARK,
425         VI1_CLK_MARK, AVB_RX_CLK_MARK, ETH_REF_CLK_MARK,
426         VI1_DATA0_MARK, AVB_RX_DV_MARK, ETH_CRS_DV_MARK,
427         VI1_DATA1_MARK, AVB_RXD0_MARK, ETH_RXD0_MARK,
428         VI1_DATA2_MARK, AVB_RXD1_MARK, ETH_RXD1_MARK,
429         VI1_DATA3_MARK, AVB_RXD2_MARK, ETH_MDIO_MARK,
430         VI1_DATA4_MARK, AVB_RXD3_MARK, ETH_RX_ER_MARK,
431         VI1_DATA5_MARK, AVB_RXD4_MARK, ETH_LINK_MARK,
432
433         /* IPSR9 */
434         VI1_DATA6_MARK, AVB_RXD5_MARK, ETH_TXD1_MARK,
435         VI1_DATA7_MARK, AVB_RXD6_MARK, ETH_TX_EN_MARK,
436         VI1_CLKENB_MARK, SCL3_A_MARK, AVB_RXD7_MARK, ETH_MAGIC_MARK,
437         VI1_FIELD_MARK, SDA3_A_MARK, AVB_RX_ER_MARK, ETH_TXD0_MARK,
438         VI1_HSYNC_N_MARK, RX0_B_MARK, SCL0_C_MARK, AVB_GTXREFCLK_MARK, ETH_MDC_MARK,
439         VI1_VSYNC_N_MARK, TX0_B_MARK, SDA0_C_MARK, AUDIO_CLKOUT_B_MARK, AVB_TX_CLK_MARK,
440         VI1_DATA8_MARK, SCL2_B_MARK, AVB_TX_EN_MARK,
441         VI1_DATA9_MARK, SDA2_B_MARK, AVB_TXD0_MARK,
442
443         /* IPSR10 */
444         VI1_DATA10_MARK, CAN0_RX_B_MARK, AVB_TXD1_MARK,
445         VI1_DATA11_MARK, CAN0_TX_B_MARK, AVB_TXD2_MARK,
446         AVB_TXD3_MARK, AUDIO_CLKA_B_MARK, SSI_SCK1_D_MARK, RX5_F_MARK, MSIOF0_RXD_B_MARK,
447         AVB_TXD4_MARK, AUDIO_CLKB_B_MARK, SSI_WS1_D_MARK, TX5_F_MARK, MSIOF0_TXD_B_MARK,
448         AVB_TXD5_MARK, SCIF_CLK_B_MARK, AUDIO_CLKC_B_MARK, SSI_SDATA1_D_MARK, MSIOF0_SCK_B_MARK,
449         SCL0_A_MARK, RX0_C_MARK, PWM5_A_MARK, TCLK1_B_MARK, AVB_TXD6_MARK, CAN1_RX_D_MARK, MSIOF0_SYNC_B_MARK,
450         SDA0_A_MARK, TX0_C_MARK, IRQ5_MARK, CAN_CLK_A_MARK, AVB_GTX_CLK_MARK, CAN1_TX_D_MARK, DVC_MUTE_MARK,
451         SCL1_A_MARK, RX4_A_MARK, PWM5_D_MARK, DU1_DR0_MARK, SSI_SCK6_B_MARK, VI0_G0_MARK,
452
453         /* IPSR11 */
454         SDA1_A_MARK, TX4_A_MARK, DU1_DR1_MARK, SSI_WS6_B_MARK, VI0_G1_MARK,
455         MSIOF0_RXD_A_MARK, RX5_A_MARK, SCL2_C_MARK, DU1_DR2_MARK, QSPI1_MOSI_QSPI1_IO0_MARK, SSI_SDATA6_B_MARK, VI0_G2_MARK,
456         MSIOF0_TXD_A_MARK, TX5_A_MARK, SDA2_C_MARK, DU1_DR3_MARK, QSPI1_MISO_QSPI1_IO1_MARK, SSI_WS78_B_MARK, VI0_G3_MARK,
457         MSIOF0_SCK_A_MARK, IRQ0_MARK, DU1_DR4_MARK, QSPI1_SPCLK_MARK, SSI_SCK78_B_MARK, VI0_G4_MARK,
458         MSIOF0_SYNC_A_MARK, PWM1_A_MARK, DU1_DR5_MARK, QSPI1_IO2_MARK, SSI_SDATA7_B_MARK,
459         MSIOF0_SS1_A_MARK, DU1_DR6_MARK, QSPI1_IO3_MARK, SSI_SDATA8_B_MARK,
460         MSIOF0_SS2_A_MARK, DU1_DR7_MARK, QSPI1_SSL_MARK,
461         HRX1_A_MARK, SCL4_A_MARK, PWM6_A_MARK, DU1_DG0_MARK, RX0_A_MARK,
462
463         /* IPSR12 */
464         HTX1_A_MARK, SDA4_A_MARK, DU1_DG1_MARK, TX0_A_MARK,
465         HCTS1_N_A_MARK, PWM2_A_MARK, DU1_DG2_MARK, REMOCON_B_MARK,
466         HRTS1_N_A_MARK, DU1_DG3_MARK, SSI_WS1_B_MARK, IRQ1_MARK,
467         SD2_CLK_MARK, HSCK1_MARK, DU1_DG4_MARK, SSI_SCK1_B_MARK,
468         SD2_CMD_MARK, SCIF1_SCK_A_MARK, TCLK2_A_MARK, DU1_DG5_MARK, SSI_SCK2_B_MARK, PWM3_A_MARK,
469         SD2_DAT0_MARK, RX1_A_MARK, SCL1_E_MARK, DU1_DG6_MARK, SSI_SDATA1_B_MARK,
470         SD2_DAT1_MARK, TX1_A_MARK, SDA1_E_MARK, DU1_DG7_MARK, SSI_WS2_B_MARK,
471         SD2_DAT2_MARK, RX2_A_MARK, DU1_DB0_MARK, SSI_SDATA2_B_MARK,
472
473         /* IPSR13 */
474         SD2_DAT3_MARK, TX2_A_MARK, DU1_DB1_MARK, SSI_WS9_B_MARK,
475         SD2_CD_MARK, SCIF2_SCK_A_MARK, DU1_DB2_MARK, SSI_SCK9_B_MARK,
476         SD2_WP_MARK, SCIF3_SCK_MARK, DU1_DB3_MARK, SSI_SDATA9_B_MARK,
477         RX3_A_MARK, SCL1_C_MARK, MSIOF1_RXD_B_MARK, DU1_DB4_MARK, AUDIO_CLKA_C_MARK, SSI_SDATA4_B_MARK,
478         TX3_A_MARK, SDA1_C_MARK, MSIOF1_TXD_B_MARK, DU1_DB5_MARK, AUDIO_CLKB_C_MARK, SSI_WS4_B_MARK,
479         SCL2_A_MARK, MSIOF1_SCK_B_MARK, DU1_DB6_MARK, AUDIO_CLKC_C_MARK, SSI_SCK4_B_MARK,
480         SDA2_A_MARK, MSIOF1_SYNC_B_MARK, DU1_DB7_MARK, AUDIO_CLKOUT_C_MARK,
481         SSI_SCK5_A_MARK, DU1_DOTCLKOUT1_MARK,
482
483         /* IPSR14 */
484         SSI_WS5_A_MARK, SCL3_C_MARK, DU1_DOTCLKIN_MARK,
485         SSI_SDATA5_A_MARK, SDA3_C_MARK, DU1_DOTCLKOUT0_MARK,
486         SSI_SCK6_A_MARK, DU1_EXODDF_DU1_ODDF_DISP_CDE_MARK,
487         SSI_WS6_A_MARK, SCL4_C_MARK, DU1_EXHSYNC_DU1_HSYNC_MARK,
488         SSI_SDATA6_A_MARK, SDA4_C_MARK, DU1_EXVSYNC_DU1_VSYNC_MARK,
489         SSI_SCK78_A_MARK, SDA4_E_MARK, DU1_DISP_MARK,
490         SSI_WS78_A_MARK, SCL4_E_MARK, DU1_CDE_MARK,
491         SSI_SDATA7_A_MARK, IRQ8_MARK, AUDIO_CLKA_D_MARK, CAN_CLK_D_MARK, VI0_G5_MARK,
492
493         /* IPSR15 */
494         SSI_SCK0129_A_MARK, MSIOF1_RXD_A_MARK, RX5_D_MARK, VI0_G6_MARK,
495         SSI_WS0129_A_MARK, MSIOF1_TXD_A_MARK, TX5_D_MARK, VI0_G7_MARK,
496         SSI_SDATA0_A_MARK, MSIOF1_SYNC_A_MARK, PWM0_C_MARK, VI0_R0_MARK,
497         SSI_SCK34_MARK, MSIOF1_SCK_A_MARK, AVB_MDC_MARK, DACK1_MARK, VI0_R1_MARK,
498         SSI_WS34_MARK, MSIOF1_SS1_A_MARK, AVB_MDIO_MARK, CAN1_RX_A_MARK, DREQ1_N_MARK, VI0_R2_MARK,
499         SSI_SDATA3_MARK, MSIOF1_SS2_A_MARK, AVB_LINK_MARK, CAN1_TX_A_MARK, DREQ2_N_MARK, VI0_R3_MARK,
500         SSI_SCK4_A_MARK, AVB_MAGIC_MARK, VI0_R4_MARK,
501         SSI_WS4_A_MARK, AVB_PHY_INT_MARK, VI0_R5_MARK,
502
503         /* IPSR16 */
504         SSI_SDATA4_A_MARK, AVB_CRS_MARK, VI0_R6_MARK,
505         SSI_SCK1_A_MARK, SCIF1_SCK_B_MARK, PWM1_D_MARK, IRQ9_MARK, REMOCON_A_MARK, DACK2_MARK, VI0_CLK_MARK, AVB_COL_MARK,
506         SSI_SDATA8_A_MARK, RX1_B_MARK, CAN0_RX_D_MARK, AVB_AVTP_CAPTURE_B_MARK, VI0_R7_MARK,
507         SSI_WS1_A_MARK, TX1_B_MARK, CAN0_TX_D_MARK, AVB_AVTP_MATCH_B_MARK, VI0_DATA0_VI0_B0_MARK,
508         SSI_SDATA1_A_MARK, HRX1_B_MARK, VI0_DATA1_VI0_B1_MARK,
509         SSI_SCK2_A_MARK, HTX1_B_MARK, AVB_TXD7_MARK, VI0_DATA2_VI0_B2_MARK,
510         SSI_WS2_A_MARK, HCTS1_N_B_MARK, AVB_TX_ER_MARK, VI0_DATA3_VI0_B3_MARK,
511         SSI_SDATA2_A_MARK, HRTS1_N_B_MARK, VI0_DATA4_VI0_B4_MARK,
512
513         /* IPSR17 */
514         SSI_SCK9_A_MARK, RX2_B_MARK, SCL3_E_MARK, EX_WAIT1_MARK, VI0_DATA5_VI0_B5_MARK,
515         SSI_WS9_A_MARK, TX2_B_MARK, SDA3_E_MARK, VI0_DATA6_VI0_B6_MARK,
516         SSI_SDATA9_A_MARK, SCIF2_SCK_B_MARK, PWM2_D_MARK, VI0_DATA7_VI0_B7_MARK,
517         AUDIO_CLKA_A_MARK, SCL0_B_MARK, VI0_CLKENB_MARK,
518         AUDIO_CLKB_A_MARK, SDA0_B_MARK, VI0_FIELD_MARK,
519         AUDIO_CLKC_A_MARK, SCL4_B_MARK, VI0_HSYNC_N_MARK,
520         AUDIO_CLKOUT_A_MARK, SDA4_B_MARK, VI0_VSYNC_N_MARK,
521
522         PINMUX_MARK_END,
523 };
524
525 static const u16 pinmux_data[] = {
526         PINMUX_DATA_GP_ALL(), /* PINMUX_DATA(GP_M_N_DATA, GP_M_N_FN...), */
527
528         PINMUX_SINGLE(USB0_PWEN),
529         PINMUX_SINGLE(USB0_OVC),
530         PINMUX_SINGLE(USB1_PWEN),
531         PINMUX_SINGLE(USB1_OVC),
532         PINMUX_SINGLE(CLKOUT),
533         PINMUX_SINGLE(MMC0_CLK_SDHI1_CLK),
534         PINMUX_SINGLE(MMC0_CMD_SDHI1_CMD),
535         PINMUX_SINGLE(MMC0_D0_SDHI1_D0),
536         PINMUX_SINGLE(MMC0_D1_SDHI1_D1),
537         PINMUX_SINGLE(MMC0_D2_SDHI1_D2),
538         PINMUX_SINGLE(MMC0_D3_SDHI1_D3),
539         PINMUX_SINGLE(MMC0_D6),
540         PINMUX_SINGLE(MMC0_D7),
541
542         /* IPSR0 */
543         PINMUX_IPSR_GPSR(IP0_3_0, SD0_CLK),
544         PINMUX_IPSR_MSEL(IP0_3_0, SSI_SCK1_C, SEL_SSI1_2),
545         PINMUX_IPSR_MSEL(IP0_3_0, RX3_C, SEL_SCIF3_2),
546         PINMUX_IPSR_GPSR(IP0_7_4, SD0_CMD),
547         PINMUX_IPSR_MSEL(IP0_7_4, SSI_WS1_C, SEL_SSI1_2),
548         PINMUX_IPSR_MSEL(IP0_7_4, TX3_C, SEL_SCIF3_2),
549         PINMUX_IPSR_GPSR(IP0_11_8, SD0_DAT0),
550         PINMUX_IPSR_MSEL(IP0_11_8, SSI_SDATA1_C, SEL_SSI1_2),
551         PINMUX_IPSR_MSEL(IP0_11_8, RX4_E, SEL_SCIF4_4),
552         PINMUX_IPSR_GPSR(IP0_15_12, SD0_DAT1),
553         PINMUX_IPSR_MSEL(IP0_15_12, SSI_SCK0129_B, SEL_SSI0_1),
554         PINMUX_IPSR_MSEL(IP0_15_12, TX4_E, SEL_SCIF4_4),
555         PINMUX_IPSR_GPSR(IP0_19_16, SD0_DAT2),
556         PINMUX_IPSR_MSEL(IP0_19_16, SSI_WS0129_B, SEL_SSI0_1),
557         PINMUX_IPSR_MSEL(IP0_19_16, RX5_E, SEL_SCIF5_4),
558         PINMUX_IPSR_GPSR(IP0_23_20, SD0_DAT3),
559         PINMUX_IPSR_MSEL(IP0_23_20, SSI_SDATA0_B, SEL_SSI0_1),
560         PINMUX_IPSR_MSEL(IP0_23_20, TX5_E, SEL_SCIF5_4),
561         PINMUX_IPSR_GPSR(IP0_27_24, SD0_CD),
562         PINMUX_IPSR_MSEL(IP0_27_24, CAN0_RX_A, SEL_CAN0_0),
563         PINMUX_IPSR_GPSR(IP0_31_28, SD0_WP),
564         PINMUX_IPSR_GPSR(IP0_31_28, IRQ7),
565         PINMUX_IPSR_MSEL(IP0_31_28, CAN0_TX_A, SEL_CAN0_0),
566
567         /* IPSR1 */
568         PINMUX_IPSR_GPSR(IP1_3_0, MMC0_D4),
569         PINMUX_IPSR_GPSR(IP1_3_0, SD1_CD),
570         PINMUX_IPSR_GPSR(IP1_7_4, MMC0_D5),
571         PINMUX_IPSR_GPSR(IP1_7_4, SD1_WP),
572         PINMUX_IPSR_GPSR(IP1_11_8, D0),
573         PINMUX_IPSR_MSEL(IP1_11_8, SCL3_B, SEL_I2C03_1),
574         PINMUX_IPSR_MSEL(IP1_11_8, RX5_B, SEL_SCIF5_1),
575         PINMUX_IPSR_GPSR(IP1_11_8, IRQ4),
576         PINMUX_IPSR_MSEL(IP1_11_8, MSIOF2_RXD_C, SEL_MSIOF2_2),
577         PINMUX_IPSR_MSEL(IP1_11_8, SSI_SDATA5_B, SEL_SSI5_1),
578         PINMUX_IPSR_GPSR(IP1_15_12, D1),
579         PINMUX_IPSR_MSEL(IP1_15_12, SDA3_B, SEL_I2C03_1),
580         PINMUX_IPSR_MSEL(IP1_15_12, TX5_B, SEL_SCIF5_1),
581         PINMUX_IPSR_MSEL(IP1_15_12, MSIOF2_TXD_C, SEL_MSIOF2_2),
582         PINMUX_IPSR_MSEL(IP1_15_12, SSI_WS5_B, SEL_SSI5_1),
583         PINMUX_IPSR_GPSR(IP1_19_16, D2),
584         PINMUX_IPSR_MSEL(IP1_19_16, RX4_B, SEL_SCIF4_1),
585         PINMUX_IPSR_MSEL(IP1_19_16, SCL0_D, SEL_I2C00_3),
586         PINMUX_IPSR_GPSR(IP1_19_16, PWM1_C),
587         PINMUX_IPSR_MSEL(IP1_19_16, MSIOF2_SCK_C, SEL_MSIOF2_2),
588         PINMUX_IPSR_MSEL(IP1_19_16, SSI_SCK5_B, SEL_SSI5_1),
589         PINMUX_IPSR_GPSR(IP1_23_20, D3),
590         PINMUX_IPSR_MSEL(IP1_23_20, TX4_B, SEL_SCIF4_1),
591         PINMUX_IPSR_MSEL(IP1_23_20, SDA0_D, SEL_I2C00_3),
592         PINMUX_IPSR_GPSR(IP1_23_20, PWM0_A),
593         PINMUX_IPSR_MSEL(IP1_23_20, MSIOF2_SYNC_C, SEL_MSIOF2_2),
594         PINMUX_IPSR_GPSR(IP1_27_24, D4),
595         PINMUX_IPSR_GPSR(IP1_27_24, IRQ3),
596         PINMUX_IPSR_MSEL(IP1_27_24, TCLK1_A, SEL_TMU1_0),
597         PINMUX_IPSR_GPSR(IP1_27_24, PWM6_C),
598         PINMUX_IPSR_GPSR(IP1_31_28, D5),
599         PINMUX_IPSR_GPSR(IP1_31_28, HRX2),
600         PINMUX_IPSR_MSEL(IP1_31_28, SCL1_B, SEL_I2C01_1),
601         PINMUX_IPSR_GPSR(IP1_31_28, PWM2_C),
602         PINMUX_IPSR_MSEL(IP1_31_28, TCLK2_B, SEL_TMU2_1),
603
604         /* IPSR2 */
605         PINMUX_IPSR_GPSR(IP2_3_0, D6),
606         PINMUX_IPSR_GPSR(IP2_3_0, HTX2),
607         PINMUX_IPSR_MSEL(IP2_3_0, SDA1_B, SEL_I2C01_1),
608         PINMUX_IPSR_GPSR(IP2_3_0, PWM4_C),
609         PINMUX_IPSR_GPSR(IP2_7_4, D7),
610         PINMUX_IPSR_GPSR(IP2_7_4, HSCK2),
611         PINMUX_IPSR_MSEL(IP2_7_4, SCIF1_SCK_C, SEL_SCIF1_2),
612         PINMUX_IPSR_GPSR(IP2_7_4, IRQ6),
613         PINMUX_IPSR_GPSR(IP2_7_4, PWM5_C),
614         PINMUX_IPSR_GPSR(IP2_11_8, D8),
615         PINMUX_IPSR_GPSR(IP2_11_8, HCTS2_N),
616         PINMUX_IPSR_MSEL(IP2_11_8, RX1_C, SEL_SCIF1_2),
617         PINMUX_IPSR_MSEL(IP2_11_8, SCL1_D, SEL_I2C01_3),
618         PINMUX_IPSR_GPSR(IP2_11_8, PWM3_C),
619         PINMUX_IPSR_GPSR(IP2_15_12, D9),
620         PINMUX_IPSR_GPSR(IP2_15_12, HRTS2_N),
621         PINMUX_IPSR_MSEL(IP2_15_12, TX1_C, SEL_SCIF1_2),
622         PINMUX_IPSR_MSEL(IP2_15_12, SDA1_D, SEL_I2C01_3),
623         PINMUX_IPSR_GPSR(IP2_19_16, D10),
624         PINMUX_IPSR_MSEL(IP2_19_16, MSIOF2_RXD_A, SEL_MSIOF2_0),
625         PINMUX_IPSR_MSEL(IP2_19_16, HRX0_B, SEL_HSCIF0_1),
626         PINMUX_IPSR_GPSR(IP2_23_20, D11),
627         PINMUX_IPSR_MSEL(IP2_23_20, MSIOF2_TXD_A, SEL_MSIOF2_0),
628         PINMUX_IPSR_MSEL(IP2_23_20, HTX0_B, SEL_HSCIF0_1),
629         PINMUX_IPSR_GPSR(IP2_27_24, D12),
630         PINMUX_IPSR_MSEL(IP2_27_24, MSIOF2_SCK_A, SEL_MSIOF2_0),
631         PINMUX_IPSR_GPSR(IP2_27_24, HSCK0),
632         PINMUX_IPSR_MSEL(IP2_27_24, CAN_CLK_C, SEL_CANCLK_2),
633         PINMUX_IPSR_GPSR(IP2_31_28, D13),
634         PINMUX_IPSR_MSEL(IP2_31_28, MSIOF2_SYNC_A, SEL_MSIOF2_0),
635         PINMUX_IPSR_MSEL(IP2_31_28, RX4_C, SEL_SCIF4_2),
636
637         /* IPSR3 */
638         PINMUX_IPSR_GPSR(IP3_3_0, D14),
639         PINMUX_IPSR_GPSR(IP3_3_0, MSIOF2_SS1),
640         PINMUX_IPSR_MSEL(IP3_3_0, TX4_C, SEL_SCIF4_2),
641         PINMUX_IPSR_MSEL(IP3_3_0, CAN1_RX_B, SEL_CAN1_1),
642         PINMUX_IPSR_MSEL(IP3_3_0, AVB_AVTP_CAPTURE_A, SEL_AVB_0),
643         PINMUX_IPSR_GPSR(IP3_7_4, D15),
644         PINMUX_IPSR_GPSR(IP3_7_4, MSIOF2_SS2),
645         PINMUX_IPSR_GPSR(IP3_7_4, PWM4_A),
646         PINMUX_IPSR_MSEL(IP3_7_4, CAN1_TX_B, SEL_CAN1_1),
647         PINMUX_IPSR_GPSR(IP3_7_4, IRQ2),
648         PINMUX_IPSR_MSEL(IP3_7_4, AVB_AVTP_MATCH_A, SEL_AVB_0),
649         PINMUX_IPSR_GPSR(IP3_11_8, QSPI0_SPCLK),
650         PINMUX_IPSR_GPSR(IP3_11_8, WE0_N),
651         PINMUX_IPSR_GPSR(IP3_15_12, QSPI0_MOSI_QSPI0_IO0),
652         PINMUX_IPSR_GPSR(IP3_15_12, BS_N),
653         PINMUX_IPSR_GPSR(IP3_19_16, QSPI0_MISO_QSPI0_IO1),
654         PINMUX_IPSR_GPSR(IP3_19_16, RD_WR_N),
655         PINMUX_IPSR_GPSR(IP3_23_20, QSPI0_IO2),
656         PINMUX_IPSR_GPSR(IP3_23_20, CS0_N),
657         PINMUX_IPSR_GPSR(IP3_27_24, QSPI0_IO3),
658         PINMUX_IPSR_GPSR(IP3_27_24, RD_N),
659         PINMUX_IPSR_GPSR(IP3_31_28, QSPI0_SSL),
660         PINMUX_IPSR_GPSR(IP3_31_28, WE1_N),
661
662         /* IPSR4 */
663         PINMUX_IPSR_GPSR(IP4_3_0, EX_WAIT0),
664         PINMUX_IPSR_MSEL(IP4_3_0, CAN_CLK_B, SEL_CANCLK_1),
665         PINMUX_IPSR_MSEL(IP4_3_0, SCIF_CLK_A, SEL_SCIFCLK_0),
666         PINMUX_IPSR_GPSR(IP4_7_4, DU0_DR0),
667         PINMUX_IPSR_MSEL(IP4_7_4, RX5_C, SEL_SCIF5_2),
668         PINMUX_IPSR_MSEL(IP4_7_4, SCL2_D, SEL_I2C02_3),
669         PINMUX_IPSR_GPSR(IP4_7_4, A0),
670         PINMUX_IPSR_GPSR(IP4_11_8, DU0_DR1),
671         PINMUX_IPSR_MSEL(IP4_11_8, TX5_C, SEL_SCIF5_2),
672         PINMUX_IPSR_MSEL(IP4_11_8, SDA2_D, SEL_I2C02_3),
673         PINMUX_IPSR_GPSR(IP4_11_8, A1),
674         PINMUX_IPSR_GPSR(IP4_15_12, DU0_DR2),
675         PINMUX_IPSR_MSEL(IP4_15_12, RX0_D, SEL_SCIF0_3),
676         PINMUX_IPSR_MSEL(IP4_15_12, SCL0_E, SEL_I2C00_4),
677         PINMUX_IPSR_GPSR(IP4_15_12, A2),
678         PINMUX_IPSR_GPSR(IP4_19_16, DU0_DR3),
679         PINMUX_IPSR_MSEL(IP4_19_16, TX0_D, SEL_SCIF0_3),
680         PINMUX_IPSR_MSEL(IP4_19_16, SDA0_E, SEL_I2C00_4),
681         PINMUX_IPSR_GPSR(IP4_19_16, PWM0_B),
682         PINMUX_IPSR_GPSR(IP4_19_16, A3),
683         PINMUX_IPSR_GPSR(IP4_23_20, DU0_DR4),
684         PINMUX_IPSR_MSEL(IP4_23_20, RX1_D, SEL_SCIF1_3),
685         PINMUX_IPSR_GPSR(IP4_23_20, A4),
686         PINMUX_IPSR_GPSR(IP4_27_24, DU0_DR5),
687         PINMUX_IPSR_MSEL(IP4_27_24, TX1_D, SEL_SCIF1_3),
688         PINMUX_IPSR_GPSR(IP4_27_24, PWM1_B),
689         PINMUX_IPSR_GPSR(IP4_27_24, A5),
690         PINMUX_IPSR_GPSR(IP4_31_28, DU0_DR6),
691         PINMUX_IPSR_MSEL(IP4_31_28, RX2_C, SEL_SCIF2_2),
692         PINMUX_IPSR_GPSR(IP4_31_28, A6),
693
694         /* IPSR5 */
695         PINMUX_IPSR_GPSR(IP5_3_0, DU0_DR7),
696         PINMUX_IPSR_MSEL(IP5_3_0, TX2_C, SEL_SCIF2_2),
697         PINMUX_IPSR_GPSR(IP5_3_0, PWM2_B),
698         PINMUX_IPSR_GPSR(IP5_3_0, A7),
699         PINMUX_IPSR_GPSR(IP5_7_4, DU0_DG0),
700         PINMUX_IPSR_MSEL(IP5_7_4, RX3_B, SEL_SCIF3_1),
701         PINMUX_IPSR_MSEL(IP5_7_4, SCL3_D, SEL_I2C03_3),
702         PINMUX_IPSR_GPSR(IP5_7_4, A8),
703         PINMUX_IPSR_GPSR(IP5_11_8, DU0_DG1),
704         PINMUX_IPSR_MSEL(IP5_11_8, TX3_B, SEL_SCIF3_1),
705         PINMUX_IPSR_MSEL(IP5_11_8, SDA3_D, SEL_I2C03_3),
706         PINMUX_IPSR_GPSR(IP5_11_8, PWM3_B),
707         PINMUX_IPSR_GPSR(IP5_11_8, A9),
708         PINMUX_IPSR_GPSR(IP5_15_12, DU0_DG2),
709         PINMUX_IPSR_MSEL(IP5_15_12, RX4_D, SEL_SCIF4_3),
710         PINMUX_IPSR_GPSR(IP5_15_12, A10),
711         PINMUX_IPSR_GPSR(IP5_19_16, DU0_DG3),
712         PINMUX_IPSR_MSEL(IP5_19_16, TX4_D, SEL_SCIF4_3),
713         PINMUX_IPSR_GPSR(IP5_19_16, PWM4_B),
714         PINMUX_IPSR_GPSR(IP5_19_16, A11),
715         PINMUX_IPSR_GPSR(IP5_23_20, DU0_DG4),
716         PINMUX_IPSR_MSEL(IP5_23_20, HRX0_A, SEL_HSCIF0_0),
717         PINMUX_IPSR_GPSR(IP5_23_20, A12),
718         PINMUX_IPSR_GPSR(IP5_27_24, DU0_DG5),
719         PINMUX_IPSR_MSEL(IP5_27_24, HTX0_A, SEL_HSCIF0_0),
720         PINMUX_IPSR_GPSR(IP5_27_24, PWM5_B),
721         PINMUX_IPSR_GPSR(IP5_27_24, A13),
722         PINMUX_IPSR_GPSR(IP5_31_28, DU0_DG6),
723         PINMUX_IPSR_MSEL(IP5_31_28, HRX1_C, SEL_HSCIF1_2),
724         PINMUX_IPSR_GPSR(IP5_31_28, A14),
725
726         /* IPSR6 */
727         PINMUX_IPSR_GPSR(IP6_3_0, DU0_DG7),
728         PINMUX_IPSR_MSEL(IP6_3_0, HTX1_C, SEL_HSCIF1_2),
729         PINMUX_IPSR_GPSR(IP6_3_0, PWM6_B),
730         PINMUX_IPSR_GPSR(IP6_3_0, A15),
731         PINMUX_IPSR_GPSR(IP6_7_4, DU0_DB0),
732         PINMUX_IPSR_MSEL(IP6_7_4, SCL4_D, SEL_I2C04_3),
733         PINMUX_IPSR_MSEL(IP6_7_4, CAN0_RX_C, SEL_CAN0_2),
734         PINMUX_IPSR_GPSR(IP6_7_4, A16),
735         PINMUX_IPSR_GPSR(IP6_11_8, DU0_DB1),
736         PINMUX_IPSR_MSEL(IP6_11_8, SDA4_D, SEL_I2C04_3),
737         PINMUX_IPSR_MSEL(IP6_11_8, CAN0_TX_C, SEL_CAN0_2),
738         PINMUX_IPSR_GPSR(IP6_11_8, A17),
739         PINMUX_IPSR_GPSR(IP6_15_12, DU0_DB2),
740         PINMUX_IPSR_GPSR(IP6_15_12, HCTS0_N),
741         PINMUX_IPSR_GPSR(IP6_15_12, A18),
742         PINMUX_IPSR_GPSR(IP6_19_16, DU0_DB3),
743         PINMUX_IPSR_GPSR(IP6_19_16, HRTS0_N),
744         PINMUX_IPSR_GPSR(IP6_19_16, A19),
745         PINMUX_IPSR_GPSR(IP6_23_20, DU0_DB4),
746         PINMUX_IPSR_MSEL(IP6_23_20, HCTS1_N_C, SEL_HSCIF1_2),
747         PINMUX_IPSR_GPSR(IP6_23_20, A20),
748         PINMUX_IPSR_GPSR(IP6_27_24, DU0_DB5),
749         PINMUX_IPSR_MSEL(IP6_27_24, HRTS1_N_C, SEL_HSCIF1_2),
750         PINMUX_IPSR_GPSR(IP6_27_24, A21),
751         PINMUX_IPSR_GPSR(IP6_31_28, DU0_DB6),
752         PINMUX_IPSR_GPSR(IP6_31_28, A22),
753
754         /* IPSR7 */
755         PINMUX_IPSR_GPSR(IP7_3_0, DU0_DB7),
756         PINMUX_IPSR_GPSR(IP7_3_0, A23),
757         PINMUX_IPSR_GPSR(IP7_7_4, DU0_DOTCLKIN),
758         PINMUX_IPSR_GPSR(IP7_7_4, A24),
759         PINMUX_IPSR_GPSR(IP7_11_8, DU0_DOTCLKOUT0),
760         PINMUX_IPSR_GPSR(IP7_11_8, A25),
761         PINMUX_IPSR_GPSR(IP7_15_12, DU0_DOTCLKOUT1),
762         PINMUX_IPSR_MSEL(IP7_15_12, MSIOF2_RXD_B, SEL_MSIOF2_1),
763         PINMUX_IPSR_GPSR(IP7_15_12, CS1_N_A26),
764         PINMUX_IPSR_GPSR(IP7_19_16, DU0_EXHSYNC_DU0_HSYNC),
765         PINMUX_IPSR_MSEL(IP7_19_16, MSIOF2_TXD_B, SEL_MSIOF2_1),
766         PINMUX_IPSR_GPSR(IP7_19_16, DREQ0_N),
767         PINMUX_IPSR_GPSR(IP7_23_20, DU0_EXVSYNC_DU0_VSYNC),
768         PINMUX_IPSR_MSEL(IP7_23_20, MSIOF2_SYNC_B, SEL_MSIOF2_1),
769         PINMUX_IPSR_GPSR(IP7_23_20, DACK0),
770         PINMUX_IPSR_GPSR(IP7_27_24, DU0_EXODDF_DU0_ODDF_DISP_CDE),
771         PINMUX_IPSR_MSEL(IP7_27_24, MSIOF2_SCK_B, SEL_MSIOF2_1),
772         PINMUX_IPSR_GPSR(IP7_27_24, DRACK0),
773         PINMUX_IPSR_GPSR(IP7_31_28, DU0_DISP),
774         PINMUX_IPSR_MSEL(IP7_31_28, CAN1_RX_C, SEL_CAN1_2),
775
776         /* IPSR8 */
777         PINMUX_IPSR_GPSR(IP8_3_0, DU0_CDE),
778         PINMUX_IPSR_MSEL(IP8_3_0, CAN1_TX_C, SEL_CAN1_2),
779         PINMUX_IPSR_GPSR(IP8_7_4, VI1_CLK),
780         PINMUX_IPSR_GPSR(IP8_7_4, AVB_RX_CLK),
781         PINMUX_IPSR_GPSR(IP8_7_4, ETH_REF_CLK),
782         PINMUX_IPSR_GPSR(IP8_11_8, VI1_DATA0),
783         PINMUX_IPSR_GPSR(IP8_11_8, AVB_RX_DV),
784         PINMUX_IPSR_GPSR(IP8_11_8, ETH_CRS_DV),
785         PINMUX_IPSR_GPSR(IP8_15_12, VI1_DATA1),
786         PINMUX_IPSR_GPSR(IP8_15_12, AVB_RXD0),
787         PINMUX_IPSR_GPSR(IP8_15_12, ETH_RXD0),
788         PINMUX_IPSR_GPSR(IP8_19_16, VI1_DATA2),
789         PINMUX_IPSR_GPSR(IP8_19_16, AVB_RXD1),
790         PINMUX_IPSR_GPSR(IP8_19_16, ETH_RXD1),
791         PINMUX_IPSR_GPSR(IP8_23_20, VI1_DATA3),
792         PINMUX_IPSR_GPSR(IP8_23_20, AVB_RXD2),
793         PINMUX_IPSR_GPSR(IP8_23_20, ETH_MDIO),
794         PINMUX_IPSR_GPSR(IP8_27_24, VI1_DATA4),
795         PINMUX_IPSR_GPSR(IP8_27_24, AVB_RXD3),
796         PINMUX_IPSR_GPSR(IP8_27_24, ETH_RX_ER),
797         PINMUX_IPSR_GPSR(IP8_31_28, VI1_DATA5),
798         PINMUX_IPSR_GPSR(IP8_31_28, AVB_RXD4),
799         PINMUX_IPSR_GPSR(IP8_31_28, ETH_LINK),
800
801         /* IPSR9 */
802         PINMUX_IPSR_GPSR(IP9_3_0, VI1_DATA6),
803         PINMUX_IPSR_GPSR(IP9_3_0, AVB_RXD5),
804         PINMUX_IPSR_GPSR(IP9_3_0, ETH_TXD1),
805         PINMUX_IPSR_GPSR(IP9_7_4, VI1_DATA7),
806         PINMUX_IPSR_GPSR(IP9_7_4, AVB_RXD6),
807         PINMUX_IPSR_GPSR(IP9_7_4, ETH_TX_EN),
808         PINMUX_IPSR_GPSR(IP9_11_8, VI1_CLKENB),
809         PINMUX_IPSR_MSEL(IP9_11_8, SCL3_A, SEL_I2C03_0),
810         PINMUX_IPSR_GPSR(IP9_11_8, AVB_RXD7),
811         PINMUX_IPSR_GPSR(IP9_11_8, ETH_MAGIC),
812         PINMUX_IPSR_GPSR(IP9_15_12, VI1_FIELD),
813         PINMUX_IPSR_MSEL(IP9_15_12, SDA3_A, SEL_I2C03_0),
814         PINMUX_IPSR_GPSR(IP9_15_12, AVB_RX_ER),
815         PINMUX_IPSR_GPSR(IP9_15_12, ETH_TXD0),
816         PINMUX_IPSR_GPSR(IP9_19_16, VI1_HSYNC_N),
817         PINMUX_IPSR_MSEL(IP9_19_16, RX0_B, SEL_SCIF0_1),
818         PINMUX_IPSR_MSEL(IP9_19_16, SCL0_C, SEL_I2C00_2),
819         PINMUX_IPSR_GPSR(IP9_19_16, AVB_GTXREFCLK),
820         PINMUX_IPSR_GPSR(IP9_19_16, ETH_MDC),
821         PINMUX_IPSR_GPSR(IP9_23_20, VI1_VSYNC_N),
822         PINMUX_IPSR_MSEL(IP9_23_20, TX0_B, SEL_SCIF0_1),
823         PINMUX_IPSR_MSEL(IP9_23_20, SDA0_C, SEL_I2C00_2),
824         PINMUX_IPSR_GPSR(IP9_23_20, AUDIO_CLKOUT_B),
825         PINMUX_IPSR_GPSR(IP9_23_20, AVB_TX_CLK),
826         PINMUX_IPSR_GPSR(IP9_27_24, VI1_DATA8),
827         PINMUX_IPSR_MSEL(IP9_27_24, SCL2_B, SEL_I2C02_1),
828         PINMUX_IPSR_GPSR(IP9_27_24, AVB_TX_EN),
829         PINMUX_IPSR_GPSR(IP9_31_28, VI1_DATA9),
830         PINMUX_IPSR_MSEL(IP9_31_28, SDA2_B, SEL_I2C02_1),
831         PINMUX_IPSR_GPSR(IP9_31_28, AVB_TXD0),
832
833         /* IPSR10 */
834         PINMUX_IPSR_GPSR(IP10_3_0, VI1_DATA10),
835         PINMUX_IPSR_MSEL(IP10_3_0, CAN0_RX_B, SEL_CAN0_1),
836         PINMUX_IPSR_GPSR(IP10_3_0, AVB_TXD1),
837         PINMUX_IPSR_GPSR(IP10_7_4, VI1_DATA11),
838         PINMUX_IPSR_MSEL(IP10_7_4, CAN0_TX_B, SEL_CAN0_1),
839         PINMUX_IPSR_GPSR(IP10_7_4, AVB_TXD2),
840         PINMUX_IPSR_GPSR(IP10_11_8, AVB_TXD3),
841         PINMUX_IPSR_MSEL(IP10_11_8, AUDIO_CLKA_B, SEL_ADGA_1),
842         PINMUX_IPSR_MSEL(IP10_11_8, SSI_SCK1_D, SEL_SSI1_3),
843         PINMUX_IPSR_MSEL(IP10_11_8, RX5_F, SEL_SCIF5_5),
844         PINMUX_IPSR_MSEL(IP10_11_8, MSIOF0_RXD_B, SEL_MSIOF0_1),
845         PINMUX_IPSR_GPSR(IP10_15_12, AVB_TXD4),
846         PINMUX_IPSR_MSEL(IP10_15_12, AUDIO_CLKB_B, SEL_ADGB_1),
847         PINMUX_IPSR_MSEL(IP10_15_12, SSI_WS1_D, SEL_SSI1_3),
848         PINMUX_IPSR_MSEL(IP10_15_12, TX5_F, SEL_SCIF5_5),
849         PINMUX_IPSR_MSEL(IP10_15_12, MSIOF0_TXD_B, SEL_MSIOF0_1),
850         PINMUX_IPSR_GPSR(IP10_19_16, AVB_TXD5),
851         PINMUX_IPSR_MSEL(IP10_19_16, SCIF_CLK_B, SEL_SCIFCLK_1),
852         PINMUX_IPSR_MSEL(IP10_19_16, AUDIO_CLKC_B, SEL_ADGC_1),
853         PINMUX_IPSR_MSEL(IP10_19_16, SSI_SDATA1_D, SEL_SSI1_3),
854         PINMUX_IPSR_MSEL(IP10_19_16, MSIOF0_SCK_B, SEL_MSIOF0_1),
855         PINMUX_IPSR_MSEL(IP10_23_20, SCL0_A, SEL_I2C00_0),
856         PINMUX_IPSR_MSEL(IP10_23_20, RX0_C, SEL_SCIF0_2),
857         PINMUX_IPSR_GPSR(IP10_23_20, PWM5_A),
858         PINMUX_IPSR_MSEL(IP10_23_20, TCLK1_B, SEL_TMU1_1),
859         PINMUX_IPSR_GPSR(IP10_23_20, AVB_TXD6),
860         PINMUX_IPSR_MSEL(IP10_23_20, CAN1_RX_D, SEL_CAN1_3),
861         PINMUX_IPSR_MSEL(IP10_23_20, MSIOF0_SYNC_B, SEL_MSIOF0_1),
862         PINMUX_IPSR_MSEL(IP10_27_24, SDA0_A, SEL_I2C00_0),
863         PINMUX_IPSR_MSEL(IP10_27_24, TX0_C, SEL_SCIF0_2),
864         PINMUX_IPSR_GPSR(IP10_27_24, IRQ5),
865         PINMUX_IPSR_MSEL(IP10_27_24, CAN_CLK_A, SEL_CANCLK_0),
866         PINMUX_IPSR_GPSR(IP10_27_24, AVB_GTX_CLK),
867         PINMUX_IPSR_MSEL(IP10_27_24, CAN1_TX_D, SEL_CAN1_3),
868         PINMUX_IPSR_GPSR(IP10_27_24, DVC_MUTE),
869         PINMUX_IPSR_MSEL(IP10_31_28, SCL1_A, SEL_I2C01_0),
870         PINMUX_IPSR_MSEL(IP10_31_28, RX4_A, SEL_SCIF4_0),
871         PINMUX_IPSR_GPSR(IP10_31_28, PWM5_D),
872         PINMUX_IPSR_GPSR(IP10_31_28, DU1_DR0),
873         PINMUX_IPSR_MSEL(IP10_31_28, SSI_SCK6_B, SEL_SSI6_1),
874         PINMUX_IPSR_GPSR(IP10_31_28, VI0_G0),
875
876         /* IPSR11 */
877         PINMUX_IPSR_MSEL(IP11_3_0, SDA1_A, SEL_I2C01_0),
878         PINMUX_IPSR_MSEL(IP11_3_0, TX4_A, SEL_SCIF4_0),
879         PINMUX_IPSR_GPSR(IP11_3_0, DU1_DR1),
880         PINMUX_IPSR_MSEL(IP11_3_0, SSI_WS6_B, SEL_SSI6_1),
881         PINMUX_IPSR_GPSR(IP11_3_0, VI0_G1),
882         PINMUX_IPSR_MSEL(IP11_7_4, MSIOF0_RXD_A, SEL_MSIOF0_0),
883         PINMUX_IPSR_MSEL(IP11_7_4, RX5_A, SEL_SCIF5_0),
884         PINMUX_IPSR_MSEL(IP11_7_4, SCL2_C, SEL_I2C02_2),
885         PINMUX_IPSR_GPSR(IP11_7_4, DU1_DR2),
886         PINMUX_IPSR_GPSR(IP11_7_4, QSPI1_MOSI_QSPI1_IO0),
887         PINMUX_IPSR_MSEL(IP11_7_4, SSI_SDATA6_B, SEL_SSI6_1),
888         PINMUX_IPSR_GPSR(IP11_7_4, VI0_G2),
889         PINMUX_IPSR_MSEL(IP11_11_8, MSIOF0_TXD_A, SEL_MSIOF0_0),
890         PINMUX_IPSR_MSEL(IP11_11_8, TX5_A, SEL_SCIF5_0),
891         PINMUX_IPSR_MSEL(IP11_11_8, SDA2_C, SEL_I2C02_2),
892         PINMUX_IPSR_GPSR(IP11_11_8, DU1_DR3),
893         PINMUX_IPSR_GPSR(IP11_11_8, QSPI1_MISO_QSPI1_IO1),
894         PINMUX_IPSR_MSEL(IP11_11_8, SSI_WS78_B, SEL_SSI7_1),
895         PINMUX_IPSR_GPSR(IP11_11_8, VI0_G3),
896         PINMUX_IPSR_MSEL(IP11_15_12, MSIOF0_SCK_A, SEL_MSIOF0_0),
897         PINMUX_IPSR_GPSR(IP11_15_12, IRQ0),
898         PINMUX_IPSR_GPSR(IP11_15_12, DU1_DR4),
899         PINMUX_IPSR_GPSR(IP11_15_12, QSPI1_SPCLK),
900         PINMUX_IPSR_MSEL(IP11_15_12, SSI_SCK78_B, SEL_SSI7_1),
901         PINMUX_IPSR_GPSR(IP11_15_12, VI0_G4),
902         PINMUX_IPSR_MSEL(IP11_19_16, MSIOF0_SYNC_A, SEL_MSIOF0_0),
903         PINMUX_IPSR_GPSR(IP11_19_16, PWM1_A),
904         PINMUX_IPSR_GPSR(IP11_19_16, DU1_DR5),
905         PINMUX_IPSR_GPSR(IP11_19_16, QSPI1_IO2),
906         PINMUX_IPSR_MSEL(IP11_19_16, SSI_SDATA7_B, SEL_SSI7_1),
907         PINMUX_IPSR_MSEL(IP11_23_20, MSIOF0_SS1_A, SEL_MSIOF0_0),
908         PINMUX_IPSR_GPSR(IP11_23_20, DU1_DR6),
909         PINMUX_IPSR_GPSR(IP11_23_20, QSPI1_IO3),
910         PINMUX_IPSR_MSEL(IP11_23_20, SSI_SDATA8_B, SEL_SSI8_1),
911         PINMUX_IPSR_MSEL(IP11_27_24, MSIOF0_SS2_A, SEL_MSIOF0_0),
912         PINMUX_IPSR_GPSR(IP11_27_24, DU1_DR7),
913         PINMUX_IPSR_GPSR(IP11_27_24, QSPI1_SSL),
914         PINMUX_IPSR_MSEL(IP11_31_28, HRX1_A, SEL_HSCIF1_0),
915         PINMUX_IPSR_MSEL(IP11_31_28, SCL4_A, SEL_I2C04_0),
916         PINMUX_IPSR_GPSR(IP11_31_28, PWM6_A),
917         PINMUX_IPSR_GPSR(IP11_31_28, DU1_DG0),
918         PINMUX_IPSR_MSEL(IP11_31_28, RX0_A, SEL_SCIF0_0),
919
920         /* IPSR12 */
921         PINMUX_IPSR_MSEL(IP12_3_0, HTX1_A, SEL_HSCIF1_0),
922         PINMUX_IPSR_MSEL(IP12_3_0, SDA4_A, SEL_I2C04_0),
923         PINMUX_IPSR_GPSR(IP12_3_0, DU1_DG1),
924         PINMUX_IPSR_MSEL(IP12_3_0, TX0_A, SEL_SCIF0_0),
925         PINMUX_IPSR_MSEL(IP12_7_4, HCTS1_N_A, SEL_HSCIF1_0),
926         PINMUX_IPSR_GPSR(IP12_7_4, PWM2_A),
927         PINMUX_IPSR_GPSR(IP12_7_4, DU1_DG2),
928         PINMUX_IPSR_MSEL(IP12_7_4, REMOCON_B, SEL_RCN_1),
929         PINMUX_IPSR_MSEL(IP12_11_8, HRTS1_N_A, SEL_HSCIF1_0),
930         PINMUX_IPSR_GPSR(IP12_11_8, DU1_DG3),
931         PINMUX_IPSR_MSEL(IP12_11_8, SSI_WS1_B, SEL_SSI1_1),
932         PINMUX_IPSR_GPSR(IP12_11_8, IRQ1),
933         PINMUX_IPSR_GPSR(IP12_15_12, SD2_CLK),
934         PINMUX_IPSR_GPSR(IP12_15_12, HSCK1),
935         PINMUX_IPSR_GPSR(IP12_15_12, DU1_DG4),
936         PINMUX_IPSR_MSEL(IP12_15_12, SSI_SCK1_B, SEL_SSI1_1),
937         PINMUX_IPSR_GPSR(IP12_19_16, SD2_CMD),
938         PINMUX_IPSR_MSEL(IP12_19_16, SCIF1_SCK_A, SEL_SCIF1_0),
939         PINMUX_IPSR_MSEL(IP12_19_16, TCLK2_A, SEL_TMU2_0),
940         PINMUX_IPSR_GPSR(IP12_19_16, DU1_DG5),
941         PINMUX_IPSR_MSEL(IP12_19_16, SSI_SCK2_B, SEL_SSI2_1),
942         PINMUX_IPSR_GPSR(IP12_19_16, PWM3_A),
943         PINMUX_IPSR_GPSR(IP12_23_20, SD2_DAT0),
944         PINMUX_IPSR_MSEL(IP12_23_20, RX1_A, SEL_SCIF1_0),
945         PINMUX_IPSR_MSEL(IP12_23_20, SCL1_E, SEL_I2C01_4),
946         PINMUX_IPSR_GPSR(IP12_23_20, DU1_DG6),
947         PINMUX_IPSR_MSEL(IP12_23_20, SSI_SDATA1_B, SEL_SSI1_1),
948         PINMUX_IPSR_GPSR(IP12_27_24, SD2_DAT1),
949         PINMUX_IPSR_MSEL(IP12_27_24, TX1_A, SEL_SCIF1_0),
950         PINMUX_IPSR_MSEL(IP12_27_24, SDA1_E, SEL_I2C01_4),
951         PINMUX_IPSR_GPSR(IP12_27_24, DU1_DG7),
952         PINMUX_IPSR_MSEL(IP12_27_24, SSI_WS2_B, SEL_SSI2_1),
953         PINMUX_IPSR_GPSR(IP12_31_28, SD2_DAT2),
954         PINMUX_IPSR_MSEL(IP12_31_28, RX2_A, SEL_SCIF2_0),
955         PINMUX_IPSR_GPSR(IP12_31_28, DU1_DB0),
956         PINMUX_IPSR_MSEL(IP12_31_28, SSI_SDATA2_B, SEL_SSI2_1),
957
958         /* IPSR13 */
959         PINMUX_IPSR_GPSR(IP13_3_0, SD2_DAT3),
960         PINMUX_IPSR_MSEL(IP13_3_0, TX2_A, SEL_SCIF2_0),
961         PINMUX_IPSR_GPSR(IP13_3_0, DU1_DB1),
962         PINMUX_IPSR_MSEL(IP13_3_0, SSI_WS9_B, SEL_SSI9_1),
963         PINMUX_IPSR_GPSR(IP13_7_4, SD2_CD),
964         PINMUX_IPSR_MSEL(IP13_7_4, SCIF2_SCK_A, SEL_SCIF2_CLK_0),
965         PINMUX_IPSR_GPSR(IP13_7_4, DU1_DB2),
966         PINMUX_IPSR_MSEL(IP13_7_4, SSI_SCK9_B, SEL_SSI9_1),
967         PINMUX_IPSR_GPSR(IP13_11_8, SD2_WP),
968         PINMUX_IPSR_GPSR(IP13_11_8, SCIF3_SCK),
969         PINMUX_IPSR_GPSR(IP13_11_8, DU1_DB3),
970         PINMUX_IPSR_MSEL(IP13_11_8, SSI_SDATA9_B, SEL_SSI9_1),
971         PINMUX_IPSR_MSEL(IP13_15_12, RX3_A, SEL_SCIF3_0),
972         PINMUX_IPSR_MSEL(IP13_15_12, SCL1_C, SEL_I2C01_2),
973         PINMUX_IPSR_MSEL(IP13_15_12, MSIOF1_RXD_B, SEL_MSIOF1_1),
974         PINMUX_IPSR_GPSR(IP13_15_12, DU1_DB4),
975         PINMUX_IPSR_MSEL(IP13_15_12, AUDIO_CLKA_C, SEL_ADGA_2),
976         PINMUX_IPSR_MSEL(IP13_15_12, SSI_SDATA4_B, SEL_SSI4_1),
977         PINMUX_IPSR_MSEL(IP13_19_16, TX3_A, SEL_SCIF3_0),
978         PINMUX_IPSR_MSEL(IP13_19_16, SDA1_C, SEL_I2C01_2),
979         PINMUX_IPSR_MSEL(IP13_19_16, MSIOF1_TXD_B, SEL_MSIOF1_1),
980         PINMUX_IPSR_GPSR(IP13_19_16, DU1_DB5),
981         PINMUX_IPSR_MSEL(IP13_19_16, AUDIO_CLKB_C, SEL_ADGB_2),
982         PINMUX_IPSR_MSEL(IP13_19_16, SSI_WS4_B, SEL_SSI4_1),
983         PINMUX_IPSR_MSEL(IP13_23_20, SCL2_A, SEL_I2C02_0),
984         PINMUX_IPSR_MSEL(IP13_23_20, MSIOF1_SCK_B, SEL_MSIOF1_1),
985         PINMUX_IPSR_GPSR(IP13_23_20, DU1_DB6),
986         PINMUX_IPSR_MSEL(IP13_23_20, AUDIO_CLKC_C, SEL_ADGC_2),
987         PINMUX_IPSR_MSEL(IP13_23_20, SSI_SCK4_B, SEL_SSI4_1),
988         PINMUX_IPSR_MSEL(IP13_27_24, SDA2_A, SEL_I2C02_0),
989         PINMUX_IPSR_MSEL(IP13_27_24, MSIOF1_SYNC_B, SEL_MSIOF1_1),
990         PINMUX_IPSR_GPSR(IP13_27_24, DU1_DB7),
991         PINMUX_IPSR_GPSR(IP13_27_24, AUDIO_CLKOUT_C),
992         PINMUX_IPSR_MSEL(IP13_31_28, SSI_SCK5_A, SEL_SSI5_0),
993         PINMUX_IPSR_GPSR(IP13_31_28, DU1_DOTCLKOUT1),
994
995         /* IPSR14 */
996         PINMUX_IPSR_MSEL(IP14_3_0, SSI_WS5_A, SEL_SSI5_0),
997         PINMUX_IPSR_MSEL(IP14_3_0, SCL3_C, SEL_I2C03_2),
998         PINMUX_IPSR_GPSR(IP14_3_0, DU1_DOTCLKIN),
999         PINMUX_IPSR_MSEL(IP14_7_4, SSI_SDATA5_A, SEL_SSI5_0),
1000         PINMUX_IPSR_MSEL(IP14_7_4, SDA3_C, SEL_I2C03_2),
1001         PINMUX_IPSR_GPSR(IP14_7_4, DU1_DOTCLKOUT0),
1002         PINMUX_IPSR_MSEL(IP14_11_8, SSI_SCK6_A, SEL_SSI6_0),
1003         PINMUX_IPSR_GPSR(IP14_11_8, DU1_EXODDF_DU1_ODDF_DISP_CDE),
1004         PINMUX_IPSR_MSEL(IP14_15_12, SSI_WS6_A, SEL_SSI6_0),
1005         PINMUX_IPSR_MSEL(IP14_15_12, SCL4_C, SEL_I2C04_2),
1006         PINMUX_IPSR_GPSR(IP14_15_12, DU1_EXHSYNC_DU1_HSYNC),
1007         PINMUX_IPSR_MSEL(IP14_19_16, SSI_SDATA6_A, SEL_SSI6_0),
1008         PINMUX_IPSR_MSEL(IP14_19_16, SDA4_C, SEL_I2C04_2),
1009         PINMUX_IPSR_GPSR(IP14_19_16, DU1_EXVSYNC_DU1_VSYNC),
1010         PINMUX_IPSR_MSEL(IP14_23_20, SSI_SCK78_A, SEL_SSI7_0),
1011         PINMUX_IPSR_MSEL(IP14_23_20, SDA4_E, SEL_I2C04_4),
1012         PINMUX_IPSR_GPSR(IP14_23_20, DU1_DISP),
1013         PINMUX_IPSR_MSEL(IP14_27_24, SSI_WS78_A, SEL_SSI7_0),
1014         PINMUX_IPSR_MSEL(IP14_27_24, SCL4_E, SEL_I2C04_4),
1015         PINMUX_IPSR_GPSR(IP14_27_24, DU1_CDE),
1016         PINMUX_IPSR_MSEL(IP14_31_28, SSI_SDATA7_A, SEL_SSI7_0),
1017         PINMUX_IPSR_GPSR(IP14_31_28, IRQ8),
1018         PINMUX_IPSR_MSEL(IP14_31_28, AUDIO_CLKA_D, SEL_ADGA_3),
1019         PINMUX_IPSR_MSEL(IP14_31_28, CAN_CLK_D, SEL_CANCLK_3),
1020         PINMUX_IPSR_GPSR(IP14_31_28, VI0_G5),
1021
1022         /* IPSR15 */
1023         PINMUX_IPSR_MSEL(IP15_3_0, SSI_SCK0129_A, SEL_SSI0_0),
1024         PINMUX_IPSR_MSEL(IP15_3_0, MSIOF1_RXD_A, SEL_MSIOF1_0),
1025         PINMUX_IPSR_MSEL(IP15_3_0, RX5_D, SEL_SCIF5_3),
1026         PINMUX_IPSR_GPSR(IP15_3_0, VI0_G6),
1027         PINMUX_IPSR_MSEL(IP15_7_4, SSI_WS0129_A, SEL_SSI0_0),
1028         PINMUX_IPSR_MSEL(IP15_7_4, MSIOF1_TXD_A, SEL_MSIOF1_0),
1029         PINMUX_IPSR_MSEL(IP15_7_4, TX5_D, SEL_SCIF5_3),
1030         PINMUX_IPSR_GPSR(IP15_7_4, VI0_G7),
1031         PINMUX_IPSR_MSEL(IP15_11_8, SSI_SDATA0_A, SEL_SSI0_0),
1032         PINMUX_IPSR_MSEL(IP15_11_8, MSIOF1_SYNC_A, SEL_MSIOF1_0),
1033         PINMUX_IPSR_GPSR(IP15_11_8, PWM0_C),
1034         PINMUX_IPSR_GPSR(IP15_11_8, VI0_R0),
1035         PINMUX_IPSR_GPSR(IP15_15_12, SSI_SCK34),
1036         PINMUX_IPSR_MSEL(IP15_15_12, MSIOF1_SCK_A, SEL_MSIOF1_0),
1037         PINMUX_IPSR_GPSR(IP15_15_12, AVB_MDC),
1038         PINMUX_IPSR_GPSR(IP15_15_12, DACK1),
1039         PINMUX_IPSR_GPSR(IP15_15_12, VI0_R1),
1040         PINMUX_IPSR_GPSR(IP15_19_16, SSI_WS34),
1041         PINMUX_IPSR_MSEL(IP15_19_16, MSIOF1_SS1_A, SEL_MSIOF1_0),
1042         PINMUX_IPSR_GPSR(IP15_19_16, AVB_MDIO),
1043         PINMUX_IPSR_MSEL(IP15_19_16, CAN1_RX_A, SEL_CAN1_0),
1044         PINMUX_IPSR_GPSR(IP15_19_16, DREQ1_N),
1045         PINMUX_IPSR_GPSR(IP15_19_16, VI0_R2),
1046         PINMUX_IPSR_GPSR(IP15_23_20, SSI_SDATA3),
1047         PINMUX_IPSR_MSEL(IP15_23_20, MSIOF1_SS2_A, SEL_MSIOF1_0),
1048         PINMUX_IPSR_GPSR(IP15_23_20, AVB_LINK),
1049         PINMUX_IPSR_MSEL(IP15_23_20, CAN1_TX_A, SEL_CAN1_0),
1050         PINMUX_IPSR_GPSR(IP15_23_20, DREQ2_N),
1051         PINMUX_IPSR_GPSR(IP15_23_20, VI0_R3),
1052         PINMUX_IPSR_MSEL(IP15_27_24, SSI_SCK4_A, SEL_SSI4_0),
1053         PINMUX_IPSR_GPSR(IP15_27_24, AVB_MAGIC),
1054         PINMUX_IPSR_GPSR(IP15_27_24, VI0_R4),
1055         PINMUX_IPSR_MSEL(IP15_31_28, SSI_WS4_A, SEL_SSI4_0),
1056         PINMUX_IPSR_GPSR(IP15_31_28, AVB_PHY_INT),
1057         PINMUX_IPSR_GPSR(IP15_31_28, VI0_R5),
1058
1059         /* IPSR16 */
1060         PINMUX_IPSR_MSEL(IP16_3_0, SSI_SDATA4_A, SEL_SSI4_0),
1061         PINMUX_IPSR_GPSR(IP16_3_0, AVB_CRS),
1062         PINMUX_IPSR_GPSR(IP16_3_0, VI0_R6),
1063         PINMUX_IPSR_MSEL(IP16_7_4, SSI_SCK1_A, SEL_SSI1_0),
1064         PINMUX_IPSR_MSEL(IP16_7_4, SCIF1_SCK_B, SEL_SCIF1_1),
1065         PINMUX_IPSR_GPSR(IP16_7_4, PWM1_D),
1066         PINMUX_IPSR_GPSR(IP16_7_4, IRQ9),
1067         PINMUX_IPSR_MSEL(IP16_7_4, REMOCON_A, SEL_RCN_0),
1068         PINMUX_IPSR_GPSR(IP16_7_4, DACK2),
1069         PINMUX_IPSR_GPSR(IP16_7_4, VI0_CLK),
1070         PINMUX_IPSR_GPSR(IP16_7_4, AVB_COL),
1071         PINMUX_IPSR_MSEL(IP16_11_8, SSI_SDATA8_A, SEL_SSI8_0),
1072         PINMUX_IPSR_MSEL(IP16_11_8, RX1_B, SEL_SCIF1_1),
1073         PINMUX_IPSR_MSEL(IP16_11_8, CAN0_RX_D, SEL_CAN0_3),
1074         PINMUX_IPSR_MSEL(IP16_11_8, AVB_AVTP_CAPTURE_B, SEL_AVB_1),
1075         PINMUX_IPSR_GPSR(IP16_11_8, VI0_R7),
1076         PINMUX_IPSR_MSEL(IP16_15_12, SSI_WS1_A, SEL_SSI1_0),
1077         PINMUX_IPSR_MSEL(IP16_15_12, TX1_B, SEL_SCIF1_1),
1078         PINMUX_IPSR_MSEL(IP16_15_12, CAN0_TX_D, SEL_CAN0_3),
1079         PINMUX_IPSR_MSEL(IP16_15_12, AVB_AVTP_MATCH_B, SEL_AVB_1),
1080         PINMUX_IPSR_GPSR(IP16_15_12, VI0_DATA0_VI0_B0),
1081         PINMUX_IPSR_MSEL(IP16_19_16, SSI_SDATA1_A, SEL_SSI1_0),
1082         PINMUX_IPSR_MSEL(IP16_19_16, HRX1_B, SEL_HSCIF1_1),
1083         PINMUX_IPSR_GPSR(IP16_19_16, VI0_DATA1_VI0_B1),
1084         PINMUX_IPSR_MSEL(IP16_23_20, SSI_SCK2_A, SEL_SSI2_0),
1085         PINMUX_IPSR_MSEL(IP16_23_20, HTX1_B, SEL_HSCIF1_1),
1086         PINMUX_IPSR_GPSR(IP16_23_20, AVB_TXD7),
1087         PINMUX_IPSR_GPSR(IP16_23_20, VI0_DATA2_VI0_B2),
1088         PINMUX_IPSR_MSEL(IP16_27_24, SSI_WS2_A, SEL_SSI2_0),
1089         PINMUX_IPSR_MSEL(IP16_27_24, HCTS1_N_B, SEL_HSCIF1_1),
1090         PINMUX_IPSR_GPSR(IP16_27_24, AVB_TX_ER),
1091         PINMUX_IPSR_GPSR(IP16_27_24, VI0_DATA3_VI0_B3),
1092         PINMUX_IPSR_MSEL(IP16_31_28, SSI_SDATA2_A, SEL_SSI2_0),
1093         PINMUX_IPSR_MSEL(IP16_31_28, HRTS1_N_B, SEL_HSCIF1_1),
1094         PINMUX_IPSR_GPSR(IP16_31_28, VI0_DATA4_VI0_B4),
1095
1096         /* IPSR17 */
1097         PINMUX_IPSR_MSEL(IP17_3_0, SSI_SCK9_A, SEL_SSI9_0),
1098         PINMUX_IPSR_MSEL(IP17_3_0, RX2_B, SEL_SCIF2_1),
1099         PINMUX_IPSR_MSEL(IP17_3_0, SCL3_E, SEL_I2C03_4),
1100         PINMUX_IPSR_GPSR(IP17_3_0, EX_WAIT1),
1101         PINMUX_IPSR_GPSR(IP17_3_0, VI0_DATA5_VI0_B5),
1102         PINMUX_IPSR_MSEL(IP17_7_4, SSI_WS9_A, SEL_SSI9_0),
1103         PINMUX_IPSR_MSEL(IP17_7_4, TX2_B, SEL_SCIF2_1),
1104         PINMUX_IPSR_MSEL(IP17_7_4, SDA3_E, SEL_I2C03_4),
1105         PINMUX_IPSR_GPSR(IP17_7_4, VI0_DATA6_VI0_B6),
1106         PINMUX_IPSR_MSEL(IP17_11_8, SSI_SDATA9_A, SEL_SSI9_0),
1107         PINMUX_IPSR_GPSR(IP17_11_8, SCIF2_SCK_B),
1108         PINMUX_IPSR_GPSR(IP17_11_8, PWM2_D),
1109         PINMUX_IPSR_GPSR(IP17_11_8, VI0_DATA7_VI0_B7),
1110         PINMUX_IPSR_MSEL(IP17_15_12, AUDIO_CLKA_A, SEL_ADGA_0),
1111         PINMUX_IPSR_MSEL(IP17_15_12, SCL0_B, SEL_I2C00_1),
1112         PINMUX_IPSR_GPSR(IP17_15_12, VI0_CLKENB),
1113         PINMUX_IPSR_MSEL(IP17_19_16, AUDIO_CLKB_A, SEL_ADGB_0),
1114         PINMUX_IPSR_MSEL(IP17_19_16, SDA0_B, SEL_I2C00_1),
1115         PINMUX_IPSR_GPSR(IP17_19_16, VI0_FIELD),
1116         PINMUX_IPSR_MSEL(IP17_23_20, AUDIO_CLKC_A, SEL_ADGC_0),
1117         PINMUX_IPSR_MSEL(IP17_23_20, SCL4_B, SEL_I2C04_1),
1118         PINMUX_IPSR_GPSR(IP17_23_20, VI0_HSYNC_N),
1119         PINMUX_IPSR_GPSR(IP17_27_24, AUDIO_CLKOUT_A),
1120         PINMUX_IPSR_MSEL(IP17_27_24, SDA4_B, SEL_I2C04_1),
1121         PINMUX_IPSR_GPSR(IP17_27_24, VI0_VSYNC_N),
1122 };
1123
1124 static const struct sh_pfc_pin pinmux_pins[] = {
1125         PINMUX_GPIO_GP_ALL(),
1126 };
1127
1128 /* - AVB -------------------------------------------------------------------- */
1129 static const unsigned int avb_col_pins[] = {
1130         RCAR_GP_PIN(5, 18),
1131 };
1132 static const unsigned int avb_col_mux[] = {
1133         AVB_COL_MARK,
1134 };
1135 static const unsigned int avb_crs_pins[] = {
1136         RCAR_GP_PIN(5, 17),
1137 };
1138 static const unsigned int avb_crs_mux[] = {
1139         AVB_CRS_MARK,
1140 };
1141 static const unsigned int avb_link_pins[] = {
1142         RCAR_GP_PIN(5, 14),
1143 };
1144 static const unsigned int avb_link_mux[] = {
1145         AVB_LINK_MARK,
1146 };
1147 static const unsigned int avb_magic_pins[] = {
1148         RCAR_GP_PIN(5, 15),
1149 };
1150 static const unsigned int avb_magic_mux[] = {
1151         AVB_MAGIC_MARK,
1152 };
1153 static const unsigned int avb_phy_int_pins[] = {
1154         RCAR_GP_PIN(5, 16),
1155 };
1156 static const unsigned int avb_phy_int_mux[] = {
1157         AVB_PHY_INT_MARK,
1158 };
1159 static const unsigned int avb_mdio_pins[] = {
1160         RCAR_GP_PIN(5, 12), RCAR_GP_PIN(5, 13),
1161 };
1162 static const unsigned int avb_mdio_mux[] = {
1163         AVB_MDC_MARK, AVB_MDIO_MARK,
1164 };
1165 static const unsigned int avb_mii_tx_rx_pins[] = {
1166         RCAR_GP_PIN(3, 12), RCAR_GP_PIN(3, 14), RCAR_GP_PIN(3, 15),
1167         RCAR_GP_PIN(3, 16), RCAR_GP_PIN(3, 27), RCAR_GP_PIN(3, 13),
1168
1169         RCAR_GP_PIN(3, 0), RCAR_GP_PIN(3, 2), RCAR_GP_PIN(3, 3),
1170         RCAR_GP_PIN(3, 4), RCAR_GP_PIN(3, 5), RCAR_GP_PIN(3, 1),
1171         RCAR_GP_PIN(3, 10),
1172 };
1173 static const unsigned int avb_mii_tx_rx_mux[] = {
1174         AVB_TX_CLK_MARK, AVB_TXD0_MARK, AVB_TXD1_MARK, AVB_TXD2_MARK,
1175         AVB_TXD3_MARK, AVB_TX_EN_MARK,
1176
1177         AVB_RX_CLK_MARK, AVB_RXD0_MARK, AVB_RXD1_MARK, AVB_RXD2_MARK,
1178         AVB_RXD3_MARK, AVB_RX_DV_MARK, AVB_RX_ER_MARK,
1179 };
1180 static const unsigned int avb_mii_tx_er_pins[] = {
1181         RCAR_GP_PIN(5, 23),
1182 };
1183 static const unsigned int avb_mii_tx_er_mux[] = {
1184         AVB_TX_ER_MARK,
1185 };
1186 static const unsigned int avb_gmii_tx_rx_pins[] = {
1187         RCAR_GP_PIN(4, 1), RCAR_GP_PIN(3, 11), RCAR_GP_PIN(3, 12),
1188         RCAR_GP_PIN(3, 14), RCAR_GP_PIN(3, 15), RCAR_GP_PIN(3, 16),
1189         RCAR_GP_PIN(3, 27), RCAR_GP_PIN(3, 28), RCAR_GP_PIN(3, 29),
1190         RCAR_GP_PIN(4, 0), RCAR_GP_PIN(5, 22), RCAR_GP_PIN(3, 13),
1191         RCAR_GP_PIN(5, 23),
1192
1193         RCAR_GP_PIN(3, 0), RCAR_GP_PIN(3, 2), RCAR_GP_PIN(3, 3),
1194         RCAR_GP_PIN(3, 4), RCAR_GP_PIN(3, 5), RCAR_GP_PIN(3, 6),
1195         RCAR_GP_PIN(3, 7), RCAR_GP_PIN(3, 8), RCAR_GP_PIN(3, 9),
1196         RCAR_GP_PIN(3, 1), RCAR_GP_PIN(3, 10),
1197 };
1198 static const unsigned int avb_gmii_tx_rx_mux[] = {
1199         AVB_GTX_CLK_MARK, AVB_GTXREFCLK_MARK, AVB_TX_CLK_MARK, AVB_TXD0_MARK,
1200         AVB_TXD1_MARK, AVB_TXD2_MARK, AVB_TXD3_MARK, AVB_TXD4_MARK,
1201         AVB_TXD5_MARK, AVB_TXD6_MARK, AVB_TXD7_MARK, AVB_TX_EN_MARK,
1202         AVB_TX_ER_MARK,
1203
1204         AVB_RX_CLK_MARK, AVB_RXD0_MARK, AVB_RXD1_MARK, AVB_RXD2_MARK,
1205         AVB_RXD3_MARK, AVB_RXD4_MARK, AVB_RXD5_MARK, AVB_RXD6_MARK,
1206         AVB_RXD7_MARK, AVB_RX_DV_MARK, AVB_RX_ER_MARK,
1207 };
1208 static const unsigned int avb_avtp_match_a_pins[] = {
1209         RCAR_GP_PIN(1, 15),
1210 };
1211 static const unsigned int avb_avtp_match_a_mux[] = {
1212         AVB_AVTP_MATCH_A_MARK,
1213 };
1214 static const unsigned int avb_avtp_capture_a_pins[] = {
1215         RCAR_GP_PIN(1, 14),
1216 };
1217 static const unsigned int avb_avtp_capture_a_mux[] = {
1218         AVB_AVTP_CAPTURE_A_MARK,
1219 };
1220 static const unsigned int avb_avtp_match_b_pins[] = {
1221         RCAR_GP_PIN(5, 20),
1222 };
1223 static const unsigned int avb_avtp_match_b_mux[] = {
1224         AVB_AVTP_MATCH_B_MARK,
1225 };
1226 static const unsigned int avb_avtp_capture_b_pins[] = {
1227         RCAR_GP_PIN(5, 19),
1228 };
1229 static const unsigned int avb_avtp_capture_b_mux[] = {
1230         AVB_AVTP_CAPTURE_B_MARK,
1231 };
1232 /* - DU --------------------------------------------------------------------- */
1233 static const unsigned int du0_rgb666_pins[] = {
1234         /* R[7:2], G[7:2], B[7:2] */
1235         RCAR_GP_PIN(2, 7),  RCAR_GP_PIN(2, 6),  RCAR_GP_PIN(2, 5),
1236         RCAR_GP_PIN(2, 4),  RCAR_GP_PIN(2, 3),  RCAR_GP_PIN(2, 2),
1237         RCAR_GP_PIN(2, 15), RCAR_GP_PIN(2, 14), RCAR_GP_PIN(2, 13),
1238         RCAR_GP_PIN(2, 12), RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 10),
1239         RCAR_GP_PIN(2, 23), RCAR_GP_PIN(2, 22), RCAR_GP_PIN(2, 21),
1240         RCAR_GP_PIN(2, 20), RCAR_GP_PIN(2, 19), RCAR_GP_PIN(2, 18),
1241 };
1242 static const unsigned int du0_rgb666_mux[] = {
1243         DU0_DR7_MARK, DU0_DR6_MARK, DU0_DR5_MARK, DU0_DR4_MARK,
1244         DU0_DR3_MARK, DU0_DR2_MARK,
1245         DU0_DG7_MARK, DU0_DG6_MARK, DU0_DG5_MARK, DU0_DG4_MARK,
1246         DU0_DG3_MARK, DU0_DG2_MARK,
1247         DU0_DB7_MARK, DU0_DB6_MARK, DU0_DB5_MARK, DU0_DB4_MARK,
1248         DU0_DB3_MARK, DU0_DB2_MARK,
1249 };
1250 static const unsigned int du0_rgb888_pins[] = {
1251         /* R[7:0], G[7:0], B[7:0] */
1252         RCAR_GP_PIN(2, 7),  RCAR_GP_PIN(2, 6),  RCAR_GP_PIN(2, 5),
1253         RCAR_GP_PIN(2, 4),  RCAR_GP_PIN(2, 3),  RCAR_GP_PIN(2, 2),
1254         RCAR_GP_PIN(2, 1),  RCAR_GP_PIN(2, 0),
1255         RCAR_GP_PIN(2, 15), RCAR_GP_PIN(2, 14), RCAR_GP_PIN(2, 13),
1256         RCAR_GP_PIN(2, 12), RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 10),
1257         RCAR_GP_PIN(2, 9),  RCAR_GP_PIN(2, 8),
1258         RCAR_GP_PIN(2, 23), RCAR_GP_PIN(2, 22), RCAR_GP_PIN(2, 21),
1259         RCAR_GP_PIN(2, 20), RCAR_GP_PIN(2, 19), RCAR_GP_PIN(2, 18),
1260         RCAR_GP_PIN(2, 17), RCAR_GP_PIN(2, 16),
1261 };
1262 static const unsigned int du0_rgb888_mux[] = {
1263         DU0_DR7_MARK, DU0_DR6_MARK, DU0_DR5_MARK, DU0_DR4_MARK,
1264         DU0_DR3_MARK, DU0_DR2_MARK, DU0_DR1_MARK, DU0_DR0_MARK,
1265         DU0_DG7_MARK, DU0_DG6_MARK, DU0_DG5_MARK, DU0_DG4_MARK,
1266         DU0_DG3_MARK, DU0_DG2_MARK, DU0_DG1_MARK, DU0_DG0_MARK,
1267         DU0_DB7_MARK, DU0_DB6_MARK, DU0_DB5_MARK, DU0_DB4_MARK,
1268         DU0_DB3_MARK, DU0_DB2_MARK, DU0_DB1_MARK, DU0_DB0_MARK,
1269 };
1270 static const unsigned int du0_clk0_out_pins[] = {
1271         /* DOTCLKOUT0 */
1272         RCAR_GP_PIN(2, 25),
1273 };
1274 static const unsigned int du0_clk0_out_mux[] = {
1275         DU0_DOTCLKOUT0_MARK
1276 };
1277 static const unsigned int du0_clk1_out_pins[] = {
1278         /* DOTCLKOUT1 */
1279         RCAR_GP_PIN(2, 26),
1280 };
1281 static const unsigned int du0_clk1_out_mux[] = {
1282         DU0_DOTCLKOUT1_MARK
1283 };
1284 static const unsigned int du0_clk_in_pins[] = {
1285         /* CLKIN */
1286         RCAR_GP_PIN(2, 24),
1287 };
1288 static const unsigned int du0_clk_in_mux[] = {
1289         DU0_DOTCLKIN_MARK
1290 };
1291 static const unsigned int du0_sync_pins[] = {
1292         /* EXVSYNC/VSYNC, EXHSYNC/HSYNC */
1293         RCAR_GP_PIN(2, 28), RCAR_GP_PIN(2, 27),
1294 };
1295 static const unsigned int du0_sync_mux[] = {
1296         DU0_EXVSYNC_DU0_VSYNC_MARK, DU0_EXHSYNC_DU0_HSYNC_MARK
1297 };
1298 static const unsigned int du0_oddf_pins[] = {
1299         /* EXODDF/ODDF/DISP/CDE */
1300         RCAR_GP_PIN(2, 29),
1301 };
1302 static const unsigned int du0_oddf_mux[] = {
1303         DU0_EXODDF_DU0_ODDF_DISP_CDE_MARK,
1304 };
1305 static const unsigned int du0_cde_pins[] = {
1306         /* CDE */
1307         RCAR_GP_PIN(2, 31),
1308 };
1309 static const unsigned int du0_cde_mux[] = {
1310         DU0_CDE_MARK,
1311 };
1312 static const unsigned int du0_disp_pins[] = {
1313         /* DISP */
1314         RCAR_GP_PIN(2, 30),
1315 };
1316 static const unsigned int du0_disp_mux[] = {
1317         DU0_DISP_MARK
1318 };
1319 static const unsigned int du1_rgb666_pins[] = {
1320         /* R[7:2], G[7:2], B[7:2] */
1321         RCAR_GP_PIN(4, 9),  RCAR_GP_PIN(4, 8),  RCAR_GP_PIN(4, 7),
1322         RCAR_GP_PIN(4, 6),  RCAR_GP_PIN(4, 5),  RCAR_GP_PIN(4, 4),
1323         RCAR_GP_PIN(4, 17), RCAR_GP_PIN(4, 16), RCAR_GP_PIN(4, 15),
1324         RCAR_GP_PIN(4, 14), RCAR_GP_PIN(4, 13), RCAR_GP_PIN(4, 12),
1325         RCAR_GP_PIN(4, 25), RCAR_GP_PIN(4, 24), RCAR_GP_PIN(4, 23),
1326         RCAR_GP_PIN(4, 22), RCAR_GP_PIN(4, 21), RCAR_GP_PIN(4, 20),
1327 };
1328 static const unsigned int du1_rgb666_mux[] = {
1329         DU1_DR7_MARK, DU1_DR6_MARK, DU1_DR5_MARK, DU1_DR4_MARK,
1330         DU1_DR3_MARK, DU1_DR2_MARK,
1331         DU1_DG7_MARK, DU1_DG6_MARK, DU1_DG5_MARK, DU1_DG4_MARK,
1332         DU1_DG3_MARK, DU1_DG2_MARK,
1333         DU1_DB7_MARK, DU1_DB6_MARK, DU1_DB5_MARK, DU1_DB4_MARK,
1334         DU1_DB3_MARK, DU1_DB2_MARK,
1335 };
1336 static const unsigned int du1_rgb888_pins[] = {
1337         /* R[7:0], G[7:0], B[7:0] */
1338         RCAR_GP_PIN(4, 9),  RCAR_GP_PIN(4, 8),  RCAR_GP_PIN(4, 7),
1339         RCAR_GP_PIN(4, 6),  RCAR_GP_PIN(4, 5),  RCAR_GP_PIN(4, 4),
1340         RCAR_GP_PIN(4, 3),  RCAR_GP_PIN(4, 2),
1341         RCAR_GP_PIN(4, 17), RCAR_GP_PIN(4, 16), RCAR_GP_PIN(4, 15),
1342         RCAR_GP_PIN(4, 14), RCAR_GP_PIN(4, 13), RCAR_GP_PIN(4, 12),
1343         RCAR_GP_PIN(4, 11), RCAR_GP_PIN(4, 10),
1344         RCAR_GP_PIN(4, 25), RCAR_GP_PIN(4, 24), RCAR_GP_PIN(4, 23),
1345         RCAR_GP_PIN(4, 22), RCAR_GP_PIN(4, 21), RCAR_GP_PIN(4, 20),
1346         RCAR_GP_PIN(4, 19), RCAR_GP_PIN(4, 18),
1347 };
1348 static const unsigned int du1_rgb888_mux[] = {
1349         DU1_DR7_MARK, DU1_DR6_MARK, DU1_DR5_MARK, DU1_DR4_MARK,
1350         DU1_DR3_MARK, DU1_DR2_MARK, DU1_DR1_MARK, DU1_DR0_MARK,
1351         DU1_DG7_MARK, DU1_DG6_MARK, DU1_DG5_MARK, DU1_DG4_MARK,
1352         DU1_DG3_MARK, DU1_DG2_MARK, DU1_DG1_MARK, DU1_DG0_MARK,
1353         DU1_DB7_MARK, DU1_DB6_MARK, DU1_DB5_MARK, DU1_DB4_MARK,
1354         DU1_DB3_MARK, DU1_DB2_MARK, DU1_DB1_MARK, DU1_DB0_MARK,
1355 };
1356 static const unsigned int du1_clk0_out_pins[] = {
1357         /* DOTCLKOUT0 */
1358         RCAR_GP_PIN(5, 2),
1359 };
1360 static const unsigned int du1_clk0_out_mux[] = {
1361         DU1_DOTCLKOUT0_MARK
1362 };
1363 static const unsigned int du1_clk1_out_pins[] = {
1364         /* DOTCLKOUT1 */
1365         RCAR_GP_PIN(5, 0),
1366 };
1367 static const unsigned int du1_clk1_out_mux[] = {
1368         DU1_DOTCLKOUT1_MARK
1369 };
1370 static const unsigned int du1_clk_in_pins[] = {
1371         /* DOTCLKIN */
1372         RCAR_GP_PIN(5, 1),
1373 };
1374 static const unsigned int du1_clk_in_mux[] = {
1375         DU1_DOTCLKIN_MARK
1376 };
1377 static const unsigned int du1_sync_pins[] = {
1378         /* EXVSYNC/VSYNC, EXHSYNC/HSYNC */
1379         RCAR_GP_PIN(5, 5), RCAR_GP_PIN(5, 4),
1380 };
1381 static const unsigned int du1_sync_mux[] = {
1382         DU1_EXVSYNC_DU1_VSYNC_MARK, DU1_EXHSYNC_DU1_HSYNC_MARK
1383 };
1384 static const unsigned int du1_oddf_pins[] = {
1385         /* EXODDF/ODDF/DISP/CDE */
1386         RCAR_GP_PIN(5, 3),
1387 };
1388 static const unsigned int du1_oddf_mux[] = {
1389         DU1_EXODDF_DU1_ODDF_DISP_CDE_MARK,
1390 };
1391 static const unsigned int du1_cde_pins[] = {
1392         /* CDE */
1393         RCAR_GP_PIN(5, 7),
1394 };
1395 static const unsigned int du1_cde_mux[] = {
1396         DU1_CDE_MARK
1397 };
1398 static const unsigned int du1_disp_pins[] = {
1399         /* DISP */
1400         RCAR_GP_PIN(5, 6),
1401 };
1402 static const unsigned int du1_disp_mux[] = {
1403         DU1_DISP_MARK
1404 };
1405 /* - I2C0 ------------------------------------------------------------------- */
1406 static const unsigned int i2c0_a_pins[] = {
1407         /* SCL, SDA */
1408         RCAR_GP_PIN(4, 0), RCAR_GP_PIN(4, 1),
1409 };
1410 static const unsigned int i2c0_a_mux[] = {
1411         SCL0_A_MARK, SDA0_A_MARK,
1412 };
1413 static const unsigned int i2c0_b_pins[] = {
1414         /* SCL, SDA */
1415         RCAR_GP_PIN(5, 28), RCAR_GP_PIN(5, 29),
1416 };
1417 static const unsigned int i2c0_b_mux[] = {
1418         SCL0_B_MARK, SDA0_B_MARK,
1419 };
1420 static const unsigned int i2c0_c_pins[] = {
1421         /* SCL, SDA */
1422         RCAR_GP_PIN(3, 11), RCAR_GP_PIN(3, 12),
1423 };
1424 static const unsigned int i2c0_c_mux[] = {
1425         SCL0_C_MARK, SDA0_C_MARK,
1426 };
1427 static const unsigned int i2c0_d_pins[] = {
1428         /* SCL, SDA */
1429         RCAR_GP_PIN(1, 2), RCAR_GP_PIN(1, 3),
1430 };
1431 static const unsigned int i2c0_d_mux[] = {
1432         SCL0_D_MARK, SDA0_D_MARK,
1433 };
1434 static const unsigned int i2c0_e_pins[] = {
1435         /* SCL, SDA */
1436         RCAR_GP_PIN(2, 2), RCAR_GP_PIN(2, 3),
1437 };
1438 static const unsigned int i2c0_e_mux[] = {
1439         SCL0_E_MARK, SDA0_E_MARK,
1440 };
1441 /* - I2C1 ------------------------------------------------------------------- */
1442 static const unsigned int i2c1_a_pins[] = {
1443         /* SCL, SDA */
1444         RCAR_GP_PIN(4, 2), RCAR_GP_PIN(4, 3),
1445 };
1446 static const unsigned int i2c1_a_mux[] = {
1447         SCL1_A_MARK, SDA1_A_MARK,
1448 };
1449 static const unsigned int i2c1_b_pins[] = {
1450         /* SCL, SDA */
1451         RCAR_GP_PIN(1, 5), RCAR_GP_PIN(1, 6),
1452 };
1453 static const unsigned int i2c1_b_mux[] = {
1454         SCL1_B_MARK, SDA1_B_MARK,
1455 };
1456 static const unsigned int i2c1_c_pins[] = {
1457         /* SCL, SDA */
1458         RCAR_GP_PIN(4, 22), RCAR_GP_PIN(4, 23),
1459 };
1460 static const unsigned int i2c1_c_mux[] = {
1461         SCL1_C_MARK, SDA1_C_MARK,
1462 };
1463 static const unsigned int i2c1_d_pins[] = {
1464         /* SCL, SDA */
1465         RCAR_GP_PIN(1, 8), RCAR_GP_PIN(1, 9),
1466 };
1467 static const unsigned int i2c1_d_mux[] = {
1468         SCL1_D_MARK, SDA1_D_MARK,
1469 };
1470 static const unsigned int i2c1_e_pins[] = {
1471         /* SCL, SDA */
1472         RCAR_GP_PIN(4, 16), RCAR_GP_PIN(4, 17),
1473 };
1474 static const unsigned int i2c1_e_mux[] = {
1475         SCL1_E_MARK, SDA1_E_MARK,
1476 };
1477 /* - I2C2 ------------------------------------------------------------------- */
1478 static const unsigned int i2c2_a_pins[] = {
1479         /* SCL, SDA */
1480         RCAR_GP_PIN(4, 24), RCAR_GP_PIN(4, 25),
1481 };
1482 static const unsigned int i2c2_a_mux[] = {
1483         SCL2_A_MARK, SDA2_A_MARK,
1484 };
1485 static const unsigned int i2c2_b_pins[] = {
1486         /* SCL, SDA */
1487         RCAR_GP_PIN(3, 13), RCAR_GP_PIN(3, 14),
1488 };
1489 static const unsigned int i2c2_b_mux[] = {
1490         SCL2_B_MARK, SDA2_B_MARK,
1491 };
1492 static const unsigned int i2c2_c_pins[] = {
1493         /* SCL, SDA */
1494         RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5),
1495 };
1496 static const unsigned int i2c2_c_mux[] = {
1497         SCL2_C_MARK, SDA2_C_MARK,
1498 };
1499 static const unsigned int i2c2_d_pins[] = {
1500         /* SCL, SDA */
1501         RCAR_GP_PIN(2, 0), RCAR_GP_PIN(2, 1),
1502 };
1503 static const unsigned int i2c2_d_mux[] = {
1504         SCL2_D_MARK, SDA2_D_MARK,
1505 };
1506 /* - I2C3 ------------------------------------------------------------------- */
1507 static const unsigned int i2c3_a_pins[] = {
1508         /* SCL, SDA */
1509         RCAR_GP_PIN(3, 9), RCAR_GP_PIN(3, 10),
1510 };
1511 static const unsigned int i2c3_a_mux[] = {
1512         SCL3_A_MARK, SDA3_A_MARK,
1513 };
1514 static const unsigned int i2c3_b_pins[] = {
1515         /* SCL, SDA */
1516         RCAR_GP_PIN(1, 0), RCAR_GP_PIN(1, 1),
1517 };
1518 static const unsigned int i2c3_b_mux[] = {
1519         SCL3_B_MARK, SDA3_B_MARK,
1520 };
1521 static const unsigned int i2c3_c_pins[] = {
1522         /* SCL, SDA */
1523         RCAR_GP_PIN(5, 1), RCAR_GP_PIN(5, 2),
1524 };
1525 static const unsigned int i2c3_c_mux[] = {
1526         SCL3_C_MARK, SDA3_C_MARK,
1527 };
1528 static const unsigned int i2c3_d_pins[] = {
1529         /* SCL, SDA */
1530         RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 9),
1531 };
1532 static const unsigned int i2c3_d_mux[] = {
1533         SCL3_D_MARK, SDA3_D_MARK,
1534 };
1535 static const unsigned int i2c3_e_pins[] = {
1536         /* SCL, SDA */
1537         RCAR_GP_PIN(5, 25), RCAR_GP_PIN(5, 26),
1538 };
1539 static const unsigned int i2c3_e_mux[] = {
1540         SCL3_E_MARK, SDA3_E_MARK,
1541 };
1542 /* - I2C4 ------------------------------------------------------------------- */
1543 static const unsigned int i2c4_a_pins[] = {
1544         /* SCL, SDA */
1545         RCAR_GP_PIN(4, 10), RCAR_GP_PIN(4, 11),
1546 };
1547 static const unsigned int i2c4_a_mux[] = {
1548         SCL4_A_MARK, SDA4_A_MARK,
1549 };
1550 static const unsigned int i2c4_b_pins[] = {
1551         /* SCL, SDA */
1552         RCAR_GP_PIN(5, 30), RCAR_GP_PIN(5, 31),
1553 };
1554 static const unsigned int i2c4_b_mux[] = {
1555         SCL4_B_MARK, SDA4_B_MARK,
1556 };
1557 static const unsigned int i2c4_c_pins[] = {
1558         /* SCL, SDA */
1559         RCAR_GP_PIN(5, 4), RCAR_GP_PIN(5, 5),
1560 };
1561 static const unsigned int i2c4_c_mux[] = {
1562         SCL4_C_MARK, SDA4_C_MARK,
1563 };
1564 static const unsigned int i2c4_d_pins[] = {
1565         /* SCL, SDA */
1566         RCAR_GP_PIN(2, 16), RCAR_GP_PIN(2, 17),
1567 };
1568 static const unsigned int i2c4_d_mux[] = {
1569         SCL4_D_MARK, SDA4_D_MARK,
1570 };
1571 static const unsigned int i2c4_e_pins[] = {
1572         /* SCL, SDA */
1573         RCAR_GP_PIN(5, 7), RCAR_GP_PIN(5, 6),
1574 };
1575 static const unsigned int i2c4_e_mux[] = {
1576         SCL4_E_MARK, SDA4_E_MARK,
1577 };
1578 /* - MMC -------------------------------------------------------------------- */
1579 static const unsigned int mmc_data1_pins[] = {
1580         /* D0 */
1581         RCAR_GP_PIN(0, 15),
1582 };
1583 static const unsigned int mmc_data1_mux[] = {
1584         MMC0_D0_SDHI1_D0_MARK,
1585 };
1586 static const unsigned int mmc_data4_pins[] = {
1587         /* D[0:3] */
1588         RCAR_GP_PIN(0, 15), RCAR_GP_PIN(0, 16),
1589         RCAR_GP_PIN(0, 17), RCAR_GP_PIN(0, 18),
1590 };
1591 static const unsigned int mmc_data4_mux[] = {
1592         MMC0_D0_SDHI1_D0_MARK, MMC0_D1_SDHI1_D1_MARK,
1593         MMC0_D2_SDHI1_D2_MARK, MMC0_D3_SDHI1_D3_MARK,
1594 };
1595 static const unsigned int mmc_data8_pins[] = {
1596         /* D[0:3] */
1597         RCAR_GP_PIN(0, 15), RCAR_GP_PIN(0, 16),
1598         RCAR_GP_PIN(0, 17), RCAR_GP_PIN(0, 18),
1599         RCAR_GP_PIN(0, 19), RCAR_GP_PIN(0, 20),
1600         RCAR_GP_PIN(0, 21), RCAR_GP_PIN(0, 22),
1601 };
1602 static const unsigned int mmc_data8_mux[] = {
1603         MMC0_D0_SDHI1_D0_MARK, MMC0_D1_SDHI1_D1_MARK,
1604         MMC0_D2_SDHI1_D2_MARK, MMC0_D3_SDHI1_D3_MARK,
1605         MMC0_D4_MARK, MMC0_D5_MARK,
1606         MMC0_D6_MARK, MMC0_D7_MARK,
1607 };
1608 static const unsigned int mmc_ctrl_pins[] = {
1609         /* CLK, CMD */
1610         RCAR_GP_PIN(0, 13), RCAR_GP_PIN(0, 14),
1611 };
1612 static const unsigned int mmc_ctrl_mux[] = {
1613         MMC0_CLK_SDHI1_CLK_MARK, MMC0_CMD_SDHI1_CMD_MARK,
1614 };
1615 /* - QSPI ------------------------------------------------------------------- */
1616 static const unsigned int qspi0_ctrl_pins[] = {
1617         /* SPCLK, SSL */
1618         RCAR_GP_PIN(1, 16), RCAR_GP_PIN(1, 21),
1619 };
1620 static const unsigned int qspi0_ctrl_mux[] = {
1621         QSPI0_SPCLK_MARK, QSPI0_SSL_MARK,
1622 };
1623 static const unsigned int qspi0_data2_pins[] = {
1624         /* MOSI_IO0, MISO_IO1 */
1625         RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 18),
1626 };
1627 static const unsigned int qspi0_data2_mux[] = {
1628         QSPI0_MOSI_QSPI0_IO0_MARK, QSPI0_MISO_QSPI0_IO1_MARK,
1629 };
1630 static const unsigned int qspi0_data4_pins[] = {
1631         /* MOSI_IO0, MISO_IO1, IO2, IO3 */
1632         RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 18), RCAR_GP_PIN(1, 19),
1633         RCAR_GP_PIN(1, 20),
1634 };
1635 static const unsigned int qspi0_data4_mux[] = {
1636         QSPI0_MOSI_QSPI0_IO0_MARK, QSPI0_MISO_QSPI0_IO1_MARK,
1637         QSPI0_IO2_MARK, QSPI0_IO3_MARK,
1638 };
1639 static const unsigned int qspi1_ctrl_pins[] = {
1640         /* SPCLK, SSL */
1641         RCAR_GP_PIN(4, 6), RCAR_GP_PIN(4, 9),
1642 };
1643 static const unsigned int qspi1_ctrl_mux[] = {
1644         QSPI1_SPCLK_MARK, QSPI1_SSL_MARK,
1645 };
1646 static const unsigned int qspi1_data2_pins[] = {
1647         /* MOSI_IO0, MISO_IO1 */
1648         RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5),
1649 };
1650 static const unsigned int qspi1_data2_mux[] = {
1651         QSPI1_MOSI_QSPI1_IO0_MARK, QSPI1_MISO_QSPI1_IO1_MARK,
1652 };
1653 static const unsigned int qspi1_data4_pins[] = {
1654         /* MOSI_IO0, MISO_IO1, IO2, IO3 */
1655         RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5), RCAR_GP_PIN(4, 7),
1656         RCAR_GP_PIN(4, 8),
1657 };
1658 static const unsigned int qspi1_data4_mux[] = {
1659         QSPI1_MOSI_QSPI1_IO0_MARK, QSPI1_MISO_QSPI1_IO1_MARK,
1660         QSPI1_IO2_MARK, QSPI1_IO3_MARK,
1661 };
1662 /* - SCIF0 ------------------------------------------------------------------ */
1663 static const unsigned int scif0_data_a_pins[] = {
1664         /* RX, TX */
1665         RCAR_GP_PIN(4, 10), RCAR_GP_PIN(4, 11),
1666 };
1667 static const unsigned int scif0_data_a_mux[] = {
1668         RX0_A_MARK, TX0_A_MARK,
1669 };
1670 static const unsigned int scif0_data_b_pins[] = {
1671         /* RX, TX */
1672         RCAR_GP_PIN(3, 11), RCAR_GP_PIN(3, 12),
1673 };
1674 static const unsigned int scif0_data_b_mux[] = {
1675         RX0_B_MARK, TX0_B_MARK,
1676 };
1677 static const unsigned int scif0_data_c_pins[] = {
1678         /* RX, TX */
1679         RCAR_GP_PIN(4, 0), RCAR_GP_PIN(4, 1),
1680 };
1681 static const unsigned int scif0_data_c_mux[] = {
1682         RX0_C_MARK, TX0_C_MARK,
1683 };
1684 static const unsigned int scif0_data_d_pins[] = {
1685         /* RX, TX */
1686         RCAR_GP_PIN(2, 2), RCAR_GP_PIN(2, 3),
1687 };
1688 static const unsigned int scif0_data_d_mux[] = {
1689         RX0_D_MARK, TX0_D_MARK,
1690 };
1691 /* - SCIF1 ------------------------------------------------------------------ */
1692 static const unsigned int scif1_data_a_pins[] = {
1693         /* RX, TX */
1694         RCAR_GP_PIN(4, 16), RCAR_GP_PIN(4, 17),
1695 };
1696 static const unsigned int scif1_data_a_mux[] = {
1697         RX1_A_MARK, TX1_A_MARK,
1698 };
1699 static const unsigned int scif1_clk_a_pins[] = {
1700         /* SCK */
1701         RCAR_GP_PIN(4, 15),
1702 };
1703 static const unsigned int scif1_clk_a_mux[] = {
1704         SCIF1_SCK_A_MARK,
1705 };
1706 static const unsigned int scif1_data_b_pins[] = {
1707         /* RX, TX */
1708         RCAR_GP_PIN(5, 19), RCAR_GP_PIN(5, 20),
1709 };
1710 static const unsigned int scif1_data_b_mux[] = {
1711         RX1_B_MARK, TX1_B_MARK,
1712 };
1713 static const unsigned int scif1_clk_b_pins[] = {
1714         /* SCK */
1715         RCAR_GP_PIN(5, 18),
1716 };
1717 static const unsigned int scif1_clk_b_mux[] = {
1718         SCIF1_SCK_B_MARK,
1719 };
1720 static const unsigned int scif1_data_c_pins[] = {
1721         /* RX, TX */
1722         RCAR_GP_PIN(1, 8), RCAR_GP_PIN(1, 9),
1723 };
1724 static const unsigned int scif1_data_c_mux[] = {
1725         RX1_C_MARK, TX1_C_MARK,
1726 };
1727 static const unsigned int scif1_clk_c_pins[] = {
1728         /* SCK */
1729         RCAR_GP_PIN(1, 7),
1730 };
1731 static const unsigned int scif1_clk_c_mux[] = {
1732         SCIF1_SCK_C_MARK,
1733 };
1734 static const unsigned int scif1_data_d_pins[] = {
1735         /* RX, TX */
1736         RCAR_GP_PIN(2, 4), RCAR_GP_PIN(2, 5),
1737 };
1738 static const unsigned int scif1_data_d_mux[] = {
1739         RX1_D_MARK, TX1_D_MARK,
1740 };
1741 /* - SCIF2 ------------------------------------------------------------------ */
1742 static const unsigned int scif2_data_a_pins[] = {
1743         /* RX, TX */
1744         RCAR_GP_PIN(4, 18), RCAR_GP_PIN(4, 19),
1745 };
1746 static const unsigned int scif2_data_a_mux[] = {
1747         RX2_A_MARK, TX2_A_MARK,
1748 };
1749 static const unsigned int scif2_clk_a_pins[] = {
1750         /* SCK */
1751         RCAR_GP_PIN(4, 20),
1752 };
1753 static const unsigned int scif2_clk_a_mux[] = {
1754         SCIF2_SCK_A_MARK,
1755 };
1756 static const unsigned int scif2_data_b_pins[] = {
1757         /* RX, TX */
1758         RCAR_GP_PIN(5, 25), RCAR_GP_PIN(5, 26),
1759 };
1760 static const unsigned int scif2_data_b_mux[] = {
1761         RX2_B_MARK, TX2_B_MARK,
1762 };
1763 static const unsigned int scif2_clk_b_pins[] = {
1764         /* SCK */
1765         RCAR_GP_PIN(5, 27),
1766 };
1767 static const unsigned int scif2_clk_b_mux[] = {
1768         SCIF2_SCK_B_MARK,
1769 };
1770 static const unsigned int scif2_data_c_pins[] = {
1771         /* RX, TX */
1772         RCAR_GP_PIN(2, 6), RCAR_GP_PIN(2, 7),
1773 };
1774 static const unsigned int scif2_data_c_mux[] = {
1775         RX2_C_MARK, TX2_C_MARK,
1776 };
1777 /* - SCIF3 ------------------------------------------------------------------ */
1778 static const unsigned int scif3_data_a_pins[] = {
1779         /* RX, TX */
1780         RCAR_GP_PIN(4, 22), RCAR_GP_PIN(4, 23),
1781 };
1782 static const unsigned int scif3_data_a_mux[] = {
1783         RX3_A_MARK, TX3_A_MARK,
1784 };
1785 static const unsigned int scif3_clk_pins[] = {
1786         /* SCK */
1787         RCAR_GP_PIN(4, 21),
1788 };
1789 static const unsigned int scif3_clk_mux[] = {
1790         SCIF3_SCK_MARK,
1791 };
1792 static const unsigned int scif3_data_b_pins[] = {
1793         /* RX, TX */
1794         RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 9),
1795 };
1796 static const unsigned int scif3_data_b_mux[] = {
1797         RX3_B_MARK, TX3_B_MARK,
1798 };
1799 static const unsigned int scif3_data_c_pins[] = {
1800         /* RX, TX */
1801         RCAR_GP_PIN(0, 5), RCAR_GP_PIN(0, 6),
1802 };
1803 static const unsigned int scif3_data_c_mux[] = {
1804         RX3_C_MARK, TX3_C_MARK,
1805 };
1806 /* - SCIF4 ------------------------------------------------------------------ */
1807 static const unsigned int scif4_data_a_pins[] = {
1808         /* RX, TX */
1809         RCAR_GP_PIN(4, 2), RCAR_GP_PIN(4, 3),
1810 };
1811 static const unsigned int scif4_data_a_mux[] = {
1812         RX4_A_MARK, TX4_A_MARK,
1813 };
1814 static const unsigned int scif4_data_b_pins[] = {
1815         /* RX, TX */
1816         RCAR_GP_PIN(1, 2), RCAR_GP_PIN(1, 3),
1817 };
1818 static const unsigned int scif4_data_b_mux[] = {
1819         RX4_B_MARK, TX4_B_MARK,
1820 };
1821 static const unsigned int scif4_data_c_pins[] = {
1822         /* RX, TX */
1823         RCAR_GP_PIN(1, 13), RCAR_GP_PIN(1, 14),
1824 };
1825 static const unsigned int scif4_data_c_mux[] = {
1826         RX4_C_MARK, TX4_C_MARK,
1827 };
1828 static const unsigned int scif4_data_d_pins[] = {
1829         /* RX, TX */
1830         RCAR_GP_PIN(2, 10), RCAR_GP_PIN(2, 11),
1831 };
1832 static const unsigned int scif4_data_d_mux[] = {
1833         RX4_D_MARK, TX4_D_MARK,
1834 };
1835 static const unsigned int scif4_data_e_pins[] = {
1836         /* RX, TX */
1837         RCAR_GP_PIN(0, 7), RCAR_GP_PIN(0, 8),
1838 };
1839 static const unsigned int scif4_data_e_mux[] = {
1840         RX4_E_MARK, TX4_E_MARK,
1841 };
1842 /* - SCIF5 ------------------------------------------------------------------ */
1843 static const unsigned int scif5_data_a_pins[] = {
1844         /* RX, TX */
1845         RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5),
1846 };
1847 static const unsigned int scif5_data_a_mux[] = {
1848         RX5_A_MARK, TX5_A_MARK,
1849 };
1850 static const unsigned int scif5_data_b_pins[] = {
1851         /* RX, TX */
1852         RCAR_GP_PIN(1, 0), RCAR_GP_PIN(1, 1),
1853 };
1854 static const unsigned int scif5_data_b_mux[] = {
1855         RX5_B_MARK, TX5_B_MARK,
1856 };
1857 static const unsigned int scif5_data_c_pins[] = {
1858         /* RX, TX */
1859         RCAR_GP_PIN(2, 0), RCAR_GP_PIN(2, 1),
1860 };
1861 static const unsigned int scif5_data_c_mux[] = {
1862         RX5_C_MARK, TX5_C_MARK,
1863 };
1864 static const unsigned int scif5_data_d_pins[] = {
1865         /* RX, TX */
1866         RCAR_GP_PIN(5, 9), RCAR_GP_PIN(5, 10),
1867 };
1868 static const unsigned int scif5_data_d_mux[] = {
1869         RX5_D_MARK, TX5_D_MARK,
1870 };
1871 static const unsigned int scif5_data_e_pins[] = {
1872         /* RX, TX */
1873         RCAR_GP_PIN(0, 9), RCAR_GP_PIN(0, 10),
1874 };
1875 static const unsigned int scif5_data_e_mux[] = {
1876         RX5_E_MARK, TX5_E_MARK,
1877 };
1878 static const unsigned int scif5_data_f_pins[] = {
1879         /* RX, TX */
1880         RCAR_GP_PIN(3, 27), RCAR_GP_PIN(3, 28),
1881 };
1882 static const unsigned int scif5_data_f_mux[] = {
1883         RX5_F_MARK, TX5_F_MARK,
1884 };
1885 /* - SCIF Clock ------------------------------------------------------------- */
1886 static const unsigned int scif_clk_a_pins[] = {
1887         /* SCIF_CLK */
1888         RCAR_GP_PIN(1, 22),
1889 };
1890 static const unsigned int scif_clk_a_mux[] = {
1891         SCIF_CLK_A_MARK,
1892 };
1893 static const unsigned int scif_clk_b_pins[] = {
1894         /* SCIF_CLK */
1895         RCAR_GP_PIN(3, 29),
1896 };
1897 static const unsigned int scif_clk_b_mux[] = {
1898         SCIF_CLK_B_MARK,
1899 };
1900 /* - SDHI0 ------------------------------------------------------------------ */
1901 static const unsigned int sdhi0_data1_pins[] = {
1902         /* D0 */
1903         RCAR_GP_PIN(0, 7),
1904 };
1905 static const unsigned int sdhi0_data1_mux[] = {
1906         SD0_DAT0_MARK,
1907 };
1908 static const unsigned int sdhi0_data4_pins[] = {
1909         /* D[0:3] */
1910         RCAR_GP_PIN(0, 7), RCAR_GP_PIN(0, 8),
1911         RCAR_GP_PIN(0, 9), RCAR_GP_PIN(0, 10),
1912 };
1913 static const unsigned int sdhi0_data4_mux[] = {
1914         SD0_DAT0_MARK, SD0_DAT1_MARK, SD0_DAT2_MARK, SD0_DAT3_MARK,
1915 };
1916 static const unsigned int sdhi0_ctrl_pins[] = {
1917         /* CLK, CMD */
1918         RCAR_GP_PIN(0, 5), RCAR_GP_PIN(0, 6),
1919 };
1920 static const unsigned int sdhi0_ctrl_mux[] = {
1921         SD0_CLK_MARK, SD0_CMD_MARK,
1922 };
1923 static const unsigned int sdhi0_cd_pins[] = {
1924         /* CD */
1925         RCAR_GP_PIN(0, 11),
1926 };
1927 static const unsigned int sdhi0_cd_mux[] = {
1928         SD0_CD_MARK,
1929 };
1930 static const unsigned int sdhi0_wp_pins[] = {
1931         /* WP */
1932         RCAR_GP_PIN(0, 12),
1933 };
1934 static const unsigned int sdhi0_wp_mux[] = {
1935         SD0_WP_MARK,
1936 };
1937 /* - SDHI1 ------------------------------------------------------------------ */
1938 static const unsigned int sdhi1_data1_pins[] = {
1939         /* D0 */
1940         RCAR_GP_PIN(0, 15),
1941 };
1942 static const unsigned int sdhi1_data1_mux[] = {
1943         MMC0_D0_SDHI1_D0_MARK,
1944 };
1945 static const unsigned int sdhi1_data4_pins[] = {
1946         /* D[0:3] */
1947         RCAR_GP_PIN(0, 15), RCAR_GP_PIN(0, 16),
1948         RCAR_GP_PIN(0, 17), RCAR_GP_PIN(0, 18),
1949 };
1950 static const unsigned int sdhi1_data4_mux[] = {
1951         MMC0_D0_SDHI1_D0_MARK, MMC0_D1_SDHI1_D1_MARK,
1952         MMC0_D2_SDHI1_D2_MARK, MMC0_D3_SDHI1_D3_MARK,
1953 };
1954 static const unsigned int sdhi1_ctrl_pins[] = {
1955         /* CLK, CMD */
1956         RCAR_GP_PIN(0, 13), RCAR_GP_PIN(0, 14),
1957 };
1958 static const unsigned int sdhi1_ctrl_mux[] = {
1959         MMC0_CLK_SDHI1_CLK_MARK, MMC0_CMD_SDHI1_CMD_MARK,
1960 };
1961 static const unsigned int sdhi1_cd_pins[] = {
1962         /* CD */
1963         RCAR_GP_PIN(0, 19),
1964 };
1965 static const unsigned int sdhi1_cd_mux[] = {
1966         SD1_CD_MARK,
1967 };
1968 static const unsigned int sdhi1_wp_pins[] = {
1969         /* WP */
1970         RCAR_GP_PIN(0, 20),
1971 };
1972 static const unsigned int sdhi1_wp_mux[] = {
1973         SD1_WP_MARK,
1974 };
1975 /* - SDHI2 ------------------------------------------------------------------ */
1976 static const unsigned int sdhi2_data1_pins[] = {
1977         /* D0 */
1978         RCAR_GP_PIN(4, 16),
1979 };
1980 static const unsigned int sdhi2_data1_mux[] = {
1981         SD2_DAT0_MARK,
1982 };
1983 static const unsigned int sdhi2_data4_pins[] = {
1984         /* D[0:3] */
1985         RCAR_GP_PIN(4, 16), RCAR_GP_PIN(4, 17),
1986         RCAR_GP_PIN(4, 18), RCAR_GP_PIN(4, 19),
1987 };
1988 static const unsigned int sdhi2_data4_mux[] = {
1989         SD2_DAT0_MARK, SD2_DAT1_MARK, SD2_DAT2_MARK, SD2_DAT3_MARK,
1990 };
1991 static const unsigned int sdhi2_ctrl_pins[] = {
1992         /* CLK, CMD */
1993         RCAR_GP_PIN(4, 14), RCAR_GP_PIN(4, 15),
1994 };
1995 static const unsigned int sdhi2_ctrl_mux[] = {
1996         SD2_CLK_MARK, SD2_CMD_MARK,
1997 };
1998 static const unsigned int sdhi2_cd_pins[] = {
1999         /* CD */
2000         RCAR_GP_PIN(4, 20),
2001 };
2002 static const unsigned int sdhi2_cd_mux[] = {
2003         SD2_CD_MARK,
2004 };
2005 static const unsigned int sdhi2_wp_pins[] = {
2006         /* WP */
2007         RCAR_GP_PIN(4, 21),
2008 };
2009 static const unsigned int sdhi2_wp_mux[] = {
2010         SD2_WP_MARK,
2011 };
2012 /* - USB0 ------------------------------------------------------------------- */
2013 static const unsigned int usb0_pins[] = {
2014         RCAR_GP_PIN(0, 0), /* PWEN */
2015         RCAR_GP_PIN(0, 1), /* OVC */
2016 };
2017 static const unsigned int usb0_mux[] = {
2018         USB0_PWEN_MARK,
2019         USB0_OVC_MARK,
2020 };
2021 /* - USB1 ------------------------------------------------------------------- */
2022 static const unsigned int usb1_pins[] = {
2023         RCAR_GP_PIN(0, 2), /* PWEN */
2024         RCAR_GP_PIN(0, 3), /* OVC */
2025 };
2026 static const unsigned int usb1_mux[] = {
2027         USB1_PWEN_MARK,
2028         USB1_OVC_MARK,
2029 };
2030 /* - VIN0 ------------------------------------------------------------------- */
2031 static const union vin_data vin0_data_pins = {
2032         .data24 = {
2033                 /* B */
2034                 RCAR_GP_PIN(5, 20), RCAR_GP_PIN(5, 21),
2035                 RCAR_GP_PIN(5, 22), RCAR_GP_PIN(5, 23),
2036                 RCAR_GP_PIN(5, 24), RCAR_GP_PIN(5, 25),
2037                 RCAR_GP_PIN(5, 26), RCAR_GP_PIN(5, 27),
2038                 /* G */
2039                 RCAR_GP_PIN(4, 2), RCAR_GP_PIN(4, 3),
2040                 RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5),
2041                 RCAR_GP_PIN(4, 6), RCAR_GP_PIN(5, 8),
2042                 RCAR_GP_PIN(5, 9), RCAR_GP_PIN(5, 10),
2043                 /* R */
2044                 RCAR_GP_PIN(5, 11), RCAR_GP_PIN(5, 12),
2045                 RCAR_GP_PIN(5, 13), RCAR_GP_PIN(5, 14),
2046                 RCAR_GP_PIN(5, 15), RCAR_GP_PIN(5, 16),
2047                 RCAR_GP_PIN(5, 17), RCAR_GP_PIN(5, 19),
2048         },
2049 };
2050 static const union vin_data vin0_data_mux = {
2051         .data24 = {
2052                 /* B */
2053                 VI0_DATA0_VI0_B0_MARK, VI0_DATA1_VI0_B1_MARK,
2054                 VI0_DATA2_VI0_B2_MARK, VI0_DATA3_VI0_B3_MARK,
2055                 VI0_DATA4_VI0_B4_MARK, VI0_DATA5_VI0_B5_MARK,
2056                 VI0_DATA6_VI0_B6_MARK, VI0_DATA7_VI0_B7_MARK,
2057                 /* G */
2058                 VI0_G0_MARK, VI0_G1_MARK,
2059                 VI0_G2_MARK, VI0_G3_MARK,
2060                 VI0_G4_MARK, VI0_G5_MARK,
2061                 VI0_G6_MARK, VI0_G7_MARK,
2062                 /* R */
2063                 VI0_R0_MARK, VI0_R1_MARK,
2064                 VI0_R2_MARK, VI0_R3_MARK,
2065                 VI0_R4_MARK, VI0_R5_MARK,
2066                 VI0_R6_MARK, VI0_R7_MARK,
2067         },
2068 };
2069 static const unsigned int vin0_data18_pins[] = {
2070         /* B */
2071         RCAR_GP_PIN(5, 22), RCAR_GP_PIN(5, 23),
2072         RCAR_GP_PIN(5, 24), RCAR_GP_PIN(5, 25),
2073         RCAR_GP_PIN(5, 26), RCAR_GP_PIN(5, 27),
2074         /* G */
2075         RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5),
2076         RCAR_GP_PIN(4, 6), RCAR_GP_PIN(5, 8),
2077         RCAR_GP_PIN(5, 9), RCAR_GP_PIN(5, 10),
2078         /* R */
2079         RCAR_GP_PIN(5, 13), RCAR_GP_PIN(5, 14),
2080         RCAR_GP_PIN(5, 15), RCAR_GP_PIN(5, 16),
2081         RCAR_GP_PIN(5, 17), RCAR_GP_PIN(5, 19),
2082 };
2083 static const unsigned int vin0_data18_mux[] = {
2084         /* B */
2085         VI0_DATA2_VI0_B2_MARK, VI0_DATA3_VI0_B3_MARK,
2086         VI0_DATA4_VI0_B4_MARK, VI0_DATA5_VI0_B5_MARK,
2087         VI0_DATA6_VI0_B6_MARK, VI0_DATA7_VI0_B7_MARK,
2088         /* G */
2089         VI0_G2_MARK, VI0_G3_MARK,
2090         VI0_G4_MARK, VI0_G5_MARK,
2091         VI0_G6_MARK, VI0_G7_MARK,
2092         /* R */
2093         VI0_R2_MARK, VI0_R3_MARK,
2094         VI0_R4_MARK, VI0_R5_MARK,
2095         VI0_R6_MARK, VI0_R7_MARK,
2096 };
2097 static const unsigned int vin0_sync_pins[] = {
2098         RCAR_GP_PIN(5, 30), /* HSYNC */
2099         RCAR_GP_PIN(5, 31), /* VSYNC */
2100 };
2101 static const unsigned int vin0_sync_mux[] = {
2102         VI0_HSYNC_N_MARK,
2103         VI0_VSYNC_N_MARK,
2104 };
2105 static const unsigned int vin0_field_pins[] = {
2106         RCAR_GP_PIN(5, 29),
2107 };
2108 static const unsigned int vin0_field_mux[] = {
2109         VI0_FIELD_MARK,
2110 };
2111 static const unsigned int vin0_clkenb_pins[] = {
2112         RCAR_GP_PIN(5, 28),
2113 };
2114 static const unsigned int vin0_clkenb_mux[] = {
2115         VI0_CLKENB_MARK,
2116 };
2117 static const unsigned int vin0_clk_pins[] = {
2118         RCAR_GP_PIN(5, 18),
2119 };
2120 static const unsigned int vin0_clk_mux[] = {
2121         VI0_CLK_MARK,
2122 };
2123 /* - VIN1 ------------------------------------------------------------------- */
2124 static const union vin_data vin1_data_pins = {
2125         .data12 = {
2126                 RCAR_GP_PIN(3,  1), RCAR_GP_PIN(3, 2),
2127                 RCAR_GP_PIN(3,  3), RCAR_GP_PIN(3, 4),
2128                 RCAR_GP_PIN(3,  5), RCAR_GP_PIN(3, 6),
2129                 RCAR_GP_PIN(3,  7), RCAR_GP_PIN(3, 8),
2130                 RCAR_GP_PIN(3, 13), RCAR_GP_PIN(3, 14),
2131                 RCAR_GP_PIN(3, 15), RCAR_GP_PIN(3, 16),
2132         },
2133 };
2134 static const union vin_data vin1_data_mux = {
2135         .data12 = {
2136                 VI1_DATA0_MARK, VI1_DATA1_MARK,
2137                 VI1_DATA2_MARK, VI1_DATA3_MARK,
2138                 VI1_DATA4_MARK, VI1_DATA5_MARK,
2139                 VI1_DATA6_MARK, VI1_DATA7_MARK,
2140                 VI1_DATA8_MARK, VI1_DATA9_MARK,
2141                 VI1_DATA10_MARK, VI1_DATA11_MARK,
2142         },
2143 };
2144 static const unsigned int vin1_sync_pins[] = {
2145         RCAR_GP_PIN(3, 11), /* HSYNC */
2146         RCAR_GP_PIN(3, 12), /* VSYNC */
2147 };
2148 static const unsigned int vin1_sync_mux[] = {
2149         VI1_HSYNC_N_MARK,
2150         VI1_VSYNC_N_MARK,
2151 };
2152 static const unsigned int vin1_field_pins[] = {
2153         RCAR_GP_PIN(3, 10),
2154 };
2155 static const unsigned int vin1_field_mux[] = {
2156         VI1_FIELD_MARK,
2157 };
2158 static const unsigned int vin1_clkenb_pins[] = {
2159         RCAR_GP_PIN(3, 9),
2160 };
2161 static const unsigned int vin1_clkenb_mux[] = {
2162         VI1_CLKENB_MARK,
2163 };
2164 static const unsigned int vin1_clk_pins[] = {
2165         RCAR_GP_PIN(3, 0),
2166 };
2167 static const unsigned int vin1_clk_mux[] = {
2168         VI1_CLK_MARK,
2169 };
2170
2171 static const struct sh_pfc_pin_group pinmux_groups[] = {
2172         SH_PFC_PIN_GROUP(avb_col),
2173         SH_PFC_PIN_GROUP(avb_crs),
2174         SH_PFC_PIN_GROUP(avb_link),
2175         SH_PFC_PIN_GROUP(avb_magic),
2176         SH_PFC_PIN_GROUP(avb_phy_int),
2177         SH_PFC_PIN_GROUP(avb_mdio),
2178         SH_PFC_PIN_GROUP(avb_mii_tx_rx),
2179         SH_PFC_PIN_GROUP(avb_mii_tx_er),
2180         SH_PFC_PIN_GROUP(avb_gmii_tx_rx),
2181         SH_PFC_PIN_GROUP(avb_avtp_match_a),
2182         SH_PFC_PIN_GROUP(avb_avtp_capture_a),
2183         SH_PFC_PIN_GROUP(avb_avtp_match_b),
2184         SH_PFC_PIN_GROUP(avb_avtp_capture_b),
2185         SH_PFC_PIN_GROUP(du0_rgb666),
2186         SH_PFC_PIN_GROUP(du0_rgb888),
2187         SH_PFC_PIN_GROUP(du0_clk0_out),
2188         SH_PFC_PIN_GROUP(du0_clk1_out),
2189         SH_PFC_PIN_GROUP(du0_clk_in),
2190         SH_PFC_PIN_GROUP(du0_sync),
2191         SH_PFC_PIN_GROUP(du0_oddf),
2192         SH_PFC_PIN_GROUP(du0_cde),
2193         SH_PFC_PIN_GROUP(du0_disp),
2194         SH_PFC_PIN_GROUP(du1_rgb666),
2195         SH_PFC_PIN_GROUP(du1_rgb888),
2196         SH_PFC_PIN_GROUP(du1_clk0_out),
2197         SH_PFC_PIN_GROUP(du1_clk1_out),
2198         SH_PFC_PIN_GROUP(du1_clk_in),
2199         SH_PFC_PIN_GROUP(du1_sync),
2200         SH_PFC_PIN_GROUP(du1_oddf),
2201         SH_PFC_PIN_GROUP(du1_cde),
2202         SH_PFC_PIN_GROUP(du1_disp),
2203         SH_PFC_PIN_GROUP(i2c0_a),
2204         SH_PFC_PIN_GROUP(i2c0_b),
2205         SH_PFC_PIN_GROUP(i2c0_c),
2206         SH_PFC_PIN_GROUP(i2c0_d),
2207         SH_PFC_PIN_GROUP(i2c0_e),
2208         SH_PFC_PIN_GROUP(i2c1_a),
2209         SH_PFC_PIN_GROUP(i2c1_b),
2210         SH_PFC_PIN_GROUP(i2c1_c),
2211         SH_PFC_PIN_GROUP(i2c1_d),
2212         SH_PFC_PIN_GROUP(i2c1_e),
2213         SH_PFC_PIN_GROUP(i2c2_a),
2214         SH_PFC_PIN_GROUP(i2c2_b),
2215         SH_PFC_PIN_GROUP(i2c2_c),
2216         SH_PFC_PIN_GROUP(i2c2_d),
2217         SH_PFC_PIN_GROUP(i2c3_a),
2218         SH_PFC_PIN_GROUP(i2c3_b),
2219         SH_PFC_PIN_GROUP(i2c3_c),
2220         SH_PFC_PIN_GROUP(i2c3_d),
2221         SH_PFC_PIN_GROUP(i2c3_e),
2222         SH_PFC_PIN_GROUP(i2c4_a),
2223         SH_PFC_PIN_GROUP(i2c4_b),
2224         SH_PFC_PIN_GROUP(i2c4_c),
2225         SH_PFC_PIN_GROUP(i2c4_d),
2226         SH_PFC_PIN_GROUP(i2c4_e),
2227         SH_PFC_PIN_GROUP(mmc_data1),
2228         SH_PFC_PIN_GROUP(mmc_data4),
2229         SH_PFC_PIN_GROUP(mmc_data8),
2230         SH_PFC_PIN_GROUP(mmc_ctrl),
2231         SH_PFC_PIN_GROUP(qspi0_ctrl),
2232         SH_PFC_PIN_GROUP(qspi0_data2),
2233         SH_PFC_PIN_GROUP(qspi0_data4),
2234         SH_PFC_PIN_GROUP(qspi1_ctrl),
2235         SH_PFC_PIN_GROUP(qspi1_data2),
2236         SH_PFC_PIN_GROUP(qspi1_data4),
2237         SH_PFC_PIN_GROUP(scif0_data_a),
2238         SH_PFC_PIN_GROUP(scif0_data_b),
2239         SH_PFC_PIN_GROUP(scif0_data_c),
2240         SH_PFC_PIN_GROUP(scif0_data_d),
2241         SH_PFC_PIN_GROUP(scif1_data_a),
2242         SH_PFC_PIN_GROUP(scif1_clk_a),
2243         SH_PFC_PIN_GROUP(scif1_data_b),
2244         SH_PFC_PIN_GROUP(scif1_clk_b),
2245         SH_PFC_PIN_GROUP(scif1_data_c),
2246         SH_PFC_PIN_GROUP(scif1_clk_c),
2247         SH_PFC_PIN_GROUP(scif1_data_d),
2248         SH_PFC_PIN_GROUP(scif2_data_a),
2249         SH_PFC_PIN_GROUP(scif2_clk_a),
2250         SH_PFC_PIN_GROUP(scif2_data_b),
2251         SH_PFC_PIN_GROUP(scif2_clk_b),
2252         SH_PFC_PIN_GROUP(scif2_data_c),
2253         SH_PFC_PIN_GROUP(scif3_data_a),
2254         SH_PFC_PIN_GROUP(scif3_clk),
2255         SH_PFC_PIN_GROUP(scif3_data_b),
2256         SH_PFC_PIN_GROUP(scif3_data_c),
2257         SH_PFC_PIN_GROUP(scif4_data_a),
2258         SH_PFC_PIN_GROUP(scif4_data_b),
2259         SH_PFC_PIN_GROUP(scif4_data_c),
2260         SH_PFC_PIN_GROUP(scif4_data_d),
2261         SH_PFC_PIN_GROUP(scif4_data_e),
2262         SH_PFC_PIN_GROUP(scif5_data_a),
2263         SH_PFC_PIN_GROUP(scif5_data_b),
2264         SH_PFC_PIN_GROUP(scif5_data_c),
2265         SH_PFC_PIN_GROUP(scif5_data_d),
2266         SH_PFC_PIN_GROUP(scif5_data_e),
2267         SH_PFC_PIN_GROUP(scif5_data_f),
2268         SH_PFC_PIN_GROUP(scif_clk_a),
2269         SH_PFC_PIN_GROUP(scif_clk_b),
2270         SH_PFC_PIN_GROUP(sdhi0_data1),
2271         SH_PFC_PIN_GROUP(sdhi0_data4),
2272         SH_PFC_PIN_GROUP(sdhi0_ctrl),
2273         SH_PFC_PIN_GROUP(sdhi0_cd),
2274         SH_PFC_PIN_GROUP(sdhi0_wp),
2275         SH_PFC_PIN_GROUP(sdhi1_data1),
2276         SH_PFC_PIN_GROUP(sdhi1_data4),
2277         SH_PFC_PIN_GROUP(sdhi1_ctrl),
2278         SH_PFC_PIN_GROUP(sdhi1_cd),
2279         SH_PFC_PIN_GROUP(sdhi1_wp),
2280         SH_PFC_PIN_GROUP(sdhi2_data1),
2281         SH_PFC_PIN_GROUP(sdhi2_data4),
2282         SH_PFC_PIN_GROUP(sdhi2_ctrl),
2283         SH_PFC_PIN_GROUP(sdhi2_cd),
2284         SH_PFC_PIN_GROUP(sdhi2_wp),
2285         SH_PFC_PIN_GROUP(usb0),
2286         SH_PFC_PIN_GROUP(usb1),
2287         VIN_DATA_PIN_GROUP(vin0_data, 24),
2288         VIN_DATA_PIN_GROUP(vin0_data, 20),
2289         SH_PFC_PIN_GROUP(vin0_data18),
2290         VIN_DATA_PIN_GROUP(vin0_data, 16),
2291         VIN_DATA_PIN_GROUP(vin0_data, 12),
2292         VIN_DATA_PIN_GROUP(vin0_data, 10),
2293         VIN_DATA_PIN_GROUP(vin0_data, 8),
2294         SH_PFC_PIN_GROUP(vin0_sync),
2295         SH_PFC_PIN_GROUP(vin0_field),
2296         SH_PFC_PIN_GROUP(vin0_clkenb),
2297         SH_PFC_PIN_GROUP(vin0_clk),
2298         VIN_DATA_PIN_GROUP(vin1_data, 12),
2299         VIN_DATA_PIN_GROUP(vin1_data, 10),
2300         VIN_DATA_PIN_GROUP(vin1_data, 8),
2301         SH_PFC_PIN_GROUP(vin1_sync),
2302         SH_PFC_PIN_GROUP(vin1_field),
2303         SH_PFC_PIN_GROUP(vin1_clkenb),
2304         SH_PFC_PIN_GROUP(vin1_clk),
2305 };
2306
2307 static const char * const avb_groups[] = {
2308         "avb_col",
2309         "avb_crs",
2310         "avb_link",
2311         "avb_magic",
2312         "avb_phy_int",
2313         "avb_mdio",
2314         "avb_mii_tx_rx",
2315         "avb_mii_tx_er",
2316         "avb_gmii_tx_rx",
2317         "avb_avtp_match_a",
2318         "avb_avtp_capture_a",
2319         "avb_avtp_match_b",
2320         "avb_avtp_capture_b",
2321 };
2322
2323 static const char * const du0_groups[] = {
2324         "du0_rgb666",
2325         "du0_rgb888",
2326         "du0_clk0_out",
2327         "du0_clk1_out",
2328         "du0_clk_in",
2329         "du0_sync",
2330         "du0_oddf",
2331         "du0_cde",
2332         "du0_disp",
2333 };
2334
2335 static const char * const du1_groups[] = {
2336         "du1_rgb666",
2337         "du1_rgb888",
2338         "du1_clk0_out",
2339         "du1_clk1_out",
2340         "du1_clk_in",
2341         "du1_sync",
2342         "du1_oddf",
2343         "du1_cde",
2344         "du1_disp",
2345 };
2346
2347 static const char * const i2c0_groups[] = {
2348         "i2c0_a",
2349         "i2c0_b",
2350         "i2c0_c",
2351         "i2c0_d",
2352         "i2c0_e",
2353 };
2354
2355 static const char * const i2c1_groups[] = {
2356         "i2c1_a",
2357         "i2c1_b",
2358         "i2c1_c",
2359         "i2c1_d",
2360         "i2c1_e",
2361 };
2362
2363 static const char * const i2c2_groups[] = {
2364         "i2c2_a",
2365         "i2c2_b",
2366         "i2c2_c",
2367         "i2c2_d",
2368 };
2369
2370 static const char * const i2c3_groups[] = {
2371         "i2c3_a",
2372         "i2c3_b",
2373         "i2c3_c",
2374         "i2c3_d",
2375         "i2c3_e",
2376 };
2377
2378 static const char * const i2c4_groups[] = {
2379         "i2c4_a",
2380         "i2c4_b",
2381         "i2c4_c",
2382         "i2c4_d",
2383         "i2c4_e",
2384 };
2385
2386 static const char * const mmc_groups[] = {
2387         "mmc_data1",
2388         "mmc_data4",
2389         "mmc_data8",
2390         "mmc_ctrl",
2391 };
2392
2393 static const char * const qspi0_groups[] = {
2394         "qspi0_ctrl",
2395         "qspi0_data2",
2396         "qspi0_data4",
2397 };
2398
2399 static const char * const qspi1_groups[] = {
2400         "qspi1_ctrl",
2401         "qspi1_data2",
2402         "qspi1_data4",
2403 };
2404
2405 static const char * const scif0_groups[] = {
2406         "scif0_data_a",
2407         "scif0_data_b",
2408         "scif0_data_c",
2409         "scif0_data_d",
2410 };
2411
2412 static const char * const scif1_groups[] = {
2413         "scif1_data_a",
2414         "scif1_clk_a",
2415         "scif1_data_b",
2416         "scif1_clk_b",
2417         "scif1_data_c",
2418         "scif1_clk_c",
2419         "scif1_data_d",
2420 };
2421
2422 static const char * const scif2_groups[] = {
2423         "scif2_data_a",
2424         "scif2_clk_a",
2425         "scif2_data_b",
2426         "scif2_clk_b",
2427         "scif2_data_c",
2428 };
2429
2430 static const char * const scif3_groups[] = {
2431         "scif3_data_a",
2432         "scif3_clk",
2433         "scif3_data_b",
2434         "scif3_data_c",
2435 };
2436
2437 static const char * const scif4_groups[] = {
2438         "scif4_data_a",
2439         "scif4_data_b",
2440         "scif4_data_c",
2441         "scif4_data_d",
2442         "scif4_data_e",
2443 };
2444
2445 static const char * const scif5_groups[] = {
2446         "scif5_data_a",
2447         "scif5_data_b",
2448         "scif5_data_c",
2449         "scif5_data_d",
2450         "scif5_data_e",
2451         "scif5_data_f",
2452 };
2453
2454 static const char * const scif_clk_groups[] = {
2455         "scif_clk_a",
2456         "scif_clk_b",
2457 };
2458
2459 static const char * const sdhi0_groups[] = {
2460         "sdhi0_data1",
2461         "sdhi0_data4",
2462         "sdhi0_ctrl",
2463         "sdhi0_cd",
2464         "sdhi0_wp",
2465 };
2466
2467 static const char * const sdhi1_groups[] = {
2468         "sdhi1_data1",
2469         "sdhi1_data4",
2470         "sdhi1_ctrl",
2471         "sdhi1_cd",
2472         "sdhi1_wp",
2473 };
2474
2475 static const char * const sdhi2_groups[] = {
2476         "sdhi2_data1",
2477         "sdhi2_data4",
2478         "sdhi2_ctrl",
2479         "sdhi2_cd",
2480         "sdhi2_wp",
2481 };
2482
2483 static const char * const usb0_groups[] = {
2484         "usb0",
2485 };
2486
2487 static const char * const usb1_groups[] = {
2488         "usb1",
2489 };
2490
2491 static const char * const vin0_groups[] = {
2492         "vin0_data24",
2493         "vin0_data20",
2494         "vin0_data18",
2495         "vin0_data16",
2496         "vin0_data12",
2497         "vin0_data10",
2498         "vin0_data8",
2499         "vin0_sync",
2500         "vin0_field",
2501         "vin0_clkenb",
2502         "vin0_clk",
2503 };
2504
2505 static const char * const vin1_groups[] = {
2506         "vin1_data12",
2507         "vin1_data10",
2508         "vin1_data8",
2509         "vin1_sync",
2510         "vin1_field",
2511         "vin1_clkenb",
2512         "vin1_clk",
2513 };
2514
2515 static const struct sh_pfc_function pinmux_functions[] = {
2516         SH_PFC_FUNCTION(avb),
2517         SH_PFC_FUNCTION(du0),
2518         SH_PFC_FUNCTION(du1),
2519         SH_PFC_FUNCTION(i2c0),
2520         SH_PFC_FUNCTION(i2c1),
2521         SH_PFC_FUNCTION(i2c2),
2522         SH_PFC_FUNCTION(i2c3),
2523         SH_PFC_FUNCTION(i2c4),
2524         SH_PFC_FUNCTION(mmc),
2525         SH_PFC_FUNCTION(qspi0),
2526         SH_PFC_FUNCTION(qspi1),
2527         SH_PFC_FUNCTION(scif0),
2528         SH_PFC_FUNCTION(scif1),
2529         SH_PFC_FUNCTION(scif2),
2530         SH_PFC_FUNCTION(scif3),
2531         SH_PFC_FUNCTION(scif4),
2532         SH_PFC_FUNCTION(scif5),
2533         SH_PFC_FUNCTION(scif_clk),
2534         SH_PFC_FUNCTION(sdhi0),
2535         SH_PFC_FUNCTION(sdhi1),
2536         SH_PFC_FUNCTION(sdhi2),
2537         SH_PFC_FUNCTION(usb0),
2538         SH_PFC_FUNCTION(usb1),
2539         SH_PFC_FUNCTION(vin0),
2540         SH_PFC_FUNCTION(vin1),
2541 };
2542
2543 static const struct pinmux_cfg_reg pinmux_config_regs[] = {
2544         { PINMUX_CFG_REG("GPSR0", 0xE6060004, 32, 1, GROUP(
2545                 0, 0,
2546                 0, 0,
2547                 0, 0,
2548                 0, 0,
2549                 0, 0,
2550                 0, 0,
2551                 0, 0,
2552                 0, 0,
2553                 0, 0,
2554                 GP_0_22_FN, FN_MMC0_D7,
2555                 GP_0_21_FN, FN_MMC0_D6,
2556                 GP_0_20_FN, FN_IP1_7_4,
2557                 GP_0_19_FN, FN_IP1_3_0,
2558                 GP_0_18_FN, FN_MMC0_D3_SDHI1_D3,
2559                 GP_0_17_FN, FN_MMC0_D2_SDHI1_D2,
2560                 GP_0_16_FN, FN_MMC0_D1_SDHI1_D1,
2561                 GP_0_15_FN, FN_MMC0_D0_SDHI1_D0,
2562                 GP_0_14_FN, FN_MMC0_CMD_SDHI1_CMD,
2563                 GP_0_13_FN, FN_MMC0_CLK_SDHI1_CLK,
2564                 GP_0_12_FN, FN_IP0_31_28,
2565                 GP_0_11_FN, FN_IP0_27_24,
2566                 GP_0_10_FN, FN_IP0_23_20,
2567                 GP_0_9_FN, FN_IP0_19_16,
2568                 GP_0_8_FN, FN_IP0_15_12,
2569                 GP_0_7_FN, FN_IP0_11_8,
2570                 GP_0_6_FN, FN_IP0_7_4,
2571                 GP_0_5_FN, FN_IP0_3_0,
2572                 GP_0_4_FN, FN_CLKOUT,
2573                 GP_0_3_FN, FN_USB1_OVC,
2574                 GP_0_2_FN, FN_USB1_PWEN,
2575                 GP_0_1_FN, FN_USB0_OVC,
2576                 GP_0_0_FN, FN_USB0_PWEN, ))
2577         },
2578         { PINMUX_CFG_REG("GPSR1", 0xE6060008, 32, 1, GROUP(
2579                 0, 0,
2580                 0, 0,
2581                 0, 0,
2582                 0, 0,
2583                 0, 0,
2584                 0, 0,
2585                 0, 0,
2586                 0, 0,
2587                 0, 0,
2588                 GP_1_22_FN, FN_IP4_3_0,
2589                 GP_1_21_FN, FN_IP3_31_28,
2590                 GP_1_20_FN, FN_IP3_27_24,
2591                 GP_1_19_FN, FN_IP3_23_20,
2592                 GP_1_18_FN, FN_IP3_19_16,
2593                 GP_1_17_FN, FN_IP3_15_12,
2594                 GP_1_16_FN, FN_IP3_11_8,
2595                 GP_1_15_FN, FN_IP3_7_4,
2596                 GP_1_14_FN, FN_IP3_3_0,
2597                 GP_1_13_FN, FN_IP2_31_28,
2598                 GP_1_12_FN, FN_IP2_27_24,
2599                 GP_1_11_FN, FN_IP2_23_20,
2600                 GP_1_10_FN, FN_IP2_19_16,
2601                 GP_1_9_FN, FN_IP2_15_12,
2602                 GP_1_8_FN, FN_IP2_11_8,
2603                 GP_1_7_FN, FN_IP2_7_4,
2604                 GP_1_6_FN, FN_IP2_3_0,
2605                 GP_1_5_FN, FN_IP1_31_28,
2606                 GP_1_4_FN, FN_IP1_27_24,
2607                 GP_1_3_FN, FN_IP1_23_20,
2608                 GP_1_2_FN, FN_IP1_19_16,
2609                 GP_1_1_FN, FN_IP1_15_12,
2610                 GP_1_0_FN, FN_IP1_11_8, ))
2611         },
2612         { PINMUX_CFG_REG("GPSR2", 0xE606000C, 32, 1, GROUP(
2613                 GP_2_31_FN, FN_IP8_3_0,
2614                 GP_2_30_FN, FN_IP7_31_28,
2615                 GP_2_29_FN, FN_IP7_27_24,
2616                 GP_2_28_FN, FN_IP7_23_20,
2617                 GP_2_27_FN, FN_IP7_19_16,
2618                 GP_2_26_FN, FN_IP7_15_12,
2619                 GP_2_25_FN, FN_IP7_11_8,
2620                 GP_2_24_FN, FN_IP7_7_4,
2621                 GP_2_23_FN, FN_IP7_3_0,
2622                 GP_2_22_FN, FN_IP6_31_28,
2623                 GP_2_21_FN, FN_IP6_27_24,
2624                 GP_2_20_FN, FN_IP6_23_20,
2625                 GP_2_19_FN, FN_IP6_19_16,
2626                 GP_2_18_FN, FN_IP6_15_12,
2627                 GP_2_17_FN, FN_IP6_11_8,
2628                 GP_2_16_FN, FN_IP6_7_4,
2629                 GP_2_15_FN, FN_IP6_3_0,
2630                 GP_2_14_FN, FN_IP5_31_28,
2631                 GP_2_13_FN, FN_IP5_27_24,
2632                 GP_2_12_FN, FN_IP5_23_20,
2633                 GP_2_11_FN, FN_IP5_19_16,
2634                 GP_2_10_FN, FN_IP5_15_12,
2635                 GP_2_9_FN, FN_IP5_11_8,
2636                 GP_2_8_FN, FN_IP5_7_4,
2637                 GP_2_7_FN, FN_IP5_3_0,
2638                 GP_2_6_FN, FN_IP4_31_28,
2639                 GP_2_5_FN, FN_IP4_27_24,
2640                 GP_2_4_FN, FN_IP4_23_20,
2641                 GP_2_3_FN, FN_IP4_19_16,
2642                 GP_2_2_FN, FN_IP4_15_12,
2643                 GP_2_1_FN, FN_IP4_11_8,
2644                 GP_2_0_FN, FN_IP4_7_4, ))
2645         },
2646         { PINMUX_CFG_REG("GPSR3", 0xE6060010, 32, 1, GROUP(
2647                 0, 0,
2648                 0, 0,
2649                 GP_3_29_FN, FN_IP10_19_16,
2650                 GP_3_28_FN, FN_IP10_15_12,
2651                 GP_3_27_FN, FN_IP10_11_8,
2652                 0, 0,
2653                 0, 0,
2654                 0, 0,
2655                 0, 0,
2656                 0, 0,
2657                 0, 0,
2658                 0, 0,
2659                 0, 0,
2660                 0, 0,
2661                 0, 0,
2662                 GP_3_16_FN, FN_IP10_7_4,
2663                 GP_3_15_FN, FN_IP10_3_0,
2664                 GP_3_14_FN, FN_IP9_31_28,
2665                 GP_3_13_FN, FN_IP9_27_24,
2666                 GP_3_12_FN, FN_IP9_23_20,
2667                 GP_3_11_FN, FN_IP9_19_16,
2668                 GP_3_10_FN, FN_IP9_15_12,
2669                 GP_3_9_FN, FN_IP9_11_8,
2670                 GP_3_8_FN, FN_IP9_7_4,
2671                 GP_3_7_FN, FN_IP9_3_0,
2672                 GP_3_6_FN, FN_IP8_31_28,
2673                 GP_3_5_FN, FN_IP8_27_24,
2674                 GP_3_4_FN, FN_IP8_23_20,
2675                 GP_3_3_FN, FN_IP8_19_16,
2676                 GP_3_2_FN, FN_IP8_15_12,
2677                 GP_3_1_FN, FN_IP8_11_8,
2678                 GP_3_0_FN, FN_IP8_7_4, ))
2679         },
2680         { PINMUX_CFG_REG("GPSR4", 0xE6060014, 32, 1, GROUP(
2681                 0, 0,
2682                 0, 0,
2683                 0, 0,
2684                 0, 0,
2685                 0, 0,
2686                 0, 0,
2687                 GP_4_25_FN, FN_IP13_27_24,
2688                 GP_4_24_FN, FN_IP13_23_20,
2689                 GP_4_23_FN, FN_IP13_19_16,
2690                 GP_4_22_FN, FN_IP13_15_12,
2691                 GP_4_21_FN, FN_IP13_11_8,
2692                 GP_4_20_FN, FN_IP13_7_4,
2693                 GP_4_19_FN, FN_IP13_3_0,
2694                 GP_4_18_FN, FN_IP12_31_28,
2695                 GP_4_17_FN, FN_IP12_27_24,
2696                 GP_4_16_FN, FN_IP12_23_20,
2697                 GP_4_15_FN, FN_IP12_19_16,
2698                 GP_4_14_FN, FN_IP12_15_12,
2699                 GP_4_13_FN, FN_IP12_11_8,
2700                 GP_4_12_FN, FN_IP12_7_4,
2701                 GP_4_11_FN, FN_IP12_3_0,
2702                 GP_4_10_FN, FN_IP11_31_28,
2703                 GP_4_9_FN, FN_IP11_27_24,
2704                 GP_4_8_FN, FN_IP11_23_20,
2705                 GP_4_7_FN, FN_IP11_19_16,
2706                 GP_4_6_FN, FN_IP11_15_12,
2707                 GP_4_5_FN, FN_IP11_11_8,
2708                 GP_4_4_FN, FN_IP11_7_4,
2709                 GP_4_3_FN, FN_IP11_3_0,
2710                 GP_4_2_FN, FN_IP10_31_28,
2711                 GP_4_1_FN, FN_IP10_27_24,
2712                 GP_4_0_FN, FN_IP10_23_20, ))
2713         },
2714         { PINMUX_CFG_REG("GPSR5", 0xE6060018, 32, 1, GROUP(
2715                 GP_5_31_FN, FN_IP17_27_24,
2716                 GP_5_30_FN, FN_IP17_23_20,
2717                 GP_5_29_FN, FN_IP17_19_16,
2718                 GP_5_28_FN, FN_IP17_15_12,
2719                 GP_5_27_FN, FN_IP17_11_8,
2720                 GP_5_26_FN, FN_IP17_7_4,
2721                 GP_5_25_FN, FN_IP17_3_0,
2722                 GP_5_24_FN, FN_IP16_31_28,
2723                 GP_5_23_FN, FN_IP16_27_24,
2724                 GP_5_22_FN, FN_IP16_23_20,
2725                 GP_5_21_FN, FN_IP16_19_16,
2726                 GP_5_20_FN, FN_IP16_15_12,
2727                 GP_5_19_FN, FN_IP16_11_8,
2728                 GP_5_18_FN, FN_IP16_7_4,
2729                 GP_5_17_FN, FN_IP16_3_0,
2730                 GP_5_16_FN, FN_IP15_31_28,
2731                 GP_5_15_FN, FN_IP15_27_24,
2732                 GP_5_14_FN, FN_IP15_23_20,
2733                 GP_5_13_FN, FN_IP15_19_16,
2734                 GP_5_12_FN, FN_IP15_15_12,
2735                 GP_5_11_FN, FN_IP15_11_8,
2736                 GP_5_10_FN, FN_IP15_7_4,
2737                 GP_5_9_FN, FN_IP15_3_0,
2738                 GP_5_8_FN, FN_IP14_31_28,
2739                 GP_5_7_FN, FN_IP14_27_24,
2740                 GP_5_6_FN, FN_IP14_23_20,
2741                 GP_5_5_FN, FN_IP14_19_16,
2742                 GP_5_4_FN, FN_IP14_15_12,
2743                 GP_5_3_FN, FN_IP14_11_8,
2744                 GP_5_2_FN, FN_IP14_7_4,
2745                 GP_5_1_FN, FN_IP14_3_0,
2746                 GP_5_0_FN, FN_IP13_31_28, ))
2747         },
2748         { PINMUX_CFG_REG_VAR("IPSR0", 0xE6060040, 32,
2749                              GROUP(4, 4, 4, 4, 4, 4, 4, 4),
2750                              GROUP(
2751                 /* IP0_31_28 [4] */
2752                 FN_SD0_WP, FN_IRQ7, FN_CAN0_TX_A, 0, 0, 0, 0, 0,
2753                 0, 0, 0, 0, 0, 0, 0, 0,
2754                 /* IP0_27_24 [4] */
2755                 FN_SD0_CD, 0, FN_CAN0_RX_A, 0, 0, 0, 0, 0,
2756                 0, 0, 0, 0, 0, 0, 0, 0,
2757                 /* IP0_23_20 [4] */
2758                 FN_SD0_DAT3, 0, 0, FN_SSI_SDATA0_B, FN_TX5_E, 0, 0, 0,
2759                 0, 0, 0, 0, 0, 0, 0, 0,
2760                 /* IP0_19_16 [4] */
2761                 FN_SD0_DAT2, 0, 0, FN_SSI_WS0129_B, FN_RX5_E, 0, 0, 0,
2762                 0, 0, 0, 0, 0, 0, 0, 0,
2763                 /* IP0_15_12 [4] */
2764                 FN_SD0_DAT1, 0, 0, FN_SSI_SCK0129_B, FN_TX4_E, 0, 0, 0,
2765                 0, 0, 0, 0, 0, 0, 0, 0,
2766                 /* IP0_11_8 [4] */
2767                 FN_SD0_DAT0, 0, 0, FN_SSI_SDATA1_C, FN_RX4_E, 0, 0, 0,
2768                 0, 0, 0, 0, 0, 0, 0, 0,
2769                 /* IP0_7_4 [4] */
2770                 FN_SD0_CMD, 0, 0, FN_SSI_WS1_C, FN_TX3_C, 0, 0, 0,
2771                 0, 0, 0, 0, 0, 0, 0, 0,
2772                 /* IP0_3_0 [4] */
2773                 FN_SD0_CLK, 0, 0, FN_SSI_SCK1_C, FN_RX3_C, 0, 0, 0,
2774                 0, 0, 0, 0, 0, 0, 0, 0, ))
2775         },
2776         { PINMUX_CFG_REG_VAR("IPSR1", 0xE6060044, 32,
2777                              GROUP(4, 4, 4, 4, 4, 4, 4, 4),
2778                              GROUP(
2779                 /* IP1_31_28 [4] */
2780                 FN_D5, FN_HRX2, FN_SCL1_B, FN_PWM2_C, FN_TCLK2_B, 0, 0, 0,
2781                 0, 0, 0, 0, 0, 0, 0, 0,
2782                 /* IP1_27_24 [4] */
2783                 FN_D4, 0, FN_IRQ3, FN_TCLK1_A, FN_PWM6_C, 0, 0, 0,
2784                 0, 0, 0, 0, 0, 0, 0, 0,
2785                 /* IP1_23_20 [4] */
2786                 FN_D3, 0, FN_TX4_B, FN_SDA0_D, FN_PWM0_A,
2787                 FN_MSIOF2_SYNC_C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2788                 /* IP1_19_16 [4] */
2789                 FN_D2, 0, FN_RX4_B, FN_SCL0_D, FN_PWM1_C,
2790                 FN_MSIOF2_SCK_C, FN_SSI_SCK5_B, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2791                 /* IP1_15_12 [4] */
2792                 FN_D1, 0, FN_SDA3_B, FN_TX5_B, 0, FN_MSIOF2_TXD_C,
2793                 FN_SSI_WS5_B, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2794                 /* IP1_11_8 [4] */
2795                 FN_D0, 0, FN_SCL3_B, FN_RX5_B, FN_IRQ4,
2796                 FN_MSIOF2_RXD_C, FN_SSI_SDATA5_B, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2797                 /* IP1_7_4 [4] */
2798                 FN_MMC0_D5, FN_SD1_WP, 0, 0, 0, 0, 0, 0,
2799                 0, 0, 0, 0, 0, 0, 0, 0,
2800                 /* IP1_3_0 [4] */
2801                 FN_MMC0_D4, FN_SD1_CD, 0, 0, 0, 0, 0, 0,
2802                 0, 0, 0, 0, 0, 0, 0, 0, ))
2803         },
2804         { PINMUX_CFG_REG_VAR("IPSR2", 0xE6060048, 32,
2805                              GROUP(4, 4, 4, 4, 4, 4, 4, 4),
2806                              GROUP(
2807                 /* IP2_31_28 [4] */
2808                 FN_D13, FN_MSIOF2_SYNC_A, 0, FN_RX4_C, 0, 0, 0, 0, 0,
2809                 0, 0, 0, 0, 0, 0, 0,
2810                 /* IP2_27_24 [4] */
2811                 FN_D12, FN_MSIOF2_SCK_A, FN_HSCK0, 0, FN_CAN_CLK_C,
2812                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2813                 /* IP2_23_20 [4] */
2814                 FN_D11, FN_MSIOF2_TXD_A, FN_HTX0_B, 0, 0, 0, 0, 0, 0,
2815                 0, 0, 0, 0, 0, 0, 0,
2816                 /* IP2_19_16 [4] */
2817                 FN_D10, FN_MSIOF2_RXD_A, FN_HRX0_B, 0, 0, 0, 0, 0, 0,
2818                 0, 0, 0, 0, 0, 0, 0,
2819                 /* IP2_15_12 [4] */
2820                 FN_D9, FN_HRTS2_N, FN_TX1_C, FN_SDA1_D, 0, 0, 0,
2821                 0, 0, 0, 0, 0, 0, 0, 0, 0,
2822                 /* IP2_11_8 [4] */
2823                 FN_D8, FN_HCTS2_N, FN_RX1_C, FN_SCL1_D, FN_PWM3_C, 0,
2824                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2825                 /* IP2_7_4 [4] */
2826                 FN_D7, FN_HSCK2, FN_SCIF1_SCK_C, FN_IRQ6, FN_PWM5_C,
2827                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2828                 /* IP2_3_0 [4] */
2829                 FN_D6, FN_HTX2, FN_SDA1_B, FN_PWM4_C, 0, 0, 0, 0,
2830                 0, 0, 0, 0, 0, 0, 0, 0, ))
2831         },
2832         { PINMUX_CFG_REG_VAR("IPSR3", 0xE606004C, 32,
2833                              GROUP(4, 4, 4, 4, 4, 4, 4, 4),
2834                              GROUP(
2835                 /* IP3_31_28 [4] */
2836                 FN_QSPI0_SSL, FN_WE1_N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2837                 0, 0,
2838                 /* IP3_27_24 [4] */
2839                 FN_QSPI0_IO3, FN_RD_N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2840                 0, 0,
2841                 /* IP3_23_20 [4] */
2842                 FN_QSPI0_IO2, FN_CS0_N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2843                 0, 0,
2844                 /* IP3_19_16 [4] */
2845                 FN_QSPI0_MISO_QSPI0_IO1, FN_RD_WR_N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2846                 0, 0, 0, 0,
2847                 /* IP3_15_12 [4] */
2848                 FN_QSPI0_MOSI_QSPI0_IO0, FN_BS_N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2849                 0, 0, 0,
2850                 /* IP3_11_8 [4] */
2851                 FN_QSPI0_SPCLK, FN_WE0_N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2852                 0, 0,
2853                 /* IP3_7_4 [4] */
2854                 FN_D15, FN_MSIOF2_SS2, FN_PWM4_A, 0, FN_CAN1_TX_B, FN_IRQ2,
2855                 FN_AVB_AVTP_MATCH_A, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2856                 /* IP3_3_0 [4] */
2857                 FN_D14, FN_MSIOF2_SS1, 0, FN_TX4_C, FN_CAN1_RX_B,
2858                 0, FN_AVB_AVTP_CAPTURE_A,
2859                 0, 0, 0, 0, 0, 0, 0, 0, 0, ))
2860         },
2861         { PINMUX_CFG_REG_VAR("IPSR4", 0xE6060050, 32,
2862                              GROUP(4, 4, 4, 4, 4, 4, 4, 4),
2863                              GROUP(
2864                 /* IP4_31_28 [4] */
2865                 FN_DU0_DR6, 0, FN_RX2_C, 0, 0, 0, FN_A6, 0,
2866                 0, 0, 0, 0, 0, 0, 0, 0,
2867                 /* IP4_27_24 [4] */
2868                 FN_DU0_DR5, 0, FN_TX1_D, 0, FN_PWM1_B, 0, FN_A5, 0,
2869                 0, 0, 0, 0, 0, 0, 0, 0,
2870                 /* IP4_23_20 [4] */
2871                 FN_DU0_DR4, 0, FN_RX1_D, 0, 0, 0, FN_A4, 0, 0, 0, 0,
2872                 0, 0, 0, 0, 0,
2873                 /* IP4_19_16 [4] */
2874                 FN_DU0_DR3, 0, FN_TX0_D, FN_SDA0_E, FN_PWM0_B, 0,
2875                 FN_A3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2876                 /* IP4_15_12 [4] */
2877                 FN_DU0_DR2, 0, FN_RX0_D, FN_SCL0_E, 0, 0, FN_A2, 0,
2878                 0, 0, 0, 0, 0, 0, 0, 0,
2879                 /* IP4_11_8 [4] */
2880                 FN_DU0_DR1, 0, FN_TX5_C, FN_SDA2_D, 0, 0, FN_A1, 0,
2881                 0, 0, 0, 0, 0, 0, 0, 0,
2882                 /* IP4_7_4 [4] */
2883                 FN_DU0_DR0, 0, FN_RX5_C, FN_SCL2_D, 0, 0, FN_A0, 0,
2884                 0, 0, 0, 0, 0, 0, 0, 0,
2885                 /* IP4_3_0 [4] */
2886                 FN_EX_WAIT0, FN_CAN_CLK_B, FN_SCIF_CLK_A, 0, 0, 0, 0,
2887                 0, 0, 0, 0, 0, 0, 0, 0, 0, ))
2888         },
2889         { PINMUX_CFG_REG_VAR("IPSR5", 0xE6060054, 32,
2890                              GROUP(4, 4, 4, 4, 4, 4, 4, 4),
2891                              GROUP(
2892                 /* IP5_31_28 [4] */
2893                 FN_DU0_DG6, 0, FN_HRX1_C, 0, 0, 0, FN_A14,  0, 0, 0,
2894                 0, 0, 0, 0, 0, 0,
2895                 /* IP5_27_24 [4] */
2896                 FN_DU0_DG5, 0, FN_HTX0_A, 0, FN_PWM5_B, 0, FN_A13,
2897                 0, 0, 0, 0, 0, 0, 0, 0, 0,
2898                 /* IP5_23_20 [4] */
2899                 FN_DU0_DG4, 0, FN_HRX0_A, 0, 0, 0, FN_A12, 0, 0, 0,
2900                 0, 0, 0, 0, 0, 0,
2901                 /* IP5_19_16 [4] */
2902                 FN_DU0_DG3, 0, FN_TX4_D, 0, FN_PWM4_B, 0, FN_A11, 0,
2903                 0, 0, 0, 0, 0, 0, 0, 0,
2904                 /* IP5_15_12 [4] */
2905                 FN_DU0_DG2, 0, FN_RX4_D, 0, 0, 0, FN_A10, 0, 0, 0,
2906                 0, 0, 0, 0, 0, 0,
2907                 /* IP5_11_8 [4] */
2908                 FN_DU0_DG1, 0, FN_TX3_B, FN_SDA3_D, FN_PWM3_B, 0,
2909                 FN_A9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2910                 /* IP5_7_4 [4] */
2911                 FN_DU0_DG0, 0, FN_RX3_B, FN_SCL3_D, 0, 0, FN_A8, 0,
2912                 0, 0, 0, 0, 0, 0, 0, 0,
2913                 /* IP5_3_0 [4] */
2914                 FN_DU0_DR7, 0, FN_TX2_C, 0, FN_PWM2_B, 0, FN_A7, 0,
2915                 0, 0, 0, 0, 0, 0, 0, 0, ))
2916         },
2917         { PINMUX_CFG_REG_VAR("IPSR6", 0xE6060058, 32,
2918                              GROUP(4, 4, 4, 4, 4, 4, 4, 4),
2919                              GROUP(
2920                 /* IP6_31_28 [4] */
2921                 FN_DU0_DB6, 0, 0, 0, 0, 0, FN_A22, 0, 0,
2922                 0, 0, 0, 0, 0, 0, 0,
2923                 /* IP6_27_24 [4] */
2924                 FN_DU0_DB5, 0, FN_HRTS1_N_C, 0, 0, 0,
2925                 FN_A21, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2926                 /* IP6_23_20 [4] */
2927                 FN_DU0_DB4, 0, FN_HCTS1_N_C, 0, 0, 0,
2928                 FN_A20, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2929                 /* IP6_19_16 [4] */
2930                 FN_DU0_DB3, 0, FN_HRTS0_N, 0, 0, 0, FN_A19, 0, 0, 0,
2931                 0, 0, 0, 0, 0, 0,
2932                 /* IP6_15_12 [4] */
2933                 FN_DU0_DB2, 0, FN_HCTS0_N, 0, 0, 0, FN_A18, 0, 0, 0,
2934                 0, 0, 0, 0, 0, 0,
2935                 /* IP6_11_8 [4] */
2936                 FN_DU0_DB1, 0, 0, FN_SDA4_D, FN_CAN0_TX_C, 0, FN_A17,
2937                 0, 0, 0, 0, 0, 0, 0, 0, 0,
2938                 /* IP6_7_4 [4] */
2939                 FN_DU0_DB0, 0, 0, FN_SCL4_D, FN_CAN0_RX_C, 0, FN_A16,
2940                 0, 0, 0, 0, 0, 0, 0, 0, 0,
2941                 /* IP6_3_0 [4] */
2942                 FN_DU0_DG7, 0, FN_HTX1_C, 0,  FN_PWM6_B, 0, FN_A15,
2943                 0, 0, 0, 0, 0, 0, 0, 0, 0, ))
2944         },
2945         { PINMUX_CFG_REG_VAR("IPSR7", 0xE606005C, 32,
2946                              GROUP(4, 4, 4, 4, 4, 4, 4, 4),
2947                              GROUP(
2948                 /* IP7_31_28 [4] */
2949                 FN_DU0_DISP, 0, 0, 0, FN_CAN1_RX_C, 0, 0, 0, 0, 0, 0,
2950                 0, 0, 0, 0, 0,
2951                 /* IP7_27_24 [4] */
2952                 FN_DU0_EXODDF_DU0_ODDF_DISP_CDE, 0, FN_MSIOF2_SCK_B,
2953                 0, 0, 0, FN_DRACK0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2954                 /* IP7_23_20 [4] */
2955                 FN_DU0_EXVSYNC_DU0_VSYNC, 0, FN_MSIOF2_SYNC_B, 0,
2956                 0, 0, FN_DACK0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2957                 /* IP7_19_16 [4] */
2958                 FN_DU0_EXHSYNC_DU0_HSYNC, 0, FN_MSIOF2_TXD_B, 0,
2959                 0, 0, FN_DREQ0_N, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2960                 /* IP7_15_12 [4] */
2961                 FN_DU0_DOTCLKOUT1, 0, FN_MSIOF2_RXD_B, 0, 0, 0,
2962                 FN_CS1_N_A26, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2963                 /* IP7_11_8 [4] */
2964                 FN_DU0_DOTCLKOUT0, 0, 0, 0, 0, 0, FN_A25, 0, 0, 0, 0,
2965                 0, 0, 0, 0, 0,
2966                 /* IP7_7_4 [4] */
2967                 FN_DU0_DOTCLKIN, 0, 0, 0, 0, 0, FN_A24, 0, 0, 0,
2968                 0, 0, 0, 0, 0, 0,
2969                 /* IP7_3_0 [4] */
2970                 FN_DU0_DB7, 0, 0, 0, 0, 0, FN_A23, 0, 0,
2971                 0, 0, 0, 0, 0, 0, 0, ))
2972         },
2973         { PINMUX_CFG_REG_VAR("IPSR8", 0xE6060060, 32,
2974                              GROUP(4, 4, 4, 4, 4, 4, 4, 4),
2975                              GROUP(
2976                 /* IP8_31_28 [4] */
2977                 FN_VI1_DATA5, 0, 0, 0, FN_AVB_RXD4, FN_ETH_LINK, 0, 0, 0, 0,
2978                 0, 0, 0, 0, 0, 0,
2979                 /* IP8_27_24 [4] */
2980                 FN_VI1_DATA4, 0, 0, 0, FN_AVB_RXD3, FN_ETH_RX_ER, 0, 0, 0, 0,
2981                 0, 0, 0, 0, 0, 0,
2982                 /* IP8_23_20 [4] */
2983                 FN_VI1_DATA3, 0, 0, 0, FN_AVB_RXD2, FN_ETH_MDIO, 0, 0, 0, 0,
2984                 0, 0, 0, 0, 0, 0,
2985                 /* IP8_19_16 [4] */
2986                 FN_VI1_DATA2, 0, 0, 0, FN_AVB_RXD1, FN_ETH_RXD1, 0, 0, 0, 0,
2987                 0, 0, 0, 0, 0, 0,
2988                 /* IP8_15_12 [4] */
2989                 FN_VI1_DATA1, 0, 0, 0, FN_AVB_RXD0, FN_ETH_RXD0, 0, 0, 0, 0,
2990                 0, 0, 0, 0, 0, 0,
2991                 /* IP8_11_8 [4] */
2992                 FN_VI1_DATA0, 0, 0, 0, FN_AVB_RX_DV, FN_ETH_CRS_DV, 0, 0, 0,
2993                 0, 0, 0, 0, 0, 0, 0,
2994                 /* IP8_7_4 [4] */
2995                 FN_VI1_CLK, 0, 0, 0, FN_AVB_RX_CLK, FN_ETH_REF_CLK, 0, 0, 0,
2996                 0, 0, 0, 0, 0, 0, 0,
2997                 /* IP8_3_0 [4] */
2998                 FN_DU0_CDE, 0, 0, 0, FN_CAN1_TX_C, 0, 0, 0, 0, 0, 0, 0,
2999                 0, 0, 0, 0, ))
3000         },
3001         { PINMUX_CFG_REG_VAR("IPSR9", 0xE6060064, 32,
3002                              GROUP(4, 4, 4, 4, 4, 4, 4, 4),
3003                              GROUP(
3004                 /* IP9_31_28 [4] */
3005                 FN_VI1_DATA9, 0, 0, FN_SDA2_B, FN_AVB_TXD0, 0, 0, 0, 0, 0, 0,
3006                 0, 0, 0, 0, 0,
3007                 /* IP9_27_24 [4] */
3008                 FN_VI1_DATA8, 0, 0, FN_SCL2_B, FN_AVB_TX_EN, 0, 0, 0, 0, 0, 0,
3009                 0, 0, 0, 0, 0,
3010                 /* IP9_23_20 [4] */
3011                 FN_VI1_VSYNC_N, FN_TX0_B, FN_SDA0_C, FN_AUDIO_CLKOUT_B,
3012                 FN_AVB_TX_CLK, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3013                 /* IP9_19_16 [4] */
3014                 FN_VI1_HSYNC_N, FN_RX0_B, FN_SCL0_C, 0, FN_AVB_GTXREFCLK,
3015                 FN_ETH_MDC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3016                 /* IP9_15_12 [4] */
3017                 FN_VI1_FIELD, FN_SDA3_A, 0, 0, FN_AVB_RX_ER, FN_ETH_TXD0, 0,
3018                 0, 0, 0, 0, 0, 0, 0, 0, 0,
3019                 /* IP9_11_8 [4] */
3020                 FN_VI1_CLKENB, FN_SCL3_A, 0, 0, FN_AVB_RXD7, FN_ETH_MAGIC, 0,
3021                 0, 0, 0, 0, 0, 0, 0, 0, 0,
3022                 /* IP9_7_4 [4] */
3023                 FN_VI1_DATA7, 0, 0, 0, FN_AVB_RXD6, FN_ETH_TX_EN, 0, 0, 0, 0,
3024                 0, 0, 0, 0, 0, 0,
3025                 /* IP9_3_0 [4] */
3026                 FN_VI1_DATA6, 0, 0, 0, FN_AVB_RXD5, FN_ETH_TXD1, 0, 0, 0, 0,
3027                 0, 0, 0, 0, 0, 0, ))
3028         },
3029         { PINMUX_CFG_REG_VAR("IPSR10", 0xE6060068, 32,
3030                              GROUP(4, 4, 4, 4, 4, 4, 4, 4),
3031                              GROUP(
3032                 /* IP10_31_28 [4] */
3033                 FN_SCL1_A, FN_RX4_A, FN_PWM5_D, FN_DU1_DR0, 0, 0,
3034                 FN_SSI_SCK6_B, FN_VI0_G0, 0, 0, 0, 0, 0, 0, 0, 0,
3035                 /* IP10_27_24 [4] */
3036                 FN_SDA0_A, FN_TX0_C, FN_IRQ5, FN_CAN_CLK_A, FN_AVB_GTX_CLK,
3037                 FN_CAN1_TX_D, FN_DVC_MUTE, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3038                 /* IP10_23_20 [4] */
3039                 FN_SCL0_A, FN_RX0_C, FN_PWM5_A, FN_TCLK1_B, FN_AVB_TXD6,
3040                 FN_CAN1_RX_D, FN_MSIOF0_SYNC_B, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3041                 /* IP10_19_16 [4] */
3042                 FN_AVB_TXD5, FN_SCIF_CLK_B, FN_AUDIO_CLKC_B, 0,
3043                 FN_SSI_SDATA1_D, 0, FN_MSIOF0_SCK_B, 0, 0, 0, 0, 0, 0, 0,
3044                 0, 0,
3045                 /* IP10_15_12 [4] */
3046                 FN_AVB_TXD4, 0, FN_AUDIO_CLKB_B, 0, FN_SSI_WS1_D, FN_TX5_F,
3047                 FN_MSIOF0_TXD_B, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3048                 /* IP10_11_8 [4] */
3049                 FN_AVB_TXD3, 0, FN_AUDIO_CLKA_B, 0, FN_SSI_SCK1_D, FN_RX5_F,
3050                 FN_MSIOF0_RXD_B, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3051                 /* IP10_7_4 [4] */
3052                 FN_VI1_DATA11, 0, 0, FN_CAN0_TX_B, FN_AVB_TXD2, 0, 0, 0, 0,
3053                 0, 0, 0, 0, 0, 0, 0,
3054                 /* IP10_3_0 [4] */
3055                 FN_VI1_DATA10, 0, 0, FN_CAN0_RX_B, FN_AVB_TXD1, 0, 0, 0, 0,
3056                 0, 0, 0, 0, 0, 0, 0, ))
3057         },
3058         { PINMUX_CFG_REG_VAR("IPSR11", 0xE606006C, 32,
3059                              GROUP(4, 4, 4, 4, 4, 4, 4, 4),
3060                              GROUP(
3061                 /* IP11_31_28 [4] */
3062                 FN_HRX1_A, FN_SCL4_A, FN_PWM6_A, FN_DU1_DG0, FN_RX0_A, 0, 0,
3063                 0, 0, 0, 0, 0, 0, 0, 0, 0,
3064                 /* IP11_27_24 [4] */
3065                 FN_MSIOF0_SS2_A, 0, 0, FN_DU1_DR7, 0,
3066                 FN_QSPI1_SSL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3067                 /* IP11_23_20 [4] */
3068                 FN_MSIOF0_SS1_A, 0, 0, FN_DU1_DR6, 0,
3069                 FN_QSPI1_IO3, FN_SSI_SDATA8_B, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3070                 /* IP11_19_16 [4] */
3071                 FN_MSIOF0_SYNC_A, FN_PWM1_A, 0, FN_DU1_DR5,
3072                 0, FN_QSPI1_IO2, FN_SSI_SDATA7_B, 0, 0, 0, 0, 0,
3073                 0, 0, 0, 0,
3074                 /* IP11_15_12 [4] */
3075                 FN_MSIOF0_SCK_A, FN_IRQ0, 0, FN_DU1_DR4,
3076                 0, FN_QSPI1_SPCLK, FN_SSI_SCK78_B, FN_VI0_G4,
3077                 0, 0, 0, 0, 0, 0, 0, 0,
3078                 /* IP11_11_8 [4] */
3079                 FN_MSIOF0_TXD_A, FN_TX5_A, FN_SDA2_C, FN_DU1_DR3, 0,
3080                 FN_QSPI1_MISO_QSPI1_IO1, FN_SSI_WS78_B, FN_VI0_G3,
3081                 0, 0, 0, 0, 0, 0, 0, 0,
3082                 /* IP11_7_4 [4] */
3083                 FN_MSIOF0_RXD_A, FN_RX5_A, FN_SCL2_C, FN_DU1_DR2, 0,
3084                 FN_QSPI1_MOSI_QSPI1_IO0, FN_SSI_SDATA6_B, FN_VI0_G2,
3085                 0, 0, 0, 0, 0, 0, 0, 0,
3086                 /* IP11_3_0 [4] */
3087                 FN_SDA1_A, FN_TX4_A, 0, FN_DU1_DR1, 0, 0, FN_SSI_WS6_B,
3088                 FN_VI0_G1, 0, 0, 0, 0, 0, 0, 0, 0, ))
3089         },
3090         { PINMUX_CFG_REG_VAR("IPSR12", 0xE6060070, 32,
3091                              GROUP(4, 4, 4, 4, 4, 4, 4, 4),
3092                              GROUP(
3093                 /* IP12_31_28 [4] */
3094                 FN_SD2_DAT2, FN_RX2_A, 0, FN_DU1_DB0, FN_SSI_SDATA2_B, 0, 0,
3095                 0, 0, 0, 0, 0, 0, 0, 0, 0,
3096                 /* IP12_27_24 [4] */
3097                 FN_SD2_DAT1, FN_TX1_A, FN_SDA1_E, FN_DU1_DG7, FN_SSI_WS2_B,
3098                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3099                 /* IP12_23_20 [4] */
3100                 FN_SD2_DAT0, FN_RX1_A, FN_SCL1_E, FN_DU1_DG6,
3101                 FN_SSI_SDATA1_B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3102                 /* IP12_19_16 [4] */
3103                 FN_SD2_CMD, FN_SCIF1_SCK_A, FN_TCLK2_A, FN_DU1_DG5,
3104                 FN_SSI_SCK2_B, FN_PWM3_A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3105                 /* IP12_15_12 [4] */
3106                 FN_SD2_CLK, FN_HSCK1, 0, FN_DU1_DG4, FN_SSI_SCK1_B, 0, 0, 0,
3107                 0, 0, 0, 0, 0, 0, 0, 0,
3108                 /* IP12_11_8 [4] */
3109                 FN_HRTS1_N_A, 0, 0, FN_DU1_DG3, FN_SSI_WS1_B, FN_IRQ1, 0, 0,
3110                 0, 0, 0, 0, 0, 0, 0, 0,
3111                 /* IP12_7_4 [4] */
3112                 FN_HCTS1_N_A, FN_PWM2_A, 0, FN_DU1_DG2, FN_REMOCON_B,
3113                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3114                 /* IP12_3_0 [4] */
3115                 FN_HTX1_A, FN_SDA4_A, 0, FN_DU1_DG1, FN_TX0_A, 0, 0, 0, 0, 0,
3116                 0, 0, 0, 0, 0, 0, ))
3117         },
3118         { PINMUX_CFG_REG_VAR("IPSR13", 0xE6060074, 32,
3119                              GROUP(4, 4, 4, 4, 4, 4, 4, 4),
3120                              GROUP(
3121                 /* IP13_31_28 [4] */
3122                 FN_SSI_SCK5_A, 0, 0, FN_DU1_DOTCLKOUT1, 0, 0, 0, 0, 0, 0, 0,
3123                 0, 0, 0, 0, 0,
3124                 /* IP13_27_24 [4] */
3125                 FN_SDA2_A, 0, FN_MSIOF1_SYNC_B, FN_DU1_DB7, FN_AUDIO_CLKOUT_C,
3126                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3127                 /* IP13_23_20 [4] */
3128                 FN_SCL2_A, 0, FN_MSIOF1_SCK_B, FN_DU1_DB6, FN_AUDIO_CLKC_C,
3129                 FN_SSI_SCK4_B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3130                 /* IP13_19_16 [4] */
3131                 FN_TX3_A, FN_SDA1_C, FN_MSIOF1_TXD_B, FN_DU1_DB5,
3132                 FN_AUDIO_CLKB_C, FN_SSI_WS4_B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3133                 /* IP13_15_12 [4] */
3134                 FN_RX3_A, FN_SCL1_C, FN_MSIOF1_RXD_B, FN_DU1_DB4,
3135                 FN_AUDIO_CLKA_C, FN_SSI_SDATA4_B, 0, 0, 0, 0, 0, 0, 0, 0,
3136                 0, 0,
3137                 /* IP13_11_8 [4] */
3138                 FN_SD2_WP, FN_SCIF3_SCK, 0, FN_DU1_DB3, FN_SSI_SDATA9_B, 0,
3139                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3140                 /* IP13_7_4 [4] */
3141                 FN_SD2_CD, FN_SCIF2_SCK_A, 0, FN_DU1_DB2, FN_SSI_SCK9_B, 0, 0,
3142                 0, 0, 0, 0, 0, 0, 0, 0, 0,
3143                 /* IP13_3_0 [4] */
3144                 FN_SD2_DAT3, FN_TX2_A, 0, FN_DU1_DB1, FN_SSI_WS9_B, 0, 0, 0,
3145                 0, 0, 0, 0, 0, 0, 0, 0, ))
3146         },
3147         { PINMUX_CFG_REG_VAR("IPSR14", 0xE6060078, 32,
3148                              GROUP(4, 4, 4, 4, 4, 4, 4, 4),
3149                              GROUP(
3150                 /* IP14_31_28 [4] */
3151                 FN_SSI_SDATA7_A, 0, 0, FN_IRQ8, FN_AUDIO_CLKA_D, FN_CAN_CLK_D,
3152                 FN_VI0_G5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3153                 /* IP14_27_24 [4] */
3154                 FN_SSI_WS78_A, 0, FN_SCL4_E, FN_DU1_CDE, 0, 0, 0, 0, 0, 0, 0,
3155                 0, 0, 0, 0, 0,
3156                 /* IP14_23_20 [4] */
3157                 FN_SSI_SCK78_A, 0, FN_SDA4_E, FN_DU1_DISP, 0, 0, 0, 0, 0, 0,
3158                 0, 0, 0, 0, 0, 0,
3159                 /* IP14_19_16 [4] */
3160                 FN_SSI_SDATA6_A, 0, FN_SDA4_C, FN_DU1_EXVSYNC_DU1_VSYNC, 0, 0,
3161                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3162                 /* IP14_15_12 [4] */
3163                 FN_SSI_WS6_A, 0, FN_SCL4_C, FN_DU1_EXHSYNC_DU1_HSYNC, 0, 0, 0,
3164                 0, 0, 0, 0, 0, 0, 0, 0, 0,
3165                 /* IP14_11_8 [4] */
3166                 FN_SSI_SCK6_A, 0, 0, FN_DU1_EXODDF_DU1_ODDF_DISP_CDE, 0, 0,
3167                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3168                 /* IP14_7_4 [4] */
3169                 FN_SSI_SDATA5_A, 0, FN_SDA3_C, FN_DU1_DOTCLKOUT0, 0, 0, 0,
3170                 0, 0, 0, 0, 0, 0, 0, 0, 0,
3171                 /* IP14_3_0 [4] */
3172                 FN_SSI_WS5_A, 0, FN_SCL3_C, FN_DU1_DOTCLKIN, 0, 0, 0, 0, 0, 0,
3173                 0, 0, 0, 0, 0, 0, ))
3174         },
3175         { PINMUX_CFG_REG_VAR("IPSR15", 0xE606007C, 32,
3176                              GROUP(4, 4, 4, 4, 4, 4, 4, 4),
3177                              GROUP(
3178                 /* IP15_31_28 [4] */
3179                 FN_SSI_WS4_A, 0, FN_AVB_PHY_INT, 0, 0, 0, FN_VI0_R5, 0, 0, 0,
3180                 0, 0, 0, 0, 0, 0,
3181                 /* IP15_27_24 [4] */
3182                 FN_SSI_SCK4_A, 0, FN_AVB_MAGIC, 0, 0, 0, FN_VI0_R4, 0, 0, 0,
3183                 0, 0, 0, 0, 0, 0,
3184                 /* IP15_23_20 [4] */
3185                 FN_SSI_SDATA3, FN_MSIOF1_SS2_A, FN_AVB_LINK, 0, FN_CAN1_TX_A,
3186                 FN_DREQ2_N, FN_VI0_R3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3187                 /* IP15_19_16 [4] */
3188                 FN_SSI_WS34, FN_MSIOF1_SS1_A, FN_AVB_MDIO, 0, FN_CAN1_RX_A,
3189                 FN_DREQ1_N, FN_VI0_R2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3190                 /* IP15_15_12 [4] */
3191                 FN_SSI_SCK34, FN_MSIOF1_SCK_A, FN_AVB_MDC, 0, 0, FN_DACK1,
3192                 FN_VI0_R1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3193                 /* IP15_11_8 [4] */
3194                 FN_SSI_SDATA0_A, FN_MSIOF1_SYNC_A, FN_PWM0_C, 0, 0, 0,
3195                 FN_VI0_R0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3196                 /* IP15_7_4 [4] */
3197                 FN_SSI_WS0129_A, FN_MSIOF1_TXD_A, FN_TX5_D, 0, 0, 0,
3198                 FN_VI0_G7, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3199                 /* IP15_3_0 [4] */
3200                 FN_SSI_SCK0129_A, FN_MSIOF1_RXD_A, FN_RX5_D, 0, 0, 0,
3201                 FN_VI0_G6, 0, 0, 0, 0, 0, 0, 0, 0, 0, ))
3202         },
3203         { PINMUX_CFG_REG_VAR("IPSR16", 0xE6060080, 32,
3204                              GROUP(4, 4, 4, 4, 4, 4, 4, 4),
3205                              GROUP(
3206                 /* IP16_31_28 [4] */
3207                 FN_SSI_SDATA2_A, FN_HRTS1_N_B, 0, 0, 0, 0,
3208                 FN_VI0_DATA4_VI0_B4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3209                 /* IP16_27_24 [4] */
3210                 FN_SSI_WS2_A, FN_HCTS1_N_B, 0, 0, 0, FN_AVB_TX_ER,
3211                 FN_VI0_DATA3_VI0_B3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3212                 /* IP16_23_20 [4] */
3213                 FN_SSI_SCK2_A, FN_HTX1_B, 0, 0, 0, FN_AVB_TXD7,
3214                 FN_VI0_DATA2_VI0_B2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3215                 /* IP16_19_16 [4] */
3216                 FN_SSI_SDATA1_A, FN_HRX1_B, 0, 0, 0, 0, FN_VI0_DATA1_VI0_B1,
3217                 0, 0, 0, 0, 0, 0, 0, 0, 0,
3218                 /* IP16_15_12 [4] */
3219                 FN_SSI_WS1_A, FN_TX1_B, 0, 0, FN_CAN0_TX_D,
3220                 FN_AVB_AVTP_MATCH_B, FN_VI0_DATA0_VI0_B0, 0, 0, 0, 0, 0, 0,
3221                 0, 0, 0,
3222                 /* IP16_11_8 [4] */
3223                 FN_SSI_SDATA8_A, FN_RX1_B, 0, 0, FN_CAN0_RX_D,
3224                 FN_AVB_AVTP_CAPTURE_B, FN_VI0_R7, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3225                 /* IP16_7_4 [4] */
3226                 FN_SSI_SCK1_A, FN_SCIF1_SCK_B, FN_PWM1_D, FN_IRQ9, FN_REMOCON_A,
3227                 FN_DACK2, FN_VI0_CLK, FN_AVB_COL, 0, 0, 0, 0, 0, 0, 0, 0,
3228                 /* IP16_3_0 [4] */
3229                 FN_SSI_SDATA4_A, 0, FN_AVB_CRS, 0, 0, 0, FN_VI0_R6, 0, 0, 0,
3230                 0, 0, 0, 0, 0, 0, ))
3231         },
3232         { PINMUX_CFG_REG_VAR("IPSR17", 0xE6060084, 32,
3233                              GROUP(4, 4, 4, 4, 4, 4, 4, 4),
3234                              GROUP(
3235                 /* IP17_31_28 [4] */
3236                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3237                 /* IP17_27_24 [4] */
3238                 FN_AUDIO_CLKOUT_A, FN_SDA4_B, 0, 0, 0, 0,
3239                 FN_VI0_VSYNC_N, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3240                 /* IP17_23_20 [4] */
3241                 FN_AUDIO_CLKC_A, FN_SCL4_B, 0, 0, 0, 0,
3242                 FN_VI0_HSYNC_N, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3243                 /* IP17_19_16 [4] */
3244                 FN_AUDIO_CLKB_A, FN_SDA0_B, 0, 0, 0, 0,
3245                 FN_VI0_FIELD, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3246                 /* IP17_15_12 [4] */
3247                 FN_AUDIO_CLKA_A, FN_SCL0_B, 0, 0, 0, 0,
3248                 FN_VI0_CLKENB, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3249                 /* IP17_11_8 [4] */
3250                 FN_SSI_SDATA9_A, FN_SCIF2_SCK_B, FN_PWM2_D, 0, 0, 0,
3251                 FN_VI0_DATA7_VI0_B7, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3252                 /* IP17_7_4 [4] */
3253                 FN_SSI_WS9_A, FN_TX2_B, FN_SDA3_E, 0, 0, 0,
3254                 FN_VI0_DATA6_VI0_B6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3255                 /* IP17_3_0 [4] */
3256                 FN_SSI_SCK9_A, FN_RX2_B, FN_SCL3_E, 0, 0, FN_EX_WAIT1,
3257                 FN_VI0_DATA5_VI0_B5, 0, 0, 0, 0, 0, 0, 0, 0, 0, ))
3258         },
3259         { PINMUX_CFG_REG_VAR("MOD_SEL0", 0xE60600C0, 32,
3260                              GROUP(1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 2, 1,
3261                                    3, 3, 1, 2, 3, 3, 1),
3262                              GROUP(
3263                 /* RESERVED [1] */
3264                 0, 0,
3265                 /* RESERVED [1] */
3266                 0, 0,
3267                 /* RESERVED [1] */
3268                 0, 0,
3269                 /* RESERVED [1] */
3270                 0, 0,
3271                 /* RESERVED [1] */
3272                 0, 0,
3273                 /* SEL_ADGA [2] */
3274                 FN_SEL_ADGA_0, FN_SEL_ADGA_1, FN_SEL_ADGA_2, FN_SEL_ADGA_3,
3275                 /* RESERVED [1] */
3276                 0, 0,
3277                 /* RESERVED [1] */
3278                 0, 0,
3279                 /* SEL_CANCLK [2] */
3280                 FN_SEL_CANCLK_0, FN_SEL_CANCLK_1, FN_SEL_CANCLK_2,
3281                 FN_SEL_CANCLK_3,
3282                 /* SEL_CAN1 [2] */
3283                 FN_SEL_CAN1_0, FN_SEL_CAN1_1, FN_SEL_CAN1_2, FN_SEL_CAN1_3,
3284                 /* SEL_CAN0 [2] */
3285                 FN_SEL_CAN0_0, FN_SEL_CAN0_1, FN_SEL_CAN0_2, FN_SEL_CAN0_3,
3286                 /* RESERVED [1] */
3287                 0, 0,
3288                 /* SEL_I2C04 [3] */
3289                 FN_SEL_I2C04_0, FN_SEL_I2C04_1, FN_SEL_I2C04_2, FN_SEL_I2C04_3,
3290                 FN_SEL_I2C04_4, 0, 0, 0,
3291                 /* SEL_I2C03 [3] */
3292                 FN_SEL_I2C03_0, FN_SEL_I2C03_1, FN_SEL_I2C03_2, FN_SEL_I2C03_3,
3293                 FN_SEL_I2C03_4, 0, 0, 0,
3294                 /* RESERVED [1] */
3295                 0, 0,
3296                 /* SEL_I2C02 [2] */
3297                 FN_SEL_I2C02_0, FN_SEL_I2C02_1, FN_SEL_I2C02_2, FN_SEL_I2C02_3,
3298                 /* SEL_I2C01 [3] */
3299                 FN_SEL_I2C01_0, FN_SEL_I2C01_1, FN_SEL_I2C01_2, FN_SEL_I2C01_3,
3300                 FN_SEL_I2C01_4, 0, 0, 0,
3301                 /* SEL_I2C00 [3] */
3302                 FN_SEL_I2C00_0, FN_SEL_I2C00_1, FN_SEL_I2C00_2, FN_SEL_I2C00_3,
3303                 FN_SEL_I2C00_4, 0, 0, 0,
3304                 /* SEL_AVB [1] */
3305                 FN_SEL_AVB_0, FN_SEL_AVB_1, ))
3306         },
3307         { PINMUX_CFG_REG_VAR("MOD_SEL1", 0xE60600C4, 32,
3308                              GROUP(1, 3, 3, 2, 2, 1, 2, 2, 2, 1, 1, 1,
3309                                    1, 1, 2, 1, 1, 2, 2, 1),
3310                              GROUP(
3311                 /* SEL_SCIFCLK [1] */
3312                 FN_SEL_SCIFCLK_0, FN_SEL_SCIFCLK_1,
3313                 /* SEL_SCIF5 [3] */
3314                 FN_SEL_SCIF5_0, FN_SEL_SCIF5_1, FN_SEL_SCIF5_2, FN_SEL_SCIF5_3,
3315                 FN_SEL_SCIF5_4, FN_SEL_SCIF5_5, 0, 0,
3316                 /* SEL_SCIF4 [3] */
3317                 FN_SEL_SCIF4_0, FN_SEL_SCIF4_1, FN_SEL_SCIF4_2, FN_SEL_SCIF4_3,
3318                 FN_SEL_SCIF4_4, 0, 0, 0,
3319                 /* SEL_SCIF3 [2] */
3320                 FN_SEL_SCIF3_0, FN_SEL_SCIF3_1, FN_SEL_SCIF3_2, 0,
3321                 /* SEL_SCIF2 [2] */
3322                 FN_SEL_SCIF2_0, FN_SEL_SCIF2_1, FN_SEL_SCIF2_2, 0,
3323                 /* SEL_SCIF2_CLK [1] */
3324                 FN_SEL_SCIF2_CLK_0, FN_SEL_SCIF2_CLK_1,
3325                 /* SEL_SCIF1 [2] */
3326                 FN_SEL_SCIF1_0, FN_SEL_SCIF1_1, FN_SEL_SCIF1_2, FN_SEL_SCIF1_3,
3327                 /* SEL_SCIF0 [2] */
3328                 FN_SEL_SCIF0_0, FN_SEL_SCIF0_1, FN_SEL_SCIF0_2, FN_SEL_SCIF0_3,
3329                 /* SEL_MSIOF2 [2] */
3330                 FN_SEL_MSIOF2_0, FN_SEL_MSIOF2_1, FN_SEL_MSIOF2_2, 0,
3331                 /* RESERVED [1] */
3332                 0, 0,
3333                 /* SEL_MSIOF1 [1] */
3334                 FN_SEL_MSIOF1_0, FN_SEL_MSIOF1_1,
3335                 /* RESERVED [1] */
3336                 0, 0,
3337                 /* SEL_MSIOF0 [1] */
3338                 FN_SEL_MSIOF0_0, FN_SEL_MSIOF0_1,
3339                 /* SEL_RCN [1] */
3340                 FN_SEL_RCN_0, FN_SEL_RCN_1,
3341                 /* RESERVED [2] */
3342                 0, 0, 0, 0,
3343                 /* SEL_TMU2 [1] */
3344                 FN_SEL_TMU2_0, FN_SEL_TMU2_1,
3345                 /* SEL_TMU1 [1] */
3346                 FN_SEL_TMU1_0, FN_SEL_TMU1_1,
3347                 /* RESERVED [2] */
3348                 0, 0, 0, 0,
3349                 /* SEL_HSCIF1 [2] */
3350                 FN_SEL_HSCIF1_0, FN_SEL_HSCIF1_1, FN_SEL_HSCIF1_2, 0,
3351                 /* SEL_HSCIF0 [1] */
3352                 FN_SEL_HSCIF0_0, FN_SEL_HSCIF0_1, ))
3353         },
3354         { PINMUX_CFG_REG_VAR("MOD_SEL2", 0xE60600C8, 32,
3355                              GROUP(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
3356                                    2, 2, 2, 2, 2, 2, 2, 2, 2),
3357                              GROUP(
3358                 /* RESERVED [1] */
3359                 0, 0,
3360                 /* RESERVED [1] */
3361                 0, 0,
3362                 /* RESERVED [1] */
3363                 0, 0,
3364                 /* RESERVED [1] */
3365                 0, 0,
3366                 /* RESERVED [1] */
3367                 0, 0,
3368                 /* RESERVED [1] */
3369                 0, 0,
3370                 /* RESERVED [1] */
3371                 0, 0,
3372                 /* RESERVED [1] */
3373                 0, 0,
3374                 /* RESERVED [1] */
3375                 0, 0,
3376                 /* RESERVED [1] */
3377                 0, 0,
3378                 /* SEL_ADGB [2] */
3379                 FN_SEL_ADGB_0, FN_SEL_ADGB_1, FN_SEL_ADGB_2, 0,
3380                 /* SEL_ADGC [2] */
3381                 FN_SEL_ADGC_0, FN_SEL_ADGC_1, FN_SEL_ADGC_2, 0,
3382                 /* SEL_SSI9 [2] */
3383                 FN_SEL_SSI9_0, FN_SEL_SSI9_1, 0, 0,
3384                 /* SEL_SSI8 [2] */
3385                 FN_SEL_SSI8_0, FN_SEL_SSI8_1, 0, 0,
3386                 /* SEL_SSI7 [2] */
3387                 FN_SEL_SSI7_0, FN_SEL_SSI7_1, 0, 0,
3388                 /* SEL_SSI6 [2] */
3389                 FN_SEL_SSI6_0, FN_SEL_SSI6_1, 0, 0,
3390                 /* SEL_SSI5 [2] */
3391                 FN_SEL_SSI5_0, FN_SEL_SSI5_1, 0, 0,
3392                 /* SEL_SSI4 [2] */
3393                 FN_SEL_SSI4_0, FN_SEL_SSI4_1, 0, 0,
3394                 /* SEL_SSI2 [2] */
3395                 FN_SEL_SSI2_0, FN_SEL_SSI2_1, 0, 0,
3396                 /* SEL_SSI1 [2] */
3397                 FN_SEL_SSI1_0, FN_SEL_SSI1_1, FN_SEL_SSI1_2, FN_SEL_SSI1_3,
3398                 /* SEL_SSI0 [2] */
3399                 FN_SEL_SSI0_0, FN_SEL_SSI0_1, 0, 0, ))
3400         },
3401         { },
3402 };
3403
3404 static int r8a77470_pin_to_pocctrl(struct sh_pfc *pfc, unsigned int pin,
3405                                    u32 *pocctrl)
3406 {
3407         int bit = -EINVAL;
3408
3409         *pocctrl = 0xe60600b0;
3410
3411         if (pin >= RCAR_GP_PIN(0, 5) && pin <= RCAR_GP_PIN(0, 10))
3412                 bit = 0;
3413
3414         if (pin >= RCAR_GP_PIN(0, 13) && pin <= RCAR_GP_PIN(0, 22))
3415                 bit = 2;
3416
3417         if (pin >= RCAR_GP_PIN(4, 14) && pin <= RCAR_GP_PIN(4, 19))
3418                 bit = 1;
3419
3420         return bit;
3421 }
3422
3423 static const struct sh_pfc_soc_operations r8a77470_pinmux_ops = {
3424         .pin_to_pocctrl = r8a77470_pin_to_pocctrl,
3425 };
3426
3427 #ifdef CONFIG_PINCTRL_PFC_R8A77470
3428 const struct sh_pfc_soc_info r8a77470_pinmux_info = {
3429         .name = "r8a77470_pfc",
3430         .ops = &r8a77470_pinmux_ops,
3431         .unlock_reg = 0xe6060000, /* PMMR */
3432
3433         .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
3434
3435         .pins = pinmux_pins,
3436         .nr_pins = ARRAY_SIZE(pinmux_pins),
3437         .groups = pinmux_groups,
3438         .nr_groups = ARRAY_SIZE(pinmux_groups),
3439         .functions = pinmux_functions,
3440         .nr_functions = ARRAY_SIZE(pinmux_functions),
3441
3442         .cfg_regs = pinmux_config_regs,
3443
3444         .pinmux_data = pinmux_data,
3445         .pinmux_data_size = ARRAY_SIZE(pinmux_data),
3446 };
3447 #endif