xref: /OK3568_Linux_fs/kernel/drivers/pinctrl/renesas/pfc-r8a77980.c (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun // SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * R8A77980 processor support - PFC hardware block.
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * Copyright (C) 2018 Renesas Electronics Corp.
6*4882a593Smuzhiyun  * Copyright (C) 2018 Cogent Embedded, Inc.
7*4882a593Smuzhiyun  *
8*4882a593Smuzhiyun  * This file is based on the drivers/pinctrl/renesas/pfc-r8a7795.c
9*4882a593Smuzhiyun  *
10*4882a593Smuzhiyun  * R-Car Gen3 processor support - PFC hardware block.
11*4882a593Smuzhiyun  *
12*4882a593Smuzhiyun  * Copyright (C) 2015 Renesas Electronics Corporation
13*4882a593Smuzhiyun  */
14*4882a593Smuzhiyun 
15*4882a593Smuzhiyun #include <linux/errno.h>
16*4882a593Smuzhiyun #include <linux/io.h>
17*4882a593Smuzhiyun #include <linux/kernel.h>
18*4882a593Smuzhiyun 
19*4882a593Smuzhiyun #include "core.h"
20*4882a593Smuzhiyun #include "sh_pfc.h"
21*4882a593Smuzhiyun 
22*4882a593Smuzhiyun #define CPU_ALL_GP(fn, sfx)	\
23*4882a593Smuzhiyun 	PORT_GP_CFG_22(0, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),	\
24*4882a593Smuzhiyun 	PORT_GP_28(1, fn, sfx),	\
25*4882a593Smuzhiyun 	PORT_GP_CFG_30(2, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),	\
26*4882a593Smuzhiyun 	PORT_GP_CFG_17(3, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE), \
27*4882a593Smuzhiyun 	PORT_GP_25(4, fn, sfx),	\
28*4882a593Smuzhiyun 	PORT_GP_15(5, fn, sfx)
29*4882a593Smuzhiyun 
30*4882a593Smuzhiyun /*
31*4882a593Smuzhiyun  * F_() : just information
32*4882a593Smuzhiyun  * FM() : macro for FN_xxx / xxx_MARK
33*4882a593Smuzhiyun  */
34*4882a593Smuzhiyun 
35*4882a593Smuzhiyun /* GPSR0 */
36*4882a593Smuzhiyun #define GPSR0_21	F_(DU_EXODDF_DU_ODDF_DISP_CDE,	IP2_23_20)
37*4882a593Smuzhiyun #define GPSR0_20	F_(DU_EXVSYNC_DU_VSYNC,		IP2_19_16)
38*4882a593Smuzhiyun #define GPSR0_19	F_(DU_EXHSYNC_DU_HSYNC,		IP2_15_12)
39*4882a593Smuzhiyun #define GPSR0_18	F_(DU_DOTCLKOUT,		IP2_11_8)
40*4882a593Smuzhiyun #define GPSR0_17	F_(DU_DB7,			IP2_7_4)
41*4882a593Smuzhiyun #define GPSR0_16	F_(DU_DB6,			IP2_3_0)
42*4882a593Smuzhiyun #define GPSR0_15	F_(DU_DB5,			IP1_31_28)
43*4882a593Smuzhiyun #define GPSR0_14	F_(DU_DB4,			IP1_27_24)
44*4882a593Smuzhiyun #define GPSR0_13	F_(DU_DB3,			IP1_23_20)
45*4882a593Smuzhiyun #define GPSR0_12	F_(DU_DB2,			IP1_19_16)
46*4882a593Smuzhiyun #define GPSR0_11	F_(DU_DG7,			IP1_15_12)
47*4882a593Smuzhiyun #define GPSR0_10	F_(DU_DG6,			IP1_11_8)
48*4882a593Smuzhiyun #define GPSR0_9		F_(DU_DG5,			IP1_7_4)
49*4882a593Smuzhiyun #define GPSR0_8		F_(DU_DG4,			IP1_3_0)
50*4882a593Smuzhiyun #define GPSR0_7		F_(DU_DG3,			IP0_31_28)
51*4882a593Smuzhiyun #define GPSR0_6		F_(DU_DG2,			IP0_27_24)
52*4882a593Smuzhiyun #define GPSR0_5		F_(DU_DR7,			IP0_23_20)
53*4882a593Smuzhiyun #define GPSR0_4		F_(DU_DR6,			IP0_19_16)
54*4882a593Smuzhiyun #define GPSR0_3		F_(DU_DR5,			IP0_15_12)
55*4882a593Smuzhiyun #define GPSR0_2		F_(DU_DR4,			IP0_11_8)
56*4882a593Smuzhiyun #define GPSR0_1		F_(DU_DR3,			IP0_7_4)
57*4882a593Smuzhiyun #define GPSR0_0		F_(DU_DR2,			IP0_3_0)
58*4882a593Smuzhiyun 
59*4882a593Smuzhiyun /* GPSR1 */
60*4882a593Smuzhiyun #define GPSR1_27	F_(DIGRF_CLKOUT,	IP8_31_28)
61*4882a593Smuzhiyun #define GPSR1_26	F_(DIGRF_CLKIN,		IP8_27_24)
62*4882a593Smuzhiyun #define GPSR1_25	F_(CANFD_CLK_A,		IP8_23_20)
63*4882a593Smuzhiyun #define GPSR1_24	F_(CANFD1_RX,		IP8_19_16)
64*4882a593Smuzhiyun #define GPSR1_23	F_(CANFD1_TX,		IP8_15_12)
65*4882a593Smuzhiyun #define GPSR1_22	F_(CANFD0_RX_A,		IP8_11_8)
66*4882a593Smuzhiyun #define GPSR1_21	F_(CANFD0_TX_A,		IP8_7_4)
67*4882a593Smuzhiyun #define GPSR1_20	F_(AVB_AVTP_CAPTURE,	IP8_3_0)
68*4882a593Smuzhiyun #define GPSR1_19	F_(AVB_AVTP_MATCH,	IP7_31_28)
69*4882a593Smuzhiyun #define GPSR1_18	FM(AVB_LINK)
70*4882a593Smuzhiyun #define GPSR1_17	FM(AVB_PHY_INT)
71*4882a593Smuzhiyun #define GPSR1_16	FM(AVB_MAGIC)
72*4882a593Smuzhiyun #define GPSR1_15	FM(AVB_MDC)
73*4882a593Smuzhiyun #define GPSR1_14	FM(AVB_MDIO)
74*4882a593Smuzhiyun #define GPSR1_13	FM(AVB_TXCREFCLK)
75*4882a593Smuzhiyun #define GPSR1_12	FM(AVB_TD3)
76*4882a593Smuzhiyun #define GPSR1_11	FM(AVB_TD2)
77*4882a593Smuzhiyun #define GPSR1_10	FM(AVB_TD1)
78*4882a593Smuzhiyun #define GPSR1_9		FM(AVB_TD0)
79*4882a593Smuzhiyun #define GPSR1_8		FM(AVB_TXC)
80*4882a593Smuzhiyun #define GPSR1_7		FM(AVB_TX_CTL)
81*4882a593Smuzhiyun #define GPSR1_6		FM(AVB_RD3)
82*4882a593Smuzhiyun #define GPSR1_5		FM(AVB_RD2)
83*4882a593Smuzhiyun #define GPSR1_4		FM(AVB_RD1)
84*4882a593Smuzhiyun #define GPSR1_3		FM(AVB_RD0)
85*4882a593Smuzhiyun #define GPSR1_2		FM(AVB_RXC)
86*4882a593Smuzhiyun #define GPSR1_1		FM(AVB_RX_CTL)
87*4882a593Smuzhiyun #define GPSR1_0		F_(IRQ0,		IP2_27_24)
88*4882a593Smuzhiyun 
89*4882a593Smuzhiyun /* GPSR2 */
90*4882a593Smuzhiyun #define GPSR2_29	F_(FSO_TOE_N,  		IP10_19_16)
91*4882a593Smuzhiyun #define GPSR2_28	F_(FSO_CFE_1_N,		IP10_15_12)
92*4882a593Smuzhiyun #define GPSR2_27	F_(FSO_CFE_0_N,		IP10_11_8)
93*4882a593Smuzhiyun #define GPSR2_26	F_(SDA3,		IP10_7_4)
94*4882a593Smuzhiyun #define GPSR2_25	F_(SCL3,		IP10_3_0)
95*4882a593Smuzhiyun #define GPSR2_24	F_(MSIOF0_SS2,		IP9_31_28)
96*4882a593Smuzhiyun #define GPSR2_23	F_(MSIOF0_SS1,		IP9_27_24)
97*4882a593Smuzhiyun #define GPSR2_22	F_(MSIOF0_SYNC,		IP9_23_20)
98*4882a593Smuzhiyun #define GPSR2_21	F_(MSIOF0_SCK,		IP9_19_16)
99*4882a593Smuzhiyun #define GPSR2_20	F_(MSIOF0_TXD,		IP9_15_12)
100*4882a593Smuzhiyun #define GPSR2_19	F_(MSIOF0_RXD,		IP9_11_8)
101*4882a593Smuzhiyun #define GPSR2_18	F_(IRQ5,		IP9_7_4)
102*4882a593Smuzhiyun #define GPSR2_17	F_(IRQ4,		IP9_3_0)
103*4882a593Smuzhiyun #define GPSR2_16	F_(VI0_FIELD,		IP4_31_28)
104*4882a593Smuzhiyun #define GPSR2_15	F_(VI0_DATA11,		IP4_27_24)
105*4882a593Smuzhiyun #define GPSR2_14	F_(VI0_DATA10,		IP4_23_20)
106*4882a593Smuzhiyun #define GPSR2_13	F_(VI0_DATA9,		IP4_19_16)
107*4882a593Smuzhiyun #define GPSR2_12	F_(VI0_DATA8,		IP4_15_12)
108*4882a593Smuzhiyun #define GPSR2_11	F_(VI0_DATA7,		IP4_11_8)
109*4882a593Smuzhiyun #define GPSR2_10	F_(VI0_DATA6,		IP4_7_4)
110*4882a593Smuzhiyun #define GPSR2_9		F_(VI0_DATA5,		IP4_3_0)
111*4882a593Smuzhiyun #define GPSR2_8		F_(VI0_DATA4,		IP3_31_28)
112*4882a593Smuzhiyun #define GPSR2_7		F_(VI0_DATA3,		IP3_27_24)
113*4882a593Smuzhiyun #define GPSR2_6		F_(VI0_DATA2,		IP3_23_20)
114*4882a593Smuzhiyun #define GPSR2_5		F_(VI0_DATA1,		IP3_19_16)
115*4882a593Smuzhiyun #define GPSR2_4		F_(VI0_DATA0,		IP3_15_12)
116*4882a593Smuzhiyun #define GPSR2_3		F_(VI0_VSYNC_N,		IP3_11_8)
117*4882a593Smuzhiyun #define GPSR2_2		F_(VI0_HSYNC_N,		IP3_7_4)
118*4882a593Smuzhiyun #define GPSR2_1		F_(VI0_CLKENB,		IP3_3_0)
119*4882a593Smuzhiyun #define GPSR2_0		F_(VI0_CLK,		IP2_31_28)
120*4882a593Smuzhiyun 
121*4882a593Smuzhiyun /* GPSR3 */
122*4882a593Smuzhiyun #define GPSR3_16	F_(VI1_FIELD,		IP7_3_0)
123*4882a593Smuzhiyun #define GPSR3_15	F_(VI1_DATA11,		IP6_31_28)
124*4882a593Smuzhiyun #define GPSR3_14	F_(VI1_DATA10,		IP6_27_24)
125*4882a593Smuzhiyun #define GPSR3_13	F_(VI1_DATA9,		IP6_23_20)
126*4882a593Smuzhiyun #define GPSR3_12	F_(VI1_DATA8,		IP6_19_16)
127*4882a593Smuzhiyun #define GPSR3_11	F_(VI1_DATA7,		IP6_15_12)
128*4882a593Smuzhiyun #define GPSR3_10	F_(VI1_DATA6,		IP6_11_8)
129*4882a593Smuzhiyun #define GPSR3_9		F_(VI1_DATA5,		IP6_7_4)
130*4882a593Smuzhiyun #define GPSR3_8		F_(VI1_DATA4,		IP6_3_0)
131*4882a593Smuzhiyun #define GPSR3_7		F_(VI1_DATA3,		IP5_31_28)
132*4882a593Smuzhiyun #define GPSR3_6		F_(VI1_DATA2,		IP5_27_24)
133*4882a593Smuzhiyun #define GPSR3_5		F_(VI1_DATA1,		IP5_23_20)
134*4882a593Smuzhiyun #define GPSR3_4		F_(VI1_DATA0,		IP5_19_16)
135*4882a593Smuzhiyun #define GPSR3_3		F_(VI1_VSYNC_N,		IP5_15_12)
136*4882a593Smuzhiyun #define GPSR3_2		F_(VI1_HSYNC_N,		IP5_11_8)
137*4882a593Smuzhiyun #define GPSR3_1		F_(VI1_CLKENB,		IP5_7_4)
138*4882a593Smuzhiyun #define GPSR3_0		F_(VI1_CLK,		IP5_3_0)
139*4882a593Smuzhiyun 
140*4882a593Smuzhiyun /* GPSR4 */
141*4882a593Smuzhiyun #define GPSR4_24	FM(GETHER_LINK_A)
142*4882a593Smuzhiyun #define GPSR4_23	FM(GETHER_PHY_INT_A)
143*4882a593Smuzhiyun #define GPSR4_22	FM(GETHER_MAGIC)
144*4882a593Smuzhiyun #define GPSR4_21	FM(GETHER_MDC_A)
145*4882a593Smuzhiyun #define GPSR4_20	FM(GETHER_MDIO_A)
146*4882a593Smuzhiyun #define GPSR4_19	FM(GETHER_TXCREFCLK_MEGA)
147*4882a593Smuzhiyun #define GPSR4_18	FM(GETHER_TXCREFCLK)
148*4882a593Smuzhiyun #define GPSR4_17	FM(GETHER_TD3)
149*4882a593Smuzhiyun #define GPSR4_16	FM(GETHER_TD2)
150*4882a593Smuzhiyun #define GPSR4_15	FM(GETHER_TD1)
151*4882a593Smuzhiyun #define GPSR4_14	FM(GETHER_TD0)
152*4882a593Smuzhiyun #define GPSR4_13	FM(GETHER_TXC)
153*4882a593Smuzhiyun #define GPSR4_12	FM(GETHER_TX_CTL)
154*4882a593Smuzhiyun #define GPSR4_11	FM(GETHER_RD3)
155*4882a593Smuzhiyun #define GPSR4_10	FM(GETHER_RD2)
156*4882a593Smuzhiyun #define GPSR4_9		FM(GETHER_RD1)
157*4882a593Smuzhiyun #define GPSR4_8		FM(GETHER_RD0)
158*4882a593Smuzhiyun #define GPSR4_7		FM(GETHER_RXC)
159*4882a593Smuzhiyun #define GPSR4_6		FM(GETHER_RX_CTL)
160*4882a593Smuzhiyun #define GPSR4_5		F_(SDA2,		IP7_27_24)
161*4882a593Smuzhiyun #define GPSR4_4		F_(SCL2,		IP7_23_20)
162*4882a593Smuzhiyun #define GPSR4_3		F_(SDA1,		IP7_19_16)
163*4882a593Smuzhiyun #define GPSR4_2		F_(SCL1,		IP7_15_12)
164*4882a593Smuzhiyun #define GPSR4_1		F_(SDA0,		IP7_11_8)
165*4882a593Smuzhiyun #define GPSR4_0		F_(SCL0,		IP7_7_4)
166*4882a593Smuzhiyun 
167*4882a593Smuzhiyun /* GPSR5 */
168*4882a593Smuzhiyun #define GPSR5_14	FM(RPC_INT_N)
169*4882a593Smuzhiyun #define GPSR5_13	FM(RPC_WP_N)
170*4882a593Smuzhiyun #define GPSR5_12	FM(RPC_RESET_N)
171*4882a593Smuzhiyun #define GPSR5_11	FM(QSPI1_SSL)
172*4882a593Smuzhiyun #define GPSR5_10	FM(QSPI1_IO3)
173*4882a593Smuzhiyun #define GPSR5_9		FM(QSPI1_IO2)
174*4882a593Smuzhiyun #define GPSR5_8		FM(QSPI1_MISO_IO1)
175*4882a593Smuzhiyun #define GPSR5_7		FM(QSPI1_MOSI_IO0)
176*4882a593Smuzhiyun #define GPSR5_6		FM(QSPI1_SPCLK)
177*4882a593Smuzhiyun #define GPSR5_5		FM(QSPI0_SSL)
178*4882a593Smuzhiyun #define GPSR5_4		FM(QSPI0_IO3)
179*4882a593Smuzhiyun #define GPSR5_3		FM(QSPI0_IO2)
180*4882a593Smuzhiyun #define GPSR5_2		FM(QSPI0_MISO_IO1)
181*4882a593Smuzhiyun #define GPSR5_1		FM(QSPI0_MOSI_IO0)
182*4882a593Smuzhiyun #define GPSR5_0		FM(QSPI0_SPCLK)
183*4882a593Smuzhiyun 
184*4882a593Smuzhiyun 
185*4882a593Smuzhiyun /* IPSRx */		/* 0 */				/* 1 */			/* 2 */			/* 3 */		/* 4 */		/* 5 */		/* 6 - F */
186*4882a593Smuzhiyun #define IP0_3_0		FM(DU_DR2)			FM(SCK4)		FM(GETHER_RMII_CRS_DV)	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) F_(0, 0) F_(0, 0)
187*4882a593Smuzhiyun #define IP0_7_4		FM(DU_DR3)			FM(RX4)			FM(GETHER_RMII_RX_ER)	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) F_(0, 0) F_(0, 0)
188*4882a593Smuzhiyun #define IP0_11_8	FM(DU_DR4)			FM(TX4)			FM(GETHER_RMII_RXD0)	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) F_(0, 0) F_(0, 0)
189*4882a593Smuzhiyun #define IP0_15_12	FM(DU_DR5)			FM(CTS4_N)		FM(GETHER_RMII_RXD1)	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) F_(0, 0) F_(0, 0)
190*4882a593Smuzhiyun #define IP0_19_16	FM(DU_DR6)			FM(RTS4_N)		FM(GETHER_RMII_TXD_EN)	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) F_(0, 0) F_(0, 0)
191*4882a593Smuzhiyun #define IP0_23_20	FM(DU_DR7)			F_(0, 0)		FM(GETHER_RMII_TXD0)	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) F_(0, 0) F_(0, 0)
192*4882a593Smuzhiyun #define IP0_27_24	FM(DU_DG2)			F_(0, 0)		FM(GETHER_RMII_TXD1)	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) F_(0, 0) F_(0, 0)
193*4882a593Smuzhiyun #define IP0_31_28	FM(DU_DG3)			FM(CPG_CPCKOUT)		FM(GETHER_RMII_REFCLK)	FM(A7)		FM(PWMFSW0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
194*4882a593Smuzhiyun #define IP1_3_0		FM(DU_DG4)			FM(SCL5)		F_(0, 0)		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) F_(0, 0) F_(0, 0)
195*4882a593Smuzhiyun #define IP1_7_4		FM(DU_DG5)			FM(SDA5)		FM(GETHER_MDC_B)	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) F_(0, 0) F_(0, 0)
196*4882a593Smuzhiyun #define IP1_11_8	FM(DU_DG6)			FM(SCIF_CLK_A)		FM(GETHER_MDIO_B)	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) F_(0, 0) F_(0, 0)
197*4882a593Smuzhiyun #define IP1_15_12	FM(DU_DG7)			FM(HRX0_A)		F_(0, 0)		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) F_(0, 0) F_(0, 0)
198*4882a593Smuzhiyun #define IP1_19_16	FM(DU_DB2)			FM(HSCK0_A)		F_(0, 0)		FM(A12)		FM(IRQ1)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
199*4882a593Smuzhiyun #define IP1_23_20	FM(DU_DB3)			FM(HRTS0_N_A)		F_(0, 0)		FM(A13)		FM(IRQ2)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
200*4882a593Smuzhiyun #define IP1_27_24	FM(DU_DB4)			FM(HCTS0_N_A)		F_(0, 0)		FM(A14)		FM(IRQ3)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
201*4882a593Smuzhiyun #define IP1_31_28	FM(DU_DB5)			FM(HTX0_A)		FM(PWM0_A)		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) F_(0, 0) F_(0, 0)
202*4882a593Smuzhiyun #define IP2_3_0		FM(DU_DB6)			FM(MSIOF3_RXD)		F_(0, 0)		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) F_(0, 0) F_(0, 0)
203*4882a593Smuzhiyun #define IP2_7_4		FM(DU_DB7)			FM(MSIOF3_TXD)		F_(0, 0)		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) F_(0, 0) F_(0, 0)
204*4882a593Smuzhiyun #define IP2_11_8	FM(DU_DOTCLKOUT)		FM(MSIOF3_SS1)		FM(GETHER_LINK_B)	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) F_(0, 0) F_(0, 0)
205*4882a593Smuzhiyun #define IP2_15_12	FM(DU_EXHSYNC_DU_HSYNC)		FM(MSIOF3_SS2)		FM(GETHER_PHY_INT_B)	FM(A19)		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)
206*4882a593Smuzhiyun #define IP2_19_16	FM(DU_EXVSYNC_DU_VSYNC)		FM(MSIOF3_SCK)		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)
207*4882a593Smuzhiyun #define IP2_23_20	FM(DU_EXODDF_DU_ODDF_DISP_CDE)	FM(MSIOF3_SYNC)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
208*4882a593Smuzhiyun #define IP2_27_24	FM(IRQ0)			F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
209*4882a593Smuzhiyun #define IP2_31_28	FM(VI0_CLK)			FM(MSIOF2_SCK)		FM(SCK3)		F_(0, 0)	FM(HSCK3)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
210*4882a593Smuzhiyun #define IP3_3_0		FM(VI0_CLKENB)			FM(MSIOF2_RXD)		FM(RX3)			FM(RD_WR_N)	FM(HCTS3_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)
211*4882a593Smuzhiyun #define IP3_7_4		FM(VI0_HSYNC_N)			FM(MSIOF2_TXD)		FM(TX3)			F_(0, 0)	FM(HRTS3_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)
212*4882a593Smuzhiyun #define IP3_11_8	FM(VI0_VSYNC_N)			FM(MSIOF2_SYNC)		FM(CTS3_N)		F_(0, 0)	FM(HTX3)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
213*4882a593Smuzhiyun #define IP3_15_12	FM(VI0_DATA0)			FM(MSIOF2_SS1)		FM(RTS3_N)		F_(0, 0)	FM(HRX3)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
214*4882a593Smuzhiyun #define IP3_19_16	FM(VI0_DATA1)			FM(MSIOF2_SS2)		FM(SCK1)		F_(0, 0)	FM(SPEEDIN_A)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
215*4882a593Smuzhiyun #define IP3_23_20	FM(VI0_DATA2)			FM(AVB_AVTP_PPS)	F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
216*4882a593Smuzhiyun #define IP3_27_24	FM(VI0_DATA3)			FM(HSCK1)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
217*4882a593Smuzhiyun #define IP3_31_28	FM(VI0_DATA4)			FM(HRTS1_N)		FM(RX1_A)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
218*4882a593Smuzhiyun #define IP4_3_0		FM(VI0_DATA5)			FM(HCTS1_N)		FM(TX1_A)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
219*4882a593Smuzhiyun #define IP4_7_4		FM(VI0_DATA6)			FM(HTX1)		FM(CTS1_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) F_(0, 0)
220*4882a593Smuzhiyun #define IP4_11_8	FM(VI0_DATA7)			FM(HRX1)		FM(RTS1_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) F_(0, 0)
221*4882a593Smuzhiyun #define IP4_15_12	FM(VI0_DATA8)			FM(HSCK2)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
222*4882a593Smuzhiyun #define IP4_19_16	FM(VI0_DATA9)			FM(HCTS2_N)		FM(PWM1_A)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
223*4882a593Smuzhiyun #define IP4_23_20	FM(VI0_DATA10)			FM(HRTS2_N)		FM(PWM2_A)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
224*4882a593Smuzhiyun #define IP4_27_24	FM(VI0_DATA11)			FM(HTX2)		FM(PWM3_A)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
225*4882a593Smuzhiyun #define IP4_31_28	FM(VI0_FIELD)			FM(HRX2)		FM(PWM4_A)		FM(CS1_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)
226*4882a593Smuzhiyun #define IP5_3_0		FM(VI1_CLK)			FM(MSIOF1_RXD)		F_(0, 0)		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) F_(0, 0) F_(0, 0)
227*4882a593Smuzhiyun #define IP5_7_4		FM(VI1_CLKENB)			FM(MSIOF1_TXD)		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) F_(0, 0) F_(0, 0)
228*4882a593Smuzhiyun #define IP5_11_8	FM(VI1_HSYNC_N)			FM(MSIOF1_SCK)		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) F_(0, 0) F_(0, 0)
229*4882a593Smuzhiyun #define IP5_15_12	FM(VI1_VSYNC_N)			FM(MSIOF1_SYNC)		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) F_(0, 0) F_(0, 0)
230*4882a593Smuzhiyun #define IP5_19_16	FM(VI1_DATA0)			FM(MSIOF1_SS1)		F_(0, 0)		FM(D3)		FM(MMC_WP)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
231*4882a593Smuzhiyun #define IP5_23_20	FM(VI1_DATA1)			FM(MSIOF1_SS2)		F_(0, 0)		FM(D4)		FM(MMC_CD)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
232*4882a593Smuzhiyun #define IP5_27_24	FM(VI1_DATA2)			FM(CANFD0_TX_B)		F_(0, 0)		FM(D5)		FM(MMC_DS)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
233*4882a593Smuzhiyun #define IP5_31_28	FM(VI1_DATA3)			FM(CANFD0_RX_B)		F_(0, 0)		FM(D6)		FM(MMC_CMD)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
234*4882a593Smuzhiyun #define IP6_3_0		FM(VI1_DATA4)			FM(CANFD_CLK_B)		F_(0, 0)		FM(D7)		FM(MMC_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) F_(0, 0)
235*4882a593Smuzhiyun #define IP6_7_4		FM(VI1_DATA5)			F_(0, 0)		F_(0, 0)		FM(D8)		FM(MMC_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) F_(0, 0)
236*4882a593Smuzhiyun #define IP6_11_8	FM(VI1_DATA6)			F_(0, 0)		F_(0, 0)		FM(D9)		FM(MMC_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) F_(0, 0)
237*4882a593Smuzhiyun #define IP6_15_12	FM(VI1_DATA7)			F_(0, 0)		F_(0, 0)		FM(D10)		FM(MMC_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) F_(0, 0)
238*4882a593Smuzhiyun #define IP6_19_16	FM(VI1_DATA8)			F_(0, 0)		F_(0, 0)		FM(D11)		FM(MMC_CLK)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
239*4882a593Smuzhiyun #define IP6_23_20	FM(VI1_DATA9)			FM(TCLK1_A)		F_(0, 0)		FM(D12)		FM(MMC_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) F_(0, 0)
240*4882a593Smuzhiyun #define IP6_27_24	FM(VI1_DATA10)			FM(TCLK2_A)		F_(0, 0)		FM(D13)		FM(MMC_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) F_(0, 0)
241*4882a593Smuzhiyun #define IP6_31_28	FM(VI1_DATA11)			FM(SCL4)		F_(0, 0)		FM(D14)		FM(MMC_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) F_(0, 0)
242*4882a593Smuzhiyun #define IP7_3_0		FM(VI1_FIELD)			FM(SDA4)		F_(0, 0)		FM(D15)		FM(MMC_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) F_(0, 0)
243*4882a593Smuzhiyun #define IP7_7_4		FM(SCL0)			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) F_(0, 0) F_(0, 0)
244*4882a593Smuzhiyun #define IP7_11_8	FM(SDA0)			F_(0, 0)		F_(0, 0)		FM(BS_N)	FM(SCK0)	FM(HSCK0_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)
245*4882a593Smuzhiyun #define IP7_15_12	FM(SCL1)			F_(0, 0)		FM(TPU0TO2)		FM(RD_N)	FM(CTS0_N)	FM(HCTS0_N_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)
246*4882a593Smuzhiyun #define IP7_19_16	FM(SDA1)			F_(0, 0)		FM(TPU0TO3)		FM(WE0_N)	FM(RTS0_N)	FM(HRTS0_N_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)
247*4882a593Smuzhiyun #define IP7_23_20	FM(SCL2)			F_(0, 0)		F_(0, 0)		FM(WE1_N)	FM(RX0)		FM(HRX0_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)
248*4882a593Smuzhiyun #define IP7_27_24	FM(SDA2)			F_(0, 0)		F_(0, 0)		FM(EX_WAIT0)	FM(TX0)		FM(HTX0_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)
249*4882a593Smuzhiyun #define IP7_31_28	FM(AVB_AVTP_MATCH)		FM(TPU0TO0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
250*4882a593Smuzhiyun #define IP8_3_0		FM(AVB_AVTP_CAPTURE)		FM(TPU0TO1)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
251*4882a593Smuzhiyun #define IP8_7_4		FM(CANFD0_TX_A)			FM(FXR_TXDA)		FM(PWM0_B)		FM(DU_DISP)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
252*4882a593Smuzhiyun #define IP8_11_8	FM(CANFD0_RX_A)			FM(RXDA_EXTFXR)		FM(PWM1_B)		FM(DU_CDE)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
253*4882a593Smuzhiyun #define IP8_15_12	FM(CANFD1_TX)			FM(FXR_TXDB)		FM(PWM2_B)		FM(TCLK1_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)
254*4882a593Smuzhiyun #define IP8_19_16	FM(CANFD1_RX)			FM(RXDB_EXTFXR)		FM(PWM3_B)		FM(TCLK2_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)
255*4882a593Smuzhiyun #define IP8_23_20	FM(CANFD_CLK_A) 		FM(CLK_EXTFXR)		FM(PWM4_B)		FM(SPEEDIN_B)	FM(SCIF_CLK_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)
256*4882a593Smuzhiyun #define IP8_27_24	FM(DIGRF_CLKIN)			FM(DIGRF_CLKEN_IN)	F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
257*4882a593Smuzhiyun #define IP8_31_28	FM(DIGRF_CLKOUT)		FM(DIGRF_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)
258*4882a593Smuzhiyun #define IP9_3_0		FM(IRQ4)			F_(0, 0)		F_(0, 0)		FM(VI0_DATA12)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
259*4882a593Smuzhiyun #define IP9_7_4 	FM(IRQ5)			F_(0, 0)		F_(0, 0)		FM(VI0_DATA13)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
260*4882a593Smuzhiyun #define IP9_11_8	FM(MSIOF0_RXD)			FM(DU_DR0)		F_(0, 0)		FM(VI0_DATA14)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
261*4882a593Smuzhiyun #define IP9_15_12	FM(MSIOF0_TXD)			FM(DU_DR1)		F_(0, 0)		FM(VI0_DATA15)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
262*4882a593Smuzhiyun #define IP9_19_16	FM(MSIOF0_SCK)			FM(DU_DG0)		F_(0, 0)		FM(VI0_DATA16)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
263*4882a593Smuzhiyun #define IP9_23_20	FM(MSIOF0_SYNC)			FM(DU_DG1)		F_(0, 0)		FM(VI0_DATA17)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
264*4882a593Smuzhiyun #define IP9_27_24	FM(MSIOF0_SS1)			FM(DU_DB0)		FM(TCLK3)		FM(VI0_DATA18)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
265*4882a593Smuzhiyun #define IP9_31_28	FM(MSIOF0_SS2)			FM(DU_DB1)		FM(TCLK4)		FM(VI0_DATA19)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
266*4882a593Smuzhiyun #define IP10_3_0	FM(SCL3)			F_(0, 0)		F_(0, 0)		FM(VI0_DATA20)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
267*4882a593Smuzhiyun #define IP10_7_4	FM(SDA3)			F_(0, 0)		F_(0, 0)		FM(VI0_DATA21)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
268*4882a593Smuzhiyun #define IP10_11_8	FM(FSO_CFE_0_N)			F_(0, 0)		F_(0, 0)		FM(VI0_DATA22)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
269*4882a593Smuzhiyun #define IP10_15_12	FM(FSO_CFE_1_N)			F_(0, 0)		F_(0, 0)		FM(VI0_DATA23)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
270*4882a593Smuzhiyun #define IP10_19_16	FM(FSO_TOE_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) F_(0, 0) F_(0, 0) F_(0, 0)
271*4882a593Smuzhiyun #define IP10_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)
272*4882a593Smuzhiyun #define IP10_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)
273*4882a593Smuzhiyun #define IP10_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)
274*4882a593Smuzhiyun 
275*4882a593Smuzhiyun #define PINMUX_GPSR	\
276*4882a593Smuzhiyun \
277*4882a593Smuzhiyun 				GPSR2_29 \
278*4882a593Smuzhiyun 				GPSR2_28 \
279*4882a593Smuzhiyun 		GPSR1_27	GPSR2_27 \
280*4882a593Smuzhiyun 		GPSR1_26	GPSR2_26 \
281*4882a593Smuzhiyun 		GPSR1_25	GPSR2_25 \
282*4882a593Smuzhiyun 		GPSR1_24	GPSR2_24			GPSR4_24 \
283*4882a593Smuzhiyun 		GPSR1_23	GPSR2_23			GPSR4_23 \
284*4882a593Smuzhiyun 		GPSR1_22	GPSR2_22			GPSR4_22 \
285*4882a593Smuzhiyun GPSR0_21	GPSR1_21	GPSR2_21			GPSR4_21 \
286*4882a593Smuzhiyun GPSR0_20	GPSR1_20	GPSR2_20			GPSR4_20 \
287*4882a593Smuzhiyun GPSR0_19	GPSR1_19	GPSR2_19			GPSR4_19 \
288*4882a593Smuzhiyun GPSR0_18	GPSR1_18	GPSR2_18			GPSR4_18 \
289*4882a593Smuzhiyun GPSR0_17	GPSR1_17	GPSR2_17			GPSR4_17 \
290*4882a593Smuzhiyun GPSR0_16	GPSR1_16	GPSR2_16	GPSR3_16	GPSR4_16 \
291*4882a593Smuzhiyun GPSR0_15	GPSR1_15	GPSR2_15	GPSR3_15	GPSR4_15 \
292*4882a593Smuzhiyun GPSR0_14	GPSR1_14	GPSR2_14	GPSR3_14	GPSR4_14	GPSR5_14 \
293*4882a593Smuzhiyun GPSR0_13	GPSR1_13	GPSR2_13	GPSR3_13	GPSR4_13	GPSR5_13 \
294*4882a593Smuzhiyun GPSR0_12	GPSR1_12	GPSR2_12	GPSR3_12	GPSR4_12	GPSR5_12 \
295*4882a593Smuzhiyun GPSR0_11	GPSR1_11	GPSR2_11	GPSR3_11	GPSR4_11	GPSR5_11 \
296*4882a593Smuzhiyun GPSR0_10	GPSR1_10	GPSR2_10	GPSR3_10	GPSR4_10	GPSR5_10 \
297*4882a593Smuzhiyun GPSR0_9		GPSR1_9		GPSR2_9		GPSR3_9		GPSR4_9		GPSR5_9 \
298*4882a593Smuzhiyun GPSR0_8		GPSR1_8		GPSR2_8		GPSR3_8		GPSR4_8		GPSR5_8 \
299*4882a593Smuzhiyun GPSR0_7		GPSR1_7		GPSR2_7		GPSR3_7		GPSR4_7		GPSR5_7 \
300*4882a593Smuzhiyun GPSR0_6		GPSR1_6		GPSR2_6		GPSR3_6		GPSR4_6		GPSR5_6 \
301*4882a593Smuzhiyun GPSR0_5		GPSR1_5		GPSR2_5		GPSR3_5		GPSR4_5		GPSR5_5 \
302*4882a593Smuzhiyun GPSR0_4		GPSR1_4		GPSR2_4		GPSR3_4		GPSR4_4		GPSR5_4 \
303*4882a593Smuzhiyun GPSR0_3		GPSR1_3		GPSR2_3		GPSR3_3		GPSR4_3		GPSR5_3 \
304*4882a593Smuzhiyun GPSR0_2		GPSR1_2		GPSR2_2		GPSR3_2		GPSR4_2		GPSR5_2 \
305*4882a593Smuzhiyun GPSR0_1		GPSR1_1		GPSR2_1		GPSR3_1		GPSR4_1		GPSR5_1 \
306*4882a593Smuzhiyun GPSR0_0		GPSR1_0		GPSR2_0		GPSR3_0		GPSR4_0		GPSR5_0
307*4882a593Smuzhiyun 
308*4882a593Smuzhiyun #define PINMUX_IPSR	\
309*4882a593Smuzhiyun \
310*4882a593Smuzhiyun FM(IP0_3_0)	IP0_3_0		FM(IP1_3_0)	IP1_3_0		FM(IP2_3_0)	IP2_3_0		FM(IP3_3_0)	IP3_3_0 \
311*4882a593Smuzhiyun FM(IP0_7_4)	IP0_7_4		FM(IP1_7_4)	IP1_7_4		FM(IP2_7_4)	IP2_7_4		FM(IP3_7_4)	IP3_7_4 \
312*4882a593Smuzhiyun FM(IP0_11_8)	IP0_11_8	FM(IP1_11_8)	IP1_11_8	FM(IP2_11_8)	IP2_11_8	FM(IP3_11_8)	IP3_11_8 \
313*4882a593Smuzhiyun FM(IP0_15_12)	IP0_15_12	FM(IP1_15_12)	IP1_15_12	FM(IP2_15_12)	IP2_15_12	FM(IP3_15_12)	IP3_15_12 \
314*4882a593Smuzhiyun FM(IP0_19_16)	IP0_19_16	FM(IP1_19_16)	IP1_19_16	FM(IP2_19_16)	IP2_19_16	FM(IP3_19_16)	IP3_19_16 \
315*4882a593Smuzhiyun FM(IP0_23_20)	IP0_23_20	FM(IP1_23_20)	IP1_23_20	FM(IP2_23_20)	IP2_23_20	FM(IP3_23_20)	IP3_23_20 \
316*4882a593Smuzhiyun FM(IP0_27_24)	IP0_27_24	FM(IP1_27_24)	IP1_27_24	FM(IP2_27_24)	IP2_27_24	FM(IP3_27_24)	IP3_27_24 \
317*4882a593Smuzhiyun FM(IP0_31_28)	IP0_31_28	FM(IP1_31_28)	IP1_31_28	FM(IP2_31_28)	IP2_31_28	FM(IP3_31_28)	IP3_31_28 \
318*4882a593Smuzhiyun \
319*4882a593Smuzhiyun FM(IP4_3_0)	IP4_3_0		FM(IP5_3_0)	IP5_3_0		FM(IP6_3_0)	IP6_3_0		FM(IP7_3_0)	IP7_3_0 \
320*4882a593Smuzhiyun FM(IP4_7_4)	IP4_7_4		FM(IP5_7_4)	IP5_7_4		FM(IP6_7_4)	IP6_7_4		FM(IP7_7_4)	IP7_7_4 \
321*4882a593Smuzhiyun FM(IP4_11_8)	IP4_11_8	FM(IP5_11_8)	IP5_11_8	FM(IP6_11_8)	IP6_11_8	FM(IP7_11_8)	IP7_11_8 \
322*4882a593Smuzhiyun FM(IP4_15_12)	IP4_15_12	FM(IP5_15_12)	IP5_15_12	FM(IP6_15_12)	IP6_15_12	FM(IP7_15_12)	IP7_15_12 \
323*4882a593Smuzhiyun FM(IP4_19_16)	IP4_19_16	FM(IP5_19_16)	IP5_19_16	FM(IP6_19_16)	IP6_19_16	FM(IP7_19_16)	IP7_19_16 \
324*4882a593Smuzhiyun FM(IP4_23_20)	IP4_23_20	FM(IP5_23_20)	IP5_23_20	FM(IP6_23_20)	IP6_23_20	FM(IP7_23_20)	IP7_23_20 \
325*4882a593Smuzhiyun FM(IP4_27_24)	IP4_27_24	FM(IP5_27_24)	IP5_27_24	FM(IP6_27_24)	IP6_27_24	FM(IP7_27_24)	IP7_27_24 \
326*4882a593Smuzhiyun FM(IP4_31_28)	IP4_31_28	FM(IP5_31_28)	IP5_31_28	FM(IP6_31_28)	IP6_31_28	FM(IP7_31_28)	IP7_31_28 \
327*4882a593Smuzhiyun \
328*4882a593Smuzhiyun FM(IP8_3_0)	IP8_3_0		FM(IP9_3_0)	IP9_3_0		FM(IP10_3_0)	IP10_3_0 \
329*4882a593Smuzhiyun FM(IP8_7_4)	IP8_7_4		FM(IP9_7_4)	IP9_7_4		FM(IP10_7_4)	IP10_7_4 \
330*4882a593Smuzhiyun FM(IP8_11_8)	IP8_11_8	FM(IP9_11_8)	IP9_11_8	FM(IP10_11_8)	IP10_11_8 \
331*4882a593Smuzhiyun FM(IP8_15_12)	IP8_15_12	FM(IP9_15_12)	IP9_15_12	FM(IP10_15_12)	IP10_15_12 \
332*4882a593Smuzhiyun FM(IP8_19_16)	IP8_19_16	FM(IP9_19_16)	IP9_19_16	FM(IP10_19_16)	IP10_19_16 \
333*4882a593Smuzhiyun FM(IP8_23_20)	IP8_23_20	FM(IP9_23_20)	IP9_23_20	FM(IP10_23_20)	IP10_23_20 \
334*4882a593Smuzhiyun FM(IP8_27_24)	IP8_27_24	FM(IP9_27_24)	IP9_27_24	FM(IP10_27_24)	IP10_27_24 \
335*4882a593Smuzhiyun FM(IP8_31_28)	IP8_31_28	FM(IP9_31_28)	IP9_31_28	FM(IP10_31_28)	IP10_31_28
336*4882a593Smuzhiyun 
337*4882a593Smuzhiyun /* MOD_SEL0 */		/* 0 */			/* 1 */
338*4882a593Smuzhiyun #define MOD_SEL0_11	FM(SEL_CANFD0_0)	FM(SEL_CANFD0_1)
339*4882a593Smuzhiyun #define MOD_SEL0_10	FM(SEL_GETHER_0)	FM(SEL_GETHER_1)
340*4882a593Smuzhiyun #define MOD_SEL0_9	FM(SEL_HSCIF0_0)	FM(SEL_HSCIF0_1)
341*4882a593Smuzhiyun #define MOD_SEL0_8	FM(SEL_PWM0_0)		FM(SEL_PWM0_1)
342*4882a593Smuzhiyun #define MOD_SEL0_7	FM(SEL_PWM1_0)		FM(SEL_PWM1_1)
343*4882a593Smuzhiyun #define MOD_SEL0_6	FM(SEL_PWM2_0)		FM(SEL_PWM2_1)
344*4882a593Smuzhiyun #define MOD_SEL0_5	FM(SEL_PWM3_0)		FM(SEL_PWM3_1)
345*4882a593Smuzhiyun #define MOD_SEL0_4	FM(SEL_PWM4_0)		FM(SEL_PWM4_1)
346*4882a593Smuzhiyun #define MOD_SEL0_2	FM(SEL_RSP_0)		FM(SEL_RSP_1)
347*4882a593Smuzhiyun #define MOD_SEL0_1	FM(SEL_SCIF1_0)		FM(SEL_SCIF1_1)
348*4882a593Smuzhiyun #define MOD_SEL0_0	FM(SEL_TMU_0)		FM(SEL_TMU_1)
349*4882a593Smuzhiyun 
350*4882a593Smuzhiyun #define PINMUX_MOD_SELS \
351*4882a593Smuzhiyun \
352*4882a593Smuzhiyun MOD_SEL0_11 \
353*4882a593Smuzhiyun MOD_SEL0_10 \
354*4882a593Smuzhiyun MOD_SEL0_9 \
355*4882a593Smuzhiyun MOD_SEL0_8 \
356*4882a593Smuzhiyun MOD_SEL0_7 \
357*4882a593Smuzhiyun MOD_SEL0_6 \
358*4882a593Smuzhiyun MOD_SEL0_5 \
359*4882a593Smuzhiyun MOD_SEL0_4 \
360*4882a593Smuzhiyun MOD_SEL0_2 \
361*4882a593Smuzhiyun MOD_SEL0_1 \
362*4882a593Smuzhiyun MOD_SEL0_0
363*4882a593Smuzhiyun 
364*4882a593Smuzhiyun enum {
365*4882a593Smuzhiyun 	PINMUX_RESERVED = 0,
366*4882a593Smuzhiyun 
367*4882a593Smuzhiyun 	PINMUX_DATA_BEGIN,
368*4882a593Smuzhiyun 	GP_ALL(DATA),
369*4882a593Smuzhiyun 	PINMUX_DATA_END,
370*4882a593Smuzhiyun 
371*4882a593Smuzhiyun #define F_(x, y)
372*4882a593Smuzhiyun #define FM(x)   FN_##x,
373*4882a593Smuzhiyun 	PINMUX_FUNCTION_BEGIN,
374*4882a593Smuzhiyun 	GP_ALL(FN),
375*4882a593Smuzhiyun 	PINMUX_GPSR
376*4882a593Smuzhiyun 	PINMUX_IPSR
377*4882a593Smuzhiyun 	PINMUX_MOD_SELS
378*4882a593Smuzhiyun 	PINMUX_FUNCTION_END,
379*4882a593Smuzhiyun #undef F_
380*4882a593Smuzhiyun #undef FM
381*4882a593Smuzhiyun 
382*4882a593Smuzhiyun #define F_(x, y)
383*4882a593Smuzhiyun #define FM(x)	x##_MARK,
384*4882a593Smuzhiyun 	PINMUX_MARK_BEGIN,
385*4882a593Smuzhiyun 	PINMUX_GPSR
386*4882a593Smuzhiyun 	PINMUX_IPSR
387*4882a593Smuzhiyun 	PINMUX_MOD_SELS
388*4882a593Smuzhiyun 	PINMUX_MARK_END,
389*4882a593Smuzhiyun #undef F_
390*4882a593Smuzhiyun #undef FM
391*4882a593Smuzhiyun };
392*4882a593Smuzhiyun 
393*4882a593Smuzhiyun static const u16 pinmux_data[] = {
394*4882a593Smuzhiyun 	PINMUX_DATA_GP_ALL(),
395*4882a593Smuzhiyun 
396*4882a593Smuzhiyun 	PINMUX_SINGLE(AVB_RX_CTL),
397*4882a593Smuzhiyun 	PINMUX_SINGLE(AVB_RXC),
398*4882a593Smuzhiyun 	PINMUX_SINGLE(AVB_RD0),
399*4882a593Smuzhiyun 	PINMUX_SINGLE(AVB_RD1),
400*4882a593Smuzhiyun 	PINMUX_SINGLE(AVB_RD2),
401*4882a593Smuzhiyun 	PINMUX_SINGLE(AVB_RD3),
402*4882a593Smuzhiyun 	PINMUX_SINGLE(AVB_TX_CTL),
403*4882a593Smuzhiyun 	PINMUX_SINGLE(AVB_TXC),
404*4882a593Smuzhiyun 	PINMUX_SINGLE(AVB_TD0),
405*4882a593Smuzhiyun 	PINMUX_SINGLE(AVB_TD1),
406*4882a593Smuzhiyun 	PINMUX_SINGLE(AVB_TD2),
407*4882a593Smuzhiyun 	PINMUX_SINGLE(AVB_TD3),
408*4882a593Smuzhiyun 	PINMUX_SINGLE(AVB_TXCREFCLK),
409*4882a593Smuzhiyun 	PINMUX_SINGLE(AVB_MDIO),
410*4882a593Smuzhiyun 	PINMUX_SINGLE(AVB_MDC),
411*4882a593Smuzhiyun 	PINMUX_SINGLE(AVB_MAGIC),
412*4882a593Smuzhiyun 	PINMUX_SINGLE(AVB_PHY_INT),
413*4882a593Smuzhiyun 	PINMUX_SINGLE(AVB_LINK),
414*4882a593Smuzhiyun 
415*4882a593Smuzhiyun 	PINMUX_SINGLE(GETHER_RX_CTL),
416*4882a593Smuzhiyun 	PINMUX_SINGLE(GETHER_RXC),
417*4882a593Smuzhiyun 	PINMUX_SINGLE(GETHER_RD0),
418*4882a593Smuzhiyun 	PINMUX_SINGLE(GETHER_RD1),
419*4882a593Smuzhiyun 	PINMUX_SINGLE(GETHER_RD2),
420*4882a593Smuzhiyun 	PINMUX_SINGLE(GETHER_RD3),
421*4882a593Smuzhiyun 	PINMUX_SINGLE(GETHER_TX_CTL),
422*4882a593Smuzhiyun 	PINMUX_SINGLE(GETHER_TXC),
423*4882a593Smuzhiyun 	PINMUX_SINGLE(GETHER_TD0),
424*4882a593Smuzhiyun 	PINMUX_SINGLE(GETHER_TD1),
425*4882a593Smuzhiyun 	PINMUX_SINGLE(GETHER_TD2),
426*4882a593Smuzhiyun 	PINMUX_SINGLE(GETHER_TD3),
427*4882a593Smuzhiyun 	PINMUX_SINGLE(GETHER_TXCREFCLK),
428*4882a593Smuzhiyun 	PINMUX_SINGLE(GETHER_TXCREFCLK_MEGA),
429*4882a593Smuzhiyun 	PINMUX_SINGLE(GETHER_MDIO_A),
430*4882a593Smuzhiyun 	PINMUX_SINGLE(GETHER_MDC_A),
431*4882a593Smuzhiyun 	PINMUX_SINGLE(GETHER_MAGIC),
432*4882a593Smuzhiyun 	PINMUX_SINGLE(GETHER_PHY_INT_A),
433*4882a593Smuzhiyun 	PINMUX_SINGLE(GETHER_LINK_A),
434*4882a593Smuzhiyun 
435*4882a593Smuzhiyun 	PINMUX_SINGLE(QSPI0_SPCLK),
436*4882a593Smuzhiyun 	PINMUX_SINGLE(QSPI0_MOSI_IO0),
437*4882a593Smuzhiyun 	PINMUX_SINGLE(QSPI0_MISO_IO1),
438*4882a593Smuzhiyun 	PINMUX_SINGLE(QSPI0_IO2),
439*4882a593Smuzhiyun 	PINMUX_SINGLE(QSPI0_IO3),
440*4882a593Smuzhiyun 	PINMUX_SINGLE(QSPI0_SSL),
441*4882a593Smuzhiyun 	PINMUX_SINGLE(QSPI1_SPCLK),
442*4882a593Smuzhiyun 	PINMUX_SINGLE(QSPI1_MOSI_IO0),
443*4882a593Smuzhiyun 	PINMUX_SINGLE(QSPI1_MISO_IO1),
444*4882a593Smuzhiyun 	PINMUX_SINGLE(QSPI1_IO2),
445*4882a593Smuzhiyun 	PINMUX_SINGLE(QSPI1_IO3),
446*4882a593Smuzhiyun 	PINMUX_SINGLE(QSPI1_SSL),
447*4882a593Smuzhiyun 	PINMUX_SINGLE(RPC_RESET_N),
448*4882a593Smuzhiyun 	PINMUX_SINGLE(RPC_WP_N),
449*4882a593Smuzhiyun 	PINMUX_SINGLE(RPC_INT_N),
450*4882a593Smuzhiyun 
451*4882a593Smuzhiyun 	/* IPSR0 */
452*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_3_0,	DU_DR2),
453*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_3_0,	SCK4),
454*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_3_0,	GETHER_RMII_CRS_DV),
455*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_3_0,	A0),
456*4882a593Smuzhiyun 
457*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_7_4,	DU_DR3),
458*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_7_4,	RX4),
459*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_7_4,	GETHER_RMII_RX_ER),
460*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_7_4,	A1),
461*4882a593Smuzhiyun 
462*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_11_8,	DU_DR4),
463*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_11_8,	TX4),
464*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_11_8,	GETHER_RMII_RXD0),
465*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_11_8,	A2),
466*4882a593Smuzhiyun 
467*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_15_12,	DU_DR5),
468*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_15_12,	CTS4_N),
469*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_15_12,	GETHER_RMII_RXD1),
470*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_15_12,	A3),
471*4882a593Smuzhiyun 
472*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_19_16,	DU_DR6),
473*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_19_16,	RTS4_N),
474*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_19_16,	GETHER_RMII_TXD_EN),
475*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_19_16,	A4),
476*4882a593Smuzhiyun 
477*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_23_20,	DU_DR7),
478*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_23_20,	GETHER_RMII_TXD0),
479*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_23_20,	A5),
480*4882a593Smuzhiyun 
481*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_27_24,	DU_DG2),
482*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_27_24,	GETHER_RMII_TXD1),
483*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_27_24,	A6),
484*4882a593Smuzhiyun 
485*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_31_28,	DU_DG3),
486*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_31_28,	CPG_CPCKOUT),
487*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_31_28,	GETHER_RMII_REFCLK),
488*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_31_28,	A7),
489*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP0_31_28,	PWMFSW0),
490*4882a593Smuzhiyun 
491*4882a593Smuzhiyun 	/* IPSR1 */
492*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP1_3_0,	DU_DG4),
493*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP1_3_0,	SCL5),
494*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP1_3_0,	A8),
495*4882a593Smuzhiyun 
496*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP1_7_4,	DU_DG5),
497*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP1_7_4,	SDA5),
498*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP1_7_4,	GETHER_MDC_B, SEL_GETHER_1),
499*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP1_7_4,	A9),
500*4882a593Smuzhiyun 
501*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP1_11_8,	DU_DG6),
502*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP1_11_8,	SCIF_CLK_A, SEL_HSCIF0_0),
503*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP1_11_8,	GETHER_MDIO_B, SEL_GETHER_1),
504*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP1_11_8,	A10),
505*4882a593Smuzhiyun 
506*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP1_15_12,	DU_DG7),
507*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP1_15_12,	HRX0_A, SEL_HSCIF0_0),
508*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP1_15_12,	A11),
509*4882a593Smuzhiyun 
510*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP1_19_16,	DU_DB2),
511*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP1_19_16,	HSCK0_A, SEL_HSCIF0_0),
512*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP1_19_16,	A12),
513*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP1_19_16,	IRQ1),
514*4882a593Smuzhiyun 
515*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP1_23_20,	DU_DB3),
516*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP1_23_20,	HRTS0_N_A, SEL_HSCIF0_0),
517*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP1_23_20,	A13),
518*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP1_23_20,	IRQ2),
519*4882a593Smuzhiyun 
520*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP1_27_24,	DU_DB4),
521*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP1_27_24,	HCTS0_N_A, SEL_HSCIF0_0),
522*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP1_27_24,	A14),
523*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP1_27_24,	IRQ3),
524*4882a593Smuzhiyun 
525*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP1_31_28,	DU_DB5),
526*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP1_31_28,	HTX0_A, SEL_HSCIF0_0),
527*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP1_31_28,	PWM0_A, SEL_PWM0_0),
528*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP1_31_28,	A15),
529*4882a593Smuzhiyun 
530*4882a593Smuzhiyun 	/* IPSR2 */
531*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_3_0,	DU_DB6),
532*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_3_0,	MSIOF3_RXD),
533*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_3_0,	A16),
534*4882a593Smuzhiyun 
535*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_7_4,	DU_DB7),
536*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_7_4,	MSIOF3_TXD),
537*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_7_4,	A17),
538*4882a593Smuzhiyun 
539*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_11_8,	DU_DOTCLKOUT),
540*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_11_8,	MSIOF3_SS1),
541*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP2_11_8,	GETHER_LINK_B, SEL_GETHER_1),
542*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_11_8,	A18),
543*4882a593Smuzhiyun 
544*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_15_12,	DU_EXHSYNC_DU_HSYNC),
545*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_15_12,	MSIOF3_SS2),
546*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP2_15_12,	GETHER_PHY_INT_B, SEL_GETHER_1),
547*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_15_12,	A19),
548*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_15_12,	FXR_TXENA_N),
549*4882a593Smuzhiyun 
550*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_19_16,	DU_EXVSYNC_DU_VSYNC),
551*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_19_16,	MSIOF3_SCK),
552*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_19_16,	FXR_TXENB_N),
553*4882a593Smuzhiyun 
554*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_23_20,	DU_EXODDF_DU_ODDF_DISP_CDE),
555*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_23_20,	MSIOF3_SYNC),
556*4882a593Smuzhiyun 
557*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_27_24,	IRQ0),
558*4882a593Smuzhiyun 
559*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_31_28,	VI0_CLK),
560*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_31_28,	MSIOF2_SCK),
561*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_31_28,	SCK3),
562*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP2_31_28,	HSCK3),
563*4882a593Smuzhiyun 
564*4882a593Smuzhiyun 	/* IPSR3 */
565*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_3_0,	VI0_CLKENB),
566*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_3_0,	MSIOF2_RXD),
567*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_3_0,	RX3),
568*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_3_0,	RD_WR_N),
569*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_3_0,	HCTS3_N),
570*4882a593Smuzhiyun 
571*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_7_4,	VI0_HSYNC_N),
572*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_7_4,	MSIOF2_TXD),
573*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_7_4,	TX3),
574*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_7_4,	HRTS3_N),
575*4882a593Smuzhiyun 
576*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_11_8,	VI0_VSYNC_N),
577*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_11_8,	MSIOF2_SYNC),
578*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_11_8,	CTS3_N),
579*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_11_8,	HTX3),
580*4882a593Smuzhiyun 
581*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_15_12,	VI0_DATA0),
582*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_15_12,	MSIOF2_SS1),
583*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_15_12,	RTS3_N),
584*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_15_12,	HRX3),
585*4882a593Smuzhiyun 
586*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_19_16,	VI0_DATA1),
587*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_19_16,	MSIOF2_SS2),
588*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_19_16,	SCK1),
589*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP3_19_16,	SPEEDIN_A, SEL_RSP_0),
590*4882a593Smuzhiyun 
591*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_23_20,	VI0_DATA2),
592*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_23_20,	AVB_AVTP_PPS),
593*4882a593Smuzhiyun 
594*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_27_24,	VI0_DATA3),
595*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_27_24,	HSCK1),
596*4882a593Smuzhiyun 
597*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_31_28,	VI0_DATA4),
598*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP3_31_28,	HRTS1_N),
599*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP3_31_28,	RX1_A, SEL_SCIF1_0),
600*4882a593Smuzhiyun 
601*4882a593Smuzhiyun 	/* IPSR4 */
602*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP4_3_0,	VI0_DATA5),
603*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP4_3_0,	HCTS1_N),
604*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP4_3_0,	TX1_A, SEL_SCIF1_0),
605*4882a593Smuzhiyun 
606*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP4_7_4,	VI0_DATA6),
607*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP4_7_4,	HTX1),
608*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP4_7_4,	CTS1_N),
609*4882a593Smuzhiyun 
610*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP4_11_8,	VI0_DATA7),
611*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP4_11_8,	HRX1),
612*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP4_11_8,	RTS1_N),
613*4882a593Smuzhiyun 
614*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP4_15_12,	VI0_DATA8),
615*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP4_15_12,	HSCK2),
616*4882a593Smuzhiyun 
617*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP4_19_16,	VI0_DATA9),
618*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP4_19_16,	HCTS2_N),
619*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP4_19_16,	PWM1_A, SEL_PWM1_0),
620*4882a593Smuzhiyun 
621*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP4_23_20,	VI0_DATA10),
622*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP4_23_20,	HRTS2_N),
623*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP4_23_20,	PWM2_A, SEL_PWM2_0),
624*4882a593Smuzhiyun 
625*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP4_27_24,	VI0_DATA11),
626*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP4_27_24,	HTX2),
627*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP4_27_24,	PWM3_A, SEL_PWM3_0),
628*4882a593Smuzhiyun 
629*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP4_31_28,	VI0_FIELD),
630*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP4_31_28,	HRX2),
631*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP4_31_28,	PWM4_A, SEL_PWM4_0),
632*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP4_31_28,	CS1_N),
633*4882a593Smuzhiyun 
634*4882a593Smuzhiyun 	/* IPSR5 */
635*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_3_0,	VI1_CLK),
636*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_3_0,	MSIOF1_RXD),
637*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_3_0,	CS0_N),
638*4882a593Smuzhiyun 
639*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_7_4,	VI1_CLKENB),
640*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_7_4,	MSIOF1_TXD),
641*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_7_4,	D0),
642*4882a593Smuzhiyun 
643*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_11_8,	VI1_HSYNC_N),
644*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_11_8,	MSIOF1_SCK),
645*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_11_8,	D1),
646*4882a593Smuzhiyun 
647*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_15_12,	VI1_VSYNC_N),
648*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_15_12,	MSIOF1_SYNC),
649*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_15_12,	D2),
650*4882a593Smuzhiyun 
651*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_19_16,	VI1_DATA0),
652*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_19_16,	MSIOF1_SS1),
653*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_19_16,	D3),
654*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_19_16,	MMC_WP),
655*4882a593Smuzhiyun 
656*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_23_20,	VI1_DATA1),
657*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_23_20,	MSIOF1_SS2),
658*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_23_20,	D4),
659*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_23_20,	MMC_CD),
660*4882a593Smuzhiyun 
661*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_27_24,	VI1_DATA2),
662*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP5_27_24,	CANFD0_TX_B, SEL_CANFD0_1),
663*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_27_24,	D5),
664*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_27_24,	MMC_DS),
665*4882a593Smuzhiyun 
666*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_31_28,	VI1_DATA3),
667*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP5_31_28,	CANFD0_RX_B, SEL_CANFD0_1),
668*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_31_28,	D6),
669*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP5_31_28,	MMC_CMD),
670*4882a593Smuzhiyun 
671*4882a593Smuzhiyun 	/* IPSR6 */
672*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_3_0,	VI1_DATA4),
673*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP6_3_0,	CANFD_CLK_B, SEL_CANFD0_1),
674*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_3_0,	D7),
675*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_3_0,	MMC_D0),
676*4882a593Smuzhiyun 
677*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_7_4,	VI1_DATA5),
678*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_7_4,	D8),
679*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_7_4,	MMC_D1),
680*4882a593Smuzhiyun 
681*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_11_8,	VI1_DATA6),
682*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_11_8,	D9),
683*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_11_8,	MMC_D2),
684*4882a593Smuzhiyun 
685*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_15_12,	VI1_DATA7),
686*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_15_12,	D10),
687*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_15_12,	MMC_D3),
688*4882a593Smuzhiyun 
689*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_19_16,	VI1_DATA8),
690*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_19_16,	D11),
691*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_19_16,	MMC_CLK),
692*4882a593Smuzhiyun 
693*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_23_20,	VI1_DATA9),
694*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP6_23_20,	TCLK1_A, SEL_TMU_0),
695*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_23_20,	D12),
696*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_23_20,	MMC_D4),
697*4882a593Smuzhiyun 
698*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_27_24,	VI1_DATA10),
699*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP6_27_24,	TCLK2_A, SEL_TMU_0),
700*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_27_24,	D13),
701*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_27_24,	MMC_D5),
702*4882a593Smuzhiyun 
703*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_31_28,	VI1_DATA11),
704*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_31_28,	SCL4),
705*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_31_28,	D14),
706*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP6_31_28,	MMC_D6),
707*4882a593Smuzhiyun 
708*4882a593Smuzhiyun 	/* IPSR7 */
709*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_3_0,	VI1_FIELD),
710*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_3_0,	SDA4),
711*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_3_0,	D15),
712*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_3_0,	MMC_D7),
713*4882a593Smuzhiyun 
714*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_7_4,	SCL0),
715*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_7_4,	CLKOUT),
716*4882a593Smuzhiyun 
717*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_11_8,	SDA0),
718*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_11_8,	BS_N),
719*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_11_8,	SCK0),
720*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP7_11_8,	HSCK0_B, SEL_HSCIF0_1),
721*4882a593Smuzhiyun 
722*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_15_12,	SCL1),
723*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_15_12,	TPU0TO2),
724*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_15_12,	RD_N),
725*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_15_12,	CTS0_N),
726*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_15_12,	HCTS0_N_B),
727*4882a593Smuzhiyun 
728*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_19_16,	SDA1),
729*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_19_16,	TPU0TO3),
730*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_19_16,	WE0_N),
731*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_19_16,	RTS0_N),
732*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP1_23_20,	HRTS0_N_B, SEL_HSCIF0_1),
733*4882a593Smuzhiyun 
734*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_23_20,	SCL2),
735*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_23_20,	WE1_N),
736*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_23_20,	RX0),
737*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP7_23_20,	HRX0_B, SEL_HSCIF0_1),
738*4882a593Smuzhiyun 
739*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_27_24,	SDA2),
740*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_27_24,	EX_WAIT0),
741*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_27_24,	TX0),
742*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP7_27_24,	HTX0_B, SEL_HSCIF0_1),
743*4882a593Smuzhiyun 
744*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_31_28,	AVB_AVTP_MATCH),
745*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP7_31_28,	TPU0TO0),
746*4882a593Smuzhiyun 
747*4882a593Smuzhiyun 	/* IPSR8 */
748*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP8_3_0,	AVB_AVTP_CAPTURE),
749*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP8_3_0,	TPU0TO1),
750*4882a593Smuzhiyun 
751*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP8_7_4,	CANFD0_TX_A, SEL_CANFD0_0),
752*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP8_7_4,	FXR_TXDA),
753*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP8_7_4,	PWM0_B, SEL_PWM0_1),
754*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP8_7_4,	DU_DISP),
755*4882a593Smuzhiyun 
756*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP8_11_8,	CANFD0_RX_A, SEL_CANFD0_0),
757*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP8_11_8,	RXDA_EXTFXR),
758*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP8_11_8,	PWM1_B, SEL_PWM1_1),
759*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP8_11_8,	DU_CDE),
760*4882a593Smuzhiyun 
761*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP8_15_12,	CANFD1_TX),
762*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP8_15_12,	FXR_TXDB),
763*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP8_15_12,	PWM2_B, SEL_PWM2_1),
764*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP8_15_12,	TCLK1_B, SEL_TMU_1),
765*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP8_15_12,	TX1_B, SEL_SCIF1_1),
766*4882a593Smuzhiyun 
767*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP8_19_16,	CANFD1_RX),
768*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP8_19_16,	RXDB_EXTFXR),
769*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP8_19_16,	PWM3_B, SEL_PWM3_1),
770*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP8_19_16,	TCLK2_B, SEL_TMU_1),
771*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP8_19_16,	RX1_B, SEL_SCIF1_1),
772*4882a593Smuzhiyun 
773*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP8_23_20,	CANFD_CLK_A, SEL_CANFD0_0),
774*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP8_23_20,	CLK_EXTFXR),
775*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP8_23_20,	PWM4_B, SEL_PWM4_1),
776*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP8_23_20,	SPEEDIN_B, SEL_RSP_1),
777*4882a593Smuzhiyun 	PINMUX_IPSR_MSEL(IP8_23_20,	SCIF_CLK_B, SEL_HSCIF0_1),
778*4882a593Smuzhiyun 
779*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP8_27_24,	DIGRF_CLKIN),
780*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP8_27_24,	DIGRF_CLKEN_IN),
781*4882a593Smuzhiyun 
782*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP8_31_28,	DIGRF_CLKOUT),
783*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP8_31_28,	DIGRF_CLKEN_OUT),
784*4882a593Smuzhiyun 
785*4882a593Smuzhiyun 	/* IPSR9 */
786*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_3_0,	IRQ4),
787*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_3_0,	VI0_DATA12),
788*4882a593Smuzhiyun 
789*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_7_4,	IRQ5),
790*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_7_4,	VI0_DATA13),
791*4882a593Smuzhiyun 
792*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_11_8,	MSIOF0_RXD),
793*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_11_8,	DU_DR0),
794*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_11_8,	VI0_DATA14),
795*4882a593Smuzhiyun 
796*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_15_12,	MSIOF0_TXD),
797*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_15_12,	DU_DR1),
798*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_15_12,	VI0_DATA15),
799*4882a593Smuzhiyun 
800*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_19_16,	MSIOF0_SCK),
801*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_19_16,	DU_DG0),
802*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_19_16,	VI0_DATA16),
803*4882a593Smuzhiyun 
804*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_23_20,	MSIOF0_SYNC),
805*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_23_20,	DU_DG1),
806*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_23_20,	VI0_DATA17),
807*4882a593Smuzhiyun 
808*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_27_24,	MSIOF0_SS1),
809*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_27_24,	DU_DB0),
810*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_27_24,	TCLK3),
811*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_27_24,	VI0_DATA18),
812*4882a593Smuzhiyun 
813*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_31_28,	MSIOF0_SS2),
814*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_31_28,	DU_DB1),
815*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_31_28,	TCLK4),
816*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP9_31_28,	VI0_DATA19),
817*4882a593Smuzhiyun 
818*4882a593Smuzhiyun 	/* IPSR10 */
819*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP10_3_0,	SCL3),
820*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP10_3_0,	VI0_DATA20),
821*4882a593Smuzhiyun 
822*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP10_7_4,	SDA3),
823*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP10_7_4,	VI0_DATA21),
824*4882a593Smuzhiyun 
825*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP10_11_8,	FSO_CFE_0_N),
826*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP10_11_8,	VI0_DATA22),
827*4882a593Smuzhiyun 
828*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP10_15_12,	FSO_CFE_1_N),
829*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP10_15_12,	VI0_DATA23),
830*4882a593Smuzhiyun 
831*4882a593Smuzhiyun 	PINMUX_IPSR_GPSR(IP10_19_16,	FSO_TOE_N),
832*4882a593Smuzhiyun };
833*4882a593Smuzhiyun 
834*4882a593Smuzhiyun static const struct sh_pfc_pin pinmux_pins[] = {
835*4882a593Smuzhiyun 	PINMUX_GPIO_GP_ALL(),
836*4882a593Smuzhiyun };
837*4882a593Smuzhiyun 
838*4882a593Smuzhiyun /* - AVB -------------------------------------------------------------------- */
839*4882a593Smuzhiyun static const unsigned int avb_link_pins[] = {
840*4882a593Smuzhiyun 	/* AVB_LINK */
841*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 18),
842*4882a593Smuzhiyun };
843*4882a593Smuzhiyun static const unsigned int avb_link_mux[] = {
844*4882a593Smuzhiyun 	AVB_LINK_MARK,
845*4882a593Smuzhiyun };
846*4882a593Smuzhiyun static const unsigned int avb_magic_pins[] = {
847*4882a593Smuzhiyun 	/* AVB_MAGIC */
848*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 16),
849*4882a593Smuzhiyun };
850*4882a593Smuzhiyun static const unsigned int avb_magic_mux[] = {
851*4882a593Smuzhiyun 	AVB_MAGIC_MARK,
852*4882a593Smuzhiyun };
853*4882a593Smuzhiyun static const unsigned int avb_phy_int_pins[] = {
854*4882a593Smuzhiyun 	/* AVB_PHY_INT */
855*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 17),
856*4882a593Smuzhiyun };
857*4882a593Smuzhiyun static const unsigned int avb_phy_int_mux[] = {
858*4882a593Smuzhiyun 	AVB_PHY_INT_MARK,
859*4882a593Smuzhiyun };
860*4882a593Smuzhiyun static const unsigned int avb_mdio_pins[] = {
861*4882a593Smuzhiyun 	/* AVB_MDC, AVB_MDIO */
862*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 14),
863*4882a593Smuzhiyun };
864*4882a593Smuzhiyun static const unsigned int avb_mdio_mux[] = {
865*4882a593Smuzhiyun 	AVB_MDC_MARK, AVB_MDIO_MARK,
866*4882a593Smuzhiyun };
867*4882a593Smuzhiyun static const unsigned int avb_rgmii_pins[] = {
868*4882a593Smuzhiyun 	/*
869*4882a593Smuzhiyun 	 * AVB_TX_CTL, AVB_TXC, AVB_TD0, AVB_TD1, AVB_TD2, AVB_TD3,
870*4882a593Smuzhiyun 	 * AVB_RX_CTL, AVB_RXC, AVB_RD0, AVB_RD1, AVB_RD2, AVB_RD3,
871*4882a593Smuzhiyun 	 */
872*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 7), RCAR_GP_PIN(1, 8),
873*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 9), RCAR_GP_PIN(1, 10),
874*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 11), RCAR_GP_PIN(1, 12),
875*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 1), RCAR_GP_PIN(1, 2),
876*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 3), RCAR_GP_PIN(1, 4),
877*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 5), RCAR_GP_PIN(1, 6),
878*4882a593Smuzhiyun };
879*4882a593Smuzhiyun static const unsigned int avb_rgmii_mux[] = {
880*4882a593Smuzhiyun 	AVB_TX_CTL_MARK, AVB_TXC_MARK,
881*4882a593Smuzhiyun 	AVB_TD0_MARK, AVB_TD1_MARK, AVB_TD2_MARK, AVB_TD3_MARK,
882*4882a593Smuzhiyun 	AVB_RX_CTL_MARK, AVB_RXC_MARK,
883*4882a593Smuzhiyun 	AVB_RD0_MARK, AVB_RD1_MARK, AVB_RD2_MARK, AVB_RD3_MARK,
884*4882a593Smuzhiyun };
885*4882a593Smuzhiyun static const unsigned int avb_txcrefclk_pins[] = {
886*4882a593Smuzhiyun 	/* AVB_TXCREFCLK */
887*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 13),
888*4882a593Smuzhiyun };
889*4882a593Smuzhiyun static const unsigned int avb_txcrefclk_mux[] = {
890*4882a593Smuzhiyun 	AVB_TXCREFCLK_MARK,
891*4882a593Smuzhiyun };
892*4882a593Smuzhiyun static const unsigned int avb_avtp_pps_pins[] = {
893*4882a593Smuzhiyun 	/* AVB_AVTP_PPS */
894*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 6),
895*4882a593Smuzhiyun };
896*4882a593Smuzhiyun static const unsigned int avb_avtp_pps_mux[] = {
897*4882a593Smuzhiyun 	AVB_AVTP_PPS_MARK,
898*4882a593Smuzhiyun };
899*4882a593Smuzhiyun static const unsigned int avb_avtp_capture_pins[] = {
900*4882a593Smuzhiyun 	/* AVB_AVTP_CAPTURE */
901*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 20),
902*4882a593Smuzhiyun };
903*4882a593Smuzhiyun static const unsigned int avb_avtp_capture_mux[] = {
904*4882a593Smuzhiyun 	AVB_AVTP_CAPTURE_MARK,
905*4882a593Smuzhiyun };
906*4882a593Smuzhiyun static const unsigned int avb_avtp_match_pins[] = {
907*4882a593Smuzhiyun 	/* AVB_AVTP_MATCH */
908*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 19),
909*4882a593Smuzhiyun };
910*4882a593Smuzhiyun static const unsigned int avb_avtp_match_mux[] = {
911*4882a593Smuzhiyun 	AVB_AVTP_MATCH_MARK,
912*4882a593Smuzhiyun };
913*4882a593Smuzhiyun 
914*4882a593Smuzhiyun /* - CANFD0 ----------------------------------------------------------------- */
915*4882a593Smuzhiyun static const unsigned int canfd0_data_a_pins[] = {
916*4882a593Smuzhiyun 	/* CANFD0_TX, CANFD0_RX */
917*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 21), RCAR_GP_PIN(1, 22),
918*4882a593Smuzhiyun };
919*4882a593Smuzhiyun static const unsigned int canfd0_data_a_mux[] = {
920*4882a593Smuzhiyun 	CANFD0_TX_A_MARK, CANFD0_RX_A_MARK,
921*4882a593Smuzhiyun };
922*4882a593Smuzhiyun static const unsigned int canfd0_data_b_pins[] = {
923*4882a593Smuzhiyun 	/* CANFD0_TX, CANFD0_RX */
924*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 6), RCAR_GP_PIN(3, 7),
925*4882a593Smuzhiyun };
926*4882a593Smuzhiyun static const unsigned int canfd0_data_b_mux[] = {
927*4882a593Smuzhiyun 	CANFD0_TX_B_MARK, CANFD0_RX_B_MARK,
928*4882a593Smuzhiyun };
929*4882a593Smuzhiyun 
930*4882a593Smuzhiyun /* - CANFD1 ----------------------------------------------------------------- */
931*4882a593Smuzhiyun static const unsigned int canfd1_data_pins[] = {
932*4882a593Smuzhiyun 	/* CANFD1_TX, CANFD1_RX */
933*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 23), RCAR_GP_PIN(1, 24),
934*4882a593Smuzhiyun };
935*4882a593Smuzhiyun static const unsigned int canfd1_data_mux[] = {
936*4882a593Smuzhiyun 	CANFD1_TX_MARK, CANFD1_RX_MARK,
937*4882a593Smuzhiyun };
938*4882a593Smuzhiyun 
939*4882a593Smuzhiyun /* - CANFD Clock ------------------------------------------------------------ */
940*4882a593Smuzhiyun static const unsigned int canfd_clk_a_pins[] = {
941*4882a593Smuzhiyun 	/* CANFD_CLK */
942*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 25),
943*4882a593Smuzhiyun };
944*4882a593Smuzhiyun static const unsigned int canfd_clk_a_mux[] = {
945*4882a593Smuzhiyun 	CANFD_CLK_A_MARK,
946*4882a593Smuzhiyun };
947*4882a593Smuzhiyun static const unsigned int canfd_clk_b_pins[] = {
948*4882a593Smuzhiyun 	/* CANFD_CLK */
949*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 8),
950*4882a593Smuzhiyun };
951*4882a593Smuzhiyun static const unsigned int canfd_clk_b_mux[] = {
952*4882a593Smuzhiyun 	CANFD_CLK_B_MARK,
953*4882a593Smuzhiyun };
954*4882a593Smuzhiyun 
955*4882a593Smuzhiyun /* - DU --------------------------------------------------------------------- */
956*4882a593Smuzhiyun static const unsigned int du_rgb666_pins[] = {
957*4882a593Smuzhiyun 	/* DU_DR[7:2], DU_DG[7:2], DU_DB[7:2] */
958*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 5), RCAR_GP_PIN(0, 4), RCAR_GP_PIN(0, 3),
959*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 2), RCAR_GP_PIN(0, 1), RCAR_GP_PIN(0, 0),
960*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 11), RCAR_GP_PIN(0, 10), RCAR_GP_PIN(0, 9),
961*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 8), RCAR_GP_PIN(0, 7), RCAR_GP_PIN(0, 6),
962*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 17), RCAR_GP_PIN(0, 16), RCAR_GP_PIN(0, 15),
963*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 14), RCAR_GP_PIN(0, 13), RCAR_GP_PIN(0, 12),
964*4882a593Smuzhiyun };
965*4882a593Smuzhiyun static const unsigned int du_rgb666_mux[] = {
966*4882a593Smuzhiyun 	DU_DR7_MARK, DU_DR6_MARK, DU_DR5_MARK,
967*4882a593Smuzhiyun 	DU_DR4_MARK, DU_DR3_MARK, DU_DR2_MARK,
968*4882a593Smuzhiyun 	DU_DG7_MARK, DU_DG6_MARK, DU_DG5_MARK,
969*4882a593Smuzhiyun 	DU_DG4_MARK, DU_DG3_MARK, DU_DG2_MARK,
970*4882a593Smuzhiyun 	DU_DB7_MARK, DU_DB6_MARK, DU_DB5_MARK,
971*4882a593Smuzhiyun 	DU_DB4_MARK, DU_DB3_MARK, DU_DB2_MARK,
972*4882a593Smuzhiyun };
973*4882a593Smuzhiyun static const unsigned int du_rgb888_pins[] = {
974*4882a593Smuzhiyun 	/* DU_DR[7:0], DU_DG[7:0], DU_DB[7:0] */
975*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 5), RCAR_GP_PIN(0, 4), RCAR_GP_PIN(0, 3),
976*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 2), RCAR_GP_PIN(0, 1), RCAR_GP_PIN(0, 0),
977*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 20), RCAR_GP_PIN(2, 19),
978*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 11), RCAR_GP_PIN(0, 10), RCAR_GP_PIN(0, 9),
979*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 8), RCAR_GP_PIN(0, 7), RCAR_GP_PIN(0, 6),
980*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 22), RCAR_GP_PIN(2, 21),
981*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 17), RCAR_GP_PIN(0, 16), RCAR_GP_PIN(0, 15),
982*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 14), RCAR_GP_PIN(0, 13), RCAR_GP_PIN(0, 12),
983*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 24), RCAR_GP_PIN(2, 23),
984*4882a593Smuzhiyun };
985*4882a593Smuzhiyun static const unsigned int du_rgb888_mux[] = {
986*4882a593Smuzhiyun 	DU_DR7_MARK, DU_DR6_MARK, DU_DR5_MARK,
987*4882a593Smuzhiyun 	DU_DR4_MARK, DU_DR3_MARK, DU_DR2_MARK,
988*4882a593Smuzhiyun 	DU_DR1_MARK, DU_DR0_MARK,
989*4882a593Smuzhiyun 	DU_DG7_MARK, DU_DG6_MARK, DU_DG5_MARK,
990*4882a593Smuzhiyun 	DU_DG4_MARK, DU_DG3_MARK, DU_DG2_MARK,
991*4882a593Smuzhiyun 	DU_DG1_MARK, DU_DG0_MARK,
992*4882a593Smuzhiyun 	DU_DB7_MARK, DU_DB6_MARK, DU_DB5_MARK,
993*4882a593Smuzhiyun 	DU_DB4_MARK, DU_DB3_MARK, DU_DB2_MARK,
994*4882a593Smuzhiyun 	DU_DB1_MARK, DU_DB0_MARK,
995*4882a593Smuzhiyun };
996*4882a593Smuzhiyun static const unsigned int du_clk_out_pins[] = {
997*4882a593Smuzhiyun 	/* DU_DOTCLKOUT */
998*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 18),
999*4882a593Smuzhiyun };
1000*4882a593Smuzhiyun static const unsigned int du_clk_out_mux[] = {
1001*4882a593Smuzhiyun 	DU_DOTCLKOUT_MARK,
1002*4882a593Smuzhiyun };
1003*4882a593Smuzhiyun static const unsigned int du_sync_pins[] = {
1004*4882a593Smuzhiyun 	/* DU_EXVSYNC/DU_VSYNC, DU_EXHSYNC/DU_HSYNC */
1005*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 20), RCAR_GP_PIN(0, 19),
1006*4882a593Smuzhiyun };
1007*4882a593Smuzhiyun static const unsigned int du_sync_mux[] = {
1008*4882a593Smuzhiyun 	DU_EXVSYNC_DU_VSYNC_MARK, DU_EXHSYNC_DU_HSYNC_MARK,
1009*4882a593Smuzhiyun };
1010*4882a593Smuzhiyun static const unsigned int du_oddf_pins[] = {
1011*4882a593Smuzhiyun 	/* DU_EXODDF/DU_ODDF/DISP/CDE */
1012*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 21),
1013*4882a593Smuzhiyun };
1014*4882a593Smuzhiyun static const unsigned int du_oddf_mux[] = {
1015*4882a593Smuzhiyun 	DU_EXODDF_DU_ODDF_DISP_CDE_MARK,
1016*4882a593Smuzhiyun };
1017*4882a593Smuzhiyun static const unsigned int du_cde_pins[] = {
1018*4882a593Smuzhiyun 	/* DU_CDE */
1019*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 22),
1020*4882a593Smuzhiyun };
1021*4882a593Smuzhiyun static const unsigned int du_cde_mux[] = {
1022*4882a593Smuzhiyun 	DU_CDE_MARK,
1023*4882a593Smuzhiyun };
1024*4882a593Smuzhiyun static const unsigned int du_disp_pins[] = {
1025*4882a593Smuzhiyun 	/* DU_DISP */
1026*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 21),
1027*4882a593Smuzhiyun };
1028*4882a593Smuzhiyun static const unsigned int du_disp_mux[] = {
1029*4882a593Smuzhiyun 	DU_DISP_MARK,
1030*4882a593Smuzhiyun };
1031*4882a593Smuzhiyun 
1032*4882a593Smuzhiyun /* - GETHER ----------------------------------------------------------------- */
1033*4882a593Smuzhiyun static const unsigned int gether_link_a_pins[] = {
1034*4882a593Smuzhiyun 	/* GETHER_LINK */
1035*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 24),
1036*4882a593Smuzhiyun };
1037*4882a593Smuzhiyun static const unsigned int gether_link_a_mux[] = {
1038*4882a593Smuzhiyun 	GETHER_LINK_A_MARK,
1039*4882a593Smuzhiyun };
1040*4882a593Smuzhiyun static const unsigned int gether_phy_int_a_pins[] = {
1041*4882a593Smuzhiyun 	/* GETHER_PHY_INT */
1042*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 23),
1043*4882a593Smuzhiyun };
1044*4882a593Smuzhiyun static const unsigned int gether_phy_int_a_mux[] = {
1045*4882a593Smuzhiyun 	GETHER_PHY_INT_A_MARK,
1046*4882a593Smuzhiyun };
1047*4882a593Smuzhiyun static const unsigned int gether_mdio_a_pins[] = {
1048*4882a593Smuzhiyun 	/* GETHER_MDC, GETHER_MDIO */
1049*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 21), RCAR_GP_PIN(4, 20),
1050*4882a593Smuzhiyun };
1051*4882a593Smuzhiyun static const unsigned int gether_mdio_a_mux[] = {
1052*4882a593Smuzhiyun 	GETHER_MDC_A_MARK, GETHER_MDIO_A_MARK,
1053*4882a593Smuzhiyun };
1054*4882a593Smuzhiyun static const unsigned int gether_link_b_pins[] = {
1055*4882a593Smuzhiyun 	/* GETHER_LINK */
1056*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 18),
1057*4882a593Smuzhiyun };
1058*4882a593Smuzhiyun static const unsigned int gether_link_b_mux[] = {
1059*4882a593Smuzhiyun 	GETHER_LINK_B_MARK,
1060*4882a593Smuzhiyun };
1061*4882a593Smuzhiyun static const unsigned int gether_phy_int_b_pins[] = {
1062*4882a593Smuzhiyun 	/* GETHER_PHY_INT */
1063*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 19),
1064*4882a593Smuzhiyun };
1065*4882a593Smuzhiyun static const unsigned int gether_phy_int_b_mux[] = {
1066*4882a593Smuzhiyun 	GETHER_PHY_INT_B_MARK,
1067*4882a593Smuzhiyun };
1068*4882a593Smuzhiyun static const unsigned int gether_mdio_b_mux[] = {
1069*4882a593Smuzhiyun 	GETHER_MDC_B_MARK, GETHER_MDIO_B_MARK,
1070*4882a593Smuzhiyun };
1071*4882a593Smuzhiyun static const unsigned int gether_mdio_b_pins[] = {
1072*4882a593Smuzhiyun 	/* GETHER_MDC, GETHER_MDIO */
1073*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 9), RCAR_GP_PIN(0, 10),
1074*4882a593Smuzhiyun };
1075*4882a593Smuzhiyun static const unsigned int gether_magic_pins[] = {
1076*4882a593Smuzhiyun 	/* GETHER_MAGIC */
1077*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 22),
1078*4882a593Smuzhiyun };
1079*4882a593Smuzhiyun static const unsigned int gether_magic_mux[] = {
1080*4882a593Smuzhiyun 	GETHER_MAGIC_MARK,
1081*4882a593Smuzhiyun };
1082*4882a593Smuzhiyun static const unsigned int gether_rgmii_pins[] = {
1083*4882a593Smuzhiyun 	/*
1084*4882a593Smuzhiyun 	 * GETHER_TX_CTL, GETHER_TXC,
1085*4882a593Smuzhiyun 	 * GETHER_TD0, GETHER_TD1, GETHER_TD2, GETHER_TD3,
1086*4882a593Smuzhiyun 	 * GETHER_RX_CTL, GETHER_RXC,
1087*4882a593Smuzhiyun 	 * GETHER_RD0, GETHER_RD1, GETHER_RD2, GETHER_RD3,
1088*4882a593Smuzhiyun 	 */
1089*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 12), RCAR_GP_PIN(4, 13),
1090*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 14), RCAR_GP_PIN(4, 15),
1091*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 16), RCAR_GP_PIN(4, 17),
1092*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 6), RCAR_GP_PIN(4, 7),
1093*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 8), RCAR_GP_PIN(4, 9),
1094*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 10), RCAR_GP_PIN(4, 11),
1095*4882a593Smuzhiyun };
1096*4882a593Smuzhiyun static const unsigned int gether_rgmii_mux[] = {
1097*4882a593Smuzhiyun 	GETHER_TX_CTL_MARK, GETHER_TXC_MARK,
1098*4882a593Smuzhiyun 	GETHER_TD0_MARK, GETHER_TD1_MARK,
1099*4882a593Smuzhiyun 	GETHER_TD2_MARK, GETHER_TD3_MARK,
1100*4882a593Smuzhiyun 	GETHER_RX_CTL_MARK, GETHER_RXC_MARK,
1101*4882a593Smuzhiyun 	GETHER_RD0_MARK, AVB_RD1_MARK,
1102*4882a593Smuzhiyun 	GETHER_RD2_MARK, AVB_RD3_MARK,
1103*4882a593Smuzhiyun };
1104*4882a593Smuzhiyun static const unsigned int gether_txcrefclk_pins[] = {
1105*4882a593Smuzhiyun 	/* GETHER_TXCREFCLK */
1106*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 18),
1107*4882a593Smuzhiyun };
1108*4882a593Smuzhiyun static const unsigned int gether_txcrefclk_mux[] = {
1109*4882a593Smuzhiyun 	GETHER_TXCREFCLK_MARK,
1110*4882a593Smuzhiyun };
1111*4882a593Smuzhiyun static const unsigned int gether_txcrefclk_mega_pins[] = {
1112*4882a593Smuzhiyun 	/* GETHER_TXCREFCLK_MEGA */
1113*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 19),
1114*4882a593Smuzhiyun };
1115*4882a593Smuzhiyun static const unsigned int gether_txcrefclk_mega_mux[] = {
1116*4882a593Smuzhiyun 	GETHER_TXCREFCLK_MEGA_MARK,
1117*4882a593Smuzhiyun };
1118*4882a593Smuzhiyun static const unsigned int gether_rmii_pins[] = {
1119*4882a593Smuzhiyun 	/*
1120*4882a593Smuzhiyun 	 * GETHER_RMII_CRS_DV, GETHER_RMII_RX_ER,
1121*4882a593Smuzhiyun 	 * GETHER_RMII_RXD0, GETHER_RMII_RXD1,
1122*4882a593Smuzhiyun 	 * GETHER_RMII_TXD_EN, GETHER_RMII_TXD0,
1123*4882a593Smuzhiyun 	 * GETHER_RMII_TXD1, GETHER_RMII_REFCLK
1124*4882a593Smuzhiyun 	 */
1125*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 0), RCAR_GP_PIN(0, 1),
1126*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 2), RCAR_GP_PIN(0, 3),
1127*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 4), RCAR_GP_PIN(0, 5),
1128*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 6), RCAR_GP_PIN(0, 7),
1129*4882a593Smuzhiyun };
1130*4882a593Smuzhiyun static const unsigned int gether_rmii_mux[] = {
1131*4882a593Smuzhiyun 	GETHER_RMII_CRS_DV_MARK, GETHER_RMII_RX_ER_MARK,
1132*4882a593Smuzhiyun 	GETHER_RMII_RXD0_MARK, GETHER_RMII_RXD1_MARK,
1133*4882a593Smuzhiyun 	GETHER_RMII_TXD_EN_MARK, GETHER_RMII_TXD0_MARK,
1134*4882a593Smuzhiyun 	GETHER_RMII_TXD1_MARK, GETHER_RMII_REFCLK_MARK,
1135*4882a593Smuzhiyun };
1136*4882a593Smuzhiyun 
1137*4882a593Smuzhiyun /* - HSCIF0 ----------------------------------------------------------------- */
1138*4882a593Smuzhiyun static const unsigned int hscif0_data_a_pins[] = {
1139*4882a593Smuzhiyun 	/* HRX0, HTX0 */
1140*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 11), RCAR_GP_PIN(0, 15),
1141*4882a593Smuzhiyun };
1142*4882a593Smuzhiyun static const unsigned int hscif0_data_a_mux[] = {
1143*4882a593Smuzhiyun 	HRX0_A_MARK, HTX0_A_MARK,
1144*4882a593Smuzhiyun };
1145*4882a593Smuzhiyun static const unsigned int hscif0_clk_a_pins[] = {
1146*4882a593Smuzhiyun 	/* HSCK0 */
1147*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 12),
1148*4882a593Smuzhiyun };
1149*4882a593Smuzhiyun static const unsigned int hscif0_clk_a_mux[] = {
1150*4882a593Smuzhiyun 	HSCK0_A_MARK,
1151*4882a593Smuzhiyun };
1152*4882a593Smuzhiyun static const unsigned int hscif0_ctrl_a_pins[] = {
1153*4882a593Smuzhiyun 	/* HRTS0#, HCTS0# */
1154*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 13), RCAR_GP_PIN(0, 14),
1155*4882a593Smuzhiyun };
1156*4882a593Smuzhiyun static const unsigned int hscif0_ctrl_a_mux[] = {
1157*4882a593Smuzhiyun 	HRTS0_N_A_MARK, HCTS0_N_A_MARK,
1158*4882a593Smuzhiyun };
1159*4882a593Smuzhiyun static const unsigned int hscif0_data_b_pins[] = {
1160*4882a593Smuzhiyun 	/* HRX0, HTX0 */
1161*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5),
1162*4882a593Smuzhiyun };
1163*4882a593Smuzhiyun static const unsigned int hscif0_data_b_mux[] = {
1164*4882a593Smuzhiyun 	HRX0_B_MARK, HTX0_B_MARK,
1165*4882a593Smuzhiyun };
1166*4882a593Smuzhiyun static const unsigned int hscif0_clk_b_pins[] = {
1167*4882a593Smuzhiyun 	/* HSCK0 */
1168*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 1),
1169*4882a593Smuzhiyun };
1170*4882a593Smuzhiyun static const unsigned int hscif0_clk_b_mux[] = {
1171*4882a593Smuzhiyun 	HSCK0_B_MARK,
1172*4882a593Smuzhiyun };
1173*4882a593Smuzhiyun static const unsigned int hscif0_ctrl_b_pins[] = {
1174*4882a593Smuzhiyun 	/* HRTS0#, HCTS0# */
1175*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 3), RCAR_GP_PIN(4, 2),
1176*4882a593Smuzhiyun };
1177*4882a593Smuzhiyun static const unsigned int hscif0_ctrl_b_mux[] = {
1178*4882a593Smuzhiyun 	HRTS0_N_B_MARK, HCTS0_N_B_MARK,
1179*4882a593Smuzhiyun };
1180*4882a593Smuzhiyun 
1181*4882a593Smuzhiyun /* - HSCIF1 ----------------------------------------------------------------- */
1182*4882a593Smuzhiyun static const unsigned int hscif1_data_pins[] = {
1183*4882a593Smuzhiyun 	/* HRX1, HTX1 */
1184*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 10),
1185*4882a593Smuzhiyun };
1186*4882a593Smuzhiyun static const unsigned int hscif1_data_mux[] = {
1187*4882a593Smuzhiyun 	HRX1_MARK, HTX1_MARK,
1188*4882a593Smuzhiyun };
1189*4882a593Smuzhiyun static const unsigned int hscif1_clk_pins[] = {
1190*4882a593Smuzhiyun 	/* HSCK1 */
1191*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 7),
1192*4882a593Smuzhiyun };
1193*4882a593Smuzhiyun static const unsigned int hscif1_clk_mux[] = {
1194*4882a593Smuzhiyun 	HSCK1_MARK,
1195*4882a593Smuzhiyun };
1196*4882a593Smuzhiyun static const unsigned int hscif1_ctrl_pins[] = {
1197*4882a593Smuzhiyun 	/* HRTS1#, HCTS1# */
1198*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 9),
1199*4882a593Smuzhiyun };
1200*4882a593Smuzhiyun static const unsigned int hscif1_ctrl_mux[] = {
1201*4882a593Smuzhiyun 	HRTS1_N_MARK, HCTS1_N_MARK,
1202*4882a593Smuzhiyun };
1203*4882a593Smuzhiyun 
1204*4882a593Smuzhiyun /* - HSCIF2 ----------------------------------------------------------------- */
1205*4882a593Smuzhiyun static const unsigned int hscif2_data_pins[] = {
1206*4882a593Smuzhiyun 	/* HRX2, HTX2 */
1207*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 16), RCAR_GP_PIN(2, 15),
1208*4882a593Smuzhiyun };
1209*4882a593Smuzhiyun static const unsigned int hscif2_data_mux[] = {
1210*4882a593Smuzhiyun 	HRX2_MARK, HTX2_MARK,
1211*4882a593Smuzhiyun };
1212*4882a593Smuzhiyun static const unsigned int hscif2_clk_pins[] = {
1213*4882a593Smuzhiyun 	/* HSCK2 */
1214*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 12),
1215*4882a593Smuzhiyun };
1216*4882a593Smuzhiyun static const unsigned int hscif2_clk_mux[] = {
1217*4882a593Smuzhiyun 	HSCK2_MARK,
1218*4882a593Smuzhiyun };
1219*4882a593Smuzhiyun static const unsigned int hscif2_ctrl_pins[] = {
1220*4882a593Smuzhiyun 	/* HRTS2#, HCTS2# */
1221*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 14), RCAR_GP_PIN(2, 13),
1222*4882a593Smuzhiyun };
1223*4882a593Smuzhiyun static const unsigned int hscif2_ctrl_mux[] = {
1224*4882a593Smuzhiyun 	HRTS2_N_MARK, HCTS2_N_MARK,
1225*4882a593Smuzhiyun };
1226*4882a593Smuzhiyun 
1227*4882a593Smuzhiyun /* - HSCIF3 ----------------------------------------------------------------- */
1228*4882a593Smuzhiyun static const unsigned int hscif3_data_pins[] = {
1229*4882a593Smuzhiyun 	/* HRX3, HTX3 */
1230*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 4), RCAR_GP_PIN(2, 3),
1231*4882a593Smuzhiyun };
1232*4882a593Smuzhiyun static const unsigned int hscif3_data_mux[] = {
1233*4882a593Smuzhiyun 	HRX3_MARK, HTX3_MARK,
1234*4882a593Smuzhiyun };
1235*4882a593Smuzhiyun static const unsigned int hscif3_clk_pins[] = {
1236*4882a593Smuzhiyun 	/* HSCK3 */
1237*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 0),
1238*4882a593Smuzhiyun };
1239*4882a593Smuzhiyun static const unsigned int hscif3_clk_mux[] = {
1240*4882a593Smuzhiyun 	HSCK3_MARK,
1241*4882a593Smuzhiyun };
1242*4882a593Smuzhiyun static const unsigned int hscif3_ctrl_pins[] = {
1243*4882a593Smuzhiyun 	/* HRTS3#, HCTS3# */
1244*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 2), RCAR_GP_PIN(2, 1),
1245*4882a593Smuzhiyun };
1246*4882a593Smuzhiyun static const unsigned int hscif3_ctrl_mux[] = {
1247*4882a593Smuzhiyun 	HRTS3_N_MARK, HCTS3_N_MARK,
1248*4882a593Smuzhiyun };
1249*4882a593Smuzhiyun 
1250*4882a593Smuzhiyun /* - I2C0 ------------------------------------------------------------------- */
1251*4882a593Smuzhiyun static const unsigned int i2c0_pins[] = {
1252*4882a593Smuzhiyun 	/* SDA0, SCL0 */
1253*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 1), RCAR_GP_PIN(4, 0),
1254*4882a593Smuzhiyun };
1255*4882a593Smuzhiyun static const unsigned int i2c0_mux[] = {
1256*4882a593Smuzhiyun 	SDA0_MARK, SCL0_MARK,
1257*4882a593Smuzhiyun };
1258*4882a593Smuzhiyun 
1259*4882a593Smuzhiyun /* - I2C1 ------------------------------------------------------------------- */
1260*4882a593Smuzhiyun static const unsigned int i2c1_pins[] = {
1261*4882a593Smuzhiyun 	/* SDA1, SCL1 */
1262*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 3), RCAR_GP_PIN(4, 2),
1263*4882a593Smuzhiyun };
1264*4882a593Smuzhiyun static const unsigned int i2c1_mux[] = {
1265*4882a593Smuzhiyun 	SDA1_MARK, SCL1_MARK,
1266*4882a593Smuzhiyun };
1267*4882a593Smuzhiyun 
1268*4882a593Smuzhiyun /* - I2C2 ------------------------------------------------------------------- */
1269*4882a593Smuzhiyun static const unsigned int i2c2_pins[] = {
1270*4882a593Smuzhiyun 	/* SDA2, SCL2 */
1271*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 5), RCAR_GP_PIN(4, 4),
1272*4882a593Smuzhiyun };
1273*4882a593Smuzhiyun static const unsigned int i2c2_mux[] = {
1274*4882a593Smuzhiyun 	SDA2_MARK, SCL2_MARK,
1275*4882a593Smuzhiyun };
1276*4882a593Smuzhiyun 
1277*4882a593Smuzhiyun /* - I2C3 ------------------------------------------------------------------- */
1278*4882a593Smuzhiyun static const unsigned int i2c3_pins[] = {
1279*4882a593Smuzhiyun 	/* SDA3, SCL3 */
1280*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 26), RCAR_GP_PIN(2, 25),
1281*4882a593Smuzhiyun };
1282*4882a593Smuzhiyun static const unsigned int i2c3_mux[] = {
1283*4882a593Smuzhiyun 	SDA3_MARK, SCL3_MARK,
1284*4882a593Smuzhiyun };
1285*4882a593Smuzhiyun 
1286*4882a593Smuzhiyun /* - I2C4 ------------------------------------------------------------------- */
1287*4882a593Smuzhiyun static const unsigned int i2c4_pins[] = {
1288*4882a593Smuzhiyun 	/* SDA4, SCL4 */
1289*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 16), RCAR_GP_PIN(3, 15),
1290*4882a593Smuzhiyun };
1291*4882a593Smuzhiyun static const unsigned int i2c4_mux[] = {
1292*4882a593Smuzhiyun 	SDA4_MARK, SCL4_MARK,
1293*4882a593Smuzhiyun };
1294*4882a593Smuzhiyun 
1295*4882a593Smuzhiyun /* - I2C5 ------------------------------------------------------------------- */
1296*4882a593Smuzhiyun static const unsigned int i2c5_pins[] = {
1297*4882a593Smuzhiyun 	/* SDA5, SCL5 */
1298*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 9), RCAR_GP_PIN(0, 8),
1299*4882a593Smuzhiyun };
1300*4882a593Smuzhiyun static const unsigned int i2c5_mux[] = {
1301*4882a593Smuzhiyun 	SDA5_MARK, SCL5_MARK,
1302*4882a593Smuzhiyun };
1303*4882a593Smuzhiyun 
1304*4882a593Smuzhiyun /* - INTC-EX ---------------------------------------------------------------- */
1305*4882a593Smuzhiyun static const unsigned int intc_ex_irq0_pins[] = {
1306*4882a593Smuzhiyun 	/* IRQ0 */
1307*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 0),
1308*4882a593Smuzhiyun };
1309*4882a593Smuzhiyun static const unsigned int intc_ex_irq0_mux[] = {
1310*4882a593Smuzhiyun 	IRQ0_MARK,
1311*4882a593Smuzhiyun };
1312*4882a593Smuzhiyun static const unsigned int intc_ex_irq1_pins[] = {
1313*4882a593Smuzhiyun 	/* IRQ1 */
1314*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 12),
1315*4882a593Smuzhiyun };
1316*4882a593Smuzhiyun static const unsigned int intc_ex_irq1_mux[] = {
1317*4882a593Smuzhiyun 	IRQ1_MARK,
1318*4882a593Smuzhiyun };
1319*4882a593Smuzhiyun static const unsigned int intc_ex_irq2_pins[] = {
1320*4882a593Smuzhiyun 	/* IRQ2 */
1321*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 13),
1322*4882a593Smuzhiyun };
1323*4882a593Smuzhiyun static const unsigned int intc_ex_irq2_mux[] = {
1324*4882a593Smuzhiyun 	IRQ2_MARK,
1325*4882a593Smuzhiyun };
1326*4882a593Smuzhiyun static const unsigned int intc_ex_irq3_pins[] = {
1327*4882a593Smuzhiyun 	/* IRQ3 */
1328*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 14),
1329*4882a593Smuzhiyun };
1330*4882a593Smuzhiyun static const unsigned int intc_ex_irq3_mux[] = {
1331*4882a593Smuzhiyun 	IRQ3_MARK,
1332*4882a593Smuzhiyun };
1333*4882a593Smuzhiyun static const unsigned int intc_ex_irq4_pins[] = {
1334*4882a593Smuzhiyun 	/* IRQ4 */
1335*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 17),
1336*4882a593Smuzhiyun };
1337*4882a593Smuzhiyun static const unsigned int intc_ex_irq4_mux[] = {
1338*4882a593Smuzhiyun 	IRQ4_MARK,
1339*4882a593Smuzhiyun };
1340*4882a593Smuzhiyun static const unsigned int intc_ex_irq5_pins[] = {
1341*4882a593Smuzhiyun 	/* IRQ5 */
1342*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 18),
1343*4882a593Smuzhiyun };
1344*4882a593Smuzhiyun static const unsigned int intc_ex_irq5_mux[] = {
1345*4882a593Smuzhiyun 	IRQ5_MARK,
1346*4882a593Smuzhiyun };
1347*4882a593Smuzhiyun 
1348*4882a593Smuzhiyun /* - MMC -------------------------------------------------------------------- */
1349*4882a593Smuzhiyun static const unsigned int mmc_data1_pins[] = {
1350*4882a593Smuzhiyun 	/* MMC_D0 */
1351*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 8),
1352*4882a593Smuzhiyun };
1353*4882a593Smuzhiyun static const unsigned int mmc_data1_mux[] = {
1354*4882a593Smuzhiyun 	MMC_D0_MARK,
1355*4882a593Smuzhiyun };
1356*4882a593Smuzhiyun static const unsigned int mmc_data4_pins[] = {
1357*4882a593Smuzhiyun 	/* MMC_D[0:3] */
1358*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 8), RCAR_GP_PIN(3, 9),
1359*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 10), RCAR_GP_PIN(3, 11),
1360*4882a593Smuzhiyun };
1361*4882a593Smuzhiyun static const unsigned int mmc_data4_mux[] = {
1362*4882a593Smuzhiyun 	MMC_D0_MARK, MMC_D1_MARK,
1363*4882a593Smuzhiyun 	MMC_D2_MARK, MMC_D3_MARK,
1364*4882a593Smuzhiyun };
1365*4882a593Smuzhiyun static const unsigned int mmc_data8_pins[] = {
1366*4882a593Smuzhiyun 	/* MMC_D[0:7] */
1367*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 8), RCAR_GP_PIN(3, 9),
1368*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 10), RCAR_GP_PIN(3, 11),
1369*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 13), RCAR_GP_PIN(3, 14),
1370*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 15), RCAR_GP_PIN(3, 16),
1371*4882a593Smuzhiyun };
1372*4882a593Smuzhiyun static const unsigned int mmc_data8_mux[] = {
1373*4882a593Smuzhiyun 	MMC_D0_MARK, MMC_D1_MARK,
1374*4882a593Smuzhiyun 	MMC_D2_MARK, MMC_D3_MARK,
1375*4882a593Smuzhiyun 	MMC_D4_MARK, MMC_D5_MARK,
1376*4882a593Smuzhiyun 	MMC_D6_MARK, MMC_D7_MARK,
1377*4882a593Smuzhiyun };
1378*4882a593Smuzhiyun static const unsigned int mmc_ctrl_pins[] = {
1379*4882a593Smuzhiyun 	/* MMC_CLK, MMC_CMD */
1380*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 12), RCAR_GP_PIN(3, 7),
1381*4882a593Smuzhiyun };
1382*4882a593Smuzhiyun static const unsigned int mmc_ctrl_mux[] = {
1383*4882a593Smuzhiyun 	MMC_CLK_MARK, MMC_CMD_MARK,
1384*4882a593Smuzhiyun };
1385*4882a593Smuzhiyun static const unsigned int mmc_cd_pins[] = {
1386*4882a593Smuzhiyun 	/* MMC_CD */
1387*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 5),
1388*4882a593Smuzhiyun };
1389*4882a593Smuzhiyun static const unsigned int mmc_cd_mux[] = {
1390*4882a593Smuzhiyun 	MMC_CD_MARK,
1391*4882a593Smuzhiyun };
1392*4882a593Smuzhiyun static const unsigned int mmc_wp_pins[] = {
1393*4882a593Smuzhiyun 	/* MMC_WP */
1394*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 4),
1395*4882a593Smuzhiyun };
1396*4882a593Smuzhiyun static const unsigned int mmc_wp_mux[] = {
1397*4882a593Smuzhiyun 	MMC_WP_MARK,
1398*4882a593Smuzhiyun };
1399*4882a593Smuzhiyun static const unsigned int mmc_ds_pins[] = {
1400*4882a593Smuzhiyun 	/* MMC_DS */
1401*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 6),
1402*4882a593Smuzhiyun };
1403*4882a593Smuzhiyun static const unsigned int mmc_ds_mux[] = {
1404*4882a593Smuzhiyun 	MMC_DS_MARK,
1405*4882a593Smuzhiyun };
1406*4882a593Smuzhiyun 
1407*4882a593Smuzhiyun /* - MSIOF0 ----------------------------------------------------------------- */
1408*4882a593Smuzhiyun static const unsigned int msiof0_clk_pins[] = {
1409*4882a593Smuzhiyun 	/* MSIOF0_SCK */
1410*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 21),
1411*4882a593Smuzhiyun };
1412*4882a593Smuzhiyun static const unsigned int msiof0_clk_mux[] = {
1413*4882a593Smuzhiyun 	MSIOF0_SCK_MARK,
1414*4882a593Smuzhiyun };
1415*4882a593Smuzhiyun static const unsigned int msiof0_sync_pins[] = {
1416*4882a593Smuzhiyun 	/* MSIOF0_SYNC */
1417*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 22),
1418*4882a593Smuzhiyun };
1419*4882a593Smuzhiyun static const unsigned int msiof0_sync_mux[] = {
1420*4882a593Smuzhiyun 	MSIOF0_SYNC_MARK,
1421*4882a593Smuzhiyun };
1422*4882a593Smuzhiyun static const unsigned int msiof0_ss1_pins[] = {
1423*4882a593Smuzhiyun 	/* MSIOF0_SS1 */
1424*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 23),
1425*4882a593Smuzhiyun };
1426*4882a593Smuzhiyun static const unsigned int msiof0_ss1_mux[] = {
1427*4882a593Smuzhiyun 	MSIOF0_SS1_MARK,
1428*4882a593Smuzhiyun };
1429*4882a593Smuzhiyun static const unsigned int msiof0_ss2_pins[] = {
1430*4882a593Smuzhiyun 	/* MSIOF0_SS2 */
1431*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 24),
1432*4882a593Smuzhiyun };
1433*4882a593Smuzhiyun static const unsigned int msiof0_ss2_mux[] = {
1434*4882a593Smuzhiyun 	MSIOF0_SS2_MARK,
1435*4882a593Smuzhiyun };
1436*4882a593Smuzhiyun static const unsigned int msiof0_txd_pins[] = {
1437*4882a593Smuzhiyun 	/* MSIOF0_TXD */
1438*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 20),
1439*4882a593Smuzhiyun };
1440*4882a593Smuzhiyun static const unsigned int msiof0_txd_mux[] = {
1441*4882a593Smuzhiyun 	MSIOF0_TXD_MARK,
1442*4882a593Smuzhiyun };
1443*4882a593Smuzhiyun static const unsigned int msiof0_rxd_pins[] = {
1444*4882a593Smuzhiyun 	/* MSIOF0_RXD */
1445*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 19),
1446*4882a593Smuzhiyun };
1447*4882a593Smuzhiyun static const unsigned int msiof0_rxd_mux[] = {
1448*4882a593Smuzhiyun 	MSIOF0_RXD_MARK,
1449*4882a593Smuzhiyun };
1450*4882a593Smuzhiyun 
1451*4882a593Smuzhiyun /* - MSIOF1 ----------------------------------------------------------------- */
1452*4882a593Smuzhiyun static const unsigned int msiof1_clk_pins[] = {
1453*4882a593Smuzhiyun 	/* MSIOF1_SCK */
1454*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 2),
1455*4882a593Smuzhiyun };
1456*4882a593Smuzhiyun static const unsigned int msiof1_clk_mux[] = {
1457*4882a593Smuzhiyun 	MSIOF1_SCK_MARK,
1458*4882a593Smuzhiyun };
1459*4882a593Smuzhiyun static const unsigned int msiof1_sync_pins[] = {
1460*4882a593Smuzhiyun 	/* MSIOF1_SYNC */
1461*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 3),
1462*4882a593Smuzhiyun };
1463*4882a593Smuzhiyun static const unsigned int msiof1_sync_mux[] = {
1464*4882a593Smuzhiyun 	MSIOF1_SYNC_MARK,
1465*4882a593Smuzhiyun };
1466*4882a593Smuzhiyun static const unsigned int msiof1_ss1_pins[] = {
1467*4882a593Smuzhiyun 	/* MSIOF1_SS1 */
1468*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 4),
1469*4882a593Smuzhiyun };
1470*4882a593Smuzhiyun static const unsigned int msiof1_ss1_mux[] = {
1471*4882a593Smuzhiyun 	MSIOF1_SS1_MARK,
1472*4882a593Smuzhiyun };
1473*4882a593Smuzhiyun static const unsigned int msiof1_ss2_pins[] = {
1474*4882a593Smuzhiyun 	/* MSIOF1_SS2 */
1475*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 5),
1476*4882a593Smuzhiyun };
1477*4882a593Smuzhiyun static const unsigned int msiof1_ss2_mux[] = {
1478*4882a593Smuzhiyun 	MSIOF1_SS2_MARK,
1479*4882a593Smuzhiyun };
1480*4882a593Smuzhiyun static const unsigned int msiof1_txd_pins[] = {
1481*4882a593Smuzhiyun 	/* MSIOF1_TXD */
1482*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 1),
1483*4882a593Smuzhiyun };
1484*4882a593Smuzhiyun static const unsigned int msiof1_txd_mux[] = {
1485*4882a593Smuzhiyun 	MSIOF1_TXD_MARK,
1486*4882a593Smuzhiyun };
1487*4882a593Smuzhiyun static const unsigned int msiof1_rxd_pins[] = {
1488*4882a593Smuzhiyun 	/* MSIOF1_RXD */
1489*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 0),
1490*4882a593Smuzhiyun };
1491*4882a593Smuzhiyun static const unsigned int msiof1_rxd_mux[] = {
1492*4882a593Smuzhiyun 	MSIOF1_RXD_MARK,
1493*4882a593Smuzhiyun };
1494*4882a593Smuzhiyun 
1495*4882a593Smuzhiyun /* - MSIOF2 ----------------------------------------------------------------- */
1496*4882a593Smuzhiyun static const unsigned int msiof2_clk_pins[] = {
1497*4882a593Smuzhiyun 	/* MSIOF2_SCK */
1498*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 0),
1499*4882a593Smuzhiyun };
1500*4882a593Smuzhiyun static const unsigned int msiof2_clk_mux[] = {
1501*4882a593Smuzhiyun 	MSIOF2_SCK_MARK,
1502*4882a593Smuzhiyun };
1503*4882a593Smuzhiyun static const unsigned int msiof2_sync_pins[] = {
1504*4882a593Smuzhiyun 	/* MSIOF2_SYNC */
1505*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 3),
1506*4882a593Smuzhiyun };
1507*4882a593Smuzhiyun static const unsigned int msiof2_sync_mux[] = {
1508*4882a593Smuzhiyun 	MSIOF2_SYNC_MARK,
1509*4882a593Smuzhiyun };
1510*4882a593Smuzhiyun static const unsigned int msiof2_ss1_pins[] = {
1511*4882a593Smuzhiyun 	/* MSIOF2_SS1 */
1512*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 4),
1513*4882a593Smuzhiyun };
1514*4882a593Smuzhiyun static const unsigned int msiof2_ss1_mux[] = {
1515*4882a593Smuzhiyun 	MSIOF2_SS1_MARK,
1516*4882a593Smuzhiyun };
1517*4882a593Smuzhiyun static const unsigned int msiof2_ss2_pins[] = {
1518*4882a593Smuzhiyun 	/* MSIOF2_SS2 */
1519*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 5),
1520*4882a593Smuzhiyun };
1521*4882a593Smuzhiyun static const unsigned int msiof2_ss2_mux[] = {
1522*4882a593Smuzhiyun 	MSIOF2_SS2_MARK,
1523*4882a593Smuzhiyun };
1524*4882a593Smuzhiyun static const unsigned int msiof2_txd_pins[] = {
1525*4882a593Smuzhiyun 	/* MSIOF2_TXD */
1526*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 2),
1527*4882a593Smuzhiyun };
1528*4882a593Smuzhiyun static const unsigned int msiof2_txd_mux[] = {
1529*4882a593Smuzhiyun 	MSIOF2_TXD_MARK,
1530*4882a593Smuzhiyun };
1531*4882a593Smuzhiyun static const unsigned int msiof2_rxd_pins[] = {
1532*4882a593Smuzhiyun 	/* MSIOF2_RXD */
1533*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 1),
1534*4882a593Smuzhiyun };
1535*4882a593Smuzhiyun static const unsigned int msiof2_rxd_mux[] = {
1536*4882a593Smuzhiyun 	MSIOF2_RXD_MARK,
1537*4882a593Smuzhiyun };
1538*4882a593Smuzhiyun 
1539*4882a593Smuzhiyun /* - MSIOF3 ----------------------------------------------------------------- */
1540*4882a593Smuzhiyun static const unsigned int msiof3_clk_pins[] = {
1541*4882a593Smuzhiyun 	/* MSIOF3_SCK */
1542*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 20),
1543*4882a593Smuzhiyun };
1544*4882a593Smuzhiyun static const unsigned int msiof3_clk_mux[] = {
1545*4882a593Smuzhiyun 	MSIOF3_SCK_MARK,
1546*4882a593Smuzhiyun };
1547*4882a593Smuzhiyun static const unsigned int msiof3_sync_pins[] = {
1548*4882a593Smuzhiyun 	/* MSIOF3_SYNC */
1549*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 21),
1550*4882a593Smuzhiyun };
1551*4882a593Smuzhiyun static const unsigned int msiof3_sync_mux[] = {
1552*4882a593Smuzhiyun 	MSIOF3_SYNC_MARK,
1553*4882a593Smuzhiyun };
1554*4882a593Smuzhiyun static const unsigned int msiof3_ss1_pins[] = {
1555*4882a593Smuzhiyun 	/* MSIOF3_SS1 */
1556*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 18),
1557*4882a593Smuzhiyun };
1558*4882a593Smuzhiyun static const unsigned int msiof3_ss1_mux[] = {
1559*4882a593Smuzhiyun 	MSIOF3_SS1_MARK,
1560*4882a593Smuzhiyun };
1561*4882a593Smuzhiyun static const unsigned int msiof3_ss2_pins[] = {
1562*4882a593Smuzhiyun 	/* MSIOF3_SS2 */
1563*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 19),
1564*4882a593Smuzhiyun };
1565*4882a593Smuzhiyun static const unsigned int msiof3_ss2_mux[] = {
1566*4882a593Smuzhiyun 	MSIOF3_SS2_MARK,
1567*4882a593Smuzhiyun };
1568*4882a593Smuzhiyun static const unsigned int msiof3_txd_pins[] = {
1569*4882a593Smuzhiyun 	/* MSIOF3_TXD */
1570*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 17),
1571*4882a593Smuzhiyun };
1572*4882a593Smuzhiyun static const unsigned int msiof3_txd_mux[] = {
1573*4882a593Smuzhiyun 	MSIOF3_TXD_MARK,
1574*4882a593Smuzhiyun };
1575*4882a593Smuzhiyun static const unsigned int msiof3_rxd_pins[] = {
1576*4882a593Smuzhiyun 	/* MSIOF3_RXD */
1577*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 16),
1578*4882a593Smuzhiyun };
1579*4882a593Smuzhiyun static const unsigned int msiof3_rxd_mux[] = {
1580*4882a593Smuzhiyun 	MSIOF3_RXD_MARK,
1581*4882a593Smuzhiyun };
1582*4882a593Smuzhiyun 
1583*4882a593Smuzhiyun /* - PWM0 ------------------------------------------------------------------- */
1584*4882a593Smuzhiyun static const unsigned int pwm0_a_pins[] = {
1585*4882a593Smuzhiyun 	/* PWM0 */
1586*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 15),
1587*4882a593Smuzhiyun };
1588*4882a593Smuzhiyun static const unsigned int pwm0_a_mux[] = {
1589*4882a593Smuzhiyun 	PWM0_A_MARK,
1590*4882a593Smuzhiyun };
1591*4882a593Smuzhiyun static const unsigned int pwm0_b_pins[] = {
1592*4882a593Smuzhiyun 	/* PWM0 */
1593*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 21),
1594*4882a593Smuzhiyun };
1595*4882a593Smuzhiyun static const unsigned int pwm0_b_mux[] = {
1596*4882a593Smuzhiyun 	PWM0_B_MARK,
1597*4882a593Smuzhiyun };
1598*4882a593Smuzhiyun 
1599*4882a593Smuzhiyun /* - PWM1 ------------------------------------------------------------------- */
1600*4882a593Smuzhiyun static const unsigned int pwm1_a_pins[] = {
1601*4882a593Smuzhiyun 	/* PWM1 */
1602*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 13),
1603*4882a593Smuzhiyun };
1604*4882a593Smuzhiyun static const unsigned int pwm1_a_mux[] = {
1605*4882a593Smuzhiyun 	PWM1_A_MARK,
1606*4882a593Smuzhiyun };
1607*4882a593Smuzhiyun static const unsigned int pwm1_b_pins[] = {
1608*4882a593Smuzhiyun 	/* PWM1 */
1609*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 22),
1610*4882a593Smuzhiyun };
1611*4882a593Smuzhiyun static const unsigned int pwm1_b_mux[] = {
1612*4882a593Smuzhiyun 	PWM1_B_MARK,
1613*4882a593Smuzhiyun };
1614*4882a593Smuzhiyun 
1615*4882a593Smuzhiyun /* - PWM2 ------------------------------------------------------------------- */
1616*4882a593Smuzhiyun static const unsigned int pwm2_a_pins[] = {
1617*4882a593Smuzhiyun 	/* PWM2 */
1618*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 14),
1619*4882a593Smuzhiyun };
1620*4882a593Smuzhiyun static const unsigned int pwm2_a_mux[] = {
1621*4882a593Smuzhiyun 	PWM2_A_MARK,
1622*4882a593Smuzhiyun };
1623*4882a593Smuzhiyun static const unsigned int pwm2_b_pins[] = {
1624*4882a593Smuzhiyun 	/* PWM2 */
1625*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 23),
1626*4882a593Smuzhiyun };
1627*4882a593Smuzhiyun static const unsigned int pwm2_b_mux[] = {
1628*4882a593Smuzhiyun 	PWM2_B_MARK,
1629*4882a593Smuzhiyun };
1630*4882a593Smuzhiyun 
1631*4882a593Smuzhiyun /* - PWM3 ------------------------------------------------------------------- */
1632*4882a593Smuzhiyun static const unsigned int pwm3_a_pins[] = {
1633*4882a593Smuzhiyun 	/* PWM3 */
1634*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 15),
1635*4882a593Smuzhiyun };
1636*4882a593Smuzhiyun static const unsigned int pwm3_a_mux[] = {
1637*4882a593Smuzhiyun 	PWM3_A_MARK,
1638*4882a593Smuzhiyun };
1639*4882a593Smuzhiyun static const unsigned int pwm3_b_pins[] = {
1640*4882a593Smuzhiyun 	/* PWM3 */
1641*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 24),
1642*4882a593Smuzhiyun };
1643*4882a593Smuzhiyun static const unsigned int pwm3_b_mux[] = {
1644*4882a593Smuzhiyun 	PWM3_B_MARK,
1645*4882a593Smuzhiyun };
1646*4882a593Smuzhiyun 
1647*4882a593Smuzhiyun /* - PWM4 ------------------------------------------------------------------- */
1648*4882a593Smuzhiyun static const unsigned int pwm4_a_pins[] = {
1649*4882a593Smuzhiyun 	/* PWM4 */
1650*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 16),
1651*4882a593Smuzhiyun };
1652*4882a593Smuzhiyun static const unsigned int pwm4_a_mux[] = {
1653*4882a593Smuzhiyun 	PWM4_A_MARK,
1654*4882a593Smuzhiyun };
1655*4882a593Smuzhiyun static const unsigned int pwm4_b_pins[] = {
1656*4882a593Smuzhiyun 	/* PWM4 */
1657*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 25),
1658*4882a593Smuzhiyun };
1659*4882a593Smuzhiyun static const unsigned int pwm4_b_mux[] = {
1660*4882a593Smuzhiyun 	PWM4_B_MARK,
1661*4882a593Smuzhiyun };
1662*4882a593Smuzhiyun 
1663*4882a593Smuzhiyun /* - QSPI0 ------------------------------------------------------------------ */
1664*4882a593Smuzhiyun static const unsigned int qspi0_ctrl_pins[] = {
1665*4882a593Smuzhiyun 	/* SPCLK, SSL */
1666*4882a593Smuzhiyun 	RCAR_GP_PIN(5, 0), RCAR_GP_PIN(5, 5),
1667*4882a593Smuzhiyun };
1668*4882a593Smuzhiyun static const unsigned int qspi0_ctrl_mux[] = {
1669*4882a593Smuzhiyun 	QSPI0_SPCLK_MARK, QSPI0_SSL_MARK,
1670*4882a593Smuzhiyun };
1671*4882a593Smuzhiyun static const unsigned int qspi0_data2_pins[] = {
1672*4882a593Smuzhiyun 	/* MOSI_IO0, MISO_IO1 */
1673*4882a593Smuzhiyun 	RCAR_GP_PIN(5, 1), RCAR_GP_PIN(5, 2),
1674*4882a593Smuzhiyun };
1675*4882a593Smuzhiyun static const unsigned int qspi0_data2_mux[] = {
1676*4882a593Smuzhiyun 	QSPI0_MOSI_IO0_MARK, QSPI0_MISO_IO1_MARK,
1677*4882a593Smuzhiyun };
1678*4882a593Smuzhiyun static const unsigned int qspi0_data4_pins[] = {
1679*4882a593Smuzhiyun 	/* MOSI_IO0, MISO_IO1, IO2, IO3 */
1680*4882a593Smuzhiyun 	RCAR_GP_PIN(5, 1), RCAR_GP_PIN(5, 2),
1681*4882a593Smuzhiyun 	RCAR_GP_PIN(5, 3), RCAR_GP_PIN(5, 4),
1682*4882a593Smuzhiyun };
1683*4882a593Smuzhiyun static const unsigned int qspi0_data4_mux[] = {
1684*4882a593Smuzhiyun 	QSPI0_MOSI_IO0_MARK, QSPI0_MISO_IO1_MARK,
1685*4882a593Smuzhiyun 	QSPI0_IO2_MARK, QSPI0_IO3_MARK
1686*4882a593Smuzhiyun };
1687*4882a593Smuzhiyun 
1688*4882a593Smuzhiyun /* - QSPI1 ------------------------------------------------------------------ */
1689*4882a593Smuzhiyun static const unsigned int qspi1_ctrl_pins[] = {
1690*4882a593Smuzhiyun 	/* SPCLK, SSL */
1691*4882a593Smuzhiyun 	RCAR_GP_PIN(5, 6), RCAR_GP_PIN(5, 11),
1692*4882a593Smuzhiyun };
1693*4882a593Smuzhiyun static const unsigned int qspi1_ctrl_mux[] = {
1694*4882a593Smuzhiyun 	QSPI1_SPCLK_MARK, QSPI1_SSL_MARK,
1695*4882a593Smuzhiyun };
1696*4882a593Smuzhiyun static const unsigned int qspi1_data2_pins[] = {
1697*4882a593Smuzhiyun 	/* MOSI_IO0, MISO_IO1 */
1698*4882a593Smuzhiyun 	RCAR_GP_PIN(5, 7), RCAR_GP_PIN(5, 8),
1699*4882a593Smuzhiyun };
1700*4882a593Smuzhiyun static const unsigned int qspi1_data2_mux[] = {
1701*4882a593Smuzhiyun 	QSPI1_MOSI_IO0_MARK, QSPI1_MISO_IO1_MARK,
1702*4882a593Smuzhiyun };
1703*4882a593Smuzhiyun static const unsigned int qspi1_data4_pins[] = {
1704*4882a593Smuzhiyun 	/* MOSI_IO0, MISO_IO1, IO2, IO3 */
1705*4882a593Smuzhiyun 	RCAR_GP_PIN(5, 7), RCAR_GP_PIN(5, 8),
1706*4882a593Smuzhiyun 	RCAR_GP_PIN(5, 9), RCAR_GP_PIN(5, 10),
1707*4882a593Smuzhiyun };
1708*4882a593Smuzhiyun static const unsigned int qspi1_data4_mux[] = {
1709*4882a593Smuzhiyun 	QSPI1_MOSI_IO0_MARK, QSPI1_MISO_IO1_MARK,
1710*4882a593Smuzhiyun 	QSPI1_IO2_MARK, QSPI1_IO3_MARK
1711*4882a593Smuzhiyun };
1712*4882a593Smuzhiyun 
1713*4882a593Smuzhiyun /* - RPC -------------------------------------------------------------------- */
1714*4882a593Smuzhiyun static const unsigned int rpc_clk1_pins[] = {
1715*4882a593Smuzhiyun 	/* Octal-SPI flash: C/SCLK */
1716*4882a593Smuzhiyun 	RCAR_GP_PIN(5, 0),
1717*4882a593Smuzhiyun };
1718*4882a593Smuzhiyun static const unsigned int rpc_clk1_mux[] = {
1719*4882a593Smuzhiyun 	QSPI0_SPCLK_MARK,
1720*4882a593Smuzhiyun };
1721*4882a593Smuzhiyun static const unsigned int rpc_clk2_pins[] = {
1722*4882a593Smuzhiyun 	/* HyperFlash: CK, CK# */
1723*4882a593Smuzhiyun 	RCAR_GP_PIN(5, 0), RCAR_GP_PIN(5, 6),
1724*4882a593Smuzhiyun };
1725*4882a593Smuzhiyun static const unsigned int rpc_clk2_mux[] = {
1726*4882a593Smuzhiyun 	QSPI0_SPCLK_MARK, QSPI1_SPCLK_MARK,
1727*4882a593Smuzhiyun };
1728*4882a593Smuzhiyun static const unsigned int rpc_ctrl_pins[] = {
1729*4882a593Smuzhiyun 	/* Octal-SPI flash: S#/CS, DQS */
1730*4882a593Smuzhiyun 	/* HyperFlash: CS#, RDS */
1731*4882a593Smuzhiyun 	RCAR_GP_PIN(5, 5), RCAR_GP_PIN(5, 11),
1732*4882a593Smuzhiyun };
1733*4882a593Smuzhiyun static const unsigned int rpc_ctrl_mux[] = {
1734*4882a593Smuzhiyun 	QSPI0_SSL_MARK, QSPI1_SSL_MARK,
1735*4882a593Smuzhiyun };
1736*4882a593Smuzhiyun static const unsigned int rpc_data_pins[] = {
1737*4882a593Smuzhiyun 	/* DQ[0:7] */
1738*4882a593Smuzhiyun 	RCAR_GP_PIN(5, 1), RCAR_GP_PIN(5, 2),
1739*4882a593Smuzhiyun 	RCAR_GP_PIN(5, 3), RCAR_GP_PIN(5, 4),
1740*4882a593Smuzhiyun 	RCAR_GP_PIN(5, 7), RCAR_GP_PIN(5, 8),
1741*4882a593Smuzhiyun 	RCAR_GP_PIN(5, 9), RCAR_GP_PIN(5, 10),
1742*4882a593Smuzhiyun };
1743*4882a593Smuzhiyun static const unsigned int rpc_data_mux[] = {
1744*4882a593Smuzhiyun 	QSPI0_MOSI_IO0_MARK, QSPI0_MISO_IO1_MARK,
1745*4882a593Smuzhiyun 	QSPI0_IO2_MARK, QSPI0_IO3_MARK,
1746*4882a593Smuzhiyun 	QSPI1_MOSI_IO0_MARK, QSPI1_MISO_IO1_MARK,
1747*4882a593Smuzhiyun 	QSPI1_IO2_MARK, QSPI1_IO3_MARK,
1748*4882a593Smuzhiyun };
1749*4882a593Smuzhiyun static const unsigned int rpc_reset_pins[] = {
1750*4882a593Smuzhiyun 	/* RPC_RESET# */
1751*4882a593Smuzhiyun 	RCAR_GP_PIN(5, 12),
1752*4882a593Smuzhiyun };
1753*4882a593Smuzhiyun static const unsigned int rpc_reset_mux[] = {
1754*4882a593Smuzhiyun 	RPC_RESET_N_MARK,
1755*4882a593Smuzhiyun };
1756*4882a593Smuzhiyun static const unsigned int rpc_int_pins[] = {
1757*4882a593Smuzhiyun 	/* RPC_INT# */
1758*4882a593Smuzhiyun 	RCAR_GP_PIN(5, 14),
1759*4882a593Smuzhiyun };
1760*4882a593Smuzhiyun static const unsigned int rpc_int_mux[] = {
1761*4882a593Smuzhiyun 	RPC_INT_N_MARK,
1762*4882a593Smuzhiyun };
1763*4882a593Smuzhiyun static const unsigned int rpc_wp_pins[] = {
1764*4882a593Smuzhiyun 	/* RPC_WP# */
1765*4882a593Smuzhiyun 	RCAR_GP_PIN(5, 13),
1766*4882a593Smuzhiyun };
1767*4882a593Smuzhiyun static const unsigned int rpc_wp_mux[] = {
1768*4882a593Smuzhiyun 	RPC_WP_N_MARK,
1769*4882a593Smuzhiyun };
1770*4882a593Smuzhiyun 
1771*4882a593Smuzhiyun /* - SCIF0 ------------------------------------------------------------------ */
1772*4882a593Smuzhiyun static const unsigned int scif0_data_pins[] = {
1773*4882a593Smuzhiyun 	/* RX0, TX0 */
1774*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5),
1775*4882a593Smuzhiyun };
1776*4882a593Smuzhiyun static const unsigned int scif0_data_mux[] = {
1777*4882a593Smuzhiyun 	RX0_MARK, TX0_MARK,
1778*4882a593Smuzhiyun };
1779*4882a593Smuzhiyun static const unsigned int scif0_clk_pins[] = {
1780*4882a593Smuzhiyun 	/* SCK0 */
1781*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 1),
1782*4882a593Smuzhiyun };
1783*4882a593Smuzhiyun static const unsigned int scif0_clk_mux[] = {
1784*4882a593Smuzhiyun 	SCK0_MARK,
1785*4882a593Smuzhiyun };
1786*4882a593Smuzhiyun static const unsigned int scif0_ctrl_pins[] = {
1787*4882a593Smuzhiyun 	/* RTS0#, CTS0# */
1788*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 3), RCAR_GP_PIN(4, 2),
1789*4882a593Smuzhiyun };
1790*4882a593Smuzhiyun static const unsigned int scif0_ctrl_mux[] = {
1791*4882a593Smuzhiyun 	RTS0_N_MARK, CTS0_N_MARK,
1792*4882a593Smuzhiyun };
1793*4882a593Smuzhiyun 
1794*4882a593Smuzhiyun /* - SCIF1 ------------------------------------------------------------------ */
1795*4882a593Smuzhiyun static const unsigned int scif1_data_a_pins[] = {
1796*4882a593Smuzhiyun 	/* RX1, TX1 */
1797*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 9),
1798*4882a593Smuzhiyun };
1799*4882a593Smuzhiyun static const unsigned int scif1_data_a_mux[] = {
1800*4882a593Smuzhiyun 	RX1_A_MARK, TX1_A_MARK,
1801*4882a593Smuzhiyun };
1802*4882a593Smuzhiyun static const unsigned int scif1_clk_pins[] = {
1803*4882a593Smuzhiyun 	/* SCK1 */
1804*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 5),
1805*4882a593Smuzhiyun };
1806*4882a593Smuzhiyun static const unsigned int scif1_clk_mux[] = {
1807*4882a593Smuzhiyun 	SCK1_MARK,
1808*4882a593Smuzhiyun };
1809*4882a593Smuzhiyun static const unsigned int scif1_ctrl_pins[] = {
1810*4882a593Smuzhiyun 	/* RTS1#, CTS1# */
1811*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 10),
1812*4882a593Smuzhiyun };
1813*4882a593Smuzhiyun static const unsigned int scif1_ctrl_mux[] = {
1814*4882a593Smuzhiyun 	RTS1_N_MARK, CTS1_N_MARK,
1815*4882a593Smuzhiyun };
1816*4882a593Smuzhiyun static const unsigned int scif1_data_b_pins[] = {
1817*4882a593Smuzhiyun 	/* RX1, TX1 */
1818*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 24), RCAR_GP_PIN(1, 23),
1819*4882a593Smuzhiyun };
1820*4882a593Smuzhiyun static const unsigned int scif1_data_b_mux[] = {
1821*4882a593Smuzhiyun 	RX1_B_MARK, TX1_B_MARK,
1822*4882a593Smuzhiyun };
1823*4882a593Smuzhiyun 
1824*4882a593Smuzhiyun /* - SCIF3 ------------------------------------------------------------------ */
1825*4882a593Smuzhiyun static const unsigned int scif3_data_pins[] = {
1826*4882a593Smuzhiyun 	/* RX3, TX3 */
1827*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 1), RCAR_GP_PIN(2, 2),
1828*4882a593Smuzhiyun };
1829*4882a593Smuzhiyun static const unsigned int scif3_data_mux[] = {
1830*4882a593Smuzhiyun 	RX3_MARK, TX3_MARK,
1831*4882a593Smuzhiyun };
1832*4882a593Smuzhiyun static const unsigned int scif3_clk_pins[] = {
1833*4882a593Smuzhiyun 	/* SCK3 */
1834*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 0),
1835*4882a593Smuzhiyun };
1836*4882a593Smuzhiyun static const unsigned int scif3_clk_mux[] = {
1837*4882a593Smuzhiyun 	SCK3_MARK,
1838*4882a593Smuzhiyun };
1839*4882a593Smuzhiyun static const unsigned int scif3_ctrl_pins[] = {
1840*4882a593Smuzhiyun 	/* RTS3#, CTS3# */
1841*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 4), RCAR_GP_PIN(2, 3),
1842*4882a593Smuzhiyun };
1843*4882a593Smuzhiyun static const unsigned int scif3_ctrl_mux[] = {
1844*4882a593Smuzhiyun 	RTS3_N_MARK, CTS3_N_MARK,
1845*4882a593Smuzhiyun };
1846*4882a593Smuzhiyun 
1847*4882a593Smuzhiyun /* - SCIF4 ------------------------------------------------------------------ */
1848*4882a593Smuzhiyun static const unsigned int scif4_data_pins[] = {
1849*4882a593Smuzhiyun 	/* RX4, TX4 */
1850*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 1), RCAR_GP_PIN(0, 2),
1851*4882a593Smuzhiyun };
1852*4882a593Smuzhiyun static const unsigned int scif4_data_mux[] = {
1853*4882a593Smuzhiyun 	RX4_MARK, TX4_MARK,
1854*4882a593Smuzhiyun };
1855*4882a593Smuzhiyun static const unsigned int scif4_clk_pins[] = {
1856*4882a593Smuzhiyun 	/* SCK4 */
1857*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 0),
1858*4882a593Smuzhiyun };
1859*4882a593Smuzhiyun static const unsigned int scif4_clk_mux[] = {
1860*4882a593Smuzhiyun 	SCK4_MARK,
1861*4882a593Smuzhiyun };
1862*4882a593Smuzhiyun static const unsigned int scif4_ctrl_pins[] = {
1863*4882a593Smuzhiyun 	/* RTS4#, CTS4# */
1864*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 4), RCAR_GP_PIN(0, 3),
1865*4882a593Smuzhiyun };
1866*4882a593Smuzhiyun static const unsigned int scif4_ctrl_mux[] = {
1867*4882a593Smuzhiyun 	RTS4_N_MARK, CTS4_N_MARK,
1868*4882a593Smuzhiyun };
1869*4882a593Smuzhiyun 
1870*4882a593Smuzhiyun /* - SCIF Clock ------------------------------------------------------------- */
1871*4882a593Smuzhiyun static const unsigned int scif_clk_a_pins[] = {
1872*4882a593Smuzhiyun 	/* SCIF_CLK */
1873*4882a593Smuzhiyun 	RCAR_GP_PIN(0, 10),
1874*4882a593Smuzhiyun };
1875*4882a593Smuzhiyun static const unsigned int scif_clk_a_mux[] = {
1876*4882a593Smuzhiyun 	SCIF_CLK_A_MARK,
1877*4882a593Smuzhiyun };
1878*4882a593Smuzhiyun static const unsigned int scif_clk_b_pins[] = {
1879*4882a593Smuzhiyun 	/* SCIF_CLK */
1880*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 25),
1881*4882a593Smuzhiyun };
1882*4882a593Smuzhiyun static const unsigned int scif_clk_b_mux[] = {
1883*4882a593Smuzhiyun 	SCIF_CLK_B_MARK,
1884*4882a593Smuzhiyun };
1885*4882a593Smuzhiyun 
1886*4882a593Smuzhiyun /* - TMU -------------------------------------------------------------------- */
1887*4882a593Smuzhiyun static const unsigned int tmu_tclk1_a_pins[] = {
1888*4882a593Smuzhiyun 	/* TCLK1 */
1889*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 13),
1890*4882a593Smuzhiyun };
1891*4882a593Smuzhiyun static const unsigned int tmu_tclk1_a_mux[] = {
1892*4882a593Smuzhiyun 	TCLK1_A_MARK,
1893*4882a593Smuzhiyun };
1894*4882a593Smuzhiyun static const unsigned int tmu_tclk1_b_pins[] = {
1895*4882a593Smuzhiyun 	/* TCLK1 */
1896*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 23),
1897*4882a593Smuzhiyun };
1898*4882a593Smuzhiyun static const unsigned int tmu_tclk1_b_mux[] = {
1899*4882a593Smuzhiyun 	TCLK1_B_MARK,
1900*4882a593Smuzhiyun };
1901*4882a593Smuzhiyun static const unsigned int tmu_tclk2_a_pins[] = {
1902*4882a593Smuzhiyun 	/* TCLK2 */
1903*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 14),
1904*4882a593Smuzhiyun };
1905*4882a593Smuzhiyun static const unsigned int tmu_tclk2_a_mux[] = {
1906*4882a593Smuzhiyun 	TCLK2_A_MARK,
1907*4882a593Smuzhiyun };
1908*4882a593Smuzhiyun static const unsigned int tmu_tclk2_b_pins[] = {
1909*4882a593Smuzhiyun 	/* TCLK2 */
1910*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 24),
1911*4882a593Smuzhiyun };
1912*4882a593Smuzhiyun static const unsigned int tmu_tclk2_b_mux[] = {
1913*4882a593Smuzhiyun 	TCLK2_B_MARK,
1914*4882a593Smuzhiyun };
1915*4882a593Smuzhiyun 
1916*4882a593Smuzhiyun /* - TPU ------------------------------------------------------------------- */
1917*4882a593Smuzhiyun static const unsigned int tpu_to0_pins[] = {
1918*4882a593Smuzhiyun 	/* TPU0TO0 */
1919*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 19),
1920*4882a593Smuzhiyun };
1921*4882a593Smuzhiyun static const unsigned int tpu_to0_mux[] = {
1922*4882a593Smuzhiyun 	TPU0TO0_MARK,
1923*4882a593Smuzhiyun };
1924*4882a593Smuzhiyun static const unsigned int tpu_to1_pins[] = {
1925*4882a593Smuzhiyun 	/* TPU0TO1 */
1926*4882a593Smuzhiyun 	RCAR_GP_PIN(1, 20),
1927*4882a593Smuzhiyun };
1928*4882a593Smuzhiyun static const unsigned int tpu_to1_mux[] = {
1929*4882a593Smuzhiyun 	TPU0TO1_MARK,
1930*4882a593Smuzhiyun };
1931*4882a593Smuzhiyun static const unsigned int tpu_to2_pins[] = {
1932*4882a593Smuzhiyun 	/* TPU0TO2 */
1933*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 2),
1934*4882a593Smuzhiyun };
1935*4882a593Smuzhiyun static const unsigned int tpu_to2_mux[] = {
1936*4882a593Smuzhiyun 	TPU0TO2_MARK,
1937*4882a593Smuzhiyun };
1938*4882a593Smuzhiyun static const unsigned int tpu_to3_pins[] = {
1939*4882a593Smuzhiyun 	/* TPU0TO3 */
1940*4882a593Smuzhiyun 	RCAR_GP_PIN(4, 3),
1941*4882a593Smuzhiyun };
1942*4882a593Smuzhiyun static const unsigned int tpu_to3_mux[] = {
1943*4882a593Smuzhiyun 	TPU0TO3_MARK,
1944*4882a593Smuzhiyun };
1945*4882a593Smuzhiyun 
1946*4882a593Smuzhiyun /* - VIN0 ------------------------------------------------------------------- */
1947*4882a593Smuzhiyun static const union vin_data vin0_data_pins = {
1948*4882a593Smuzhiyun 	.data24 = {
1949*4882a593Smuzhiyun 		RCAR_GP_PIN(2, 4), RCAR_GP_PIN(2, 5),
1950*4882a593Smuzhiyun 		RCAR_GP_PIN(2, 6), RCAR_GP_PIN(2, 7),
1951*4882a593Smuzhiyun 		RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 9),
1952*4882a593Smuzhiyun 		RCAR_GP_PIN(2, 10), RCAR_GP_PIN(2, 11),
1953*4882a593Smuzhiyun 		RCAR_GP_PIN(2, 12), RCAR_GP_PIN(2, 13),
1954*4882a593Smuzhiyun 		RCAR_GP_PIN(2, 14), RCAR_GP_PIN(2, 15),
1955*4882a593Smuzhiyun 		RCAR_GP_PIN(2, 17), RCAR_GP_PIN(2, 18),
1956*4882a593Smuzhiyun 		RCAR_GP_PIN(2, 19), RCAR_GP_PIN(2, 20),
1957*4882a593Smuzhiyun 		RCAR_GP_PIN(2, 21), RCAR_GP_PIN(2, 22),
1958*4882a593Smuzhiyun 		RCAR_GP_PIN(2, 23), RCAR_GP_PIN(2, 24),
1959*4882a593Smuzhiyun 		RCAR_GP_PIN(2, 25), RCAR_GP_PIN(2, 26),
1960*4882a593Smuzhiyun 		RCAR_GP_PIN(2, 27), RCAR_GP_PIN(2, 28),
1961*4882a593Smuzhiyun 	},
1962*4882a593Smuzhiyun };
1963*4882a593Smuzhiyun static const union vin_data vin0_data_mux = {
1964*4882a593Smuzhiyun 	.data24 = {
1965*4882a593Smuzhiyun 		VI0_DATA0_MARK, VI0_DATA1_MARK,
1966*4882a593Smuzhiyun 		VI0_DATA2_MARK, VI0_DATA3_MARK,
1967*4882a593Smuzhiyun 		VI0_DATA4_MARK, VI0_DATA5_MARK,
1968*4882a593Smuzhiyun 		VI0_DATA6_MARK, VI0_DATA7_MARK,
1969*4882a593Smuzhiyun 		VI0_DATA8_MARK, VI0_DATA9_MARK,
1970*4882a593Smuzhiyun 		VI0_DATA10_MARK, VI0_DATA11_MARK,
1971*4882a593Smuzhiyun 		VI0_DATA12_MARK, VI0_DATA13_MARK,
1972*4882a593Smuzhiyun 		VI0_DATA14_MARK, VI0_DATA15_MARK,
1973*4882a593Smuzhiyun 		VI0_DATA16_MARK, VI0_DATA17_MARK,
1974*4882a593Smuzhiyun 		VI0_DATA18_MARK, VI0_DATA19_MARK,
1975*4882a593Smuzhiyun 		VI0_DATA20_MARK, VI0_DATA21_MARK,
1976*4882a593Smuzhiyun 		VI0_DATA22_MARK, VI0_DATA23_MARK,
1977*4882a593Smuzhiyun 	},
1978*4882a593Smuzhiyun };
1979*4882a593Smuzhiyun static const unsigned int vin0_data18_pins[] = {
1980*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 6), RCAR_GP_PIN(2, 7),
1981*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 9),
1982*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 10), RCAR_GP_PIN(2, 11),
1983*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 14), RCAR_GP_PIN(2, 15),
1984*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 17), RCAR_GP_PIN(2, 18),
1985*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 19), RCAR_GP_PIN(2, 20),
1986*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 23), RCAR_GP_PIN(2, 24),
1987*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 25), RCAR_GP_PIN(2, 26),
1988*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 27), RCAR_GP_PIN(2, 28),
1989*4882a593Smuzhiyun };
1990*4882a593Smuzhiyun static const unsigned int vin0_data18_mux[] = {
1991*4882a593Smuzhiyun 	VI0_DATA2_MARK, VI0_DATA3_MARK,
1992*4882a593Smuzhiyun 	VI0_DATA4_MARK, VI0_DATA5_MARK,
1993*4882a593Smuzhiyun 	VI0_DATA6_MARK, VI0_DATA7_MARK,
1994*4882a593Smuzhiyun 	VI0_DATA10_MARK, VI0_DATA11_MARK,
1995*4882a593Smuzhiyun 	VI0_DATA12_MARK, VI0_DATA13_MARK,
1996*4882a593Smuzhiyun 	VI0_DATA14_MARK, VI0_DATA15_MARK,
1997*4882a593Smuzhiyun 	VI0_DATA18_MARK, VI0_DATA19_MARK,
1998*4882a593Smuzhiyun 	VI0_DATA20_MARK, VI0_DATA21_MARK,
1999*4882a593Smuzhiyun 	VI0_DATA22_MARK, VI0_DATA23_MARK,
2000*4882a593Smuzhiyun };
2001*4882a593Smuzhiyun static const unsigned int vin0_sync_pins[] = {
2002*4882a593Smuzhiyun 	/* VI0_VSYNC#, VI0_HSYNC# */
2003*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 3), RCAR_GP_PIN(2, 2),
2004*4882a593Smuzhiyun };
2005*4882a593Smuzhiyun static const unsigned int vin0_sync_mux[] = {
2006*4882a593Smuzhiyun 	VI0_VSYNC_N_MARK, VI0_HSYNC_N_MARK,
2007*4882a593Smuzhiyun };
2008*4882a593Smuzhiyun static const unsigned int vin0_field_pins[] = {
2009*4882a593Smuzhiyun 	/* VI0_FIELD */
2010*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 16),
2011*4882a593Smuzhiyun };
2012*4882a593Smuzhiyun static const unsigned int vin0_field_mux[] = {
2013*4882a593Smuzhiyun 	VI0_FIELD_MARK,
2014*4882a593Smuzhiyun };
2015*4882a593Smuzhiyun static const unsigned int vin0_clkenb_pins[] = {
2016*4882a593Smuzhiyun 	/* VI0_CLKENB */
2017*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 1),
2018*4882a593Smuzhiyun };
2019*4882a593Smuzhiyun static const unsigned int vin0_clkenb_mux[] = {
2020*4882a593Smuzhiyun 	VI0_CLKENB_MARK,
2021*4882a593Smuzhiyun };
2022*4882a593Smuzhiyun static const unsigned int vin0_clk_pins[] = {
2023*4882a593Smuzhiyun 	/* VI0_CLK */
2024*4882a593Smuzhiyun 	RCAR_GP_PIN(2, 0),
2025*4882a593Smuzhiyun };
2026*4882a593Smuzhiyun static const unsigned int vin0_clk_mux[] = {
2027*4882a593Smuzhiyun 	VI0_CLK_MARK,
2028*4882a593Smuzhiyun };
2029*4882a593Smuzhiyun 
2030*4882a593Smuzhiyun /* - VIN1 ------------------------------------------------------------------- */
2031*4882a593Smuzhiyun static const union vin_data12 vin1_data_pins = {
2032*4882a593Smuzhiyun 	.data12 = {
2033*4882a593Smuzhiyun 		RCAR_GP_PIN(3, 4), RCAR_GP_PIN(3, 5),
2034*4882a593Smuzhiyun 		RCAR_GP_PIN(3, 6), RCAR_GP_PIN(3, 7),
2035*4882a593Smuzhiyun 		RCAR_GP_PIN(3, 8), RCAR_GP_PIN(3, 9),
2036*4882a593Smuzhiyun 		RCAR_GP_PIN(3, 10), RCAR_GP_PIN(3, 11),
2037*4882a593Smuzhiyun 		RCAR_GP_PIN(3, 12), RCAR_GP_PIN(3, 13),
2038*4882a593Smuzhiyun 		RCAR_GP_PIN(3, 14), RCAR_GP_PIN(3, 15),
2039*4882a593Smuzhiyun 	},
2040*4882a593Smuzhiyun };
2041*4882a593Smuzhiyun static const union vin_data12 vin1_data_mux = {
2042*4882a593Smuzhiyun 	.data12 = {
2043*4882a593Smuzhiyun 		VI1_DATA0_MARK, VI1_DATA1_MARK,
2044*4882a593Smuzhiyun 		VI1_DATA2_MARK, VI1_DATA3_MARK,
2045*4882a593Smuzhiyun 		VI1_DATA4_MARK, VI1_DATA5_MARK,
2046*4882a593Smuzhiyun 		VI1_DATA6_MARK, VI1_DATA7_MARK,
2047*4882a593Smuzhiyun 		VI1_DATA8_MARK,  VI1_DATA9_MARK,
2048*4882a593Smuzhiyun 		VI1_DATA10_MARK, VI1_DATA11_MARK,
2049*4882a593Smuzhiyun 	},
2050*4882a593Smuzhiyun };
2051*4882a593Smuzhiyun static const unsigned int vin1_sync_pins[] = {
2052*4882a593Smuzhiyun 	/* VI1_VSYNC#, VI1_HSYNC# */
2053*4882a593Smuzhiyun 	 RCAR_GP_PIN(3, 3), RCAR_GP_PIN(3, 2),
2054*4882a593Smuzhiyun };
2055*4882a593Smuzhiyun static const unsigned int vin1_sync_mux[] = {
2056*4882a593Smuzhiyun 	VI1_VSYNC_N_MARK, VI1_HSYNC_N_MARK,
2057*4882a593Smuzhiyun };
2058*4882a593Smuzhiyun static const unsigned int vin1_field_pins[] = {
2059*4882a593Smuzhiyun 	/* VI1_FIELD */
2060*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 16),
2061*4882a593Smuzhiyun };
2062*4882a593Smuzhiyun static const unsigned int vin1_field_mux[] = {
2063*4882a593Smuzhiyun 	VI1_FIELD_MARK,
2064*4882a593Smuzhiyun };
2065*4882a593Smuzhiyun static const unsigned int vin1_clkenb_pins[] = {
2066*4882a593Smuzhiyun 	/* VI1_CLKENB */
2067*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 1),
2068*4882a593Smuzhiyun };
2069*4882a593Smuzhiyun static const unsigned int vin1_clkenb_mux[] = {
2070*4882a593Smuzhiyun 	VI1_CLKENB_MARK,
2071*4882a593Smuzhiyun };
2072*4882a593Smuzhiyun static const unsigned int vin1_clk_pins[] = {
2073*4882a593Smuzhiyun 	/* VI1_CLK */
2074*4882a593Smuzhiyun 	RCAR_GP_PIN(3, 0),
2075*4882a593Smuzhiyun };
2076*4882a593Smuzhiyun static const unsigned int vin1_clk_mux[] = {
2077*4882a593Smuzhiyun 	VI1_CLK_MARK,
2078*4882a593Smuzhiyun };
2079*4882a593Smuzhiyun 
2080*4882a593Smuzhiyun static const struct sh_pfc_pin_group pinmux_groups[] = {
2081*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(avb_link),
2082*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(avb_magic),
2083*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(avb_phy_int),
2084*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(avb_mdio),
2085*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(avb_rgmii),
2086*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(avb_txcrefclk),
2087*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(avb_avtp_pps),
2088*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(avb_avtp_capture),
2089*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(avb_avtp_match),
2090*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(canfd0_data_a),
2091*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(canfd0_data_b),
2092*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(canfd1_data),
2093*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(canfd_clk_a),
2094*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(canfd_clk_b),
2095*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(du_rgb666),
2096*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(du_rgb888),
2097*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(du_clk_out),
2098*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(du_sync),
2099*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(du_oddf),
2100*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(du_cde),
2101*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(du_disp),
2102*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(gether_link_a),
2103*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(gether_phy_int_a),
2104*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(gether_mdio_a),
2105*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(gether_link_b),
2106*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(gether_phy_int_b),
2107*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(gether_mdio_b),
2108*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(gether_magic),
2109*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(gether_rgmii),
2110*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(gether_txcrefclk),
2111*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(gether_txcrefclk_mega),
2112*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(gether_rmii),
2113*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(hscif0_data_a),
2114*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(hscif0_clk_a),
2115*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(hscif0_ctrl_a),
2116*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(hscif0_data_b),
2117*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(hscif0_clk_b),
2118*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(hscif0_ctrl_b),
2119*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(hscif1_data),
2120*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(hscif1_clk),
2121*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(hscif1_ctrl),
2122*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(hscif2_data),
2123*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(hscif2_clk),
2124*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(hscif2_ctrl),
2125*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(hscif3_data),
2126*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(hscif3_clk),
2127*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(hscif3_ctrl),
2128*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(i2c0),
2129*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(i2c1),
2130*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(i2c2),
2131*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(i2c3),
2132*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(i2c4),
2133*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(i2c5),
2134*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(intc_ex_irq0),
2135*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(intc_ex_irq1),
2136*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(intc_ex_irq2),
2137*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(intc_ex_irq3),
2138*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(intc_ex_irq4),
2139*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(intc_ex_irq5),
2140*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(mmc_data1),
2141*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(mmc_data4),
2142*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(mmc_data8),
2143*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(mmc_ctrl),
2144*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(mmc_cd),
2145*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(mmc_wp),
2146*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(mmc_ds),
2147*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof0_clk),
2148*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof0_sync),
2149*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof0_ss1),
2150*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof0_ss2),
2151*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof0_txd),
2152*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof0_rxd),
2153*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof1_clk),
2154*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof1_sync),
2155*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof1_ss1),
2156*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof1_ss2),
2157*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof1_txd),
2158*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof1_rxd),
2159*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof2_clk),
2160*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof2_sync),
2161*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof2_ss1),
2162*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof2_ss2),
2163*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof2_txd),
2164*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof2_rxd),
2165*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof3_clk),
2166*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof3_sync),
2167*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof3_ss1),
2168*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof3_ss2),
2169*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof3_txd),
2170*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(msiof3_rxd),
2171*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(pwm0_a),
2172*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(pwm0_b),
2173*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(pwm1_a),
2174*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(pwm1_b),
2175*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(pwm2_a),
2176*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(pwm2_b),
2177*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(pwm3_a),
2178*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(pwm3_b),
2179*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(pwm4_a),
2180*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(pwm4_b),
2181*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(qspi0_ctrl),
2182*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(qspi0_data2),
2183*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(qspi0_data4),
2184*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(qspi1_ctrl),
2185*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(qspi1_data2),
2186*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(qspi1_data4),
2187*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(rpc_clk1),
2188*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(rpc_clk2),
2189*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(rpc_ctrl),
2190*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(rpc_data),
2191*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(rpc_reset),
2192*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(rpc_int),
2193*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(rpc_wp),
2194*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(scif0_data),
2195*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(scif0_clk),
2196*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(scif0_ctrl),
2197*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(scif1_data_a),
2198*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(scif1_clk),
2199*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(scif1_ctrl),
2200*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(scif1_data_b),
2201*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(scif3_data),
2202*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(scif3_clk),
2203*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(scif3_ctrl),
2204*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(scif4_data),
2205*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(scif4_clk),
2206*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(scif4_ctrl),
2207*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(scif_clk_a),
2208*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(scif_clk_b),
2209*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(tmu_tclk1_a),
2210*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(tmu_tclk1_b),
2211*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(tmu_tclk2_a),
2212*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(tmu_tclk2_b),
2213*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(tpu_to0),
2214*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(tpu_to1),
2215*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(tpu_to2),
2216*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(tpu_to3),
2217*4882a593Smuzhiyun 	VIN_DATA_PIN_GROUP(vin0_data, 8),
2218*4882a593Smuzhiyun 	VIN_DATA_PIN_GROUP(vin0_data, 10),
2219*4882a593Smuzhiyun 	VIN_DATA_PIN_GROUP(vin0_data, 12),
2220*4882a593Smuzhiyun 	VIN_DATA_PIN_GROUP(vin0_data, 16),
2221*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(vin0_data18),
2222*4882a593Smuzhiyun 	VIN_DATA_PIN_GROUP(vin0_data, 20),
2223*4882a593Smuzhiyun 	VIN_DATA_PIN_GROUP(vin0_data, 24),
2224*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(vin0_sync),
2225*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(vin0_field),
2226*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(vin0_clkenb),
2227*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(vin0_clk),
2228*4882a593Smuzhiyun 	VIN_DATA_PIN_GROUP(vin1_data, 8),
2229*4882a593Smuzhiyun 	VIN_DATA_PIN_GROUP(vin1_data, 10),
2230*4882a593Smuzhiyun 	VIN_DATA_PIN_GROUP(vin1_data, 12),
2231*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(vin1_sync),
2232*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(vin1_field),
2233*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(vin1_clkenb),
2234*4882a593Smuzhiyun 	SH_PFC_PIN_GROUP(vin1_clk),
2235*4882a593Smuzhiyun };
2236*4882a593Smuzhiyun 
2237*4882a593Smuzhiyun static const char * const avb_groups[] = {
2238*4882a593Smuzhiyun 	"avb_link",
2239*4882a593Smuzhiyun 	"avb_magic",
2240*4882a593Smuzhiyun 	"avb_phy_int",
2241*4882a593Smuzhiyun 	"avb_mdio",
2242*4882a593Smuzhiyun 	"avb_rgmii",
2243*4882a593Smuzhiyun 	"avb_txcrefclk",
2244*4882a593Smuzhiyun 	"avb_avtp_pps",
2245*4882a593Smuzhiyun 	"avb_avtp_capture",
2246*4882a593Smuzhiyun 	"avb_avtp_match",
2247*4882a593Smuzhiyun };
2248*4882a593Smuzhiyun 
2249*4882a593Smuzhiyun static const char * const canfd0_groups[] = {
2250*4882a593Smuzhiyun 	"canfd0_data_a",
2251*4882a593Smuzhiyun 	"canfd0_data_b",
2252*4882a593Smuzhiyun };
2253*4882a593Smuzhiyun 
2254*4882a593Smuzhiyun static const char * const canfd1_groups[] = {
2255*4882a593Smuzhiyun 	"canfd1_data",
2256*4882a593Smuzhiyun };
2257*4882a593Smuzhiyun 
2258*4882a593Smuzhiyun static const char * const canfd_clk_groups[] = {
2259*4882a593Smuzhiyun 	"canfd_clk_a",
2260*4882a593Smuzhiyun 	"canfd_clk_b",
2261*4882a593Smuzhiyun };
2262*4882a593Smuzhiyun 
2263*4882a593Smuzhiyun static const char * const du_groups[] = {
2264*4882a593Smuzhiyun 	"du_rgb666",
2265*4882a593Smuzhiyun 	"du_rgb888",
2266*4882a593Smuzhiyun 	"du_clk_out",
2267*4882a593Smuzhiyun 	"du_sync",
2268*4882a593Smuzhiyun 	"du_oddf",
2269*4882a593Smuzhiyun 	"du_cde",
2270*4882a593Smuzhiyun 	"du_disp",
2271*4882a593Smuzhiyun };
2272*4882a593Smuzhiyun 
2273*4882a593Smuzhiyun static const char * const gether_groups[] = {
2274*4882a593Smuzhiyun 	"gether_link_a",
2275*4882a593Smuzhiyun 	"gether_phy_int_a",
2276*4882a593Smuzhiyun 	"gether_mdio_a",
2277*4882a593Smuzhiyun 	"gether_link_b",
2278*4882a593Smuzhiyun 	"gether_phy_int_b",
2279*4882a593Smuzhiyun 	"gether_mdio_b",
2280*4882a593Smuzhiyun 	"gether_magic",
2281*4882a593Smuzhiyun 	"gether_rgmii",
2282*4882a593Smuzhiyun 	"gether_txcrefclk",
2283*4882a593Smuzhiyun 	"gether_txcrefclk_mega",
2284*4882a593Smuzhiyun 	"gether_rmii",
2285*4882a593Smuzhiyun };
2286*4882a593Smuzhiyun 
2287*4882a593Smuzhiyun static const char * const hscif0_groups[] = {
2288*4882a593Smuzhiyun 	"hscif0_data_a",
2289*4882a593Smuzhiyun 	"hscif0_clk_a",
2290*4882a593Smuzhiyun 	"hscif0_ctrl_a",
2291*4882a593Smuzhiyun 	"hscif0_data_b",
2292*4882a593Smuzhiyun 	"hscif0_clk_b",
2293*4882a593Smuzhiyun 	"hscif0_ctrl_b",
2294*4882a593Smuzhiyun };
2295*4882a593Smuzhiyun 
2296*4882a593Smuzhiyun static const char * const hscif1_groups[] = {
2297*4882a593Smuzhiyun 	"hscif1_data",
2298*4882a593Smuzhiyun 	"hscif1_clk",
2299*4882a593Smuzhiyun 	"hscif1_ctrl",
2300*4882a593Smuzhiyun };
2301*4882a593Smuzhiyun 
2302*4882a593Smuzhiyun static const char * const hscif2_groups[] = {
2303*4882a593Smuzhiyun 	"hscif2_data",
2304*4882a593Smuzhiyun 	"hscif2_clk",
2305*4882a593Smuzhiyun 	"hscif2_ctrl",
2306*4882a593Smuzhiyun };
2307*4882a593Smuzhiyun 
2308*4882a593Smuzhiyun static const char * const hscif3_groups[] = {
2309*4882a593Smuzhiyun 	"hscif3_data",
2310*4882a593Smuzhiyun 	"hscif3_clk",
2311*4882a593Smuzhiyun 	"hscif3_ctrl",
2312*4882a593Smuzhiyun };
2313*4882a593Smuzhiyun 
2314*4882a593Smuzhiyun static const char * const i2c0_groups[] = {
2315*4882a593Smuzhiyun 	"i2c0",
2316*4882a593Smuzhiyun };
2317*4882a593Smuzhiyun 
2318*4882a593Smuzhiyun static const char * const i2c1_groups[] = {
2319*4882a593Smuzhiyun 	"i2c1",
2320*4882a593Smuzhiyun };
2321*4882a593Smuzhiyun 
2322*4882a593Smuzhiyun static const char * const i2c2_groups[] = {
2323*4882a593Smuzhiyun 	"i2c2",
2324*4882a593Smuzhiyun };
2325*4882a593Smuzhiyun 
2326*4882a593Smuzhiyun static const char * const i2c3_groups[] = {
2327*4882a593Smuzhiyun 	"i2c3",
2328*4882a593Smuzhiyun };
2329*4882a593Smuzhiyun 
2330*4882a593Smuzhiyun static const char * const i2c4_groups[] = {
2331*4882a593Smuzhiyun 	"i2c4",
2332*4882a593Smuzhiyun };
2333*4882a593Smuzhiyun 
2334*4882a593Smuzhiyun static const char * const i2c5_groups[] = {
2335*4882a593Smuzhiyun 	"i2c5",
2336*4882a593Smuzhiyun };
2337*4882a593Smuzhiyun 
2338*4882a593Smuzhiyun static const char * const intc_ex_groups[] = {
2339*4882a593Smuzhiyun 	"intc_ex_irq0",
2340*4882a593Smuzhiyun 	"intc_ex_irq1",
2341*4882a593Smuzhiyun 	"intc_ex_irq2",
2342*4882a593Smuzhiyun 	"intc_ex_irq3",
2343*4882a593Smuzhiyun 	"intc_ex_irq4",
2344*4882a593Smuzhiyun 	"intc_ex_irq5",
2345*4882a593Smuzhiyun };
2346*4882a593Smuzhiyun 
2347*4882a593Smuzhiyun static const char * const mmc_groups[] = {
2348*4882a593Smuzhiyun 	"mmc_data1",
2349*4882a593Smuzhiyun 	"mmc_data4",
2350*4882a593Smuzhiyun 	"mmc_data8",
2351*4882a593Smuzhiyun 	"mmc_ctrl",
2352*4882a593Smuzhiyun 	"mmc_cd",
2353*4882a593Smuzhiyun 	"mmc_wp",
2354*4882a593Smuzhiyun 	"mmc_ds",
2355*4882a593Smuzhiyun };
2356*4882a593Smuzhiyun 
2357*4882a593Smuzhiyun static const char * const msiof0_groups[] = {
2358*4882a593Smuzhiyun 	"msiof0_clk",
2359*4882a593Smuzhiyun 	"msiof0_sync",
2360*4882a593Smuzhiyun 	"msiof0_ss1",
2361*4882a593Smuzhiyun 	"msiof0_ss2",
2362*4882a593Smuzhiyun 	"msiof0_txd",
2363*4882a593Smuzhiyun 	"msiof0_rxd",
2364*4882a593Smuzhiyun };
2365*4882a593Smuzhiyun 
2366*4882a593Smuzhiyun static const char * const msiof1_groups[] = {
2367*4882a593Smuzhiyun 	"msiof1_clk",
2368*4882a593Smuzhiyun 	"msiof1_sync",
2369*4882a593Smuzhiyun 	"msiof1_ss1",
2370*4882a593Smuzhiyun 	"msiof1_ss2",
2371*4882a593Smuzhiyun 	"msiof1_txd",
2372*4882a593Smuzhiyun 	"msiof1_rxd",
2373*4882a593Smuzhiyun };
2374*4882a593Smuzhiyun 
2375*4882a593Smuzhiyun static const char * const msiof2_groups[] = {
2376*4882a593Smuzhiyun 	"msiof2_clk",
2377*4882a593Smuzhiyun 	"msiof2_sync",
2378*4882a593Smuzhiyun 	"msiof2_ss1",
2379*4882a593Smuzhiyun 	"msiof2_ss2",
2380*4882a593Smuzhiyun 	"msiof2_txd",
2381*4882a593Smuzhiyun 	"msiof2_rxd",
2382*4882a593Smuzhiyun };
2383*4882a593Smuzhiyun 
2384*4882a593Smuzhiyun static const char * const msiof3_groups[] = {
2385*4882a593Smuzhiyun 	"msiof3_clk",
2386*4882a593Smuzhiyun 	"msiof3_sync",
2387*4882a593Smuzhiyun 	"msiof3_ss1",
2388*4882a593Smuzhiyun 	"msiof3_ss2",
2389*4882a593Smuzhiyun 	"msiof3_txd",
2390*4882a593Smuzhiyun 	"msiof3_rxd",
2391*4882a593Smuzhiyun };
2392*4882a593Smuzhiyun 
2393*4882a593Smuzhiyun static const char * const pwm0_groups[] = {
2394*4882a593Smuzhiyun 	"pwm0_a",
2395*4882a593Smuzhiyun 	"pwm0_b",
2396*4882a593Smuzhiyun };
2397*4882a593Smuzhiyun 
2398*4882a593Smuzhiyun static const char * const pwm1_groups[] = {
2399*4882a593Smuzhiyun 	"pwm1_a",
2400*4882a593Smuzhiyun 	"pwm1_b",
2401*4882a593Smuzhiyun };
2402*4882a593Smuzhiyun 
2403*4882a593Smuzhiyun static const char * const pwm2_groups[] = {
2404*4882a593Smuzhiyun 	"pwm2_a",
2405*4882a593Smuzhiyun 	"pwm2_b",
2406*4882a593Smuzhiyun };
2407*4882a593Smuzhiyun 
2408*4882a593Smuzhiyun static const char * const pwm3_groups[] = {
2409*4882a593Smuzhiyun 	"pwm3_a",
2410*4882a593Smuzhiyun 	"pwm3_b",
2411*4882a593Smuzhiyun };
2412*4882a593Smuzhiyun 
2413*4882a593Smuzhiyun static const char * const pwm4_groups[] = {
2414*4882a593Smuzhiyun 	"pwm4_a",
2415*4882a593Smuzhiyun 	"pwm4_b",
2416*4882a593Smuzhiyun };
2417*4882a593Smuzhiyun 
2418*4882a593Smuzhiyun static const char * const qspi0_groups[] = {
2419*4882a593Smuzhiyun 	"qspi0_ctrl",
2420*4882a593Smuzhiyun 	"qspi0_data2",
2421*4882a593Smuzhiyun 	"qspi0_data4",
2422*4882a593Smuzhiyun };
2423*4882a593Smuzhiyun 
2424*4882a593Smuzhiyun static const char * const qspi1_groups[] = {
2425*4882a593Smuzhiyun 	"qspi1_ctrl",
2426*4882a593Smuzhiyun 	"qspi1_data2",
2427*4882a593Smuzhiyun 	"qspi1_data4",
2428*4882a593Smuzhiyun };
2429*4882a593Smuzhiyun 
2430*4882a593Smuzhiyun static const char * const rpc_groups[] = {
2431*4882a593Smuzhiyun 	"rpc_clk1",
2432*4882a593Smuzhiyun 	"rpc_clk2",
2433*4882a593Smuzhiyun 	"rpc_ctrl",
2434*4882a593Smuzhiyun 	"rpc_data",
2435*4882a593Smuzhiyun 	"rpc_reset",
2436*4882a593Smuzhiyun 	"rpc_int",
2437*4882a593Smuzhiyun 	"rpc_wp",
2438*4882a593Smuzhiyun };
2439*4882a593Smuzhiyun 
2440*4882a593Smuzhiyun static const char * const scif0_groups[] = {
2441*4882a593Smuzhiyun 	"scif0_data",
2442*4882a593Smuzhiyun 	"scif0_clk",
2443*4882a593Smuzhiyun 	"scif0_ctrl",
2444*4882a593Smuzhiyun };
2445*4882a593Smuzhiyun 
2446*4882a593Smuzhiyun static const char * const scif1_groups[] = {
2447*4882a593Smuzhiyun 	"scif1_data_a",
2448*4882a593Smuzhiyun 	"scif1_clk",
2449*4882a593Smuzhiyun 	"scif1_ctrl",
2450*4882a593Smuzhiyun 	"scif1_data_b",
2451*4882a593Smuzhiyun };
2452*4882a593Smuzhiyun 
2453*4882a593Smuzhiyun static const char * const scif3_groups[] = {
2454*4882a593Smuzhiyun 	"scif3_data",
2455*4882a593Smuzhiyun 	"scif3_clk",
2456*4882a593Smuzhiyun 	"scif3_ctrl",
2457*4882a593Smuzhiyun };
2458*4882a593Smuzhiyun 
2459*4882a593Smuzhiyun static const char * const scif4_groups[] = {
2460*4882a593Smuzhiyun 	"scif4_data",
2461*4882a593Smuzhiyun 	"scif4_clk",
2462*4882a593Smuzhiyun 	"scif4_ctrl",
2463*4882a593Smuzhiyun };
2464*4882a593Smuzhiyun 
2465*4882a593Smuzhiyun static const char * const scif_clk_groups[] = {
2466*4882a593Smuzhiyun 	"scif_clk_a",
2467*4882a593Smuzhiyun 	"scif_clk_b",
2468*4882a593Smuzhiyun };
2469*4882a593Smuzhiyun 
2470*4882a593Smuzhiyun static const char * const tmu_groups[] = {
2471*4882a593Smuzhiyun 	"tmu_tclk1_a",
2472*4882a593Smuzhiyun 	"tmu_tclk1_b",
2473*4882a593Smuzhiyun 	"tmu_tclk2_a",
2474*4882a593Smuzhiyun 	"tmu_tclk2_b",
2475*4882a593Smuzhiyun };
2476*4882a593Smuzhiyun 
2477*4882a593Smuzhiyun static const char * const tpu_groups[] = {
2478*4882a593Smuzhiyun 	"tpu_to0",
2479*4882a593Smuzhiyun 	"tpu_to1",
2480*4882a593Smuzhiyun 	"tpu_to2",
2481*4882a593Smuzhiyun 	"tpu_to3",
2482*4882a593Smuzhiyun };
2483*4882a593Smuzhiyun 
2484*4882a593Smuzhiyun static const char * const vin0_groups[] = {
2485*4882a593Smuzhiyun 	"vin0_data8",
2486*4882a593Smuzhiyun 	"vin0_data10",
2487*4882a593Smuzhiyun 	"vin0_data12",
2488*4882a593Smuzhiyun 	"vin0_data16",
2489*4882a593Smuzhiyun 	"vin0_data18",
2490*4882a593Smuzhiyun 	"vin0_data20",
2491*4882a593Smuzhiyun 	"vin0_data24",
2492*4882a593Smuzhiyun 	"vin0_sync",
2493*4882a593Smuzhiyun 	"vin0_field",
2494*4882a593Smuzhiyun 	"vin0_clkenb",
2495*4882a593Smuzhiyun 	"vin0_clk",
2496*4882a593Smuzhiyun };
2497*4882a593Smuzhiyun 
2498*4882a593Smuzhiyun static const char * const vin1_groups[] = {
2499*4882a593Smuzhiyun 	"vin1_data8",
2500*4882a593Smuzhiyun 	"vin1_data10",
2501*4882a593Smuzhiyun 	"vin1_data12",
2502*4882a593Smuzhiyun 	"vin1_sync",
2503*4882a593Smuzhiyun 	"vin1_field",
2504*4882a593Smuzhiyun 	"vin1_clkenb",
2505*4882a593Smuzhiyun 	"vin1_clk",
2506*4882a593Smuzhiyun };
2507*4882a593Smuzhiyun 
2508*4882a593Smuzhiyun static const struct sh_pfc_function pinmux_functions[] = {
2509*4882a593Smuzhiyun 	SH_PFC_FUNCTION(avb),
2510*4882a593Smuzhiyun 	SH_PFC_FUNCTION(canfd0),
2511*4882a593Smuzhiyun 	SH_PFC_FUNCTION(canfd1),
2512*4882a593Smuzhiyun 	SH_PFC_FUNCTION(canfd_clk),
2513*4882a593Smuzhiyun 	SH_PFC_FUNCTION(du),
2514*4882a593Smuzhiyun 	SH_PFC_FUNCTION(gether),
2515*4882a593Smuzhiyun 	SH_PFC_FUNCTION(hscif0),
2516*4882a593Smuzhiyun 	SH_PFC_FUNCTION(hscif1),
2517*4882a593Smuzhiyun 	SH_PFC_FUNCTION(hscif2),
2518*4882a593Smuzhiyun 	SH_PFC_FUNCTION(hscif3),
2519*4882a593Smuzhiyun 	SH_PFC_FUNCTION(i2c0),
2520*4882a593Smuzhiyun 	SH_PFC_FUNCTION(i2c1),
2521*4882a593Smuzhiyun 	SH_PFC_FUNCTION(i2c2),
2522*4882a593Smuzhiyun 	SH_PFC_FUNCTION(i2c3),
2523*4882a593Smuzhiyun 	SH_PFC_FUNCTION(i2c4),
2524*4882a593Smuzhiyun 	SH_PFC_FUNCTION(i2c5),
2525*4882a593Smuzhiyun 	SH_PFC_FUNCTION(intc_ex),
2526*4882a593Smuzhiyun 	SH_PFC_FUNCTION(mmc),
2527*4882a593Smuzhiyun 	SH_PFC_FUNCTION(msiof0),
2528*4882a593Smuzhiyun 	SH_PFC_FUNCTION(msiof1),
2529*4882a593Smuzhiyun 	SH_PFC_FUNCTION(msiof2),
2530*4882a593Smuzhiyun 	SH_PFC_FUNCTION(msiof3),
2531*4882a593Smuzhiyun 	SH_PFC_FUNCTION(pwm0),
2532*4882a593Smuzhiyun 	SH_PFC_FUNCTION(pwm1),
2533*4882a593Smuzhiyun 	SH_PFC_FUNCTION(pwm2),
2534*4882a593Smuzhiyun 	SH_PFC_FUNCTION(pwm3),
2535*4882a593Smuzhiyun 	SH_PFC_FUNCTION(pwm4),
2536*4882a593Smuzhiyun 	SH_PFC_FUNCTION(qspi0),
2537*4882a593Smuzhiyun 	SH_PFC_FUNCTION(qspi1),
2538*4882a593Smuzhiyun 	SH_PFC_FUNCTION(rpc),
2539*4882a593Smuzhiyun 	SH_PFC_FUNCTION(scif0),
2540*4882a593Smuzhiyun 	SH_PFC_FUNCTION(scif1),
2541*4882a593Smuzhiyun 	SH_PFC_FUNCTION(scif3),
2542*4882a593Smuzhiyun 	SH_PFC_FUNCTION(scif4),
2543*4882a593Smuzhiyun 	SH_PFC_FUNCTION(scif_clk),
2544*4882a593Smuzhiyun 	SH_PFC_FUNCTION(tmu),
2545*4882a593Smuzhiyun 	SH_PFC_FUNCTION(tpu),
2546*4882a593Smuzhiyun 	SH_PFC_FUNCTION(vin0),
2547*4882a593Smuzhiyun 	SH_PFC_FUNCTION(vin1),
2548*4882a593Smuzhiyun };
2549*4882a593Smuzhiyun 
2550*4882a593Smuzhiyun static const struct pinmux_cfg_reg pinmux_config_regs[] = {
2551*4882a593Smuzhiyun #define F_(x, y)	FN_##y
2552*4882a593Smuzhiyun #define FM(x)		FN_##x
2553*4882a593Smuzhiyun 	{ PINMUX_CFG_REG("GPSR0", 0xe6060100, 32, 1, GROUP(
2554*4882a593Smuzhiyun 		0, 0,
2555*4882a593Smuzhiyun 		0, 0,
2556*4882a593Smuzhiyun 		0, 0,
2557*4882a593Smuzhiyun 		0, 0,
2558*4882a593Smuzhiyun 		0, 0,
2559*4882a593Smuzhiyun 		0, 0,
2560*4882a593Smuzhiyun 		0, 0,
2561*4882a593Smuzhiyun 		0, 0,
2562*4882a593Smuzhiyun 		0, 0,
2563*4882a593Smuzhiyun 		0, 0,
2564*4882a593Smuzhiyun 		GP_0_21_FN,	GPSR0_21,
2565*4882a593Smuzhiyun 		GP_0_20_FN,	GPSR0_20,
2566*4882a593Smuzhiyun 		GP_0_19_FN,	GPSR0_19,
2567*4882a593Smuzhiyun 		GP_0_18_FN,	GPSR0_18,
2568*4882a593Smuzhiyun 		GP_0_17_FN,	GPSR0_17,
2569*4882a593Smuzhiyun 		GP_0_16_FN,	GPSR0_16,
2570*4882a593Smuzhiyun 		GP_0_15_FN,	GPSR0_15,
2571*4882a593Smuzhiyun 		GP_0_14_FN,	GPSR0_14,
2572*4882a593Smuzhiyun 		GP_0_13_FN,	GPSR0_13,
2573*4882a593Smuzhiyun 		GP_0_12_FN,	GPSR0_12,
2574*4882a593Smuzhiyun 		GP_0_11_FN,	GPSR0_11,
2575*4882a593Smuzhiyun 		GP_0_10_FN,	GPSR0_10,
2576*4882a593Smuzhiyun 		GP_0_9_FN,	GPSR0_9,
2577*4882a593Smuzhiyun 		GP_0_8_FN,	GPSR0_8,
2578*4882a593Smuzhiyun 		GP_0_7_FN,	GPSR0_7,
2579*4882a593Smuzhiyun 		GP_0_6_FN,	GPSR0_6,
2580*4882a593Smuzhiyun 		GP_0_5_FN,	GPSR0_5,
2581*4882a593Smuzhiyun 		GP_0_4_FN,	GPSR0_4,
2582*4882a593Smuzhiyun 		GP_0_3_FN,	GPSR0_3,
2583*4882a593Smuzhiyun 		GP_0_2_FN,	GPSR0_2,
2584*4882a593Smuzhiyun 		GP_0_1_FN,	GPSR0_1,
2585*4882a593Smuzhiyun 		GP_0_0_FN,	GPSR0_0, ))
2586*4882a593Smuzhiyun 	},
2587*4882a593Smuzhiyun 	{ PINMUX_CFG_REG("GPSR1", 0xe6060104, 32, 1, GROUP(
2588*4882a593Smuzhiyun 		0, 0,
2589*4882a593Smuzhiyun 		0, 0,
2590*4882a593Smuzhiyun 		0, 0,
2591*4882a593Smuzhiyun 		0, 0,
2592*4882a593Smuzhiyun 		GP_1_27_FN,	GPSR1_27,
2593*4882a593Smuzhiyun 		GP_1_26_FN,	GPSR1_26,
2594*4882a593Smuzhiyun 		GP_1_25_FN,	GPSR1_25,
2595*4882a593Smuzhiyun 		GP_1_24_FN,	GPSR1_24,
2596*4882a593Smuzhiyun 		GP_1_23_FN,	GPSR1_23,
2597*4882a593Smuzhiyun 		GP_1_22_FN,	GPSR1_22,
2598*4882a593Smuzhiyun 		GP_1_21_FN,	GPSR1_21,
2599*4882a593Smuzhiyun 		GP_1_20_FN,	GPSR1_20,
2600*4882a593Smuzhiyun 		GP_1_19_FN,	GPSR1_19,
2601*4882a593Smuzhiyun 		GP_1_18_FN,	GPSR1_18,
2602*4882a593Smuzhiyun 		GP_1_17_FN,	GPSR1_17,
2603*4882a593Smuzhiyun 		GP_1_16_FN,	GPSR1_16,
2604*4882a593Smuzhiyun 		GP_1_15_FN,	GPSR1_15,
2605*4882a593Smuzhiyun 		GP_1_14_FN,	GPSR1_14,
2606*4882a593Smuzhiyun 		GP_1_13_FN,	GPSR1_13,
2607*4882a593Smuzhiyun 		GP_1_12_FN,	GPSR1_12,
2608*4882a593Smuzhiyun 		GP_1_11_FN,	GPSR1_11,
2609*4882a593Smuzhiyun 		GP_1_10_FN,	GPSR1_10,
2610*4882a593Smuzhiyun 		GP_1_9_FN,	GPSR1_9,
2611*4882a593Smuzhiyun 		GP_1_8_FN,	GPSR1_8,
2612*4882a593Smuzhiyun 		GP_1_7_FN,	GPSR1_7,
2613*4882a593Smuzhiyun 		GP_1_6_FN,	GPSR1_6,
2614*4882a593Smuzhiyun 		GP_1_5_FN,	GPSR1_5,
2615*4882a593Smuzhiyun 		GP_1_4_FN,	GPSR1_4,
2616*4882a593Smuzhiyun 		GP_1_3_FN,	GPSR1_3,
2617*4882a593Smuzhiyun 		GP_1_2_FN,	GPSR1_2,
2618*4882a593Smuzhiyun 		GP_1_1_FN,	GPSR1_1,
2619*4882a593Smuzhiyun 		GP_1_0_FN,	GPSR1_0, ))
2620*4882a593Smuzhiyun 	},
2621*4882a593Smuzhiyun 	{ PINMUX_CFG_REG("GPSR2", 0xe6060108, 32, 1, GROUP(
2622*4882a593Smuzhiyun 		0, 0,
2623*4882a593Smuzhiyun 		0, 0,
2624*4882a593Smuzhiyun 		GP_2_29_FN,	GPSR2_29,
2625*4882a593Smuzhiyun 		GP_2_28_FN,	GPSR2_28,
2626*4882a593Smuzhiyun 		GP_2_27_FN,	GPSR2_27,
2627*4882a593Smuzhiyun 		GP_2_26_FN,	GPSR2_26,
2628*4882a593Smuzhiyun 		GP_2_25_FN,	GPSR2_25,
2629*4882a593Smuzhiyun 		GP_2_24_FN,	GPSR2_24,
2630*4882a593Smuzhiyun 		GP_2_23_FN,	GPSR2_23,
2631*4882a593Smuzhiyun 		GP_2_22_FN,	GPSR2_22,
2632*4882a593Smuzhiyun 		GP_2_21_FN,	GPSR2_21,
2633*4882a593Smuzhiyun 		GP_2_20_FN,	GPSR2_20,
2634*4882a593Smuzhiyun 		GP_2_19_FN,	GPSR2_19,
2635*4882a593Smuzhiyun 		GP_2_18_FN,	GPSR2_18,
2636*4882a593Smuzhiyun 		GP_2_17_FN,	GPSR2_17,
2637*4882a593Smuzhiyun 		GP_2_16_FN,	GPSR2_16,
2638*4882a593Smuzhiyun 		GP_2_15_FN,	GPSR2_15,
2639*4882a593Smuzhiyun 		GP_2_14_FN,	GPSR2_14,
2640*4882a593Smuzhiyun 		GP_2_13_FN,	GPSR2_13,
2641*4882a593Smuzhiyun 		GP_2_12_FN,	GPSR2_12,
2642*4882a593Smuzhiyun 		GP_2_11_FN,	GPSR2_11,
2643*4882a593Smuzhiyun 		GP_2_10_FN,	GPSR2_10,
2644*4882a593Smuzhiyun 		GP_2_9_FN,	GPSR2_9,
2645*4882a593Smuzhiyun 		GP_2_8_FN,	GPSR2_8,
2646*4882a593Smuzhiyun 		GP_2_7_FN,	GPSR2_7,
2647*4882a593Smuzhiyun 		GP_2_6_FN,	GPSR2_6,
2648*4882a593Smuzhiyun 		GP_2_5_FN,	GPSR2_5,
2649*4882a593Smuzhiyun 		GP_2_4_FN,	GPSR2_4,
2650*4882a593Smuzhiyun 		GP_2_3_FN,	GPSR2_3,
2651*4882a593Smuzhiyun 		GP_2_2_FN,	GPSR2_2,
2652*4882a593Smuzhiyun 		GP_2_1_FN,	GPSR2_1,
2653*4882a593Smuzhiyun 		GP_2_0_FN,	GPSR2_0, ))
2654*4882a593Smuzhiyun 	},
2655*4882a593Smuzhiyun 	{ PINMUX_CFG_REG("GPSR3", 0xe606010c, 32, 1, GROUP(
2656*4882a593Smuzhiyun 		0, 0,
2657*4882a593Smuzhiyun 		0, 0,
2658*4882a593Smuzhiyun 		0, 0,
2659*4882a593Smuzhiyun 		0, 0,
2660*4882a593Smuzhiyun 		0, 0,
2661*4882a593Smuzhiyun 		0, 0,
2662*4882a593Smuzhiyun 		0, 0,
2663*4882a593Smuzhiyun 		0, 0,
2664*4882a593Smuzhiyun 		0, 0,
2665*4882a593Smuzhiyun 		0, 0,
2666*4882a593Smuzhiyun 		0, 0,
2667*4882a593Smuzhiyun 		0, 0,
2668*4882a593Smuzhiyun 		0, 0,
2669*4882a593Smuzhiyun 		0, 0,
2670*4882a593Smuzhiyun 		0, 0,
2671*4882a593Smuzhiyun 		GP_3_16_FN,	GPSR3_16,
2672*4882a593Smuzhiyun 		GP_3_15_FN,	GPSR3_15,
2673*4882a593Smuzhiyun 		GP_3_14_FN,	GPSR3_14,
2674*4882a593Smuzhiyun 		GP_3_13_FN,	GPSR3_13,
2675*4882a593Smuzhiyun 		GP_3_12_FN,	GPSR3_12,
2676*4882a593Smuzhiyun 		GP_3_11_FN,	GPSR3_11,
2677*4882a593Smuzhiyun 		GP_3_10_FN,	GPSR3_10,
2678*4882a593Smuzhiyun 		GP_3_9_FN,	GPSR3_9,
2679*4882a593Smuzhiyun 		GP_3_8_FN,	GPSR3_8,
2680*4882a593Smuzhiyun 		GP_3_7_FN,	GPSR3_7,
2681*4882a593Smuzhiyun 		GP_3_6_FN,	GPSR3_6,
2682*4882a593Smuzhiyun 		GP_3_5_FN,	GPSR3_5,
2683*4882a593Smuzhiyun 		GP_3_4_FN,	GPSR3_4,
2684*4882a593Smuzhiyun 		GP_3_3_FN,	GPSR3_3,
2685*4882a593Smuzhiyun 		GP_3_2_FN,	GPSR3_2,
2686*4882a593Smuzhiyun 		GP_3_1_FN,	GPSR3_1,
2687*4882a593Smuzhiyun 		GP_3_0_FN,	GPSR3_0, ))
2688*4882a593Smuzhiyun 	},
2689*4882a593Smuzhiyun 	{ PINMUX_CFG_REG("GPSR4", 0xe6060110, 32, 1, GROUP(
2690*4882a593Smuzhiyun 		0, 0,
2691*4882a593Smuzhiyun 		0, 0,
2692*4882a593Smuzhiyun 		0, 0,
2693*4882a593Smuzhiyun 		0, 0,
2694*4882a593Smuzhiyun 		0, 0,
2695*4882a593Smuzhiyun 		0, 0,
2696*4882a593Smuzhiyun 		0, 0,
2697*4882a593Smuzhiyun 		GP_4_24_FN,	GPSR4_24,
2698*4882a593Smuzhiyun 		GP_4_23_FN,	GPSR4_23,
2699*4882a593Smuzhiyun 		GP_4_22_FN,	GPSR4_22,
2700*4882a593Smuzhiyun 		GP_4_21_FN,	GPSR4_21,
2701*4882a593Smuzhiyun 		GP_4_20_FN,	GPSR4_20,
2702*4882a593Smuzhiyun 		GP_4_19_FN,	GPSR4_19,
2703*4882a593Smuzhiyun 		GP_4_18_FN,	GPSR4_18,
2704*4882a593Smuzhiyun 		GP_4_17_FN,	GPSR4_17,
2705*4882a593Smuzhiyun 		GP_4_16_FN,	GPSR4_16,
2706*4882a593Smuzhiyun 		GP_4_15_FN,	GPSR4_15,
2707*4882a593Smuzhiyun 		GP_4_14_FN,	GPSR4_14,
2708*4882a593Smuzhiyun 		GP_4_13_FN,	GPSR4_13,
2709*4882a593Smuzhiyun 		GP_4_12_FN,	GPSR4_12,
2710*4882a593Smuzhiyun 		GP_4_11_FN,	GPSR4_11,
2711*4882a593Smuzhiyun 		GP_4_10_FN,	GPSR4_10,
2712*4882a593Smuzhiyun 		GP_4_9_FN,	GPSR4_9,
2713*4882a593Smuzhiyun 		GP_4_8_FN,	GPSR4_8,
2714*4882a593Smuzhiyun 		GP_4_7_FN,	GPSR4_7,
2715*4882a593Smuzhiyun 		GP_4_6_FN,	GPSR4_6,
2716*4882a593Smuzhiyun 		GP_4_5_FN,	GPSR4_5,
2717*4882a593Smuzhiyun 		GP_4_4_FN,	GPSR4_4,
2718*4882a593Smuzhiyun 		GP_4_3_FN,	GPSR4_3,
2719*4882a593Smuzhiyun 		GP_4_2_FN,	GPSR4_2,
2720*4882a593Smuzhiyun 		GP_4_1_FN,	GPSR4_1,
2721*4882a593Smuzhiyun 		GP_4_0_FN,	GPSR4_0, ))
2722*4882a593Smuzhiyun 	},
2723*4882a593Smuzhiyun 	{ PINMUX_CFG_REG("GPSR5", 0xe6060114, 32, 1, GROUP(
2724*4882a593Smuzhiyun 		0, 0,
2725*4882a593Smuzhiyun 		0, 0,
2726*4882a593Smuzhiyun 		0, 0,
2727*4882a593Smuzhiyun 		0, 0,
2728*4882a593Smuzhiyun 		0, 0,
2729*4882a593Smuzhiyun 		0, 0,
2730*4882a593Smuzhiyun 		0, 0,
2731*4882a593Smuzhiyun 		0, 0,
2732*4882a593Smuzhiyun 		0, 0,
2733*4882a593Smuzhiyun 		0, 0,
2734*4882a593Smuzhiyun 		0, 0,
2735*4882a593Smuzhiyun 		0, 0,
2736*4882a593Smuzhiyun 		0, 0,
2737*4882a593Smuzhiyun 		0, 0,
2738*4882a593Smuzhiyun 		0, 0,
2739*4882a593Smuzhiyun 		0, 0,
2740*4882a593Smuzhiyun 		0, 0,
2741*4882a593Smuzhiyun 		GP_5_14_FN,	GPSR5_14,
2742*4882a593Smuzhiyun 		GP_5_13_FN,	GPSR5_13,
2743*4882a593Smuzhiyun 		GP_5_12_FN,	GPSR5_12,
2744*4882a593Smuzhiyun 		GP_5_11_FN,	GPSR5_11,
2745*4882a593Smuzhiyun 		GP_5_10_FN,	GPSR5_10,
2746*4882a593Smuzhiyun 		GP_5_9_FN,	GPSR5_9,
2747*4882a593Smuzhiyun 		GP_5_8_FN,	GPSR5_8,
2748*4882a593Smuzhiyun 		GP_5_7_FN,	GPSR5_7,
2749*4882a593Smuzhiyun 		GP_5_6_FN,	GPSR5_6,
2750*4882a593Smuzhiyun 		GP_5_5_FN,	GPSR5_5,
2751*4882a593Smuzhiyun 		GP_5_4_FN,	GPSR5_4,
2752*4882a593Smuzhiyun 		GP_5_3_FN,	GPSR5_3,
2753*4882a593Smuzhiyun 		GP_5_2_FN,	GPSR5_2,
2754*4882a593Smuzhiyun 		GP_5_1_FN,	GPSR5_1,
2755*4882a593Smuzhiyun 		GP_5_0_FN,	GPSR5_0, ))
2756*4882a593Smuzhiyun 	},
2757*4882a593Smuzhiyun #undef F_
2758*4882a593Smuzhiyun #undef FM
2759*4882a593Smuzhiyun 
2760*4882a593Smuzhiyun #define F_(x, y)	x,
2761*4882a593Smuzhiyun #define FM(x)		FN_##x,
2762*4882a593Smuzhiyun 	{ PINMUX_CFG_REG("IPSR0", 0xe6060200, 32, 4, GROUP(
2763*4882a593Smuzhiyun 		IP0_31_28
2764*4882a593Smuzhiyun 		IP0_27_24
2765*4882a593Smuzhiyun 		IP0_23_20
2766*4882a593Smuzhiyun 		IP0_19_16
2767*4882a593Smuzhiyun 		IP0_15_12
2768*4882a593Smuzhiyun 		IP0_11_8
2769*4882a593Smuzhiyun 		IP0_7_4
2770*4882a593Smuzhiyun 		IP0_3_0 ))
2771*4882a593Smuzhiyun 	},
2772*4882a593Smuzhiyun 	{ PINMUX_CFG_REG("IPSR1", 0xe6060204, 32, 4, GROUP(
2773*4882a593Smuzhiyun 		IP1_31_28
2774*4882a593Smuzhiyun 		IP1_27_24
2775*4882a593Smuzhiyun 		IP1_23_20
2776*4882a593Smuzhiyun 		IP1_19_16
2777*4882a593Smuzhiyun 		IP1_15_12
2778*4882a593Smuzhiyun 		IP1_11_8
2779*4882a593Smuzhiyun 		IP1_7_4
2780*4882a593Smuzhiyun 		IP1_3_0 ))
2781*4882a593Smuzhiyun 	},
2782*4882a593Smuzhiyun 	{ PINMUX_CFG_REG("IPSR2", 0xe6060208, 32, 4, GROUP(
2783*4882a593Smuzhiyun 		IP2_31_28
2784*4882a593Smuzhiyun 		IP2_27_24
2785*4882a593Smuzhiyun 		IP2_23_20
2786*4882a593Smuzhiyun 		IP2_19_16
2787*4882a593Smuzhiyun 		IP2_15_12
2788*4882a593Smuzhiyun 		IP2_11_8
2789*4882a593Smuzhiyun 		IP2_7_4
2790*4882a593Smuzhiyun 		IP2_3_0 ))
2791*4882a593Smuzhiyun 	},
2792*4882a593Smuzhiyun 	{ PINMUX_CFG_REG("IPSR3", 0xe606020c, 32, 4, GROUP(
2793*4882a593Smuzhiyun 		IP3_31_28
2794*4882a593Smuzhiyun 		IP3_27_24
2795*4882a593Smuzhiyun 		IP3_23_20
2796*4882a593Smuzhiyun 		IP3_19_16
2797*4882a593Smuzhiyun 		IP3_15_12
2798*4882a593Smuzhiyun 		IP3_11_8
2799*4882a593Smuzhiyun 		IP3_7_4
2800*4882a593Smuzhiyun 		IP3_3_0 ))
2801*4882a593Smuzhiyun 	},
2802*4882a593Smuzhiyun 	{ PINMUX_CFG_REG("IPSR4", 0xe6060210, 32, 4, GROUP(
2803*4882a593Smuzhiyun 		IP4_31_28
2804*4882a593Smuzhiyun 		IP4_27_24
2805*4882a593Smuzhiyun 		IP4_23_20
2806*4882a593Smuzhiyun 		IP4_19_16
2807*4882a593Smuzhiyun 		IP4_15_12
2808*4882a593Smuzhiyun 		IP4_11_8
2809*4882a593Smuzhiyun 		IP4_7_4
2810*4882a593Smuzhiyun 		IP4_3_0 ))
2811*4882a593Smuzhiyun 	},
2812*4882a593Smuzhiyun 	{ PINMUX_CFG_REG("IPSR5", 0xe6060214, 32, 4, GROUP(
2813*4882a593Smuzhiyun 		IP5_31_28
2814*4882a593Smuzhiyun 		IP5_27_24
2815*4882a593Smuzhiyun 		IP5_23_20
2816*4882a593Smuzhiyun 		IP5_19_16
2817*4882a593Smuzhiyun 		IP5_15_12
2818*4882a593Smuzhiyun 		IP5_11_8
2819*4882a593Smuzhiyun 		IP5_7_4
2820*4882a593Smuzhiyun 		IP5_3_0 ))
2821*4882a593Smuzhiyun 	},
2822*4882a593Smuzhiyun 	{ PINMUX_CFG_REG("IPSR6", 0xe6060218, 32, 4, GROUP(
2823*4882a593Smuzhiyun 		IP6_31_28
2824*4882a593Smuzhiyun 		IP6_27_24
2825*4882a593Smuzhiyun 		IP6_23_20
2826*4882a593Smuzhiyun 		IP6_19_16
2827*4882a593Smuzhiyun 		IP6_15_12
2828*4882a593Smuzhiyun 		IP6_11_8
2829*4882a593Smuzhiyun 		IP6_7_4
2830*4882a593Smuzhiyun 		IP6_3_0 ))
2831*4882a593Smuzhiyun 	},
2832*4882a593Smuzhiyun 	{ PINMUX_CFG_REG("IPSR7", 0xe606021c, 32, 4, GROUP(
2833*4882a593Smuzhiyun 		IP7_31_28
2834*4882a593Smuzhiyun 		IP7_27_24
2835*4882a593Smuzhiyun 		IP7_23_20
2836*4882a593Smuzhiyun 		IP7_19_16
2837*4882a593Smuzhiyun 		IP7_15_12
2838*4882a593Smuzhiyun 		IP7_11_8
2839*4882a593Smuzhiyun 		IP7_7_4
2840*4882a593Smuzhiyun 		IP7_3_0 ))
2841*4882a593Smuzhiyun 	},
2842*4882a593Smuzhiyun 	{ PINMUX_CFG_REG("IPSR8", 0xe6060220, 32, 4, GROUP(
2843*4882a593Smuzhiyun 		IP8_31_28
2844*4882a593Smuzhiyun 		IP8_27_24
2845*4882a593Smuzhiyun 		IP8_23_20
2846*4882a593Smuzhiyun 		IP8_19_16
2847*4882a593Smuzhiyun 		IP8_15_12
2848*4882a593Smuzhiyun 		IP8_11_8
2849*4882a593Smuzhiyun 		IP8_7_4
2850*4882a593Smuzhiyun 		IP8_3_0 ))
2851*4882a593Smuzhiyun 	},
2852*4882a593Smuzhiyun 	{ PINMUX_CFG_REG("IPSR9", 0xe6060224, 32, 4, GROUP(
2853*4882a593Smuzhiyun 		IP9_31_28
2854*4882a593Smuzhiyun 		IP9_27_24
2855*4882a593Smuzhiyun 		IP9_23_20
2856*4882a593Smuzhiyun 		IP9_19_16
2857*4882a593Smuzhiyun 		IP9_15_12
2858*4882a593Smuzhiyun 		IP9_11_8
2859*4882a593Smuzhiyun 		IP9_7_4
2860*4882a593Smuzhiyun 		IP9_3_0 ))
2861*4882a593Smuzhiyun 	},
2862*4882a593Smuzhiyun 	{ PINMUX_CFG_REG("IPSR10", 0xe6060228, 32, 4, GROUP(
2863*4882a593Smuzhiyun 		IP10_31_28
2864*4882a593Smuzhiyun 		IP10_27_24
2865*4882a593Smuzhiyun 		IP10_23_20
2866*4882a593Smuzhiyun 		IP10_19_16
2867*4882a593Smuzhiyun 		IP10_15_12
2868*4882a593Smuzhiyun 		IP10_11_8
2869*4882a593Smuzhiyun 		IP10_7_4
2870*4882a593Smuzhiyun 		IP10_3_0 ))
2871*4882a593Smuzhiyun 	},
2872*4882a593Smuzhiyun #undef F_
2873*4882a593Smuzhiyun #undef FM
2874*4882a593Smuzhiyun 
2875*4882a593Smuzhiyun #define F_(x, y)	x,
2876*4882a593Smuzhiyun #define FM(x)		FN_##x,
2877*4882a593Smuzhiyun 	{ PINMUX_CFG_REG_VAR("MOD_SEL0", 0xe6060500, 32,
2878*4882a593Smuzhiyun 			     GROUP(4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1,
2879*4882a593Smuzhiyun 				   1, 1, 1, 1, 1),
2880*4882a593Smuzhiyun 			     GROUP(
2881*4882a593Smuzhiyun 		/* RESERVED 31, 30, 29, 28 */
2882*4882a593Smuzhiyun 		0, 0, 0, 0, 0, 0, 0, 0,	0, 0, 0, 0, 0, 0, 0, 0,
2883*4882a593Smuzhiyun 		/* RESERVED 27, 26, 25, 24 */
2884*4882a593Smuzhiyun 		0, 0, 0, 0, 0, 0, 0, 0,	0, 0, 0, 0, 0, 0, 0, 0,
2885*4882a593Smuzhiyun 		/* RESERVED 23, 22, 21, 20 */
2886*4882a593Smuzhiyun 		0, 0, 0, 0, 0, 0, 0, 0,	0, 0, 0, 0, 0, 0, 0, 0,
2887*4882a593Smuzhiyun 		/* RESERVED 19, 18, 17, 16 */
2888*4882a593Smuzhiyun 		0, 0, 0, 0, 0, 0, 0, 0,	0, 0, 0, 0, 0, 0, 0, 0,
2889*4882a593Smuzhiyun 		/* RESERVED 15, 14, 13, 12 */
2890*4882a593Smuzhiyun 		0, 0, 0, 0, 0, 0, 0, 0,	0, 0, 0, 0, 0, 0, 0, 0,
2891*4882a593Smuzhiyun 		MOD_SEL0_11
2892*4882a593Smuzhiyun 		MOD_SEL0_10
2893*4882a593Smuzhiyun 		MOD_SEL0_9
2894*4882a593Smuzhiyun 		MOD_SEL0_8
2895*4882a593Smuzhiyun 		MOD_SEL0_7
2896*4882a593Smuzhiyun 		MOD_SEL0_6
2897*4882a593Smuzhiyun 		MOD_SEL0_5
2898*4882a593Smuzhiyun 		MOD_SEL0_4
2899*4882a593Smuzhiyun 		0, 0,
2900*4882a593Smuzhiyun 		MOD_SEL0_2
2901*4882a593Smuzhiyun 		MOD_SEL0_1
2902*4882a593Smuzhiyun 		MOD_SEL0_0 ))
2903*4882a593Smuzhiyun 	},
2904*4882a593Smuzhiyun 	{ },
2905*4882a593Smuzhiyun };
2906*4882a593Smuzhiyun 
2907*4882a593Smuzhiyun enum ioctrl_regs {
2908*4882a593Smuzhiyun 	POCCTRL0,
2909*4882a593Smuzhiyun 	POCCTRL1,
2910*4882a593Smuzhiyun 	POCCTRL2,
2911*4882a593Smuzhiyun 	POCCTRL3,
2912*4882a593Smuzhiyun 	TDSELCTRL,
2913*4882a593Smuzhiyun };
2914*4882a593Smuzhiyun 
2915*4882a593Smuzhiyun static const struct pinmux_ioctrl_reg pinmux_ioctrl_regs[] = {
2916*4882a593Smuzhiyun 	[POCCTRL0] = { 0xe6060380, },
2917*4882a593Smuzhiyun 	[POCCTRL1] = { 0xe6060384, },
2918*4882a593Smuzhiyun 	[POCCTRL2] = { 0xe6060388, },
2919*4882a593Smuzhiyun 	[POCCTRL3] = { 0xe606038c, },
2920*4882a593Smuzhiyun 	[TDSELCTRL] = { 0xe60603c0, },
2921*4882a593Smuzhiyun 	{ /* sentinel */ },
2922*4882a593Smuzhiyun };
2923*4882a593Smuzhiyun 
r8a77980_pin_to_pocctrl(struct sh_pfc * pfc,unsigned int pin,u32 * pocctrl)2924*4882a593Smuzhiyun static int r8a77980_pin_to_pocctrl(struct sh_pfc *pfc, unsigned int pin,
2925*4882a593Smuzhiyun 				   u32 *pocctrl)
2926*4882a593Smuzhiyun {
2927*4882a593Smuzhiyun 	int bit = pin & 0x1f;
2928*4882a593Smuzhiyun 
2929*4882a593Smuzhiyun 	*pocctrl = pinmux_ioctrl_regs[POCCTRL0].reg;
2930*4882a593Smuzhiyun 	if (pin >= RCAR_GP_PIN(0, 0) && pin <= RCAR_GP_PIN(0, 21))
2931*4882a593Smuzhiyun 		return bit;
2932*4882a593Smuzhiyun 	else if (pin >= RCAR_GP_PIN(2, 0) && pin <= RCAR_GP_PIN(2, 9))
2933*4882a593Smuzhiyun 		return bit + 22;
2934*4882a593Smuzhiyun 
2935*4882a593Smuzhiyun 	*pocctrl = pinmux_ioctrl_regs[POCCTRL1].reg;
2936*4882a593Smuzhiyun 	if (pin >= RCAR_GP_PIN(2, 10) && pin <= RCAR_GP_PIN(2, 16))
2937*4882a593Smuzhiyun 		return bit - 10;
2938*4882a593Smuzhiyun 	if ((pin >= RCAR_GP_PIN(2, 17) && pin <= RCAR_GP_PIN(2, 24)) ||
2939*4882a593Smuzhiyun 	    (pin >= RCAR_GP_PIN(3,  0) && pin <= RCAR_GP_PIN(3, 16)))
2940*4882a593Smuzhiyun 		return bit + 7;
2941*4882a593Smuzhiyun 
2942*4882a593Smuzhiyun 	*pocctrl = pinmux_ioctrl_regs[POCCTRL2].reg;
2943*4882a593Smuzhiyun 	if (pin >= RCAR_GP_PIN(2, 25) && pin <= RCAR_GP_PIN(2, 29))
2944*4882a593Smuzhiyun 		return pin - 25;
2945*4882a593Smuzhiyun 
2946*4882a593Smuzhiyun 	return -EINVAL;
2947*4882a593Smuzhiyun }
2948*4882a593Smuzhiyun 
2949*4882a593Smuzhiyun static const struct sh_pfc_soc_operations pinmux_ops = {
2950*4882a593Smuzhiyun 	.pin_to_pocctrl = r8a77980_pin_to_pocctrl,
2951*4882a593Smuzhiyun };
2952*4882a593Smuzhiyun 
2953*4882a593Smuzhiyun const struct sh_pfc_soc_info r8a77980_pinmux_info = {
2954*4882a593Smuzhiyun 	.name = "r8a77980_pfc",
2955*4882a593Smuzhiyun 	.ops = &pinmux_ops,
2956*4882a593Smuzhiyun 	.unlock_reg = 0xe6060000, /* PMMR */
2957*4882a593Smuzhiyun 
2958*4882a593Smuzhiyun 	.function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
2959*4882a593Smuzhiyun 
2960*4882a593Smuzhiyun 	.pins = pinmux_pins,
2961*4882a593Smuzhiyun 	.nr_pins = ARRAY_SIZE(pinmux_pins),
2962*4882a593Smuzhiyun 	.groups = pinmux_groups,
2963*4882a593Smuzhiyun 	.nr_groups = ARRAY_SIZE(pinmux_groups),
2964*4882a593Smuzhiyun 	.functions = pinmux_functions,
2965*4882a593Smuzhiyun 	.nr_functions = ARRAY_SIZE(pinmux_functions),
2966*4882a593Smuzhiyun 
2967*4882a593Smuzhiyun 	.cfg_regs = pinmux_config_regs,
2968*4882a593Smuzhiyun 	.ioctrl_regs = pinmux_ioctrl_regs,
2969*4882a593Smuzhiyun 
2970*4882a593Smuzhiyun 	.pinmux_data = pinmux_data,
2971*4882a593Smuzhiyun 	.pinmux_data_size = ARRAY_SIZE(pinmux_data),
2972*4882a593Smuzhiyun };
2973