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