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