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