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