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_14_15		FM(SEL_I2C6_0)	F_(0, 0)	F_(0, 0)	FM(SEL_I2C6_3)
580 #define MOD_SEL2_12_13		FM(SEL_I2C5_0)	F_(0, 0)	F_(0, 0)	FM(SEL_I2C5_3)
581 #define MOD_SEL2_10_11		FM(SEL_I2C4_0)	F_(0, 0)	F_(0, 0)	FM(SEL_I2C4_3)
582 #define MOD_SEL2_8_9		FM(SEL_I2C3_0)	F_(0, 0)	F_(0, 0)	FM(SEL_I2C3_3)
583 #define MOD_SEL2_6_7		FM(SEL_I2C2_0)	F_(0, 0)	F_(0, 0)	FM(SEL_I2C2_3)
584 #define MOD_SEL2_4_5		FM(SEL_I2C1_0)	F_(0, 0)	F_(0, 0)	FM(SEL_I2C1_3)
585 #define MOD_SEL2_2_3		FM(SEL_I2C0_0)	F_(0, 0)	F_(0, 0)	FM(SEL_I2C0_3)
586 
587 #define PINMUX_MOD_SELS \
588 \
589 MOD_SEL2_14_15 \
590 MOD_SEL2_12_13 \
591 MOD_SEL2_10_11 \
592 MOD_SEL2_8_9 \
593 MOD_SEL2_6_7 \
594 MOD_SEL2_4_5 \
595 MOD_SEL2_2_3
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_data1_pins[] = {
2013 	/* MMC_SD_D0 */
2014 	RCAR_GP_PIN(0, 19),
2015 };
2016 static const unsigned int mmc_data1_mux[] = {
2017 	MMC_SD_D0_MARK,
2018 };
2019 static const unsigned int mmc_data4_pins[] = {
2020 	/* MMC_SD_D[0:3] */
2021 	RCAR_GP_PIN(0, 19), RCAR_GP_PIN(0, 20),
2022 	RCAR_GP_PIN(0, 21), RCAR_GP_PIN(0, 22),
2023 };
2024 static const unsigned int mmc_data4_mux[] = {
2025 	MMC_SD_D0_MARK, MMC_SD_D1_MARK,
2026 	MMC_SD_D2_MARK, MMC_SD_D3_MARK,
2027 };
2028 static const unsigned int mmc_data8_pins[] = {
2029 	/* MMC_SD_D[0:3], MMC_D[4:7] */
2030 	RCAR_GP_PIN(0, 19), RCAR_GP_PIN(0, 20),
2031 	RCAR_GP_PIN(0, 21), RCAR_GP_PIN(0, 22),
2032 	RCAR_GP_PIN(0, 24), RCAR_GP_PIN(0, 25),
2033 	RCAR_GP_PIN(0, 26), RCAR_GP_PIN(0, 27),
2034 };
2035 static const unsigned int mmc_data8_mux[] = {
2036 	MMC_SD_D0_MARK, MMC_SD_D1_MARK,
2037 	MMC_SD_D2_MARK, MMC_SD_D3_MARK,
2038 	MMC_D4_MARK, MMC_D5_MARK,
2039 	MMC_D6_MARK, MMC_D7_MARK,
2040 };
2041 static const unsigned int mmc_ctrl_pins[] = {
2042 	/* MMC_SD_CLK, MMC_SD_CMD */
2043 	RCAR_GP_PIN(0, 23), RCAR_GP_PIN(0, 18),
2044 };
2045 static const unsigned int mmc_ctrl_mux[] = {
2046 	MMC_SD_CLK_MARK, MMC_SD_CMD_MARK,
2047 };
2048 static const unsigned int mmc_cd_pins[] = {
2049 	/* SD_CD */
2050 	RCAR_GP_PIN(0, 16),
2051 };
2052 static const unsigned int mmc_cd_mux[] = {
2053 	SD_CD_MARK,
2054 };
2055 static const unsigned int mmc_wp_pins[] = {
2056 	/* SD_WP */
2057 	RCAR_GP_PIN(0, 15),
2058 };
2059 static const unsigned int mmc_wp_mux[] = {
2060 	SD_WP_MARK,
2061 };
2062 static const unsigned int mmc_ds_pins[] = {
2063 	/* MMC_DS */
2064 	RCAR_GP_PIN(0, 17),
2065 };
2066 static const unsigned int mmc_ds_mux[] = {
2067 	MMC_DS_MARK,
2068 };
2069 
2070 /* - MSIOF0 ----------------------------------------------------------------- */
2071 static const unsigned int msiof0_clk_pins[] = {
2072 	/* MSIOF0_SCK */
2073 	RCAR_GP_PIN(1, 8),
2074 };
2075 static const unsigned int msiof0_clk_mux[] = {
2076 	MSIOF0_SCK_MARK,
2077 };
2078 static const unsigned int msiof0_sync_pins[] = {
2079 	/* MSIOF0_SYNC */
2080 	RCAR_GP_PIN(1, 9),
2081 };
2082 static const unsigned int msiof0_sync_mux[] = {
2083 	MSIOF0_SYNC_MARK,
2084 };
2085 static const unsigned int msiof0_ss1_pins[] = {
2086 	/* MSIOF0_SS1 */
2087 	RCAR_GP_PIN(1, 10),
2088 };
2089 static const unsigned int msiof0_ss1_mux[] = {
2090 	MSIOF0_SS1_MARK,
2091 };
2092 static const unsigned int msiof0_ss2_pins[] = {
2093 	/* MSIOF0_SS2 */
2094 	RCAR_GP_PIN(1, 11),
2095 };
2096 static const unsigned int msiof0_ss2_mux[] = {
2097 	MSIOF0_SS2_MARK,
2098 };
2099 static const unsigned int msiof0_txd_pins[] = {
2100 	/* MSIOF0_TXD */
2101 	RCAR_GP_PIN(1, 7),
2102 };
2103 static const unsigned int msiof0_txd_mux[] = {
2104 	MSIOF0_TXD_MARK,
2105 };
2106 static const unsigned int msiof0_rxd_pins[] = {
2107 	/* MSIOF0_RXD */
2108 	RCAR_GP_PIN(1, 6),
2109 };
2110 static const unsigned int msiof0_rxd_mux[] = {
2111 	MSIOF0_RXD_MARK,
2112 };
2113 
2114 /* - MSIOF1 ----------------------------------------------------------------- */
2115 static const unsigned int msiof1_clk_pins[] = {
2116 	/* MSIOF1_SCK */
2117 	RCAR_GP_PIN(1, 14),
2118 };
2119 static const unsigned int msiof1_clk_mux[] = {
2120 	MSIOF1_SCK_MARK,
2121 };
2122 static const unsigned int msiof1_sync_pins[] = {
2123 	/* MSIOF1_SYNC */
2124 	RCAR_GP_PIN(1, 15),
2125 };
2126 static const unsigned int msiof1_sync_mux[] = {
2127 	MSIOF1_SYNC_MARK,
2128 };
2129 static const unsigned int msiof1_ss1_pins[] = {
2130 	/* MSIOF1_SS1 */
2131 	RCAR_GP_PIN(1, 16),
2132 };
2133 static const unsigned int msiof1_ss1_mux[] = {
2134 	MSIOF1_SS1_MARK,
2135 };
2136 static const unsigned int msiof1_ss2_pins[] = {
2137 	/* MSIOF1_SS2 */
2138 	RCAR_GP_PIN(1, 17),
2139 };
2140 static const unsigned int msiof1_ss2_mux[] = {
2141 	MSIOF1_SS2_MARK,
2142 };
2143 static const unsigned int msiof1_txd_pins[] = {
2144 	/* MSIOF1_TXD */
2145 	RCAR_GP_PIN(1, 13),
2146 };
2147 static const unsigned int msiof1_txd_mux[] = {
2148 	MSIOF1_TXD_MARK,
2149 };
2150 static const unsigned int msiof1_rxd_pins[] = {
2151 	/* MSIOF1_RXD */
2152 	RCAR_GP_PIN(1, 12),
2153 };
2154 static const unsigned int msiof1_rxd_mux[] = {
2155 	MSIOF1_RXD_MARK,
2156 };
2157 
2158 /* - MSIOF2 ----------------------------------------------------------------- */
2159 static const unsigned int msiof2_clk_pins[] = {
2160 	/* MSIOF2_SCK */
2161 	RCAR_GP_PIN(1, 20),
2162 };
2163 static const unsigned int msiof2_clk_mux[] = {
2164 	MSIOF2_SCK_MARK,
2165 };
2166 static const unsigned int msiof2_sync_pins[] = {
2167 	/* MSIOF2_SYNC */
2168 	RCAR_GP_PIN(1, 21),
2169 };
2170 static const unsigned int msiof2_sync_mux[] = {
2171 	MSIOF2_SYNC_MARK,
2172 };
2173 static const unsigned int msiof2_ss1_pins[] = {
2174 	/* MSIOF2_SS1 */
2175 	RCAR_GP_PIN(1, 22),
2176 };
2177 static const unsigned int msiof2_ss1_mux[] = {
2178 	MSIOF2_SS1_MARK,
2179 };
2180 static const unsigned int msiof2_ss2_pins[] = {
2181 	/* MSIOF2_SS2 */
2182 	RCAR_GP_PIN(1, 23),
2183 };
2184 static const unsigned int msiof2_ss2_mux[] = {
2185 	MSIOF2_SS2_MARK,
2186 };
2187 static const unsigned int msiof2_txd_pins[] = {
2188 	/* MSIOF2_TXD */
2189 	RCAR_GP_PIN(1, 19),
2190 };
2191 static const unsigned int msiof2_txd_mux[] = {
2192 	MSIOF2_TXD_MARK,
2193 };
2194 static const unsigned int msiof2_rxd_pins[] = {
2195 	/* MSIOF2_RXD */
2196 	RCAR_GP_PIN(1, 18),
2197 };
2198 static const unsigned int msiof2_rxd_mux[] = {
2199 	MSIOF2_RXD_MARK,
2200 };
2201 
2202 /* - MSIOF3 ----------------------------------------------------------------- */
2203 static const unsigned int msiof3_clk_pins[] = {
2204 	/* MSIOF3_SCK */
2205 	RCAR_GP_PIN(2, 20),
2206 };
2207 static const unsigned int msiof3_clk_mux[] = {
2208 	MSIOF3_SCK_MARK,
2209 };
2210 static const unsigned int msiof3_sync_pins[] = {
2211 	/* MSIOF3_SYNC */
2212 	RCAR_GP_PIN(2, 21),
2213 };
2214 static const unsigned int msiof3_sync_mux[] = {
2215 	MSIOF3_SYNC_MARK,
2216 };
2217 static const unsigned int msiof3_ss1_pins[] = {
2218 	/* MSIOF3_SS1 */
2219 	RCAR_GP_PIN(2, 16),
2220 };
2221 static const unsigned int msiof3_ss1_mux[] = {
2222 	MSIOF3_SS1_MARK,
2223 };
2224 static const unsigned int msiof3_ss2_pins[] = {
2225 	/* MSIOF3_SS2 */
2226 	RCAR_GP_PIN(2, 17),
2227 };
2228 static const unsigned int msiof3_ss2_mux[] = {
2229 	MSIOF3_SS2_MARK,
2230 };
2231 static const unsigned int msiof3_txd_pins[] = {
2232 	/* MSIOF3_TXD */
2233 	RCAR_GP_PIN(2, 19),
2234 };
2235 static const unsigned int msiof3_txd_mux[] = {
2236 	MSIOF3_TXD_MARK,
2237 };
2238 static const unsigned int msiof3_rxd_pins[] = {
2239 	/* MSIOF3_RXD */
2240 	RCAR_GP_PIN(2, 18),
2241 };
2242 static const unsigned int msiof3_rxd_mux[] = {
2243 	MSIOF3_RXD_MARK,
2244 };
2245 
2246 /* - MSIOF4 ----------------------------------------------------------------- */
2247 static const unsigned int msiof4_clk_pins[] = {
2248 	/* MSIOF4_SCK */
2249 	RCAR_GP_PIN(2, 6),
2250 };
2251 static const unsigned int msiof4_clk_mux[] = {
2252 	MSIOF4_SCK_MARK,
2253 };
2254 static const unsigned int msiof4_sync_pins[] = {
2255 	/* MSIOF4_SYNC */
2256 	RCAR_GP_PIN(2, 7),
2257 };
2258 static const unsigned int msiof4_sync_mux[] = {
2259 	MSIOF4_SYNC_MARK,
2260 };
2261 static const unsigned int msiof4_ss1_pins[] = {
2262 	/* MSIOF4_SS1 */
2263 	RCAR_GP_PIN(2, 8),
2264 };
2265 static const unsigned int msiof4_ss1_mux[] = {
2266 	MSIOF4_SS1_MARK,
2267 };
2268 static const unsigned int msiof4_ss2_pins[] = {
2269 	/* MSIOF4_SS2 */
2270 	RCAR_GP_PIN(2, 9),
2271 };
2272 static const unsigned int msiof4_ss2_mux[] = {
2273 	MSIOF4_SS2_MARK,
2274 };
2275 static const unsigned int msiof4_txd_pins[] = {
2276 	/* MSIOF4_TXD */
2277 	RCAR_GP_PIN(2, 5),
2278 };
2279 static const unsigned int msiof4_txd_mux[] = {
2280 	MSIOF4_TXD_MARK,
2281 };
2282 static const unsigned int msiof4_rxd_pins[] = {
2283 	/* MSIOF4_RXD */
2284 	RCAR_GP_PIN(2, 4),
2285 };
2286 static const unsigned int msiof4_rxd_mux[] = {
2287 	MSIOF4_RXD_MARK,
2288 };
2289 
2290 /* - MSIOF5 ----------------------------------------------------------------- */
2291 static const unsigned int msiof5_clk_pins[] = {
2292 	/* MSIOF5_SCK */
2293 	RCAR_GP_PIN(2, 12),
2294 };
2295 static const unsigned int msiof5_clk_mux[] = {
2296 	MSIOF5_SCK_MARK,
2297 };
2298 static const unsigned int msiof5_sync_pins[] = {
2299 	/* MSIOF5_SYNC */
2300 	RCAR_GP_PIN(2, 13),
2301 };
2302 static const unsigned int msiof5_sync_mux[] = {
2303 	MSIOF5_SYNC_MARK,
2304 };
2305 static const unsigned int msiof5_ss1_pins[] = {
2306 	/* MSIOF5_SS1 */
2307 	RCAR_GP_PIN(2, 14),
2308 };
2309 static const unsigned int msiof5_ss1_mux[] = {
2310 	MSIOF5_SS1_MARK,
2311 };
2312 static const unsigned int msiof5_ss2_pins[] = {
2313 	/* MSIOF5_SS2 */
2314 	RCAR_GP_PIN(2, 15),
2315 };
2316 static const unsigned int msiof5_ss2_mux[] = {
2317 	MSIOF5_SS2_MARK,
2318 };
2319 static const unsigned int msiof5_txd_pins[] = {
2320 	/* MSIOF5_TXD */
2321 	RCAR_GP_PIN(2, 11),
2322 };
2323 static const unsigned int msiof5_txd_mux[] = {
2324 	MSIOF5_TXD_MARK,
2325 };
2326 static const unsigned int msiof5_rxd_pins[] = {
2327 	/* MSIOF5_RXD */
2328 	RCAR_GP_PIN(2, 10),
2329 };
2330 static const unsigned int msiof5_rxd_mux[] = {
2331 	MSIOF5_RXD_MARK,
2332 };
2333 
2334 /* - PWM0 ------------------------------------------------------------------- */
2335 static const unsigned int pwm0_pins[] = {
2336 	/* PWM0 */
2337 	RCAR_GP_PIN(3, 5),
2338 };
2339 static const unsigned int pwm0_mux[] = {
2340 	PWM0_MARK,
2341 };
2342 
2343 /* - PWM1 ------------------------------------------------------------------- */
2344 static const unsigned int pwm1_pins[] = {
2345 	/* PWM1 */
2346 	RCAR_GP_PIN(3, 6),
2347 };
2348 static const unsigned int pwm1_mux[] = {
2349 	PWM1_MARK,
2350 };
2351 
2352 /* - PWM2 ------------------------------------------------------------------- */
2353 static const unsigned int pwm2_pins[] = {
2354 	/* PWM2 */
2355 	RCAR_GP_PIN(3, 7),
2356 };
2357 static const unsigned int pwm2_mux[] = {
2358 	PWM2_MARK,
2359 };
2360 
2361 /* - PWM3 ------------------------------------------------------------------- */
2362 static const unsigned int pwm3_pins[] = {
2363 	/* PWM3 */
2364 	RCAR_GP_PIN(3, 8),
2365 };
2366 static const unsigned int pwm3_mux[] = {
2367 	PWM3_MARK,
2368 };
2369 
2370 /* - PWM4 ------------------------------------------------------------------- */
2371 static const unsigned int pwm4_pins[] = {
2372 	/* PWM4 */
2373 	RCAR_GP_PIN(3, 9),
2374 };
2375 static const unsigned int pwm4_mux[] = {
2376 	PWM4_MARK,
2377 };
2378 
2379 /* - QSPI0 ------------------------------------------------------------------ */
2380 static const unsigned int qspi0_ctrl_pins[] = {
2381 	/* SPCLK, SSL */
2382 	RCAR_GP_PIN(0, 0), RCAR_GP_PIN(0, 5),
2383 };
2384 static const unsigned int qspi0_ctrl_mux[] = {
2385 	QSPI0_SPCLK_MARK, QSPI0_SSL_MARK,
2386 };
2387 static const unsigned int qspi0_data2_pins[] = {
2388 	/* MOSI_IO0, MISO_IO1 */
2389 	RCAR_GP_PIN(0, 1), RCAR_GP_PIN(0, 2),
2390 };
2391 static const unsigned int qspi0_data2_mux[] = {
2392 	QSPI0_MOSI_IO0_MARK, QSPI0_MISO_IO1_MARK,
2393 };
2394 static const unsigned int qspi0_data4_pins[] = {
2395 	/* MOSI_IO0, MISO_IO1, IO2, IO3 */
2396 	RCAR_GP_PIN(0, 1), RCAR_GP_PIN(0, 2),
2397 	RCAR_GP_PIN(0, 3), RCAR_GP_PIN(0, 4),
2398 };
2399 static const unsigned int qspi0_data4_mux[] = {
2400 	QSPI0_MOSI_IO0_MARK, QSPI0_MISO_IO1_MARK,
2401 	QSPI0_IO2_MARK, QSPI0_IO3_MARK
2402 };
2403 
2404 /* - QSPI1 ------------------------------------------------------------------ */
2405 static const unsigned int qspi1_ctrl_pins[] = {
2406 	/* SPCLK, SSL */
2407 	RCAR_GP_PIN(0, 6), RCAR_GP_PIN(0, 11),
2408 };
2409 static const unsigned int qspi1_ctrl_mux[] = {
2410 	QSPI1_SPCLK_MARK, QSPI1_SSL_MARK,
2411 };
2412 static const unsigned int qspi1_data2_pins[] = {
2413 	/* MOSI_IO0, MISO_IO1 */
2414 	RCAR_GP_PIN(0, 7), RCAR_GP_PIN(0, 8),
2415 };
2416 static const unsigned int qspi1_data2_mux[] = {
2417 	QSPI1_MOSI_IO0_MARK, QSPI1_MISO_IO1_MARK,
2418 };
2419 static const unsigned int qspi1_data4_pins[] = {
2420 	/* MOSI_IO0, MISO_IO1, IO2, IO3 */
2421 	RCAR_GP_PIN(0, 7), RCAR_GP_PIN(0, 8),
2422 	RCAR_GP_PIN(0, 9), RCAR_GP_PIN(0, 10),
2423 };
2424 static const unsigned int qspi1_data4_mux[] = {
2425 	QSPI1_MOSI_IO0_MARK, QSPI1_MISO_IO1_MARK,
2426 	QSPI1_IO2_MARK, QSPI1_IO3_MARK
2427 };
2428 
2429 /* - SCIF0 ------------------------------------------------------------------ */
2430 static const unsigned int scif0_data_pins[] = {
2431 	/* RX0, TX0 */
2432 	RCAR_GP_PIN(1, 1), RCAR_GP_PIN(1, 5),
2433 };
2434 static const unsigned int scif0_data_mux[] = {
2435 	RX0_MARK, TX0_MARK,
2436 };
2437 static const unsigned int scif0_clk_pins[] = {
2438 	/* SCK0 */
2439 	RCAR_GP_PIN(1, 2),
2440 };
2441 static const unsigned int scif0_clk_mux[] = {
2442 	SCK0_MARK,
2443 };
2444 static const unsigned int scif0_ctrl_pins[] = {
2445 	/* RTS0#, CTS0# */
2446 	RCAR_GP_PIN(1, 3), RCAR_GP_PIN(1, 4),
2447 };
2448 static const unsigned int scif0_ctrl_mux[] = {
2449 	RTS0_N_MARK, CTS0_N_MARK,
2450 };
2451 
2452 /* - SCIF1 ------------------------------------------------------------------ */
2453 static const unsigned int scif1_data_a_pins[] = {
2454 	/* RX, TX */
2455 	RCAR_GP_PIN(1, 21), RCAR_GP_PIN(1, 22),
2456 };
2457 static const unsigned int scif1_data_a_mux[] = {
2458 	RX1_A_MARK, TX1_A_MARK,
2459 };
2460 static const unsigned int scif1_data_b_pins[] = {
2461 	/* RX, TX */
2462 	RCAR_GP_PIN(3, 2), RCAR_GP_PIN(3, 1),
2463 };
2464 static const unsigned int scif1_data_b_mux[] = {
2465 	RX1_B_MARK, TX1_B_MARK,
2466 };
2467 static const unsigned int scif1_clk_pins[] = {
2468 	/* SCK1 */
2469 	RCAR_GP_PIN(1, 18),
2470 };
2471 static const unsigned int scif1_clk_mux[] = {
2472 	SCK1_MARK,
2473 };
2474 static const unsigned int scif1_ctrl_pins[] = {
2475 	/* RTS1#, CTS1# */
2476 	RCAR_GP_PIN(1, 20), RCAR_GP_PIN(1, 19),
2477 };
2478 static const unsigned int scif1_ctrl_mux[] = {
2479 	RTS1_N_MARK, CTS1_N_MARK,
2480 };
2481 
2482 /* - SCIF3 ------------------------------------------------------------------ */
2483 static const unsigned int scif3_data_pins[] = {
2484 	/* RX3, TX3 */
2485 	RCAR_GP_PIN(1, 16), RCAR_GP_PIN(1, 17),
2486 };
2487 static const unsigned int scif3_data_mux[] = {
2488 	RX3_MARK, TX3_MARK,
2489 };
2490 static const unsigned int scif3_clk_pins[] = {
2491 	/* SCK3 */
2492 	RCAR_GP_PIN(1, 13),
2493 };
2494 static const unsigned int scif3_clk_mux[] = {
2495 	SCK3_MARK,
2496 };
2497 static const unsigned int scif3_ctrl_pins[] = {
2498 	/* RTS3#, CTS3# */
2499 	RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 14),
2500 };
2501 static const unsigned int scif3_ctrl_mux[] = {
2502 	RTS3_N_MARK, CTS3_N_MARK,
2503 };
2504 
2505 /* - SCIF4 ------------------------------------------------------------------ */
2506 static const unsigned int scif4_data_pins[] = {
2507 	/* RX4, TX4 */
2508 	RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 9),
2509 };
2510 static const unsigned int scif4_data_mux[] = {
2511 	RX4_MARK, TX4_MARK,
2512 };
2513 static const unsigned int scif4_clk_pins[] = {
2514 	/* SCK4 */
2515 	RCAR_GP_PIN(2, 5),
2516 };
2517 static const unsigned int scif4_clk_mux[] = {
2518 	SCK4_MARK,
2519 };
2520 static const unsigned int scif4_ctrl_pins[] = {
2521 	/* RTS4#, CTS4# */
2522 	RCAR_GP_PIN(2, 7), RCAR_GP_PIN(2, 6),
2523 };
2524 static const unsigned int scif4_ctrl_mux[] = {
2525 	RTS4_N_MARK, CTS4_N_MARK,
2526 };
2527 
2528 /* - SCIF Clock ------------------------------------------------------------- */
2529 static const unsigned int scif_clk_pins[] = {
2530 	/* SCIF_CLK */
2531 	RCAR_GP_PIN(1, 0),
2532 };
2533 static const unsigned int scif_clk_mux[] = {
2534 	SCIF_CLK_MARK,
2535 };
2536 
2537 /* - TMU -------------------------------------------------------------------- */
2538 static const unsigned int tmu_tclk1_a_pins[] = {
2539 	/* TCLK1 */
2540 	RCAR_GP_PIN(2, 23),
2541 };
2542 static const unsigned int tmu_tclk1_a_mux[] = {
2543 	TCLK1_A_MARK,
2544 };
2545 static const unsigned int tmu_tclk1_b_pins[] = {
2546 	/* TCLK1 */
2547 	RCAR_GP_PIN(1, 23),
2548 };
2549 static const unsigned int tmu_tclk1_b_mux[] = {
2550 	TCLK1_B_MARK,
2551 };
2552 
2553 static const unsigned int tmu_tclk2_a_pins[] = {
2554 	/* TCLK2 */
2555 	RCAR_GP_PIN(2, 24),
2556 };
2557 static const unsigned int tmu_tclk2_a_mux[] = {
2558 	TCLK2_A_MARK,
2559 };
2560 static const unsigned int tmu_tclk2_b_pins[] = {
2561 	/* TCLK2 */
2562 	RCAR_GP_PIN(2, 10),
2563 };
2564 static const unsigned int tmu_tclk2_b_mux[] = {
2565 	TCLK2_B_MARK,
2566 };
2567 
2568 static const unsigned int tmu_tclk3_pins[] = {
2569 	/* TCLK3 */
2570 	RCAR_GP_PIN(2, 11),
2571 };
2572 static const unsigned int tmu_tclk3_mux[] = {
2573 	TCLK3_MARK,
2574 };
2575 
2576 static const unsigned int tmu_tclk4_pins[] = {
2577 	/* TCLK4 */
2578 	RCAR_GP_PIN(2, 12),
2579 };
2580 static const unsigned int tmu_tclk4_mux[] = {
2581 	TCLK4_MARK,
2582 };
2583 
2584 /* - TPU ------------------------------------------------------------------- */
2585 static const unsigned int tpu_to0_pins[] = {
2586 	/* TPU0TO0 */
2587 	RCAR_GP_PIN(2, 21),
2588 };
2589 static const unsigned int tpu_to0_mux[] = {
2590 	TPU0TO0_MARK,
2591 };
2592 static const unsigned int tpu_to1_pins[] = {
2593 	/* TPU0TO1 */
2594 	RCAR_GP_PIN(2, 22),
2595 };
2596 static const unsigned int tpu_to1_mux[] = {
2597 	TPU0TO1_MARK,
2598 };
2599 static const unsigned int tpu_to2_pins[] = {
2600 	/* TPU0TO2 */
2601 	RCAR_GP_PIN(3, 5),
2602 };
2603 static const unsigned int tpu_to2_mux[] = {
2604 	TPU0TO2_MARK,
2605 };
2606 static const unsigned int tpu_to3_pins[] = {
2607 	/* TPU0TO3 */
2608 	RCAR_GP_PIN(3, 6),
2609 };
2610 static const unsigned int tpu_to3_mux[] = {
2611 	TPU0TO3_MARK,
2612 };
2613 
2614 static const struct sh_pfc_pin_group pinmux_groups[] = {
2615 	SH_PFC_PIN_GROUP(avb0_link),
2616 	SH_PFC_PIN_GROUP(avb0_magic),
2617 	SH_PFC_PIN_GROUP(avb0_phy_int),
2618 	SH_PFC_PIN_GROUP(avb0_mdio),
2619 	SH_PFC_PIN_GROUP(avb0_rgmii),
2620 	SH_PFC_PIN_GROUP(avb0_txcrefclk),
2621 	SH_PFC_PIN_GROUP(avb0_avtp_pps),
2622 	SH_PFC_PIN_GROUP(avb0_avtp_capture),
2623 	SH_PFC_PIN_GROUP(avb0_avtp_match),
2624 
2625 	SH_PFC_PIN_GROUP(avb1_link),
2626 	SH_PFC_PIN_GROUP(avb1_magic),
2627 	SH_PFC_PIN_GROUP(avb1_phy_int),
2628 	SH_PFC_PIN_GROUP(avb1_mdio),
2629 	SH_PFC_PIN_GROUP(avb1_rgmii),
2630 	SH_PFC_PIN_GROUP(avb1_txcrefclk),
2631 	SH_PFC_PIN_GROUP(avb1_avtp_pps),
2632 	SH_PFC_PIN_GROUP(avb1_avtp_capture),
2633 	SH_PFC_PIN_GROUP(avb1_avtp_match),
2634 
2635 	SH_PFC_PIN_GROUP(avb2_link),
2636 	SH_PFC_PIN_GROUP(avb2_magic),
2637 	SH_PFC_PIN_GROUP(avb2_phy_int),
2638 	SH_PFC_PIN_GROUP(avb2_mdio),
2639 	SH_PFC_PIN_GROUP(avb2_rgmii),
2640 	SH_PFC_PIN_GROUP(avb2_txcrefclk),
2641 	SH_PFC_PIN_GROUP(avb2_avtp_pps),
2642 	SH_PFC_PIN_GROUP(avb2_avtp_capture),
2643 	SH_PFC_PIN_GROUP(avb2_avtp_match),
2644 
2645 	SH_PFC_PIN_GROUP(avb3_link),
2646 	SH_PFC_PIN_GROUP(avb3_magic),
2647 	SH_PFC_PIN_GROUP(avb3_phy_int),
2648 	SH_PFC_PIN_GROUP(avb3_mdio),
2649 	SH_PFC_PIN_GROUP(avb3_rgmii),
2650 	SH_PFC_PIN_GROUP(avb3_txcrefclk),
2651 	SH_PFC_PIN_GROUP(avb3_avtp_pps),
2652 	SH_PFC_PIN_GROUP(avb3_avtp_capture),
2653 	SH_PFC_PIN_GROUP(avb3_avtp_match),
2654 
2655 	SH_PFC_PIN_GROUP(avb4_link),
2656 	SH_PFC_PIN_GROUP(avb4_magic),
2657 	SH_PFC_PIN_GROUP(avb4_phy_int),
2658 	SH_PFC_PIN_GROUP(avb4_mdio),
2659 	SH_PFC_PIN_GROUP(avb4_rgmii),
2660 	SH_PFC_PIN_GROUP(avb4_txcrefclk),
2661 	SH_PFC_PIN_GROUP(avb4_avtp_pps),
2662 	SH_PFC_PIN_GROUP(avb4_avtp_capture),
2663 	SH_PFC_PIN_GROUP(avb4_avtp_match),
2664 
2665 	SH_PFC_PIN_GROUP(avb5_link),
2666 	SH_PFC_PIN_GROUP(avb5_magic),
2667 	SH_PFC_PIN_GROUP(avb5_phy_int),
2668 	SH_PFC_PIN_GROUP(avb5_mdio),
2669 	SH_PFC_PIN_GROUP(avb5_rgmii),
2670 	SH_PFC_PIN_GROUP(avb5_txcrefclk),
2671 	SH_PFC_PIN_GROUP(avb5_avtp_pps),
2672 	SH_PFC_PIN_GROUP(avb5_avtp_capture),
2673 	SH_PFC_PIN_GROUP(avb5_avtp_match),
2674 
2675 	SH_PFC_PIN_GROUP(canfd0_data),
2676 	SH_PFC_PIN_GROUP(canfd1_data),
2677 	SH_PFC_PIN_GROUP(canfd2_data),
2678 	SH_PFC_PIN_GROUP(canfd3_data),
2679 	SH_PFC_PIN_GROUP(canfd4_data),
2680 	SH_PFC_PIN_GROUP(canfd5_data),
2681 	SH_PFC_PIN_GROUP(canfd6_data),
2682 	SH_PFC_PIN_GROUP(canfd7_data),
2683 	SH_PFC_PIN_GROUP(can_clk),
2684 
2685 	SH_PFC_PIN_GROUP(du_rgb888),
2686 	SH_PFC_PIN_GROUP(du_clk_out),
2687 	SH_PFC_PIN_GROUP(du_sync),
2688 	SH_PFC_PIN_GROUP(du_oddf),
2689 
2690 	SH_PFC_PIN_GROUP(hscif0_data),
2691 	SH_PFC_PIN_GROUP(hscif0_clk),
2692 	SH_PFC_PIN_GROUP(hscif0_ctrl),
2693 	SH_PFC_PIN_GROUP(hscif1_data),
2694 	SH_PFC_PIN_GROUP(hscif1_clk),
2695 	SH_PFC_PIN_GROUP(hscif1_ctrl),
2696 	SH_PFC_PIN_GROUP(hscif2_data),
2697 	SH_PFC_PIN_GROUP(hscif2_clk),
2698 	SH_PFC_PIN_GROUP(hscif2_ctrl),
2699 	SH_PFC_PIN_GROUP(hscif3_data),
2700 	SH_PFC_PIN_GROUP(hscif3_clk),
2701 	SH_PFC_PIN_GROUP(hscif3_ctrl),
2702 
2703 	SH_PFC_PIN_GROUP(i2c0),
2704 	SH_PFC_PIN_GROUP(i2c1),
2705 	SH_PFC_PIN_GROUP(i2c2),
2706 	SH_PFC_PIN_GROUP(i2c3),
2707 	SH_PFC_PIN_GROUP(i2c4),
2708 	SH_PFC_PIN_GROUP(i2c5),
2709 	SH_PFC_PIN_GROUP(i2c6),
2710 
2711 	SH_PFC_PIN_GROUP(intc_ex_irq0),
2712 	SH_PFC_PIN_GROUP(intc_ex_irq1),
2713 	SH_PFC_PIN_GROUP(intc_ex_irq2),
2714 	SH_PFC_PIN_GROUP(intc_ex_irq3),
2715 	SH_PFC_PIN_GROUP(intc_ex_irq4),
2716 	SH_PFC_PIN_GROUP(intc_ex_irq5),
2717 
2718 	SH_PFC_PIN_GROUP(mmc_data1),
2719 	SH_PFC_PIN_GROUP(mmc_data4),
2720 	SH_PFC_PIN_GROUP(mmc_data8),
2721 	SH_PFC_PIN_GROUP(mmc_ctrl),
2722 	SH_PFC_PIN_GROUP(mmc_cd),
2723 	SH_PFC_PIN_GROUP(mmc_wp),
2724 	SH_PFC_PIN_GROUP(mmc_ds),
2725 
2726 	SH_PFC_PIN_GROUP(msiof0_clk),
2727 	SH_PFC_PIN_GROUP(msiof0_sync),
2728 	SH_PFC_PIN_GROUP(msiof0_ss1),
2729 	SH_PFC_PIN_GROUP(msiof0_ss2),
2730 	SH_PFC_PIN_GROUP(msiof0_txd),
2731 	SH_PFC_PIN_GROUP(msiof0_rxd),
2732 	SH_PFC_PIN_GROUP(msiof1_clk),
2733 	SH_PFC_PIN_GROUP(msiof1_sync),
2734 	SH_PFC_PIN_GROUP(msiof1_ss1),
2735 	SH_PFC_PIN_GROUP(msiof1_ss2),
2736 	SH_PFC_PIN_GROUP(msiof1_txd),
2737 	SH_PFC_PIN_GROUP(msiof1_rxd),
2738 	SH_PFC_PIN_GROUP(msiof2_clk),
2739 	SH_PFC_PIN_GROUP(msiof2_sync),
2740 	SH_PFC_PIN_GROUP(msiof2_ss1),
2741 	SH_PFC_PIN_GROUP(msiof2_ss2),
2742 	SH_PFC_PIN_GROUP(msiof2_txd),
2743 	SH_PFC_PIN_GROUP(msiof2_rxd),
2744 	SH_PFC_PIN_GROUP(msiof3_clk),
2745 	SH_PFC_PIN_GROUP(msiof3_sync),
2746 	SH_PFC_PIN_GROUP(msiof3_ss1),
2747 	SH_PFC_PIN_GROUP(msiof3_ss2),
2748 	SH_PFC_PIN_GROUP(msiof3_txd),
2749 	SH_PFC_PIN_GROUP(msiof3_rxd),
2750 	SH_PFC_PIN_GROUP(msiof4_clk),
2751 	SH_PFC_PIN_GROUP(msiof4_sync),
2752 	SH_PFC_PIN_GROUP(msiof4_ss1),
2753 	SH_PFC_PIN_GROUP(msiof4_ss2),
2754 	SH_PFC_PIN_GROUP(msiof4_txd),
2755 	SH_PFC_PIN_GROUP(msiof4_rxd),
2756 	SH_PFC_PIN_GROUP(msiof5_clk),
2757 	SH_PFC_PIN_GROUP(msiof5_sync),
2758 	SH_PFC_PIN_GROUP(msiof5_ss1),
2759 	SH_PFC_PIN_GROUP(msiof5_ss2),
2760 	SH_PFC_PIN_GROUP(msiof5_txd),
2761 	SH_PFC_PIN_GROUP(msiof5_rxd),
2762 
2763 	SH_PFC_PIN_GROUP(pwm0),
2764 	SH_PFC_PIN_GROUP(pwm1),
2765 	SH_PFC_PIN_GROUP(pwm2),
2766 	SH_PFC_PIN_GROUP(pwm3),
2767 	SH_PFC_PIN_GROUP(pwm4),
2768 
2769 	SH_PFC_PIN_GROUP(qspi0_ctrl),
2770 	SH_PFC_PIN_GROUP(qspi0_data2),
2771 	SH_PFC_PIN_GROUP(qspi0_data4),
2772 	SH_PFC_PIN_GROUP(qspi1_ctrl),
2773 	SH_PFC_PIN_GROUP(qspi1_data2),
2774 	SH_PFC_PIN_GROUP(qspi1_data4),
2775 
2776 	SH_PFC_PIN_GROUP(scif0_data),
2777 	SH_PFC_PIN_GROUP(scif0_clk),
2778 	SH_PFC_PIN_GROUP(scif0_ctrl),
2779 	SH_PFC_PIN_GROUP(scif1_data_a),
2780 	SH_PFC_PIN_GROUP(scif1_data_b),
2781 	SH_PFC_PIN_GROUP(scif1_clk),
2782 	SH_PFC_PIN_GROUP(scif1_ctrl),
2783 	SH_PFC_PIN_GROUP(scif3_data),
2784 	SH_PFC_PIN_GROUP(scif3_clk),
2785 	SH_PFC_PIN_GROUP(scif3_ctrl),
2786 	SH_PFC_PIN_GROUP(scif4_data),
2787 	SH_PFC_PIN_GROUP(scif4_clk),
2788 	SH_PFC_PIN_GROUP(scif4_ctrl),
2789 	SH_PFC_PIN_GROUP(scif_clk),
2790 
2791 	SH_PFC_PIN_GROUP(tmu_tclk1_a),
2792 	SH_PFC_PIN_GROUP(tmu_tclk1_b),
2793 	SH_PFC_PIN_GROUP(tmu_tclk2_a),
2794 	SH_PFC_PIN_GROUP(tmu_tclk2_b),
2795 	SH_PFC_PIN_GROUP(tmu_tclk3),
2796 	SH_PFC_PIN_GROUP(tmu_tclk4),
2797 
2798 	SH_PFC_PIN_GROUP(tpu_to0),
2799 	SH_PFC_PIN_GROUP(tpu_to1),
2800 	SH_PFC_PIN_GROUP(tpu_to2),
2801 	SH_PFC_PIN_GROUP(tpu_to3),
2802 };
2803 
2804 static const char * const avb0_groups[] = {
2805 	"avb0_link",
2806 	"avb0_magic",
2807 	"avb0_phy_int",
2808 	"avb0_mdio",
2809 	"avb0_rgmii",
2810 	"avb0_txcrefclk",
2811 	"avb0_avtp_pps",
2812 	"avb0_avtp_capture",
2813 	"avb0_avtp_match",
2814 };
2815 
2816 static const char * const avb1_groups[] = {
2817 	"avb1_link",
2818 	"avb1_magic",
2819 	"avb1_phy_int",
2820 	"avb1_mdio",
2821 	"avb1_rgmii",
2822 	"avb1_txcrefclk",
2823 	"avb1_avtp_pps",
2824 	"avb1_avtp_capture",
2825 	"avb1_avtp_match",
2826 };
2827 
2828 static const char * const avb2_groups[] = {
2829 	"avb2_link",
2830 	"avb2_magic",
2831 	"avb2_phy_int",
2832 	"avb2_mdio",
2833 	"avb2_rgmii",
2834 	"avb2_txcrefclk",
2835 	"avb2_avtp_pps",
2836 	"avb2_avtp_capture",
2837 	"avb2_avtp_match",
2838 };
2839 
2840 static const char * const avb3_groups[] = {
2841 	"avb3_link",
2842 	"avb3_magic",
2843 	"avb3_phy_int",
2844 	"avb3_mdio",
2845 	"avb3_rgmii",
2846 	"avb3_txcrefclk",
2847 	"avb3_avtp_pps",
2848 	"avb3_avtp_capture",
2849 	"avb3_avtp_match",
2850 };
2851 
2852 static const char * const avb4_groups[] = {
2853 	"avb4_link",
2854 	"avb4_magic",
2855 	"avb4_phy_int",
2856 	"avb4_mdio",
2857 	"avb4_rgmii",
2858 	"avb4_txcrefclk",
2859 	"avb4_avtp_pps",
2860 	"avb4_avtp_capture",
2861 	"avb4_avtp_match",
2862 };
2863 
2864 static const char * const avb5_groups[] = {
2865 	"avb5_link",
2866 	"avb5_magic",
2867 	"avb5_phy_int",
2868 	"avb5_mdio",
2869 	"avb5_rgmii",
2870 	"avb5_txcrefclk",
2871 	"avb5_avtp_pps",
2872 	"avb5_avtp_capture",
2873 	"avb5_avtp_match",
2874 };
2875 
2876 static const char * const canfd0_groups[] = {
2877 	"canfd0_data",
2878 };
2879 
2880 static const char * const canfd1_groups[] = {
2881 	"canfd1_data",
2882 };
2883 
2884 static const char * const canfd2_groups[] = {
2885 	"canfd2_data",
2886 };
2887 
2888 static const char * const canfd3_groups[] = {
2889 	"canfd3_data",
2890 };
2891 
2892 static const char * const canfd4_groups[] = {
2893 	"canfd4_data",
2894 };
2895 
2896 static const char * const canfd5_groups[] = {
2897 	"canfd5_data",
2898 };
2899 
2900 static const char * const canfd6_groups[] = {
2901 	"canfd6_data",
2902 };
2903 
2904 static const char * const canfd7_groups[] = {
2905 	"canfd7_data",
2906 };
2907 
2908 static const char * const can_clk_groups[] = {
2909 	"can_clk",
2910 };
2911 
2912 static const char * const du_groups[] = {
2913 	"du_rgb888",
2914 	"du_clk_out",
2915 	"du_sync",
2916 	"du_oddf",
2917 };
2918 
2919 static const char * const hscif0_groups[] = {
2920 	"hscif0_data",
2921 	"hscif0_clk",
2922 	"hscif0_ctrl",
2923 };
2924 
2925 static const char * const hscif1_groups[] = {
2926 	"hscif1_data",
2927 	"hscif1_clk",
2928 	"hscif1_ctrl",
2929 };
2930 
2931 static const char * const hscif2_groups[] = {
2932 	"hscif2_data",
2933 	"hscif2_clk",
2934 	"hscif2_ctrl",
2935 };
2936 
2937 static const char * const hscif3_groups[] = {
2938 	"hscif3_data",
2939 	"hscif3_clk",
2940 	"hscif3_ctrl",
2941 };
2942 
2943 static const char * const i2c0_groups[] = {
2944 	"i2c0",
2945 };
2946 
2947 static const char * const i2c1_groups[] = {
2948 	"i2c1",
2949 };
2950 
2951 static const char * const i2c2_groups[] = {
2952 	"i2c2",
2953 };
2954 
2955 static const char * const i2c3_groups[] = {
2956 	"i2c3",
2957 };
2958 
2959 static const char * const i2c4_groups[] = {
2960 	"i2c4",
2961 };
2962 
2963 static const char * const i2c5_groups[] = {
2964 	"i2c5",
2965 };
2966 
2967 static const char * const i2c6_groups[] = {
2968 	"i2c6",
2969 };
2970 
2971 static const char * const intc_ex_groups[] = {
2972 	"intc_ex_irq0",
2973 	"intc_ex_irq1",
2974 	"intc_ex_irq2",
2975 	"intc_ex_irq3",
2976 	"intc_ex_irq4",
2977 	"intc_ex_irq5",
2978 };
2979 
2980 static const char * const mmc_groups[] = {
2981 	"mmc_data1",
2982 	"mmc_data4",
2983 	"mmc_data8",
2984 	"mmc_ctrl",
2985 	"mmc_cd",
2986 	"mmc_wp",
2987 	"mmc_ds",
2988 };
2989 
2990 static const char * const msiof0_groups[] = {
2991 	"msiof0_clk",
2992 	"msiof0_sync",
2993 	"msiof0_ss1",
2994 	"msiof0_ss2",
2995 	"msiof0_txd",
2996 	"msiof0_rxd",
2997 };
2998 
2999 static const char * const msiof1_groups[] = {
3000 	"msiof1_clk",
3001 	"msiof1_sync",
3002 	"msiof1_ss1",
3003 	"msiof1_ss2",
3004 	"msiof1_txd",
3005 	"msiof1_rxd",
3006 };
3007 
3008 static const char * const msiof2_groups[] = {
3009 	"msiof2_clk",
3010 	"msiof2_sync",
3011 	"msiof2_ss1",
3012 	"msiof2_ss2",
3013 	"msiof2_txd",
3014 	"msiof2_rxd",
3015 };
3016 
3017 static const char * const msiof3_groups[] = {
3018 	"msiof3_clk",
3019 	"msiof3_sync",
3020 	"msiof3_ss1",
3021 	"msiof3_ss2",
3022 	"msiof3_txd",
3023 	"msiof3_rxd",
3024 };
3025 
3026 static const char * const msiof4_groups[] = {
3027 	"msiof4_clk",
3028 	"msiof4_sync",
3029 	"msiof4_ss1",
3030 	"msiof4_ss2",
3031 	"msiof4_txd",
3032 	"msiof4_rxd",
3033 };
3034 
3035 static const char * const msiof5_groups[] = {
3036 	"msiof5_clk",
3037 	"msiof5_sync",
3038 	"msiof5_ss1",
3039 	"msiof5_ss2",
3040 	"msiof5_txd",
3041 	"msiof5_rxd",
3042 };
3043 
3044 static const char * const pwm0_groups[] = {
3045 	"pwm0",
3046 };
3047 
3048 static const char * const pwm1_groups[] = {
3049 	"pwm1",
3050 };
3051 
3052 static const char * const pwm2_groups[] = {
3053 	"pwm2",
3054 };
3055 
3056 static const char * const pwm3_groups[] = {
3057 	"pwm3",
3058 };
3059 
3060 static const char * const pwm4_groups[] = {
3061 	"pwm4",
3062 };
3063 
3064 static const char * const qspi0_groups[] = {
3065 	"qspi0_ctrl",
3066 	"qspi0_data2",
3067 	"qspi0_data4",
3068 };
3069 
3070 static const char * const qspi1_groups[] = {
3071 	"qspi1_ctrl",
3072 	"qspi1_data2",
3073 	"qspi1_data4",
3074 };
3075 
3076 static const char * const scif0_groups[] = {
3077 	"scif0_data",
3078 	"scif0_clk",
3079 	"scif0_ctrl",
3080 };
3081 
3082 static const char * const scif1_groups[] = {
3083 	"scif1_data_a",
3084 	"scif1_data_b",
3085 	"scif1_clk",
3086 	"scif1_ctrl",
3087 };
3088 
3089 static const char * const scif3_groups[] = {
3090 	"scif3_data",
3091 	"scif3_clk",
3092 	"scif3_ctrl",
3093 };
3094 
3095 static const char * const scif4_groups[] = {
3096 	"scif4_data",
3097 	"scif4_clk",
3098 	"scif4_ctrl",
3099 };
3100 
3101 static const char * const scif_clk_groups[] = {
3102 	"scif_clk",
3103 };
3104 
3105 static const char * const tmu_groups[] = {
3106 	"tmu_tclk1_a",
3107 	"tmu_tclk1_b",
3108 	"tmu_tclk2_a",
3109 	"tmu_tclk2_b",
3110 	"tmu_tclk3",
3111 	"tmu_tclk4",
3112 };
3113 
3114 static const char * const tpu_groups[] = {
3115 	"tpu_to0",
3116 	"tpu_to1",
3117 	"tpu_to2",
3118 	"tpu_to3",
3119 };
3120 
3121 static const struct sh_pfc_function pinmux_functions[] = {
3122 	SH_PFC_FUNCTION(avb0),
3123 	SH_PFC_FUNCTION(avb1),
3124 	SH_PFC_FUNCTION(avb2),
3125 	SH_PFC_FUNCTION(avb3),
3126 	SH_PFC_FUNCTION(avb4),
3127 	SH_PFC_FUNCTION(avb5),
3128 
3129 	SH_PFC_FUNCTION(canfd0),
3130 	SH_PFC_FUNCTION(canfd1),
3131 	SH_PFC_FUNCTION(canfd2),
3132 	SH_PFC_FUNCTION(canfd3),
3133 	SH_PFC_FUNCTION(canfd4),
3134 	SH_PFC_FUNCTION(canfd5),
3135 	SH_PFC_FUNCTION(canfd6),
3136 	SH_PFC_FUNCTION(canfd7),
3137 	SH_PFC_FUNCTION(can_clk),
3138 
3139 	SH_PFC_FUNCTION(du),
3140 
3141 	SH_PFC_FUNCTION(hscif0),
3142 	SH_PFC_FUNCTION(hscif1),
3143 	SH_PFC_FUNCTION(hscif2),
3144 	SH_PFC_FUNCTION(hscif3),
3145 
3146 	SH_PFC_FUNCTION(i2c0),
3147 	SH_PFC_FUNCTION(i2c1),
3148 	SH_PFC_FUNCTION(i2c2),
3149 	SH_PFC_FUNCTION(i2c3),
3150 	SH_PFC_FUNCTION(i2c4),
3151 	SH_PFC_FUNCTION(i2c5),
3152 	SH_PFC_FUNCTION(i2c6),
3153 
3154 	SH_PFC_FUNCTION(intc_ex),
3155 
3156 	SH_PFC_FUNCTION(mmc),
3157 
3158 	SH_PFC_FUNCTION(msiof0),
3159 	SH_PFC_FUNCTION(msiof1),
3160 	SH_PFC_FUNCTION(msiof2),
3161 	SH_PFC_FUNCTION(msiof3),
3162 	SH_PFC_FUNCTION(msiof4),
3163 	SH_PFC_FUNCTION(msiof5),
3164 
3165 	SH_PFC_FUNCTION(pwm0),
3166 	SH_PFC_FUNCTION(pwm1),
3167 	SH_PFC_FUNCTION(pwm2),
3168 	SH_PFC_FUNCTION(pwm3),
3169 	SH_PFC_FUNCTION(pwm4),
3170 
3171 	SH_PFC_FUNCTION(qspi0),
3172 	SH_PFC_FUNCTION(qspi1),
3173 
3174 	SH_PFC_FUNCTION(scif0),
3175 	SH_PFC_FUNCTION(scif1),
3176 	SH_PFC_FUNCTION(scif3),
3177 	SH_PFC_FUNCTION(scif4),
3178 	SH_PFC_FUNCTION(scif_clk),
3179 
3180 	SH_PFC_FUNCTION(tmu),
3181 
3182 	SH_PFC_FUNCTION(tpu),
3183 };
3184 
3185 static const struct pinmux_cfg_reg pinmux_config_regs[] = {
3186 #define F_(x, y)	FN_##y
3187 #define FM(x)		FN_##x
3188 	{ PINMUX_CFG_REG("GPSR0", 0xe6058040, 32, 1, GROUP(
3189 		0, 0,
3190 		0, 0,
3191 		0, 0,
3192 		0, 0,
3193 		GP_0_27_FN,	GPSR0_27,
3194 		GP_0_26_FN,	GPSR0_26,
3195 		GP_0_25_FN,	GPSR0_25,
3196 		GP_0_24_FN,	GPSR0_24,
3197 		GP_0_23_FN,	GPSR0_23,
3198 		GP_0_22_FN,	GPSR0_22,
3199 		GP_0_21_FN,	GPSR0_21,
3200 		GP_0_20_FN,	GPSR0_20,
3201 		GP_0_19_FN,	GPSR0_19,
3202 		GP_0_18_FN,	GPSR0_18,
3203 		GP_0_17_FN,	GPSR0_17,
3204 		GP_0_16_FN,	GPSR0_16,
3205 		GP_0_15_FN,	GPSR0_15,
3206 		GP_0_14_FN,	GPSR0_14,
3207 		GP_0_13_FN,	GPSR0_13,
3208 		GP_0_12_FN,	GPSR0_12,
3209 		GP_0_11_FN,	GPSR0_11,
3210 		GP_0_10_FN,	GPSR0_10,
3211 		GP_0_9_FN,	GPSR0_9,
3212 		GP_0_8_FN,	GPSR0_8,
3213 		GP_0_7_FN,	GPSR0_7,
3214 		GP_0_6_FN,	GPSR0_6,
3215 		GP_0_5_FN,	GPSR0_5,
3216 		GP_0_4_FN,	GPSR0_4,
3217 		GP_0_3_FN,	GPSR0_3,
3218 		GP_0_2_FN,	GPSR0_2,
3219 		GP_0_1_FN,	GPSR0_1,
3220 		GP_0_0_FN,	GPSR0_0, ))
3221 	},
3222 	{ PINMUX_CFG_REG("GPSR1", 0xe6050040, 32, 1, GROUP(
3223 		0, 0,
3224 		GP_1_30_FN,	GPSR1_30,
3225 		GP_1_29_FN,	GPSR1_29,
3226 		GP_1_28_FN,	GPSR1_28,
3227 		GP_1_27_FN,	GPSR1_27,
3228 		GP_1_26_FN,	GPSR1_26,
3229 		GP_1_25_FN,	GPSR1_25,
3230 		GP_1_24_FN,	GPSR1_24,
3231 		GP_1_23_FN,	GPSR1_23,
3232 		GP_1_22_FN,	GPSR1_22,
3233 		GP_1_21_FN,	GPSR1_21,
3234 		GP_1_20_FN,	GPSR1_20,
3235 		GP_1_19_FN,	GPSR1_19,
3236 		GP_1_18_FN,	GPSR1_18,
3237 		GP_1_17_FN,	GPSR1_17,
3238 		GP_1_16_FN,	GPSR1_16,
3239 		GP_1_15_FN,	GPSR1_15,
3240 		GP_1_14_FN,	GPSR1_14,
3241 		GP_1_13_FN,	GPSR1_13,
3242 		GP_1_12_FN,	GPSR1_12,
3243 		GP_1_11_FN,	GPSR1_11,
3244 		GP_1_10_FN,	GPSR1_10,
3245 		GP_1_9_FN,	GPSR1_9,
3246 		GP_1_8_FN,	GPSR1_8,
3247 		GP_1_7_FN,	GPSR1_7,
3248 		GP_1_6_FN,	GPSR1_6,
3249 		GP_1_5_FN,	GPSR1_5,
3250 		GP_1_4_FN,	GPSR1_4,
3251 		GP_1_3_FN,	GPSR1_3,
3252 		GP_1_2_FN,	GPSR1_2,
3253 		GP_1_1_FN,	GPSR1_1,
3254 		GP_1_0_FN,	GPSR1_0, ))
3255 	},
3256 	{ PINMUX_CFG_REG("GPSR2", 0xe6050840, 32, 1, GROUP(
3257 		0, 0,
3258 		0, 0,
3259 		0, 0,
3260 		0, 0,
3261 		0, 0,
3262 		0, 0,
3263 		0, 0,
3264 		GP_2_24_FN,	GPSR2_24,
3265 		GP_2_23_FN,	GPSR2_23,
3266 		GP_2_22_FN,	GPSR2_22,
3267 		GP_2_21_FN,	GPSR2_21,
3268 		GP_2_20_FN,	GPSR2_20,
3269 		GP_2_19_FN,	GPSR2_19,
3270 		GP_2_18_FN,	GPSR2_18,
3271 		GP_2_17_FN,	GPSR2_17,
3272 		GP_2_16_FN,	GPSR2_16,
3273 		GP_2_15_FN,	GPSR2_15,
3274 		GP_2_14_FN,	GPSR2_14,
3275 		GP_2_13_FN,	GPSR2_13,
3276 		GP_2_12_FN,	GPSR2_12,
3277 		GP_2_11_FN,	GPSR2_11,
3278 		GP_2_10_FN,	GPSR2_10,
3279 		GP_2_9_FN,	GPSR2_9,
3280 		GP_2_8_FN,	GPSR2_8,
3281 		GP_2_7_FN,	GPSR2_7,
3282 		GP_2_6_FN,	GPSR2_6,
3283 		GP_2_5_FN,	GPSR2_5,
3284 		GP_2_4_FN,	GPSR2_4,
3285 		GP_2_3_FN,	GPSR2_3,
3286 		GP_2_2_FN,	GPSR2_2,
3287 		GP_2_1_FN,	GPSR2_1,
3288 		GP_2_0_FN,	GPSR2_0, ))
3289 	},
3290 	{ PINMUX_CFG_REG("GPSR3", 0xe6058840, 32, 1, GROUP(
3291 		0, 0,
3292 		0, 0,
3293 		0, 0,
3294 		0, 0,
3295 		0, 0,
3296 		0, 0,
3297 		0, 0,
3298 		0, 0,
3299 		0, 0,
3300 		0, 0,
3301 		0, 0,
3302 		0, 0,
3303 		0, 0,
3304 		0, 0,
3305 		0, 0,
3306 		GP_3_16_FN,	GPSR3_16,
3307 		GP_3_15_FN,	GPSR3_15,
3308 		GP_3_14_FN,	GPSR3_14,
3309 		GP_3_13_FN,	GPSR3_13,
3310 		GP_3_12_FN,	GPSR3_12,
3311 		GP_3_11_FN,	GPSR3_11,
3312 		GP_3_10_FN,	GPSR3_10,
3313 		GP_3_9_FN,	GPSR3_9,
3314 		GP_3_8_FN,	GPSR3_8,
3315 		GP_3_7_FN,	GPSR3_7,
3316 		GP_3_6_FN,	GPSR3_6,
3317 		GP_3_5_FN,	GPSR3_5,
3318 		GP_3_4_FN,	GPSR3_4,
3319 		GP_3_3_FN,	GPSR3_3,
3320 		GP_3_2_FN,	GPSR3_2,
3321 		GP_3_1_FN,	GPSR3_1,
3322 		GP_3_0_FN,	GPSR3_0, ))
3323 	},
3324 	{ PINMUX_CFG_REG("GPSR4", 0xe6060040, 32, 1, GROUP(
3325 		0, 0,
3326 		0, 0,
3327 		0, 0,
3328 		0, 0,
3329 		0, 0,
3330 		GP_4_26_FN,	GPSR4_26,
3331 		GP_4_25_FN,	GPSR4_25,
3332 		GP_4_24_FN,	GPSR4_24,
3333 		GP_4_23_FN,	GPSR4_23,
3334 		GP_4_22_FN,	GPSR4_22,
3335 		GP_4_21_FN,	GPSR4_21,
3336 		GP_4_20_FN,	GPSR4_20,
3337 		GP_4_19_FN,	GPSR4_19,
3338 		GP_4_18_FN,	GPSR4_18,
3339 		GP_4_17_FN,	GPSR4_17,
3340 		GP_4_16_FN,	GPSR4_16,
3341 		GP_4_15_FN,	GPSR4_15,
3342 		GP_4_14_FN,	GPSR4_14,
3343 		GP_4_13_FN,	GPSR4_13,
3344 		GP_4_12_FN,	GPSR4_12,
3345 		GP_4_11_FN,	GPSR4_11,
3346 		GP_4_10_FN,	GPSR4_10,
3347 		GP_4_9_FN,	GPSR4_9,
3348 		GP_4_8_FN,	GPSR4_8,
3349 		GP_4_7_FN,	GPSR4_7,
3350 		GP_4_6_FN,	GPSR4_6,
3351 		GP_4_5_FN,	GPSR4_5,
3352 		GP_4_4_FN,	GPSR4_4,
3353 		GP_4_3_FN,	GPSR4_3,
3354 		GP_4_2_FN,	GPSR4_2,
3355 		GP_4_1_FN,	GPSR4_1,
3356 		GP_4_0_FN,	GPSR4_0, ))
3357 	},
3358 	{ PINMUX_CFG_REG("GPSR5", 0xe6060840, 32, 1, GROUP(
3359 		0, 0,
3360 		0, 0,
3361 		0, 0,
3362 		0, 0,
3363 		0, 0,
3364 		0, 0,
3365 		0, 0,
3366 		0, 0,
3367 		0, 0,
3368 		0, 0,
3369 		0, 0,
3370 		GP_5_20_FN,	GPSR5_20,
3371 		GP_5_19_FN,	GPSR5_19,
3372 		GP_5_18_FN,	GPSR5_18,
3373 		GP_5_17_FN,	GPSR5_17,
3374 		GP_5_16_FN,	GPSR5_16,
3375 		GP_5_15_FN,	GPSR5_15,
3376 		GP_5_14_FN,	GPSR5_14,
3377 		GP_5_13_FN,	GPSR5_13,
3378 		GP_5_12_FN,	GPSR5_12,
3379 		GP_5_11_FN,	GPSR5_11,
3380 		GP_5_10_FN,	GPSR5_10,
3381 		GP_5_9_FN,	GPSR5_9,
3382 		GP_5_8_FN,	GPSR5_8,
3383 		GP_5_7_FN,	GPSR5_7,
3384 		GP_5_6_FN,	GPSR5_6,
3385 		GP_5_5_FN,	GPSR5_5,
3386 		GP_5_4_FN,	GPSR5_4,
3387 		GP_5_3_FN,	GPSR5_3,
3388 		GP_5_2_FN,	GPSR5_2,
3389 		GP_5_1_FN,	GPSR5_1,
3390 		GP_5_0_FN,	GPSR5_0, ))
3391 	},
3392 	{ PINMUX_CFG_REG("GPSR6", 0xe6068040, 32, 1, GROUP(
3393 		0, 0,
3394 		0, 0,
3395 		0, 0,
3396 		0, 0,
3397 		0, 0,
3398 		0, 0,
3399 		0, 0,
3400 		0, 0,
3401 		0, 0,
3402 		0, 0,
3403 		0, 0,
3404 		GP_6_20_FN,	GPSR6_20,
3405 		GP_6_19_FN,	GPSR6_19,
3406 		GP_6_18_FN,	GPSR6_18,
3407 		GP_6_17_FN,	GPSR6_17,
3408 		GP_6_16_FN,	GPSR6_16,
3409 		GP_6_15_FN,	GPSR6_15,
3410 		GP_6_14_FN,	GPSR6_14,
3411 		GP_6_13_FN,	GPSR6_13,
3412 		GP_6_12_FN,	GPSR6_12,
3413 		GP_6_11_FN,	GPSR6_11,
3414 		GP_6_10_FN,	GPSR6_10,
3415 		GP_6_9_FN,	GPSR6_9,
3416 		GP_6_8_FN,	GPSR6_8,
3417 		GP_6_7_FN,	GPSR6_7,
3418 		GP_6_6_FN,	GPSR6_6,
3419 		GP_6_5_FN,	GPSR6_5,
3420 		GP_6_4_FN,	GPSR6_4,
3421 		GP_6_3_FN,	GPSR6_3,
3422 		GP_6_2_FN,	GPSR6_2,
3423 		GP_6_1_FN,	GPSR6_1,
3424 		GP_6_0_FN,	GPSR6_0, ))
3425 	},
3426 	{ PINMUX_CFG_REG("GPSR7", 0xe6068840, 32, 1, GROUP(
3427 		0, 0,
3428 		0, 0,
3429 		0, 0,
3430 		0, 0,
3431 		0, 0,
3432 		0, 0,
3433 		0, 0,
3434 		0, 0,
3435 		0, 0,
3436 		0, 0,
3437 		0, 0,
3438 		GP_7_20_FN,	GPSR7_20,
3439 		GP_7_19_FN,	GPSR7_19,
3440 		GP_7_18_FN,	GPSR7_18,
3441 		GP_7_17_FN,	GPSR7_17,
3442 		GP_7_16_FN,	GPSR7_16,
3443 		GP_7_15_FN,	GPSR7_15,
3444 		GP_7_14_FN,	GPSR7_14,
3445 		GP_7_13_FN,	GPSR7_13,
3446 		GP_7_12_FN,	GPSR7_12,
3447 		GP_7_11_FN,	GPSR7_11,
3448 		GP_7_10_FN,	GPSR7_10,
3449 		GP_7_9_FN,	GPSR7_9,
3450 		GP_7_8_FN,	GPSR7_8,
3451 		GP_7_7_FN,	GPSR7_7,
3452 		GP_7_6_FN,	GPSR7_6,
3453 		GP_7_5_FN,	GPSR7_5,
3454 		GP_7_4_FN,	GPSR7_4,
3455 		GP_7_3_FN,	GPSR7_3,
3456 		GP_7_2_FN,	GPSR7_2,
3457 		GP_7_1_FN,	GPSR7_1,
3458 		GP_7_0_FN,	GPSR7_0, ))
3459 	},
3460 	{ PINMUX_CFG_REG("GPSR8", 0xe6069040, 32, 1, GROUP(
3461 		0, 0,
3462 		0, 0,
3463 		0, 0,
3464 		0, 0,
3465 		0, 0,
3466 		0, 0,
3467 		0, 0,
3468 		0, 0,
3469 		0, 0,
3470 		0, 0,
3471 		0, 0,
3472 		GP_8_20_FN,	GPSR8_20,
3473 		GP_8_19_FN,	GPSR8_19,
3474 		GP_8_18_FN,	GPSR8_18,
3475 		GP_8_17_FN,	GPSR8_17,
3476 		GP_8_16_FN,	GPSR8_16,
3477 		GP_8_15_FN,	GPSR8_15,
3478 		GP_8_14_FN,	GPSR8_14,
3479 		GP_8_13_FN,	GPSR8_13,
3480 		GP_8_12_FN,	GPSR8_12,
3481 		GP_8_11_FN,	GPSR8_11,
3482 		GP_8_10_FN,	GPSR8_10,
3483 		GP_8_9_FN,	GPSR8_9,
3484 		GP_8_8_FN,	GPSR8_8,
3485 		GP_8_7_FN,	GPSR8_7,
3486 		GP_8_6_FN,	GPSR8_6,
3487 		GP_8_5_FN,	GPSR8_5,
3488 		GP_8_4_FN,	GPSR8_4,
3489 		GP_8_3_FN,	GPSR8_3,
3490 		GP_8_2_FN,	GPSR8_2,
3491 		GP_8_1_FN,	GPSR8_1,
3492 		GP_8_0_FN,	GPSR8_0, ))
3493 	},
3494 	{ PINMUX_CFG_REG("GPSR9", 0xe6069840, 32, 1, GROUP(
3495 		0, 0,
3496 		0, 0,
3497 		0, 0,
3498 		0, 0,
3499 		0, 0,
3500 		0, 0,
3501 		0, 0,
3502 		0, 0,
3503 		0, 0,
3504 		0, 0,
3505 		0, 0,
3506 		GP_9_20_FN,	GPSR9_20,
3507 		GP_9_19_FN,	GPSR9_19,
3508 		GP_9_18_FN,	GPSR9_18,
3509 		GP_9_17_FN,	GPSR9_17,
3510 		GP_9_16_FN,	GPSR9_16,
3511 		GP_9_15_FN,	GPSR9_15,
3512 		GP_9_14_FN,	GPSR9_14,
3513 		GP_9_13_FN,	GPSR9_13,
3514 		GP_9_12_FN,	GPSR9_12,
3515 		GP_9_11_FN,	GPSR9_11,
3516 		GP_9_10_FN,	GPSR9_10,
3517 		GP_9_9_FN,	GPSR9_9,
3518 		GP_9_8_FN,	GPSR9_8,
3519 		GP_9_7_FN,	GPSR9_7,
3520 		GP_9_6_FN,	GPSR9_6,
3521 		GP_9_5_FN,	GPSR9_5,
3522 		GP_9_4_FN,	GPSR9_4,
3523 		GP_9_3_FN,	GPSR9_3,
3524 		GP_9_2_FN,	GPSR9_2,
3525 		GP_9_1_FN,	GPSR9_1,
3526 		GP_9_0_FN,	GPSR9_0, ))
3527 	},
3528 #undef F_
3529 #undef FM
3530 
3531 #define F_(x, y)	x,
3532 #define FM(x)		FN_##x,
3533 	{ PINMUX_CFG_REG("IP0SR1", 0xe6050060, 32, 4, GROUP(
3534 		IP0SR1_31_28
3535 		IP0SR1_27_24
3536 		IP0SR1_23_20
3537 		IP0SR1_19_16
3538 		IP0SR1_15_12
3539 		IP0SR1_11_8
3540 		IP0SR1_7_4
3541 		IP0SR1_3_0))
3542 	},
3543 	{ PINMUX_CFG_REG("IP1SR1", 0xe6050064, 32, 4, GROUP(
3544 		IP1SR1_31_28
3545 		IP1SR1_27_24
3546 		IP1SR1_23_20
3547 		IP1SR1_19_16
3548 		IP1SR1_15_12
3549 		IP1SR1_11_8
3550 		IP1SR1_7_4
3551 		IP1SR1_3_0))
3552 	},
3553 	{ PINMUX_CFG_REG("IP2SR1", 0xe6050068, 32, 4, GROUP(
3554 		IP2SR1_31_28
3555 		IP2SR1_27_24
3556 		IP2SR1_23_20
3557 		IP2SR1_19_16
3558 		IP2SR1_15_12
3559 		IP2SR1_11_8
3560 		IP2SR1_7_4
3561 		IP2SR1_3_0))
3562 	},
3563 	{ PINMUX_CFG_REG("IP3SR1", 0xe605006c, 32, 4, GROUP(
3564 		IP3SR1_31_28
3565 		IP3SR1_27_24
3566 		IP3SR1_23_20
3567 		IP3SR1_19_16
3568 		IP3SR1_15_12
3569 		IP3SR1_11_8
3570 		IP3SR1_7_4
3571 		IP3SR1_3_0))
3572 	},
3573 	{ PINMUX_CFG_REG("IP0SR2", 0xe6050860, 32, 4, GROUP(
3574 		IP0SR2_31_28
3575 		IP0SR2_27_24
3576 		IP0SR2_23_20
3577 		IP0SR2_19_16
3578 		IP0SR2_15_12
3579 		IP0SR2_11_8
3580 		IP0SR2_7_4
3581 		IP0SR2_3_0))
3582 	},
3583 	{ PINMUX_CFG_REG("IP1SR2", 0xe6050864, 32, 4, GROUP(
3584 		IP1SR2_31_28
3585 		IP1SR2_27_24
3586 		IP1SR2_23_20
3587 		IP1SR2_19_16
3588 		IP1SR2_15_12
3589 		IP1SR2_11_8
3590 		IP1SR2_7_4
3591 		IP1SR2_3_0))
3592 	},
3593 	{ PINMUX_CFG_REG("IP2SR2", 0xe6050868, 32, 4, GROUP(
3594 		IP2SR2_31_28
3595 		IP2SR2_27_24
3596 		IP2SR2_23_20
3597 		IP2SR2_19_16
3598 		IP2SR2_15_12
3599 		IP2SR2_11_8
3600 		IP2SR2_7_4
3601 		IP2SR2_3_0))
3602 	},
3603 	{ PINMUX_CFG_REG("IP0SR3", 0xe6058860, 32, 4, GROUP(
3604 		IP0SR3_31_28
3605 		IP0SR3_27_24
3606 		IP0SR3_23_20
3607 		IP0SR3_19_16
3608 		IP0SR3_15_12
3609 		IP0SR3_11_8
3610 		IP0SR3_7_4
3611 		IP0SR3_3_0))
3612 	},
3613 	{ PINMUX_CFG_REG("IP1SR3", 0xe6058864, 32, 4, GROUP(
3614 		IP1SR3_31_28
3615 		IP1SR3_27_24
3616 		IP1SR3_23_20
3617 		IP1SR3_19_16
3618 		IP1SR3_15_12
3619 		IP1SR3_11_8
3620 		IP1SR3_7_4
3621 		IP1SR3_3_0))
3622 	},
3623 	{ PINMUX_CFG_REG("IP0SR4", 0xe6060060, 32, 4, GROUP(
3624 		IP0SR4_31_28
3625 		IP0SR4_27_24
3626 		IP0SR4_23_20
3627 		IP0SR4_19_16
3628 		IP0SR4_15_12
3629 		IP0SR4_11_8
3630 		IP0SR4_7_4
3631 		IP0SR4_3_0))
3632 	},
3633 	{ PINMUX_CFG_REG("IP1SR4", 0xe6060064, 32, 4, GROUP(
3634 		IP1SR4_31_28
3635 		IP1SR4_27_24
3636 		IP1SR4_23_20
3637 		IP1SR4_19_16
3638 		IP1SR4_15_12
3639 		IP1SR4_11_8
3640 		IP1SR4_7_4
3641 		IP1SR4_3_0))
3642 	},
3643 	{ PINMUX_CFG_REG("IP2SR4", 0xe6060068, 32, 4, GROUP(
3644 		IP2SR4_31_28
3645 		IP2SR4_27_24
3646 		IP2SR4_23_20
3647 		IP2SR4_19_16
3648 		IP2SR4_15_12
3649 		IP2SR4_11_8
3650 		IP2SR4_7_4
3651 		IP2SR4_3_0))
3652 	},
3653 	{ PINMUX_CFG_REG("IP0SR5", 0xe6060860, 32, 4, GROUP(
3654 		IP0SR5_31_28
3655 		IP0SR5_27_24
3656 		IP0SR5_23_20
3657 		IP0SR5_19_16
3658 		IP0SR5_15_12
3659 		IP0SR5_11_8
3660 		IP0SR5_7_4
3661 		IP0SR5_3_0))
3662 	},
3663 	{ PINMUX_CFG_REG("IP1SR5", 0xe6060864, 32, 4, GROUP(
3664 		IP1SR5_31_28
3665 		IP1SR5_27_24
3666 		IP1SR5_23_20
3667 		IP1SR5_19_16
3668 		IP1SR5_15_12
3669 		IP1SR5_11_8
3670 		IP1SR5_7_4
3671 		IP1SR5_3_0))
3672 	},
3673 	{ PINMUX_CFG_REG("IP2SR5", 0xe6060868, 32, 4, GROUP(
3674 		IP2SR5_31_28
3675 		IP2SR5_27_24
3676 		IP2SR5_23_20
3677 		IP2SR5_19_16
3678 		IP2SR5_15_12
3679 		IP2SR5_11_8
3680 		IP2SR5_7_4
3681 		IP2SR5_3_0))
3682 	},
3683 #undef F_
3684 #undef FM
3685 
3686 #define F_(x, y)	x,
3687 #define FM(x)		FN_##x,
3688 	{ PINMUX_CFG_REG_VAR("MOD_SEL2", 0xe6050900, 32,
3689 			     GROUP(4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 1, 1),
3690 			     GROUP(
3691 		/* RESERVED 31, 30, 29, 28 */
3692 		0, 0, 0, 0, 0, 0, 0, 0,	0, 0, 0, 0, 0, 0, 0, 0,
3693 		/* RESERVED 27, 26, 25, 24 */
3694 		0, 0, 0, 0, 0, 0, 0, 0,	0, 0, 0, 0, 0, 0, 0, 0,
3695 		/* RESERVED 23, 22, 21, 20 */
3696 		0, 0, 0, 0, 0, 0, 0, 0,	0, 0, 0, 0, 0, 0, 0, 0,
3697 		/* RESERVED 19, 18, 17, 16 */
3698 		0, 0, 0, 0, 0, 0, 0, 0,	0, 0, 0, 0, 0, 0, 0, 0,
3699 		MOD_SEL2_14_15
3700 		MOD_SEL2_12_13
3701 		MOD_SEL2_10_11
3702 		MOD_SEL2_8_9
3703 		MOD_SEL2_6_7
3704 		MOD_SEL2_4_5
3705 		MOD_SEL2_2_3
3706 		0, 0,
3707 		0, 0, ))
3708 	},
3709 	{ },
3710 };
3711 
3712 static const struct pinmux_drive_reg pinmux_drive_regs[] = {
3713 	{ PINMUX_DRIVE_REG("DRV0CTRL0", 0xe6058080) {
3714 		{ RCAR_GP_PIN(0,  7), 28, 2 },	/* QSPI1_MOSI_IO0 */
3715 		{ RCAR_GP_PIN(0,  6), 24, 2 },	/* QSPI1_SPCLK */
3716 		{ RCAR_GP_PIN(0,  5), 20, 2 },	/* QSPI0_SSL */
3717 		{ RCAR_GP_PIN(0,  4), 16, 2 },	/* QSPI0_IO3 */
3718 		{ RCAR_GP_PIN(0,  3), 12, 2 },	/* QSPI0_IO2 */
3719 		{ RCAR_GP_PIN(0,  2),  8, 2 },	/* QSPI0_MISO_IO1 */
3720 		{ RCAR_GP_PIN(0,  1),  4, 2 },	/* QSPI0_MOSI_IO0 */
3721 		{ RCAR_GP_PIN(0,  0),  0, 2 },	/* QSPI0_SPCLK */
3722 	} },
3723 	{ PINMUX_DRIVE_REG("DRV1CTRL0", 0xe6058084) {
3724 		{ RCAR_GP_PIN(0, 15), 28, 3 },	/* SD_WP */
3725 		{ RCAR_GP_PIN(0, 14), 24, 2 },	/* RPC_INT_N */
3726 		{ RCAR_GP_PIN(0, 13), 20, 2 },	/* RPC_WP_N */
3727 		{ RCAR_GP_PIN(0, 12), 16, 2 },	/* RPC_RESET_N */
3728 		{ RCAR_GP_PIN(0, 11), 12, 2 },	/* QSPI1_SSL */
3729 		{ RCAR_GP_PIN(0, 10),  8, 2 },	/* QSPI1_IO3 */
3730 		{ RCAR_GP_PIN(0,  9),  4, 2 },	/* QSPI1_IO2 */
3731 		{ RCAR_GP_PIN(0,  8),  0, 2 },	/* QSPI1_MISO_IO1 */
3732 	} },
3733 	{ PINMUX_DRIVE_REG("DRV2CTRL0", 0xe6058088) {
3734 		{ RCAR_GP_PIN(0, 23), 28, 3 },	/* MMC_SD_CLK */
3735 		{ RCAR_GP_PIN(0, 22), 24, 3 },	/* MMC_SD_D3 */
3736 		{ RCAR_GP_PIN(0, 21), 20, 3 },	/* MMC_SD_D2 */
3737 		{ RCAR_GP_PIN(0, 20), 16, 3 },	/* MMC_SD_D1 */
3738 		{ RCAR_GP_PIN(0, 19), 12, 3 },	/* MMC_SD_D0 */
3739 		{ RCAR_GP_PIN(0, 18),  8, 3 },	/* MMC_SD_CMD */
3740 		{ RCAR_GP_PIN(0, 17),  4, 3 },	/* MMC_DS */
3741 		{ RCAR_GP_PIN(0, 16),  0, 3 },	/* SD_CD */
3742 	} },
3743 	{ PINMUX_DRIVE_REG("DRV3CTRL0", 0xe605808c) {
3744 		{ RCAR_GP_PIN(0, 27), 12, 3 },	/* MMC_D7 */
3745 		{ RCAR_GP_PIN(0, 26),  8, 3 },	/* MMC_D6 */
3746 		{ RCAR_GP_PIN(0, 25),  4, 3 },	/* MMC_D5 */
3747 		{ RCAR_GP_PIN(0, 24),  0, 3 },	/* MMC_D4 */
3748 	} },
3749 	{ PINMUX_DRIVE_REG("DRV0CTRL1", 0xe6050080) {
3750 		{ RCAR_GP_PIN(1,  7), 28, 3 },	/* MSIOF0_TXD */
3751 		{ RCAR_GP_PIN(1,  6), 24, 3 },	/* MSIOF0_RXD */
3752 		{ RCAR_GP_PIN(1,  5), 20, 3 },	/* HTX0 */
3753 		{ RCAR_GP_PIN(1,  4), 16, 3 },	/* HCTS0_N */
3754 		{ RCAR_GP_PIN(1,  3), 12, 3 },	/* HRTS0_N */
3755 		{ RCAR_GP_PIN(1,  2),  8, 3 },	/* HSCK0 */
3756 		{ RCAR_GP_PIN(1,  1),  4, 3 },	/* HRX0 */
3757 		{ RCAR_GP_PIN(1,  0),  0, 3 },	/* SCIF_CLK */
3758 	} },
3759 	{ PINMUX_DRIVE_REG("DRV1CTRL1", 0xe6050084) {
3760 		{ RCAR_GP_PIN(1, 15), 28, 3 },	/* MSIOF1_SYNC */
3761 		{ RCAR_GP_PIN(1, 14), 24, 3 },	/* MSIOF1_SCK */
3762 		{ RCAR_GP_PIN(1, 13), 20, 3 },	/* MSIOF1_TXD */
3763 		{ RCAR_GP_PIN(1, 12), 16, 3 },	/* MSIOF1_RXD */
3764 		{ RCAR_GP_PIN(1, 11), 12, 3 },	/* MSIOF0_SS2 */
3765 		{ RCAR_GP_PIN(1, 10),  8, 3 },	/* MSIOF0_SS1 */
3766 		{ RCAR_GP_PIN(1,  9),  4, 3 },	/* MSIOF0_SYNC */
3767 		{ RCAR_GP_PIN(1,  8),  0, 3 },	/* MSIOF0_SCK */
3768 	} },
3769 	{ PINMUX_DRIVE_REG("DRV2CTRL1", 0xe6050088) {
3770 		{ RCAR_GP_PIN(1, 23), 28, 3 },	/* MSIOF2_SS2 */
3771 		{ RCAR_GP_PIN(1, 22), 24, 3 },	/* MSIOF2_SS1 */
3772 		{ RCAR_GP_PIN(1, 21), 20, 3 },	/* MSIOF2_SYNC */
3773 		{ RCAR_GP_PIN(1, 20), 16, 3 },	/* MSIOF2_SCK */
3774 		{ RCAR_GP_PIN(1, 19), 12, 3 },	/* MSIOF2_TXD */
3775 		{ RCAR_GP_PIN(1, 18),  8, 3 },	/* MSIOF2_RXD */
3776 		{ RCAR_GP_PIN(1, 17),  4, 3 },	/* MSIOF1_SS2 */
3777 		{ RCAR_GP_PIN(1, 16),  0, 3 },	/* MSIOF1_SS1 */
3778 	} },
3779 	{ PINMUX_DRIVE_REG("DRV3CTRL1", 0xe605008c) {
3780 		{ RCAR_GP_PIN(1, 30), 24, 3 },	/* GP1_30 */
3781 		{ RCAR_GP_PIN(1, 29), 20, 3 },	/* GP1_29 */
3782 		{ RCAR_GP_PIN(1, 28), 16, 3 },	/* GP1_28 */
3783 		{ RCAR_GP_PIN(1, 27), 12, 3 },	/* IRQ3 */
3784 		{ RCAR_GP_PIN(1, 26),  8, 3 },	/* IRQ2 */
3785 		{ RCAR_GP_PIN(1, 25),  4, 3 },	/* IRQ1 */
3786 		{ RCAR_GP_PIN(1, 24),  0, 3 },	/* IRQ0 */
3787 	} },
3788 	{ PINMUX_DRIVE_REG("DRV0CTRL2", 0xe6050880) {
3789 		{ RCAR_GP_PIN(2,  7), 28, 3 },	/* GP2_07 */
3790 		{ RCAR_GP_PIN(2,  6), 24, 3 },	/* GP2_06 */
3791 		{ RCAR_GP_PIN(2,  5), 20, 3 },	/* GP2_05 */
3792 		{ RCAR_GP_PIN(2,  4), 16, 3 },	/* GP2_04 */
3793 		{ RCAR_GP_PIN(2,  3), 12, 3 },	/* GP2_03 */
3794 		{ RCAR_GP_PIN(2,  2),  8, 3 },	/* GP2_02 */
3795 		{ RCAR_GP_PIN(2,  1),  4, 2 },	/* IPC_CLKOUT */
3796 		{ RCAR_GP_PIN(2,  0),  0, 2 },	/* IPC_CLKIN */
3797 	} },
3798 	{ PINMUX_DRIVE_REG("DRV1CTRL2", 0xe6050884) {
3799 		{ RCAR_GP_PIN(2, 15), 28, 3 },	/* GP2_15 */
3800 		{ RCAR_GP_PIN(2, 14), 24, 3 },	/* GP2_14 */
3801 		{ RCAR_GP_PIN(2, 13), 20, 3 },	/* GP2_13 */
3802 		{ RCAR_GP_PIN(2, 12), 16, 3 },	/* GP2_12 */
3803 		{ RCAR_GP_PIN(2, 11), 12, 3 },	/* GP2_11 */
3804 		{ RCAR_GP_PIN(2, 10),  8, 3 },	/* GP2_10 */
3805 		{ RCAR_GP_PIN(2,  9),  4, 3 },	/* GP2_9 */
3806 		{ RCAR_GP_PIN(2,  8),  0, 3 },	/* GP2_8 */
3807 	} },
3808 	{ PINMUX_DRIVE_REG("DRV2CTRL2", 0xe6050888) {
3809 		{ RCAR_GP_PIN(2, 23), 28, 3 },	/* TCLK1_A */
3810 		{ RCAR_GP_PIN(2, 22), 24, 3 },	/* TPU0TO1 */
3811 		{ RCAR_GP_PIN(2, 21), 20, 3 },	/* TPU0TO0 */
3812 		{ RCAR_GP_PIN(2, 20), 16, 3 },	/* CLK_EXTFXR */
3813 		{ RCAR_GP_PIN(2, 19), 12, 3 },	/* RXDB_EXTFXR */
3814 		{ RCAR_GP_PIN(2, 18),  8, 3 },	/* FXR_TXDB */
3815 		{ RCAR_GP_PIN(2, 17),  4, 3 },	/* RXDA_EXTFXR_A */
3816 		{ RCAR_GP_PIN(2, 16),  0, 3 },	/* FXR_TXDA_A */
3817 	} },
3818 	{ PINMUX_DRIVE_REG("DRV3CTRL2", 0xe605088c) {
3819 		{ RCAR_GP_PIN(2, 24), 0, 3 },	/* TCLK2_A */
3820 	} },
3821 	{ PINMUX_DRIVE_REG("DRV0CTRL3", 0xe6058880) {
3822 		{ RCAR_GP_PIN(3,  7), 28, 3 },	/* CANFD3_TX */
3823 		{ RCAR_GP_PIN(3,  6), 24, 3 },	/* CANFD2_RX */
3824 		{ RCAR_GP_PIN(3,  5), 20, 3 },	/* CANFD2_TX */
3825 		{ RCAR_GP_PIN(3,  4), 16, 3 },	/* CANFD1_RX */
3826 		{ RCAR_GP_PIN(3,  3), 12, 3 },	/* CANFD1_TX */
3827 		{ RCAR_GP_PIN(3,  2),  8, 3 },	/* CANFD0_RX */
3828 		{ RCAR_GP_PIN(3,  1),  4, 2 },	/* CANFD0_TX */
3829 		{ RCAR_GP_PIN(3,  0),  0, 2 },	/* CAN_CLK */
3830 	} },
3831 	{ PINMUX_DRIVE_REG("DRV1CTRL3", 0xe6058884) {
3832 		{ RCAR_GP_PIN(3, 15), 28, 3 },	/* CANFD7_TX */
3833 		{ RCAR_GP_PIN(3, 14), 24, 3 },	/* CANFD6_RX */
3834 		{ RCAR_GP_PIN(3, 13), 20, 3 },	/* CANFD6_TX */
3835 		{ RCAR_GP_PIN(3, 12), 16, 3 },	/* CANFD5_RX */
3836 		{ RCAR_GP_PIN(3, 11), 12, 3 },	/* CANFD5_TX */
3837 		{ RCAR_GP_PIN(3, 10),  8, 3 },	/* CANFD4_RX */
3838 		{ RCAR_GP_PIN(3,  9),  4, 3 },	/* CANFD4_TX*/
3839 		{ RCAR_GP_PIN(3,  8),  0, 3 },	/* CANFD3_RX */
3840 	} },
3841 	{ PINMUX_DRIVE_REG("DRV2CTRL3", 0xe6058888) {
3842 		{ RCAR_GP_PIN(3,  16),  0, 3 },	/* CANFD7_RX */
3843 	} },
3844 	{ PINMUX_DRIVE_REG("DRV0CTRL4", 0xe6060080) {
3845 		{ RCAR_GP_PIN(4,  7), 28, 3 },	/* AVB0_TXC */
3846 		{ RCAR_GP_PIN(4,  6), 24, 3 },	/* AVB0_TX_CTL */
3847 		{ RCAR_GP_PIN(4,  5), 20, 3 },	/* AVB0_RD3 */
3848 		{ RCAR_GP_PIN(4,  4), 16, 3 },	/* AVB0_RD2 */
3849 		{ RCAR_GP_PIN(4,  3), 12, 3 },	/* AVB0_RD1 */
3850 		{ RCAR_GP_PIN(4,  2),  8, 3 },	/* AVB0_RD0 */
3851 		{ RCAR_GP_PIN(4,  1),  4, 3 },	/* AVB0_RXC */
3852 		{ RCAR_GP_PIN(4,  0),  0, 3 },	/* AVB0_RX_CTL */
3853 	} },
3854 	{ PINMUX_DRIVE_REG("DRV1CTRL4", 0xe6060084) {
3855 		{ RCAR_GP_PIN(4, 15), 28, 3 },	/* AVB0_MAGIC */
3856 		{ RCAR_GP_PIN(4, 14), 24, 3 },	/* AVB0_MDC */
3857 		{ RCAR_GP_PIN(4, 13), 20, 3 },	/* AVB0_MDIO */
3858 		{ RCAR_GP_PIN(4, 12), 16, 3 },	/* AVB0_TXCREFCLK */
3859 		{ RCAR_GP_PIN(4, 11), 12, 3 },	/* AVB0_TD3 */
3860 		{ RCAR_GP_PIN(4, 10),  8, 3 },	/* AVB0_TD2 */
3861 		{ RCAR_GP_PIN(4,  9),  4, 3 },	/* AVB0_TD1*/
3862 		{ RCAR_GP_PIN(4,  8),  0, 3 },	/* AVB0_TD0 */
3863 	} },
3864 	{ PINMUX_DRIVE_REG("DRV2CTRL4", 0xe6060088) {
3865 		{ RCAR_GP_PIN(4, 23), 28, 3 },	/* PCIE2_CLKREQ_N */
3866 		{ RCAR_GP_PIN(4, 22), 24, 3 },	/* PCIE1_CLKREQ_N */
3867 		{ RCAR_GP_PIN(4, 21), 20, 3 },	/* PCIE0_CLKREQ_N */
3868 		{ RCAR_GP_PIN(4, 20), 16, 3 },	/* AVB0_AVTP_PPS */
3869 		{ RCAR_GP_PIN(4, 19), 12, 3 },	/* AVB0_AVTP_CAPTURE */
3870 		{ RCAR_GP_PIN(4, 18),  8, 3 },	/* AVB0_AVTP_MATCH */
3871 		{ RCAR_GP_PIN(4, 17),  4, 3 },	/* AVB0_LINK */
3872 		{ RCAR_GP_PIN(4, 16),  0, 3 },	/* AVB0_PHY_INT */
3873 	} },
3874 	{ PINMUX_DRIVE_REG("DRV3CTRL4", 0xe606008c) {
3875 		{ RCAR_GP_PIN(4, 26),  8, 3 },	/* AVS1 */
3876 		{ RCAR_GP_PIN(4, 25),  4, 3 },	/* AVS0 */
3877 		{ RCAR_GP_PIN(4, 24),  0, 3 },	/* PCIE3_CLKREQ_N */
3878 	} },
3879 	{ PINMUX_DRIVE_REG("DRV0CTRL5", 0xe6060880) {
3880 		{ RCAR_GP_PIN(5,  7), 28, 3 },	/* AVB1_TXC */
3881 		{ RCAR_GP_PIN(5,  6), 24, 3 },	/* AVB1_TX_CTL */
3882 		{ RCAR_GP_PIN(5,  5), 20, 3 },	/* AVB1_RD3 */
3883 		{ RCAR_GP_PIN(5,  4), 16, 3 },	/* AVB1_RD2 */
3884 		{ RCAR_GP_PIN(5,  3), 12, 3 },	/* AVB1_RD1 */
3885 		{ RCAR_GP_PIN(5,  2),  8, 3 },	/* AVB1_RD0 */
3886 		{ RCAR_GP_PIN(5,  1),  4, 3 },	/* AVB1_RXC */
3887 		{ RCAR_GP_PIN(5,  0),  0, 3 },	/* AVB1_RX_CTL */
3888 	} },
3889 	{ PINMUX_DRIVE_REG("DRV1CTRL5", 0xe6060884) {
3890 		{ RCAR_GP_PIN(5, 15), 28, 3 },	/* AVB1_MAGIC */
3891 		{ RCAR_GP_PIN(5, 14), 24, 3 },	/* AVB1_MDC */
3892 		{ RCAR_GP_PIN(5, 13), 20, 3 },	/* AVB1_MDIO */
3893 		{ RCAR_GP_PIN(5, 12), 16, 3 },	/* AVB1_TXCREFCLK */
3894 		{ RCAR_GP_PIN(5, 11), 12, 3 },	/* AVB1_TD3 */
3895 		{ RCAR_GP_PIN(5, 10),  8, 3 },	/* AVB1_TD2 */
3896 		{ RCAR_GP_PIN(5,  9),  4, 3 },	/* AVB1_TD1*/
3897 		{ RCAR_GP_PIN(5,  8),  0, 3 },	/* AVB1_TD0 */
3898 	} },
3899 	{ PINMUX_DRIVE_REG("DRV2CTRL5", 0xe6060888) {
3900 		{ RCAR_GP_PIN(5, 20), 16, 3 },	/* AVB1_AVTP_PPS */
3901 		{ RCAR_GP_PIN(5, 19), 12, 3 },	/* AVB1_AVTP_CAPTURE */
3902 		{ RCAR_GP_PIN(5, 18),  8, 3 },	/* AVB1_AVTP_MATCH */
3903 		{ RCAR_GP_PIN(5, 17),  4, 3 },	/* AVB1_LINK */
3904 		{ RCAR_GP_PIN(5, 16),  0, 3 },	/* AVB1_PHY_INT */
3905 	} },
3906 	{ PINMUX_DRIVE_REG("DRV0CTRL6", 0xe6068080) {
3907 		{ RCAR_GP_PIN(6,  7), 28, 3 },	/* AVB2_TXC */
3908 		{ RCAR_GP_PIN(6,  6), 24, 3 },	/* AVB2_TX_CTL */
3909 		{ RCAR_GP_PIN(6,  5), 20, 3 },	/* AVB2_RD3 */
3910 		{ RCAR_GP_PIN(6,  4), 16, 3 },	/* AVB2_RD2 */
3911 		{ RCAR_GP_PIN(6,  3), 12, 3 },	/* AVB2_RD1 */
3912 		{ RCAR_GP_PIN(6,  2),  8, 3 },	/* AVB2_RD0 */
3913 		{ RCAR_GP_PIN(6,  1),  4, 3 },	/* AVB2_RXC */
3914 		{ RCAR_GP_PIN(6,  0),  0, 3 },	/* AVB2_RX_CTL */
3915 	} },
3916 	{ PINMUX_DRIVE_REG("DRV1CTRL6", 0xe6068084) {
3917 		{ RCAR_GP_PIN(6, 15), 28, 3 },	/* AVB2_MAGIC */
3918 		{ RCAR_GP_PIN(6, 14), 24, 3 },	/* AVB2_MDC */
3919 		{ RCAR_GP_PIN(6, 13), 20, 3 },	/* AVB2_MDIO */
3920 		{ RCAR_GP_PIN(6, 12), 16, 3 },	/* AVB2_TXCREFCLK */
3921 		{ RCAR_GP_PIN(6, 11), 12, 3 },	/* AVB2_TD3 */
3922 		{ RCAR_GP_PIN(6, 10),  8, 3 },	/* AVB2_TD2 */
3923 		{ RCAR_GP_PIN(6,  9),  4, 3 },	/* AVB2_TD1*/
3924 		{ RCAR_GP_PIN(6,  8),  0, 3 },	/* AVB2_TD0 */
3925 	} },
3926 	{ PINMUX_DRIVE_REG("DRV2CTRL6", 0xe6068088) {
3927 		{ RCAR_GP_PIN(6, 20), 16, 3 },	/* AVB2_AVTP_PPS */
3928 		{ RCAR_GP_PIN(6, 19), 12, 3 },	/* AVB2_AVTP_CAPTURE */
3929 		{ RCAR_GP_PIN(6, 18),  8, 3 },	/* AVB2_AVTP_MATCH */
3930 		{ RCAR_GP_PIN(6, 17),  4, 3 },	/* AVB2_LINK */
3931 		{ RCAR_GP_PIN(6, 16),  0, 3 },	/* AVB2_PHY_INT */
3932 	} },
3933 	{ PINMUX_DRIVE_REG("DRV0CTRL7", 0xe6068880) {
3934 		{ RCAR_GP_PIN(7,  7), 28, 3 },	/* AVB3_TXC */
3935 		{ RCAR_GP_PIN(7,  6), 24, 3 },	/* AVB3_TX_CTL */
3936 		{ RCAR_GP_PIN(7,  5), 20, 3 },	/* AVB3_RD3 */
3937 		{ RCAR_GP_PIN(7,  4), 16, 3 },	/* AVB3_RD2 */
3938 		{ RCAR_GP_PIN(7,  3), 12, 3 },	/* AVB3_RD1 */
3939 		{ RCAR_GP_PIN(7,  2),  8, 3 },	/* AVB3_RD0 */
3940 		{ RCAR_GP_PIN(7,  1),  4, 3 },	/* AVB3_RXC */
3941 		{ RCAR_GP_PIN(7,  0),  0, 3 },	/* AVB3_RX_CTL */
3942 	} },
3943 	{ PINMUX_DRIVE_REG("DRV1CTRL7", 0xe6068884) {
3944 		{ RCAR_GP_PIN(7, 15), 28, 3 },	/* AVB3_MAGIC */
3945 		{ RCAR_GP_PIN(7, 14), 24, 3 },	/* AVB3_MDC */
3946 		{ RCAR_GP_PIN(7, 13), 20, 3 },	/* AVB3_MDIO */
3947 		{ RCAR_GP_PIN(7, 12), 16, 3 },	/* AVB3_TXCREFCLK */
3948 		{ RCAR_GP_PIN(7, 11), 12, 3 },	/* AVB3_TD3 */
3949 		{ RCAR_GP_PIN(7, 10),  8, 3 },	/* AVB3_TD2 */
3950 		{ RCAR_GP_PIN(7,  9),  4, 3 },	/* AVB3_TD1*/
3951 		{ RCAR_GP_PIN(7,  8),  0, 3 },	/* AVB3_TD0 */
3952 	} },
3953 	{ PINMUX_DRIVE_REG("DRV2CTRL7", 0xe6068888) {
3954 		{ RCAR_GP_PIN(7, 20), 16, 3 },	/* AVB3_AVTP_PPS */
3955 		{ RCAR_GP_PIN(7, 19), 12, 3 },	/* AVB3_AVTP_CAPTURE */
3956 		{ RCAR_GP_PIN(7, 18),  8, 3 },	/* AVB3_AVTP_MATCH */
3957 		{ RCAR_GP_PIN(7, 17),  4, 3 },	/* AVB3_LINK */
3958 		{ RCAR_GP_PIN(7, 16),  0, 3 },	/* AVB3_PHY_INT */
3959 	} },
3960 	{ PINMUX_DRIVE_REG("DRV0CTRL8", 0xe6069080) {
3961 		{ RCAR_GP_PIN(8,  7), 28, 3 },	/* AVB4_TXC */
3962 		{ RCAR_GP_PIN(8,  6), 24, 3 },	/* AVB4_TX_CTL */
3963 		{ RCAR_GP_PIN(8,  5), 20, 3 },	/* AVB4_RD3 */
3964 		{ RCAR_GP_PIN(8,  4), 16, 3 },	/* AVB4_RD2 */
3965 		{ RCAR_GP_PIN(8,  3), 12, 3 },	/* AVB4_RD1 */
3966 		{ RCAR_GP_PIN(8,  2),  8, 3 },	/* AVB4_RD0 */
3967 		{ RCAR_GP_PIN(8,  1),  4, 3 },	/* AVB4_RXC */
3968 		{ RCAR_GP_PIN(8,  0),  0, 3 },	/* AVB4_RX_CTL */
3969 	} },
3970 	{ PINMUX_DRIVE_REG("DRV1CTRL8", 0xe6069084) {
3971 		{ RCAR_GP_PIN(8, 15), 28, 3 },	/* AVB4_MAGIC */
3972 		{ RCAR_GP_PIN(8, 14), 24, 3 },	/* AVB4_MDC */
3973 		{ RCAR_GP_PIN(8, 13), 20, 3 },	/* AVB4_MDIO */
3974 		{ RCAR_GP_PIN(8, 12), 16, 3 },	/* AVB4_TXCREFCLK */
3975 		{ RCAR_GP_PIN(8, 11), 12, 3 },	/* AVB4_TD3 */
3976 		{ RCAR_GP_PIN(8, 10),  8, 3 },	/* AVB4_TD2 */
3977 		{ RCAR_GP_PIN(8,  9),  4, 3 },	/* AVB4_TD1*/
3978 		{ RCAR_GP_PIN(8,  8),  0, 3 },	/* AVB4_TD0 */
3979 	} },
3980 	{ PINMUX_DRIVE_REG("DRV2CTRL8", 0xe6069088) {
3981 		{ RCAR_GP_PIN(8, 20), 16, 3 },	/* AVB4_AVTP_PPS */
3982 		{ RCAR_GP_PIN(8, 19), 12, 3 },	/* AVB4_AVTP_CAPTURE */
3983 		{ RCAR_GP_PIN(8, 18),  8, 3 },	/* AVB4_AVTP_MATCH */
3984 		{ RCAR_GP_PIN(8, 17),  4, 3 },	/* AVB4_LINK */
3985 		{ RCAR_GP_PIN(8, 16),  0, 3 },	/* AVB4_PHY_INT */
3986 	} },
3987 	{ PINMUX_DRIVE_REG("DRV0CTRL9", 0xe6069880) {
3988 		{ RCAR_GP_PIN(9,  7), 28, 3 },	/* AVB5_TXC */
3989 		{ RCAR_GP_PIN(9,  6), 24, 3 },	/* AVB5_TX_CTL */
3990 		{ RCAR_GP_PIN(9,  5), 20, 3 },	/* AVB5_RD3 */
3991 		{ RCAR_GP_PIN(9,  4), 16, 3 },	/* AVB5_RD2 */
3992 		{ RCAR_GP_PIN(9,  3), 12, 3 },	/* AVB5_RD1 */
3993 		{ RCAR_GP_PIN(9,  2),  8, 3 },	/* AVB5_RD0 */
3994 		{ RCAR_GP_PIN(9,  1),  4, 3 },	/* AVB5_RXC */
3995 		{ RCAR_GP_PIN(9,  0),  0, 3 },	/* AVB5_RX_CTL */
3996 	} },
3997 	{ PINMUX_DRIVE_REG("DRV1CTRL9", 0xe6069884) {
3998 		{ RCAR_GP_PIN(9, 15), 28, 3 },	/* AVB5_MAGIC */
3999 		{ RCAR_GP_PIN(9, 14), 24, 3 },	/* AVB5_MDC */
4000 		{ RCAR_GP_PIN(9, 13), 20, 3 },	/* AVB5_MDIO */
4001 		{ RCAR_GP_PIN(9, 12), 16, 3 },	/* AVB5_TXCREFCLK */
4002 		{ RCAR_GP_PIN(9, 11), 12, 3 },	/* AVB5_TD3 */
4003 		{ RCAR_GP_PIN(9, 10),  8, 3 },	/* AVB5_TD2 */
4004 		{ RCAR_GP_PIN(9,  9),  4, 3 },	/* AVB5_TD1*/
4005 		{ RCAR_GP_PIN(9,  8),  0, 3 },	/* AVB5_TD0 */
4006 	} },
4007 	{ PINMUX_DRIVE_REG("DRV2CTRL9", 0xe6069888) {
4008 		{ RCAR_GP_PIN(9, 20), 16, 3 },	/* AVB5_AVTP_PPS */
4009 		{ RCAR_GP_PIN(9, 19), 12, 3 },	/* AVB5_AVTP_CAPTURE */
4010 		{ RCAR_GP_PIN(9, 18),  8, 3 },	/* AVB5_AVTP_MATCH */
4011 		{ RCAR_GP_PIN(9, 17),  4, 3 },	/* AVB5_LINK */
4012 		{ RCAR_GP_PIN(9, 16),  0, 3 },	/* AVB5_PHY_INT */
4013 	} },
4014 	{ },
4015 };
4016 
4017 enum ioctrl_regs {
4018 	POC0,
4019 	POC1,
4020 	POC2,
4021 	POC4,
4022 	POC5,
4023 	POC6,
4024 	POC7,
4025 	POC8,
4026 	POC9,
4027 	TD1SEL0,
4028 };
4029 
4030 static const struct pinmux_ioctrl_reg pinmux_ioctrl_regs[] = {
4031 	[POC0] = { 0xe60580a0, },
4032 	[POC1] = { 0xe60500a0, },
4033 	[POC2] = { 0xe60508a0, },
4034 	[POC4] = { 0xe60600a0, },
4035 	[POC5] = { 0xe60608a0, },
4036 	[POC6] = { 0xe60680a0, },
4037 	[POC7] = { 0xe60688a0, },
4038 	[POC8] = { 0xe60690a0, },
4039 	[POC9] = { 0xe60698a0, },
4040 	[TD1SEL0] = { 0xe6058124, },
4041 	{ /* sentinel */ },
4042 };
4043 
4044 static int r8a779a0_pin_to_pocctrl(struct sh_pfc *pfc, unsigned int pin,
4045 				   u32 *pocctrl)
4046 {
4047 	int bit = pin & 0x1f;
4048 
4049 	*pocctrl = pinmux_ioctrl_regs[POC0].reg;
4050 	if (pin >= RCAR_GP_PIN(0, 15) && pin <= RCAR_GP_PIN(0, 27))
4051 		return bit;
4052 
4053 	*pocctrl = pinmux_ioctrl_regs[POC1].reg;
4054 	if (pin >= RCAR_GP_PIN(1, 0) && pin <= RCAR_GP_PIN(1, 30))
4055 		return bit;
4056 
4057 	*pocctrl = pinmux_ioctrl_regs[POC2].reg;
4058 	if (pin >= RCAR_GP_PIN(2, 2) && pin <= RCAR_GP_PIN(2, 15))
4059 		return bit;
4060 
4061 	*pocctrl = pinmux_ioctrl_regs[POC4].reg;
4062 	if (pin >= RCAR_GP_PIN(4, 0) && pin <= RCAR_GP_PIN(4, 17))
4063 		return bit;
4064 
4065 	*pocctrl = pinmux_ioctrl_regs[POC5].reg;
4066 	if (pin >= RCAR_GP_PIN(5, 0) && pin <= RCAR_GP_PIN(5, 17))
4067 		return bit;
4068 
4069 	*pocctrl = pinmux_ioctrl_regs[POC6].reg;
4070 	if (pin >= RCAR_GP_PIN(6, 0) && pin <= RCAR_GP_PIN(6, 17))
4071 		return bit;
4072 
4073 	*pocctrl = pinmux_ioctrl_regs[POC7].reg;
4074 	if (pin >= RCAR_GP_PIN(7, 0) && pin <= RCAR_GP_PIN(7, 17))
4075 		return bit;
4076 
4077 	*pocctrl = pinmux_ioctrl_regs[POC8].reg;
4078 	if (pin >= RCAR_GP_PIN(8, 0) && pin <= RCAR_GP_PIN(8, 17))
4079 		return bit;
4080 
4081 	*pocctrl = pinmux_ioctrl_regs[POC9].reg;
4082 	if (pin >= RCAR_GP_PIN(9, 0) && pin <= RCAR_GP_PIN(9, 17))
4083 		return bit;
4084 
4085 	return -EINVAL;
4086 }
4087 
4088 static const struct pinmux_bias_reg pinmux_bias_regs[] = {
4089 	{ PINMUX_BIAS_REG("PUEN0", 0xe60580c0, "PUD0", 0xe60580e0) {
4090 		[ 0] = RCAR_GP_PIN(0,  0),	/* QSPI0_SPCLK */
4091 		[ 1] = RCAR_GP_PIN(0,  1),	/* QSPI0_MOSI_IO0 */
4092 		[ 2] = RCAR_GP_PIN(0,  2),	/* QSPI0_MISO_IO1 */
4093 		[ 3] = RCAR_GP_PIN(0,  3),	/* QSPI0_IO2 */
4094 		[ 4] = RCAR_GP_PIN(0,  4),	/* QSPI0_IO3 */
4095 		[ 5] = RCAR_GP_PIN(0,  5),	/* QSPI0_SSL */
4096 		[ 6] = RCAR_GP_PIN(0,  6),	/* QSPI1_SPCLK */
4097 		[ 7] = RCAR_GP_PIN(0,  7),	/* QSPI1_MOSI_IO0 */
4098 		[ 8] = RCAR_GP_PIN(0,  8),	/* QSPI1_MISO_IO1 */
4099 		[ 9] = RCAR_GP_PIN(0,  9),	/* QSPI1_IO2 */
4100 		[10] = RCAR_GP_PIN(0, 10),	/* QSPI1_IO3 */
4101 		[11] = RCAR_GP_PIN(0, 11),	/* QSPI1_SSL */
4102 		[12] = RCAR_GP_PIN(0, 12),	/* RPC_RESET_N */
4103 		[13] = RCAR_GP_PIN(0, 13),	/* RPC_WP_N */
4104 		[14] = RCAR_GP_PIN(0, 14),	/* RPC_INT_N */
4105 		[15] = RCAR_GP_PIN(0, 15),	/* SD_WP */
4106 		[16] = RCAR_GP_PIN(0, 16),	/* SD_CD */
4107 		[17] = RCAR_GP_PIN(0, 17),	/* MMC_DS */
4108 		[18] = RCAR_GP_PIN(0, 18),	/* MMC_SD_CMD */
4109 		[19] = RCAR_GP_PIN(0, 19),	/* MMC_SD_D0 */
4110 		[20] = RCAR_GP_PIN(0, 20),	/* MMC_SD_D1 */
4111 		[21] = RCAR_GP_PIN(0, 21),	/* MMC_SD_D2 */
4112 		[22] = RCAR_GP_PIN(0, 22),	/* MMC_SD_D3 */
4113 		[23] = RCAR_GP_PIN(0, 23),	/* MMC_SD_CLK */
4114 		[24] = RCAR_GP_PIN(0, 24),	/* MMC_D4 */
4115 		[25] = RCAR_GP_PIN(0, 25),	/* MMC_D5 */
4116 		[26] = RCAR_GP_PIN(0, 26),	/* MMC_D6 */
4117 		[27] = RCAR_GP_PIN(0, 27),	/* MMC_D7 */
4118 		[28] = SH_PFC_PIN_NONE,
4119 		[29] = SH_PFC_PIN_NONE,
4120 		[30] = SH_PFC_PIN_NONE,
4121 		[31] = SH_PFC_PIN_NONE,
4122 	} },
4123 	{ PINMUX_BIAS_REG("PUEN1", 0xe60500c0, "PUD1", 0xe60500e0) {
4124 		[ 0] = RCAR_GP_PIN(1,  0),	/* SCIF_CLK */
4125 		[ 1] = RCAR_GP_PIN(1,  1),	/* HRX0 */
4126 		[ 2] = RCAR_GP_PIN(1,  2),	/* HSCK0 */
4127 		[ 3] = RCAR_GP_PIN(1,  3),	/* HRTS0_N */
4128 		[ 4] = RCAR_GP_PIN(1,  4),	/* HCTS0_N */
4129 		[ 5] = RCAR_GP_PIN(1,  5),	/* HTX0 */
4130 		[ 6] = RCAR_GP_PIN(1,  6),	/* MSIOF0_RXD */
4131 		[ 7] = RCAR_GP_PIN(1,  7),	/* MSIOF0_TXD */
4132 		[ 8] = RCAR_GP_PIN(1,  8),	/* MSIOF0_SCK */
4133 		[ 9] = RCAR_GP_PIN(1,  9),	/* MSIOF0_SYNC */
4134 		[10] = RCAR_GP_PIN(1, 10),	/* MSIOF0_SS1 */
4135 		[11] = RCAR_GP_PIN(1, 11),	/* MSIOF0_SS2 */
4136 		[12] = RCAR_GP_PIN(1, 12),	/* MSIOF1_RXD */
4137 		[13] = RCAR_GP_PIN(1, 13),	/* MSIOF1_TXD */
4138 		[14] = RCAR_GP_PIN(1, 14),	/* MSIOF1_SCK */
4139 		[15] = RCAR_GP_PIN(1, 15),	/* MSIOF1_SYNC */
4140 		[16] = RCAR_GP_PIN(1, 16),	/* MSIOF1_SS1 */
4141 		[17] = RCAR_GP_PIN(1, 17),	/* MSIOF1_SS2 */
4142 		[18] = RCAR_GP_PIN(1, 18),	/* MSIOF2_RXD */
4143 		[19] = RCAR_GP_PIN(1, 19),	/* MSIOF2_TXD */
4144 		[20] = RCAR_GP_PIN(1, 20),	/* MSIOF2_SCK */
4145 		[21] = RCAR_GP_PIN(1, 21),	/* MSIOF2_SYNC */
4146 		[22] = RCAR_GP_PIN(1, 22),	/* MSIOF2_SS1 */
4147 		[23] = RCAR_GP_PIN(1, 23),	/* MSIOF2_SS2 */
4148 		[24] = RCAR_GP_PIN(1, 24),	/* IRQ0 */
4149 		[25] = RCAR_GP_PIN(1, 25),	/* IRQ1 */
4150 		[26] = RCAR_GP_PIN(1, 26),	/* IRQ2 */
4151 		[27] = RCAR_GP_PIN(1, 27),	/* IRQ3 */
4152 		[28] = RCAR_GP_PIN(1, 28),	/* GP1_28 */
4153 		[29] = RCAR_GP_PIN(1, 29),	/* GP1_29 */
4154 		[30] = RCAR_GP_PIN(1, 30),	/* GP1_30 */
4155 		[31] = SH_PFC_PIN_NONE,
4156 	} },
4157 	{ PINMUX_BIAS_REG("PUEN2", 0xe60508c0, "PUD2", 0xe60508e0) {
4158 		[ 0] = RCAR_GP_PIN(2,  0),	/* IPC_CLKIN */
4159 		[ 1] = RCAR_GP_PIN(2,  1),	/* IPC_CLKOUT */
4160 		[ 2] = RCAR_GP_PIN(2,  2),	/* GP2_02 */
4161 		[ 3] = RCAR_GP_PIN(2,  3),	/* GP2_03 */
4162 		[ 4] = RCAR_GP_PIN(2,  4),	/* GP2_04 */
4163 		[ 5] = RCAR_GP_PIN(2,  5),	/* GP2_05 */
4164 		[ 6] = RCAR_GP_PIN(2,  6),	/* GP2_06 */
4165 		[ 7] = RCAR_GP_PIN(2,  7),	/* GP2_07 */
4166 		[ 8] = RCAR_GP_PIN(2,  8),	/* GP2_08 */
4167 		[ 9] = RCAR_GP_PIN(2,  9),	/* GP2_09 */
4168 		[10] = RCAR_GP_PIN(2, 10),	/* GP2_10 */
4169 		[11] = RCAR_GP_PIN(2, 11),	/* GP2_11 */
4170 		[12] = RCAR_GP_PIN(2, 12),	/* GP2_12 */
4171 		[13] = RCAR_GP_PIN(2, 13),	/* GP2_13 */
4172 		[14] = RCAR_GP_PIN(2, 14),	/* GP2_14 */
4173 		[15] = RCAR_GP_PIN(2, 15),	/* GP2_15 */
4174 		[16] = RCAR_GP_PIN(2, 16),	/* FXR_TXDA_A */
4175 		[17] = RCAR_GP_PIN(2, 17),	/* RXDA_EXTFXR_A */
4176 		[18] = RCAR_GP_PIN(2, 18),	/* FXR_TXDB */
4177 		[19] = RCAR_GP_PIN(2, 19),	/* RXDB_EXTFXR */
4178 		[20] = RCAR_GP_PIN(2, 20),	/* CLK_EXTFXR */
4179 		[21] = RCAR_GP_PIN(2, 21),	/* TPU0TO0 */
4180 		[22] = RCAR_GP_PIN(2, 22),	/* TPU0TO1 */
4181 		[23] = RCAR_GP_PIN(2, 23),	/* TCLK1_A */
4182 		[24] = RCAR_GP_PIN(2, 24),	/* TCLK2_A */
4183 		[25] = SH_PFC_PIN_NONE,
4184 		[26] = SH_PFC_PIN_NONE,
4185 		[27] = SH_PFC_PIN_NONE,
4186 		[28] = SH_PFC_PIN_NONE,
4187 		[29] = SH_PFC_PIN_NONE,
4188 		[30] = SH_PFC_PIN_NONE,
4189 		[31] = SH_PFC_PIN_NONE,
4190 	} },
4191 	{ PINMUX_BIAS_REG("PUEN3", 0xe60588c0, "PUD3", 0xe60588e0) {
4192 		[ 0] = RCAR_GP_PIN(3,  0),	/* CAN_CLK */
4193 		[ 1] = RCAR_GP_PIN(3,  1),	/* CANFD0_TX */
4194 		[ 2] = RCAR_GP_PIN(3,  2),	/* CANFD0_RX */
4195 		[ 3] = RCAR_GP_PIN(3,  3),	/* CANFD1_TX */
4196 		[ 4] = RCAR_GP_PIN(3,  4),	/* CANFD1_RX */
4197 		[ 5] = RCAR_GP_PIN(3,  5),	/* CANFD2_TX */
4198 		[ 6] = RCAR_GP_PIN(3,  6),	/* CANFD2_RX */
4199 		[ 7] = RCAR_GP_PIN(3,  7),	/* CANFD3_TX */
4200 		[ 8] = RCAR_GP_PIN(3,  8),	/* CANFD3_RX */
4201 		[ 9] = RCAR_GP_PIN(3,  9),	/* CANFD4_TX */
4202 		[10] = RCAR_GP_PIN(3, 10),	/* CANFD4_RX */
4203 		[11] = RCAR_GP_PIN(3, 11),	/* CANFD5_TX */
4204 		[12] = RCAR_GP_PIN(3, 12),	/* CANFD5_RX */
4205 		[13] = RCAR_GP_PIN(3, 13),	/* CANFD6_TX */
4206 		[14] = RCAR_GP_PIN(3, 14),	/* CANFD6_RX */
4207 		[15] = RCAR_GP_PIN(3, 15),	/* CANFD7_TX */
4208 		[16] = RCAR_GP_PIN(3, 16),	/* CANFD7_RX */
4209 		[17] = SH_PFC_PIN_NONE,
4210 		[18] = SH_PFC_PIN_NONE,
4211 		[19] = SH_PFC_PIN_NONE,
4212 		[20] = SH_PFC_PIN_NONE,
4213 		[21] = SH_PFC_PIN_NONE,
4214 		[22] = SH_PFC_PIN_NONE,
4215 		[23] = SH_PFC_PIN_NONE,
4216 		[24] = SH_PFC_PIN_NONE,
4217 		[25] = SH_PFC_PIN_NONE,
4218 		[26] = SH_PFC_PIN_NONE,
4219 		[27] = SH_PFC_PIN_NONE,
4220 		[28] = SH_PFC_PIN_NONE,
4221 		[29] = SH_PFC_PIN_NONE,
4222 		[30] = SH_PFC_PIN_NONE,
4223 		[31] = SH_PFC_PIN_NONE,
4224 	} },
4225 	{ PINMUX_BIAS_REG("PUEN4", 0xe60600c0, "PUD4", 0xe60600e0) {
4226 		[ 0] = RCAR_GP_PIN(4,  0),	/* AVB0_RX_CTL */
4227 		[ 1] = RCAR_GP_PIN(4,  1),	/* AVB0_RXC */
4228 		[ 2] = RCAR_GP_PIN(4,  2),	/* AVB0_RD0 */
4229 		[ 3] = RCAR_GP_PIN(4,  3),	/* AVB0_RD1 */
4230 		[ 4] = RCAR_GP_PIN(4,  4),	/* AVB0_RD2 */
4231 		[ 5] = RCAR_GP_PIN(4,  5),	/* AVB0_RD3 */
4232 		[ 6] = RCAR_GP_PIN(4,  6),	/* AVB0_TX_CTL */
4233 		[ 7] = RCAR_GP_PIN(4,  7),	/* AVB0_TXC */
4234 		[ 8] = RCAR_GP_PIN(4,  8),	/* AVB0_TD0 */
4235 		[ 9] = RCAR_GP_PIN(4,  9),	/* AVB0_TD1 */
4236 		[10] = RCAR_GP_PIN(4, 10),	/* AVB0_TD2 */
4237 		[11] = RCAR_GP_PIN(4, 11),	/* AVB0_TD3 */
4238 		[12] = RCAR_GP_PIN(4, 12),	/* AVB0_TXREFCLK */
4239 		[13] = RCAR_GP_PIN(4, 13),	/* AVB0_MDIO */
4240 		[14] = RCAR_GP_PIN(4, 14),	/* AVB0_MDC */
4241 		[15] = RCAR_GP_PIN(4, 15),	/* AVB0_MAGIC */
4242 		[16] = RCAR_GP_PIN(4, 16),	/* AVB0_PHY_INT */
4243 		[17] = RCAR_GP_PIN(4, 17),	/* AVB0_LINK */
4244 		[18] = RCAR_GP_PIN(4, 18),	/* AVB0_AVTP_MATCH */
4245 		[19] = RCAR_GP_PIN(4, 19),	/* AVB0_AVTP_CAPTURE */
4246 		[20] = RCAR_GP_PIN(4, 20),	/* AVB0_AVTP_PPS */
4247 		[21] = RCAR_GP_PIN(4, 21),	/* PCIE0_CLKREQ_N */
4248 		[22] = RCAR_GP_PIN(4, 22),	/* PCIE1_CLKREQ_N */
4249 		[23] = RCAR_GP_PIN(4, 23),	/* PCIE2_CLKREQ_N */
4250 		[24] = RCAR_GP_PIN(4, 24),	/* PCIE3_CLKREQ_N */
4251 		[25] = RCAR_GP_PIN(4, 25),	/* AVS0 */
4252 		[26] = RCAR_GP_PIN(4, 26),	/* AVS1 */
4253 		[27] = SH_PFC_PIN_NONE,
4254 		[28] = SH_PFC_PIN_NONE,
4255 		[29] = SH_PFC_PIN_NONE,
4256 		[30] = SH_PFC_PIN_NONE,
4257 		[31] = SH_PFC_PIN_NONE,
4258 	} },
4259 	{ PINMUX_BIAS_REG("PUEN5", 0xe60608c0, "PUD5", 0xe60608e0) {
4260 		[ 0] = RCAR_GP_PIN(5,  0),	/* AVB1_RX_CTL */
4261 		[ 1] = RCAR_GP_PIN(5,  1),	/* AVB1_RXC */
4262 		[ 2] = RCAR_GP_PIN(5,  2),	/* AVB1_RD0 */
4263 		[ 3] = RCAR_GP_PIN(5,  3),	/* AVB1_RD1 */
4264 		[ 4] = RCAR_GP_PIN(5,  4),	/* AVB1_RD2 */
4265 		[ 5] = RCAR_GP_PIN(5,  5),	/* AVB1_RD3 */
4266 		[ 6] = RCAR_GP_PIN(5,  6),	/* AVB1_TX_CTL */
4267 		[ 7] = RCAR_GP_PIN(5,  7),	/* AVB1_TXC */
4268 		[ 8] = RCAR_GP_PIN(5,  8),	/* AVB1_TD0 */
4269 		[ 9] = RCAR_GP_PIN(5,  9),	/* AVB1_TD1 */
4270 		[10] = RCAR_GP_PIN(5, 10),	/* AVB1_TD2 */
4271 		[11] = RCAR_GP_PIN(5, 11),	/* AVB1_TD3 */
4272 		[12] = RCAR_GP_PIN(5, 12),	/* AVB1_TXCREFCLK */
4273 		[13] = RCAR_GP_PIN(5, 13),	/* AVB1_MDIO */
4274 		[14] = RCAR_GP_PIN(5, 14),	/* AVB1_MDC */
4275 		[15] = RCAR_GP_PIN(5, 15),	/* AVB1_MAGIC */
4276 		[16] = RCAR_GP_PIN(5, 16),	/* AVB1_PHY_INT */
4277 		[17] = RCAR_GP_PIN(5, 17),	/* AVB1_LINK */
4278 		[18] = RCAR_GP_PIN(5, 18),	/* AVB1_AVTP_MATCH */
4279 		[19] = RCAR_GP_PIN(5, 19),	/* AVB1_AVTP_CAPTURE */
4280 		[20] = RCAR_GP_PIN(5, 20),	/* AVB1_AVTP_PPS */
4281 		[21] = SH_PFC_PIN_NONE,
4282 		[22] = SH_PFC_PIN_NONE,
4283 		[23] = SH_PFC_PIN_NONE,
4284 		[24] = SH_PFC_PIN_NONE,
4285 		[25] = SH_PFC_PIN_NONE,
4286 		[26] = SH_PFC_PIN_NONE,
4287 		[27] = SH_PFC_PIN_NONE,
4288 		[28] = SH_PFC_PIN_NONE,
4289 		[29] = SH_PFC_PIN_NONE,
4290 		[30] = SH_PFC_PIN_NONE,
4291 		[31] = SH_PFC_PIN_NONE,
4292 	} },
4293 	{ PINMUX_BIAS_REG("PUEN6", 0xe60680c0, "PUD6", 0xe60680e0) {
4294 		[ 0] = RCAR_GP_PIN(6,  0),	/* AVB2_RX_CTL */
4295 		[ 1] = RCAR_GP_PIN(6,  1),	/* AVB2_RXC */
4296 		[ 2] = RCAR_GP_PIN(6,  2),	/* AVB2_RD0 */
4297 		[ 3] = RCAR_GP_PIN(6,  3),	/* AVB2_RD1 */
4298 		[ 4] = RCAR_GP_PIN(6,  4),	/* AVB2_RD2 */
4299 		[ 5] = RCAR_GP_PIN(6,  5),	/* AVB2_RD3 */
4300 		[ 6] = RCAR_GP_PIN(6,  6),	/* AVB2_TX_CTL */
4301 		[ 7] = RCAR_GP_PIN(6,  7),	/* AVB2_TXC */
4302 		[ 8] = RCAR_GP_PIN(6,  8),	/* AVB2_TD0 */
4303 		[ 9] = RCAR_GP_PIN(6,  9),	/* AVB2_TD1 */
4304 		[10] = RCAR_GP_PIN(6, 10),	/* AVB2_TD2 */
4305 		[11] = RCAR_GP_PIN(6, 11),	/* AVB2_TD3 */
4306 		[12] = RCAR_GP_PIN(6, 12),	/* AVB2_TXCREFCLK */
4307 		[13] = RCAR_GP_PIN(6, 13),	/* AVB2_MDIO */
4308 		[14] = RCAR_GP_PIN(6, 14),	/* AVB2_MDC*/
4309 		[15] = RCAR_GP_PIN(6, 15),	/* AVB2_MAGIC */
4310 		[16] = RCAR_GP_PIN(6, 16),	/* AVB2_PHY_INT */
4311 		[17] = RCAR_GP_PIN(6, 17),	/* AVB2_LINK */
4312 		[18] = RCAR_GP_PIN(6, 18),	/* AVB2_AVTP_MATCH */
4313 		[19] = RCAR_GP_PIN(6, 19),	/* AVB2_AVTP_CAPTURE */
4314 		[20] = RCAR_GP_PIN(6, 20),	/* AVB2_AVTP_PPS */
4315 		[21] = SH_PFC_PIN_NONE,
4316 		[22] = SH_PFC_PIN_NONE,
4317 		[23] = SH_PFC_PIN_NONE,
4318 		[24] = SH_PFC_PIN_NONE,
4319 		[25] = SH_PFC_PIN_NONE,
4320 		[26] = SH_PFC_PIN_NONE,
4321 		[27] = SH_PFC_PIN_NONE,
4322 		[28] = SH_PFC_PIN_NONE,
4323 		[29] = SH_PFC_PIN_NONE,
4324 		[30] = SH_PFC_PIN_NONE,
4325 		[31] = SH_PFC_PIN_NONE,
4326 	} },
4327 	{ PINMUX_BIAS_REG("PUEN7", 0xe60688c0, "PUD7", 0xe60688e0) {
4328 		[ 0] = RCAR_GP_PIN(7,  0),	/* AVB3_RX_CTL */
4329 		[ 1] = RCAR_GP_PIN(7,  1),	/* AVB3_RXC */
4330 		[ 2] = RCAR_GP_PIN(7,  2),	/* AVB3_RD0 */
4331 		[ 3] = RCAR_GP_PIN(7,  3),	/* AVB3_RD1 */
4332 		[ 4] = RCAR_GP_PIN(7,  4),	/* AVB3_RD2 */
4333 		[ 5] = RCAR_GP_PIN(7,  5),	/* AVB3_RD3 */
4334 		[ 6] = RCAR_GP_PIN(7,  6),	/* AVB3_TX_CTL */
4335 		[ 7] = RCAR_GP_PIN(7,  7),	/* AVB3_TXC */
4336 		[ 8] = RCAR_GP_PIN(7,  8),	/* AVB3_TD0 */
4337 		[ 9] = RCAR_GP_PIN(7,  9),	/* AVB3_TD1 */
4338 		[10] = RCAR_GP_PIN(7, 10),	/* AVB3_TD2 */
4339 		[11] = RCAR_GP_PIN(7, 11),	/* AVB3_TD3 */
4340 		[12] = RCAR_GP_PIN(7, 12),	/* AVB3_TXCREFCLK */
4341 		[13] = RCAR_GP_PIN(7, 13),	/* AVB3_MDIO */
4342 		[14] = RCAR_GP_PIN(7, 14),	/* AVB3_MDC */
4343 		[15] = RCAR_GP_PIN(7, 15),	/* AVB3_MAGIC */
4344 		[16] = RCAR_GP_PIN(7, 16),	/* AVB3_PHY_INT */
4345 		[17] = RCAR_GP_PIN(7, 17),	/* AVB3_LINK */
4346 		[18] = RCAR_GP_PIN(7, 18),	/* AVB3_AVTP_MATCH */
4347 		[19] = RCAR_GP_PIN(7, 19),	/* AVB3_AVTP_CAPTURE */
4348 		[20] = RCAR_GP_PIN(7, 20),	/* AVB3_AVTP_PPS */
4349 		[21] = SH_PFC_PIN_NONE,
4350 		[22] = SH_PFC_PIN_NONE,
4351 		[23] = SH_PFC_PIN_NONE,
4352 		[24] = SH_PFC_PIN_NONE,
4353 		[25] = SH_PFC_PIN_NONE,
4354 		[26] = SH_PFC_PIN_NONE,
4355 		[27] = SH_PFC_PIN_NONE,
4356 		[28] = SH_PFC_PIN_NONE,
4357 		[29] = SH_PFC_PIN_NONE,
4358 		[30] = SH_PFC_PIN_NONE,
4359 		[31] = SH_PFC_PIN_NONE,
4360 	} },
4361 	{ PINMUX_BIAS_REG("PUEN8", 0xe60690c0, "PUD8", 0xe60690e0) {
4362 		[ 0] = RCAR_GP_PIN(8,  0),	/* AVB4_RX_CTL */
4363 		[ 1] = RCAR_GP_PIN(8,  1),	/* AVB4_RXC */
4364 		[ 2] = RCAR_GP_PIN(8,  2),	/* AVB4_RD0 */
4365 		[ 3] = RCAR_GP_PIN(8,  3),	/* AVB4_RD1 */
4366 		[ 4] = RCAR_GP_PIN(8,  4),	/* AVB4_RD2 */
4367 		[ 5] = RCAR_GP_PIN(8,  5),	/* AVB4_RD3 */
4368 		[ 6] = RCAR_GP_PIN(8,  6),	/* AVB4_TX_CTL */
4369 		[ 7] = RCAR_GP_PIN(8,  7),	/* AVB4_TXC */
4370 		[ 8] = RCAR_GP_PIN(8,  8),	/* AVB4_TD0 */
4371 		[ 9] = RCAR_GP_PIN(8,  9),	/* AVB4_TD1 */
4372 		[10] = RCAR_GP_PIN(8, 10),	/* AVB4_TD2 */
4373 		[11] = RCAR_GP_PIN(8, 11),	/* AVB4_TD3 */
4374 		[12] = RCAR_GP_PIN(8, 12),	/* AVB4_TXCREFCLK */
4375 		[13] = RCAR_GP_PIN(8, 13),	/* AVB4_MDIO */
4376 		[14] = RCAR_GP_PIN(8, 14),	/* AVB4_MDC */
4377 		[15] = RCAR_GP_PIN(8, 15),	/* AVB4_MAGIC */
4378 		[16] = RCAR_GP_PIN(8, 16),	/* AVB4_PHY_INT */
4379 		[17] = RCAR_GP_PIN(8, 17),	/* AVB4_LINK */
4380 		[18] = RCAR_GP_PIN(8, 18),	/* AVB4_AVTP_MATCH */
4381 		[19] = RCAR_GP_PIN(8, 19),	/* AVB4_AVTP_CAPTURE */
4382 		[20] = RCAR_GP_PIN(8, 20),	/* AVB4_AVTP_PPS */
4383 		[21] = SH_PFC_PIN_NONE,
4384 		[22] = SH_PFC_PIN_NONE,
4385 		[23] = SH_PFC_PIN_NONE,
4386 		[24] = SH_PFC_PIN_NONE,
4387 		[25] = SH_PFC_PIN_NONE,
4388 		[26] = SH_PFC_PIN_NONE,
4389 		[27] = SH_PFC_PIN_NONE,
4390 		[28] = SH_PFC_PIN_NONE,
4391 		[29] = SH_PFC_PIN_NONE,
4392 		[30] = SH_PFC_PIN_NONE,
4393 		[31] = SH_PFC_PIN_NONE,
4394 	} },
4395 	{ PINMUX_BIAS_REG("PUEN9", 0xe60698c0, "PUD9", 0xe60698e0) {
4396 		[ 0] = RCAR_GP_PIN(9,  0),	/* AVB5_RX_CTL */
4397 		[ 1] = RCAR_GP_PIN(9,  1),	/* AVB5_RXC */
4398 		[ 2] = RCAR_GP_PIN(9,  2),	/* AVB5_RD0 */
4399 		[ 3] = RCAR_GP_PIN(9,  3),	/* AVB5_RD1 */
4400 		[ 4] = RCAR_GP_PIN(9,  4),	/* AVB5_RD2 */
4401 		[ 5] = RCAR_GP_PIN(9,  5),	/* AVB5_RD3 */
4402 		[ 6] = RCAR_GP_PIN(9,  6),	/* AVB5_TX_CTL */
4403 		[ 7] = RCAR_GP_PIN(9,  7),	/* AVB5_TXC */
4404 		[ 8] = RCAR_GP_PIN(9,  8),	/* AVB5_TD0 */
4405 		[ 9] = RCAR_GP_PIN(9,  9),	/* AVB5_TD1 */
4406 		[10] = RCAR_GP_PIN(9, 10),	/* AVB5_TD2 */
4407 		[11] = RCAR_GP_PIN(9, 11),	/* AVB5_TD3 */
4408 		[12] = RCAR_GP_PIN(9, 12),	/* AVB5_TXCREFCLK */
4409 		[13] = RCAR_GP_PIN(9, 13),	/* AVB5_MDIO */
4410 		[14] = RCAR_GP_PIN(9, 14),	/* AVB5_MDC */
4411 		[15] = RCAR_GP_PIN(9, 15),	/* AVB5_MAGIC */
4412 		[16] = RCAR_GP_PIN(9, 16),	/* AVB5_PHY_INT */
4413 		[17] = RCAR_GP_PIN(9, 17),	/* AVB5_LINK */
4414 		[18] = RCAR_GP_PIN(9, 18),	/* AVB5_AVTP_MATCH */
4415 		[19] = RCAR_GP_PIN(9, 19),	/* AVB5_AVTP_CAPTURE */
4416 		[20] = RCAR_GP_PIN(9, 20),	/* AVB5_AVTP_PPS */
4417 		[21] = SH_PFC_PIN_NONE,
4418 		[22] = SH_PFC_PIN_NONE,
4419 		[23] = SH_PFC_PIN_NONE,
4420 		[24] = SH_PFC_PIN_NONE,
4421 		[25] = SH_PFC_PIN_NONE,
4422 		[26] = SH_PFC_PIN_NONE,
4423 		[27] = SH_PFC_PIN_NONE,
4424 		[28] = SH_PFC_PIN_NONE,
4425 		[29] = SH_PFC_PIN_NONE,
4426 		[30] = SH_PFC_PIN_NONE,
4427 		[31] = SH_PFC_PIN_NONE,
4428 	} },
4429 	{ /* sentinel */ },
4430 };
4431 
4432 static const struct sh_pfc_soc_operations pinmux_ops = {
4433 	.pin_to_pocctrl = r8a779a0_pin_to_pocctrl,
4434 	.get_bias = rcar_pinmux_get_bias,
4435 	.set_bias = rcar_pinmux_set_bias,
4436 };
4437 
4438 const struct sh_pfc_soc_info r8a779a0_pinmux_info = {
4439 	.name = "r8a779a0_pfc",
4440 	.ops = &pinmux_ops,
4441 	.unlock_reg = 0x1ff,	/* PMMRn mask */
4442 
4443 	.function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
4444 
4445 	.pins = pinmux_pins,
4446 	.nr_pins = ARRAY_SIZE(pinmux_pins),
4447 	.groups = pinmux_groups,
4448 	.nr_groups = ARRAY_SIZE(pinmux_groups),
4449 	.functions = pinmux_functions,
4450 	.nr_functions = ARRAY_SIZE(pinmux_functions),
4451 
4452 	.cfg_regs = pinmux_config_regs,
4453 	.drive_regs = pinmux_drive_regs,
4454 	.bias_regs = pinmux_bias_regs,
4455 	.ioctrl_regs = pinmux_ioctrl_regs,
4456 
4457 	.pinmux_data = pinmux_data,
4458 	.pinmux_data_size = ARRAY_SIZE(pinmux_data),
4459 };
4460