1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * R8A779A0 processor support - PFC hardware block.
4  *
5  * Copyright (C) 2020 Renesas Electronics Corp.
6  *
7  * This file is based on the drivers/pinctrl/renesas/pfc-r8a7795.c
8  */
9 
10 #include <linux/errno.h>
11 #include <linux/io.h>
12 #include <linux/kernel.h>
13 
14 #include "sh_pfc.h"
15 
16 #define CFG_FLAGS (SH_PFC_PIN_CFG_DRIVE_STRENGTH | SH_PFC_PIN_CFG_PULL_UP_DOWN)
17 
18 #define CPU_ALL_GP(fn, sfx)	\
19 	PORT_GP_CFG_15(0, fn, sfx, CFG_FLAGS),	\
20 	PORT_GP_CFG_1(0, 15, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
21 	PORT_GP_CFG_1(0, 16, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
22 	PORT_GP_CFG_1(0, 17, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
23 	PORT_GP_CFG_1(0, 18, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
24 	PORT_GP_CFG_1(0, 19, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
25 	PORT_GP_CFG_1(0, 20, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
26 	PORT_GP_CFG_1(0, 21, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
27 	PORT_GP_CFG_1(0, 22, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
28 	PORT_GP_CFG_1(0, 23, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
29 	PORT_GP_CFG_1(0, 24, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
30 	PORT_GP_CFG_1(0, 25, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
31 	PORT_GP_CFG_1(0, 26, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
32 	PORT_GP_CFG_1(0, 27, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
33 	PORT_GP_CFG_31(1, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
34 	PORT_GP_CFG_2(2, fn, sfx, CFG_FLAGS),					\
35 	PORT_GP_CFG_1(2, 2, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
36 	PORT_GP_CFG_1(2, 3, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
37 	PORT_GP_CFG_1(2, 4, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
38 	PORT_GP_CFG_1(2, 5, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
39 	PORT_GP_CFG_1(2, 6, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
40 	PORT_GP_CFG_1(2, 7, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
41 	PORT_GP_CFG_1(2, 8, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
42 	PORT_GP_CFG_1(2, 9, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
43 	PORT_GP_CFG_1(2, 10, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
44 	PORT_GP_CFG_1(2, 11, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
45 	PORT_GP_CFG_1(2, 12, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
46 	PORT_GP_CFG_1(2, 13, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
47 	PORT_GP_CFG_1(2, 14, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
48 	PORT_GP_CFG_1(2, 15, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33),	\
49 	PORT_GP_CFG_1(2, 16, fn, sfx, CFG_FLAGS),	\
50 	PORT_GP_CFG_1(2, 17, fn, sfx, CFG_FLAGS),	\
51 	PORT_GP_CFG_1(2, 18, fn, sfx, CFG_FLAGS),	\
52 	PORT_GP_CFG_1(2, 19, fn, sfx, CFG_FLAGS),	\
53 	PORT_GP_CFG_1(2, 20, fn, sfx, CFG_FLAGS),	\
54 	PORT_GP_CFG_1(2, 21, fn, sfx, CFG_FLAGS),	\
55 	PORT_GP_CFG_1(2, 22, fn, sfx, CFG_FLAGS),	\
56 	PORT_GP_CFG_1(2, 23, fn, sfx, CFG_FLAGS),	\
57 	PORT_GP_CFG_1(2, 24, fn, sfx, CFG_FLAGS),	\
58 	PORT_GP_CFG_17(3, fn, sfx, CFG_FLAGS),	\
59 	PORT_GP_CFG_18(4, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_25_33),\
60 	PORT_GP_CFG_1(4, 18, fn, sfx, CFG_FLAGS),	\
61 	PORT_GP_CFG_1(4, 19, fn, sfx, CFG_FLAGS),	\
62 	PORT_GP_CFG_1(4, 20, fn, sfx, CFG_FLAGS),	\
63 	PORT_GP_CFG_1(4, 21, fn, sfx, CFG_FLAGS),	\
64 	PORT_GP_CFG_1(4, 22, fn, sfx, CFG_FLAGS),	\
65 	PORT_GP_CFG_1(4, 23, fn, sfx, CFG_FLAGS),	\
66 	PORT_GP_CFG_1(4, 24, fn, sfx, CFG_FLAGS),	\
67 	PORT_GP_CFG_1(4, 25, fn, sfx, CFG_FLAGS),	\
68 	PORT_GP_CFG_1(4, 26, fn, sfx, CFG_FLAGS),	\
69 	PORT_GP_CFG_18(5, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_25_33),\
70 	PORT_GP_CFG_1(5, 18, fn, sfx, CFG_FLAGS),	\
71 	PORT_GP_CFG_1(5, 19, fn, sfx, CFG_FLAGS),	\
72 	PORT_GP_CFG_1(5, 20, fn, sfx, CFG_FLAGS),	\
73 	PORT_GP_CFG_18(6, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_25_33),\
74 	PORT_GP_CFG_1(6, 18, fn, sfx, CFG_FLAGS),	\
75 	PORT_GP_CFG_1(6, 19, fn, sfx, CFG_FLAGS),	\
76 	PORT_GP_CFG_1(6, 20, fn, sfx, CFG_FLAGS),	\
77 	PORT_GP_CFG_18(7, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_25_33),\
78 	PORT_GP_CFG_1(7, 18, fn, sfx, CFG_FLAGS),	\
79 	PORT_GP_CFG_1(7, 19, fn, sfx, CFG_FLAGS),	\
80 	PORT_GP_CFG_1(7, 20, fn, sfx, CFG_FLAGS),	\
81 	PORT_GP_CFG_18(8, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_25_33),\
82 	PORT_GP_CFG_1(8, 18, fn, sfx, CFG_FLAGS),	\
83 	PORT_GP_CFG_1(8, 19, fn, sfx, CFG_FLAGS),	\
84 	PORT_GP_CFG_1(8, 20, fn, sfx, CFG_FLAGS),	\
85 	PORT_GP_CFG_18(9, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_25_33),\
86 	PORT_GP_CFG_1(9, 18, fn, sfx, CFG_FLAGS),	\
87 	PORT_GP_CFG_1(9, 19, fn, sfx, CFG_FLAGS),	\
88 	PORT_GP_CFG_1(9, 20, fn, sfx, CFG_FLAGS)
89 
90 #define CPU_ALL_NOGP(fn)									\
91 	PIN_NOGP_CFG(PRESETOUT_N, "PRESETOUT#", fn, SH_PFC_PIN_CFG_PULL_UP_DOWN),		\
92 	PIN_NOGP_CFG(EXTALR, "EXTALR", fn, SH_PFC_PIN_CFG_PULL_UP_DOWN),			\
93 	PIN_NOGP_CFG(DCUTRST_N_LPDRST_N, "DCUTRST#_LPDRST#", fn, SH_PFC_PIN_CFG_PULL_UP_DOWN),	\
94 	PIN_NOGP_CFG(DCUTCK_LPDCLK, "DCUTCK_LPDCLK", fn, SH_PFC_PIN_CFG_PULL_UP_DOWN),		\
95 	PIN_NOGP_CFG(DCUTMS, "DCUTMS", fn, SH_PFC_PIN_CFG_PULL_UP_DOWN),			\
96 	PIN_NOGP_CFG(DCUTDI_LPDI, "DCUTDI_LPDI", fn, SH_PFC_PIN_CFG_PULL_UP_DOWN)
97 
98 /*
99  * F_() : just information
100  * FM() : macro for FN_xxx / xxx_MARK
101  */
102 
103 /* GPSR0 */
104 #define GPSR0_27	FM(MMC_D7)
105 #define GPSR0_26	FM(MMC_D6)
106 #define GPSR0_25	FM(MMC_D5)
107 #define GPSR0_24	FM(MMC_D4)
108 #define GPSR0_23	FM(MMC_SD_CLK)
109 #define GPSR0_22	FM(MMC_SD_D3)
110 #define GPSR0_21	FM(MMC_SD_D2)
111 #define GPSR0_20	FM(MMC_SD_D1)
112 #define GPSR0_19	FM(MMC_SD_D0)
113 #define GPSR0_18	FM(MMC_SD_CMD)
114 #define GPSR0_17	FM(MMC_DS)
115 #define GPSR0_16	FM(SD_CD)
116 #define GPSR0_15	FM(SD_WP)
117 #define GPSR0_14	FM(RPC_INT_N)
118 #define GPSR0_13	FM(RPC_WP_N)
119 #define GPSR0_12	FM(RPC_RESET_N)
120 #define GPSR0_11	FM(QSPI1_SSL)
121 #define GPSR0_10	FM(QSPI1_IO3)
122 #define GPSR0_9		FM(QSPI1_IO2)
123 #define GPSR0_8		FM(QSPI1_MISO_IO1)
124 #define GPSR0_7		FM(QSPI1_MOSI_IO0)
125 #define GPSR0_6		FM(QSPI1_SPCLK)
126 #define GPSR0_5		FM(QSPI0_SSL)
127 #define GPSR0_4		FM(QSPI0_IO3)
128 #define GPSR0_3		FM(QSPI0_IO2)
129 #define GPSR0_2		FM(QSPI0_MISO_IO1)
130 #define GPSR0_1		FM(QSPI0_MOSI_IO0)
131 #define GPSR0_0		FM(QSPI0_SPCLK)
132 
133 /* GPSR1 */
134 #define GPSR1_30	F_(GP1_30,	IP3SR1_27_24)
135 #define GPSR1_29	F_(GP1_29,	IP3SR1_23_20)
136 #define GPSR1_28	F_(GP1_28,	IP3SR1_19_16)
137 #define GPSR1_27	F_(IRQ3,	IP3SR1_15_12)
138 #define GPSR1_26	F_(IRQ2,	IP3SR1_11_8)
139 #define GPSR1_25	F_(IRQ1,	IP3SR1_7_4)
140 #define GPSR1_24	F_(IRQ0,	IP3SR1_3_0)
141 #define GPSR1_23	F_(MSIOF2_SS2,	IP2SR1_31_28)
142 #define GPSR1_22	F_(MSIOF2_SS1,	IP2SR1_27_24)
143 #define GPSR1_21	F_(MSIOF2_SYNC,	IP2SR1_23_20)
144 #define GPSR1_20	F_(MSIOF2_SCK,	IP2SR1_19_16)
145 #define GPSR1_19	F_(MSIOF2_TXD,	IP2SR1_15_12)
146 #define GPSR1_18	F_(MSIOF2_RXD,	IP2SR1_11_8)
147 #define GPSR1_17	F_(MSIOF1_SS2,	IP2SR1_7_4)
148 #define GPSR1_16	F_(MSIOF1_SS1,	IP2SR1_3_0)
149 #define GPSR1_15	F_(MSIOF1_SYNC,	IP1SR1_31_28)
150 #define GPSR1_14	F_(MSIOF1_SCK,	IP1SR1_27_24)
151 #define GPSR1_13	F_(MSIOF1_TXD,	IP1SR1_23_20)
152 #define GPSR1_12	F_(MSIOF1_RXD,	IP1SR1_19_16)
153 #define GPSR1_11	F_(MSIOF0_SS2,	IP1SR1_15_12)
154 #define GPSR1_10	F_(MSIOF0_SS1,	IP1SR1_11_8)
155 #define GPSR1_9		F_(MSIOF0_SYNC,	IP1SR1_7_4)
156 #define GPSR1_8		F_(MSIOF0_SCK,	IP1SR1_3_0)
157 #define GPSR1_7		F_(MSIOF0_TXD,	IP0SR1_31_28)
158 #define GPSR1_6		F_(MSIOF0_RXD,	IP0SR1_27_24)
159 #define GPSR1_5		F_(HTX0,	IP0SR1_23_20)
160 #define GPSR1_4		F_(HCTS0_N,	IP0SR1_19_16)
161 #define GPSR1_3		F_(HRTS0_N,	IP0SR1_15_12)
162 #define GPSR1_2		F_(HSCK0,	IP0SR1_11_8)
163 #define GPSR1_1		F_(HRX0,	IP0SR1_7_4)
164 #define GPSR1_0		F_(SCIF_CLK,	IP0SR1_3_0)
165 
166 /* GPSR2 */
167 #define GPSR2_24	FM(TCLK2_A)
168 #define GPSR2_23	F_(TCLK1_A,		IP2SR2_31_28)
169 #define GPSR2_22	F_(TPU0TO1,		IP2SR2_27_24)
170 #define GPSR2_21	F_(TPU0TO0,		IP2SR2_23_20)
171 #define GPSR2_20	F_(CLK_EXTFXR,		IP2SR2_19_16)
172 #define GPSR2_19	F_(RXDB_EXTFXR,		IP2SR2_15_12)
173 #define GPSR2_18	F_(FXR_TXDB,		IP2SR2_11_8)
174 #define GPSR2_17	F_(RXDA_EXTFXR_A,	IP2SR2_7_4)
175 #define GPSR2_16	F_(FXR_TXDA_A,		IP2SR2_3_0)
176 #define GPSR2_15	F_(GP2_15,		IP1SR2_31_28)
177 #define GPSR2_14	F_(GP2_14,		IP1SR2_27_24)
178 #define GPSR2_13	F_(GP2_13,		IP1SR2_23_20)
179 #define GPSR2_12	F_(GP2_12,		IP1SR2_19_16)
180 #define GPSR2_11	F_(GP2_11,		IP1SR2_15_12)
181 #define GPSR2_10	F_(GP2_10,		IP1SR2_11_8)
182 #define GPSR2_9		F_(GP2_09,		IP1SR2_7_4)
183 #define GPSR2_8		F_(GP2_08,		IP1SR2_3_0)
184 #define GPSR2_7		F_(GP2_07,		IP0SR2_31_28)
185 #define GPSR2_6		F_(GP2_06,		IP0SR2_27_24)
186 #define GPSR2_5		F_(GP2_05,		IP0SR2_23_20)
187 #define GPSR2_4		F_(GP2_04,		IP0SR2_19_16)
188 #define GPSR2_3		F_(GP2_03,		IP0SR2_15_12)
189 #define GPSR2_2		F_(GP2_02,		IP0SR2_11_8)
190 #define GPSR2_1		F_(IPC_CLKOUT,		IP0SR2_7_4)
191 #define GPSR2_0		F_(IPC_CLKIN,		IP0SR2_3_0)
192 
193 /* GPSR3 */
194 #define GPSR3_16	FM(CANFD7_RX)
195 #define GPSR3_15	FM(CANFD7_TX)
196 #define GPSR3_14	FM(CANFD6_RX)
197 #define GPSR3_13	F_(CANFD6_TX,	IP1SR3_23_20)
198 #define GPSR3_12	F_(CANFD5_RX,	IP1SR3_19_16)
199 #define GPSR3_11	F_(CANFD5_TX,	IP1SR3_15_12)
200 #define GPSR3_10	F_(CANFD4_RX,	IP1SR3_11_8)
201 #define GPSR3_9		F_(CANFD4_TX,	IP1SR3_7_4)
202 #define GPSR3_8		F_(CANFD3_RX,	IP1SR3_3_0)
203 #define GPSR3_7		F_(CANFD3_TX,	IP0SR3_31_28)
204 #define GPSR3_6		F_(CANFD2_RX,	IP0SR3_27_24)
205 #define GPSR3_5		F_(CANFD2_TX,	IP0SR3_23_20)
206 #define GPSR3_4		FM(CANFD1_RX)
207 #define GPSR3_3		FM(CANFD1_TX)
208 #define GPSR3_2		F_(CANFD0_RX,	IP0SR3_11_8)
209 #define GPSR3_1		F_(CANFD0_TX,	IP0SR3_7_4)
210 #define GPSR3_0		FM(CAN_CLK)
211 
212 /* GPSR4 */
213 #define GPSR4_26	FM(AVS1)
214 #define GPSR4_25	FM(AVS0)
215 #define GPSR4_24	FM(PCIE3_CLKREQ_N)
216 #define GPSR4_23	FM(PCIE2_CLKREQ_N)
217 #define GPSR4_22	FM(PCIE1_CLKREQ_N)
218 #define GPSR4_21	FM(PCIE0_CLKREQ_N)
219 #define GPSR4_20	F_(AVB0_AVTP_PPS,	IP2SR4_19_16)
220 #define GPSR4_19	F_(AVB0_AVTP_CAPTURE,	IP2SR4_15_12)
221 #define GPSR4_18	F_(AVB0_AVTP_MATCH,	IP2SR4_11_8)
222 #define GPSR4_17	F_(AVB0_LINK,		IP2SR4_7_4)
223 #define GPSR4_16	FM(AVB0_PHY_INT)
224 #define GPSR4_15	F_(AVB0_MAGIC,		IP1SR4_31_28)
225 #define GPSR4_14	F_(AVB0_MDC,		IP1SR4_27_24)
226 #define GPSR4_13	F_(AVB0_MDIO,		IP1SR4_23_20)
227 #define GPSR4_12	F_(AVB0_TXCREFCLK,	IP1SR4_19_16)
228 #define GPSR4_11	F_(AVB0_TD3,		IP1SR4_15_12)
229 #define GPSR4_10	F_(AVB0_TD2,		IP1SR4_11_8)
230 #define GPSR4_9		F_(AVB0_TD1,		IP1SR4_7_4)
231 #define GPSR4_8		F_(AVB0_TD0,		IP1SR4_3_0)
232 #define GPSR4_7		F_(AVB0_TXC,		IP0SR4_31_28)
233 #define GPSR4_6		F_(AVB0_TX_CTL,		IP0SR4_27_24)
234 #define GPSR4_5		F_(AVB0_RD3,		IP0SR4_23_20)
235 #define GPSR4_4		F_(AVB0_RD2,		IP0SR4_19_16)
236 #define GPSR4_3		F_(AVB0_RD1,		IP0SR4_15_12)
237 #define GPSR4_2		F_(AVB0_RD0,		IP0SR4_11_8)
238 #define GPSR4_1		F_(AVB0_RXC,		IP0SR4_7_4)
239 #define GPSR4_0		F_(AVB0_RX_CTL,		IP0SR4_3_0)
240 
241 /* GPSR5 */
242 #define GPSR5_20	F_(AVB1_AVTP_PPS,	IP2SR5_19_16)
243 #define GPSR5_19	F_(AVB1_AVTP_CAPTURE,	IP2SR5_15_12)
244 #define GPSR5_18	F_(AVB1_AVTP_MATCH,	IP2SR5_11_8)
245 #define GPSR5_17	F_(AVB1_LINK,		IP2SR5_7_4)
246 #define GPSR5_16	FM(AVB1_PHY_INT)
247 #define GPSR5_15	F_(AVB1_MAGIC,		IP1SR5_31_28)
248 #define GPSR5_14	F_(AVB1_MDC,		IP1SR5_27_24)
249 #define GPSR5_13	F_(AVB1_MDIO,		IP1SR5_23_20)
250 #define GPSR5_12	F_(AVB1_TXCREFCLK,	IP1SR5_19_16)
251 #define GPSR5_11	F_(AVB1_TD3,		IP1SR5_15_12)
252 #define GPSR5_10	F_(AVB1_TD2,		IP1SR5_11_8)
253 #define GPSR5_9		F_(AVB1_TD1,		IP1SR5_7_4)
254 #define GPSR5_8		F_(AVB1_TD0,		IP1SR5_3_0)
255 #define GPSR5_7		F_(AVB1_TXC,		IP0SR5_31_28)
256 #define GPSR5_6		F_(AVB1_TX_CTL,		IP0SR5_27_24)
257 #define GPSR5_5		F_(AVB1_RD3,		IP0SR5_23_20)
258 #define GPSR5_4		F_(AVB1_RD2,		IP0SR5_19_16)
259 #define GPSR5_3		F_(AVB1_RD1,		IP0SR5_15_12)
260 #define GPSR5_2		F_(AVB1_RD0,		IP0SR5_11_8)
261 #define GPSR5_1		F_(AVB1_RXC,		IP0SR5_7_4)
262 #define GPSR5_0		F_(AVB1_RX_CTL,		IP0SR5_3_0)
263 
264 /* GPSR6 */
265 #define GPSR6_20	FM(AVB2_AVTP_PPS)
266 #define GPSR6_19	FM(AVB2_AVTP_CAPTURE)
267 #define GPSR6_18	FM(AVB2_AVTP_MATCH)
268 #define GPSR6_17	FM(AVB2_LINK)
269 #define GPSR6_16	FM(AVB2_PHY_INT)
270 #define GPSR6_15	FM(AVB2_MAGIC)
271 #define GPSR6_14	FM(AVB2_MDC)
272 #define GPSR6_13	FM(AVB2_MDIO)
273 #define GPSR6_12	FM(AVB2_TXCREFCLK)
274 #define GPSR6_11	FM(AVB2_TD3)
275 #define GPSR6_10	FM(AVB2_TD2)
276 #define GPSR6_9		FM(AVB2_TD1)
277 #define GPSR6_8		FM(AVB2_TD0)
278 #define GPSR6_7		FM(AVB2_TXC)
279 #define GPSR6_6		FM(AVB2_TX_CTL)
280 #define GPSR6_5		FM(AVB2_RD3)
281 #define GPSR6_4		FM(AVB2_RD2)
282 #define GPSR6_3		FM(AVB2_RD1)
283 #define GPSR6_2		FM(AVB2_RD0)
284 #define GPSR6_1		FM(AVB2_RXC)
285 #define GPSR6_0		FM(AVB2_RX_CTL)
286 
287 /* GPSR7 */
288 #define GPSR7_20	FM(AVB3_AVTP_PPS)
289 #define GPSR7_19	FM(AVB3_AVTP_CAPTURE)
290 #define GPSR7_18	FM(AVB3_AVTP_MATCH)
291 #define GPSR7_17	FM(AVB3_LINK)
292 #define GPSR7_16	FM(AVB3_PHY_INT)
293 #define GPSR7_15	FM(AVB3_MAGIC)
294 #define GPSR7_14	FM(AVB3_MDC)
295 #define GPSR7_13	FM(AVB3_MDIO)
296 #define GPSR7_12	FM(AVB3_TXCREFCLK)
297 #define GPSR7_11	FM(AVB3_TD3)
298 #define GPSR7_10	FM(AVB3_TD2)
299 #define GPSR7_9		FM(AVB3_TD1)
300 #define GPSR7_8		FM(AVB3_TD0)
301 #define GPSR7_7		FM(AVB3_TXC)
302 #define GPSR7_6		FM(AVB3_TX_CTL)
303 #define GPSR7_5		FM(AVB3_RD3)
304 #define GPSR7_4		FM(AVB3_RD2)
305 #define GPSR7_3		FM(AVB3_RD1)
306 #define GPSR7_2		FM(AVB3_RD0)
307 #define GPSR7_1		FM(AVB3_RXC)
308 #define GPSR7_0		FM(AVB3_RX_CTL)
309 
310 /* GPSR8 */
311 #define GPSR8_20	FM(AVB4_AVTP_PPS)
312 #define GPSR8_19	FM(AVB4_AVTP_CAPTURE)
313 #define GPSR8_18	FM(AVB4_AVTP_MATCH)
314 #define GPSR8_17	FM(AVB4_LINK)
315 #define GPSR8_16	FM(AVB4_PHY_INT)
316 #define GPSR8_15	FM(AVB4_MAGIC)
317 #define GPSR8_14	FM(AVB4_MDC)
318 #define GPSR8_13	FM(AVB4_MDIO)
319 #define GPSR8_12	FM(AVB4_TXCREFCLK)
320 #define GPSR8_11	FM(AVB4_TD3)
321 #define GPSR8_10	FM(AVB4_TD2)
322 #define GPSR8_9		FM(AVB4_TD1)
323 #define GPSR8_8		FM(AVB4_TD0)
324 #define GPSR8_7		FM(AVB4_TXC)
325 #define GPSR8_6		FM(AVB4_TX_CTL)
326 #define GPSR8_5		FM(AVB4_RD3)
327 #define GPSR8_4		FM(AVB4_RD2)
328 #define GPSR8_3		FM(AVB4_RD1)
329 #define GPSR8_2		FM(AVB4_RD0)
330 #define GPSR8_1		FM(AVB4_RXC)
331 #define GPSR8_0		FM(AVB4_RX_CTL)
332 
333 /* GPSR9 */
334 #define GPSR9_20	FM(AVB5_AVTP_PPS)
335 #define GPSR9_19	FM(AVB5_AVTP_CAPTURE)
336 #define GPSR9_18	FM(AVB5_AVTP_MATCH)
337 #define GPSR9_17	FM(AVB5_LINK)
338 #define GPSR9_16	FM(AVB5_PHY_INT)
339 #define GPSR9_15	FM(AVB5_MAGIC)
340 #define GPSR9_14	FM(AVB5_MDC)
341 #define GPSR9_13	FM(AVB5_MDIO)
342 #define GPSR9_12	FM(AVB5_TXCREFCLK)
343 #define GPSR9_11	FM(AVB5_TD3)
344 #define GPSR9_10	FM(AVB5_TD2)
345 #define GPSR9_9		FM(AVB5_TD1)
346 #define GPSR9_8		FM(AVB5_TD0)
347 #define GPSR9_7		FM(AVB5_TXC)
348 #define GPSR9_6		FM(AVB5_TX_CTL)
349 #define GPSR9_5		FM(AVB5_RD3)
350 #define GPSR9_4		FM(AVB5_RD2)
351 #define GPSR9_3		FM(AVB5_RD1)
352 #define GPSR9_2		FM(AVB5_RD0)
353 #define GPSR9_1		FM(AVB5_RXC)
354 #define GPSR9_0		FM(AVB5_RX_CTL)
355 
356 /* IP0SR1 */		/* 0 */		/* 1 */		/* 2 */		/* 3 */		/* 4 */		/* 5 */		/* 6 - F */
357 #define IP0SR1_3_0	FM(SCIF_CLK)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(A0)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
358 #define IP0SR1_7_4	FM(HRX0)	FM(RX0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(A1)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
359 #define IP0SR1_11_8	FM(HSCK0)	FM(SCK0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(A2)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
360 #define IP0SR1_15_12	FM(HRTS0_N)	FM(RTS0_N)	F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(A3)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
361 #define IP0SR1_19_16	FM(HCTS0_N)	FM(CTS0_N)	F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(A4)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
362 #define IP0SR1_23_20	FM(HTX0)	FM(TX0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(A5)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
363 #define IP0SR1_27_24	FM(MSIOF0_RXD)	F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(DU_DR2)	FM(A6)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
364 #define IP0SR1_31_28	FM(MSIOF0_TXD)	F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(DU_DR3)	FM(A7)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
365 /* IP1SR1 */		/* 0 */		/* 1 */		/* 2 */		/* 3 */		/* 4 */		/* 5 */		/* 6 - F */
366 #define IP1SR1_3_0	FM(MSIOF0_SCK)	F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(DU_DR4)	FM(A8)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
367 #define IP1SR1_7_4	FM(MSIOF0_SYNC)	F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(DU_DR5)	FM(A9)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
368 #define IP1SR1_11_8	FM(MSIOF0_SS1)	F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(DU_DR6)	FM(A10)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
369 #define IP1SR1_15_12	FM(MSIOF0_SS2)	F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(DU_DR7)	FM(A11)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
370 #define IP1SR1_19_16	FM(MSIOF1_RXD)	F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(DU_DG2)	FM(A12)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
371 #define IP1SR1_23_20	FM(MSIOF1_TXD)	FM(HRX3)	FM(SCK3)	F_(0, 0)	FM(DU_DG3)	FM(A13)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
372 #define IP1SR1_27_24	FM(MSIOF1_SCK)	FM(HSCK3)	FM(CTS3_N)	F_(0, 0)	FM(DU_DG4)	FM(A14)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
373 #define IP1SR1_31_28	FM(MSIOF1_SYNC)	FM(HRTS3_N)	FM(RTS3_N)	F_(0, 0)	FM(DU_DG5)	FM(A15)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
374 /* IP2SR1 */		/* 0 */		/* 1 */		/* 2 */		/* 3 */		/* 4 */		/* 5 */		/* 6 - F */
375 #define IP2SR1_3_0	FM(MSIOF1_SS1)	FM(HCTS3_N)	FM(RX3)		F_(0, 0)	FM(DU_DG6)	FM(A16)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
376 #define IP2SR1_7_4	FM(MSIOF1_SS2)	FM(HTX3)	FM(TX3)		F_(0, 0)	FM(DU_DG7)	FM(A17)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
377 #define IP2SR1_11_8	FM(MSIOF2_RXD)	FM(HSCK1)	FM(SCK1)	F_(0, 0)	FM(DU_DB2)	FM(A18)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
378 #define IP2SR1_15_12	FM(MSIOF2_TXD)	FM(HCTS1_N)	FM(CTS1_N)	F_(0, 0)	FM(DU_DB3)	FM(A19)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
379 #define IP2SR1_19_16	FM(MSIOF2_SCK)	FM(HRTS1_N)	FM(RTS1_N)	F_(0, 0)	FM(DU_DB4)	FM(A20)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
380 #define IP2SR1_23_20	FM(MSIOF2_SYNC)	FM(HRX1)	FM(RX1_A)	F_(0, 0)	FM(DU_DB5)	FM(A21)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
381 #define IP2SR1_27_24	FM(MSIOF2_SS1)	FM(HTX1)	FM(TX1_A)	F_(0, 0)	FM(DU_DB6)	FM(A22)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
382 #define IP2SR1_31_28	FM(MSIOF2_SS2)	FM(TCLK1_B)	F_(0, 0)	F_(0, 0)	FM(DU_DB7)	FM(A23)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
383 
384 /* IP3SR1 */		/* 0 */			/* 1 */		/* 2 */		/* 3 */		/* 4 */			/* 5 */		/* 6 - F */
385 #define IP3SR1_3_0	FM(IRQ0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(DU_DOTCLKOUT)	FM(A24)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
386 #define IP3SR1_7_4	FM(IRQ1)		F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(DU_HSYNC)		FM(A25)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
387 #define IP3SR1_11_8	FM(IRQ2)		F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(DU_VSYNC)		FM(CS1_N_A26)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
388 #define IP3SR1_15_12	FM(IRQ3)		F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(DU_ODDF_DISP_CDE)	FM(CS0_N)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
389 #define IP3SR1_19_16	FM(GP1_28)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)		FM(D0)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
390 #define IP3SR1_23_20	FM(GP1_29)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)		FM(D1)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
391 #define IP3SR1_27_24	FM(GP1_30)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)		FM(D2)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
392 #define IP3SR1_31_28	F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
393 
394 /* IP0SR2 */		/* 0 */			/* 1 */			/* 2 */		/* 3 */		/* 4 */		/* 5 */		/* 6 - F */
395 #define IP0SR2_3_0	FM(IPC_CLKIN)		FM(IPC_CLKEN_IN)	F_(0, 0)	F_(0, 0)	FM(DU_DOTCLKIN)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
396 #define IP0SR2_7_4	FM(IPC_CLKOUT)		FM(IPC_CLKEN_OUT)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
397 #define IP0SR2_11_8	FM(GP2_02)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(D3)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
398 #define IP0SR2_15_12	FM(GP2_03)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(D4)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
399 #define IP0SR2_19_16	FM(GP2_04)		F_(0, 0)		FM(MSIOF4_RXD)	F_(0, 0)	F_(0, 0)	FM(D5)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
400 #define IP0SR2_23_20	FM(GP2_05)		FM(HSCK2)		FM(MSIOF4_TXD)	FM(SCK4)	F_(0, 0)	FM(D6)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
401 #define IP0SR2_27_24	FM(GP2_06)		FM(HCTS2_N)		FM(MSIOF4_SCK)	FM(CTS4_N)	F_(0, 0)	FM(D7)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
402 #define IP0SR2_31_28	FM(GP2_07)		FM(HRTS2_N)		FM(MSIOF4_SYNC)	FM(RTS4_N)	F_(0, 0)	FM(D8)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
403 /* IP1SR2 */		/* 0 */			/* 1 */			/* 2 */		/* 3 */		/* 4 */		/* 5 */		/* 6 - F */
404 #define IP1SR2_3_0	FM(GP2_08)		FM(HRX2)		FM(MSIOF4_SS1)	FM(RX4)		F_(0, 0)	FM(D9)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
405 #define IP1SR2_7_4	FM(GP2_09)		FM(HTX2)		FM(MSIOF4_SS2)	FM(TX4)		F_(0, 0)	FM(D10)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
406 #define IP1SR2_11_8	FM(GP2_10)		FM(TCLK2_B)		FM(MSIOF5_RXD)	F_(0, 0)	F_(0, 0)	FM(D11)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
407 #define IP1SR2_15_12	FM(GP2_11)		FM(TCLK3)		FM(MSIOF5_TXD)	F_(0, 0)	F_(0, 0)	FM(D12)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
408 #define IP1SR2_19_16	FM(GP2_12)		FM(TCLK4)		FM(MSIOF5_SCK)	F_(0, 0)	F_(0, 0)	FM(D13)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
409 #define IP1SR2_23_20	FM(GP2_13)		F_(0, 0)		FM(MSIOF5_SYNC)	F_(0, 0)	F_(0, 0)	FM(D14)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
410 #define IP1SR2_27_24	FM(GP2_14)		FM(IRQ4)		FM(MSIOF5_SS1)	F_(0, 0)	F_(0, 0)	FM(D15)		F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
411 #define IP1SR2_31_28	FM(GP2_15)		FM(IRQ5)		FM(MSIOF5_SS2)	FM(CPG_CPCKOUT)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
412 /* IP2SR2 */		/* 0 */			/* 1 */			/* 2 */		/* 3 */		/* 4 */		/* 5 */		/* 6 - F */
413 #define IP2SR2_3_0	FM(FXR_TXDA_A)		FM(MSIOF3_SS1)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
414 #define IP2SR2_7_4	FM(RXDA_EXTFXR_A)	FM(MSIOF3_SS2)		F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(BS_N)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
415 #define IP2SR2_11_8	FM(FXR_TXDB)		FM(MSIOF3_RXD)		F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(RD_N)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
416 #define IP2SR2_15_12	FM(RXDB_EXTFXR)		FM(MSIOF3_TXD)		F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(WE0_N)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
417 #define IP2SR2_19_16	FM(CLK_EXTFXR)		FM(MSIOF3_SCK)		F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(WE1_N)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
418 #define IP2SR2_23_20	FM(TPU0TO0)		FM(MSIOF3_SYNC)		F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(RD_WR_N)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
419 #define IP2SR2_27_24	FM(TPU0TO1)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(CLKOUT)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
420 #define IP2SR2_31_28	FM(TCLK1_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(EX_WAIT0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
421 
422 /* IP0SR3 */		/* 0 */		/* 1 */			/* 2 */		/* 3 */			/* 4 */		/* 5 */		/* 6 - F */
423 #define IP0SR3_3_0	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
424 #define IP0SR3_7_4	FM(CANFD0_TX)	FM(FXR_TXDA_B)		FM(TX1_B)	F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
425 #define IP0SR3_11_8	FM(CANFD0_RX)	FM(RXDA_EXTFXR_B)	FM(RX1_B)	F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
426 #define IP0SR3_15_12	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
427 #define IP0SR3_19_16	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
428 #define IP0SR3_23_20	FM(CANFD2_TX)	FM(TPU0TO2)		FM(PWM0)	F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
429 #define IP0SR3_27_24	FM(CANFD2_RX)	FM(TPU0TO3)		FM(PWM1)	F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
430 #define IP0SR3_31_28	FM(CANFD3_TX)	F_(0, 0)		FM(PWM2)	F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
431 /* IP1SR3 */		/* 0 */		/* 1 */			/* 2 */		/* 3 */			/* 4 */		/* 5 */		/* 6 - F */
432 #define IP1SR3_3_0	FM(CANFD3_RX)	F_(0, 0)		FM(PWM3)	F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
433 #define IP1SR3_7_4	FM(CANFD4_TX)	F_(0, 0)		FM(PWM4)	FM(FXR_CLKOUT1)		F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
434 #define IP1SR3_11_8	FM(CANFD4_RX)	F_(0, 0)		F_(0, 0)	FM(FXR_CLKOUT2)		F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
435 #define IP1SR3_15_12	FM(CANFD5_TX)	F_(0, 0)		F_(0, 0)	FM(FXR_TXENA_N)		F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
436 #define IP1SR3_19_16	FM(CANFD5_RX)	F_(0, 0)		F_(0, 0)	FM(FXR_TXENB_N)		F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
437 #define IP1SR3_23_20	FM(CANFD6_TX)	F_(0, 0)		F_(0, 0)	FM(STPWT_EXTFXR)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
438 #define IP1SR3_27_24	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
439 #define IP1SR3_31_28	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
440 
441 /* IP0SR4 */		/* 0 */		/* 1 */			/* 2 */		/* 3 */		/* 4 */		/* 5 */		/* 6 - F */
442 #define IP0SR4_3_0	FM(AVB0_RX_CTL)	FM(AVB0_MII_RX_DV)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
443 #define IP0SR4_7_4	FM(AVB0_RXC)	FM(AVB0_MII_RXC)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
444 #define IP0SR4_11_8	FM(AVB0_RD0)	FM(AVB0_MII_RD0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
445 #define IP0SR4_15_12	FM(AVB0_RD1)	FM(AVB0_MII_RD1)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
446 #define IP0SR4_19_16	FM(AVB0_RD2)	FM(AVB0_MII_RD2)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
447 #define IP0SR4_23_20	FM(AVB0_RD3)	FM(AVB0_MII_RD3)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
448 #define IP0SR4_27_24	FM(AVB0_TX_CTL)	FM(AVB0_MII_TX_EN)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
449 #define IP0SR4_31_28	FM(AVB0_TXC)	FM(AVB0_MII_TXC)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
450 /* IP1SR4 */		/* 0 */			/* 1 */			/* 2 */		/* 3 */		/* 4 */		/* 5 */		/* 6 - F */
451 #define IP1SR4_3_0	FM(AVB0_TD0)		FM(AVB0_MII_TD0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
452 #define IP1SR4_7_4	FM(AVB0_TD1)		FM(AVB0_MII_TD1)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
453 #define IP1SR4_11_8	FM(AVB0_TD2)		FM(AVB0_MII_TD2)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
454 #define IP1SR4_15_12	FM(AVB0_TD3)		FM(AVB0_MII_TD3)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
455 #define IP1SR4_19_16	FM(AVB0_TXCREFCLK)	F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
456 #define IP1SR4_23_20	FM(AVB0_MDIO)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
457 #define IP1SR4_27_24	FM(AVB0_MDC)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
458 #define IP1SR4_31_28	FM(AVB0_MAGIC)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
459 /* IP2SR4 */		/* 0 */			/* 1 */			/* 2 */		/* 3 */		/* 4 */		/* 5 */		/* 6 - F */
460 #define IP2SR4_3_0	F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
461 #define IP2SR4_7_4	FM(AVB0_LINK)		FM(AVB0_MII_TX_ER)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
462 #define IP2SR4_11_8	FM(AVB0_AVTP_MATCH)	FM(AVB0_MII_RX_ER)	FM(CC5_OSCOUT)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
463 #define IP2SR4_15_12	FM(AVB0_AVTP_CAPTURE)	FM(AVB0_MII_CRS)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
464 #define IP2SR4_19_16	FM(AVB0_AVTP_PPS)	FM(AVB0_MII_COL)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
465 #define IP2SR4_23_20	F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
466 #define IP2SR4_27_24	F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
467 #define IP2SR4_31_28	F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
468 
469 /* IP0SR5 */		/* 0 */			/* 1 */			/* 2 */		/* 3 */		/* 4 */		/* 5 */		/* 6 - F */
470 #define IP0SR5_3_0	FM(AVB1_RX_CTL)		FM(AVB1_MII_RX_DV)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
471 #define IP0SR5_7_4	FM(AVB1_RXC)		FM(AVB1_MII_RXC)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
472 #define IP0SR5_11_8	FM(AVB1_RD0)		FM(AVB1_MII_RD0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
473 #define IP0SR5_15_12	FM(AVB1_RD1)		FM(AVB1_MII_RD1)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
474 #define IP0SR5_19_16	FM(AVB1_RD2)		FM(AVB1_MII_RD2)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
475 #define IP0SR5_23_20	FM(AVB1_RD3)		FM(AVB1_MII_RD3)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
476 #define IP0SR5_27_24	FM(AVB1_TX_CTL)		FM(AVB1_MII_TX_EN)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
477 #define IP0SR5_31_28	FM(AVB1_TXC)		FM(AVB1_MII_TXC)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
478 /* IP1SR5 */		/* 0 */			/* 1 */			/* 2 */		/* 3 */		/* 4 */		/* 5 */		/* 6 - F */
479 #define IP1SR5_3_0	FM(AVB1_TD0)		FM(AVB1_MII_TD0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
480 #define IP1SR5_7_4	FM(AVB1_TD1)		FM(AVB1_MII_TD1)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
481 #define IP1SR5_11_8	FM(AVB1_TD2)		FM(AVB1_MII_TD2)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
482 #define IP1SR5_15_12	FM(AVB1_TD3)		FM(AVB1_MII_TD3)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
483 #define IP1SR5_19_16	FM(AVB1_TXCREFCLK)	F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
484 #define IP1SR5_23_20	FM(AVB1_MDIO)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
485 #define IP1SR5_27_24	FM(AVB1_MDC)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
486 #define IP1SR5_31_28	FM(AVB1_MAGIC)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
487 /* IP2SR5 */		/* 0 */			/* 1 */			/* 2 */		/* 3 */		/* 4 */		/* 5 */		/* 6 - F */
488 #define IP2SR5_3_0	F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
489 #define IP2SR5_7_4	FM(AVB1_LINK)		FM(AVB1_MII_TX_ER)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
490 #define IP2SR5_11_8	FM(AVB1_AVTP_MATCH)	FM(AVB1_MII_RX_ER)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
491 #define IP2SR5_15_12	FM(AVB1_AVTP_CAPTURE)	FM(AVB1_MII_CRS)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
492 #define IP2SR5_19_16	FM(AVB1_AVTP_PPS)	FM(AVB1_MII_COL)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
493 #define IP2SR5_23_20	F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
494 #define IP2SR5_27_24	F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
495 #define IP2SR5_31_28	F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
496 
497 #define PINMUX_GPSR		\
498 				\
499 		GPSR1_30	\
500 		GPSR1_29	\
501 		GPSR1_28	\
502 GPSR0_27	GPSR1_27	\
503 GPSR0_26	GPSR1_26					GPSR4_26 \
504 GPSR0_25	GPSR1_25					GPSR4_25 \
505 GPSR0_24	GPSR1_24	GPSR2_24			GPSR4_24 \
506 GPSR0_23	GPSR1_23	GPSR2_23			GPSR4_23 \
507 GPSR0_22	GPSR1_22	GPSR2_22			GPSR4_22 \
508 GPSR0_21	GPSR1_21	GPSR2_21			GPSR4_21 \
509 GPSR0_20	GPSR1_20	GPSR2_20			GPSR4_20	GPSR5_20	GPSR6_20	GPSR7_20	GPSR8_20	GPSR9_20 \
510 GPSR0_19	GPSR1_19	GPSR2_19			GPSR4_19	GPSR5_19	GPSR6_19	GPSR7_19	GPSR8_19	GPSR9_19 \
511 GPSR0_18	GPSR1_18	GPSR2_18			GPSR4_18	GPSR5_18	GPSR6_18	GPSR7_18	GPSR8_18	GPSR9_18 \
512 GPSR0_17	GPSR1_17	GPSR2_17			GPSR4_17	GPSR5_17	GPSR6_17	GPSR7_17	GPSR8_17	GPSR9_17 \
513 GPSR0_16	GPSR1_16	GPSR2_16	GPSR3_16	GPSR4_16	GPSR5_16	GPSR6_16	GPSR7_16	GPSR8_16	GPSR9_16 \
514 GPSR0_15	GPSR1_15	GPSR2_15	GPSR3_15	GPSR4_15	GPSR5_15	GPSR6_15	GPSR7_15	GPSR8_15	GPSR9_15 \
515 GPSR0_14	GPSR1_14	GPSR2_14	GPSR3_14	GPSR4_14	GPSR5_14	GPSR6_14	GPSR7_14	GPSR8_14	GPSR9_14 \
516 GPSR0_13	GPSR1_13	GPSR2_13	GPSR3_13	GPSR4_13	GPSR5_13	GPSR6_13	GPSR7_13	GPSR8_13	GPSR9_13 \
517 GPSR0_12	GPSR1_12	GPSR2_12	GPSR3_12	GPSR4_12	GPSR5_12	GPSR6_12	GPSR7_12	GPSR8_12	GPSR9_12 \
518 GPSR0_11	GPSR1_11	GPSR2_11	GPSR3_11	GPSR4_11	GPSR5_11	GPSR6_11	GPSR7_11	GPSR8_11	GPSR9_11 \
519 GPSR0_10	GPSR1_10	GPSR2_10	GPSR3_10	GPSR4_10	GPSR5_10	GPSR6_10	GPSR7_10	GPSR8_10	GPSR9_10 \
520 GPSR0_9		GPSR1_9		GPSR2_9		GPSR3_9		GPSR4_9		GPSR5_9		GPSR6_9		GPSR7_9		GPSR8_9		GPSR9_9 \
521 GPSR0_8		GPSR1_8		GPSR2_8		GPSR3_8		GPSR4_8		GPSR5_8		GPSR6_8		GPSR7_8		GPSR8_8		GPSR9_8 \
522 GPSR0_7		GPSR1_7		GPSR2_7		GPSR3_7		GPSR4_7		GPSR5_7		GPSR6_7		GPSR7_7		GPSR8_7		GPSR9_7 \
523 GPSR0_6		GPSR1_6		GPSR2_6		GPSR3_6		GPSR4_6		GPSR5_6		GPSR6_6		GPSR7_6		GPSR8_6		GPSR9_6 \
524 GPSR0_5		GPSR1_5		GPSR2_5		GPSR3_5		GPSR4_5		GPSR5_5		GPSR6_5		GPSR7_5		GPSR8_5		GPSR9_5 \
525 GPSR0_4		GPSR1_4		GPSR2_4		GPSR3_4		GPSR4_4		GPSR5_4		GPSR6_4		GPSR7_4		GPSR8_4		GPSR9_4 \
526 GPSR0_3		GPSR1_3		GPSR2_3		GPSR3_3		GPSR4_3		GPSR5_3		GPSR6_3		GPSR7_3		GPSR8_3		GPSR9_3 \
527 GPSR0_2		GPSR1_2		GPSR2_2		GPSR3_2		GPSR4_2		GPSR5_2		GPSR6_2		GPSR7_2		GPSR8_2		GPSR9_2 \
528 GPSR0_1		GPSR1_1		GPSR2_1		GPSR3_1		GPSR4_1		GPSR5_1		GPSR6_1		GPSR7_1		GPSR8_1		GPSR9_1 \
529 GPSR0_0		GPSR1_0		GPSR2_0		GPSR3_0		GPSR4_0		GPSR5_0		GPSR6_0		GPSR7_0		GPSR8_0		GPSR9_0
530 
531 #define PINMUX_IPSR	\
532 \
533 FM(IP0SR1_3_0)		IP0SR1_3_0	FM(IP1SR1_3_0)		IP1SR1_3_0	FM(IP2SR1_3_0)		IP2SR1_3_0	FM(IP3SR1_3_0)		IP3SR1_3_0 \
534 FM(IP0SR1_7_4)		IP0SR1_7_4	FM(IP1SR1_7_4)		IP1SR1_7_4	FM(IP2SR1_7_4)		IP2SR1_7_4	FM(IP3SR1_7_4)		IP3SR1_7_4 \
535 FM(IP0SR1_11_8)		IP0SR1_11_8	FM(IP1SR1_11_8)		IP1SR1_11_8	FM(IP2SR1_11_8)		IP2SR1_11_8	FM(IP3SR1_11_8)		IP3SR1_11_8 \
536 FM(IP0SR1_15_12)	IP0SR1_15_12	FM(IP1SR1_15_12)	IP1SR1_15_12	FM(IP2SR1_15_12)	IP2SR1_15_12	FM(IP3SR1_15_12)	IP3SR1_15_12 \
537 FM(IP0SR1_19_16)	IP0SR1_19_16	FM(IP1SR1_19_16)	IP1SR1_19_16	FM(IP2SR1_19_16)	IP2SR1_19_16	FM(IP3SR1_19_16)	IP3SR1_19_16 \
538 FM(IP0SR1_23_20)	IP0SR1_23_20	FM(IP1SR1_23_20)	IP1SR1_23_20	FM(IP2SR1_23_20)	IP2SR1_23_20	FM(IP3SR1_23_20)	IP3SR1_23_20 \
539 FM(IP0SR1_27_24)	IP0SR1_27_24	FM(IP1SR1_27_24)	IP1SR1_27_24	FM(IP2SR1_27_24)	IP2SR1_27_24	FM(IP3SR1_27_24)	IP3SR1_27_24 \
540 FM(IP0SR1_31_28)	IP0SR1_31_28	FM(IP1SR1_31_28)	IP1SR1_31_28	FM(IP2SR1_31_28)	IP2SR1_31_28	FM(IP3SR1_31_28)	IP3SR1_31_28 \
541 \
542 FM(IP0SR2_3_0)		IP0SR2_3_0	FM(IP1SR2_3_0)		IP1SR2_3_0	FM(IP2SR2_3_0)		IP2SR2_3_0 \
543 FM(IP0SR2_7_4)		IP0SR2_7_4	FM(IP1SR2_7_4)		IP1SR2_7_4	FM(IP2SR2_7_4)		IP2SR2_7_4 \
544 FM(IP0SR2_11_8)		IP0SR2_11_8	FM(IP1SR2_11_8)		IP1SR2_11_8	FM(IP2SR2_11_8)		IP2SR2_11_8 \
545 FM(IP0SR2_15_12)	IP0SR2_15_12	FM(IP1SR2_15_12)	IP1SR2_15_12	FM(IP2SR2_15_12)	IP2SR2_15_12 \
546 FM(IP0SR2_19_16)	IP0SR2_19_16	FM(IP1SR2_19_16)	IP1SR2_19_16	FM(IP2SR2_19_16)	IP2SR2_19_16 \
547 FM(IP0SR2_23_20)	IP0SR2_23_20	FM(IP1SR2_23_20)	IP1SR2_23_20	FM(IP2SR2_23_20)	IP2SR2_23_20 \
548 FM(IP0SR2_27_24)	IP0SR2_27_24	FM(IP1SR2_27_24)	IP1SR2_27_24	FM(IP2SR2_27_24)	IP2SR2_27_24 \
549 FM(IP0SR2_31_28)	IP0SR2_31_28	FM(IP1SR2_31_28)	IP1SR2_31_28	FM(IP2SR2_31_28)	IP2SR2_31_28 \
550 \
551 FM(IP0SR3_3_0)		IP0SR3_3_0	FM(IP1SR3_3_0)		IP1SR3_3_0	\
552 FM(IP0SR3_7_4)		IP0SR3_7_4	FM(IP1SR3_7_4)		IP1SR3_7_4	\
553 FM(IP0SR3_11_8)		IP0SR3_11_8	FM(IP1SR3_11_8)		IP1SR3_11_8	\
554 FM(IP0SR3_15_12)	IP0SR3_15_12	FM(IP1SR3_15_12)	IP1SR3_15_12	\
555 FM(IP0SR3_19_16)	IP0SR3_19_16	FM(IP1SR3_19_16)	IP1SR3_19_16	\
556 FM(IP0SR3_23_20)	IP0SR3_23_20	FM(IP1SR3_23_20)	IP1SR3_23_20	\
557 FM(IP0SR3_27_24)	IP0SR3_27_24	FM(IP1SR3_27_24)	IP1SR3_27_24	\
558 FM(IP0SR3_31_28)	IP0SR3_31_28	FM(IP1SR3_31_28)	IP1SR3_31_28	\
559 \
560 FM(IP0SR4_3_0)		IP0SR4_3_0	FM(IP1SR4_3_0)		IP1SR4_3_0	FM(IP2SR4_3_0)		IP2SR4_3_0 \
561 FM(IP0SR4_7_4)		IP0SR4_7_4	FM(IP1SR4_7_4)		IP1SR4_7_4	FM(IP2SR4_7_4)		IP2SR4_7_4 \
562 FM(IP0SR4_11_8)		IP0SR4_11_8	FM(IP1SR4_11_8)		IP1SR4_11_8	FM(IP2SR4_11_8)		IP2SR4_11_8 \
563 FM(IP0SR4_15_12)	IP0SR4_15_12	FM(IP1SR4_15_12)	IP1SR4_15_12	FM(IP2SR4_15_12)	IP2SR4_15_12 \
564 FM(IP0SR4_19_16)	IP0SR4_19_16	FM(IP1SR4_19_16)	IP1SR4_19_16	FM(IP2SR4_19_16)	IP2SR4_19_16 \
565 FM(IP0SR4_23_20)	IP0SR4_23_20	FM(IP1SR4_23_20)	IP1SR4_23_20	FM(IP2SR4_23_20)	IP2SR4_23_20 \
566 FM(IP0SR4_27_24)	IP0SR4_27_24	FM(IP1SR4_27_24)	IP1SR4_27_24	FM(IP2SR4_27_24)	IP2SR4_27_24 \
567 FM(IP0SR4_31_28)	IP0SR4_31_28	FM(IP1SR4_31_28)	IP1SR4_31_28	FM(IP2SR4_31_28)	IP2SR4_31_28 \
568 \
569 FM(IP0SR5_3_0)		IP0SR5_3_0	FM(IP1SR5_3_0)		IP1SR5_3_0	FM(IP2SR5_3_0)		IP2SR5_3_0 \
570 FM(IP0SR5_7_4)		IP0SR5_7_4	FM(IP1SR5_7_4)		IP1SR5_7_4	FM(IP2SR5_7_4)		IP2SR5_7_4 \
571 FM(IP0SR5_11_8)		IP0SR5_11_8	FM(IP1SR5_11_8)		IP1SR5_11_8	FM(IP2SR5_11_8)		IP2SR5_11_8 \
572 FM(IP0SR5_15_12)	IP0SR5_15_12	FM(IP1SR5_15_12)	IP1SR5_15_12	FM(IP2SR5_15_12)	IP2SR5_15_12 \
573 FM(IP0SR5_19_16)	IP0SR5_19_16	FM(IP1SR5_19_16)	IP1SR5_19_16	FM(IP2SR5_19_16)	IP2SR5_19_16 \
574 FM(IP0SR5_23_20)	IP0SR5_23_20	FM(IP1SR5_23_20)	IP1SR5_23_20	FM(IP2SR5_23_20)	IP2SR5_23_20 \
575 FM(IP0SR5_27_24)	IP0SR5_27_24	FM(IP1SR5_27_24)	IP1SR5_27_24	FM(IP2SR5_27_24)	IP2SR5_27_24 \
576 FM(IP0SR5_31_28)	IP0SR5_31_28	FM(IP1SR5_31_28)	IP1SR5_31_28	FM(IP2SR5_31_28)	IP2SR5_31_28
577 
578 /* MOD_SEL2 */			/* 0 */		/* 1 */		/* 2 */		/* 3 */
579 #define MOD_SEL2_15_14		FM(SEL_I2C6_0)	F_(0, 0)	F_(0, 0)	FM(SEL_I2C6_3)
580 #define MOD_SEL2_13_12		FM(SEL_I2C5_0)	F_(0, 0)	F_(0, 0)	FM(SEL_I2C5_3)
581 #define MOD_SEL2_11_10		FM(SEL_I2C4_0)	F_(0, 0)	F_(0, 0)	FM(SEL_I2C4_3)
582 #define MOD_SEL2_9_8		FM(SEL_I2C3_0)	F_(0, 0)	F_(0, 0)	FM(SEL_I2C3_3)
583 #define MOD_SEL2_7_6		FM(SEL_I2C2_0)	F_(0, 0)	F_(0, 0)	FM(SEL_I2C2_3)
584 #define MOD_SEL2_5_4		FM(SEL_I2C1_0)	F_(0, 0)	F_(0, 0)	FM(SEL_I2C1_3)
585 #define MOD_SEL2_3_2		FM(SEL_I2C0_0)	F_(0, 0)	F_(0, 0)	FM(SEL_I2C0_3)
586 
587 #define PINMUX_MOD_SELS \
588 \
589 MOD_SEL2_15_14 \
590 MOD_SEL2_13_12 \
591 MOD_SEL2_11_10 \
592 MOD_SEL2_9_8 \
593 MOD_SEL2_7_6 \
594 MOD_SEL2_5_4 \
595 MOD_SEL2_3_2
596 
597 #define PINMUX_PHYS \
598 	FM(SCL0) FM(SDA0) FM(SCL1) FM(SDA1) FM(SCL2) FM(SDA2) FM(SCL3) FM(SDA3) \
599 	FM(SCL4) FM(SDA4) FM(SCL5) FM(SDA5) FM(SCL6) FM(SDA6)
600 
601 enum {
602 	PINMUX_RESERVED = 0,
603 
604 	PINMUX_DATA_BEGIN,
605 	GP_ALL(DATA),
606 	PINMUX_DATA_END,
607 
608 #define F_(x, y)
609 #define FM(x)   FN_##x,
610 	PINMUX_FUNCTION_BEGIN,
611 	GP_ALL(FN),
612 	PINMUX_GPSR
613 	PINMUX_IPSR
614 	PINMUX_MOD_SELS
615 	PINMUX_FUNCTION_END,
616 #undef F_
617 #undef FM
618 
619 #define F_(x, y)
620 #define FM(x)	x##_MARK,
621 	PINMUX_MARK_BEGIN,
622 	PINMUX_GPSR
623 	PINMUX_IPSR
624 	PINMUX_MOD_SELS
625 	PINMUX_PHYS
626 	PINMUX_MARK_END,
627 #undef F_
628 #undef FM
629 };
630 
631 static const u16 pinmux_data[] = {
632 	PINMUX_DATA_GP_ALL(),
633 
634 	PINMUX_SINGLE(MMC_D7),
635 	PINMUX_SINGLE(MMC_D6),
636 	PINMUX_SINGLE(MMC_D5),
637 	PINMUX_SINGLE(MMC_D4),
638 	PINMUX_SINGLE(MMC_SD_CLK),
639 	PINMUX_SINGLE(MMC_SD_D3),
640 	PINMUX_SINGLE(MMC_SD_D2),
641 	PINMUX_SINGLE(MMC_SD_D1),
642 	PINMUX_SINGLE(MMC_SD_D0),
643 	PINMUX_SINGLE(MMC_SD_CMD),
644 	PINMUX_SINGLE(MMC_DS),
645 
646 	PINMUX_SINGLE(SD_CD),
647 	PINMUX_SINGLE(SD_WP),
648 
649 	PINMUX_SINGLE(RPC_INT_N),
650 	PINMUX_SINGLE(RPC_WP_N),
651 	PINMUX_SINGLE(RPC_RESET_N),
652 
653 	PINMUX_SINGLE(QSPI1_SSL),
654 	PINMUX_SINGLE(QSPI1_IO3),
655 	PINMUX_SINGLE(QSPI1_IO2),
656 	PINMUX_SINGLE(QSPI1_MISO_IO1),
657 	PINMUX_SINGLE(QSPI1_MOSI_IO0),
658 	PINMUX_SINGLE(QSPI1_SPCLK),
659 	PINMUX_SINGLE(QSPI0_SSL),
660 	PINMUX_SINGLE(QSPI0_IO3),
661 	PINMUX_SINGLE(QSPI0_IO2),
662 	PINMUX_SINGLE(QSPI0_MISO_IO1),
663 	PINMUX_SINGLE(QSPI0_MOSI_IO0),
664 	PINMUX_SINGLE(QSPI0_SPCLK),
665 
666 	PINMUX_SINGLE(TCLK2_A),
667 
668 	PINMUX_SINGLE(CANFD7_RX),
669 	PINMUX_SINGLE(CANFD7_TX),
670 	PINMUX_SINGLE(CANFD6_RX),
671 	PINMUX_SINGLE(CANFD1_RX),
672 	PINMUX_SINGLE(CANFD1_TX),
673 	PINMUX_SINGLE(CAN_CLK),
674 
675 	PINMUX_SINGLE(AVS1),
676 	PINMUX_SINGLE(AVS0),
677 
678 	PINMUX_SINGLE(PCIE3_CLKREQ_N),
679 	PINMUX_SINGLE(PCIE2_CLKREQ_N),
680 	PINMUX_SINGLE(PCIE1_CLKREQ_N),
681 	PINMUX_SINGLE(PCIE0_CLKREQ_N),
682 
683 	PINMUX_SINGLE(AVB0_PHY_INT),
684 	PINMUX_SINGLE(AVB0_MAGIC),
685 	PINMUX_SINGLE(AVB0_MDC),
686 	PINMUX_SINGLE(AVB0_MDIO),
687 	PINMUX_SINGLE(AVB0_TXCREFCLK),
688 
689 	PINMUX_SINGLE(AVB1_PHY_INT),
690 	PINMUX_SINGLE(AVB1_MAGIC),
691 	PINMUX_SINGLE(AVB1_MDC),
692 	PINMUX_SINGLE(AVB1_MDIO),
693 	PINMUX_SINGLE(AVB1_TXCREFCLK),
694 
695 	PINMUX_SINGLE(AVB2_AVTP_PPS),
696 	PINMUX_SINGLE(AVB2_AVTP_CAPTURE),
697 	PINMUX_SINGLE(AVB2_AVTP_MATCH),
698 	PINMUX_SINGLE(AVB2_LINK),
699 	PINMUX_SINGLE(AVB2_PHY_INT),
700 	PINMUX_SINGLE(AVB2_MAGIC),
701 	PINMUX_SINGLE(AVB2_MDC),
702 	PINMUX_SINGLE(AVB2_MDIO),
703 	PINMUX_SINGLE(AVB2_TXCREFCLK),
704 	PINMUX_SINGLE(AVB2_TD3),
705 	PINMUX_SINGLE(AVB2_TD2),
706 	PINMUX_SINGLE(AVB2_TD1),
707 	PINMUX_SINGLE(AVB2_TD0),
708 	PINMUX_SINGLE(AVB2_TXC),
709 	PINMUX_SINGLE(AVB2_TX_CTL),
710 	PINMUX_SINGLE(AVB2_RD3),
711 	PINMUX_SINGLE(AVB2_RD2),
712 	PINMUX_SINGLE(AVB2_RD1),
713 	PINMUX_SINGLE(AVB2_RD0),
714 	PINMUX_SINGLE(AVB2_RXC),
715 	PINMUX_SINGLE(AVB2_RX_CTL),
716 
717 	PINMUX_SINGLE(AVB3_AVTP_PPS),
718 	PINMUX_SINGLE(AVB3_AVTP_CAPTURE),
719 	PINMUX_SINGLE(AVB3_AVTP_MATCH),
720 	PINMUX_SINGLE(AVB3_LINK),
721 	PINMUX_SINGLE(AVB3_PHY_INT),
722 	PINMUX_SINGLE(AVB3_MAGIC),
723 	PINMUX_SINGLE(AVB3_MDC),
724 	PINMUX_SINGLE(AVB3_MDIO),
725 	PINMUX_SINGLE(AVB3_TXCREFCLK),
726 	PINMUX_SINGLE(AVB3_TD3),
727 	PINMUX_SINGLE(AVB3_TD2),
728 	PINMUX_SINGLE(AVB3_TD1),
729 	PINMUX_SINGLE(AVB3_TD0),
730 	PINMUX_SINGLE(AVB3_TXC),
731 	PINMUX_SINGLE(AVB3_TX_CTL),
732 	PINMUX_SINGLE(AVB3_RD3),
733 	PINMUX_SINGLE(AVB3_RD2),
734 	PINMUX_SINGLE(AVB3_RD1),
735 	PINMUX_SINGLE(AVB3_RD0),
736 	PINMUX_SINGLE(AVB3_RXC),
737 	PINMUX_SINGLE(AVB3_RX_CTL),
738 
739 	PINMUX_SINGLE(AVB4_AVTP_PPS),
740 	PINMUX_SINGLE(AVB4_AVTP_CAPTURE),
741 	PINMUX_SINGLE(AVB4_AVTP_MATCH),
742 	PINMUX_SINGLE(AVB4_LINK),
743 	PINMUX_SINGLE(AVB4_PHY_INT),
744 	PINMUX_SINGLE(AVB4_MAGIC),
745 	PINMUX_SINGLE(AVB4_MDC),
746 	PINMUX_SINGLE(AVB4_MDIO),
747 	PINMUX_SINGLE(AVB4_TXCREFCLK),
748 	PINMUX_SINGLE(AVB4_TD3),
749 	PINMUX_SINGLE(AVB4_TD2),
750 	PINMUX_SINGLE(AVB4_TD1),
751 	PINMUX_SINGLE(AVB4_TD0),
752 	PINMUX_SINGLE(AVB4_TXC),
753 	PINMUX_SINGLE(AVB4_TX_CTL),
754 	PINMUX_SINGLE(AVB4_RD3),
755 	PINMUX_SINGLE(AVB4_RD2),
756 	PINMUX_SINGLE(AVB4_RD1),
757 	PINMUX_SINGLE(AVB4_RD0),
758 	PINMUX_SINGLE(AVB4_RXC),
759 	PINMUX_SINGLE(AVB4_RX_CTL),
760 
761 	PINMUX_SINGLE(AVB5_AVTP_PPS),
762 	PINMUX_SINGLE(AVB5_AVTP_CAPTURE),
763 	PINMUX_SINGLE(AVB5_AVTP_MATCH),
764 	PINMUX_SINGLE(AVB5_LINK),
765 	PINMUX_SINGLE(AVB5_PHY_INT),
766 	PINMUX_SINGLE(AVB5_MAGIC),
767 	PINMUX_SINGLE(AVB5_MDC),
768 	PINMUX_SINGLE(AVB5_MDIO),
769 	PINMUX_SINGLE(AVB5_TXCREFCLK),
770 	PINMUX_SINGLE(AVB5_TD3),
771 	PINMUX_SINGLE(AVB5_TD2),
772 	PINMUX_SINGLE(AVB5_TD1),
773 	PINMUX_SINGLE(AVB5_TD0),
774 	PINMUX_SINGLE(AVB5_TXC),
775 	PINMUX_SINGLE(AVB5_TX_CTL),
776 	PINMUX_SINGLE(AVB5_RD3),
777 	PINMUX_SINGLE(AVB5_RD2),
778 	PINMUX_SINGLE(AVB5_RD1),
779 	PINMUX_SINGLE(AVB5_RD0),
780 	PINMUX_SINGLE(AVB5_RXC),
781 	PINMUX_SINGLE(AVB5_RX_CTL),
782 
783 	/* IP0SR1 */
784 	PINMUX_IPSR_GPSR(IP0SR1_3_0,	SCIF_CLK),
785 	PINMUX_IPSR_GPSR(IP0SR1_3_0,	A0),
786 
787 	PINMUX_IPSR_GPSR(IP0SR1_7_4,	HRX0),
788 	PINMUX_IPSR_GPSR(IP0SR1_7_4,	RX0),
789 	PINMUX_IPSR_GPSR(IP0SR1_7_4,	A1),
790 
791 	PINMUX_IPSR_GPSR(IP0SR1_11_8,	HSCK0),
792 	PINMUX_IPSR_GPSR(IP0SR1_11_8,	SCK0),
793 	PINMUX_IPSR_GPSR(IP0SR1_11_8,	A2),
794 
795 	PINMUX_IPSR_GPSR(IP0SR1_15_12,	HRTS0_N),
796 	PINMUX_IPSR_GPSR(IP0SR1_15_12,	RTS0_N),
797 	PINMUX_IPSR_GPSR(IP0SR1_15_12,	A3),
798 
799 	PINMUX_IPSR_GPSR(IP0SR1_19_16,	HCTS0_N),
800 	PINMUX_IPSR_GPSR(IP0SR1_19_16,	CTS0_N),
801 	PINMUX_IPSR_GPSR(IP0SR1_19_16,	A4),
802 
803 	PINMUX_IPSR_GPSR(IP0SR1_23_20,	HTX0),
804 	PINMUX_IPSR_GPSR(IP0SR1_23_20,	TX0),
805 	PINMUX_IPSR_GPSR(IP0SR1_23_20,	A5),
806 
807 	PINMUX_IPSR_GPSR(IP0SR1_27_24,	MSIOF0_RXD),
808 	PINMUX_IPSR_GPSR(IP0SR1_27_24,	DU_DR2),
809 	PINMUX_IPSR_GPSR(IP0SR1_27_24,	A6),
810 
811 	PINMUX_IPSR_GPSR(IP0SR1_31_28,	MSIOF0_TXD),
812 	PINMUX_IPSR_GPSR(IP0SR1_31_28,	DU_DR3),
813 	PINMUX_IPSR_GPSR(IP0SR1_31_28,	A7),
814 
815 	/* IP1SR1 */
816 	PINMUX_IPSR_GPSR(IP1SR1_3_0,	MSIOF0_SCK),
817 	PINMUX_IPSR_GPSR(IP1SR1_3_0,	DU_DR4),
818 	PINMUX_IPSR_GPSR(IP1SR1_3_0,	A8),
819 
820 	PINMUX_IPSR_GPSR(IP1SR1_7_4,	MSIOF0_SYNC),
821 	PINMUX_IPSR_GPSR(IP1SR1_7_4,	DU_DR5),
822 	PINMUX_IPSR_GPSR(IP1SR1_7_4,	A9),
823 
824 	PINMUX_IPSR_GPSR(IP1SR1_11_8,	MSIOF0_SS1),
825 	PINMUX_IPSR_GPSR(IP1SR1_11_8,	DU_DR6),
826 	PINMUX_IPSR_GPSR(IP1SR1_11_8,	A10),
827 
828 	PINMUX_IPSR_GPSR(IP1SR1_15_12,	MSIOF0_SS2),
829 	PINMUX_IPSR_GPSR(IP1SR1_15_12,	DU_DR7),
830 	PINMUX_IPSR_GPSR(IP1SR1_15_12,	A11),
831 
832 	PINMUX_IPSR_GPSR(IP1SR1_19_16,	MSIOF1_RXD),
833 	PINMUX_IPSR_GPSR(IP1SR1_19_16,	DU_DG2),
834 	PINMUX_IPSR_GPSR(IP1SR1_19_16,	A12),
835 
836 	PINMUX_IPSR_GPSR(IP1SR1_23_20,	MSIOF1_TXD),
837 	PINMUX_IPSR_GPSR(IP1SR1_23_20,	HRX3),
838 	PINMUX_IPSR_GPSR(IP1SR1_23_20,	SCK3),
839 	PINMUX_IPSR_GPSR(IP1SR1_23_20,	DU_DG3),
840 	PINMUX_IPSR_GPSR(IP1SR1_23_20,	A13),
841 
842 	PINMUX_IPSR_GPSR(IP1SR1_27_24,	MSIOF1_SCK),
843 	PINMUX_IPSR_GPSR(IP1SR1_27_24,	HSCK3),
844 	PINMUX_IPSR_GPSR(IP1SR1_27_24,	CTS3_N),
845 	PINMUX_IPSR_GPSR(IP1SR1_27_24,	DU_DG4),
846 	PINMUX_IPSR_GPSR(IP1SR1_27_24,	A14),
847 
848 	PINMUX_IPSR_GPSR(IP1SR1_31_28,	MSIOF1_SYNC),
849 	PINMUX_IPSR_GPSR(IP1SR1_31_28,	HRTS3_N),
850 	PINMUX_IPSR_GPSR(IP1SR1_31_28,	RTS3_N),
851 	PINMUX_IPSR_GPSR(IP1SR1_31_28,	DU_DG5),
852 	PINMUX_IPSR_GPSR(IP1SR1_31_28,	A15),
853 
854 	/* IP2SR1 */
855 	PINMUX_IPSR_GPSR(IP2SR1_3_0,	MSIOF1_SS1),
856 	PINMUX_IPSR_GPSR(IP2SR1_3_0,	HCTS3_N),
857 	PINMUX_IPSR_GPSR(IP2SR1_3_0,	RX3),
858 	PINMUX_IPSR_GPSR(IP2SR1_3_0,	DU_DG6),
859 	PINMUX_IPSR_GPSR(IP2SR1_3_0,	A16),
860 
861 	PINMUX_IPSR_GPSR(IP2SR1_7_4,	MSIOF1_SS2),
862 	PINMUX_IPSR_GPSR(IP2SR1_7_4,	HTX3),
863 	PINMUX_IPSR_GPSR(IP2SR1_7_4,	TX3),
864 	PINMUX_IPSR_GPSR(IP2SR1_7_4,	DU_DG7),
865 	PINMUX_IPSR_GPSR(IP2SR1_7_4,	A17),
866 
867 	PINMUX_IPSR_GPSR(IP2SR1_11_8,	MSIOF2_RXD),
868 	PINMUX_IPSR_GPSR(IP2SR1_11_8,	HSCK1),
869 	PINMUX_IPSR_GPSR(IP2SR1_11_8,	SCK1),
870 	PINMUX_IPSR_GPSR(IP2SR1_11_8,	DU_DB2),
871 	PINMUX_IPSR_GPSR(IP2SR1_11_8,	A18),
872 
873 	PINMUX_IPSR_GPSR(IP2SR1_15_12,	MSIOF2_TXD),
874 	PINMUX_IPSR_GPSR(IP2SR1_15_12,	HCTS1_N),
875 	PINMUX_IPSR_GPSR(IP2SR1_15_12,	CTS1_N),
876 	PINMUX_IPSR_GPSR(IP2SR1_15_12,	DU_DB3),
877 	PINMUX_IPSR_GPSR(IP2SR1_15_12,	A19),
878 
879 	PINMUX_IPSR_GPSR(IP2SR1_19_16,	MSIOF2_SCK),
880 	PINMUX_IPSR_GPSR(IP2SR1_19_16,	HRTS1_N),
881 	PINMUX_IPSR_GPSR(IP2SR1_19_16,	RTS1_N),
882 	PINMUX_IPSR_GPSR(IP2SR1_19_16,	DU_DB4),
883 	PINMUX_IPSR_GPSR(IP2SR1_19_16,	A20),
884 
885 	PINMUX_IPSR_GPSR(IP2SR1_23_20,	MSIOF2_SYNC),
886 	PINMUX_IPSR_GPSR(IP2SR1_23_20,	HRX1),
887 	PINMUX_IPSR_GPSR(IP2SR1_23_20,	RX1_A),
888 	PINMUX_IPSR_GPSR(IP2SR1_23_20,	DU_DB5),
889 	PINMUX_IPSR_GPSR(IP2SR1_23_20,	A21),
890 
891 	PINMUX_IPSR_GPSR(IP2SR1_27_24,	MSIOF2_SS1),
892 	PINMUX_IPSR_GPSR(IP2SR1_27_24,	HTX1),
893 	PINMUX_IPSR_GPSR(IP2SR1_27_24,	TX1_A),
894 	PINMUX_IPSR_GPSR(IP2SR1_27_24,	DU_DB6),
895 	PINMUX_IPSR_GPSR(IP2SR1_27_24,	A22),
896 
897 	PINMUX_IPSR_GPSR(IP2SR1_31_28,	MSIOF2_SS2),
898 	PINMUX_IPSR_GPSR(IP2SR1_31_28,	TCLK1_B),
899 	PINMUX_IPSR_GPSR(IP2SR1_31_28,	DU_DB7),
900 	PINMUX_IPSR_GPSR(IP2SR1_31_28,	A23),
901 
902 	/* IP3SR1 */
903 	PINMUX_IPSR_GPSR(IP3SR1_3_0,	IRQ0),
904 	PINMUX_IPSR_GPSR(IP3SR1_3_0,	DU_DOTCLKOUT),
905 	PINMUX_IPSR_GPSR(IP3SR1_3_0,	A24),
906 
907 	PINMUX_IPSR_GPSR(IP3SR1_7_4,	IRQ1),
908 	PINMUX_IPSR_GPSR(IP3SR1_7_4,	DU_HSYNC),
909 	PINMUX_IPSR_GPSR(IP3SR1_7_4,	A25),
910 
911 	PINMUX_IPSR_GPSR(IP3SR1_11_8,	IRQ2),
912 	PINMUX_IPSR_GPSR(IP3SR1_11_8,	DU_VSYNC),
913 	PINMUX_IPSR_GPSR(IP3SR1_11_8,	CS1_N_A26),
914 
915 	PINMUX_IPSR_GPSR(IP3SR1_15_12,	IRQ3),
916 	PINMUX_IPSR_GPSR(IP3SR1_15_12,	DU_ODDF_DISP_CDE),
917 	PINMUX_IPSR_GPSR(IP3SR1_15_12,	CS0_N),
918 
919 	PINMUX_IPSR_GPSR(IP3SR1_19_16,	GP1_28),
920 	PINMUX_IPSR_GPSR(IP3SR1_19_16,	D0),
921 
922 	PINMUX_IPSR_GPSR(IP3SR1_23_20,	GP1_29),
923 	PINMUX_IPSR_GPSR(IP3SR1_23_20,	D1),
924 
925 	PINMUX_IPSR_GPSR(IP3SR1_27_24,	GP1_30),
926 	PINMUX_IPSR_GPSR(IP3SR1_27_24,	D2),
927 
928 	/* IP0SR2 */
929 	PINMUX_IPSR_GPSR(IP0SR2_3_0,	IPC_CLKIN),
930 	PINMUX_IPSR_GPSR(IP0SR2_3_0,	IPC_CLKEN_IN),
931 	PINMUX_IPSR_GPSR(IP0SR2_3_0,	DU_DOTCLKIN),
932 
933 	PINMUX_IPSR_GPSR(IP0SR2_7_4,	IPC_CLKOUT),
934 	PINMUX_IPSR_GPSR(IP0SR2_7_4,	IPC_CLKEN_OUT),
935 
936 	/* GP2_02 = SCL0 */
937 	PINMUX_IPSR_MSEL(IP0SR2_11_8,	GP2_02,	SEL_I2C0_0),
938 	PINMUX_IPSR_MSEL(IP0SR2_11_8,	D3,	SEL_I2C0_0),
939 	PINMUX_IPSR_PHYS(IP0SR2_11_8,	SCL0,	SEL_I2C0_3),
940 
941 	/* GP2_03 = SDA0 */
942 	PINMUX_IPSR_MSEL(IP0SR2_15_12,	GP2_03,	SEL_I2C0_0),
943 	PINMUX_IPSR_MSEL(IP0SR2_15_12,	D4,	SEL_I2C0_0),
944 	PINMUX_IPSR_PHYS(IP0SR2_15_12,	SDA0,	SEL_I2C0_3),
945 
946 	/* GP2_04 = SCL1 */
947 	PINMUX_IPSR_MSEL(IP0SR2_19_16,	GP2_04,		SEL_I2C1_0),
948 	PINMUX_IPSR_MSEL(IP0SR2_19_16,	MSIOF4_RXD,	SEL_I2C1_0),
949 	PINMUX_IPSR_MSEL(IP0SR2_19_16,	D5,		SEL_I2C1_0),
950 	PINMUX_IPSR_PHYS(IP0SR2_19_16,	SCL1,		SEL_I2C1_3),
951 
952 	/* GP2_05 = SDA1 */
953 	PINMUX_IPSR_MSEL(IP0SR2_23_20,	GP2_05,		SEL_I2C1_0),
954 	PINMUX_IPSR_MSEL(IP0SR2_23_20,	HSCK2,		SEL_I2C1_0),
955 	PINMUX_IPSR_MSEL(IP0SR2_23_20,	MSIOF4_TXD,	SEL_I2C1_0),
956 	PINMUX_IPSR_MSEL(IP0SR2_23_20,	SCK4,		SEL_I2C1_0),
957 	PINMUX_IPSR_MSEL(IP0SR2_23_20,	D6,		SEL_I2C1_0),
958 	PINMUX_IPSR_PHYS(IP0SR2_23_20,	SDA1,		SEL_I2C1_3),
959 
960 	/* GP2_06 = SCL2 */
961 	PINMUX_IPSR_MSEL(IP0SR2_27_24,	GP2_06,		SEL_I2C2_0),
962 	PINMUX_IPSR_MSEL(IP0SR2_27_24,	HCTS2_N,	SEL_I2C2_0),
963 	PINMUX_IPSR_MSEL(IP0SR2_27_24,	MSIOF4_SCK,	SEL_I2C2_0),
964 	PINMUX_IPSR_MSEL(IP0SR2_27_24,	CTS4_N,		SEL_I2C2_0),
965 	PINMUX_IPSR_MSEL(IP0SR2_27_24,	D7,		SEL_I2C2_0),
966 	PINMUX_IPSR_PHYS(IP0SR2_27_24,	SCL2,		SEL_I2C2_3),
967 
968 	/* GP2_07 = SDA2 */
969 	PINMUX_IPSR_MSEL(IP0SR2_31_28,	GP2_07,		SEL_I2C2_0),
970 	PINMUX_IPSR_MSEL(IP0SR2_31_28,	HRTS2_N,	SEL_I2C2_0),
971 	PINMUX_IPSR_MSEL(IP0SR2_31_28,	MSIOF4_SYNC,	SEL_I2C2_0),
972 	PINMUX_IPSR_MSEL(IP0SR2_31_28,	RTS4_N,		SEL_I2C2_0),
973 	PINMUX_IPSR_MSEL(IP0SR2_31_28,	D8,		SEL_I2C2_0),
974 	PINMUX_IPSR_PHYS(IP0SR2_31_28,	SDA2,		SEL_I2C2_3),
975 
976 	/* GP2_08 = SCL3 */
977 	PINMUX_IPSR_MSEL(IP1SR2_3_0,	GP2_08,		SEL_I2C3_0),
978 	PINMUX_IPSR_MSEL(IP1SR2_3_0,	HRX2,		SEL_I2C3_0),
979 	PINMUX_IPSR_MSEL(IP1SR2_3_0,	MSIOF4_SS1,	SEL_I2C3_0),
980 	PINMUX_IPSR_MSEL(IP1SR2_3_0,	RX4,		SEL_I2C3_0),
981 	PINMUX_IPSR_MSEL(IP1SR2_3_0,	D9,		SEL_I2C3_0),
982 	PINMUX_IPSR_PHYS(IP1SR2_3_0,	SCL3,		SEL_I2C3_3),
983 
984 	/* GP2_09 = SDA3 */
985 	PINMUX_IPSR_MSEL(IP1SR2_7_4,	GP2_09,		SEL_I2C3_0),
986 	PINMUX_IPSR_MSEL(IP1SR2_7_4,	HTX2,		SEL_I2C3_0),
987 	PINMUX_IPSR_MSEL(IP1SR2_7_4,	MSIOF4_SS2,	SEL_I2C3_0),
988 	PINMUX_IPSR_MSEL(IP1SR2_7_4,	TX4,		SEL_I2C3_0),
989 	PINMUX_IPSR_MSEL(IP1SR2_7_4,	D10,		SEL_I2C3_0),
990 	PINMUX_IPSR_PHYS(IP1SR2_7_4,	SDA3,		SEL_I2C3_3),
991 
992 	/* GP2_10 = SCL4 */
993 	PINMUX_IPSR_MSEL(IP1SR2_11_8,	GP2_10,		SEL_I2C4_0),
994 	PINMUX_IPSR_MSEL(IP1SR2_11_8,	TCLK2_B,	SEL_I2C4_0),
995 	PINMUX_IPSR_MSEL(IP1SR2_11_8,	MSIOF5_RXD,	SEL_I2C4_0),
996 	PINMUX_IPSR_MSEL(IP1SR2_11_8,	D11,		SEL_I2C4_0),
997 	PINMUX_IPSR_PHYS(IP1SR2_11_8,	SCL4,		SEL_I2C4_3),
998 
999 	/* GP2_11 = SDA4 */
1000 	PINMUX_IPSR_MSEL(IP1SR2_15_12,	GP2_11,		SEL_I2C4_0),
1001 	PINMUX_IPSR_MSEL(IP1SR2_15_12,	TCLK3,		SEL_I2C4_0),
1002 	PINMUX_IPSR_MSEL(IP1SR2_15_12,	MSIOF5_TXD,	SEL_I2C4_0),
1003 	PINMUX_IPSR_MSEL(IP1SR2_15_12,	D12,		SEL_I2C4_0),
1004 	PINMUX_IPSR_PHYS(IP1SR2_15_12,	SDA4,		SEL_I2C4_3),
1005 
1006 	/* GP2_12 = SCL5 */
1007 	PINMUX_IPSR_MSEL(IP1SR2_19_16,	GP2_12,		SEL_I2C5_0),
1008 	PINMUX_IPSR_MSEL(IP1SR2_19_16,	TCLK4,		SEL_I2C5_0),
1009 	PINMUX_IPSR_MSEL(IP1SR2_19_16,	MSIOF5_SCK,	SEL_I2C5_0),
1010 	PINMUX_IPSR_MSEL(IP1SR2_19_16,	D13,		SEL_I2C5_0),
1011 	PINMUX_IPSR_PHYS(IP1SR2_19_16,	SCL5,		SEL_I2C5_3),
1012 
1013 	/* GP2_13 = SDA5 */
1014 	PINMUX_IPSR_MSEL(IP1SR2_23_20,	GP2_13,		SEL_I2C5_0),
1015 	PINMUX_IPSR_MSEL(IP1SR2_23_20,	MSIOF5_SYNC,	SEL_I2C5_0),
1016 	PINMUX_IPSR_MSEL(IP1SR2_23_20,	D14,		SEL_I2C5_0),
1017 	PINMUX_IPSR_PHYS(IP1SR2_23_20,	SDA5,		SEL_I2C5_3),
1018 
1019 	/* GP2_14 = SCL6 */
1020 	PINMUX_IPSR_MSEL(IP1SR2_27_24,	GP2_14,		SEL_I2C6_0),
1021 	PINMUX_IPSR_MSEL(IP1SR2_27_24,	IRQ4,		SEL_I2C6_0),
1022 	PINMUX_IPSR_MSEL(IP1SR2_27_24,	MSIOF5_SS1,	SEL_I2C6_0),
1023 	PINMUX_IPSR_MSEL(IP1SR2_27_24,	D15,		SEL_I2C6_0),
1024 	PINMUX_IPSR_PHYS(IP1SR2_27_24,	SCL6,		SEL_I2C6_3),
1025 
1026 	/* GP2_15 = SDA6 */
1027 	PINMUX_IPSR_MSEL(IP1SR2_31_28,	GP2_15,		SEL_I2C6_0),
1028 	PINMUX_IPSR_MSEL(IP1SR2_31_28,	IRQ5,		SEL_I2C6_0),
1029 	PINMUX_IPSR_MSEL(IP1SR2_31_28,	MSIOF5_SS2,	SEL_I2C6_0),
1030 	PINMUX_IPSR_MSEL(IP1SR2_31_28,	CPG_CPCKOUT,	SEL_I2C6_0),
1031 	PINMUX_IPSR_PHYS(IP1SR2_31_28,	SDA6,		SEL_I2C6_3),
1032 
1033 	/* IP2SR2 */
1034 	PINMUX_IPSR_GPSR(IP2SR2_3_0,	FXR_TXDA_A),
1035 	PINMUX_IPSR_GPSR(IP2SR2_3_0,	MSIOF3_SS1),
1036 
1037 	PINMUX_IPSR_GPSR(IP2SR2_7_4,	RXDA_EXTFXR_A),
1038 	PINMUX_IPSR_GPSR(IP2SR2_7_4,	MSIOF3_SS2),
1039 	PINMUX_IPSR_GPSR(IP2SR2_7_4,	BS_N),
1040 
1041 	PINMUX_IPSR_GPSR(IP2SR2_11_8,	FXR_TXDB),
1042 	PINMUX_IPSR_GPSR(IP2SR2_11_8,	MSIOF3_RXD),
1043 	PINMUX_IPSR_GPSR(IP2SR2_11_8,	RD_N),
1044 
1045 	PINMUX_IPSR_GPSR(IP2SR2_15_12,	RXDB_EXTFXR),
1046 	PINMUX_IPSR_GPSR(IP2SR2_15_12,	MSIOF3_TXD),
1047 	PINMUX_IPSR_GPSR(IP2SR2_15_12,	WE0_N),
1048 
1049 	PINMUX_IPSR_GPSR(IP2SR2_19_16,	CLK_EXTFXR),
1050 	PINMUX_IPSR_GPSR(IP2SR2_19_16,	MSIOF3_SCK),
1051 	PINMUX_IPSR_GPSR(IP2SR2_19_16,	WE1_N),
1052 
1053 	PINMUX_IPSR_GPSR(IP2SR2_23_20,	TPU0TO0),
1054 	PINMUX_IPSR_GPSR(IP2SR2_23_20,	MSIOF3_SYNC),
1055 	PINMUX_IPSR_GPSR(IP2SR2_23_20,	RD_WR_N),
1056 
1057 	PINMUX_IPSR_GPSR(IP2SR2_27_24,	TPU0TO1),
1058 	PINMUX_IPSR_GPSR(IP2SR2_27_24,	CLKOUT),
1059 
1060 	PINMUX_IPSR_GPSR(IP2SR2_31_28,	TCLK1_A),
1061 	PINMUX_IPSR_GPSR(IP2SR2_31_28,	EX_WAIT0),
1062 
1063 	/* IP0SR3 */
1064 	PINMUX_IPSR_GPSR(IP0SR3_7_4,	CANFD0_TX),
1065 	PINMUX_IPSR_GPSR(IP0SR3_7_4,	FXR_TXDA_B),
1066 	PINMUX_IPSR_GPSR(IP0SR3_7_4,	TX1_B),
1067 
1068 	PINMUX_IPSR_GPSR(IP0SR3_11_8,	CANFD0_RX),
1069 	PINMUX_IPSR_GPSR(IP0SR3_11_8,	RXDA_EXTFXR_B),
1070 	PINMUX_IPSR_GPSR(IP0SR3_11_8,	RX1_B),
1071 
1072 	PINMUX_IPSR_GPSR(IP0SR3_23_20,	CANFD2_TX),
1073 	PINMUX_IPSR_GPSR(IP0SR3_23_20,	TPU0TO2),
1074 	PINMUX_IPSR_GPSR(IP0SR3_23_20,	PWM0),
1075 
1076 	PINMUX_IPSR_GPSR(IP0SR3_27_24,	CANFD2_RX),
1077 	PINMUX_IPSR_GPSR(IP0SR3_27_24,	TPU0TO3),
1078 	PINMUX_IPSR_GPSR(IP0SR3_27_24,	PWM1),
1079 
1080 	PINMUX_IPSR_GPSR(IP0SR3_31_28,	CANFD3_TX),
1081 	PINMUX_IPSR_GPSR(IP0SR3_31_28,	PWM2),
1082 
1083 	/* IP1SR3 */
1084 	PINMUX_IPSR_GPSR(IP1SR3_3_0,	CANFD3_RX),
1085 	PINMUX_IPSR_GPSR(IP1SR3_3_0,	PWM3),
1086 
1087 	PINMUX_IPSR_GPSR(IP1SR3_7_4,	CANFD4_TX),
1088 	PINMUX_IPSR_GPSR(IP1SR3_7_4,	PWM4),
1089 	PINMUX_IPSR_GPSR(IP1SR3_7_4,	FXR_CLKOUT1),
1090 
1091 	PINMUX_IPSR_GPSR(IP1SR3_11_8,	CANFD4_RX),
1092 	PINMUX_IPSR_GPSR(IP1SR3_11_8,	FXR_CLKOUT2),
1093 
1094 	PINMUX_IPSR_GPSR(IP1SR3_15_12,	CANFD5_TX),
1095 	PINMUX_IPSR_GPSR(IP1SR3_15_12,	FXR_TXENA_N),
1096 
1097 	PINMUX_IPSR_GPSR(IP1SR3_19_16,	CANFD5_RX),
1098 	PINMUX_IPSR_GPSR(IP1SR3_19_16,	FXR_TXENB_N),
1099 
1100 	PINMUX_IPSR_GPSR(IP1SR3_23_20,	CANFD6_TX),
1101 	PINMUX_IPSR_GPSR(IP1SR3_23_20,	STPWT_EXTFXR),
1102 
1103 	/* IP0SR4 */
1104 	PINMUX_IPSR_GPSR(IP0SR4_3_0,	AVB0_RX_CTL),
1105 	PINMUX_IPSR_GPSR(IP0SR4_3_0,	AVB0_MII_RX_DV),
1106 
1107 	PINMUX_IPSR_GPSR(IP0SR4_7_4,	AVB0_RXC),
1108 	PINMUX_IPSR_GPSR(IP0SR4_7_4,	AVB0_MII_RXC),
1109 
1110 	PINMUX_IPSR_GPSR(IP0SR4_11_8,	AVB0_RD0),
1111 	PINMUX_IPSR_GPSR(IP0SR4_11_8,	AVB0_MII_RD0),
1112 
1113 	PINMUX_IPSR_GPSR(IP0SR4_15_12,	AVB0_RD1),
1114 	PINMUX_IPSR_GPSR(IP0SR4_15_12,	AVB0_MII_RD1),
1115 
1116 	PINMUX_IPSR_GPSR(IP0SR4_19_16,	AVB0_RD2),
1117 	PINMUX_IPSR_GPSR(IP0SR4_19_16,	AVB0_MII_RD2),
1118 
1119 	PINMUX_IPSR_GPSR(IP0SR4_23_20,	AVB0_RD3),
1120 	PINMUX_IPSR_GPSR(IP0SR4_23_20,	AVB0_MII_RD3),
1121 
1122 	PINMUX_IPSR_GPSR(IP0SR4_27_24,	AVB0_TX_CTL),
1123 	PINMUX_IPSR_GPSR(IP0SR4_27_24,	AVB0_MII_TX_EN),
1124 
1125 	PINMUX_IPSR_GPSR(IP0SR4_31_28,	AVB0_TXC),
1126 	PINMUX_IPSR_GPSR(IP0SR4_31_28,	AVB0_MII_TXC),
1127 
1128 	/* IP1SR4 */
1129 	PINMUX_IPSR_GPSR(IP1SR4_3_0,	AVB0_TD0),
1130 	PINMUX_IPSR_GPSR(IP1SR4_3_0,	AVB0_MII_TD0),
1131 
1132 	PINMUX_IPSR_GPSR(IP1SR4_7_4,	AVB0_TD1),
1133 	PINMUX_IPSR_GPSR(IP1SR4_7_4,	AVB0_MII_TD1),
1134 
1135 	PINMUX_IPSR_GPSR(IP1SR4_11_8,	AVB0_TD2),
1136 	PINMUX_IPSR_GPSR(IP1SR4_11_8,	AVB0_MII_TD2),
1137 
1138 	PINMUX_IPSR_GPSR(IP1SR4_15_12,	AVB0_TD3),
1139 	PINMUX_IPSR_GPSR(IP1SR4_15_12,	AVB0_MII_TD3),
1140 
1141 	PINMUX_IPSR_GPSR(IP1SR4_19_16,	AVB0_TXCREFCLK),
1142 
1143 	PINMUX_IPSR_GPSR(IP1SR4_23_20,	AVB0_MDIO),
1144 
1145 	PINMUX_IPSR_GPSR(IP1SR4_27_24,	AVB0_MDC),
1146 
1147 	PINMUX_IPSR_GPSR(IP1SR4_31_28,	AVB0_MAGIC),
1148 
1149 	/* IP2SR4 */
1150 	PINMUX_IPSR_GPSR(IP2SR4_7_4,	AVB0_LINK),
1151 	PINMUX_IPSR_GPSR(IP2SR4_7_4,	AVB0_MII_TX_ER),
1152 
1153 	PINMUX_IPSR_GPSR(IP2SR4_11_8,	AVB0_AVTP_MATCH),
1154 	PINMUX_IPSR_GPSR(IP2SR4_11_8,	AVB0_MII_RX_ER),
1155 	PINMUX_IPSR_GPSR(IP2SR4_11_8,	CC5_OSCOUT),
1156 
1157 	PINMUX_IPSR_GPSR(IP2SR4_15_12,	AVB0_AVTP_CAPTURE),
1158 	PINMUX_IPSR_GPSR(IP2SR4_15_12,	AVB0_MII_CRS),
1159 
1160 	PINMUX_IPSR_GPSR(IP2SR4_19_16,	AVB0_AVTP_PPS),
1161 	PINMUX_IPSR_GPSR(IP2SR4_19_16,	AVB0_MII_COL),
1162 
1163 	/* IP0SR5 */
1164 	PINMUX_IPSR_GPSR(IP0SR5_3_0,	AVB1_RX_CTL),
1165 	PINMUX_IPSR_GPSR(IP0SR5_3_0,	AVB1_MII_RX_DV),
1166 
1167 	PINMUX_IPSR_GPSR(IP0SR5_7_4,	AVB1_RXC),
1168 	PINMUX_IPSR_GPSR(IP0SR5_7_4,	AVB1_MII_RXC),
1169 
1170 	PINMUX_IPSR_GPSR(IP0SR5_11_8,	AVB1_RD0),
1171 	PINMUX_IPSR_GPSR(IP0SR5_11_8,	AVB1_MII_RD0),
1172 
1173 	PINMUX_IPSR_GPSR(IP0SR5_15_12,	AVB1_RD1),
1174 	PINMUX_IPSR_GPSR(IP0SR5_15_12,	AVB1_MII_RD1),
1175 
1176 	PINMUX_IPSR_GPSR(IP0SR5_19_16,	AVB1_RD2),
1177 	PINMUX_IPSR_GPSR(IP0SR5_19_16,	AVB1_MII_RD2),
1178 
1179 	PINMUX_IPSR_GPSR(IP0SR5_23_20,	AVB1_RD3),
1180 	PINMUX_IPSR_GPSR(IP0SR5_23_20,	AVB1_MII_RD3),
1181 
1182 	PINMUX_IPSR_GPSR(IP0SR5_27_24,	AVB1_TX_CTL),
1183 	PINMUX_IPSR_GPSR(IP0SR5_27_24,	AVB1_MII_TX_EN),
1184 
1185 	PINMUX_IPSR_GPSR(IP0SR5_31_28,	AVB1_TXC),
1186 	PINMUX_IPSR_GPSR(IP0SR5_31_28,	AVB1_MII_TXC),
1187 
1188 	/* IP1SR5 */
1189 	PINMUX_IPSR_GPSR(IP1SR5_3_0,	AVB1_TD0),
1190 	PINMUX_IPSR_GPSR(IP1SR5_3_0,	AVB1_MII_TD0),
1191 
1192 	PINMUX_IPSR_GPSR(IP1SR5_7_4,	AVB1_TD1),
1193 	PINMUX_IPSR_GPSR(IP1SR5_7_4,	AVB1_MII_TD1),
1194 
1195 	PINMUX_IPSR_GPSR(IP1SR5_11_8,	AVB1_TD2),
1196 	PINMUX_IPSR_GPSR(IP1SR5_11_8,	AVB1_MII_TD2),
1197 
1198 	PINMUX_IPSR_GPSR(IP1SR5_15_12,	AVB1_TD3),
1199 	PINMUX_IPSR_GPSR(IP1SR5_15_12,	AVB1_MII_TD3),
1200 
1201 	PINMUX_IPSR_GPSR(IP1SR5_19_16,	AVB1_TXCREFCLK),
1202 
1203 	PINMUX_IPSR_GPSR(IP1SR5_23_20,	AVB1_MDIO),
1204 
1205 	PINMUX_IPSR_GPSR(IP1SR5_27_24,	AVB1_MDC),
1206 
1207 	PINMUX_IPSR_GPSR(IP1SR5_31_28,	AVB1_MAGIC),
1208 
1209 	/* IP2SR5 */
1210 	PINMUX_IPSR_GPSR(IP2SR5_7_4,	AVB1_LINK),
1211 	PINMUX_IPSR_GPSR(IP2SR5_7_4,	AVB1_MII_TX_ER),
1212 
1213 	PINMUX_IPSR_GPSR(IP2SR5_11_8,	AVB1_AVTP_MATCH),
1214 	PINMUX_IPSR_GPSR(IP2SR5_11_8,	AVB1_MII_RX_ER),
1215 
1216 	PINMUX_IPSR_GPSR(IP2SR5_15_12,	AVB1_AVTP_CAPTURE),
1217 	PINMUX_IPSR_GPSR(IP2SR5_15_12,	AVB1_MII_CRS),
1218 
1219 	PINMUX_IPSR_GPSR(IP2SR5_19_16,	AVB1_AVTP_PPS),
1220 	PINMUX_IPSR_GPSR(IP2SR5_19_16,	AVB1_MII_COL),
1221 };
1222 
1223 /*
1224  * Pins not associated with a GPIO port.
1225  */
1226 enum {
1227 	GP_ASSIGN_LAST(),
1228 	NOGP_ALL(),
1229 };
1230 
1231 static const struct sh_pfc_pin pinmux_pins[] = {
1232 	PINMUX_GPIO_GP_ALL(),
1233 };
1234 
1235 /* - AVB0 ------------------------------------------------ */
1236 static const unsigned int avb0_link_pins[] = {
1237 	/* AVB0_LINK */
1238 	RCAR_GP_PIN(4, 17),
1239 };
1240 static const unsigned int avb0_link_mux[] = {
1241 	AVB0_LINK_MARK,
1242 };
1243 static const unsigned int avb0_magic_pins[] = {
1244 	/* AVB0_MAGIC */
1245 	RCAR_GP_PIN(4, 15),
1246 };
1247 static const unsigned int avb0_magic_mux[] = {
1248 	AVB0_MAGIC_MARK,
1249 };
1250 static const unsigned int avb0_phy_int_pins[] = {
1251 	/* AVB0_PHY_INT */
1252 	RCAR_GP_PIN(4, 16),
1253 };
1254 static const unsigned int avb0_phy_int_mux[] = {
1255 	AVB0_PHY_INT_MARK,
1256 };
1257 static const unsigned int avb0_mdio_pins[] = {
1258 	/* AVB0_MDC, AVB0_MDIO */
1259 	RCAR_GP_PIN(4, 14), RCAR_GP_PIN(4, 13),
1260 };
1261 static const unsigned int avb0_mdio_mux[] = {
1262 	AVB0_MDC_MARK, AVB0_MDIO_MARK,
1263 };
1264 static const unsigned int avb0_rgmii_pins[] = {
1265 	/*
1266 	 * AVB0_TX_CTL, AVB0_TXC, AVB0_TD0, AVB0_TD1, AVB0_TD2, AVB0_TD3,
1267 	 * AVB0_RX_CTL, AVB0_RXC, AVB0_RD0, AVB0_RD1, AVB0_RD2, AVB0_RD3,
1268 	 */
1269 	RCAR_GP_PIN(4, 6), RCAR_GP_PIN(4, 7),
1270 	RCAR_GP_PIN(4, 8), RCAR_GP_PIN(4, 9),
1271 	RCAR_GP_PIN(4, 10), RCAR_GP_PIN(4, 11),
1272 	RCAR_GP_PIN(4, 0), RCAR_GP_PIN(4, 1),
1273 	RCAR_GP_PIN(4, 2), RCAR_GP_PIN(4, 3),
1274 	RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5),
1275 };
1276 static const unsigned int avb0_rgmii_mux[] = {
1277 	AVB0_TX_CTL_MARK, AVB0_TXC_MARK,
1278 	AVB0_TD0_MARK, AVB0_TD1_MARK, AVB0_TD2_MARK, AVB0_TD3_MARK,
1279 	AVB0_RX_CTL_MARK, AVB0_RXC_MARK,
1280 	AVB0_RD0_MARK, AVB0_RD1_MARK, AVB0_RD2_MARK, AVB0_RD3_MARK,
1281 };
1282 static const unsigned int avb0_txcrefclk_pins[] = {
1283 	/* AVB0_TXCREFCLK */
1284 	RCAR_GP_PIN(4, 12),
1285 };
1286 static const unsigned int avb0_txcrefclk_mux[] = {
1287 	AVB0_TXCREFCLK_MARK,
1288 };
1289 static const unsigned int avb0_avtp_pps_pins[] = {
1290 	/* AVB0_AVTP_PPS */
1291 	RCAR_GP_PIN(4, 20),
1292 };
1293 static const unsigned int avb0_avtp_pps_mux[] = {
1294 	AVB0_AVTP_PPS_MARK,
1295 };
1296 static const unsigned int avb0_avtp_capture_pins[] = {
1297 	/* AVB0_AVTP_CAPTURE */
1298 	RCAR_GP_PIN(4, 19),
1299 };
1300 static const unsigned int avb0_avtp_capture_mux[] = {
1301 	AVB0_AVTP_CAPTURE_MARK,
1302 };
1303 static const unsigned int avb0_avtp_match_pins[] = {
1304 	/* AVB0_AVTP_MATCH */
1305 	RCAR_GP_PIN(4, 18),
1306 };
1307 static const unsigned int avb0_avtp_match_mux[] = {
1308 	AVB0_AVTP_MATCH_MARK,
1309 };
1310 
1311 /* - AVB1 ------------------------------------------------ */
1312 static const unsigned int avb1_link_pins[] = {
1313 	/* AVB1_LINK */
1314 	RCAR_GP_PIN(5, 17),
1315 };
1316 static const unsigned int avb1_link_mux[] = {
1317 	AVB1_LINK_MARK,
1318 };
1319 static const unsigned int avb1_magic_pins[] = {
1320 	/* AVB1_MAGIC */
1321 	RCAR_GP_PIN(5, 15),
1322 };
1323 static const unsigned int avb1_magic_mux[] = {
1324 	AVB1_MAGIC_MARK,
1325 };
1326 static const unsigned int avb1_phy_int_pins[] = {
1327 	/* AVB1_PHY_INT */
1328 	RCAR_GP_PIN(5, 16),
1329 };
1330 static const unsigned int avb1_phy_int_mux[] = {
1331 	AVB1_PHY_INT_MARK,
1332 };
1333 static const unsigned int avb1_mdio_pins[] = {
1334 	/* AVB1_MDC, AVB1_MDIO */
1335 	RCAR_GP_PIN(5, 14), RCAR_GP_PIN(5, 13),
1336 };
1337 static const unsigned int avb1_mdio_mux[] = {
1338 	AVB1_MDC_MARK, AVB1_MDIO_MARK,
1339 };
1340 static const unsigned int avb1_rgmii_pins[] = {
1341 	/*
1342 	 * AVB1_TX_CTL, AVB1_TXC, AVB1_TD0, AVB1_TD1, AVB1_TD2, AVB1_TD3,
1343 	 * AVB1_RX_CTL, AVB1_RXC, AVB1_RD0, AVB1_RD1, AVB1_RD2, AVB1_RD3,
1344 	 */
1345 	RCAR_GP_PIN(5, 6), RCAR_GP_PIN(5, 7),
1346 	RCAR_GP_PIN(5, 8), RCAR_GP_PIN(5, 9),
1347 	RCAR_GP_PIN(5, 10), RCAR_GP_PIN(5, 11),
1348 	RCAR_GP_PIN(5, 0), RCAR_GP_PIN(5, 1),
1349 	RCAR_GP_PIN(5, 2), RCAR_GP_PIN(5, 3),
1350 	RCAR_GP_PIN(5, 4), RCAR_GP_PIN(5, 5),
1351 };
1352 static const unsigned int avb1_rgmii_mux[] = {
1353 	AVB1_TX_CTL_MARK, AVB1_TXC_MARK,
1354 	AVB1_TD0_MARK, AVB1_TD1_MARK, AVB1_TD2_MARK, AVB1_TD3_MARK,
1355 	AVB1_RX_CTL_MARK, AVB1_RXC_MARK,
1356 	AVB1_RD0_MARK, AVB1_RD1_MARK, AVB1_RD2_MARK, AVB1_RD3_MARK,
1357 };
1358 static const unsigned int avb1_txcrefclk_pins[] = {
1359 	/* AVB1_TXCREFCLK */
1360 	RCAR_GP_PIN(5, 12),
1361 };
1362 static const unsigned int avb1_txcrefclk_mux[] = {
1363 	AVB1_TXCREFCLK_MARK,
1364 };
1365 static const unsigned int avb1_avtp_pps_pins[] = {
1366 	/* AVB1_AVTP_PPS */
1367 	RCAR_GP_PIN(5, 20),
1368 };
1369 static const unsigned int avb1_avtp_pps_mux[] = {
1370 	AVB1_AVTP_PPS_MARK,
1371 };
1372 static const unsigned int avb1_avtp_capture_pins[] = {
1373 	/* AVB1_AVTP_CAPTURE */
1374 	RCAR_GP_PIN(5, 19),
1375 };
1376 static const unsigned int avb1_avtp_capture_mux[] = {
1377 	AVB1_AVTP_CAPTURE_MARK,
1378 };
1379 static const unsigned int avb1_avtp_match_pins[] = {
1380 	/* AVB1_AVTP_MATCH */
1381 	RCAR_GP_PIN(5, 18),
1382 };
1383 static const unsigned int avb1_avtp_match_mux[] = {
1384 	AVB1_AVTP_MATCH_MARK,
1385 };
1386 
1387 /* - AVB2 ------------------------------------------------ */
1388 static const unsigned int avb2_link_pins[] = {
1389 	/* AVB2_LINK */
1390 	RCAR_GP_PIN(6, 17),
1391 };
1392 static const unsigned int avb2_link_mux[] = {
1393 	AVB2_LINK_MARK,
1394 };
1395 static const unsigned int avb2_magic_pins[] = {
1396 	/* AVB2_MAGIC */
1397 	RCAR_GP_PIN(6, 15),
1398 };
1399 static const unsigned int avb2_magic_mux[] = {
1400 	AVB2_MAGIC_MARK,
1401 };
1402 static const unsigned int avb2_phy_int_pins[] = {
1403 	/* AVB2_PHY_INT */
1404 	RCAR_GP_PIN(6, 16),
1405 };
1406 static const unsigned int avb2_phy_int_mux[] = {
1407 	AVB2_PHY_INT_MARK,
1408 };
1409 static const unsigned int avb2_mdio_pins[] = {
1410 	/* AVB2_MDC, AVB2_MDIO */
1411 	RCAR_GP_PIN(6, 14), RCAR_GP_PIN(6, 13),
1412 };
1413 static const unsigned int avb2_mdio_mux[] = {
1414 	AVB2_MDC_MARK, AVB2_MDIO_MARK,
1415 };
1416 static const unsigned int avb2_rgmii_pins[] = {
1417 	/*
1418 	 * AVB2_TX_CTL, AVB2_TXC, AVB2_TD0, AVB2_TD1, AVB2_TD2, AVB2_TD3,
1419 	 * AVB2_RX_CTL, AVB2_RXC, AVB2_RD0, AVB2_RD1, AVB2_RD2, AVB2_RD3,
1420 	 */
1421 	RCAR_GP_PIN(6, 6), RCAR_GP_PIN(6, 7),
1422 	RCAR_GP_PIN(6, 8), RCAR_GP_PIN(6, 9),
1423 	RCAR_GP_PIN(6, 10), RCAR_GP_PIN(6, 11),
1424 	RCAR_GP_PIN(6, 0), RCAR_GP_PIN(6, 1),
1425 	RCAR_GP_PIN(6, 2), RCAR_GP_PIN(6, 3),
1426 	RCAR_GP_PIN(6, 4), RCAR_GP_PIN(6, 5),
1427 };
1428 static const unsigned int avb2_rgmii_mux[] = {
1429 	AVB2_TX_CTL_MARK, AVB2_TXC_MARK,
1430 	AVB2_TD0_MARK, AVB2_TD1_MARK, AVB2_TD2_MARK, AVB2_TD3_MARK,
1431 	AVB2_RX_CTL_MARK, AVB2_RXC_MARK,
1432 	AVB2_RD0_MARK, AVB2_RD1_MARK, AVB2_RD2_MARK, AVB2_RD3_MARK,
1433 };
1434 static const unsigned int avb2_txcrefclk_pins[] = {
1435 	/* AVB2_TXCREFCLK */
1436 	RCAR_GP_PIN(6, 12),
1437 };
1438 static const unsigned int avb2_txcrefclk_mux[] = {
1439 	AVB2_TXCREFCLK_MARK,
1440 };
1441 static const unsigned int avb2_avtp_pps_pins[] = {
1442 	/* AVB2_AVTP_PPS */
1443 	RCAR_GP_PIN(6, 20),
1444 };
1445 static const unsigned int avb2_avtp_pps_mux[] = {
1446 	AVB2_AVTP_PPS_MARK,
1447 };
1448 static const unsigned int avb2_avtp_capture_pins[] = {
1449 	/* AVB2_AVTP_CAPTURE */
1450 	RCAR_GP_PIN(6, 19),
1451 };
1452 static const unsigned int avb2_avtp_capture_mux[] = {
1453 	AVB2_AVTP_CAPTURE_MARK,
1454 };
1455 static const unsigned int avb2_avtp_match_pins[] = {
1456 	/* AVB2_AVTP_MATCH */
1457 	RCAR_GP_PIN(6, 18),
1458 };
1459 static const unsigned int avb2_avtp_match_mux[] = {
1460 	AVB2_AVTP_MATCH_MARK,
1461 };
1462 
1463 /* - AVB3 ------------------------------------------------ */
1464 static const unsigned int avb3_link_pins[] = {
1465 	/* AVB3_LINK */
1466 	RCAR_GP_PIN(7, 17),
1467 };
1468 static const unsigned int avb3_link_mux[] = {
1469 	AVB3_LINK_MARK,
1470 };
1471 static const unsigned int avb3_magic_pins[] = {
1472 	/* AVB3_MAGIC */
1473 	RCAR_GP_PIN(7, 15),
1474 };
1475 static const unsigned int avb3_magic_mux[] = {
1476 	AVB3_MAGIC_MARK,
1477 };
1478 static const unsigned int avb3_phy_int_pins[] = {
1479 	/* AVB3_PHY_INT */
1480 	RCAR_GP_PIN(7, 16),
1481 };
1482 static const unsigned int avb3_phy_int_mux[] = {
1483 	AVB3_PHY_INT_MARK,
1484 };
1485 static const unsigned int avb3_mdio_pins[] = {
1486 	/* AVB3_MDC, AVB3_MDIO */
1487 	RCAR_GP_PIN(7, 14), RCAR_GP_PIN(7, 13),
1488 };
1489 static const unsigned int avb3_mdio_mux[] = {
1490 	AVB3_MDC_MARK, AVB3_MDIO_MARK,
1491 };
1492 static const unsigned int avb3_rgmii_pins[] = {
1493 	/*
1494 	 * AVB3_TX_CTL, AVB3_TXC, AVB3_TD0, AVB3_TD1, AVB3_TD2, AVB3_TD3,
1495 	 * AVB3_RX_CTL, AVB3_RXC, AVB3_RD0, AVB3_RD1, AVB3_RD2, AVB3_RD3,
1496 	 */
1497 	RCAR_GP_PIN(7, 6), RCAR_GP_PIN(7, 7),
1498 	RCAR_GP_PIN(7, 8), RCAR_GP_PIN(7, 9),
1499 	RCAR_GP_PIN(7, 10), RCAR_GP_PIN(7, 11),
1500 	RCAR_GP_PIN(7, 0), RCAR_GP_PIN(7, 1),
1501 	RCAR_GP_PIN(7, 2), RCAR_GP_PIN(7, 3),
1502 	RCAR_GP_PIN(7, 4), RCAR_GP_PIN(7, 5),
1503 };
1504 static const unsigned int avb3_rgmii_mux[] = {
1505 	AVB3_TX_CTL_MARK, AVB3_TXC_MARK,
1506 	AVB3_TD0_MARK, AVB3_TD1_MARK, AVB3_TD2_MARK, AVB3_TD3_MARK,
1507 	AVB3_RX_CTL_MARK, AVB3_RXC_MARK,
1508 	AVB3_RD0_MARK, AVB3_RD1_MARK, AVB3_RD2_MARK, AVB3_RD3_MARK,
1509 };
1510 static const unsigned int avb3_txcrefclk_pins[] = {
1511 	/* AVB3_TXCREFCLK */
1512 	RCAR_GP_PIN(7, 12),
1513 };
1514 static const unsigned int avb3_txcrefclk_mux[] = {
1515 	AVB3_TXCREFCLK_MARK,
1516 };
1517 static const unsigned int avb3_avtp_pps_pins[] = {
1518 	/* AVB3_AVTP_PPS */
1519 	RCAR_GP_PIN(7, 20),
1520 };
1521 static const unsigned int avb3_avtp_pps_mux[] = {
1522 	AVB3_AVTP_PPS_MARK,
1523 };
1524 static const unsigned int avb3_avtp_capture_pins[] = {
1525 	/* AVB3_AVTP_CAPTURE */
1526 	RCAR_GP_PIN(7, 19),
1527 };
1528 static const unsigned int avb3_avtp_capture_mux[] = {
1529 	AVB3_AVTP_CAPTURE_MARK,
1530 };
1531 static const unsigned int avb3_avtp_match_pins[] = {
1532 	/* AVB3_AVTP_MATCH */
1533 	RCAR_GP_PIN(7, 18),
1534 };
1535 static const unsigned int avb3_avtp_match_mux[] = {
1536 	AVB3_AVTP_MATCH_MARK,
1537 };
1538 
1539 /* - AVB4 ------------------------------------------------ */
1540 static const unsigned int avb4_link_pins[] = {
1541 	/* AVB4_LINK */
1542 	RCAR_GP_PIN(8, 17),
1543 };
1544 static const unsigned int avb4_link_mux[] = {
1545 	AVB4_LINK_MARK,
1546 };
1547 static const unsigned int avb4_magic_pins[] = {
1548 	/* AVB4_MAGIC */
1549 	RCAR_GP_PIN(8, 15),
1550 };
1551 static const unsigned int avb4_magic_mux[] = {
1552 	AVB4_MAGIC_MARK,
1553 };
1554 static const unsigned int avb4_phy_int_pins[] = {
1555 	/* AVB4_PHY_INT */
1556 	RCAR_GP_PIN(8, 16),
1557 };
1558 static const unsigned int avb4_phy_int_mux[] = {
1559 	AVB4_PHY_INT_MARK,
1560 };
1561 static const unsigned int avb4_mdio_pins[] = {
1562 	/* AVB4_MDC, AVB4_MDIO */
1563 	RCAR_GP_PIN(8, 14), RCAR_GP_PIN(8, 13),
1564 };
1565 static const unsigned int avb4_mdio_mux[] = {
1566 	AVB4_MDC_MARK, AVB4_MDIO_MARK,
1567 };
1568 static const unsigned int avb4_rgmii_pins[] = {
1569 	/*
1570 	 * AVB4_TX_CTL, AVB4_TXC, AVB4_TD0, AVB4_TD1, AVB4_TD2, AVB4_TD3,
1571 	 * AVB4_RX_CTL, AVB4_RXC, AVB4_RD0, AVB4_RD1, AVB4_RD2, AVB4_RD3,
1572 	 */
1573 	RCAR_GP_PIN(8, 6), RCAR_GP_PIN(8, 7),
1574 	RCAR_GP_PIN(8, 8), RCAR_GP_PIN(8, 9),
1575 	RCAR_GP_PIN(8, 10), RCAR_GP_PIN(8, 11),
1576 	RCAR_GP_PIN(8, 0), RCAR_GP_PIN(8, 1),
1577 	RCAR_GP_PIN(8, 2), RCAR_GP_PIN(8, 3),
1578 	RCAR_GP_PIN(8, 4), RCAR_GP_PIN(8, 5),
1579 };
1580 static const unsigned int avb4_rgmii_mux[] = {
1581 	AVB4_TX_CTL_MARK, AVB4_TXC_MARK,
1582 	AVB4_TD0_MARK, AVB4_TD1_MARK, AVB4_TD2_MARK, AVB4_TD3_MARK,
1583 	AVB4_RX_CTL_MARK, AVB4_RXC_MARK,
1584 	AVB4_RD0_MARK, AVB4_RD1_MARK, AVB4_RD2_MARK, AVB4_RD3_MARK,
1585 };
1586 static const unsigned int avb4_txcrefclk_pins[] = {
1587 	/* AVB4_TXCREFCLK */
1588 	RCAR_GP_PIN(8, 12),
1589 };
1590 static const unsigned int avb4_txcrefclk_mux[] = {
1591 	AVB4_TXCREFCLK_MARK,
1592 };
1593 static const unsigned int avb4_avtp_pps_pins[] = {
1594 	/* AVB4_AVTP_PPS */
1595 	RCAR_GP_PIN(8, 20),
1596 };
1597 static const unsigned int avb4_avtp_pps_mux[] = {
1598 	AVB4_AVTP_PPS_MARK,
1599 };
1600 static const unsigned int avb4_avtp_capture_pins[] = {
1601 	/* AVB4_AVTP_CAPTURE */
1602 	RCAR_GP_PIN(8, 19),
1603 };
1604 static const unsigned int avb4_avtp_capture_mux[] = {
1605 	AVB4_AVTP_CAPTURE_MARK,
1606 };
1607 static const unsigned int avb4_avtp_match_pins[] = {
1608 	/* AVB4_AVTP_MATCH */
1609 	RCAR_GP_PIN(8, 18),
1610 };
1611 static const unsigned int avb4_avtp_match_mux[] = {
1612 	AVB4_AVTP_MATCH_MARK,
1613 };
1614 
1615 /* - AVB5 ------------------------------------------------ */
1616 static const unsigned int avb5_link_pins[] = {
1617 	/* AVB5_LINK */
1618 	RCAR_GP_PIN(9, 17),
1619 };
1620 static const unsigned int avb5_link_mux[] = {
1621 	AVB5_LINK_MARK,
1622 };
1623 static const unsigned int avb5_magic_pins[] = {
1624 	/* AVB5_MAGIC */
1625 	RCAR_GP_PIN(9, 15),
1626 };
1627 static const unsigned int avb5_magic_mux[] = {
1628 	AVB5_MAGIC_MARK,
1629 };
1630 static const unsigned int avb5_phy_int_pins[] = {
1631 	/* AVB5_PHY_INT */
1632 	RCAR_GP_PIN(9, 16),
1633 };
1634 static const unsigned int avb5_phy_int_mux[] = {
1635 	AVB5_PHY_INT_MARK,
1636 };
1637 static const unsigned int avb5_mdio_pins[] = {
1638 	/* AVB5_MDC, AVB5_MDIO */
1639 	RCAR_GP_PIN(9, 14), RCAR_GP_PIN(9, 13),
1640 };
1641 static const unsigned int avb5_mdio_mux[] = {
1642 	AVB5_MDC_MARK, AVB5_MDIO_MARK,
1643 };
1644 static const unsigned int avb5_rgmii_pins[] = {
1645 	/*
1646 	 * AVB5_TX_CTL, AVB5_TXC, AVB5_TD0, AVB5_TD1, AVB5_TD2, AVB5_TD3,
1647 	 * AVB5_RX_CTL, AVB5_RXC, AVB5_RD0, AVB5_RD1, AVB5_RD2, AVB5_RD3,
1648 	 */
1649 	RCAR_GP_PIN(9, 6), RCAR_GP_PIN(9, 7),
1650 	RCAR_GP_PIN(9, 8), RCAR_GP_PIN(9, 9),
1651 	RCAR_GP_PIN(9, 10), RCAR_GP_PIN(9, 11),
1652 	RCAR_GP_PIN(9, 0), RCAR_GP_PIN(9, 1),
1653 	RCAR_GP_PIN(9, 2), RCAR_GP_PIN(9, 3),
1654 	RCAR_GP_PIN(9, 4), RCAR_GP_PIN(9, 5),
1655 };
1656 static const unsigned int avb5_rgmii_mux[] = {
1657 	AVB5_TX_CTL_MARK, AVB5_TXC_MARK,
1658 	AVB5_TD0_MARK, AVB5_TD1_MARK, AVB5_TD2_MARK, AVB5_TD3_MARK,
1659 	AVB5_RX_CTL_MARK, AVB5_RXC_MARK,
1660 	AVB5_RD0_MARK, AVB5_RD1_MARK, AVB5_RD2_MARK, AVB5_RD3_MARK,
1661 };
1662 static const unsigned int avb5_txcrefclk_pins[] = {
1663 	/* AVB5_TXCREFCLK */
1664 	RCAR_GP_PIN(9, 12),
1665 };
1666 static const unsigned int avb5_txcrefclk_mux[] = {
1667 	AVB5_TXCREFCLK_MARK,
1668 };
1669 static const unsigned int avb5_avtp_pps_pins[] = {
1670 	/* AVB5_AVTP_PPS */
1671 	RCAR_GP_PIN(9, 20),
1672 };
1673 static const unsigned int avb5_avtp_pps_mux[] = {
1674 	AVB5_AVTP_PPS_MARK,
1675 };
1676 static const unsigned int avb5_avtp_capture_pins[] = {
1677 	/* AVB5_AVTP_CAPTURE */
1678 	RCAR_GP_PIN(9, 19),
1679 };
1680 static const unsigned int avb5_avtp_capture_mux[] = {
1681 	AVB5_AVTP_CAPTURE_MARK,
1682 };
1683 static const unsigned int avb5_avtp_match_pins[] = {
1684 	/* AVB5_AVTP_MATCH */
1685 	RCAR_GP_PIN(9, 18),
1686 };
1687 static const unsigned int avb5_avtp_match_mux[] = {
1688 	AVB5_AVTP_MATCH_MARK,
1689 };
1690 
1691 /* - CANFD0 ----------------------------------------------------------------- */
1692 static const unsigned int canfd0_data_pins[] = {
1693 	/* CANFD0_TX, CANFD0_RX */
1694 	RCAR_GP_PIN(3, 1), RCAR_GP_PIN(3, 2),
1695 };
1696 static const unsigned int canfd0_data_mux[] = {
1697 	CANFD0_TX_MARK, CANFD0_RX_MARK,
1698 };
1699 
1700 /* - CANFD1 ----------------------------------------------------------------- */
1701 static const unsigned int canfd1_data_pins[] = {
1702 	/* CANFD1_TX, CANFD1_RX */
1703 	RCAR_GP_PIN(3, 3), RCAR_GP_PIN(3, 4),
1704 };
1705 static const unsigned int canfd1_data_mux[] = {
1706 	CANFD1_TX_MARK, CANFD1_RX_MARK,
1707 };
1708 
1709 /* - CANFD2 ----------------------------------------------------------------- */
1710 static const unsigned int canfd2_data_pins[] = {
1711 	/* CANFD2_TX, CANFD2_RX */
1712 	RCAR_GP_PIN(3, 5), RCAR_GP_PIN(3, 6),
1713 };
1714 static const unsigned int canfd2_data_mux[] = {
1715 	CANFD2_TX_MARK, CANFD2_RX_MARK,
1716 };
1717 
1718 /* - CANFD3 ----------------------------------------------------------------- */
1719 static const unsigned int canfd3_data_pins[] = {
1720 	/* CANFD3_TX, CANFD3_RX */
1721 	RCAR_GP_PIN(3, 7), RCAR_GP_PIN(3, 8),
1722 };
1723 static const unsigned int canfd3_data_mux[] = {
1724 	CANFD3_TX_MARK, CANFD3_RX_MARK,
1725 };
1726 
1727 /* - CANFD4 ----------------------------------------------------------------- */
1728 static const unsigned int canfd4_data_pins[] = {
1729 	/* CANFD4_TX, CANFD4_RX */
1730 	RCAR_GP_PIN(3, 9), RCAR_GP_PIN(3, 10),
1731 };
1732 static const unsigned int canfd4_data_mux[] = {
1733 	CANFD4_TX_MARK, CANFD4_RX_MARK,
1734 };
1735 
1736 /* - CANFD5 ----------------------------------------------------------------- */
1737 static const unsigned int canfd5_data_pins[] = {
1738 	/* CANFD5_TX, CANFD5_RX */
1739 	RCAR_GP_PIN(3, 11), RCAR_GP_PIN(3, 12),
1740 };
1741 static const unsigned int canfd5_data_mux[] = {
1742 	CANFD5_TX_MARK, CANFD5_RX_MARK,
1743 };
1744 
1745 /* - CANFD6 ----------------------------------------------------------------- */
1746 static const unsigned int canfd6_data_pins[] = {
1747 	/* CANFD6_TX, CANFD6_RX */
1748 	RCAR_GP_PIN(3, 13), RCAR_GP_PIN(3, 14),
1749 };
1750 static const unsigned int canfd6_data_mux[] = {
1751 	CANFD6_TX_MARK, CANFD6_RX_MARK,
1752 };
1753 
1754 /* - CANFD7 ----------------------------------------------------------------- */
1755 static const unsigned int canfd7_data_pins[] = {
1756 	/* CANFD7_TX, CANFD7_RX */
1757 	RCAR_GP_PIN(3, 15), RCAR_GP_PIN(3, 16),
1758 };
1759 static const unsigned int canfd7_data_mux[] = {
1760 	CANFD7_TX_MARK, CANFD7_RX_MARK,
1761 };
1762 
1763 /* - CANFD Clock ------------------------------------------------------------ */
1764 static const unsigned int can_clk_pins[] = {
1765 	/* CAN_CLK */
1766 	RCAR_GP_PIN(3, 0),
1767 };
1768 static const unsigned int can_clk_mux[] = {
1769 	CAN_CLK_MARK,
1770 };
1771 
1772 /* - DU --------------------------------------------------------------------- */
1773 static const unsigned int du_rgb888_pins[] = {
1774 	/* DU_DR[7:2], DU_DG[7:2], DU_DB[7:2] */
1775 	RCAR_GP_PIN(1, 11), RCAR_GP_PIN(1, 10), RCAR_GP_PIN(1, 9),
1776 	RCAR_GP_PIN(1, 8), RCAR_GP_PIN(1, 7), RCAR_GP_PIN(1, 6),
1777 	RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 16), RCAR_GP_PIN(1, 15),
1778 	RCAR_GP_PIN(1, 14), RCAR_GP_PIN(1, 13), RCAR_GP_PIN(1, 12),
1779 	RCAR_GP_PIN(1, 23), RCAR_GP_PIN(1, 22), RCAR_GP_PIN(1, 21),
1780 	RCAR_GP_PIN(1, 20), RCAR_GP_PIN(1, 19), RCAR_GP_PIN(1, 18),
1781 };
1782 static const unsigned int du_rgb888_mux[] = {
1783 	DU_DR7_MARK, DU_DR6_MARK, DU_DR5_MARK,
1784 	DU_DR4_MARK, DU_DR3_MARK, DU_DR2_MARK,
1785 	DU_DG7_MARK, DU_DG6_MARK, DU_DG5_MARK,
1786 	DU_DG4_MARK, DU_DG3_MARK, DU_DG2_MARK,
1787 	DU_DB7_MARK, DU_DB6_MARK, DU_DB5_MARK,
1788 	DU_DB4_MARK, DU_DB3_MARK, DU_DB2_MARK,
1789 };
1790 static const unsigned int du_clk_out_pins[] = {
1791 	/* DU_DOTCLKOUT */
1792 	RCAR_GP_PIN(1, 24),
1793 };
1794 static const unsigned int du_clk_out_mux[] = {
1795 	DU_DOTCLKOUT_MARK,
1796 };
1797 static const unsigned int du_sync_pins[] = {
1798 	/* DU_HSYNC, DU_VSYNC */
1799 	RCAR_GP_PIN(1, 25), RCAR_GP_PIN(1, 26),
1800 };
1801 static const unsigned int du_sync_mux[] = {
1802 	DU_HSYNC_MARK, DU_VSYNC_MARK,
1803 };
1804 static const unsigned int du_oddf_pins[] = {
1805 	/* DU_EXODDF/DU_ODDF/DISP/CDE */
1806 	RCAR_GP_PIN(1, 27),
1807 };
1808 static const unsigned int du_oddf_mux[] = {
1809 	DU_ODDF_DISP_CDE_MARK,
1810 };
1811 
1812 /* - HSCIF0 ----------------------------------------------------------------- */
1813 static const unsigned int hscif0_data_pins[] = {
1814 	/* HRX0, HTX0 */
1815 	RCAR_GP_PIN(1, 1), RCAR_GP_PIN(1, 5),
1816 };
1817 static const unsigned int hscif0_data_mux[] = {
1818 	HRX0_MARK, HTX0_MARK,
1819 };
1820 static const unsigned int hscif0_clk_pins[] = {
1821 	/* HSCK0 */
1822 	RCAR_GP_PIN(1, 2),
1823 };
1824 static const unsigned int hscif0_clk_mux[] = {
1825 	HSCK0_MARK,
1826 };
1827 static const unsigned int hscif0_ctrl_pins[] = {
1828 	/* HRTS0#, HCTS0# */
1829 	RCAR_GP_PIN(1, 3), RCAR_GP_PIN(1, 4),
1830 };
1831 static const unsigned int hscif0_ctrl_mux[] = {
1832 	HRTS0_N_MARK, HCTS0_N_MARK,
1833 };
1834 
1835 /* - HSCIF1 ----------------------------------------------------------------- */
1836 static const unsigned int hscif1_data_pins[] = {
1837 	/* HRX1, HTX1 */
1838 	RCAR_GP_PIN(1, 21), RCAR_GP_PIN(1, 22),
1839 };
1840 static const unsigned int hscif1_data_mux[] = {
1841 	HRX1_MARK, HTX1_MARK,
1842 };
1843 static const unsigned int hscif1_clk_pins[] = {
1844 	/* HSCK1 */
1845 	RCAR_GP_PIN(1, 18),
1846 };
1847 static const unsigned int hscif1_clk_mux[] = {
1848 	HSCK1_MARK,
1849 };
1850 static const unsigned int hscif1_ctrl_pins[] = {
1851 	/* HRTS1#, HCTS1# */
1852 	RCAR_GP_PIN(1, 20), RCAR_GP_PIN(1, 19),
1853 };
1854 static const unsigned int hscif1_ctrl_mux[] = {
1855 	HRTS1_N_MARK, HCTS1_N_MARK,
1856 };
1857 
1858 /* - HSCIF2 ----------------------------------------------------------------- */
1859 static const unsigned int hscif2_data_pins[] = {
1860 	/* HRX2, HTX2 */
1861 	RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 9),
1862 };
1863 static const unsigned int hscif2_data_mux[] = {
1864 	HRX2_MARK, HTX2_MARK,
1865 };
1866 static const unsigned int hscif2_clk_pins[] = {
1867 	/* HSCK2 */
1868 	RCAR_GP_PIN(2, 5),
1869 };
1870 static const unsigned int hscif2_clk_mux[] = {
1871 	HSCK2_MARK,
1872 };
1873 static const unsigned int hscif2_ctrl_pins[] = {
1874 	/* HRTS2#, HCTS2# */
1875 	RCAR_GP_PIN(2, 7), RCAR_GP_PIN(2, 6),
1876 };
1877 static const unsigned int hscif2_ctrl_mux[] = {
1878 	HRTS2_N_MARK, HCTS2_N_MARK,
1879 };
1880 
1881 /* - HSCIF3 ----------------------------------------------------------------- */
1882 static const unsigned int hscif3_data_pins[] = {
1883 	/* HRX3, HTX3 */
1884 	RCAR_GP_PIN(1, 13), RCAR_GP_PIN(1, 17),
1885 };
1886 static const unsigned int hscif3_data_mux[] = {
1887 	HRX3_MARK, HTX3_MARK,
1888 };
1889 static const unsigned int hscif3_clk_pins[] = {
1890 	/* HSCK3 */
1891 	RCAR_GP_PIN(1, 14),
1892 };
1893 static const unsigned int hscif3_clk_mux[] = {
1894 	HSCK3_MARK,
1895 };
1896 static const unsigned int hscif3_ctrl_pins[] = {
1897 	/* HRTS3#, HCTS3# */
1898 	RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 16),
1899 };
1900 static const unsigned int hscif3_ctrl_mux[] = {
1901 	HRTS3_N_MARK, HCTS3_N_MARK,
1902 };
1903 
1904 /* - I2C0 ------------------------------------------------------------------- */
1905 static const unsigned int i2c0_pins[] = {
1906 	/* SDA0, SCL0 */
1907 	RCAR_GP_PIN(2, 3), RCAR_GP_PIN(2, 2),
1908 };
1909 static const unsigned int i2c0_mux[] = {
1910 	SDA0_MARK, SCL0_MARK,
1911 };
1912 
1913 /* - I2C1 ------------------------------------------------------------------- */
1914 static const unsigned int i2c1_pins[] = {
1915 	/* SDA1, SCL1 */
1916 	RCAR_GP_PIN(2, 5), RCAR_GP_PIN(2, 4),
1917 };
1918 static const unsigned int i2c1_mux[] = {
1919 	SDA1_MARK, SCL1_MARK,
1920 };
1921 
1922 /* - I2C2 ------------------------------------------------------------------- */
1923 static const unsigned int i2c2_pins[] = {
1924 	/* SDA2, SCL2 */
1925 	RCAR_GP_PIN(2, 7), RCAR_GP_PIN(2, 6),
1926 };
1927 static const unsigned int i2c2_mux[] = {
1928 	SDA2_MARK, SCL2_MARK,
1929 };
1930 
1931 /* - I2C3 ------------------------------------------------------------------- */
1932 static const unsigned int i2c3_pins[] = {
1933 	/* SDA3, SCL3 */
1934 	RCAR_GP_PIN(2, 9), RCAR_GP_PIN(2, 8),
1935 };
1936 static const unsigned int i2c3_mux[] = {
1937 	SDA3_MARK, SCL3_MARK,
1938 };
1939 
1940 /* - I2C4 ------------------------------------------------------------------- */
1941 static const unsigned int i2c4_pins[] = {
1942 	/* SDA4, SCL4 */
1943 	RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 10),
1944 };
1945 static const unsigned int i2c4_mux[] = {
1946 	SDA4_MARK, SCL4_MARK,
1947 };
1948 
1949 /* - I2C5 ------------------------------------------------------------------- */
1950 static const unsigned int i2c5_pins[] = {
1951 	/* SDA5, SCL5 */
1952 	RCAR_GP_PIN(2, 13), RCAR_GP_PIN(2, 12),
1953 };
1954 static const unsigned int i2c5_mux[] = {
1955 	SDA5_MARK, SCL5_MARK,
1956 };
1957 
1958 /* - I2C6 ------------------------------------------------------------------- */
1959 static const unsigned int i2c6_pins[] = {
1960 	/* SDA6, SCL6 */
1961 	RCAR_GP_PIN(2, 15), RCAR_GP_PIN(2, 14),
1962 };
1963 static const unsigned int i2c6_mux[] = {
1964 	SDA6_MARK, SCL6_MARK,
1965 };
1966 
1967 /* - INTC-EX ---------------------------------------------------------------- */
1968 static const unsigned int intc_ex_irq0_pins[] = {
1969 	/* IRQ0 */
1970 	RCAR_GP_PIN(1, 24),
1971 };
1972 static const unsigned int intc_ex_irq0_mux[] = {
1973 	IRQ0_MARK,
1974 };
1975 static const unsigned int intc_ex_irq1_pins[] = {
1976 	/* IRQ1 */
1977 	RCAR_GP_PIN(1, 25),
1978 };
1979 static const unsigned int intc_ex_irq1_mux[] = {
1980 	IRQ1_MARK,
1981 };
1982 static const unsigned int intc_ex_irq2_pins[] = {
1983 	/* IRQ2 */
1984 	RCAR_GP_PIN(1, 26),
1985 };
1986 static const unsigned int intc_ex_irq2_mux[] = {
1987 	IRQ2_MARK,
1988 };
1989 static const unsigned int intc_ex_irq3_pins[] = {
1990 	/* IRQ3 */
1991 	RCAR_GP_PIN(1, 27),
1992 };
1993 static const unsigned int intc_ex_irq3_mux[] = {
1994 	IRQ3_MARK,
1995 };
1996 static const unsigned int intc_ex_irq4_pins[] = {
1997 	/* IRQ4 */
1998 	RCAR_GP_PIN(2, 14),
1999 };
2000 static const unsigned int intc_ex_irq4_mux[] = {
2001 	IRQ4_MARK,
2002 };
2003 static const unsigned int intc_ex_irq5_pins[] = {
2004 	/* IRQ5 */
2005 	RCAR_GP_PIN(2, 15),
2006 };
2007 static const unsigned int intc_ex_irq5_mux[] = {
2008 	IRQ5_MARK,
2009 };
2010 
2011 /* - MMC -------------------------------------------------------------------- */
2012 static const unsigned int mmc_data_pins[] = {
2013 	/* MMC_SD_D[0:3], MMC_D[4:7] */
2014 	RCAR_GP_PIN(0, 19), RCAR_GP_PIN(0, 20),
2015 	RCAR_GP_PIN(0, 21), RCAR_GP_PIN(0, 22),
2016 	RCAR_GP_PIN(0, 24), RCAR_GP_PIN(0, 25),
2017 	RCAR_GP_PIN(0, 26), RCAR_GP_PIN(0, 27),
2018 };
2019 static const unsigned int mmc_data_mux[] = {
2020 	MMC_SD_D0_MARK, MMC_SD_D1_MARK,
2021 	MMC_SD_D2_MARK, MMC_SD_D3_MARK,
2022 	MMC_D4_MARK, MMC_D5_MARK,
2023 	MMC_D6_MARK, MMC_D7_MARK,
2024 };
2025 static const unsigned int mmc_ctrl_pins[] = {
2026 	/* MMC_SD_CLK, MMC_SD_CMD */
2027 	RCAR_GP_PIN(0, 23), RCAR_GP_PIN(0, 18),
2028 };
2029 static const unsigned int mmc_ctrl_mux[] = {
2030 	MMC_SD_CLK_MARK, MMC_SD_CMD_MARK,
2031 };
2032 static const unsigned int mmc_cd_pins[] = {
2033 	/* SD_CD */
2034 	RCAR_GP_PIN(0, 16),
2035 };
2036 static const unsigned int mmc_cd_mux[] = {
2037 	SD_CD_MARK,
2038 };
2039 static const unsigned int mmc_wp_pins[] = {
2040 	/* SD_WP */
2041 	RCAR_GP_PIN(0, 15),
2042 };
2043 static const unsigned int mmc_wp_mux[] = {
2044 	SD_WP_MARK,
2045 };
2046 static const unsigned int mmc_ds_pins[] = {
2047 	/* MMC_DS */
2048 	RCAR_GP_PIN(0, 17),
2049 };
2050 static const unsigned int mmc_ds_mux[] = {
2051 	MMC_DS_MARK,
2052 };
2053 
2054 /* - MSIOF0 ----------------------------------------------------------------- */
2055 static const unsigned int msiof0_clk_pins[] = {
2056 	/* MSIOF0_SCK */
2057 	RCAR_GP_PIN(1, 8),
2058 };
2059 static const unsigned int msiof0_clk_mux[] = {
2060 	MSIOF0_SCK_MARK,
2061 };
2062 static const unsigned int msiof0_sync_pins[] = {
2063 	/* MSIOF0_SYNC */
2064 	RCAR_GP_PIN(1, 9),
2065 };
2066 static const unsigned int msiof0_sync_mux[] = {
2067 	MSIOF0_SYNC_MARK,
2068 };
2069 static const unsigned int msiof0_ss1_pins[] = {
2070 	/* MSIOF0_SS1 */
2071 	RCAR_GP_PIN(1, 10),
2072 };
2073 static const unsigned int msiof0_ss1_mux[] = {
2074 	MSIOF0_SS1_MARK,
2075 };
2076 static const unsigned int msiof0_ss2_pins[] = {
2077 	/* MSIOF0_SS2 */
2078 	RCAR_GP_PIN(1, 11),
2079 };
2080 static const unsigned int msiof0_ss2_mux[] = {
2081 	MSIOF0_SS2_MARK,
2082 };
2083 static const unsigned int msiof0_txd_pins[] = {
2084 	/* MSIOF0_TXD */
2085 	RCAR_GP_PIN(1, 7),
2086 };
2087 static const unsigned int msiof0_txd_mux[] = {
2088 	MSIOF0_TXD_MARK,
2089 };
2090 static const unsigned int msiof0_rxd_pins[] = {
2091 	/* MSIOF0_RXD */
2092 	RCAR_GP_PIN(1, 6),
2093 };
2094 static const unsigned int msiof0_rxd_mux[] = {
2095 	MSIOF0_RXD_MARK,
2096 };
2097 
2098 /* - MSIOF1 ----------------------------------------------------------------- */
2099 static const unsigned int msiof1_clk_pins[] = {
2100 	/* MSIOF1_SCK */
2101 	RCAR_GP_PIN(1, 14),
2102 };
2103 static const unsigned int msiof1_clk_mux[] = {
2104 	MSIOF1_SCK_MARK,
2105 };
2106 static const unsigned int msiof1_sync_pins[] = {
2107 	/* MSIOF1_SYNC */
2108 	RCAR_GP_PIN(1, 15),
2109 };
2110 static const unsigned int msiof1_sync_mux[] = {
2111 	MSIOF1_SYNC_MARK,
2112 };
2113 static const unsigned int msiof1_ss1_pins[] = {
2114 	/* MSIOF1_SS1 */
2115 	RCAR_GP_PIN(1, 16),
2116 };
2117 static const unsigned int msiof1_ss1_mux[] = {
2118 	MSIOF1_SS1_MARK,
2119 };
2120 static const unsigned int msiof1_ss2_pins[] = {
2121 	/* MSIOF1_SS2 */
2122 	RCAR_GP_PIN(1, 17),
2123 };
2124 static const unsigned int msiof1_ss2_mux[] = {
2125 	MSIOF1_SS2_MARK,
2126 };
2127 static const unsigned int msiof1_txd_pins[] = {
2128 	/* MSIOF1_TXD */
2129 	RCAR_GP_PIN(1, 13),
2130 };
2131 static const unsigned int msiof1_txd_mux[] = {
2132 	MSIOF1_TXD_MARK,
2133 };
2134 static const unsigned int msiof1_rxd_pins[] = {
2135 	/* MSIOF1_RXD */
2136 	RCAR_GP_PIN(1, 12),
2137 };
2138 static const unsigned int msiof1_rxd_mux[] = {
2139 	MSIOF1_RXD_MARK,
2140 };
2141 
2142 /* - MSIOF2 ----------------------------------------------------------------- */
2143 static const unsigned int msiof2_clk_pins[] = {
2144 	/* MSIOF2_SCK */
2145 	RCAR_GP_PIN(1, 20),
2146 };
2147 static const unsigned int msiof2_clk_mux[] = {
2148 	MSIOF2_SCK_MARK,
2149 };
2150 static const unsigned int msiof2_sync_pins[] = {
2151 	/* MSIOF2_SYNC */
2152 	RCAR_GP_PIN(1, 21),
2153 };
2154 static const unsigned int msiof2_sync_mux[] = {
2155 	MSIOF2_SYNC_MARK,
2156 };
2157 static const unsigned int msiof2_ss1_pins[] = {
2158 	/* MSIOF2_SS1 */
2159 	RCAR_GP_PIN(1, 22),
2160 };
2161 static const unsigned int msiof2_ss1_mux[] = {
2162 	MSIOF2_SS1_MARK,
2163 };
2164 static const unsigned int msiof2_ss2_pins[] = {
2165 	/* MSIOF2_SS2 */
2166 	RCAR_GP_PIN(1, 23),
2167 };
2168 static const unsigned int msiof2_ss2_mux[] = {
2169 	MSIOF2_SS2_MARK,
2170 };
2171 static const unsigned int msiof2_txd_pins[] = {
2172 	/* MSIOF2_TXD */
2173 	RCAR_GP_PIN(1, 19),
2174 };
2175 static const unsigned int msiof2_txd_mux[] = {
2176 	MSIOF2_TXD_MARK,
2177 };
2178 static const unsigned int msiof2_rxd_pins[] = {
2179 	/* MSIOF2_RXD */
2180 	RCAR_GP_PIN(1, 18),
2181 };
2182 static const unsigned int msiof2_rxd_mux[] = {
2183 	MSIOF2_RXD_MARK,
2184 };
2185 
2186 /* - MSIOF3 ----------------------------------------------------------------- */
2187 static const unsigned int msiof3_clk_pins[] = {
2188 	/* MSIOF3_SCK */
2189 	RCAR_GP_PIN(2, 20),
2190 };
2191 static const unsigned int msiof3_clk_mux[] = {
2192 	MSIOF3_SCK_MARK,
2193 };
2194 static const unsigned int msiof3_sync_pins[] = {
2195 	/* MSIOF3_SYNC */
2196 	RCAR_GP_PIN(2, 21),
2197 };
2198 static const unsigned int msiof3_sync_mux[] = {
2199 	MSIOF3_SYNC_MARK,
2200 };
2201 static const unsigned int msiof3_ss1_pins[] = {
2202 	/* MSIOF3_SS1 */
2203 	RCAR_GP_PIN(2, 16),
2204 };
2205 static const unsigned int msiof3_ss1_mux[] = {
2206 	MSIOF3_SS1_MARK,
2207 };
2208 static const unsigned int msiof3_ss2_pins[] = {
2209 	/* MSIOF3_SS2 */
2210 	RCAR_GP_PIN(2, 17),
2211 };
2212 static const unsigned int msiof3_ss2_mux[] = {
2213 	MSIOF3_SS2_MARK,
2214 };
2215 static const unsigned int msiof3_txd_pins[] = {
2216 	/* MSIOF3_TXD */
2217 	RCAR_GP_PIN(2, 19),
2218 };
2219 static const unsigned int msiof3_txd_mux[] = {
2220 	MSIOF3_TXD_MARK,
2221 };
2222 static const unsigned int msiof3_rxd_pins[] = {
2223 	/* MSIOF3_RXD */
2224 	RCAR_GP_PIN(2, 18),
2225 };
2226 static const unsigned int msiof3_rxd_mux[] = {
2227 	MSIOF3_RXD_MARK,
2228 };
2229 
2230 /* - MSIOF4 ----------------------------------------------------------------- */
2231 static const unsigned int msiof4_clk_pins[] = {
2232 	/* MSIOF4_SCK */
2233 	RCAR_GP_PIN(2, 6),
2234 };
2235 static const unsigned int msiof4_clk_mux[] = {
2236 	MSIOF4_SCK_MARK,
2237 };
2238 static const unsigned int msiof4_sync_pins[] = {
2239 	/* MSIOF4_SYNC */
2240 	RCAR_GP_PIN(2, 7),
2241 };
2242 static const unsigned int msiof4_sync_mux[] = {
2243 	MSIOF4_SYNC_MARK,
2244 };
2245 static const unsigned int msiof4_ss1_pins[] = {
2246 	/* MSIOF4_SS1 */
2247 	RCAR_GP_PIN(2, 8),
2248 };
2249 static const unsigned int msiof4_ss1_mux[] = {
2250 	MSIOF4_SS1_MARK,
2251 };
2252 static const unsigned int msiof4_ss2_pins[] = {
2253 	/* MSIOF4_SS2 */
2254 	RCAR_GP_PIN(2, 9),
2255 };
2256 static const unsigned int msiof4_ss2_mux[] = {
2257 	MSIOF4_SS2_MARK,
2258 };
2259 static const unsigned int msiof4_txd_pins[] = {
2260 	/* MSIOF4_TXD */
2261 	RCAR_GP_PIN(2, 5),
2262 };
2263 static const unsigned int msiof4_txd_mux[] = {
2264 	MSIOF4_TXD_MARK,
2265 };
2266 static const unsigned int msiof4_rxd_pins[] = {
2267 	/* MSIOF4_RXD */
2268 	RCAR_GP_PIN(2, 4),
2269 };
2270 static const unsigned int msiof4_rxd_mux[] = {
2271 	MSIOF4_RXD_MARK,
2272 };
2273 
2274 /* - MSIOF5 ----------------------------------------------------------------- */
2275 static const unsigned int msiof5_clk_pins[] = {
2276 	/* MSIOF5_SCK */
2277 	RCAR_GP_PIN(2, 12),
2278 };
2279 static const unsigned int msiof5_clk_mux[] = {
2280 	MSIOF5_SCK_MARK,
2281 };
2282 static const unsigned int msiof5_sync_pins[] = {
2283 	/* MSIOF5_SYNC */
2284 	RCAR_GP_PIN(2, 13),
2285 };
2286 static const unsigned int msiof5_sync_mux[] = {
2287 	MSIOF5_SYNC_MARK,
2288 };
2289 static const unsigned int msiof5_ss1_pins[] = {
2290 	/* MSIOF5_SS1 */
2291 	RCAR_GP_PIN(2, 14),
2292 };
2293 static const unsigned int msiof5_ss1_mux[] = {
2294 	MSIOF5_SS1_MARK,
2295 };
2296 static const unsigned int msiof5_ss2_pins[] = {
2297 	/* MSIOF5_SS2 */
2298 	RCAR_GP_PIN(2, 15),
2299 };
2300 static const unsigned int msiof5_ss2_mux[] = {
2301 	MSIOF5_SS2_MARK,
2302 };
2303 static const unsigned int msiof5_txd_pins[] = {
2304 	/* MSIOF5_TXD */
2305 	RCAR_GP_PIN(2, 11),
2306 };
2307 static const unsigned int msiof5_txd_mux[] = {
2308 	MSIOF5_TXD_MARK,
2309 };
2310 static const unsigned int msiof5_rxd_pins[] = {
2311 	/* MSIOF5_RXD */
2312 	RCAR_GP_PIN(2, 10),
2313 };
2314 static const unsigned int msiof5_rxd_mux[] = {
2315 	MSIOF5_RXD_MARK,
2316 };
2317 
2318 /* - PWM0 ------------------------------------------------------------------- */
2319 static const unsigned int pwm0_pins[] = {
2320 	/* PWM0 */
2321 	RCAR_GP_PIN(3, 5),
2322 };
2323 static const unsigned int pwm0_mux[] = {
2324 	PWM0_MARK,
2325 };
2326 
2327 /* - PWM1 ------------------------------------------------------------------- */
2328 static const unsigned int pwm1_pins[] = {
2329 	/* PWM1 */
2330 	RCAR_GP_PIN(3, 6),
2331 };
2332 static const unsigned int pwm1_mux[] = {
2333 	PWM1_MARK,
2334 };
2335 
2336 /* - PWM2 ------------------------------------------------------------------- */
2337 static const unsigned int pwm2_pins[] = {
2338 	/* PWM2 */
2339 	RCAR_GP_PIN(3, 7),
2340 };
2341 static const unsigned int pwm2_mux[] = {
2342 	PWM2_MARK,
2343 };
2344 
2345 /* - PWM3 ------------------------------------------------------------------- */
2346 static const unsigned int pwm3_pins[] = {
2347 	/* PWM3 */
2348 	RCAR_GP_PIN(3, 8),
2349 };
2350 static const unsigned int pwm3_mux[] = {
2351 	PWM3_MARK,
2352 };
2353 
2354 /* - PWM4 ------------------------------------------------------------------- */
2355 static const unsigned int pwm4_pins[] = {
2356 	/* PWM4 */
2357 	RCAR_GP_PIN(3, 9),
2358 };
2359 static const unsigned int pwm4_mux[] = {
2360 	PWM4_MARK,
2361 };
2362 
2363 /* - QSPI0 ------------------------------------------------------------------ */
2364 static const unsigned int qspi0_ctrl_pins[] = {
2365 	/* SPCLK, SSL */
2366 	RCAR_GP_PIN(0, 0), RCAR_GP_PIN(0, 5),
2367 };
2368 static const unsigned int qspi0_ctrl_mux[] = {
2369 	QSPI0_SPCLK_MARK, QSPI0_SSL_MARK,
2370 };
2371 static const unsigned int qspi0_data_pins[] = {
2372 	/* MOSI_IO0, MISO_IO1, IO2, IO3 */
2373 	RCAR_GP_PIN(0, 1), RCAR_GP_PIN(0, 2),
2374 	RCAR_GP_PIN(0, 3), RCAR_GP_PIN(0, 4),
2375 };
2376 static const unsigned int qspi0_data_mux[] = {
2377 	QSPI0_MOSI_IO0_MARK, QSPI0_MISO_IO1_MARK,
2378 	QSPI0_IO2_MARK, QSPI0_IO3_MARK
2379 };
2380 
2381 /* - QSPI1 ------------------------------------------------------------------ */
2382 static const unsigned int qspi1_ctrl_pins[] = {
2383 	/* SPCLK, SSL */
2384 	RCAR_GP_PIN(0, 6), RCAR_GP_PIN(0, 11),
2385 };
2386 static const unsigned int qspi1_ctrl_mux[] = {
2387 	QSPI1_SPCLK_MARK, QSPI1_SSL_MARK,
2388 };
2389 static const unsigned int qspi1_data_pins[] = {
2390 	/* MOSI_IO0, MISO_IO1, IO2, IO3 */
2391 	RCAR_GP_PIN(0, 7), RCAR_GP_PIN(0, 8),
2392 	RCAR_GP_PIN(0, 9), RCAR_GP_PIN(0, 10),
2393 };
2394 static const unsigned int qspi1_data_mux[] = {
2395 	QSPI1_MOSI_IO0_MARK, QSPI1_MISO_IO1_MARK,
2396 	QSPI1_IO2_MARK, QSPI1_IO3_MARK
2397 };
2398 
2399 /* - SCIF0 ------------------------------------------------------------------ */
2400 static const unsigned int scif0_data_pins[] = {
2401 	/* RX0, TX0 */
2402 	RCAR_GP_PIN(1, 1), RCAR_GP_PIN(1, 5),
2403 };
2404 static const unsigned int scif0_data_mux[] = {
2405 	RX0_MARK, TX0_MARK,
2406 };
2407 static const unsigned int scif0_clk_pins[] = {
2408 	/* SCK0 */
2409 	RCAR_GP_PIN(1, 2),
2410 };
2411 static const unsigned int scif0_clk_mux[] = {
2412 	SCK0_MARK,
2413 };
2414 static const unsigned int scif0_ctrl_pins[] = {
2415 	/* RTS0#, CTS0# */
2416 	RCAR_GP_PIN(1, 3), RCAR_GP_PIN(1, 4),
2417 };
2418 static const unsigned int scif0_ctrl_mux[] = {
2419 	RTS0_N_MARK, CTS0_N_MARK,
2420 };
2421 
2422 /* - SCIF1 ------------------------------------------------------------------ */
2423 static const unsigned int scif1_data_a_pins[] = {
2424 	/* RX, TX */
2425 	RCAR_GP_PIN(1, 21), RCAR_GP_PIN(1, 22),
2426 };
2427 static const unsigned int scif1_data_a_mux[] = {
2428 	RX1_A_MARK, TX1_A_MARK,
2429 };
2430 static const unsigned int scif1_data_b_pins[] = {
2431 	/* RX, TX */
2432 	RCAR_GP_PIN(3, 2), RCAR_GP_PIN(3, 1),
2433 };
2434 static const unsigned int scif1_data_b_mux[] = {
2435 	RX1_B_MARK, TX1_B_MARK,
2436 };
2437 static const unsigned int scif1_clk_pins[] = {
2438 	/* SCK1 */
2439 	RCAR_GP_PIN(1, 18),
2440 };
2441 static const unsigned int scif1_clk_mux[] = {
2442 	SCK1_MARK,
2443 };
2444 static const unsigned int scif1_ctrl_pins[] = {
2445 	/* RTS1#, CTS1# */
2446 	RCAR_GP_PIN(1, 20), RCAR_GP_PIN(1, 19),
2447 };
2448 static const unsigned int scif1_ctrl_mux[] = {
2449 	RTS1_N_MARK, CTS1_N_MARK,
2450 };
2451 
2452 /* - SCIF3 ------------------------------------------------------------------ */
2453 static const unsigned int scif3_data_pins[] = {
2454 	/* RX3, TX3 */
2455 	RCAR_GP_PIN(1, 16), RCAR_GP_PIN(1, 17),
2456 };
2457 static const unsigned int scif3_data_mux[] = {
2458 	RX3_MARK, TX3_MARK,
2459 };
2460 static const unsigned int scif3_clk_pins[] = {
2461 	/* SCK3 */
2462 	RCAR_GP_PIN(1, 13),
2463 };
2464 static const unsigned int scif3_clk_mux[] = {
2465 	SCK3_MARK,
2466 };
2467 static const unsigned int scif3_ctrl_pins[] = {
2468 	/* RTS3#, CTS3# */
2469 	RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 14),
2470 };
2471 static const unsigned int scif3_ctrl_mux[] = {
2472 	RTS3_N_MARK, CTS3_N_MARK,
2473 };
2474 
2475 /* - SCIF4 ------------------------------------------------------------------ */
2476 static const unsigned int scif4_data_pins[] = {
2477 	/* RX4, TX4 */
2478 	RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 9),
2479 };
2480 static const unsigned int scif4_data_mux[] = {
2481 	RX4_MARK, TX4_MARK,
2482 };
2483 static const unsigned int scif4_clk_pins[] = {
2484 	/* SCK4 */
2485 	RCAR_GP_PIN(2, 5),
2486 };
2487 static const unsigned int scif4_clk_mux[] = {
2488 	SCK4_MARK,
2489 };
2490 static const unsigned int scif4_ctrl_pins[] = {
2491 	/* RTS4#, CTS4# */
2492 	RCAR_GP_PIN(2, 7), RCAR_GP_PIN(2, 6),
2493 };
2494 static const unsigned int scif4_ctrl_mux[] = {
2495 	RTS4_N_MARK, CTS4_N_MARK,
2496 };
2497 
2498 /* - SCIF Clock ------------------------------------------------------------- */
2499 static const unsigned int scif_clk_pins[] = {
2500 	/* SCIF_CLK */
2501 	RCAR_GP_PIN(1, 0),
2502 };
2503 static const unsigned int scif_clk_mux[] = {
2504 	SCIF_CLK_MARK,
2505 };
2506 
2507 /* - TMU -------------------------------------------------------------------- */
2508 static const unsigned int tmu_tclk1_a_pins[] = {
2509 	/* TCLK1 */
2510 	RCAR_GP_PIN(2, 23),
2511 };
2512 static const unsigned int tmu_tclk1_a_mux[] = {
2513 	TCLK1_A_MARK,
2514 };
2515 static const unsigned int tmu_tclk1_b_pins[] = {
2516 	/* TCLK1 */
2517 	RCAR_GP_PIN(1, 23),
2518 };
2519 static const unsigned int tmu_tclk1_b_mux[] = {
2520 	TCLK1_B_MARK,
2521 };
2522 
2523 static const unsigned int tmu_tclk2_a_pins[] = {
2524 	/* TCLK2 */
2525 	RCAR_GP_PIN(2, 24),
2526 };
2527 static const unsigned int tmu_tclk2_a_mux[] = {
2528 	TCLK2_A_MARK,
2529 };
2530 static const unsigned int tmu_tclk2_b_pins[] = {
2531 	/* TCLK2 */
2532 	RCAR_GP_PIN(2, 10),
2533 };
2534 static const unsigned int tmu_tclk2_b_mux[] = {
2535 	TCLK2_B_MARK,
2536 };
2537 
2538 static const unsigned int tmu_tclk3_pins[] = {
2539 	/* TCLK3 */
2540 	RCAR_GP_PIN(2, 11),
2541 };
2542 static const unsigned int tmu_tclk3_mux[] = {
2543 	TCLK3_MARK,
2544 };
2545 
2546 static const unsigned int tmu_tclk4_pins[] = {
2547 	/* TCLK4 */
2548 	RCAR_GP_PIN(2, 12),
2549 };
2550 static const unsigned int tmu_tclk4_mux[] = {
2551 	TCLK4_MARK,
2552 };
2553 
2554 /* - TPU ------------------------------------------------------------------- */
2555 static const unsigned int tpu_to0_pins[] = {
2556 	/* TPU0TO0 */
2557 	RCAR_GP_PIN(2, 21),
2558 };
2559 static const unsigned int tpu_to0_mux[] = {
2560 	TPU0TO0_MARK,
2561 };
2562 static const unsigned int tpu_to1_pins[] = {
2563 	/* TPU0TO1 */
2564 	RCAR_GP_PIN(2, 22),
2565 };
2566 static const unsigned int tpu_to1_mux[] = {
2567 	TPU0TO1_MARK,
2568 };
2569 static const unsigned int tpu_to2_pins[] = {
2570 	/* TPU0TO2 */
2571 	RCAR_GP_PIN(3, 5),
2572 };
2573 static const unsigned int tpu_to2_mux[] = {
2574 	TPU0TO2_MARK,
2575 };
2576 static const unsigned int tpu_to3_pins[] = {
2577 	/* TPU0TO3 */
2578 	RCAR_GP_PIN(3, 6),
2579 };
2580 static const unsigned int tpu_to3_mux[] = {
2581 	TPU0TO3_MARK,
2582 };
2583 
2584 static const struct sh_pfc_pin_group pinmux_groups[] = {
2585 	SH_PFC_PIN_GROUP(avb0_link),
2586 	SH_PFC_PIN_GROUP(avb0_magic),
2587 	SH_PFC_PIN_GROUP(avb0_phy_int),
2588 	SH_PFC_PIN_GROUP(avb0_mdio),
2589 	SH_PFC_PIN_GROUP(avb0_rgmii),
2590 	SH_PFC_PIN_GROUP(avb0_txcrefclk),
2591 	SH_PFC_PIN_GROUP(avb0_avtp_pps),
2592 	SH_PFC_PIN_GROUP(avb0_avtp_capture),
2593 	SH_PFC_PIN_GROUP(avb0_avtp_match),
2594 
2595 	SH_PFC_PIN_GROUP(avb1_link),
2596 	SH_PFC_PIN_GROUP(avb1_magic),
2597 	SH_PFC_PIN_GROUP(avb1_phy_int),
2598 	SH_PFC_PIN_GROUP(avb1_mdio),
2599 	SH_PFC_PIN_GROUP(avb1_rgmii),
2600 	SH_PFC_PIN_GROUP(avb1_txcrefclk),
2601 	SH_PFC_PIN_GROUP(avb1_avtp_pps),
2602 	SH_PFC_PIN_GROUP(avb1_avtp_capture),
2603 	SH_PFC_PIN_GROUP(avb1_avtp_match),
2604 
2605 	SH_PFC_PIN_GROUP(avb2_link),
2606 	SH_PFC_PIN_GROUP(avb2_magic),
2607 	SH_PFC_PIN_GROUP(avb2_phy_int),
2608 	SH_PFC_PIN_GROUP(avb2_mdio),
2609 	SH_PFC_PIN_GROUP(avb2_rgmii),
2610 	SH_PFC_PIN_GROUP(avb2_txcrefclk),
2611 	SH_PFC_PIN_GROUP(avb2_avtp_pps),
2612 	SH_PFC_PIN_GROUP(avb2_avtp_capture),
2613 	SH_PFC_PIN_GROUP(avb2_avtp_match),
2614 
2615 	SH_PFC_PIN_GROUP(avb3_link),
2616 	SH_PFC_PIN_GROUP(avb3_magic),
2617 	SH_PFC_PIN_GROUP(avb3_phy_int),
2618 	SH_PFC_PIN_GROUP(avb3_mdio),
2619 	SH_PFC_PIN_GROUP(avb3_rgmii),
2620 	SH_PFC_PIN_GROUP(avb3_txcrefclk),
2621 	SH_PFC_PIN_GROUP(avb3_avtp_pps),
2622 	SH_PFC_PIN_GROUP(avb3_avtp_capture),
2623 	SH_PFC_PIN_GROUP(avb3_avtp_match),
2624 
2625 	SH_PFC_PIN_GROUP(avb4_link),
2626 	SH_PFC_PIN_GROUP(avb4_magic),
2627 	SH_PFC_PIN_GROUP(avb4_phy_int),
2628 	SH_PFC_PIN_GROUP(avb4_mdio),
2629 	SH_PFC_PIN_GROUP(avb4_rgmii),
2630 	SH_PFC_PIN_GROUP(avb4_txcrefclk),
2631 	SH_PFC_PIN_GROUP(avb4_avtp_pps),
2632 	SH_PFC_PIN_GROUP(avb4_avtp_capture),
2633 	SH_PFC_PIN_GROUP(avb4_avtp_match),
2634 
2635 	SH_PFC_PIN_GROUP(avb5_link),
2636 	SH_PFC_PIN_GROUP(avb5_magic),
2637 	SH_PFC_PIN_GROUP(avb5_phy_int),
2638 	SH_PFC_PIN_GROUP(avb5_mdio),
2639 	SH_PFC_PIN_GROUP(avb5_rgmii),
2640 	SH_PFC_PIN_GROUP(avb5_txcrefclk),
2641 	SH_PFC_PIN_GROUP(avb5_avtp_pps),
2642 	SH_PFC_PIN_GROUP(avb5_avtp_capture),
2643 	SH_PFC_PIN_GROUP(avb5_avtp_match),
2644 
2645 	SH_PFC_PIN_GROUP(canfd0_data),
2646 	SH_PFC_PIN_GROUP(canfd1_data),
2647 	SH_PFC_PIN_GROUP(canfd2_data),
2648 	SH_PFC_PIN_GROUP(canfd3_data),
2649 	SH_PFC_PIN_GROUP(canfd4_data),
2650 	SH_PFC_PIN_GROUP(canfd5_data),
2651 	SH_PFC_PIN_GROUP(canfd6_data),
2652 	SH_PFC_PIN_GROUP(canfd7_data),
2653 	SH_PFC_PIN_GROUP(can_clk),
2654 
2655 	SH_PFC_PIN_GROUP(du_rgb888),
2656 	SH_PFC_PIN_GROUP(du_clk_out),
2657 	SH_PFC_PIN_GROUP(du_sync),
2658 	SH_PFC_PIN_GROUP(du_oddf),
2659 
2660 	SH_PFC_PIN_GROUP(hscif0_data),
2661 	SH_PFC_PIN_GROUP(hscif0_clk),
2662 	SH_PFC_PIN_GROUP(hscif0_ctrl),
2663 	SH_PFC_PIN_GROUP(hscif1_data),
2664 	SH_PFC_PIN_GROUP(hscif1_clk),
2665 	SH_PFC_PIN_GROUP(hscif1_ctrl),
2666 	SH_PFC_PIN_GROUP(hscif2_data),
2667 	SH_PFC_PIN_GROUP(hscif2_clk),
2668 	SH_PFC_PIN_GROUP(hscif2_ctrl),
2669 	SH_PFC_PIN_GROUP(hscif3_data),
2670 	SH_PFC_PIN_GROUP(hscif3_clk),
2671 	SH_PFC_PIN_GROUP(hscif3_ctrl),
2672 
2673 	SH_PFC_PIN_GROUP(i2c0),
2674 	SH_PFC_PIN_GROUP(i2c1),
2675 	SH_PFC_PIN_GROUP(i2c2),
2676 	SH_PFC_PIN_GROUP(i2c3),
2677 	SH_PFC_PIN_GROUP(i2c4),
2678 	SH_PFC_PIN_GROUP(i2c5),
2679 	SH_PFC_PIN_GROUP(i2c6),
2680 
2681 	SH_PFC_PIN_GROUP(intc_ex_irq0),
2682 	SH_PFC_PIN_GROUP(intc_ex_irq1),
2683 	SH_PFC_PIN_GROUP(intc_ex_irq2),
2684 	SH_PFC_PIN_GROUP(intc_ex_irq3),
2685 	SH_PFC_PIN_GROUP(intc_ex_irq4),
2686 	SH_PFC_PIN_GROUP(intc_ex_irq5),
2687 
2688 	BUS_DATA_PIN_GROUP(mmc_data, 1),
2689 	BUS_DATA_PIN_GROUP(mmc_data, 4),
2690 	BUS_DATA_PIN_GROUP(mmc_data, 8),
2691 	SH_PFC_PIN_GROUP(mmc_ctrl),
2692 	SH_PFC_PIN_GROUP(mmc_cd),
2693 	SH_PFC_PIN_GROUP(mmc_wp),
2694 	SH_PFC_PIN_GROUP(mmc_ds),
2695 
2696 	SH_PFC_PIN_GROUP(msiof0_clk),
2697 	SH_PFC_PIN_GROUP(msiof0_sync),
2698 	SH_PFC_PIN_GROUP(msiof0_ss1),
2699 	SH_PFC_PIN_GROUP(msiof0_ss2),
2700 	SH_PFC_PIN_GROUP(msiof0_txd),
2701 	SH_PFC_PIN_GROUP(msiof0_rxd),
2702 	SH_PFC_PIN_GROUP(msiof1_clk),
2703 	SH_PFC_PIN_GROUP(msiof1_sync),
2704 	SH_PFC_PIN_GROUP(msiof1_ss1),
2705 	SH_PFC_PIN_GROUP(msiof1_ss2),
2706 	SH_PFC_PIN_GROUP(msiof1_txd),
2707 	SH_PFC_PIN_GROUP(msiof1_rxd),
2708 	SH_PFC_PIN_GROUP(msiof2_clk),
2709 	SH_PFC_PIN_GROUP(msiof2_sync),
2710 	SH_PFC_PIN_GROUP(msiof2_ss1),
2711 	SH_PFC_PIN_GROUP(msiof2_ss2),
2712 	SH_PFC_PIN_GROUP(msiof2_txd),
2713 	SH_PFC_PIN_GROUP(msiof2_rxd),
2714 	SH_PFC_PIN_GROUP(msiof3_clk),
2715 	SH_PFC_PIN_GROUP(msiof3_sync),
2716 	SH_PFC_PIN_GROUP(msiof3_ss1),
2717 	SH_PFC_PIN_GROUP(msiof3_ss2),
2718 	SH_PFC_PIN_GROUP(msiof3_txd),
2719 	SH_PFC_PIN_GROUP(msiof3_rxd),
2720 	SH_PFC_PIN_GROUP(msiof4_clk),
2721 	SH_PFC_PIN_GROUP(msiof4_sync),
2722 	SH_PFC_PIN_GROUP(msiof4_ss1),
2723 	SH_PFC_PIN_GROUP(msiof4_ss2),
2724 	SH_PFC_PIN_GROUP(msiof4_txd),
2725 	SH_PFC_PIN_GROUP(msiof4_rxd),
2726 	SH_PFC_PIN_GROUP(msiof5_clk),
2727 	SH_PFC_PIN_GROUP(msiof5_sync),
2728 	SH_PFC_PIN_GROUP(msiof5_ss1),
2729 	SH_PFC_PIN_GROUP(msiof5_ss2),
2730 	SH_PFC_PIN_GROUP(msiof5_txd),
2731 	SH_PFC_PIN_GROUP(msiof5_rxd),
2732 
2733 	SH_PFC_PIN_GROUP(pwm0),
2734 	SH_PFC_PIN_GROUP(pwm1),
2735 	SH_PFC_PIN_GROUP(pwm2),
2736 	SH_PFC_PIN_GROUP(pwm3),
2737 	SH_PFC_PIN_GROUP(pwm4),
2738 
2739 	SH_PFC_PIN_GROUP(qspi0_ctrl),
2740 	BUS_DATA_PIN_GROUP(qspi0_data, 2),
2741 	BUS_DATA_PIN_GROUP(qspi0_data, 4),
2742 	SH_PFC_PIN_GROUP(qspi1_ctrl),
2743 	BUS_DATA_PIN_GROUP(qspi1_data, 2),
2744 	BUS_DATA_PIN_GROUP(qspi1_data, 4),
2745 
2746 	SH_PFC_PIN_GROUP(scif0_data),
2747 	SH_PFC_PIN_GROUP(scif0_clk),
2748 	SH_PFC_PIN_GROUP(scif0_ctrl),
2749 	SH_PFC_PIN_GROUP(scif1_data_a),
2750 	SH_PFC_PIN_GROUP(scif1_data_b),
2751 	SH_PFC_PIN_GROUP(scif1_clk),
2752 	SH_PFC_PIN_GROUP(scif1_ctrl),
2753 	SH_PFC_PIN_GROUP(scif3_data),
2754 	SH_PFC_PIN_GROUP(scif3_clk),
2755 	SH_PFC_PIN_GROUP(scif3_ctrl),
2756 	SH_PFC_PIN_GROUP(scif4_data),
2757 	SH_PFC_PIN_GROUP(scif4_clk),
2758 	SH_PFC_PIN_GROUP(scif4_ctrl),
2759 	SH_PFC_PIN_GROUP(scif_clk),
2760 
2761 	SH_PFC_PIN_GROUP(tmu_tclk1_a),
2762 	SH_PFC_PIN_GROUP(tmu_tclk1_b),
2763 	SH_PFC_PIN_GROUP(tmu_tclk2_a),
2764 	SH_PFC_PIN_GROUP(tmu_tclk2_b),
2765 	SH_PFC_PIN_GROUP(tmu_tclk3),
2766 	SH_PFC_PIN_GROUP(tmu_tclk4),
2767 
2768 	SH_PFC_PIN_GROUP(tpu_to0),
2769 	SH_PFC_PIN_GROUP(tpu_to1),
2770 	SH_PFC_PIN_GROUP(tpu_to2),
2771 	SH_PFC_PIN_GROUP(tpu_to3),
2772 };
2773 
2774 static const char * const avb0_groups[] = {
2775 	"avb0_link",
2776 	"avb0_magic",
2777 	"avb0_phy_int",
2778 	"avb0_mdio",
2779 	"avb0_rgmii",
2780 	"avb0_txcrefclk",
2781 	"avb0_avtp_pps",
2782 	"avb0_avtp_capture",
2783 	"avb0_avtp_match",
2784 };
2785 
2786 static const char * const avb1_groups[] = {
2787 	"avb1_link",
2788 	"avb1_magic",
2789 	"avb1_phy_int",
2790 	"avb1_mdio",
2791 	"avb1_rgmii",
2792 	"avb1_txcrefclk",
2793 	"avb1_avtp_pps",
2794 	"avb1_avtp_capture",
2795 	"avb1_avtp_match",
2796 };
2797 
2798 static const char * const avb2_groups[] = {
2799 	"avb2_link",
2800 	"avb2_magic",
2801 	"avb2_phy_int",
2802 	"avb2_mdio",
2803 	"avb2_rgmii",
2804 	"avb2_txcrefclk",
2805 	"avb2_avtp_pps",
2806 	"avb2_avtp_capture",
2807 	"avb2_avtp_match",
2808 };
2809 
2810 static const char * const avb3_groups[] = {
2811 	"avb3_link",
2812 	"avb3_magic",
2813 	"avb3_phy_int",
2814 	"avb3_mdio",
2815 	"avb3_rgmii",
2816 	"avb3_txcrefclk",
2817 	"avb3_avtp_pps",
2818 	"avb3_avtp_capture",
2819 	"avb3_avtp_match",
2820 };
2821 
2822 static const char * const avb4_groups[] = {
2823 	"avb4_link",
2824 	"avb4_magic",
2825 	"avb4_phy_int",
2826 	"avb4_mdio",
2827 	"avb4_rgmii",
2828 	"avb4_txcrefclk",
2829 	"avb4_avtp_pps",
2830 	"avb4_avtp_capture",
2831 	"avb4_avtp_match",
2832 };
2833 
2834 static const char * const avb5_groups[] = {
2835 	"avb5_link",
2836 	"avb5_magic",
2837 	"avb5_phy_int",
2838 	"avb5_mdio",
2839 	"avb5_rgmii",
2840 	"avb5_txcrefclk",
2841 	"avb5_avtp_pps",
2842 	"avb5_avtp_capture",
2843 	"avb5_avtp_match",
2844 };
2845 
2846 static const char * const canfd0_groups[] = {
2847 	"canfd0_data",
2848 };
2849 
2850 static const char * const canfd1_groups[] = {
2851 	"canfd1_data",
2852 };
2853 
2854 static const char * const canfd2_groups[] = {
2855 	"canfd2_data",
2856 };
2857 
2858 static const char * const canfd3_groups[] = {
2859 	"canfd3_data",
2860 };
2861 
2862 static const char * const canfd4_groups[] = {
2863 	"canfd4_data",
2864 };
2865 
2866 static const char * const canfd5_groups[] = {
2867 	"canfd5_data",
2868 };
2869 
2870 static const char * const canfd6_groups[] = {
2871 	"canfd6_data",
2872 };
2873 
2874 static const char * const canfd7_groups[] = {
2875 	"canfd7_data",
2876 };
2877 
2878 static const char * const can_clk_groups[] = {
2879 	"can_clk",
2880 };
2881 
2882 static const char * const du_groups[] = {
2883 	"du_rgb888",
2884 	"du_clk_out",
2885 	"du_sync",
2886 	"du_oddf",
2887 };
2888 
2889 static const char * const hscif0_groups[] = {
2890 	"hscif0_data",
2891 	"hscif0_clk",
2892 	"hscif0_ctrl",
2893 };
2894 
2895 static const char * const hscif1_groups[] = {
2896 	"hscif1_data",
2897 	"hscif1_clk",
2898 	"hscif1_ctrl",
2899 };
2900 
2901 static const char * const hscif2_groups[] = {
2902 	"hscif2_data",
2903 	"hscif2_clk",
2904 	"hscif2_ctrl",
2905 };
2906 
2907 static const char * const hscif3_groups[] = {
2908 	"hscif3_data",
2909 	"hscif3_clk",
2910 	"hscif3_ctrl",
2911 };
2912 
2913 static const char * const i2c0_groups[] = {
2914 	"i2c0",
2915 };
2916 
2917 static const char * const i2c1_groups[] = {
2918 	"i2c1",
2919 };
2920 
2921 static const char * const i2c2_groups[] = {
2922 	"i2c2",
2923 };
2924 
2925 static const char * const i2c3_groups[] = {
2926 	"i2c3",
2927 };
2928 
2929 static const char * const i2c4_groups[] = {
2930 	"i2c4",
2931 };
2932 
2933 static const char * const i2c5_groups[] = {
2934 	"i2c5",
2935 };
2936 
2937 static const char * const i2c6_groups[] = {
2938 	"i2c6",
2939 };
2940 
2941 static const char * const intc_ex_groups[] = {
2942 	"intc_ex_irq0",
2943 	"intc_ex_irq1",
2944 	"intc_ex_irq2",
2945 	"intc_ex_irq3",
2946 	"intc_ex_irq4",
2947 	"intc_ex_irq5",
2948 };
2949 
2950 static const char * const mmc_groups[] = {
2951 	"mmc_data1",
2952 	"mmc_data4",
2953 	"mmc_data8",
2954 	"mmc_ctrl",
2955 	"mmc_cd",
2956 	"mmc_wp",
2957 	"mmc_ds",
2958 };
2959 
2960 static const char * const msiof0_groups[] = {
2961 	"msiof0_clk",
2962 	"msiof0_sync",
2963 	"msiof0_ss1",
2964 	"msiof0_ss2",
2965 	"msiof0_txd",
2966 	"msiof0_rxd",
2967 };
2968 
2969 static const char * const msiof1_groups[] = {
2970 	"msiof1_clk",
2971 	"msiof1_sync",
2972 	"msiof1_ss1",
2973 	"msiof1_ss2",
2974 	"msiof1_txd",
2975 	"msiof1_rxd",
2976 };
2977 
2978 static const char * const msiof2_groups[] = {
2979 	"msiof2_clk",
2980 	"msiof2_sync",
2981 	"msiof2_ss1",
2982 	"msiof2_ss2",
2983 	"msiof2_txd",
2984 	"msiof2_rxd",
2985 };
2986 
2987 static const char * const msiof3_groups[] = {
2988 	"msiof3_clk",
2989 	"msiof3_sync",
2990 	"msiof3_ss1",
2991 	"msiof3_ss2",
2992 	"msiof3_txd",
2993 	"msiof3_rxd",
2994 };
2995 
2996 static const char * const msiof4_groups[] = {
2997 	"msiof4_clk",
2998 	"msiof4_sync",
2999 	"msiof4_ss1",
3000 	"msiof4_ss2",
3001 	"msiof4_txd",
3002 	"msiof4_rxd",
3003 };
3004 
3005 static const char * const msiof5_groups[] = {
3006 	"msiof5_clk",
3007 	"msiof5_sync",
3008 	"msiof5_ss1",
3009 	"msiof5_ss2",
3010 	"msiof5_txd",
3011 	"msiof5_rxd",
3012 };
3013 
3014 static const char * const pwm0_groups[] = {
3015 	"pwm0",
3016 };
3017 
3018 static const char * const pwm1_groups[] = {
3019 	"pwm1",
3020 };
3021 
3022 static const char * const pwm2_groups[] = {
3023 	"pwm2",
3024 };
3025 
3026 static const char * const pwm3_groups[] = {
3027 	"pwm3",
3028 };
3029 
3030 static const char * const pwm4_groups[] = {
3031 	"pwm4",
3032 };
3033 
3034 static const char * const qspi0_groups[] = {
3035 	"qspi0_ctrl",
3036 	"qspi0_data2",
3037 	"qspi0_data4",
3038 };
3039 
3040 static const char * const qspi1_groups[] = {
3041 	"qspi1_ctrl",
3042 	"qspi1_data2",
3043 	"qspi1_data4",
3044 };
3045 
3046 static const char * const scif0_groups[] = {
3047 	"scif0_data",
3048 	"scif0_clk",
3049 	"scif0_ctrl",
3050 };
3051 
3052 static const char * const scif1_groups[] = {
3053 	"scif1_data_a",
3054 	"scif1_data_b",
3055 	"scif1_clk",
3056 	"scif1_ctrl",
3057 };
3058 
3059 static const char * const scif3_groups[] = {
3060 	"scif3_data",
3061 	"scif3_clk",
3062 	"scif3_ctrl",
3063 };
3064 
3065 static const char * const scif4_groups[] = {
3066 	"scif4_data",
3067 	"scif4_clk",
3068 	"scif4_ctrl",
3069 };
3070 
3071 static const char * const scif_clk_groups[] = {
3072 	"scif_clk",
3073 };
3074 
3075 static const char * const tmu_groups[] = {
3076 	"tmu_tclk1_a",
3077 	"tmu_tclk1_b",
3078 	"tmu_tclk2_a",
3079 	"tmu_tclk2_b",
3080 	"tmu_tclk3",
3081 	"tmu_tclk4",
3082 };
3083 
3084 static const char * const tpu_groups[] = {
3085 	"tpu_to0",
3086 	"tpu_to1",
3087 	"tpu_to2",
3088 	"tpu_to3",
3089 };
3090 
3091 static const struct sh_pfc_function pinmux_functions[] = {
3092 	SH_PFC_FUNCTION(avb0),
3093 	SH_PFC_FUNCTION(avb1),
3094 	SH_PFC_FUNCTION(avb2),
3095 	SH_PFC_FUNCTION(avb3),
3096 	SH_PFC_FUNCTION(avb4),
3097 	SH_PFC_FUNCTION(avb5),
3098 
3099 	SH_PFC_FUNCTION(canfd0),
3100 	SH_PFC_FUNCTION(canfd1),
3101 	SH_PFC_FUNCTION(canfd2),
3102 	SH_PFC_FUNCTION(canfd3),
3103 	SH_PFC_FUNCTION(canfd4),
3104 	SH_PFC_FUNCTION(canfd5),
3105 	SH_PFC_FUNCTION(canfd6),
3106 	SH_PFC_FUNCTION(canfd7),
3107 	SH_PFC_FUNCTION(can_clk),
3108 
3109 	SH_PFC_FUNCTION(du),
3110 
3111 	SH_PFC_FUNCTION(hscif0),
3112 	SH_PFC_FUNCTION(hscif1),
3113 	SH_PFC_FUNCTION(hscif2),
3114 	SH_PFC_FUNCTION(hscif3),
3115 
3116 	SH_PFC_FUNCTION(i2c0),
3117 	SH_PFC_FUNCTION(i2c1),
3118 	SH_PFC_FUNCTION(i2c2),
3119 	SH_PFC_FUNCTION(i2c3),
3120 	SH_PFC_FUNCTION(i2c4),
3121 	SH_PFC_FUNCTION(i2c5),
3122 	SH_PFC_FUNCTION(i2c6),
3123 
3124 	SH_PFC_FUNCTION(intc_ex),
3125 
3126 	SH_PFC_FUNCTION(mmc),
3127 
3128 	SH_PFC_FUNCTION(msiof0),
3129 	SH_PFC_FUNCTION(msiof1),
3130 	SH_PFC_FUNCTION(msiof2),
3131 	SH_PFC_FUNCTION(msiof3),
3132 	SH_PFC_FUNCTION(msiof4),
3133 	SH_PFC_FUNCTION(msiof5),
3134 
3135 	SH_PFC_FUNCTION(pwm0),
3136 	SH_PFC_FUNCTION(pwm1),
3137 	SH_PFC_FUNCTION(pwm2),
3138 	SH_PFC_FUNCTION(pwm3),
3139 	SH_PFC_FUNCTION(pwm4),
3140 
3141 	SH_PFC_FUNCTION(qspi0),
3142 	SH_PFC_FUNCTION(qspi1),
3143 
3144 	SH_PFC_FUNCTION(scif0),
3145 	SH_PFC_FUNCTION(scif1),
3146 	SH_PFC_FUNCTION(scif3),
3147 	SH_PFC_FUNCTION(scif4),
3148 	SH_PFC_FUNCTION(scif_clk),
3149 
3150 	SH_PFC_FUNCTION(tmu),
3151 
3152 	SH_PFC_FUNCTION(tpu),
3153 };
3154 
3155 static const struct pinmux_cfg_reg pinmux_config_regs[] = {
3156 #define F_(x, y)	FN_##y
3157 #define FM(x)		FN_##x
3158 	{ PINMUX_CFG_REG("GPSR0", 0xe6058040, 32, 1, GROUP(
3159 		0, 0,
3160 		0, 0,
3161 		0, 0,
3162 		0, 0,
3163 		GP_0_27_FN,	GPSR0_27,
3164 		GP_0_26_FN,	GPSR0_26,
3165 		GP_0_25_FN,	GPSR0_25,
3166 		GP_0_24_FN,	GPSR0_24,
3167 		GP_0_23_FN,	GPSR0_23,
3168 		GP_0_22_FN,	GPSR0_22,
3169 		GP_0_21_FN,	GPSR0_21,
3170 		GP_0_20_FN,	GPSR0_20,
3171 		GP_0_19_FN,	GPSR0_19,
3172 		GP_0_18_FN,	GPSR0_18,
3173 		GP_0_17_FN,	GPSR0_17,
3174 		GP_0_16_FN,	GPSR0_16,
3175 		GP_0_15_FN,	GPSR0_15,
3176 		GP_0_14_FN,	GPSR0_14,
3177 		GP_0_13_FN,	GPSR0_13,
3178 		GP_0_12_FN,	GPSR0_12,
3179 		GP_0_11_FN,	GPSR0_11,
3180 		GP_0_10_FN,	GPSR0_10,
3181 		GP_0_9_FN,	GPSR0_9,
3182 		GP_0_8_FN,	GPSR0_8,
3183 		GP_0_7_FN,	GPSR0_7,
3184 		GP_0_6_FN,	GPSR0_6,
3185 		GP_0_5_FN,	GPSR0_5,
3186 		GP_0_4_FN,	GPSR0_4,
3187 		GP_0_3_FN,	GPSR0_3,
3188 		GP_0_2_FN,	GPSR0_2,
3189 		GP_0_1_FN,	GPSR0_1,
3190 		GP_0_0_FN,	GPSR0_0, ))
3191 	},
3192 	{ PINMUX_CFG_REG("GPSR1", 0xe6050040, 32, 1, GROUP(
3193 		0, 0,
3194 		GP_1_30_FN,	GPSR1_30,
3195 		GP_1_29_FN,	GPSR1_29,
3196 		GP_1_28_FN,	GPSR1_28,
3197 		GP_1_27_FN,	GPSR1_27,
3198 		GP_1_26_FN,	GPSR1_26,
3199 		GP_1_25_FN,	GPSR1_25,
3200 		GP_1_24_FN,	GPSR1_24,
3201 		GP_1_23_FN,	GPSR1_23,
3202 		GP_1_22_FN,	GPSR1_22,
3203 		GP_1_21_FN,	GPSR1_21,
3204 		GP_1_20_FN,	GPSR1_20,
3205 		GP_1_19_FN,	GPSR1_19,
3206 		GP_1_18_FN,	GPSR1_18,
3207 		GP_1_17_FN,	GPSR1_17,
3208 		GP_1_16_FN,	GPSR1_16,
3209 		GP_1_15_FN,	GPSR1_15,
3210 		GP_1_14_FN,	GPSR1_14,
3211 		GP_1_13_FN,	GPSR1_13,
3212 		GP_1_12_FN,	GPSR1_12,
3213 		GP_1_11_FN,	GPSR1_11,
3214 		GP_1_10_FN,	GPSR1_10,
3215 		GP_1_9_FN,	GPSR1_9,
3216 		GP_1_8_FN,	GPSR1_8,
3217 		GP_1_7_FN,	GPSR1_7,
3218 		GP_1_6_FN,	GPSR1_6,
3219 		GP_1_5_FN,	GPSR1_5,
3220 		GP_1_4_FN,	GPSR1_4,
3221 		GP_1_3_FN,	GPSR1_3,
3222 		GP_1_2_FN,	GPSR1_2,
3223 		GP_1_1_FN,	GPSR1_1,
3224 		GP_1_0_FN,	GPSR1_0, ))
3225 	},
3226 	{ PINMUX_CFG_REG("GPSR2", 0xe6050840, 32, 1, GROUP(
3227 		0, 0,
3228 		0, 0,
3229 		0, 0,
3230 		0, 0,
3231 		0, 0,
3232 		0, 0,
3233 		0, 0,
3234 		GP_2_24_FN,	GPSR2_24,
3235 		GP_2_23_FN,	GPSR2_23,
3236 		GP_2_22_FN,	GPSR2_22,
3237 		GP_2_21_FN,	GPSR2_21,
3238 		GP_2_20_FN,	GPSR2_20,
3239 		GP_2_19_FN,	GPSR2_19,
3240 		GP_2_18_FN,	GPSR2_18,
3241 		GP_2_17_FN,	GPSR2_17,
3242 		GP_2_16_FN,	GPSR2_16,
3243 		GP_2_15_FN,	GPSR2_15,
3244 		GP_2_14_FN,	GPSR2_14,
3245 		GP_2_13_FN,	GPSR2_13,
3246 		GP_2_12_FN,	GPSR2_12,
3247 		GP_2_11_FN,	GPSR2_11,
3248 		GP_2_10_FN,	GPSR2_10,
3249 		GP_2_9_FN,	GPSR2_9,
3250 		GP_2_8_FN,	GPSR2_8,
3251 		GP_2_7_FN,	GPSR2_7,
3252 		GP_2_6_FN,	GPSR2_6,
3253 		GP_2_5_FN,	GPSR2_5,
3254 		GP_2_4_FN,	GPSR2_4,
3255 		GP_2_3_FN,	GPSR2_3,
3256 		GP_2_2_FN,	GPSR2_2,
3257 		GP_2_1_FN,	GPSR2_1,
3258 		GP_2_0_FN,	GPSR2_0, ))
3259 	},
3260 	{ PINMUX_CFG_REG("GPSR3", 0xe6058840, 32, 1, GROUP(
3261 		0, 0,
3262 		0, 0,
3263 		0, 0,
3264 		0, 0,
3265 		0, 0,
3266 		0, 0,
3267 		0, 0,
3268 		0, 0,
3269 		0, 0,
3270 		0, 0,
3271 		0, 0,
3272 		0, 0,
3273 		0, 0,
3274 		0, 0,
3275 		0, 0,
3276 		GP_3_16_FN,	GPSR3_16,
3277 		GP_3_15_FN,	GPSR3_15,
3278 		GP_3_14_FN,	GPSR3_14,
3279 		GP_3_13_FN,	GPSR3_13,
3280 		GP_3_12_FN,	GPSR3_12,
3281 		GP_3_11_FN,	GPSR3_11,
3282 		GP_3_10_FN,	GPSR3_10,
3283 		GP_3_9_FN,	GPSR3_9,
3284 		GP_3_8_FN,	GPSR3_8,
3285 		GP_3_7_FN,	GPSR3_7,
3286 		GP_3_6_FN,	GPSR3_6,
3287 		GP_3_5_FN,	GPSR3_5,
3288 		GP_3_4_FN,	GPSR3_4,
3289 		GP_3_3_FN,	GPSR3_3,
3290 		GP_3_2_FN,	GPSR3_2,
3291 		GP_3_1_FN,	GPSR3_1,
3292 		GP_3_0_FN,	GPSR3_0, ))
3293 	},
3294 	{ PINMUX_CFG_REG("GPSR4", 0xe6060040, 32, 1, GROUP(
3295 		0, 0,
3296 		0, 0,
3297 		0, 0,
3298 		0, 0,
3299 		0, 0,
3300 		GP_4_26_FN,	GPSR4_26,
3301 		GP_4_25_FN,	GPSR4_25,
3302 		GP_4_24_FN,	GPSR4_24,
3303 		GP_4_23_FN,	GPSR4_23,
3304 		GP_4_22_FN,	GPSR4_22,
3305 		GP_4_21_FN,	GPSR4_21,
3306 		GP_4_20_FN,	GPSR4_20,
3307 		GP_4_19_FN,	GPSR4_19,
3308 		GP_4_18_FN,	GPSR4_18,
3309 		GP_4_17_FN,	GPSR4_17,
3310 		GP_4_16_FN,	GPSR4_16,
3311 		GP_4_15_FN,	GPSR4_15,
3312 		GP_4_14_FN,	GPSR4_14,
3313 		GP_4_13_FN,	GPSR4_13,
3314 		GP_4_12_FN,	GPSR4_12,
3315 		GP_4_11_FN,	GPSR4_11,
3316 		GP_4_10_FN,	GPSR4_10,
3317 		GP_4_9_FN,	GPSR4_9,
3318 		GP_4_8_FN,	GPSR4_8,
3319 		GP_4_7_FN,	GPSR4_7,
3320 		GP_4_6_FN,	GPSR4_6,
3321 		GP_4_5_FN,	GPSR4_5,
3322 		GP_4_4_FN,	GPSR4_4,
3323 		GP_4_3_FN,	GPSR4_3,
3324 		GP_4_2_FN,	GPSR4_2,
3325 		GP_4_1_FN,	GPSR4_1,
3326 		GP_4_0_FN,	GPSR4_0, ))
3327 	},
3328 	{ PINMUX_CFG_REG("GPSR5", 0xe6060840, 32, 1, GROUP(
3329 		0, 0,
3330 		0, 0,
3331 		0, 0,
3332 		0, 0,
3333 		0, 0,
3334 		0, 0,
3335 		0, 0,
3336 		0, 0,
3337 		0, 0,
3338 		0, 0,
3339 		0, 0,
3340 		GP_5_20_FN,	GPSR5_20,
3341 		GP_5_19_FN,	GPSR5_19,
3342 		GP_5_18_FN,	GPSR5_18,
3343 		GP_5_17_FN,	GPSR5_17,
3344 		GP_5_16_FN,	GPSR5_16,
3345 		GP_5_15_FN,	GPSR5_15,
3346 		GP_5_14_FN,	GPSR5_14,
3347 		GP_5_13_FN,	GPSR5_13,
3348 		GP_5_12_FN,	GPSR5_12,
3349 		GP_5_11_FN,	GPSR5_11,
3350 		GP_5_10_FN,	GPSR5_10,
3351 		GP_5_9_FN,	GPSR5_9,
3352 		GP_5_8_FN,	GPSR5_8,
3353 		GP_5_7_FN,	GPSR5_7,
3354 		GP_5_6_FN,	GPSR5_6,
3355 		GP_5_5_FN,	GPSR5_5,
3356 		GP_5_4_FN,	GPSR5_4,
3357 		GP_5_3_FN,	GPSR5_3,
3358 		GP_5_2_FN,	GPSR5_2,
3359 		GP_5_1_FN,	GPSR5_1,
3360 		GP_5_0_FN,	GPSR5_0, ))
3361 	},
3362 	{ PINMUX_CFG_REG("GPSR6", 0xe6068040, 32, 1, GROUP(
3363 		0, 0,
3364 		0, 0,
3365 		0, 0,
3366 		0, 0,
3367 		0, 0,
3368 		0, 0,
3369 		0, 0,
3370 		0, 0,
3371 		0, 0,
3372 		0, 0,
3373 		0, 0,
3374 		GP_6_20_FN,	GPSR6_20,
3375 		GP_6_19_FN,	GPSR6_19,
3376 		GP_6_18_FN,	GPSR6_18,
3377 		GP_6_17_FN,	GPSR6_17,
3378 		GP_6_16_FN,	GPSR6_16,
3379 		GP_6_15_FN,	GPSR6_15,
3380 		GP_6_14_FN,	GPSR6_14,
3381 		GP_6_13_FN,	GPSR6_13,
3382 		GP_6_12_FN,	GPSR6_12,
3383 		GP_6_11_FN,	GPSR6_11,
3384 		GP_6_10_FN,	GPSR6_10,
3385 		GP_6_9_FN,	GPSR6_9,
3386 		GP_6_8_FN,	GPSR6_8,
3387 		GP_6_7_FN,	GPSR6_7,
3388 		GP_6_6_FN,	GPSR6_6,
3389 		GP_6_5_FN,	GPSR6_5,
3390 		GP_6_4_FN,	GPSR6_4,
3391 		GP_6_3_FN,	GPSR6_3,
3392 		GP_6_2_FN,	GPSR6_2,
3393 		GP_6_1_FN,	GPSR6_1,
3394 		GP_6_0_FN,	GPSR6_0, ))
3395 	},
3396 	{ PINMUX_CFG_REG("GPSR7", 0xe6068840, 32, 1, GROUP(
3397 		0, 0,
3398 		0, 0,
3399 		0, 0,
3400 		0, 0,
3401 		0, 0,
3402 		0, 0,
3403 		0, 0,
3404 		0, 0,
3405 		0, 0,
3406 		0, 0,
3407 		0, 0,
3408 		GP_7_20_FN,	GPSR7_20,
3409 		GP_7_19_FN,	GPSR7_19,
3410 		GP_7_18_FN,	GPSR7_18,
3411 		GP_7_17_FN,	GPSR7_17,
3412 		GP_7_16_FN,	GPSR7_16,
3413 		GP_7_15_FN,	GPSR7_15,
3414 		GP_7_14_FN,	GPSR7_14,
3415 		GP_7_13_FN,	GPSR7_13,
3416 		GP_7_12_FN,	GPSR7_12,
3417 		GP_7_11_FN,	GPSR7_11,
3418 		GP_7_10_FN,	GPSR7_10,
3419 		GP_7_9_FN,	GPSR7_9,
3420 		GP_7_8_FN,	GPSR7_8,
3421 		GP_7_7_FN,	GPSR7_7,
3422 		GP_7_6_FN,	GPSR7_6,
3423 		GP_7_5_FN,	GPSR7_5,
3424 		GP_7_4_FN,	GPSR7_4,
3425 		GP_7_3_FN,	GPSR7_3,
3426 		GP_7_2_FN,	GPSR7_2,
3427 		GP_7_1_FN,	GPSR7_1,
3428 		GP_7_0_FN,	GPSR7_0, ))
3429 	},
3430 	{ PINMUX_CFG_REG("GPSR8", 0xe6069040, 32, 1, GROUP(
3431 		0, 0,
3432 		0, 0,
3433 		0, 0,
3434 		0, 0,
3435 		0, 0,
3436 		0, 0,
3437 		0, 0,
3438 		0, 0,
3439 		0, 0,
3440 		0, 0,
3441 		0, 0,
3442 		GP_8_20_FN,	GPSR8_20,
3443 		GP_8_19_FN,	GPSR8_19,
3444 		GP_8_18_FN,	GPSR8_18,
3445 		GP_8_17_FN,	GPSR8_17,
3446 		GP_8_16_FN,	GPSR8_16,
3447 		GP_8_15_FN,	GPSR8_15,
3448 		GP_8_14_FN,	GPSR8_14,
3449 		GP_8_13_FN,	GPSR8_13,
3450 		GP_8_12_FN,	GPSR8_12,
3451 		GP_8_11_FN,	GPSR8_11,
3452 		GP_8_10_FN,	GPSR8_10,
3453 		GP_8_9_FN,	GPSR8_9,
3454 		GP_8_8_FN,	GPSR8_8,
3455 		GP_8_7_FN,	GPSR8_7,
3456 		GP_8_6_FN,	GPSR8_6,
3457 		GP_8_5_FN,	GPSR8_5,
3458 		GP_8_4_FN,	GPSR8_4,
3459 		GP_8_3_FN,	GPSR8_3,
3460 		GP_8_2_FN,	GPSR8_2,
3461 		GP_8_1_FN,	GPSR8_1,
3462 		GP_8_0_FN,	GPSR8_0, ))
3463 	},
3464 	{ PINMUX_CFG_REG("GPSR9", 0xe6069840, 32, 1, GROUP(
3465 		0, 0,
3466 		0, 0,
3467 		0, 0,
3468 		0, 0,
3469 		0, 0,
3470 		0, 0,
3471 		0, 0,
3472 		0, 0,
3473 		0, 0,
3474 		0, 0,
3475 		0, 0,
3476 		GP_9_20_FN,	GPSR9_20,
3477 		GP_9_19_FN,	GPSR9_19,
3478 		GP_9_18_FN,	GPSR9_18,
3479 		GP_9_17_FN,	GPSR9_17,
3480 		GP_9_16_FN,	GPSR9_16,
3481 		GP_9_15_FN,	GPSR9_15,
3482 		GP_9_14_FN,	GPSR9_14,
3483 		GP_9_13_FN,	GPSR9_13,
3484 		GP_9_12_FN,	GPSR9_12,
3485 		GP_9_11_FN,	GPSR9_11,
3486 		GP_9_10_FN,	GPSR9_10,
3487 		GP_9_9_FN,	GPSR9_9,
3488 		GP_9_8_FN,	GPSR9_8,
3489 		GP_9_7_FN,	GPSR9_7,
3490 		GP_9_6_FN,	GPSR9_6,
3491 		GP_9_5_FN,	GPSR9_5,
3492 		GP_9_4_FN,	GPSR9_4,
3493 		GP_9_3_FN,	GPSR9_3,
3494 		GP_9_2_FN,	GPSR9_2,
3495 		GP_9_1_FN,	GPSR9_1,
3496 		GP_9_0_FN,	GPSR9_0, ))
3497 	},
3498 #undef F_
3499 #undef FM
3500 
3501 #define F_(x, y)	x,
3502 #define FM(x)		FN_##x,
3503 	{ PINMUX_CFG_REG("IP0SR1", 0xe6050060, 32, 4, GROUP(
3504 		IP0SR1_31_28
3505 		IP0SR1_27_24
3506 		IP0SR1_23_20
3507 		IP0SR1_19_16
3508 		IP0SR1_15_12
3509 		IP0SR1_11_8
3510 		IP0SR1_7_4
3511 		IP0SR1_3_0))
3512 	},
3513 	{ PINMUX_CFG_REG("IP1SR1", 0xe6050064, 32, 4, GROUP(
3514 		IP1SR1_31_28
3515 		IP1SR1_27_24
3516 		IP1SR1_23_20
3517 		IP1SR1_19_16
3518 		IP1SR1_15_12
3519 		IP1SR1_11_8
3520 		IP1SR1_7_4
3521 		IP1SR1_3_0))
3522 	},
3523 	{ PINMUX_CFG_REG("IP2SR1", 0xe6050068, 32, 4, GROUP(
3524 		IP2SR1_31_28
3525 		IP2SR1_27_24
3526 		IP2SR1_23_20
3527 		IP2SR1_19_16
3528 		IP2SR1_15_12
3529 		IP2SR1_11_8
3530 		IP2SR1_7_4
3531 		IP2SR1_3_0))
3532 	},
3533 	{ PINMUX_CFG_REG("IP3SR1", 0xe605006c, 32, 4, GROUP(
3534 		IP3SR1_31_28
3535 		IP3SR1_27_24
3536 		IP3SR1_23_20
3537 		IP3SR1_19_16
3538 		IP3SR1_15_12
3539 		IP3SR1_11_8
3540 		IP3SR1_7_4
3541 		IP3SR1_3_0))
3542 	},
3543 	{ PINMUX_CFG_REG("IP0SR2", 0xe6050860, 32, 4, GROUP(
3544 		IP0SR2_31_28
3545 		IP0SR2_27_24
3546 		IP0SR2_23_20
3547 		IP0SR2_19_16
3548 		IP0SR2_15_12
3549 		IP0SR2_11_8
3550 		IP0SR2_7_4
3551 		IP0SR2_3_0))
3552 	},
3553 	{ PINMUX_CFG_REG("IP1SR2", 0xe6050864, 32, 4, GROUP(
3554 		IP1SR2_31_28
3555 		IP1SR2_27_24
3556 		IP1SR2_23_20
3557 		IP1SR2_19_16
3558 		IP1SR2_15_12
3559 		IP1SR2_11_8
3560 		IP1SR2_7_4
3561 		IP1SR2_3_0))
3562 	},
3563 	{ PINMUX_CFG_REG("IP2SR2", 0xe6050868, 32, 4, GROUP(
3564 		IP2SR2_31_28
3565 		IP2SR2_27_24
3566 		IP2SR2_23_20
3567 		IP2SR2_19_16
3568 		IP2SR2_15_12
3569 		IP2SR2_11_8
3570 		IP2SR2_7_4
3571 		IP2SR2_3_0))
3572 	},
3573 	{ PINMUX_CFG_REG("IP0SR3", 0xe6058860, 32, 4, GROUP(
3574 		IP0SR3_31_28
3575 		IP0SR3_27_24
3576 		IP0SR3_23_20
3577 		IP0SR3_19_16
3578 		IP0SR3_15_12
3579 		IP0SR3_11_8
3580 		IP0SR3_7_4
3581 		IP0SR3_3_0))
3582 	},
3583 	{ PINMUX_CFG_REG("IP1SR3", 0xe6058864, 32, 4, GROUP(
3584 		IP1SR3_31_28
3585 		IP1SR3_27_24
3586 		IP1SR3_23_20
3587 		IP1SR3_19_16
3588 		IP1SR3_15_12
3589 		IP1SR3_11_8
3590 		IP1SR3_7_4
3591 		IP1SR3_3_0))
3592 	},
3593 	{ PINMUX_CFG_REG("IP0SR4", 0xe6060060, 32, 4, GROUP(
3594 		IP0SR4_31_28
3595 		IP0SR4_27_24
3596 		IP0SR4_23_20
3597 		IP0SR4_19_16
3598 		IP0SR4_15_12
3599 		IP0SR4_11_8
3600 		IP0SR4_7_4
3601 		IP0SR4_3_0))
3602 	},
3603 	{ PINMUX_CFG_REG("IP1SR4", 0xe6060064, 32, 4, GROUP(
3604 		IP1SR4_31_28
3605 		IP1SR4_27_24
3606 		IP1SR4_23_20
3607 		IP1SR4_19_16
3608 		IP1SR4_15_12
3609 		IP1SR4_11_8
3610 		IP1SR4_7_4
3611 		IP1SR4_3_0))
3612 	},
3613 	{ PINMUX_CFG_REG("IP2SR4", 0xe6060068, 32, 4, GROUP(
3614 		IP2SR4_31_28
3615 		IP2SR4_27_24
3616 		IP2SR4_23_20
3617 		IP2SR4_19_16
3618 		IP2SR4_15_12
3619 		IP2SR4_11_8
3620 		IP2SR4_7_4
3621 		IP2SR4_3_0))
3622 	},
3623 	{ PINMUX_CFG_REG("IP0SR5", 0xe6060860, 32, 4, GROUP(
3624 		IP0SR5_31_28
3625 		IP0SR5_27_24
3626 		IP0SR5_23_20
3627 		IP0SR5_19_16
3628 		IP0SR5_15_12
3629 		IP0SR5_11_8
3630 		IP0SR5_7_4
3631 		IP0SR5_3_0))
3632 	},
3633 	{ PINMUX_CFG_REG("IP1SR5", 0xe6060864, 32, 4, GROUP(
3634 		IP1SR5_31_28
3635 		IP1SR5_27_24
3636 		IP1SR5_23_20
3637 		IP1SR5_19_16
3638 		IP1SR5_15_12
3639 		IP1SR5_11_8
3640 		IP1SR5_7_4
3641 		IP1SR5_3_0))
3642 	},
3643 	{ PINMUX_CFG_REG("IP2SR5", 0xe6060868, 32, 4, GROUP(
3644 		IP2SR5_31_28
3645 		IP2SR5_27_24
3646 		IP2SR5_23_20
3647 		IP2SR5_19_16
3648 		IP2SR5_15_12
3649 		IP2SR5_11_8
3650 		IP2SR5_7_4
3651 		IP2SR5_3_0))
3652 	},
3653 #undef F_
3654 #undef FM
3655 
3656 #define F_(x, y)	x,
3657 #define FM(x)		FN_##x,
3658 	{ PINMUX_CFG_REG_VAR("MOD_SEL2", 0xe6050900, 32,
3659 			     GROUP(4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 1, 1),
3660 			     GROUP(
3661 		/* RESERVED 31, 30, 29, 28 */
3662 		0, 0, 0, 0, 0, 0, 0, 0,	0, 0, 0, 0, 0, 0, 0, 0,
3663 		/* RESERVED 27, 26, 25, 24 */
3664 		0, 0, 0, 0, 0, 0, 0, 0,	0, 0, 0, 0, 0, 0, 0, 0,
3665 		/* RESERVED 23, 22, 21, 20 */
3666 		0, 0, 0, 0, 0, 0, 0, 0,	0, 0, 0, 0, 0, 0, 0, 0,
3667 		/* RESERVED 19, 18, 17, 16 */
3668 		0, 0, 0, 0, 0, 0, 0, 0,	0, 0, 0, 0, 0, 0, 0, 0,
3669 		MOD_SEL2_15_14
3670 		MOD_SEL2_13_12
3671 		MOD_SEL2_11_10
3672 		MOD_SEL2_9_8
3673 		MOD_SEL2_7_6
3674 		MOD_SEL2_5_4
3675 		MOD_SEL2_3_2
3676 		0, 0,
3677 		0, 0, ))
3678 	},
3679 	{ },
3680 };
3681 
3682 static const struct pinmux_drive_reg pinmux_drive_regs[] = {
3683 	{ PINMUX_DRIVE_REG("DRV0CTRL0", 0xe6058080) {
3684 		{ RCAR_GP_PIN(0,  7), 28, 2 },	/* QSPI1_MOSI_IO0 */
3685 		{ RCAR_GP_PIN(0,  6), 24, 2 },	/* QSPI1_SPCLK */
3686 		{ RCAR_GP_PIN(0,  5), 20, 2 },	/* QSPI0_SSL */
3687 		{ RCAR_GP_PIN(0,  4), 16, 2 },	/* QSPI0_IO3 */
3688 		{ RCAR_GP_PIN(0,  3), 12, 2 },	/* QSPI0_IO2 */
3689 		{ RCAR_GP_PIN(0,  2),  8, 2 },	/* QSPI0_MISO_IO1 */
3690 		{ RCAR_GP_PIN(0,  1),  4, 2 },	/* QSPI0_MOSI_IO0 */
3691 		{ RCAR_GP_PIN(0,  0),  0, 2 },	/* QSPI0_SPCLK */
3692 	} },
3693 	{ PINMUX_DRIVE_REG("DRV1CTRL0", 0xe6058084) {
3694 		{ RCAR_GP_PIN(0, 15), 28, 3 },	/* SD_WP */
3695 		{ RCAR_GP_PIN(0, 14), 24, 2 },	/* RPC_INT_N */
3696 		{ RCAR_GP_PIN(0, 13), 20, 2 },	/* RPC_WP_N */
3697 		{ RCAR_GP_PIN(0, 12), 16, 2 },	/* RPC_RESET_N */
3698 		{ RCAR_GP_PIN(0, 11), 12, 2 },	/* QSPI1_SSL */
3699 		{ RCAR_GP_PIN(0, 10),  8, 2 },	/* QSPI1_IO3 */
3700 		{ RCAR_GP_PIN(0,  9),  4, 2 },	/* QSPI1_IO2 */
3701 		{ RCAR_GP_PIN(0,  8),  0, 2 },	/* QSPI1_MISO_IO1 */
3702 	} },
3703 	{ PINMUX_DRIVE_REG("DRV2CTRL0", 0xe6058088) {
3704 		{ RCAR_GP_PIN(0, 23), 28, 3 },	/* MMC_SD_CLK */
3705 		{ RCAR_GP_PIN(0, 22), 24, 3 },	/* MMC_SD_D3 */
3706 		{ RCAR_GP_PIN(0, 21), 20, 3 },	/* MMC_SD_D2 */
3707 		{ RCAR_GP_PIN(0, 20), 16, 3 },	/* MMC_SD_D1 */
3708 		{ RCAR_GP_PIN(0, 19), 12, 3 },	/* MMC_SD_D0 */
3709 		{ RCAR_GP_PIN(0, 18),  8, 3 },	/* MMC_SD_CMD */
3710 		{ RCAR_GP_PIN(0, 17),  4, 3 },	/* MMC_DS */
3711 		{ RCAR_GP_PIN(0, 16),  0, 3 },	/* SD_CD */
3712 	} },
3713 	{ PINMUX_DRIVE_REG("DRV3CTRL0", 0xe605808c) {
3714 		{ RCAR_GP_PIN(0, 27), 12, 3 },	/* MMC_D7 */
3715 		{ RCAR_GP_PIN(0, 26),  8, 3 },	/* MMC_D6 */
3716 		{ RCAR_GP_PIN(0, 25),  4, 3 },	/* MMC_D5 */
3717 		{ RCAR_GP_PIN(0, 24),  0, 3 },	/* MMC_D4 */
3718 	} },
3719 	{ PINMUX_DRIVE_REG("DRV0CTRL1", 0xe6050080) {
3720 		{ RCAR_GP_PIN(1,  7), 28, 3 },	/* MSIOF0_TXD */
3721 		{ RCAR_GP_PIN(1,  6), 24, 3 },	/* MSIOF0_RXD */
3722 		{ RCAR_GP_PIN(1,  5), 20, 3 },	/* HTX0 */
3723 		{ RCAR_GP_PIN(1,  4), 16, 3 },	/* HCTS0_N */
3724 		{ RCAR_GP_PIN(1,  3), 12, 3 },	/* HRTS0_N */
3725 		{ RCAR_GP_PIN(1,  2),  8, 3 },	/* HSCK0 */
3726 		{ RCAR_GP_PIN(1,  1),  4, 3 },	/* HRX0 */
3727 		{ RCAR_GP_PIN(1,  0),  0, 3 },	/* SCIF_CLK */
3728 	} },
3729 	{ PINMUX_DRIVE_REG("DRV1CTRL1", 0xe6050084) {
3730 		{ RCAR_GP_PIN(1, 15), 28, 3 },	/* MSIOF1_SYNC */
3731 		{ RCAR_GP_PIN(1, 14), 24, 3 },	/* MSIOF1_SCK */
3732 		{ RCAR_GP_PIN(1, 13), 20, 3 },	/* MSIOF1_TXD */
3733 		{ RCAR_GP_PIN(1, 12), 16, 3 },	/* MSIOF1_RXD */
3734 		{ RCAR_GP_PIN(1, 11), 12, 3 },	/* MSIOF0_SS2 */
3735 		{ RCAR_GP_PIN(1, 10),  8, 3 },	/* MSIOF0_SS1 */
3736 		{ RCAR_GP_PIN(1,  9),  4, 3 },	/* MSIOF0_SYNC */
3737 		{ RCAR_GP_PIN(1,  8),  0, 3 },	/* MSIOF0_SCK */
3738 	} },
3739 	{ PINMUX_DRIVE_REG("DRV2CTRL1", 0xe6050088) {
3740 		{ RCAR_GP_PIN(1, 23), 28, 3 },	/* MSIOF2_SS2 */
3741 		{ RCAR_GP_PIN(1, 22), 24, 3 },	/* MSIOF2_SS1 */
3742 		{ RCAR_GP_PIN(1, 21), 20, 3 },	/* MSIOF2_SYNC */
3743 		{ RCAR_GP_PIN(1, 20), 16, 3 },	/* MSIOF2_SCK */
3744 		{ RCAR_GP_PIN(1, 19), 12, 3 },	/* MSIOF2_TXD */
3745 		{ RCAR_GP_PIN(1, 18),  8, 3 },	/* MSIOF2_RXD */
3746 		{ RCAR_GP_PIN(1, 17),  4, 3 },	/* MSIOF1_SS2 */
3747 		{ RCAR_GP_PIN(1, 16),  0, 3 },	/* MSIOF1_SS1 */
3748 	} },
3749 	{ PINMUX_DRIVE_REG("DRV3CTRL1", 0xe605008c) {
3750 		{ RCAR_GP_PIN(1, 30), 24, 3 },	/* GP1_30 */
3751 		{ RCAR_GP_PIN(1, 29), 20, 3 },	/* GP1_29 */
3752 		{ RCAR_GP_PIN(1, 28), 16, 3 },	/* GP1_28 */
3753 		{ RCAR_GP_PIN(1, 27), 12, 3 },	/* IRQ3 */
3754 		{ RCAR_GP_PIN(1, 26),  8, 3 },	/* IRQ2 */
3755 		{ RCAR_GP_PIN(1, 25),  4, 3 },	/* IRQ1 */
3756 		{ RCAR_GP_PIN(1, 24),  0, 3 },	/* IRQ0 */
3757 	} },
3758 	{ PINMUX_DRIVE_REG("DRV0CTRL2", 0xe6050880) {
3759 		{ RCAR_GP_PIN(2,  7), 28, 3 },	/* GP2_07 */
3760 		{ RCAR_GP_PIN(2,  6), 24, 3 },	/* GP2_06 */
3761 		{ RCAR_GP_PIN(2,  5), 20, 3 },	/* GP2_05 */
3762 		{ RCAR_GP_PIN(2,  4), 16, 3 },	/* GP2_04 */
3763 		{ RCAR_GP_PIN(2,  3), 12, 3 },	/* GP2_03 */
3764 		{ RCAR_GP_PIN(2,  2),  8, 3 },	/* GP2_02 */
3765 		{ RCAR_GP_PIN(2,  1),  4, 2 },	/* IPC_CLKOUT */
3766 		{ RCAR_GP_PIN(2,  0),  0, 2 },	/* IPC_CLKIN */
3767 	} },
3768 	{ PINMUX_DRIVE_REG("DRV1CTRL2", 0xe6050884) {
3769 		{ RCAR_GP_PIN(2, 15), 28, 3 },	/* GP2_15 */
3770 		{ RCAR_GP_PIN(2, 14), 24, 3 },	/* GP2_14 */
3771 		{ RCAR_GP_PIN(2, 13), 20, 3 },	/* GP2_13 */
3772 		{ RCAR_GP_PIN(2, 12), 16, 3 },	/* GP2_12 */
3773 		{ RCAR_GP_PIN(2, 11), 12, 3 },	/* GP2_11 */
3774 		{ RCAR_GP_PIN(2, 10),  8, 3 },	/* GP2_10 */
3775 		{ RCAR_GP_PIN(2,  9),  4, 3 },	/* GP2_9 */
3776 		{ RCAR_GP_PIN(2,  8),  0, 3 },	/* GP2_8 */
3777 	} },
3778 	{ PINMUX_DRIVE_REG("DRV2CTRL2", 0xe6050888) {
3779 		{ RCAR_GP_PIN(2, 23), 28, 3 },	/* TCLK1_A */
3780 		{ RCAR_GP_PIN(2, 22), 24, 3 },	/* TPU0TO1 */
3781 		{ RCAR_GP_PIN(2, 21), 20, 3 },	/* TPU0TO0 */
3782 		{ RCAR_GP_PIN(2, 20), 16, 3 },	/* CLK_EXTFXR */
3783 		{ RCAR_GP_PIN(2, 19), 12, 3 },	/* RXDB_EXTFXR */
3784 		{ RCAR_GP_PIN(2, 18),  8, 3 },	/* FXR_TXDB */
3785 		{ RCAR_GP_PIN(2, 17),  4, 3 },	/* RXDA_EXTFXR_A */
3786 		{ RCAR_GP_PIN(2, 16),  0, 3 },	/* FXR_TXDA_A */
3787 	} },
3788 	{ PINMUX_DRIVE_REG("DRV3CTRL2", 0xe605088c) {
3789 		{ RCAR_GP_PIN(2, 24), 0, 3 },	/* TCLK2_A */
3790 	} },
3791 	{ PINMUX_DRIVE_REG("DRV0CTRL3", 0xe6058880) {
3792 		{ RCAR_GP_PIN(3,  7), 28, 3 },	/* CANFD3_TX */
3793 		{ RCAR_GP_PIN(3,  6), 24, 3 },	/* CANFD2_RX */
3794 		{ RCAR_GP_PIN(3,  5), 20, 3 },	/* CANFD2_TX */
3795 		{ RCAR_GP_PIN(3,  4), 16, 3 },	/* CANFD1_RX */
3796 		{ RCAR_GP_PIN(3,  3), 12, 3 },	/* CANFD1_TX */
3797 		{ RCAR_GP_PIN(3,  2),  8, 3 },	/* CANFD0_RX */
3798 		{ RCAR_GP_PIN(3,  1),  4, 2 },	/* CANFD0_TX */
3799 		{ RCAR_GP_PIN(3,  0),  0, 2 },	/* CAN_CLK */
3800 	} },
3801 	{ PINMUX_DRIVE_REG("DRV1CTRL3", 0xe6058884) {
3802 		{ RCAR_GP_PIN(3, 15), 28, 3 },	/* CANFD7_TX */
3803 		{ RCAR_GP_PIN(3, 14), 24, 3 },	/* CANFD6_RX */
3804 		{ RCAR_GP_PIN(3, 13), 20, 3 },	/* CANFD6_TX */
3805 		{ RCAR_GP_PIN(3, 12), 16, 3 },	/* CANFD5_RX */
3806 		{ RCAR_GP_PIN(3, 11), 12, 3 },	/* CANFD5_TX */
3807 		{ RCAR_GP_PIN(3, 10),  8, 3 },	/* CANFD4_RX */
3808 		{ RCAR_GP_PIN(3,  9),  4, 3 },	/* CANFD4_TX */
3809 		{ RCAR_GP_PIN(3,  8),  0, 3 },	/* CANFD3_RX */
3810 	} },
3811 	{ PINMUX_DRIVE_REG("DRV2CTRL3", 0xe6058888) {
3812 		{ RCAR_GP_PIN(3,  16),  0, 3 },	/* CANFD7_RX */
3813 	} },
3814 	{ PINMUX_DRIVE_REG("DRV0CTRL4", 0xe6060080) {
3815 		{ RCAR_GP_PIN(4,  7), 28, 3 },	/* AVB0_TXC */
3816 		{ RCAR_GP_PIN(4,  6), 24, 3 },	/* AVB0_TX_CTL */
3817 		{ RCAR_GP_PIN(4,  5), 20, 3 },	/* AVB0_RD3 */
3818 		{ RCAR_GP_PIN(4,  4), 16, 3 },	/* AVB0_RD2 */
3819 		{ RCAR_GP_PIN(4,  3), 12, 3 },	/* AVB0_RD1 */
3820 		{ RCAR_GP_PIN(4,  2),  8, 3 },	/* AVB0_RD0 */
3821 		{ RCAR_GP_PIN(4,  1),  4, 3 },	/* AVB0_RXC */
3822 		{ RCAR_GP_PIN(4,  0),  0, 3 },	/* AVB0_RX_CTL */
3823 	} },
3824 	{ PINMUX_DRIVE_REG("DRV1CTRL4", 0xe6060084) {
3825 		{ RCAR_GP_PIN(4, 15), 28, 3 },	/* AVB0_MAGIC */
3826 		{ RCAR_GP_PIN(4, 14), 24, 3 },	/* AVB0_MDC */
3827 		{ RCAR_GP_PIN(4, 13), 20, 3 },	/* AVB0_MDIO */
3828 		{ RCAR_GP_PIN(4, 12), 16, 3 },	/* AVB0_TXCREFCLK */
3829 		{ RCAR_GP_PIN(4, 11), 12, 3 },	/* AVB0_TD3 */
3830 		{ RCAR_GP_PIN(4, 10),  8, 3 },	/* AVB0_TD2 */
3831 		{ RCAR_GP_PIN(4,  9),  4, 3 },	/* AVB0_TD1*/
3832 		{ RCAR_GP_PIN(4,  8),  0, 3 },	/* AVB0_TD0 */
3833 	} },
3834 	{ PINMUX_DRIVE_REG("DRV2CTRL4", 0xe6060088) {
3835 		{ RCAR_GP_PIN(4, 23), 28, 3 },	/* PCIE2_CLKREQ_N */
3836 		{ RCAR_GP_PIN(4, 22), 24, 3 },	/* PCIE1_CLKREQ_N */
3837 		{ RCAR_GP_PIN(4, 21), 20, 3 },	/* PCIE0_CLKREQ_N */
3838 		{ RCAR_GP_PIN(4, 20), 16, 3 },	/* AVB0_AVTP_PPS */
3839 		{ RCAR_GP_PIN(4, 19), 12, 3 },	/* AVB0_AVTP_CAPTURE */
3840 		{ RCAR_GP_PIN(4, 18),  8, 3 },	/* AVB0_AVTP_MATCH */
3841 		{ RCAR_GP_PIN(4, 17),  4, 3 },	/* AVB0_LINK */
3842 		{ RCAR_GP_PIN(4, 16),  0, 3 },	/* AVB0_PHY_INT */
3843 	} },
3844 	{ PINMUX_DRIVE_REG("DRV3CTRL4", 0xe606008c) {
3845 		{ RCAR_GP_PIN(4, 26),  8, 3 },	/* AVS1 */
3846 		{ RCAR_GP_PIN(4, 25),  4, 3 },	/* AVS0 */
3847 		{ RCAR_GP_PIN(4, 24),  0, 3 },	/* PCIE3_CLKREQ_N */
3848 	} },
3849 	{ PINMUX_DRIVE_REG("DRV0CTRL5", 0xe6060880) {
3850 		{ RCAR_GP_PIN(5,  7), 28, 3 },	/* AVB1_TXC */
3851 		{ RCAR_GP_PIN(5,  6), 24, 3 },	/* AVB1_TX_CTL */
3852 		{ RCAR_GP_PIN(5,  5), 20, 3 },	/* AVB1_RD3 */
3853 		{ RCAR_GP_PIN(5,  4), 16, 3 },	/* AVB1_RD2 */
3854 		{ RCAR_GP_PIN(5,  3), 12, 3 },	/* AVB1_RD1 */
3855 		{ RCAR_GP_PIN(5,  2),  8, 3 },	/* AVB1_RD0 */
3856 		{ RCAR_GP_PIN(5,  1),  4, 3 },	/* AVB1_RXC */
3857 		{ RCAR_GP_PIN(5,  0),  0, 3 },	/* AVB1_RX_CTL */
3858 	} },
3859 	{ PINMUX_DRIVE_REG("DRV1CTRL5", 0xe6060884) {
3860 		{ RCAR_GP_PIN(5, 15), 28, 3 },	/* AVB1_MAGIC */
3861 		{ RCAR_GP_PIN(5, 14), 24, 3 },	/* AVB1_MDC */
3862 		{ RCAR_GP_PIN(5, 13), 20, 3 },	/* AVB1_MDIO */
3863 		{ RCAR_GP_PIN(5, 12), 16, 3 },	/* AVB1_TXCREFCLK */
3864 		{ RCAR_GP_PIN(5, 11), 12, 3 },	/* AVB1_TD3 */
3865 		{ RCAR_GP_PIN(5, 10),  8, 3 },	/* AVB1_TD2 */
3866 		{ RCAR_GP_PIN(5,  9),  4, 3 },	/* AVB1_TD1*/
3867 		{ RCAR_GP_PIN(5,  8),  0, 3 },	/* AVB1_TD0 */
3868 	} },
3869 	{ PINMUX_DRIVE_REG("DRV2CTRL5", 0xe6060888) {
3870 		{ RCAR_GP_PIN(5, 20), 16, 3 },	/* AVB1_AVTP_PPS */
3871 		{ RCAR_GP_PIN(5, 19), 12, 3 },	/* AVB1_AVTP_CAPTURE */
3872 		{ RCAR_GP_PIN(5, 18),  8, 3 },	/* AVB1_AVTP_MATCH */
3873 		{ RCAR_GP_PIN(5, 17),  4, 3 },	/* AVB1_LINK */
3874 		{ RCAR_GP_PIN(5, 16),  0, 3 },	/* AVB1_PHY_INT */
3875 	} },
3876 	{ PINMUX_DRIVE_REG("DRV0CTRL6", 0xe6068080) {
3877 		{ RCAR_GP_PIN(6,  7), 28, 3 },	/* AVB2_TXC */
3878 		{ RCAR_GP_PIN(6,  6), 24, 3 },	/* AVB2_TX_CTL */
3879 		{ RCAR_GP_PIN(6,  5), 20, 3 },	/* AVB2_RD3 */
3880 		{ RCAR_GP_PIN(6,  4), 16, 3 },	/* AVB2_RD2 */
3881 		{ RCAR_GP_PIN(6,  3), 12, 3 },	/* AVB2_RD1 */
3882 		{ RCAR_GP_PIN(6,  2),  8, 3 },	/* AVB2_RD0 */
3883 		{ RCAR_GP_PIN(6,  1),  4, 3 },	/* AVB2_RXC */
3884 		{ RCAR_GP_PIN(6,  0),  0, 3 },	/* AVB2_RX_CTL */
3885 	} },
3886 	{ PINMUX_DRIVE_REG("DRV1CTRL6", 0xe6068084) {
3887 		{ RCAR_GP_PIN(6, 15), 28, 3 },	/* AVB2_MAGIC */
3888 		{ RCAR_GP_PIN(6, 14), 24, 3 },	/* AVB2_MDC */
3889 		{ RCAR_GP_PIN(6, 13), 20, 3 },	/* AVB2_MDIO */
3890 		{ RCAR_GP_PIN(6, 12), 16, 3 },	/* AVB2_TXCREFCLK */
3891 		{ RCAR_GP_PIN(6, 11), 12, 3 },	/* AVB2_TD3 */
3892 		{ RCAR_GP_PIN(6, 10),  8, 3 },	/* AVB2_TD2 */
3893 		{ RCAR_GP_PIN(6,  9),  4, 3 },	/* AVB2_TD1*/
3894 		{ RCAR_GP_PIN(6,  8),  0, 3 },	/* AVB2_TD0 */
3895 	} },
3896 	{ PINMUX_DRIVE_REG("DRV2CTRL6", 0xe6068088) {
3897 		{ RCAR_GP_PIN(6, 20), 16, 3 },	/* AVB2_AVTP_PPS */
3898 		{ RCAR_GP_PIN(6, 19), 12, 3 },	/* AVB2_AVTP_CAPTURE */
3899 		{ RCAR_GP_PIN(6, 18),  8, 3 },	/* AVB2_AVTP_MATCH */
3900 		{ RCAR_GP_PIN(6, 17),  4, 3 },	/* AVB2_LINK */
3901 		{ RCAR_GP_PIN(6, 16),  0, 3 },	/* AVB2_PHY_INT */
3902 	} },
3903 	{ PINMUX_DRIVE_REG("DRV0CTRL7", 0xe6068880) {
3904 		{ RCAR_GP_PIN(7,  7), 28, 3 },	/* AVB3_TXC */
3905 		{ RCAR_GP_PIN(7,  6), 24, 3 },	/* AVB3_TX_CTL */
3906 		{ RCAR_GP_PIN(7,  5), 20, 3 },	/* AVB3_RD3 */
3907 		{ RCAR_GP_PIN(7,  4), 16, 3 },	/* AVB3_RD2 */
3908 		{ RCAR_GP_PIN(7,  3), 12, 3 },	/* AVB3_RD1 */
3909 		{ RCAR_GP_PIN(7,  2),  8, 3 },	/* AVB3_RD0 */
3910 		{ RCAR_GP_PIN(7,  1),  4, 3 },	/* AVB3_RXC */
3911 		{ RCAR_GP_PIN(7,  0),  0, 3 },	/* AVB3_RX_CTL */
3912 	} },
3913 	{ PINMUX_DRIVE_REG("DRV1CTRL7", 0xe6068884) {
3914 		{ RCAR_GP_PIN(7, 15), 28, 3 },	/* AVB3_MAGIC */
3915 		{ RCAR_GP_PIN(7, 14), 24, 3 },	/* AVB3_MDC */
3916 		{ RCAR_GP_PIN(7, 13), 20, 3 },	/* AVB3_MDIO */
3917 		{ RCAR_GP_PIN(7, 12), 16, 3 },	/* AVB3_TXCREFCLK */
3918 		{ RCAR_GP_PIN(7, 11), 12, 3 },	/* AVB3_TD3 */
3919 		{ RCAR_GP_PIN(7, 10),  8, 3 },	/* AVB3_TD2 */
3920 		{ RCAR_GP_PIN(7,  9),  4, 3 },	/* AVB3_TD1*/
3921 		{ RCAR_GP_PIN(7,  8),  0, 3 },	/* AVB3_TD0 */
3922 	} },
3923 	{ PINMUX_DRIVE_REG("DRV2CTRL7", 0xe6068888) {
3924 		{ RCAR_GP_PIN(7, 20), 16, 3 },	/* AVB3_AVTP_PPS */
3925 		{ RCAR_GP_PIN(7, 19), 12, 3 },	/* AVB3_AVTP_CAPTURE */
3926 		{ RCAR_GP_PIN(7, 18),  8, 3 },	/* AVB3_AVTP_MATCH */
3927 		{ RCAR_GP_PIN(7, 17),  4, 3 },	/* AVB3_LINK */
3928 		{ RCAR_GP_PIN(7, 16),  0, 3 },	/* AVB3_PHY_INT */
3929 	} },
3930 	{ PINMUX_DRIVE_REG("DRV0CTRL8", 0xe6069080) {
3931 		{ RCAR_GP_PIN(8,  7), 28, 3 },	/* AVB4_TXC */
3932 		{ RCAR_GP_PIN(8,  6), 24, 3 },	/* AVB4_TX_CTL */
3933 		{ RCAR_GP_PIN(8,  5), 20, 3 },	/* AVB4_RD3 */
3934 		{ RCAR_GP_PIN(8,  4), 16, 3 },	/* AVB4_RD2 */
3935 		{ RCAR_GP_PIN(8,  3), 12, 3 },	/* AVB4_RD1 */
3936 		{ RCAR_GP_PIN(8,  2),  8, 3 },	/* AVB4_RD0 */
3937 		{ RCAR_GP_PIN(8,  1),  4, 3 },	/* AVB4_RXC */
3938 		{ RCAR_GP_PIN(8,  0),  0, 3 },	/* AVB4_RX_CTL */
3939 	} },
3940 	{ PINMUX_DRIVE_REG("DRV1CTRL8", 0xe6069084) {
3941 		{ RCAR_GP_PIN(8, 15), 28, 3 },	/* AVB4_MAGIC */
3942 		{ RCAR_GP_PIN(8, 14), 24, 3 },	/* AVB4_MDC */
3943 		{ RCAR_GP_PIN(8, 13), 20, 3 },	/* AVB4_MDIO */
3944 		{ RCAR_GP_PIN(8, 12), 16, 3 },	/* AVB4_TXCREFCLK */
3945 		{ RCAR_GP_PIN(8, 11), 12, 3 },	/* AVB4_TD3 */
3946 		{ RCAR_GP_PIN(8, 10),  8, 3 },	/* AVB4_TD2 */
3947 		{ RCAR_GP_PIN(8,  9),  4, 3 },	/* AVB4_TD1*/
3948 		{ RCAR_GP_PIN(8,  8),  0, 3 },	/* AVB4_TD0 */
3949 	} },
3950 	{ PINMUX_DRIVE_REG("DRV2CTRL8", 0xe6069088) {
3951 		{ RCAR_GP_PIN(8, 20), 16, 3 },	/* AVB4_AVTP_PPS */
3952 		{ RCAR_GP_PIN(8, 19), 12, 3 },	/* AVB4_AVTP_CAPTURE */
3953 		{ RCAR_GP_PIN(8, 18),  8, 3 },	/* AVB4_AVTP_MATCH */
3954 		{ RCAR_GP_PIN(8, 17),  4, 3 },	/* AVB4_LINK */
3955 		{ RCAR_GP_PIN(8, 16),  0, 3 },	/* AVB4_PHY_INT */
3956 	} },
3957 	{ PINMUX_DRIVE_REG("DRV0CTRL9", 0xe6069880) {
3958 		{ RCAR_GP_PIN(9,  7), 28, 3 },	/* AVB5_TXC */
3959 		{ RCAR_GP_PIN(9,  6), 24, 3 },	/* AVB5_TX_CTL */
3960 		{ RCAR_GP_PIN(9,  5), 20, 3 },	/* AVB5_RD3 */
3961 		{ RCAR_GP_PIN(9,  4), 16, 3 },	/* AVB5_RD2 */
3962 		{ RCAR_GP_PIN(9,  3), 12, 3 },	/* AVB5_RD1 */
3963 		{ RCAR_GP_PIN(9,  2),  8, 3 },	/* AVB5_RD0 */
3964 		{ RCAR_GP_PIN(9,  1),  4, 3 },	/* AVB5_RXC */
3965 		{ RCAR_GP_PIN(9,  0),  0, 3 },	/* AVB5_RX_CTL */
3966 	} },
3967 	{ PINMUX_DRIVE_REG("DRV1CTRL9", 0xe6069884) {
3968 		{ RCAR_GP_PIN(9, 15), 28, 3 },	/* AVB5_MAGIC */
3969 		{ RCAR_GP_PIN(9, 14), 24, 3 },	/* AVB5_MDC */
3970 		{ RCAR_GP_PIN(9, 13), 20, 3 },	/* AVB5_MDIO */
3971 		{ RCAR_GP_PIN(9, 12), 16, 3 },	/* AVB5_TXCREFCLK */
3972 		{ RCAR_GP_PIN(9, 11), 12, 3 },	/* AVB5_TD3 */
3973 		{ RCAR_GP_PIN(9, 10),  8, 3 },	/* AVB5_TD2 */
3974 		{ RCAR_GP_PIN(9,  9),  4, 3 },	/* AVB5_TD1*/
3975 		{ RCAR_GP_PIN(9,  8),  0, 3 },	/* AVB5_TD0 */
3976 	} },
3977 	{ PINMUX_DRIVE_REG("DRV2CTRL9", 0xe6069888) {
3978 		{ RCAR_GP_PIN(9, 20), 16, 3 },	/* AVB5_AVTP_PPS */
3979 		{ RCAR_GP_PIN(9, 19), 12, 3 },	/* AVB5_AVTP_CAPTURE */
3980 		{ RCAR_GP_PIN(9, 18),  8, 3 },	/* AVB5_AVTP_MATCH */
3981 		{ RCAR_GP_PIN(9, 17),  4, 3 },	/* AVB5_LINK */
3982 		{ RCAR_GP_PIN(9, 16),  0, 3 },	/* AVB5_PHY_INT */
3983 	} },
3984 	{ },
3985 };
3986 
3987 enum ioctrl_regs {
3988 	POC0,
3989 	POC1,
3990 	POC2,
3991 	POC4,
3992 	POC5,
3993 	POC6,
3994 	POC7,
3995 	POC8,
3996 	POC9,
3997 	TD1SEL0,
3998 };
3999 
4000 static const struct pinmux_ioctrl_reg pinmux_ioctrl_regs[] = {
4001 	[POC0] = { 0xe60580a0, },
4002 	[POC1] = { 0xe60500a0, },
4003 	[POC2] = { 0xe60508a0, },
4004 	[POC4] = { 0xe60600a0, },
4005 	[POC5] = { 0xe60608a0, },
4006 	[POC6] = { 0xe60680a0, },
4007 	[POC7] = { 0xe60688a0, },
4008 	[POC8] = { 0xe60690a0, },
4009 	[POC9] = { 0xe60698a0, },
4010 	[TD1SEL0] = { 0xe6058124, },
4011 	{ /* sentinel */ },
4012 };
4013 
4014 static int r8a779a0_pin_to_pocctrl(unsigned int pin, u32 *pocctrl)
4015 {
4016 	int bit = pin & 0x1f;
4017 
4018 	*pocctrl = pinmux_ioctrl_regs[POC0].reg;
4019 	if (pin >= RCAR_GP_PIN(0, 15) && pin <= RCAR_GP_PIN(0, 27))
4020 		return bit;
4021 
4022 	*pocctrl = pinmux_ioctrl_regs[POC1].reg;
4023 	if (pin >= RCAR_GP_PIN(1, 0) && pin <= RCAR_GP_PIN(1, 30))
4024 		return bit;
4025 
4026 	*pocctrl = pinmux_ioctrl_regs[POC2].reg;
4027 	if (pin >= RCAR_GP_PIN(2, 2) && pin <= RCAR_GP_PIN(2, 15))
4028 		return bit;
4029 
4030 	*pocctrl = pinmux_ioctrl_regs[POC4].reg;
4031 	if (pin >= RCAR_GP_PIN(4, 0) && pin <= RCAR_GP_PIN(4, 17))
4032 		return bit;
4033 
4034 	*pocctrl = pinmux_ioctrl_regs[POC5].reg;
4035 	if (pin >= RCAR_GP_PIN(5, 0) && pin <= RCAR_GP_PIN(5, 17))
4036 		return bit;
4037 
4038 	*pocctrl = pinmux_ioctrl_regs[POC6].reg;
4039 	if (pin >= RCAR_GP_PIN(6, 0) && pin <= RCAR_GP_PIN(6, 17))
4040 		return bit;
4041 
4042 	*pocctrl = pinmux_ioctrl_regs[POC7].reg;
4043 	if (pin >= RCAR_GP_PIN(7, 0) && pin <= RCAR_GP_PIN(7, 17))
4044 		return bit;
4045 
4046 	*pocctrl = pinmux_ioctrl_regs[POC8].reg;
4047 	if (pin >= RCAR_GP_PIN(8, 0) && pin <= RCAR_GP_PIN(8, 17))
4048 		return bit;
4049 
4050 	*pocctrl = pinmux_ioctrl_regs[POC9].reg;
4051 	if (pin >= RCAR_GP_PIN(9, 0) && pin <= RCAR_GP_PIN(9, 17))
4052 		return bit;
4053 
4054 	return -EINVAL;
4055 }
4056 
4057 static const struct pinmux_bias_reg pinmux_bias_regs[] = {
4058 	{ PINMUX_BIAS_REG("PUEN0", 0xe60580c0, "PUD0", 0xe60580e0) {
4059 		[ 0] = RCAR_GP_PIN(0,  0),	/* QSPI0_SPCLK */
4060 		[ 1] = RCAR_GP_PIN(0,  1),	/* QSPI0_MOSI_IO0 */
4061 		[ 2] = RCAR_GP_PIN(0,  2),	/* QSPI0_MISO_IO1 */
4062 		[ 3] = RCAR_GP_PIN(0,  3),	/* QSPI0_IO2 */
4063 		[ 4] = RCAR_GP_PIN(0,  4),	/* QSPI0_IO3 */
4064 		[ 5] = RCAR_GP_PIN(0,  5),	/* QSPI0_SSL */
4065 		[ 6] = RCAR_GP_PIN(0,  6),	/* QSPI1_SPCLK */
4066 		[ 7] = RCAR_GP_PIN(0,  7),	/* QSPI1_MOSI_IO0 */
4067 		[ 8] = RCAR_GP_PIN(0,  8),	/* QSPI1_MISO_IO1 */
4068 		[ 9] = RCAR_GP_PIN(0,  9),	/* QSPI1_IO2 */
4069 		[10] = RCAR_GP_PIN(0, 10),	/* QSPI1_IO3 */
4070 		[11] = RCAR_GP_PIN(0, 11),	/* QSPI1_SSL */
4071 		[12] = RCAR_GP_PIN(0, 12),	/* RPC_RESET_N */
4072 		[13] = RCAR_GP_PIN(0, 13),	/* RPC_WP_N */
4073 		[14] = RCAR_GP_PIN(0, 14),	/* RPC_INT_N */
4074 		[15] = RCAR_GP_PIN(0, 15),	/* SD_WP */
4075 		[16] = RCAR_GP_PIN(0, 16),	/* SD_CD */
4076 		[17] = RCAR_GP_PIN(0, 17),	/* MMC_DS */
4077 		[18] = RCAR_GP_PIN(0, 18),	/* MMC_SD_CMD */
4078 		[19] = RCAR_GP_PIN(0, 19),	/* MMC_SD_D0 */
4079 		[20] = RCAR_GP_PIN(0, 20),	/* MMC_SD_D1 */
4080 		[21] = RCAR_GP_PIN(0, 21),	/* MMC_SD_D2 */
4081 		[22] = RCAR_GP_PIN(0, 22),	/* MMC_SD_D3 */
4082 		[23] = RCAR_GP_PIN(0, 23),	/* MMC_SD_CLK */
4083 		[24] = RCAR_GP_PIN(0, 24),	/* MMC_D4 */
4084 		[25] = RCAR_GP_PIN(0, 25),	/* MMC_D5 */
4085 		[26] = RCAR_GP_PIN(0, 26),	/* MMC_D6 */
4086 		[27] = RCAR_GP_PIN(0, 27),	/* MMC_D7 */
4087 		[28] = SH_PFC_PIN_NONE,
4088 		[29] = SH_PFC_PIN_NONE,
4089 		[30] = SH_PFC_PIN_NONE,
4090 		[31] = SH_PFC_PIN_NONE,
4091 	} },
4092 	{ PINMUX_BIAS_REG("PUEN1", 0xe60500c0, "PUD1", 0xe60500e0) {
4093 		[ 0] = RCAR_GP_PIN(1,  0),	/* SCIF_CLK */
4094 		[ 1] = RCAR_GP_PIN(1,  1),	/* HRX0 */
4095 		[ 2] = RCAR_GP_PIN(1,  2),	/* HSCK0 */
4096 		[ 3] = RCAR_GP_PIN(1,  3),	/* HRTS0_N */
4097 		[ 4] = RCAR_GP_PIN(1,  4),	/* HCTS0_N */
4098 		[ 5] = RCAR_GP_PIN(1,  5),	/* HTX0 */
4099 		[ 6] = RCAR_GP_PIN(1,  6),	/* MSIOF0_RXD */
4100 		[ 7] = RCAR_GP_PIN(1,  7),	/* MSIOF0_TXD */
4101 		[ 8] = RCAR_GP_PIN(1,  8),	/* MSIOF0_SCK */
4102 		[ 9] = RCAR_GP_PIN(1,  9),	/* MSIOF0_SYNC */
4103 		[10] = RCAR_GP_PIN(1, 10),	/* MSIOF0_SS1 */
4104 		[11] = RCAR_GP_PIN(1, 11),	/* MSIOF0_SS2 */
4105 		[12] = RCAR_GP_PIN(1, 12),	/* MSIOF1_RXD */
4106 		[13] = RCAR_GP_PIN(1, 13),	/* MSIOF1_TXD */
4107 		[14] = RCAR_GP_PIN(1, 14),	/* MSIOF1_SCK */
4108 		[15] = RCAR_GP_PIN(1, 15),	/* MSIOF1_SYNC */
4109 		[16] = RCAR_GP_PIN(1, 16),	/* MSIOF1_SS1 */
4110 		[17] = RCAR_GP_PIN(1, 17),	/* MSIOF1_SS2 */
4111 		[18] = RCAR_GP_PIN(1, 18),	/* MSIOF2_RXD */
4112 		[19] = RCAR_GP_PIN(1, 19),	/* MSIOF2_TXD */
4113 		[20] = RCAR_GP_PIN(1, 20),	/* MSIOF2_SCK */
4114 		[21] = RCAR_GP_PIN(1, 21),	/* MSIOF2_SYNC */
4115 		[22] = RCAR_GP_PIN(1, 22),	/* MSIOF2_SS1 */
4116 		[23] = RCAR_GP_PIN(1, 23),	/* MSIOF2_SS2 */
4117 		[24] = RCAR_GP_PIN(1, 24),	/* IRQ0 */
4118 		[25] = RCAR_GP_PIN(1, 25),	/* IRQ1 */
4119 		[26] = RCAR_GP_PIN(1, 26),	/* IRQ2 */
4120 		[27] = RCAR_GP_PIN(1, 27),	/* IRQ3 */
4121 		[28] = RCAR_GP_PIN(1, 28),	/* GP1_28 */
4122 		[29] = RCAR_GP_PIN(1, 29),	/* GP1_29 */
4123 		[30] = RCAR_GP_PIN(1, 30),	/* GP1_30 */
4124 		[31] = SH_PFC_PIN_NONE,
4125 	} },
4126 	{ PINMUX_BIAS_REG("PUEN2", 0xe60508c0, "PUD2", 0xe60508e0) {
4127 		[ 0] = RCAR_GP_PIN(2,  0),	/* IPC_CLKIN */
4128 		[ 1] = RCAR_GP_PIN(2,  1),	/* IPC_CLKOUT */
4129 		[ 2] = RCAR_GP_PIN(2,  2),	/* GP2_02 */
4130 		[ 3] = RCAR_GP_PIN(2,  3),	/* GP2_03 */
4131 		[ 4] = RCAR_GP_PIN(2,  4),	/* GP2_04 */
4132 		[ 5] = RCAR_GP_PIN(2,  5),	/* GP2_05 */
4133 		[ 6] = RCAR_GP_PIN(2,  6),	/* GP2_06 */
4134 		[ 7] = RCAR_GP_PIN(2,  7),	/* GP2_07 */
4135 		[ 8] = RCAR_GP_PIN(2,  8),	/* GP2_08 */
4136 		[ 9] = RCAR_GP_PIN(2,  9),	/* GP2_09 */
4137 		[10] = RCAR_GP_PIN(2, 10),	/* GP2_10 */
4138 		[11] = RCAR_GP_PIN(2, 11),	/* GP2_11 */
4139 		[12] = RCAR_GP_PIN(2, 12),	/* GP2_12 */
4140 		[13] = RCAR_GP_PIN(2, 13),	/* GP2_13 */
4141 		[14] = RCAR_GP_PIN(2, 14),	/* GP2_14 */
4142 		[15] = RCAR_GP_PIN(2, 15),	/* GP2_15 */
4143 		[16] = RCAR_GP_PIN(2, 16),	/* FXR_TXDA_A */
4144 		[17] = RCAR_GP_PIN(2, 17),	/* RXDA_EXTFXR_A */
4145 		[18] = RCAR_GP_PIN(2, 18),	/* FXR_TXDB */
4146 		[19] = RCAR_GP_PIN(2, 19),	/* RXDB_EXTFXR */
4147 		[20] = RCAR_GP_PIN(2, 20),	/* CLK_EXTFXR */
4148 		[21] = RCAR_GP_PIN(2, 21),	/* TPU0TO0 */
4149 		[22] = RCAR_GP_PIN(2, 22),	/* TPU0TO1 */
4150 		[23] = RCAR_GP_PIN(2, 23),	/* TCLK1_A */
4151 		[24] = RCAR_GP_PIN(2, 24),	/* TCLK2_A */
4152 		[25] = SH_PFC_PIN_NONE,
4153 		[26] = SH_PFC_PIN_NONE,
4154 		[27] = SH_PFC_PIN_NONE,
4155 		[28] = SH_PFC_PIN_NONE,
4156 		[29] = SH_PFC_PIN_NONE,
4157 		[30] = SH_PFC_PIN_NONE,
4158 		[31] = SH_PFC_PIN_NONE,
4159 	} },
4160 	{ PINMUX_BIAS_REG("PUEN3", 0xe60588c0, "PUD3", 0xe60588e0) {
4161 		[ 0] = RCAR_GP_PIN(3,  0),	/* CAN_CLK */
4162 		[ 1] = RCAR_GP_PIN(3,  1),	/* CANFD0_TX */
4163 		[ 2] = RCAR_GP_PIN(3,  2),	/* CANFD0_RX */
4164 		[ 3] = RCAR_GP_PIN(3,  3),	/* CANFD1_TX */
4165 		[ 4] = RCAR_GP_PIN(3,  4),	/* CANFD1_RX */
4166 		[ 5] = RCAR_GP_PIN(3,  5),	/* CANFD2_TX */
4167 		[ 6] = RCAR_GP_PIN(3,  6),	/* CANFD2_RX */
4168 		[ 7] = RCAR_GP_PIN(3,  7),	/* CANFD3_TX */
4169 		[ 8] = RCAR_GP_PIN(3,  8),	/* CANFD3_RX */
4170 		[ 9] = RCAR_GP_PIN(3,  9),	/* CANFD4_TX */
4171 		[10] = RCAR_GP_PIN(3, 10),	/* CANFD4_RX */
4172 		[11] = RCAR_GP_PIN(3, 11),	/* CANFD5_TX */
4173 		[12] = RCAR_GP_PIN(3, 12),	/* CANFD5_RX */
4174 		[13] = RCAR_GP_PIN(3, 13),	/* CANFD6_TX */
4175 		[14] = RCAR_GP_PIN(3, 14),	/* CANFD6_RX */
4176 		[15] = RCAR_GP_PIN(3, 15),	/* CANFD7_TX */
4177 		[16] = RCAR_GP_PIN(3, 16),	/* CANFD7_RX */
4178 		[17] = SH_PFC_PIN_NONE,
4179 		[18] = SH_PFC_PIN_NONE,
4180 		[19] = SH_PFC_PIN_NONE,
4181 		[20] = SH_PFC_PIN_NONE,
4182 		[21] = SH_PFC_PIN_NONE,
4183 		[22] = SH_PFC_PIN_NONE,
4184 		[23] = SH_PFC_PIN_NONE,
4185 		[24] = SH_PFC_PIN_NONE,
4186 		[25] = SH_PFC_PIN_NONE,
4187 		[26] = SH_PFC_PIN_NONE,
4188 		[27] = SH_PFC_PIN_NONE,
4189 		[28] = SH_PFC_PIN_NONE,
4190 		[29] = SH_PFC_PIN_NONE,
4191 		[30] = SH_PFC_PIN_NONE,
4192 		[31] = SH_PFC_PIN_NONE,
4193 	} },
4194 	{ PINMUX_BIAS_REG("PUEN4", 0xe60600c0, "PUD4", 0xe60600e0) {
4195 		[ 0] = RCAR_GP_PIN(4,  0),	/* AVB0_RX_CTL */
4196 		[ 1] = RCAR_GP_PIN(4,  1),	/* AVB0_RXC */
4197 		[ 2] = RCAR_GP_PIN(4,  2),	/* AVB0_RD0 */
4198 		[ 3] = RCAR_GP_PIN(4,  3),	/* AVB0_RD1 */
4199 		[ 4] = RCAR_GP_PIN(4,  4),	/* AVB0_RD2 */
4200 		[ 5] = RCAR_GP_PIN(4,  5),	/* AVB0_RD3 */
4201 		[ 6] = RCAR_GP_PIN(4,  6),	/* AVB0_TX_CTL */
4202 		[ 7] = RCAR_GP_PIN(4,  7),	/* AVB0_TXC */
4203 		[ 8] = RCAR_GP_PIN(4,  8),	/* AVB0_TD0 */
4204 		[ 9] = RCAR_GP_PIN(4,  9),	/* AVB0_TD1 */
4205 		[10] = RCAR_GP_PIN(4, 10),	/* AVB0_TD2 */
4206 		[11] = RCAR_GP_PIN(4, 11),	/* AVB0_TD3 */
4207 		[12] = RCAR_GP_PIN(4, 12),	/* AVB0_TXREFCLK */
4208 		[13] = RCAR_GP_PIN(4, 13),	/* AVB0_MDIO */
4209 		[14] = RCAR_GP_PIN(4, 14),	/* AVB0_MDC */
4210 		[15] = RCAR_GP_PIN(4, 15),	/* AVB0_MAGIC */
4211 		[16] = RCAR_GP_PIN(4, 16),	/* AVB0_PHY_INT */
4212 		[17] = RCAR_GP_PIN(4, 17),	/* AVB0_LINK */
4213 		[18] = RCAR_GP_PIN(4, 18),	/* AVB0_AVTP_MATCH */
4214 		[19] = RCAR_GP_PIN(4, 19),	/* AVB0_AVTP_CAPTURE */
4215 		[20] = RCAR_GP_PIN(4, 20),	/* AVB0_AVTP_PPS */
4216 		[21] = RCAR_GP_PIN(4, 21),	/* PCIE0_CLKREQ_N */
4217 		[22] = RCAR_GP_PIN(4, 22),	/* PCIE1_CLKREQ_N */
4218 		[23] = RCAR_GP_PIN(4, 23),	/* PCIE2_CLKREQ_N */
4219 		[24] = RCAR_GP_PIN(4, 24),	/* PCIE3_CLKREQ_N */
4220 		[25] = RCAR_GP_PIN(4, 25),	/* AVS0 */
4221 		[26] = RCAR_GP_PIN(4, 26),	/* AVS1 */
4222 		[27] = SH_PFC_PIN_NONE,
4223 		[28] = SH_PFC_PIN_NONE,
4224 		[29] = SH_PFC_PIN_NONE,
4225 		[30] = SH_PFC_PIN_NONE,
4226 		[31] = SH_PFC_PIN_NONE,
4227 	} },
4228 	{ PINMUX_BIAS_REG("PUEN5", 0xe60608c0, "PUD5", 0xe60608e0) {
4229 		[ 0] = RCAR_GP_PIN(5,  0),	/* AVB1_RX_CTL */
4230 		[ 1] = RCAR_GP_PIN(5,  1),	/* AVB1_RXC */
4231 		[ 2] = RCAR_GP_PIN(5,  2),	/* AVB1_RD0 */
4232 		[ 3] = RCAR_GP_PIN(5,  3),	/* AVB1_RD1 */
4233 		[ 4] = RCAR_GP_PIN(5,  4),	/* AVB1_RD2 */
4234 		[ 5] = RCAR_GP_PIN(5,  5),	/* AVB1_RD3 */
4235 		[ 6] = RCAR_GP_PIN(5,  6),	/* AVB1_TX_CTL */
4236 		[ 7] = RCAR_GP_PIN(5,  7),	/* AVB1_TXC */
4237 		[ 8] = RCAR_GP_PIN(5,  8),	/* AVB1_TD0 */
4238 		[ 9] = RCAR_GP_PIN(5,  9),	/* AVB1_TD1 */
4239 		[10] = RCAR_GP_PIN(5, 10),	/* AVB1_TD2 */
4240 		[11] = RCAR_GP_PIN(5, 11),	/* AVB1_TD3 */
4241 		[12] = RCAR_GP_PIN(5, 12),	/* AVB1_TXCREFCLK */
4242 		[13] = RCAR_GP_PIN(5, 13),	/* AVB1_MDIO */
4243 		[14] = RCAR_GP_PIN(5, 14),	/* AVB1_MDC */
4244 		[15] = RCAR_GP_PIN(5, 15),	/* AVB1_MAGIC */
4245 		[16] = RCAR_GP_PIN(5, 16),	/* AVB1_PHY_INT */
4246 		[17] = RCAR_GP_PIN(5, 17),	/* AVB1_LINK */
4247 		[18] = RCAR_GP_PIN(5, 18),	/* AVB1_AVTP_MATCH */
4248 		[19] = RCAR_GP_PIN(5, 19),	/* AVB1_AVTP_CAPTURE */
4249 		[20] = RCAR_GP_PIN(5, 20),	/* AVB1_AVTP_PPS */
4250 		[21] = SH_PFC_PIN_NONE,
4251 		[22] = SH_PFC_PIN_NONE,
4252 		[23] = SH_PFC_PIN_NONE,
4253 		[24] = SH_PFC_PIN_NONE,
4254 		[25] = SH_PFC_PIN_NONE,
4255 		[26] = SH_PFC_PIN_NONE,
4256 		[27] = SH_PFC_PIN_NONE,
4257 		[28] = SH_PFC_PIN_NONE,
4258 		[29] = SH_PFC_PIN_NONE,
4259 		[30] = SH_PFC_PIN_NONE,
4260 		[31] = SH_PFC_PIN_NONE,
4261 	} },
4262 	{ PINMUX_BIAS_REG("PUEN6", 0xe60680c0, "PUD6", 0xe60680e0) {
4263 		[ 0] = RCAR_GP_PIN(6,  0),	/* AVB2_RX_CTL */
4264 		[ 1] = RCAR_GP_PIN(6,  1),	/* AVB2_RXC */
4265 		[ 2] = RCAR_GP_PIN(6,  2),	/* AVB2_RD0 */
4266 		[ 3] = RCAR_GP_PIN(6,  3),	/* AVB2_RD1 */
4267 		[ 4] = RCAR_GP_PIN(6,  4),	/* AVB2_RD2 */
4268 		[ 5] = RCAR_GP_PIN(6,  5),	/* AVB2_RD3 */
4269 		[ 6] = RCAR_GP_PIN(6,  6),	/* AVB2_TX_CTL */
4270 		[ 7] = RCAR_GP_PIN(6,  7),	/* AVB2_TXC */
4271 		[ 8] = RCAR_GP_PIN(6,  8),	/* AVB2_TD0 */
4272 		[ 9] = RCAR_GP_PIN(6,  9),	/* AVB2_TD1 */
4273 		[10] = RCAR_GP_PIN(6, 10),	/* AVB2_TD2 */
4274 		[11] = RCAR_GP_PIN(6, 11),	/* AVB2_TD3 */
4275 		[12] = RCAR_GP_PIN(6, 12),	/* AVB2_TXCREFCLK */
4276 		[13] = RCAR_GP_PIN(6, 13),	/* AVB2_MDIO */
4277 		[14] = RCAR_GP_PIN(6, 14),	/* AVB2_MDC */
4278 		[15] = RCAR_GP_PIN(6, 15),	/* AVB2_MAGIC */
4279 		[16] = RCAR_GP_PIN(6, 16),	/* AVB2_PHY_INT */
4280 		[17] = RCAR_GP_PIN(6, 17),	/* AVB2_LINK */
4281 		[18] = RCAR_GP_PIN(6, 18),	/* AVB2_AVTP_MATCH */
4282 		[19] = RCAR_GP_PIN(6, 19),	/* AVB2_AVTP_CAPTURE */
4283 		[20] = RCAR_GP_PIN(6, 20),	/* AVB2_AVTP_PPS */
4284 		[21] = SH_PFC_PIN_NONE,
4285 		[22] = SH_PFC_PIN_NONE,
4286 		[23] = SH_PFC_PIN_NONE,
4287 		[24] = SH_PFC_PIN_NONE,
4288 		[25] = SH_PFC_PIN_NONE,
4289 		[26] = SH_PFC_PIN_NONE,
4290 		[27] = SH_PFC_PIN_NONE,
4291 		[28] = SH_PFC_PIN_NONE,
4292 		[29] = SH_PFC_PIN_NONE,
4293 		[30] = SH_PFC_PIN_NONE,
4294 		[31] = SH_PFC_PIN_NONE,
4295 	} },
4296 	{ PINMUX_BIAS_REG("PUEN7", 0xe60688c0, "PUD7", 0xe60688e0) {
4297 		[ 0] = RCAR_GP_PIN(7,  0),	/* AVB3_RX_CTL */
4298 		[ 1] = RCAR_GP_PIN(7,  1),	/* AVB3_RXC */
4299 		[ 2] = RCAR_GP_PIN(7,  2),	/* AVB3_RD0 */
4300 		[ 3] = RCAR_GP_PIN(7,  3),	/* AVB3_RD1 */
4301 		[ 4] = RCAR_GP_PIN(7,  4),	/* AVB3_RD2 */
4302 		[ 5] = RCAR_GP_PIN(7,  5),	/* AVB3_RD3 */
4303 		[ 6] = RCAR_GP_PIN(7,  6),	/* AVB3_TX_CTL */
4304 		[ 7] = RCAR_GP_PIN(7,  7),	/* AVB3_TXC */
4305 		[ 8] = RCAR_GP_PIN(7,  8),	/* AVB3_TD0 */
4306 		[ 9] = RCAR_GP_PIN(7,  9),	/* AVB3_TD1 */
4307 		[10] = RCAR_GP_PIN(7, 10),	/* AVB3_TD2 */
4308 		[11] = RCAR_GP_PIN(7, 11),	/* AVB3_TD3 */
4309 		[12] = RCAR_GP_PIN(7, 12),	/* AVB3_TXCREFCLK */
4310 		[13] = RCAR_GP_PIN(7, 13),	/* AVB3_MDIO */
4311 		[14] = RCAR_GP_PIN(7, 14),	/* AVB3_MDC */
4312 		[15] = RCAR_GP_PIN(7, 15),	/* AVB3_MAGIC */
4313 		[16] = RCAR_GP_PIN(7, 16),	/* AVB3_PHY_INT */
4314 		[17] = RCAR_GP_PIN(7, 17),	/* AVB3_LINK */
4315 		[18] = RCAR_GP_PIN(7, 18),	/* AVB3_AVTP_MATCH */
4316 		[19] = RCAR_GP_PIN(7, 19),	/* AVB3_AVTP_CAPTURE */
4317 		[20] = RCAR_GP_PIN(7, 20),	/* AVB3_AVTP_PPS */
4318 		[21] = SH_PFC_PIN_NONE,
4319 		[22] = SH_PFC_PIN_NONE,
4320 		[23] = SH_PFC_PIN_NONE,
4321 		[24] = SH_PFC_PIN_NONE,
4322 		[25] = SH_PFC_PIN_NONE,
4323 		[26] = SH_PFC_PIN_NONE,
4324 		[27] = SH_PFC_PIN_NONE,
4325 		[28] = SH_PFC_PIN_NONE,
4326 		[29] = SH_PFC_PIN_NONE,
4327 		[30] = SH_PFC_PIN_NONE,
4328 		[31] = SH_PFC_PIN_NONE,
4329 	} },
4330 	{ PINMUX_BIAS_REG("PUEN8", 0xe60690c0, "PUD8", 0xe60690e0) {
4331 		[ 0] = RCAR_GP_PIN(8,  0),	/* AVB4_RX_CTL */
4332 		[ 1] = RCAR_GP_PIN(8,  1),	/* AVB4_RXC */
4333 		[ 2] = RCAR_GP_PIN(8,  2),	/* AVB4_RD0 */
4334 		[ 3] = RCAR_GP_PIN(8,  3),	/* AVB4_RD1 */
4335 		[ 4] = RCAR_GP_PIN(8,  4),	/* AVB4_RD2 */
4336 		[ 5] = RCAR_GP_PIN(8,  5),	/* AVB4_RD3 */
4337 		[ 6] = RCAR_GP_PIN(8,  6),	/* AVB4_TX_CTL */
4338 		[ 7] = RCAR_GP_PIN(8,  7),	/* AVB4_TXC */
4339 		[ 8] = RCAR_GP_PIN(8,  8),	/* AVB4_TD0 */
4340 		[ 9] = RCAR_GP_PIN(8,  9),	/* AVB4_TD1 */
4341 		[10] = RCAR_GP_PIN(8, 10),	/* AVB4_TD2 */
4342 		[11] = RCAR_GP_PIN(8, 11),	/* AVB4_TD3 */
4343 		[12] = RCAR_GP_PIN(8, 12),	/* AVB4_TXCREFCLK */
4344 		[13] = RCAR_GP_PIN(8, 13),	/* AVB4_MDIO */
4345 		[14] = RCAR_GP_PIN(8, 14),	/* AVB4_MDC */
4346 		[15] = RCAR_GP_PIN(8, 15),	/* AVB4_MAGIC */
4347 		[16] = RCAR_GP_PIN(8, 16),	/* AVB4_PHY_INT */
4348 		[17] = RCAR_GP_PIN(8, 17),	/* AVB4_LINK */
4349 		[18] = RCAR_GP_PIN(8, 18),	/* AVB4_AVTP_MATCH */
4350 		[19] = RCAR_GP_PIN(8, 19),	/* AVB4_AVTP_CAPTURE */
4351 		[20] = RCAR_GP_PIN(8, 20),	/* AVB4_AVTP_PPS */
4352 		[21] = SH_PFC_PIN_NONE,
4353 		[22] = SH_PFC_PIN_NONE,
4354 		[23] = SH_PFC_PIN_NONE,
4355 		[24] = SH_PFC_PIN_NONE,
4356 		[25] = SH_PFC_PIN_NONE,
4357 		[26] = SH_PFC_PIN_NONE,
4358 		[27] = SH_PFC_PIN_NONE,
4359 		[28] = SH_PFC_PIN_NONE,
4360 		[29] = SH_PFC_PIN_NONE,
4361 		[30] = SH_PFC_PIN_NONE,
4362 		[31] = SH_PFC_PIN_NONE,
4363 	} },
4364 	{ PINMUX_BIAS_REG("PUEN9", 0xe60698c0, "PUD9", 0xe60698e0) {
4365 		[ 0] = RCAR_GP_PIN(9,  0),	/* AVB5_RX_CTL */
4366 		[ 1] = RCAR_GP_PIN(9,  1),	/* AVB5_RXC */
4367 		[ 2] = RCAR_GP_PIN(9,  2),	/* AVB5_RD0 */
4368 		[ 3] = RCAR_GP_PIN(9,  3),	/* AVB5_RD1 */
4369 		[ 4] = RCAR_GP_PIN(9,  4),	/* AVB5_RD2 */
4370 		[ 5] = RCAR_GP_PIN(9,  5),	/* AVB5_RD3 */
4371 		[ 6] = RCAR_GP_PIN(9,  6),	/* AVB5_TX_CTL */
4372 		[ 7] = RCAR_GP_PIN(9,  7),	/* AVB5_TXC */
4373 		[ 8] = RCAR_GP_PIN(9,  8),	/* AVB5_TD0 */
4374 		[ 9] = RCAR_GP_PIN(9,  9),	/* AVB5_TD1 */
4375 		[10] = RCAR_GP_PIN(9, 10),	/* AVB5_TD2 */
4376 		[11] = RCAR_GP_PIN(9, 11),	/* AVB5_TD3 */
4377 		[12] = RCAR_GP_PIN(9, 12),	/* AVB5_TXCREFCLK */
4378 		[13] = RCAR_GP_PIN(9, 13),	/* AVB5_MDIO */
4379 		[14] = RCAR_GP_PIN(9, 14),	/* AVB5_MDC */
4380 		[15] = RCAR_GP_PIN(9, 15),	/* AVB5_MAGIC */
4381 		[16] = RCAR_GP_PIN(9, 16),	/* AVB5_PHY_INT */
4382 		[17] = RCAR_GP_PIN(9, 17),	/* AVB5_LINK */
4383 		[18] = RCAR_GP_PIN(9, 18),	/* AVB5_AVTP_MATCH */
4384 		[19] = RCAR_GP_PIN(9, 19),	/* AVB5_AVTP_CAPTURE */
4385 		[20] = RCAR_GP_PIN(9, 20),	/* AVB5_AVTP_PPS */
4386 		[21] = SH_PFC_PIN_NONE,
4387 		[22] = SH_PFC_PIN_NONE,
4388 		[23] = SH_PFC_PIN_NONE,
4389 		[24] = SH_PFC_PIN_NONE,
4390 		[25] = SH_PFC_PIN_NONE,
4391 		[26] = SH_PFC_PIN_NONE,
4392 		[27] = SH_PFC_PIN_NONE,
4393 		[28] = SH_PFC_PIN_NONE,
4394 		[29] = SH_PFC_PIN_NONE,
4395 		[30] = SH_PFC_PIN_NONE,
4396 		[31] = SH_PFC_PIN_NONE,
4397 	} },
4398 	{ /* sentinel */ },
4399 };
4400 
4401 static const struct sh_pfc_soc_operations r8a779a0_pfc_ops = {
4402 	.pin_to_pocctrl = r8a779a0_pin_to_pocctrl,
4403 	.get_bias = rcar_pinmux_get_bias,
4404 	.set_bias = rcar_pinmux_set_bias,
4405 };
4406 
4407 const struct sh_pfc_soc_info r8a779a0_pinmux_info = {
4408 	.name = "r8a779a0_pfc",
4409 	.ops = &r8a779a0_pfc_ops,
4410 	.unlock_reg = 0x1ff,	/* PMMRn mask */
4411 
4412 	.function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
4413 
4414 	.pins = pinmux_pins,
4415 	.nr_pins = ARRAY_SIZE(pinmux_pins),
4416 	.groups = pinmux_groups,
4417 	.nr_groups = ARRAY_SIZE(pinmux_groups),
4418 	.functions = pinmux_functions,
4419 	.nr_functions = ARRAY_SIZE(pinmux_functions),
4420 
4421 	.cfg_regs = pinmux_config_regs,
4422 	.drive_regs = pinmux_drive_regs,
4423 	.bias_regs = pinmux_bias_regs,
4424 	.ioctrl_regs = pinmux_ioctrl_regs,
4425 
4426 	.pinmux_data = pinmux_data,
4427 	.pinmux_data_size = ARRAY_SIZE(pinmux_data),
4428 };
4429