1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun * arch/arm/cpu/armv7/rmobile/pfc-r8a7791.c
3*4882a593Smuzhiyun *
4*4882a593Smuzhiyun * Copyright (C) 2013 Renesas Electronics Corporation
5*4882a593Smuzhiyun *
6*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0
7*4882a593Smuzhiyun */
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun #include <common.h>
10*4882a593Smuzhiyun #include <sh_pfc.h>
11*4882a593Smuzhiyun #include <asm/gpio.h>
12*4882a593Smuzhiyun #include "pfc-r8a7790.h"
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun enum {
15*4882a593Smuzhiyun PINMUX_RESERVED = 0,
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun PINMUX_DATA_BEGIN,
18*4882a593Smuzhiyun GP_ALL(DATA),
19*4882a593Smuzhiyun PINMUX_DATA_END,
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun PINMUX_INPUT_BEGIN,
22*4882a593Smuzhiyun GP_ALL(IN),
23*4882a593Smuzhiyun PINMUX_INPUT_END,
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun PINMUX_OUTPUT_BEGIN,
26*4882a593Smuzhiyun GP_ALL(OUT),
27*4882a593Smuzhiyun PINMUX_OUTPUT_END,
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun PINMUX_FUNCTION_BEGIN,
30*4882a593Smuzhiyun GP_ALL(FN),
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun /* GPSR0 */
33*4882a593Smuzhiyun FN_IP0_0, FN_IP0_1, FN_IP0_2, FN_IP0_3, FN_IP0_4, FN_IP0_5,
34*4882a593Smuzhiyun FN_IP0_6, FN_IP0_7, FN_IP0_8, FN_IP0_9, FN_IP0_10, FN_IP0_11,
35*4882a593Smuzhiyun FN_IP0_12, FN_IP0_13, FN_IP0_14, FN_IP0_15, FN_IP0_18_16, FN_IP0_20_19,
36*4882a593Smuzhiyun FN_IP0_22_21, FN_IP0_24_23, FN_IP0_26_25, FN_IP0_28_27, FN_IP0_30_29,
37*4882a593Smuzhiyun FN_IP1_1_0, FN_IP1_3_2, FN_IP1_5_4, FN_IP1_7_6, FN_IP1_10_8,
38*4882a593Smuzhiyun FN_IP1_13_11, FN_IP1_16_14, FN_IP1_19_17, FN_IP1_22_20,
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun /* GPSR1 */
41*4882a593Smuzhiyun FN_IP1_25_23, FN_IP1_28_26, FN_IP1_31_29, FN_IP2_2_0, FN_IP2_4_3,
42*4882a593Smuzhiyun FN_IP2_6_5, FN_IP2_9_7, FN_IP2_12_10, FN_IP2_15_13, FN_IP2_18_16,
43*4882a593Smuzhiyun FN_IP2_20_19, FN_IP2_22_21, FN_EX_CS0_N, FN_IP2_24_23, FN_IP2_26_25,
44*4882a593Smuzhiyun FN_IP2_29_27, FN_IP3_2_0, FN_IP3_5_3, FN_IP3_8_6, FN_RD_N,
45*4882a593Smuzhiyun FN_IP3_11_9, FN_IP3_13_12, FN_IP3_15_14 , FN_IP3_17_16 , FN_IP3_19_18,
46*4882a593Smuzhiyun FN_IP3_21_20,
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun /* GPSR2 */
49*4882a593Smuzhiyun FN_IP3_27_25, FN_IP3_30_28, FN_IP4_1_0, FN_IP4_4_2, FN_IP4_7_5,
50*4882a593Smuzhiyun FN_IP4_9_8, FN_IP4_12_10, FN_IP4_15_13, FN_IP4_18_16, FN_IP4_19,
51*4882a593Smuzhiyun FN_IP4_20, FN_IP4_21, FN_IP4_23_22, FN_IP4_25_24, FN_IP4_27_26,
52*4882a593Smuzhiyun FN_IP4_30_28, FN_IP5_2_0, FN_IP5_5_3, FN_IP5_8_6, FN_IP5_11_9,
53*4882a593Smuzhiyun FN_IP5_14_12, FN_IP5_16_15, FN_IP5_19_17, FN_IP5_21_20, FN_IP5_23_22,
54*4882a593Smuzhiyun FN_IP5_25_24, FN_IP5_28_26, FN_IP5_31_29, FN_AUDIO_CLKA, FN_IP6_2_0,
55*4882a593Smuzhiyun FN_IP6_5_3, FN_IP6_7_6,
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun /* GPSR3 */
58*4882a593Smuzhiyun FN_IP7_5_3, FN_IP7_8_6, FN_IP7_10_9, FN_IP7_12_11, FN_IP7_14_13,
59*4882a593Smuzhiyun FN_IP7_16_15, FN_IP7_18_17, FN_IP7_20_19, FN_IP7_23_21, FN_IP7_26_24,
60*4882a593Smuzhiyun FN_IP7_29_27, FN_IP8_2_0, FN_IP8_5_3, FN_IP8_8_6, FN_IP8_11_9,
61*4882a593Smuzhiyun FN_IP8_14_12, FN_IP8_17_15, FN_IP8_20_18, FN_IP8_23_21, FN_IP8_25_24,
62*4882a593Smuzhiyun FN_IP8_27_26, FN_IP8_30_28, FN_IP9_2_0, FN_IP9_5_3, FN_IP9_6, FN_IP9_7,
63*4882a593Smuzhiyun FN_IP9_10_8, FN_IP9_11, FN_IP9_12, FN_IP9_15_13, FN_IP9_16,
64*4882a593Smuzhiyun FN_IP9_18_17,
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun /* GPSR4 */
67*4882a593Smuzhiyun FN_VI0_CLK, FN_IP9_20_19, FN_IP9_22_21, FN_IP9_24_23, FN_IP9_26_25,
68*4882a593Smuzhiyun FN_VI0_DATA0_VI0_B0, FN_VI0_DATA0_VI0_B1, FN_VI0_DATA0_VI0_B2,
69*4882a593Smuzhiyun FN_IP9_28_27, FN_VI0_DATA0_VI0_B4, FN_VI0_DATA0_VI0_B5,
70*4882a593Smuzhiyun FN_VI0_DATA0_VI0_B6, FN_VI0_DATA0_VI0_B7, FN_IP9_31_29, FN_IP10_2_0,
71*4882a593Smuzhiyun FN_IP10_5_3, FN_IP10_8_6, FN_IP10_11_9, FN_IP10_14_12, FN_IP10_16_15,
72*4882a593Smuzhiyun FN_IP10_18_17, FN_IP10_21_19, FN_IP10_24_22, FN_IP10_26_25,
73*4882a593Smuzhiyun FN_IP10_28_27, FN_IP10_31_29, FN_IP11_2_0, FN_IP11_5_3, FN_IP11_8_6,
74*4882a593Smuzhiyun FN_IP15_1_0, FN_IP15_3_2, FN_IP15_5_4,
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun /* GPSR5 */
77*4882a593Smuzhiyun FN_IP11_11_9, FN_IP11_14_12, FN_IP11_16_15, FN_IP11_18_17, FN_IP11_19,
78*4882a593Smuzhiyun FN_IP11_20, FN_IP11_21, FN_IP11_22, FN_IP11_23, FN_IP11_24,
79*4882a593Smuzhiyun FN_IP11_25, FN_IP11_26, FN_IP11_27, FN_IP11_29_28, FN_IP11_31_30,
80*4882a593Smuzhiyun FN_IP12_1_0, FN_IP12_3_2, FN_IP12_6_4, FN_IP12_9_7, FN_IP12_12_10,
81*4882a593Smuzhiyun FN_IP12_15_13, FN_IP12_17_16, FN_IP12_19_18, FN_IP12_21_20,
82*4882a593Smuzhiyun FN_IP12_23_22, FN_IP12_26_24, FN_IP12_29_27, FN_IP13_2_0, FN_IP13_4_3,
83*4882a593Smuzhiyun FN_IP13_6_5, FN_IP13_9_7, FN_IP3_24_22,
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun /* GPSR6 */
86*4882a593Smuzhiyun FN_IP13_10, FN_IP13_11, FN_IP13_12, FN_IP13_13, FN_IP13_14,
87*4882a593Smuzhiyun FN_IP13_15, FN_IP13_18_16, FN_IP13_21_19, FN_IP13_22, FN_IP13_24_23,
88*4882a593Smuzhiyun FN_IP13_25, FN_IP13_26, FN_IP13_27, FN_IP13_30_28, FN_IP14_1_0,
89*4882a593Smuzhiyun FN_IP14_2, FN_IP14_3, FN_IP14_4, FN_IP14_5, FN_IP14_6, FN_IP14_7,
90*4882a593Smuzhiyun FN_IP14_10_8, FN_IP14_13_11, FN_IP14_16_14, FN_IP14_19_17,
91*4882a593Smuzhiyun FN_IP14_22_20, FN_IP14_25_23, FN_IP14_28_26, FN_IP14_31_29,
92*4882a593Smuzhiyun
93*4882a593Smuzhiyun /* GPSR7 */
94*4882a593Smuzhiyun FN_IP15_17_15, FN_IP15_20_18, FN_IP15_23_21, FN_IP15_26_24,
95*4882a593Smuzhiyun FN_IP15_29_27, FN_IP16_2_0, FN_IP16_5_3, FN_IP16_7_6, FN_IP16_9_8,
96*4882a593Smuzhiyun FN_IP16_11_10, FN_IP6_9_8, FN_IP6_11_10, FN_IP6_13_12, FN_IP6_15_14,
97*4882a593Smuzhiyun FN_IP6_18_16, FN_IP6_20_19, FN_IP6_23_21, FN_IP6_26_24, FN_IP6_29_27,
98*4882a593Smuzhiyun FN_IP7_2_0, FN_IP15_8_6, FN_IP15_11_9, FN_IP15_14_12,
99*4882a593Smuzhiyun FN_USB0_PWEN, FN_USB0_OVC, FN_USB1_PWEN,
100*4882a593Smuzhiyun
101*4882a593Smuzhiyun /* IPSR0 - IPSR10 */
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun /* IPSR11 */
104*4882a593Smuzhiyun FN_VI0_R5, FN_VI2_DATA6, FN_GLO_SDATA_B, FN_RX0_C, FN_SDA1_D,
105*4882a593Smuzhiyun FN_VI0_R6, FN_VI2_DATA7, FN_GLO_SS_B, FN_TX1_C, FN_SCL4_B,
106*4882a593Smuzhiyun FN_VI0_R7, FN_GLO_RFON_B, FN_RX1_C, FN_CAN0_RX_E,
107*4882a593Smuzhiyun FN_SDA4_B, FN_HRX1_D, FN_SCIFB0_RXD_D,
108*4882a593Smuzhiyun FN_VI1_HSYNC_N, FN_AVB_RXD0, FN_TS_SDATA0_B, FN_TX4_B, FN_SCIFA4_TXD_B,
109*4882a593Smuzhiyun FN_VI1_VSYNC_N, FN_AVB_RXD1, FN_TS_SCK0_B, FN_RX4_B, FN_SCIFA4_RXD_B,
110*4882a593Smuzhiyun FN_VI1_CLKENB, FN_AVB_RXD2, FN_TS_SDEN0_B,
111*4882a593Smuzhiyun FN_VI1_FIELD, FN_AVB_RXD3, FN_TS_SPSYNC0_B,
112*4882a593Smuzhiyun FN_VI1_CLK, FN_AVB_RXD4, FN_VI1_DATA0, FN_AVB_RXD5,
113*4882a593Smuzhiyun FN_VI1_DATA1, FN_AVB_RXD6, FN_VI1_DATA2, FN_AVB_RXD7,
114*4882a593Smuzhiyun FN_VI1_DATA3, FN_AVB_RX_ER, FN_VI1_DATA4, FN_AVB_MDIO,
115*4882a593Smuzhiyun FN_VI1_DATA5, FN_AVB_RX_DV, FN_VI1_DATA6, FN_AVB_MAGIC,
116*4882a593Smuzhiyun FN_VI1_DATA7, FN_AVB_MDC,
117*4882a593Smuzhiyun FN_ETH_MDIO, FN_AVB_RX_CLK, FN_SCL2_C,
118*4882a593Smuzhiyun FN_ETH_CRS_DV, FN_AVB_LINK, FN_SDA2_C,
119*4882a593Smuzhiyun
120*4882a593Smuzhiyun /* IPSR12 */
121*4882a593Smuzhiyun FN_ETH_RX_ER, FN_AVB_CRS, FN_SCL3, FN_SCL7,
122*4882a593Smuzhiyun FN_ETH_RXD0, FN_AVB_PHY_INT, FN_SDA3, FN_SDA7,
123*4882a593Smuzhiyun FN_ETH_RXD1, FN_AVB_GTXREFCLK, FN_CAN0_TX_C,
124*4882a593Smuzhiyun FN_SCL2_D, FN_MSIOF1_RXD_E,
125*4882a593Smuzhiyun FN_ETH_LINK, FN_AVB_TXD0, FN_CAN0_RX_C, FN_SDA2_D, FN_MSIOF1_SCK_E,
126*4882a593Smuzhiyun FN_ETH_REFCLK, FN_AVB_TXD1, FN_SCIFA3_RXD_B,
127*4882a593Smuzhiyun FN_CAN1_RX_C, FN_MSIOF1_SYNC_E,
128*4882a593Smuzhiyun FN_ETH_TXD1, FN_AVB_TXD2, FN_SCIFA3_TXD_B,
129*4882a593Smuzhiyun FN_CAN1_TX_C, FN_MSIOF1_TXD_E,
130*4882a593Smuzhiyun FN_ETH_TX_EN, FN_AVB_TXD3, FN_TCLK1_B, FN_CAN_CLK_B,
131*4882a593Smuzhiyun FN_ETH_MAGIC, FN_AVB_TXD4, FN_IETX_C,
132*4882a593Smuzhiyun FN_ETH_TXD0, FN_AVB_TXD5, FN_IECLK_C,
133*4882a593Smuzhiyun FN_ETH_MDC, FN_AVB_TXD6, FN_IERX_C,
134*4882a593Smuzhiyun FN_STP_IVCXO27_0, FN_AVB_TXD7, FN_SCIFB2_TXD_D,
135*4882a593Smuzhiyun FN_ADIDATA_B, FN_MSIOF0_SYNC_C,
136*4882a593Smuzhiyun FN_STP_ISCLK_0, FN_AVB_TX_EN, FN_SCIFB2_RXD_D,
137*4882a593Smuzhiyun FN_ADICS_SAMP_B, FN_MSIOF0_SCK_C,
138*4882a593Smuzhiyun
139*4882a593Smuzhiyun /* IPSR13 */
140*4882a593Smuzhiyun /* MOD_SEL */
141*4882a593Smuzhiyun FN_SEL_SCIF1_0, FN_SEL_SCIF1_1, FN_SEL_SCIF1_2, FN_SEL_SCIF1_3,
142*4882a593Smuzhiyun FN_SEL_SCIFB_0, FN_SEL_SCIFB_1, FN_SEL_SCIFB_2, FN_SEL_SCIFB_3,
143*4882a593Smuzhiyun FN_SEL_SCIFB2_0, FN_SEL_SCIFB2_1, FN_SEL_SCIFB2_2, FN_SEL_SCIFB2_3,
144*4882a593Smuzhiyun FN_SEL_SCIFB1_0, FN_SEL_SCIFB1_1, FN_SEL_SCIFB1_2, FN_SEL_SCIFB1_3,
145*4882a593Smuzhiyun FN_SEL_SCIFA1_0, FN_SEL_SCIFA1_1, FN_SEL_SCIFA1_2,
146*4882a593Smuzhiyun FN_SEL_SSI9_0, FN_SEL_SSI9_1,
147*4882a593Smuzhiyun FN_SEL_SCFA_0, FN_SEL_SCFA_1,
148*4882a593Smuzhiyun FN_SEL_QSP_0, FN_SEL_QSP_1,
149*4882a593Smuzhiyun FN_SEL_SSI7_0, FN_SEL_SSI7_1,
150*4882a593Smuzhiyun FN_SEL_HSCIF1_0, FN_SEL_HSCIF1_1, FN_SEL_HSCIF1_2, FN_SEL_HSCIF1_3,
151*4882a593Smuzhiyun FN_SEL_HSCIF1_4,
152*4882a593Smuzhiyun FN_SEL_VI1_0, FN_SEL_VI1_1, FN_SEL_VI1_2,
153*4882a593Smuzhiyun FN_SEL_TMU1_0, FN_SEL_TMU1_1,
154*4882a593Smuzhiyun FN_SEL_LBS_0, FN_SEL_LBS_1, FN_SEL_LBS_2, FN_SEL_LBS_3,
155*4882a593Smuzhiyun FN_SEL_TSIF0_0, FN_SEL_TSIF0_1, FN_SEL_TSIF0_2, FN_SEL_TSIF0_3,
156*4882a593Smuzhiyun FN_SEL_SOF0_0, FN_SEL_SOF0_1, FN_SEL_SOF0_2,
157*4882a593Smuzhiyun
158*4882a593Smuzhiyun /* MOD_SEL2 */
159*4882a593Smuzhiyun FN_SEL_SCIF0_0, FN_SEL_SCIF0_1, FN_SEL_SCIF0_2, FN_SEL_SCIF0_3,
160*4882a593Smuzhiyun FN_SEL_SCIF0_4,
161*4882a593Smuzhiyun FN_SEL_SCIF_0, FN_SEL_SCIF_1,
162*4882a593Smuzhiyun FN_SEL_CAN0_0, FN_SEL_CAN0_1, FN_SEL_CAN0_2, FN_SEL_CAN0_3,
163*4882a593Smuzhiyun FN_SEL_CAN0_4, FN_SEL_CAN0_5,
164*4882a593Smuzhiyun FN_SEL_CAN1_0, FN_SEL_CAN1_1, FN_SEL_CAN1_2, FN_SEL_CAN1_3,
165*4882a593Smuzhiyun FN_SEL_SCIFA2_0, FN_SEL_SCIFA2_1,
166*4882a593Smuzhiyun FN_SEL_SCIF4_0, FN_SEL_SCIF4_1, FN_SEL_SCIF4_2,
167*4882a593Smuzhiyun FN_SEL_ADG_0, FN_SEL_ADG_1,
168*4882a593Smuzhiyun FN_SEL_FM_0, FN_SEL_FM_1, FN_SEL_FM_2, FN_SEL_FM_3, FN_SEL_FM_4,
169*4882a593Smuzhiyun FN_SEL_SCIFA5_0, FN_SEL_SCIFA5_1, FN_SEL_SCIFA5_2,
170*4882a593Smuzhiyun FN_SEL_GPS_0, FN_SEL_GPS_1, FN_SEL_GPS_2, FN_SEL_GPS_3,
171*4882a593Smuzhiyun FN_SEL_SCIFA4_0, FN_SEL_SCIFA4_1, FN_SEL_SCIFA4_2,
172*4882a593Smuzhiyun FN_SEL_SCIFA3_0, FN_SEL_SCIFA3_1, FN_SEL_SCIFA3_2,
173*4882a593Smuzhiyun FN_SEL_SIM_0, FN_SEL_SIM_1,
174*4882a593Smuzhiyun FN_SEL_SSI8_0, FN_SEL_SSI8_1,
175*4882a593Smuzhiyun
176*4882a593Smuzhiyun /* MOD_SEL3 */
177*4882a593Smuzhiyun FN_SEL_HSCIF2_0, FN_SEL_HSCIF2_1, FN_SEL_HSCIF2_2, FN_SEL_HSCIF2_3,
178*4882a593Smuzhiyun FN_SEL_CANCLK_0, FN_SEL_CANCLK_1, FN_SEL_CANCLK_2, FN_SEL_CANCLK_3,
179*4882a593Smuzhiyun FN_SEL_IIC8_0, FN_SEL_IIC8_1, FN_SEL_IIC8_2,
180*4882a593Smuzhiyun FN_SEL_IIC7_0, FN_SEL_IIC7_1, FN_SEL_IIC7_2,
181*4882a593Smuzhiyun FN_SEL_IIC4_0, FN_SEL_IIC4_1, FN_SEL_IIC4_2,
182*4882a593Smuzhiyun FN_SEL_IIC3_0, FN_SEL_IIC3_1, FN_SEL_IIC3_2, FN_SEL_IIC3_3,
183*4882a593Smuzhiyun FN_SEL_SCIF3_0, FN_SEL_SCIF3_1, FN_SEL_SCIF3_2, FN_SEL_SCIF3_3,
184*4882a593Smuzhiyun FN_SEL_IEB_0, FN_SEL_IEB_1, FN_SEL_IEB_2,
185*4882a593Smuzhiyun FN_SEL_MMC_0, FN_SEL_MMC_1,
186*4882a593Smuzhiyun FN_SEL_SCIF5_0, FN_SEL_SCIF5_1,
187*4882a593Smuzhiyun FN_SEL_IIC2_0, FN_SEL_IIC2_1, FN_SEL_IIC2_2, FN_SEL_IIC2_3,
188*4882a593Smuzhiyun FN_SEL_IIC1_0, FN_SEL_IIC1_1, FN_SEL_IIC1_2, FN_SEL_IIC1_3,
189*4882a593Smuzhiyun FN_SEL_IIC1_4,
190*4882a593Smuzhiyun FN_SEL_IIC0_0, FN_SEL_IIC0_1, FN_SEL_IIC0_2,
191*4882a593Smuzhiyun
192*4882a593Smuzhiyun /* MOD_SEL4 */
193*4882a593Smuzhiyun FN_SEL_SOF1_0, FN_SEL_SOF1_1, FN_SEL_SOF1_2, FN_SEL_SOF1_3,
194*4882a593Smuzhiyun FN_SEL_SOF1_4,
195*4882a593Smuzhiyun FN_SEL_HSCIF0_0, FN_SEL_HSCIF0_1, FN_SEL_HSCIF0_2,
196*4882a593Smuzhiyun FN_SEL_DIS_0, FN_SEL_DIS_1, FN_SEL_DIS_2,
197*4882a593Smuzhiyun FN_SEL_RAD_0, FN_SEL_RAD_1,
198*4882a593Smuzhiyun FN_SEL_RCN_0, FN_SEL_RCN_1,
199*4882a593Smuzhiyun FN_SEL_RSP_0, FN_SEL_RSP_1,
200*4882a593Smuzhiyun FN_SEL_SCIF2_0, FN_SEL_SCIF2_1, FN_SEL_SCIF2_2, FN_SEL_SCIF2_3,
201*4882a593Smuzhiyun FN_SEL_SCIF2_4,
202*4882a593Smuzhiyun FN_SEL_SOF2_0, FN_SEL_SOF2_1, FN_SEL_SOF2_2, FN_SEL_SOF2_3,
203*4882a593Smuzhiyun FN_SEL_SOF2_4,
204*4882a593Smuzhiyun FN_SEL_SSI1_0, FN_SEL_SSI1_1,
205*4882a593Smuzhiyun FN_SEL_SSI0_0, FN_SEL_SSI0_1,
206*4882a593Smuzhiyun FN_SEL_SSP_0, FN_SEL_SSP_1, FN_SEL_SSP_2,
207*4882a593Smuzhiyun PINMUX_FUNCTION_END,
208*4882a593Smuzhiyun
209*4882a593Smuzhiyun PINMUX_MARK_BEGIN,
210*4882a593Smuzhiyun
211*4882a593Smuzhiyun EX_CS0_N_MARK, RD_N_MARK,
212*4882a593Smuzhiyun
213*4882a593Smuzhiyun AUDIO_CLKA_MARK,
214*4882a593Smuzhiyun
215*4882a593Smuzhiyun VI0_CLK_MARK, VI0_DATA0_VI0_B0_MARK, VI0_DATA0_VI0_B1_MARK,
216*4882a593Smuzhiyun VI0_DATA0_VI0_B2_MARK, VI0_DATA0_VI0_B4_MARK, VI0_DATA0_VI0_B5_MARK,
217*4882a593Smuzhiyun VI0_DATA0_VI0_B6_MARK, VI0_DATA0_VI0_B7_MARK,
218*4882a593Smuzhiyun
219*4882a593Smuzhiyun USB0_PWEN_MARK, USB0_OVC_MARK, USB1_PWEN_MARK,
220*4882a593Smuzhiyun
221*4882a593Smuzhiyun /* IPSR0 IPSR10 */
222*4882a593Smuzhiyun /* IPSR11 */
223*4882a593Smuzhiyun VI0_R5_MARK, VI2_DATA6_MARK, GLO_SDATA_B_MARK, RX0_C_MARK, SDA1_D_MARK,
224*4882a593Smuzhiyun VI0_R6_MARK, VI2_DATA7_MARK, GLO_SS_B_MARK, TX1_C_MARK, SCL4_B_MARK,
225*4882a593Smuzhiyun VI0_R7_MARK, GLO_RFON_B_MARK, RX1_C_MARK, CAN0_RX_E_MARK,
226*4882a593Smuzhiyun SDA4_B_MARK, _MARK, HRX1_D_MARK, SCIFB0_RXD_D_MARK,
227*4882a593Smuzhiyun VI1_HSYNC_N_MARK, AVB_RXD0_MARK, TS_SDATA0_B_MARK,
228*4882a593Smuzhiyun TX4_B_MARK, SCIFA4_TXD_B_MARK,
229*4882a593Smuzhiyun VI1_VSYNC_N_MARK, AVB_RXD1_MARK, TS_SCK0_B_MARK,
230*4882a593Smuzhiyun RX4_B_MARK, SCIFA4_RXD_B_MARK,
231*4882a593Smuzhiyun VI1_CLKENB_MARK, AVB_RXD2_MARK, TS_SDEN0_B_MARK,
232*4882a593Smuzhiyun VI1_FIELD_MARK, AVB_RXD3_MARK, TS_SPSYNC0_B_MARK,
233*4882a593Smuzhiyun VI1_CLK_MARK, AVB_RXD4_MARK, VI1_DATA0_MARK, AVB_RXD5_MARK,
234*4882a593Smuzhiyun VI1_DATA1_MARK, AVB_RXD6_MARK, VI1_DATA2_MARK, AVB_RXD7_MARK,
235*4882a593Smuzhiyun VI1_DATA3_MARK, AVB_RX_ER_MARK, VI1_DATA4_MARK, AVB_MDIO_MARK,
236*4882a593Smuzhiyun VI1_DATA5_MARK, AVB_RX_DV_MARK, VI1_DATA6_MARK, AVB_MAGIC_MARK,
237*4882a593Smuzhiyun VI1_DATA7_MARK, AVB_MDC_MARK,
238*4882a593Smuzhiyun ETH_MDIO_MARK, AVB_RX_CLK_MARK, SCL2_C_MARK,
239*4882a593Smuzhiyun ETH_CRS_DV_MARK, AVB_LINK_MARK, SDA2_C_MARK,
240*4882a593Smuzhiyun
241*4882a593Smuzhiyun /* IPSR12 */
242*4882a593Smuzhiyun ETH_RX_ER_MARK, AVB_CRS_MARK, SCL3_MARK, SCL7_MARK,
243*4882a593Smuzhiyun ETH_RXD0_MARK, AVB_PHY_INT_MARK, SDA3_MARK, SDA7_MARK,
244*4882a593Smuzhiyun ETH_RXD1_MARK, AVB_GTXREFCLK_MARK, CAN0_TX_C_MARK,
245*4882a593Smuzhiyun SCL2_D_MARK, MSIOF1_RXD_E_MARK,
246*4882a593Smuzhiyun ETH_LINK_MARK, AVB_TXD0_MARK, CAN0_RX_C_MARK,
247*4882a593Smuzhiyun SDA2_D_MARK, MSIOF1_SCK_E_MARK,
248*4882a593Smuzhiyun ETH_REFCLK_MARK, AVB_TXD1_MARK, SCIFA3_RXD_B_MARK,
249*4882a593Smuzhiyun CAN1_RX_C_MARK, MSIOF1_SYNC_E_MARK,
250*4882a593Smuzhiyun ETH_TXD1_MARK, AVB_TXD2_MARK, SCIFA3_TXD_B_MARK,
251*4882a593Smuzhiyun CAN1_TX_C_MARK, MSIOF1_TXD_E_MARK,
252*4882a593Smuzhiyun ETH_TX_EN_MARK, AVB_TXD3_MARK, TCLK1_B_MARK, CAN_CLK_B_MARK,
253*4882a593Smuzhiyun ETH_MAGIC_MARK, AVB_TXD4_MARK, IETX_C_MARK,
254*4882a593Smuzhiyun ETH_TXD0_MARK, AVB_TXD5_MARK, IECLK_C_MARK,
255*4882a593Smuzhiyun ETH_MDC_MARK, AVB_TXD6_MARK, IERX_C_MARK,
256*4882a593Smuzhiyun STP_IVCXO27_0_MARK, AVB_TXD7_MARK, SCIFB2_TXD_D_MARK,
257*4882a593Smuzhiyun ADIDATA_B_MARK, MSIOF0_SYNC_C_MARK,
258*4882a593Smuzhiyun STP_ISCLK_0_MARK, AVB_TX_EN_MARK, SCIFB2_RXD_D_MARK,
259*4882a593Smuzhiyun ADICS_SAMP_B_MARK, MSIOF0_SCK_C_MARK,
260*4882a593Smuzhiyun
261*4882a593Smuzhiyun /* IPSR13 */
262*4882a593Smuzhiyun PINMUX_MARK_END,
263*4882a593Smuzhiyun };
264*4882a593Smuzhiyun
265*4882a593Smuzhiyun static pinmux_enum_t pinmux_data[] = {
266*4882a593Smuzhiyun PINMUX_DATA_GP_ALL(), /* PINMUX_DATA(GP_M_N_DATA, GP_M_N_FN...), */
267*4882a593Smuzhiyun
268*4882a593Smuzhiyun /* OTHER IPSR0 - IPSR10 */
269*4882a593Smuzhiyun /* IPSR11 */
270*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP11_2_0, VI0_R5),
271*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP11_2_0, VI2_DATA6),
272*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_2_0, GLO_SDATA_B, SEL_GPS_1),
273*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_2_0, RX0_C, SEL_SCIF0_2),
274*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_2_0, SDA1_D, SEL_IIC1_3),
275*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP11_5_3, VI0_R6),
276*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP11_5_3, VI2_DATA7),
277*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_5_3, GLO_SS_B, SEL_GPS_1),
278*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_5_3, TX1_C, SEL_SCIF1_2),
279*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_5_3, SCL4_B, SEL_IIC4_1),
280*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP11_8_6, VI0_R7),
281*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_8_6, GLO_RFON_B, SEL_GPS_1),
282*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_8_6, RX1_C, SEL_SCIF1_2),
283*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_8_6, CAN0_RX_E, SEL_CAN0_4),
284*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_8_6, SDA4_B, SEL_IIC4_1),
285*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_8_6, HRX1_D, SEL_HSCIF1_3),
286*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_8_6, SCIFB0_RXD_D, SEL_SCIFB_3),
287*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_11_9, VI1_HSYNC_N, SEL_VI1_0),
288*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP11_11_9, AVB_RXD0),
289*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_11_9, TS_SDATA0_B, SEL_TSIF0_1),
290*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_11_9, TX4_B, SEL_SCIF4_1),
291*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_11_9, SCIFA4_TXD_B, SEL_SCIFA4_1),
292*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_14_12, VI1_VSYNC_N, SEL_VI1_0),
293*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP11_14_12, AVB_RXD1),
294*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_14_12, TS_SCK0_B, SEL_TSIF0_1),
295*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_14_12, RX4_B, SEL_SCIF4_1),
296*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_14_12, SCIFA4_RXD_B, SEL_SCIFA4_1),
297*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_16_15, VI1_CLKENB, SEL_VI1_0),
298*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP11_16_15, AVB_RXD2),
299*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_16_15, TS_SDEN0_B, SEL_TSIF0_1),
300*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_18_17, VI1_FIELD, SEL_VI1_0),
301*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP11_18_17, AVB_RXD3),
302*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_18_17, TS_SPSYNC0_B, SEL_TSIF0_1),
303*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_19, VI1_CLK, SEL_VI1_0),
304*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP11_19, AVB_RXD4),
305*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_20, VI1_DATA0, SEL_VI1_0),
306*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP11_20, AVB_RXD5),
307*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_21, VI1_DATA1, SEL_VI1_0),
308*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP11_21, AVB_RXD6),
309*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_22, VI1_DATA2, SEL_VI1_0),
310*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP11_22, AVB_RXD7),
311*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_23, VI1_DATA3, SEL_VI1_0),
312*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP11_23, AVB_RX_ER),
313*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_24, VI1_DATA4, SEL_VI1_0),
314*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP11_24, AVB_MDIO),
315*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_25, VI1_DATA5, SEL_VI1_0),
316*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP11_25, AVB_RX_DV),
317*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_26, VI1_DATA6, SEL_VI1_0),
318*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP11_26, AVB_MAGIC),
319*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_27, VI1_DATA7, SEL_VI1_0),
320*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP11_27, AVB_MDC),
321*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP11_29_28, ETH_MDIO),
322*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP11_29_28, AVB_RX_CLK),
323*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_29_28, SCL2_C, SEL_IIC2_2),
324*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP11_31_30, ETH_CRS_DV),
325*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP11_31_30, AVB_LINK),
326*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP11_31_30, SDA2_C, SEL_IIC2_2),
327*4882a593Smuzhiyun
328*4882a593Smuzhiyun /* IPSR12 */
329*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP12_1_0, ETH_RX_ER),
330*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP12_1_0, AVB_CRS),
331*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_1_0, SCL3, SEL_IIC3_0),
332*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_1_0, SCL7, SEL_IIC7_0),
333*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP12_3_2, ETH_RXD0),
334*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP12_3_2, AVB_PHY_INT),
335*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_3_2, SDA3, SEL_IIC3_0),
336*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_3_2, SDA7, SEL_IIC7_0),
337*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP12_6_4, ETH_RXD1),
338*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP12_6_4, AVB_GTXREFCLK),
339*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_6_4, CAN0_TX_C, SEL_CAN0_2),
340*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_6_4, SCL2_D, SEL_IIC2_3),
341*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_6_4, MSIOF1_RXD_E, SEL_SOF1_4),
342*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP12_9_7, ETH_LINK),
343*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP12_9_7, AVB_TXD0),
344*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_9_7, CAN0_RX_C, SEL_CAN0_2),
345*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_9_7, SDA2_D, SEL_IIC2_3),
346*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_9_7, MSIOF1_SCK_E, SEL_SOF1_4),
347*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP12_12_10, ETH_REFCLK),
348*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP12_12_10, AVB_TXD1),
349*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_12_10, SCIFA3_RXD_B, SEL_SCIFA3_1),
350*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_12_10, CAN1_RX_C, SEL_CAN1_2),
351*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_12_10, MSIOF1_SYNC_E, SEL_SOF1_4),
352*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP12_15_13, ETH_TXD1),
353*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP12_15_13, AVB_TXD2),
354*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_15_13, SCIFA3_TXD_B, SEL_SCIFA3_1),
355*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_15_13, CAN1_TX_C, SEL_CAN1_2),
356*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_15_13, MSIOF1_TXD_E, SEL_SOF1_4),
357*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP12_17_16, ETH_TX_EN),
358*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP12_17_16, AVB_TXD3),
359*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_17_16, TCLK1_B, SEL_TMU1_0),
360*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_17_16, CAN_CLK_B, SEL_CANCLK_1),
361*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP12_19_18, ETH_MAGIC),
362*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP12_19_18, AVB_TXD4),
363*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_19_18, IETX_C, SEL_IEB_2),
364*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP12_21_20, ETH_TXD0),
365*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP12_21_20, AVB_TXD5),
366*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_21_20, IECLK_C, SEL_IEB_2),
367*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP12_23_22, ETH_MDC),
368*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP12_23_22, AVB_TXD6),
369*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_23_22, IERX_C, SEL_IEB_2),
370*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_26_24, STP_IVCXO27_0, SEL_SSP_0),
371*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP12_26_24, AVB_TXD7),
372*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_26_24, SCIFB2_TXD_D, SEL_SCIFB2_3),
373*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_26_24, ADIDATA_B, SEL_RAD_1),
374*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_26_24, MSIOF0_SYNC_C, SEL_SOF0_2),
375*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_29_27, STP_ISCLK_0, SEL_SSP_0),
376*4882a593Smuzhiyun PINMUX_IPSR_DATA(IP12_29_27, AVB_TX_EN),
377*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_29_27, SCIFB2_RXD_D, SEL_SCIFB2_3),
378*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_29_27, ADICS_SAMP_B, SEL_RAD_1),
379*4882a593Smuzhiyun PINMUX_IPSR_MODSEL_DATA(IP12_29_27, MSIOF0_SCK_C, SEL_SOF0_2),
380*4882a593Smuzhiyun
381*4882a593Smuzhiyun /* IPSR13 - IPSR16 */
382*4882a593Smuzhiyun };
383*4882a593Smuzhiyun
384*4882a593Smuzhiyun static struct pinmux_gpio pinmux_gpios[] = {
385*4882a593Smuzhiyun PINMUX_GPIO_GP_ALL(),
386*4882a593Smuzhiyun
387*4882a593Smuzhiyun /* OTHER, IPSR0 - IPSR10 */
388*4882a593Smuzhiyun /* IPSR11 */
389*4882a593Smuzhiyun GPIO_FN(VI0_R5), GPIO_FN(VI2_DATA6), GPIO_FN(GLO_SDATA_B),
390*4882a593Smuzhiyun GPIO_FN(RX0_C), GPIO_FN(SDA1_D),
391*4882a593Smuzhiyun GPIO_FN(VI0_R6), GPIO_FN(VI2_DATA7),
392*4882a593Smuzhiyun GPIO_FN(GLO_SS_B), GPIO_FN(TX1_C), GPIO_FN(SCL4_B),
393*4882a593Smuzhiyun GPIO_FN(VI0_R7), GPIO_FN(GLO_RFON_B),
394*4882a593Smuzhiyun GPIO_FN(RX1_C), GPIO_FN(CAN0_RX_E),
395*4882a593Smuzhiyun GPIO_FN(SDA4_B), GPIO_FN(HRX1_D), GPIO_FN(SCIFB0_RXD_D),
396*4882a593Smuzhiyun GPIO_FN(VI1_HSYNC_N), GPIO_FN(AVB_RXD0), GPIO_FN(TS_SDATA0_B),
397*4882a593Smuzhiyun GPIO_FN(TX4_B), GPIO_FN(SCIFA4_TXD_B),
398*4882a593Smuzhiyun GPIO_FN(VI1_VSYNC_N), GPIO_FN(AVB_RXD1), GPIO_FN(TS_SCK0_B),
399*4882a593Smuzhiyun GPIO_FN(RX4_B), GPIO_FN(SCIFA4_RXD_B),
400*4882a593Smuzhiyun GPIO_FN(VI1_CLKENB), GPIO_FN(AVB_RXD2), GPIO_FN(TS_SDEN0_B),
401*4882a593Smuzhiyun GPIO_FN(VI1_FIELD), GPIO_FN(AVB_RXD3), GPIO_FN(TS_SPSYNC0_B),
402*4882a593Smuzhiyun GPIO_FN(VI1_CLK), GPIO_FN(AVB_RXD4),
403*4882a593Smuzhiyun GPIO_FN(VI1_DATA0), GPIO_FN(AVB_RXD5),
404*4882a593Smuzhiyun GPIO_FN(VI1_DATA1), GPIO_FN(AVB_RXD6),
405*4882a593Smuzhiyun GPIO_FN(VI1_DATA2), GPIO_FN(AVB_RXD7),
406*4882a593Smuzhiyun GPIO_FN(VI1_DATA3), GPIO_FN(AVB_RX_ER),
407*4882a593Smuzhiyun GPIO_FN(VI1_DATA4), GPIO_FN(AVB_MDIO),
408*4882a593Smuzhiyun GPIO_FN(VI1_DATA5), GPIO_FN(AVB_RX_DV),
409*4882a593Smuzhiyun GPIO_FN(VI1_DATA6), GPIO_FN(AVB_MAGIC),
410*4882a593Smuzhiyun GPIO_FN(VI1_DATA7), GPIO_FN(AVB_MDC),
411*4882a593Smuzhiyun GPIO_FN(ETH_MDIO), GPIO_FN(AVB_RX_CLK), GPIO_FN(SCL2_C),
412*4882a593Smuzhiyun GPIO_FN(ETH_CRS_DV), GPIO_FN(AVB_LINK), GPIO_FN(SDA2_C),
413*4882a593Smuzhiyun
414*4882a593Smuzhiyun /* IPSR12 */
415*4882a593Smuzhiyun GPIO_FN(ETH_RX_ER), GPIO_FN(AVB_CRS), GPIO_FN(SCL3), GPIO_FN(SCL7),
416*4882a593Smuzhiyun GPIO_FN(ETH_RXD0), GPIO_FN(AVB_PHY_INT), GPIO_FN(SDA3), GPIO_FN(SDA7),
417*4882a593Smuzhiyun GPIO_FN(ETH_RXD1), GPIO_FN(AVB_GTXREFCLK), GPIO_FN(CAN0_TX_C),
418*4882a593Smuzhiyun GPIO_FN(SCL2_D), GPIO_FN(MSIOF1_RXD_E),
419*4882a593Smuzhiyun GPIO_FN(ETH_LINK), GPIO_FN(AVB_TXD0), GPIO_FN(CAN0_RX_C),
420*4882a593Smuzhiyun GPIO_FN(SDA2_D), GPIO_FN(MSIOF1_SCK_E),
421*4882a593Smuzhiyun GPIO_FN(ETH_REFCLK), GPIO_FN(AVB_TXD1), GPIO_FN(SCIFA3_RXD_B),
422*4882a593Smuzhiyun GPIO_FN(CAN1_RX_C), GPIO_FN(MSIOF1_SYNC_E),
423*4882a593Smuzhiyun GPIO_FN(ETH_TXD1), GPIO_FN(AVB_TXD2), GPIO_FN(SCIFA3_TXD_B),
424*4882a593Smuzhiyun GPIO_FN(CAN1_TX_C), GPIO_FN(MSIOF1_TXD_E),
425*4882a593Smuzhiyun GPIO_FN(ETH_TX_EN), GPIO_FN(AVB_TXD3),
426*4882a593Smuzhiyun GPIO_FN(TCLK1_B), GPIO_FN(CAN_CLK_B),
427*4882a593Smuzhiyun GPIO_FN(ETH_MAGIC), GPIO_FN(AVB_TXD4), GPIO_FN(IETX_C),
428*4882a593Smuzhiyun GPIO_FN(ETH_TXD0), GPIO_FN(AVB_TXD5), GPIO_FN(IECLK_C),
429*4882a593Smuzhiyun GPIO_FN(ETH_MDC), GPIO_FN(AVB_TXD6), GPIO_FN(IERX_C),
430*4882a593Smuzhiyun GPIO_FN(STP_IVCXO27_0), GPIO_FN(AVB_TXD7), GPIO_FN(SCIFB2_TXD_D),
431*4882a593Smuzhiyun GPIO_FN(ADIDATA_B), GPIO_FN(MSIOF0_SYNC_C),
432*4882a593Smuzhiyun GPIO_FN(STP_ISCLK_0), GPIO_FN(AVB_TX_EN), GPIO_FN(SCIFB2_RXD_D),
433*4882a593Smuzhiyun GPIO_FN(ADICS_SAMP_B), GPIO_FN(MSIOF0_SCK_C),
434*4882a593Smuzhiyun
435*4882a593Smuzhiyun /* IPSR13 - IPSR16 */
436*4882a593Smuzhiyun };
437*4882a593Smuzhiyun
438*4882a593Smuzhiyun static struct pinmux_cfg_reg pinmux_config_regs[] = {
439*4882a593Smuzhiyun { PINMUX_CFG_REG("GPSR0", 0xE6060004, 32, 1) {
440*4882a593Smuzhiyun GP_0_31_FN, FN_IP1_22_20,
441*4882a593Smuzhiyun GP_0_30_FN, FN_IP1_19_17,
442*4882a593Smuzhiyun GP_0_29_FN, FN_IP1_16_14,
443*4882a593Smuzhiyun GP_0_28_FN, FN_IP1_13_11,
444*4882a593Smuzhiyun GP_0_27_FN, FN_IP1_10_8,
445*4882a593Smuzhiyun GP_0_26_FN, FN_IP1_7_6,
446*4882a593Smuzhiyun GP_0_25_FN, FN_IP1_5_4,
447*4882a593Smuzhiyun GP_0_24_FN, FN_IP1_3_2,
448*4882a593Smuzhiyun GP_0_23_FN, FN_IP1_1_0,
449*4882a593Smuzhiyun GP_0_22_FN, FN_IP0_30_29,
450*4882a593Smuzhiyun GP_0_21_FN, FN_IP0_28_27,
451*4882a593Smuzhiyun GP_0_20_FN, FN_IP0_26_25,
452*4882a593Smuzhiyun GP_0_19_FN, FN_IP0_24_23,
453*4882a593Smuzhiyun GP_0_18_FN, FN_IP0_22_21,
454*4882a593Smuzhiyun GP_0_17_FN, FN_IP0_20_19,
455*4882a593Smuzhiyun GP_0_16_FN, FN_IP0_18_16,
456*4882a593Smuzhiyun GP_0_15_FN, FN_IP0_15,
457*4882a593Smuzhiyun GP_0_14_FN, FN_IP0_14,
458*4882a593Smuzhiyun GP_0_13_FN, FN_IP0_13,
459*4882a593Smuzhiyun GP_0_12_FN, FN_IP0_12,
460*4882a593Smuzhiyun GP_0_11_FN, FN_IP0_11,
461*4882a593Smuzhiyun GP_0_10_FN, FN_IP0_10,
462*4882a593Smuzhiyun GP_0_9_FN, FN_IP0_9,
463*4882a593Smuzhiyun GP_0_8_FN, FN_IP0_8,
464*4882a593Smuzhiyun GP_0_7_FN, FN_IP0_7,
465*4882a593Smuzhiyun GP_0_6_FN, FN_IP0_6,
466*4882a593Smuzhiyun GP_0_5_FN, FN_IP0_5,
467*4882a593Smuzhiyun GP_0_4_FN, FN_IP0_4,
468*4882a593Smuzhiyun GP_0_3_FN, FN_IP0_3,
469*4882a593Smuzhiyun GP_0_2_FN, FN_IP0_2,
470*4882a593Smuzhiyun GP_0_1_FN, FN_IP0_1,
471*4882a593Smuzhiyun GP_0_0_FN, FN_IP0_0, }
472*4882a593Smuzhiyun },
473*4882a593Smuzhiyun { PINMUX_CFG_REG("GPSR1", 0xE6060008, 32, 1) {
474*4882a593Smuzhiyun 0, 0,
475*4882a593Smuzhiyun 0, 0,
476*4882a593Smuzhiyun 0, 0,
477*4882a593Smuzhiyun 0, 0,
478*4882a593Smuzhiyun 0, 0,
479*4882a593Smuzhiyun 0, 0,
480*4882a593Smuzhiyun GP_1_25_FN, FN_IP3_21_20,
481*4882a593Smuzhiyun GP_1_24_FN, FN_IP3_19_18,
482*4882a593Smuzhiyun GP_1_23_FN, FN_IP3_17_16,
483*4882a593Smuzhiyun GP_1_22_FN, FN_IP3_15_14,
484*4882a593Smuzhiyun GP_1_21_FN, FN_IP3_13_12,
485*4882a593Smuzhiyun GP_1_20_FN, FN_IP3_11_9,
486*4882a593Smuzhiyun GP_1_19_FN, FN_RD_N,
487*4882a593Smuzhiyun GP_1_18_FN, FN_IP3_8_6,
488*4882a593Smuzhiyun GP_1_17_FN, FN_IP3_5_3,
489*4882a593Smuzhiyun GP_1_16_FN, FN_IP3_2_0,
490*4882a593Smuzhiyun GP_1_15_FN, FN_IP2_29_27,
491*4882a593Smuzhiyun GP_1_14_FN, FN_IP2_26_25,
492*4882a593Smuzhiyun GP_1_13_FN, FN_IP2_24_23,
493*4882a593Smuzhiyun GP_1_12_FN, FN_EX_CS0_N,
494*4882a593Smuzhiyun GP_1_11_FN, FN_IP2_22_21,
495*4882a593Smuzhiyun GP_1_10_FN, FN_IP2_20_19,
496*4882a593Smuzhiyun GP_1_9_FN, FN_IP2_18_16,
497*4882a593Smuzhiyun GP_1_8_FN, FN_IP2_15_13,
498*4882a593Smuzhiyun GP_1_7_FN, FN_IP2_12_10,
499*4882a593Smuzhiyun GP_1_6_FN, FN_IP2_9_7,
500*4882a593Smuzhiyun GP_1_5_FN, FN_IP2_6_5,
501*4882a593Smuzhiyun GP_1_4_FN, FN_IP2_4_3,
502*4882a593Smuzhiyun GP_1_3_FN, FN_IP2_2_0,
503*4882a593Smuzhiyun GP_1_2_FN, FN_IP1_31_29,
504*4882a593Smuzhiyun GP_1_1_FN, FN_IP1_28_26,
505*4882a593Smuzhiyun GP_1_0_FN, FN_IP1_25_23, }
506*4882a593Smuzhiyun },
507*4882a593Smuzhiyun { PINMUX_CFG_REG("GPSR2", 0xE606000C, 32, 1) {
508*4882a593Smuzhiyun GP_2_31_FN, FN_IP6_7_6,
509*4882a593Smuzhiyun GP_2_30_FN, FN_IP6_5_3,
510*4882a593Smuzhiyun GP_2_29_FN, FN_IP6_2_0,
511*4882a593Smuzhiyun GP_2_28_FN, FN_AUDIO_CLKA,
512*4882a593Smuzhiyun GP_2_27_FN, FN_IP5_31_29,
513*4882a593Smuzhiyun GP_2_26_FN, FN_IP5_28_26,
514*4882a593Smuzhiyun GP_2_25_FN, FN_IP5_25_24,
515*4882a593Smuzhiyun GP_2_24_FN, FN_IP5_23_22,
516*4882a593Smuzhiyun GP_2_23_FN, FN_IP5_21_20,
517*4882a593Smuzhiyun GP_2_22_FN, FN_IP5_19_17,
518*4882a593Smuzhiyun GP_2_21_FN, FN_IP5_16_15,
519*4882a593Smuzhiyun GP_2_20_FN, FN_IP5_14_12,
520*4882a593Smuzhiyun GP_2_19_FN, FN_IP5_11_9,
521*4882a593Smuzhiyun GP_2_18_FN, FN_IP5_8_6,
522*4882a593Smuzhiyun GP_2_17_FN, FN_IP5_5_3,
523*4882a593Smuzhiyun GP_2_16_FN, FN_IP5_2_0,
524*4882a593Smuzhiyun GP_2_15_FN, FN_IP4_30_28,
525*4882a593Smuzhiyun GP_2_14_FN, FN_IP4_27_26,
526*4882a593Smuzhiyun GP_2_13_FN, FN_IP4_25_24,
527*4882a593Smuzhiyun GP_2_12_FN, FN_IP4_23_22,
528*4882a593Smuzhiyun GP_2_11_FN, FN_IP4_21,
529*4882a593Smuzhiyun GP_2_10_FN, FN_IP4_20,
530*4882a593Smuzhiyun GP_2_9_FN, FN_IP4_19,
531*4882a593Smuzhiyun GP_2_8_FN, FN_IP4_18_16,
532*4882a593Smuzhiyun GP_2_7_FN, FN_IP4_15_13,
533*4882a593Smuzhiyun GP_2_6_FN, FN_IP4_12_10,
534*4882a593Smuzhiyun GP_2_5_FN, FN_IP4_9_8,
535*4882a593Smuzhiyun GP_2_4_FN, FN_IP4_7_5,
536*4882a593Smuzhiyun GP_2_3_FN, FN_IP4_4_2,
537*4882a593Smuzhiyun GP_2_2_FN, FN_IP4_1_0,
538*4882a593Smuzhiyun GP_2_1_FN, FN_IP3_30_28,
539*4882a593Smuzhiyun GP_2_0_FN, FN_IP3_27_25 }
540*4882a593Smuzhiyun },
541*4882a593Smuzhiyun { PINMUX_CFG_REG("GPSR3", 0xE6060010, 32, 1) {
542*4882a593Smuzhiyun GP_3_31_FN, FN_IP9_18_17,
543*4882a593Smuzhiyun GP_3_30_FN, FN_IP9_16,
544*4882a593Smuzhiyun GP_3_29_FN, FN_IP9_15_13,
545*4882a593Smuzhiyun GP_3_28_FN, FN_IP9_12,
546*4882a593Smuzhiyun GP_3_27_FN, FN_IP9_11,
547*4882a593Smuzhiyun GP_3_26_FN, FN_IP9_10_8,
548*4882a593Smuzhiyun GP_3_25_FN, FN_IP9_7,
549*4882a593Smuzhiyun GP_3_24_FN, FN_IP9_6,
550*4882a593Smuzhiyun GP_3_23_FN, FN_IP9_5_3,
551*4882a593Smuzhiyun GP_3_22_FN, FN_IP9_2_0,
552*4882a593Smuzhiyun GP_3_21_FN, FN_IP8_30_28,
553*4882a593Smuzhiyun GP_3_20_FN, FN_IP8_27_26,
554*4882a593Smuzhiyun GP_3_19_FN, FN_IP8_25_24,
555*4882a593Smuzhiyun GP_3_18_FN, FN_IP8_23_21,
556*4882a593Smuzhiyun GP_3_17_FN, FN_IP8_20_18,
557*4882a593Smuzhiyun GP_3_16_FN, FN_IP8_17_15,
558*4882a593Smuzhiyun GP_3_15_FN, FN_IP8_14_12,
559*4882a593Smuzhiyun GP_3_14_FN, FN_IP8_11_9,
560*4882a593Smuzhiyun GP_3_13_FN, FN_IP8_8_6,
561*4882a593Smuzhiyun GP_3_12_FN, FN_IP8_5_3,
562*4882a593Smuzhiyun GP_3_11_FN, FN_IP8_2_0,
563*4882a593Smuzhiyun GP_3_10_FN, FN_IP7_29_27,
564*4882a593Smuzhiyun GP_3_9_FN, FN_IP7_26_24,
565*4882a593Smuzhiyun GP_3_8_FN, FN_IP7_23_21,
566*4882a593Smuzhiyun GP_3_7_FN, FN_IP7_20_19,
567*4882a593Smuzhiyun GP_3_6_FN, FN_IP7_18_17,
568*4882a593Smuzhiyun GP_3_5_FN, FN_IP7_16_15,
569*4882a593Smuzhiyun GP_3_4_FN, FN_IP7_14_13,
570*4882a593Smuzhiyun GP_3_3_FN, FN_IP7_12_11,
571*4882a593Smuzhiyun GP_3_2_FN, FN_IP7_10_9,
572*4882a593Smuzhiyun GP_3_1_FN, FN_IP7_8_6,
573*4882a593Smuzhiyun GP_3_0_FN, FN_IP7_5_3 }
574*4882a593Smuzhiyun },
575*4882a593Smuzhiyun { PINMUX_CFG_REG("GPSR4", 0xE6060014, 32, 1) {
576*4882a593Smuzhiyun GP_4_31_FN, FN_IP15_5_4,
577*4882a593Smuzhiyun GP_4_30_FN, FN_IP15_3_2,
578*4882a593Smuzhiyun GP_4_29_FN, FN_IP15_1_0,
579*4882a593Smuzhiyun GP_4_28_FN, FN_IP11_8_6,
580*4882a593Smuzhiyun GP_4_27_FN, FN_IP11_5_3,
581*4882a593Smuzhiyun GP_4_26_FN, FN_IP11_2_0,
582*4882a593Smuzhiyun GP_4_25_FN, FN_IP10_31_29,
583*4882a593Smuzhiyun GP_4_24_FN, FN_IP10_28_27,
584*4882a593Smuzhiyun GP_4_23_FN, FN_IP10_26_25,
585*4882a593Smuzhiyun GP_4_22_FN, FN_IP10_24_22,
586*4882a593Smuzhiyun GP_4_21_FN, FN_IP10_21_19,
587*4882a593Smuzhiyun GP_4_20_FN, FN_IP10_18_17,
588*4882a593Smuzhiyun GP_4_19_FN, FN_IP10_16_15,
589*4882a593Smuzhiyun GP_4_18_FN, FN_IP10_14_12,
590*4882a593Smuzhiyun GP_4_17_FN, FN_IP10_11_9,
591*4882a593Smuzhiyun GP_4_16_FN, FN_IP10_8_6,
592*4882a593Smuzhiyun GP_4_15_FN, FN_IP10_5_3,
593*4882a593Smuzhiyun GP_4_14_FN, FN_IP10_2_0,
594*4882a593Smuzhiyun GP_4_13_FN, FN_IP9_31_29,
595*4882a593Smuzhiyun GP_4_12_FN, FN_VI0_DATA0_VI0_B7,
596*4882a593Smuzhiyun GP_4_11_FN, FN_VI0_DATA0_VI0_B6,
597*4882a593Smuzhiyun GP_4_10_FN, FN_VI0_DATA0_VI0_B5,
598*4882a593Smuzhiyun GP_4_9_FN, FN_VI0_DATA0_VI0_B4,
599*4882a593Smuzhiyun GP_4_8_FN, FN_IP9_28_27,
600*4882a593Smuzhiyun GP_4_7_FN, FN_VI0_DATA0_VI0_B2,
601*4882a593Smuzhiyun GP_4_6_FN, FN_VI0_DATA0_VI0_B1,
602*4882a593Smuzhiyun GP_4_5_FN, FN_VI0_DATA0_VI0_B0,
603*4882a593Smuzhiyun GP_4_4_FN, FN_IP9_26_25,
604*4882a593Smuzhiyun GP_4_3_FN, FN_IP9_24_23,
605*4882a593Smuzhiyun GP_4_2_FN, FN_IP9_22_21,
606*4882a593Smuzhiyun GP_4_1_FN, FN_IP9_20_19,
607*4882a593Smuzhiyun GP_4_0_FN, FN_VI0_CLK }
608*4882a593Smuzhiyun },
609*4882a593Smuzhiyun { PINMUX_CFG_REG("GPSR5", 0xE6060018, 32, 1) {
610*4882a593Smuzhiyun GP_5_31_FN, FN_IP3_24_22,
611*4882a593Smuzhiyun GP_5_30_FN, FN_IP13_9_7,
612*4882a593Smuzhiyun GP_5_29_FN, FN_IP13_6_5,
613*4882a593Smuzhiyun GP_5_28_FN, FN_IP13_4_3,
614*4882a593Smuzhiyun GP_5_27_FN, FN_IP13_2_0,
615*4882a593Smuzhiyun GP_5_26_FN, FN_IP12_29_27,
616*4882a593Smuzhiyun GP_5_25_FN, FN_IP12_26_24,
617*4882a593Smuzhiyun GP_5_24_FN, FN_IP12_23_22,
618*4882a593Smuzhiyun GP_5_23_FN, FN_IP12_21_20,
619*4882a593Smuzhiyun GP_5_22_FN, FN_IP12_19_18,
620*4882a593Smuzhiyun GP_5_21_FN, FN_IP12_17_16,
621*4882a593Smuzhiyun GP_5_20_FN, FN_IP12_15_13,
622*4882a593Smuzhiyun GP_5_19_FN, FN_IP12_12_10,
623*4882a593Smuzhiyun GP_5_18_FN, FN_IP12_9_7,
624*4882a593Smuzhiyun GP_5_17_FN, FN_IP12_6_4,
625*4882a593Smuzhiyun GP_5_16_FN, FN_IP12_3_2,
626*4882a593Smuzhiyun GP_5_15_FN, FN_IP12_1_0,
627*4882a593Smuzhiyun GP_5_14_FN, FN_IP11_31_30,
628*4882a593Smuzhiyun GP_5_13_FN, FN_IP11_29_28,
629*4882a593Smuzhiyun GP_5_12_FN, FN_IP11_27,
630*4882a593Smuzhiyun GP_5_11_FN, FN_IP11_26,
631*4882a593Smuzhiyun GP_5_10_FN, FN_IP11_25,
632*4882a593Smuzhiyun GP_5_9_FN, FN_IP11_24,
633*4882a593Smuzhiyun GP_5_8_FN, FN_IP11_23,
634*4882a593Smuzhiyun GP_5_7_FN, FN_IP11_22,
635*4882a593Smuzhiyun GP_5_6_FN, FN_IP11_21,
636*4882a593Smuzhiyun GP_5_5_FN, FN_IP11_20,
637*4882a593Smuzhiyun GP_5_4_FN, FN_IP11_19,
638*4882a593Smuzhiyun GP_5_3_FN, FN_IP11_18_17,
639*4882a593Smuzhiyun GP_5_2_FN, FN_IP11_16_15,
640*4882a593Smuzhiyun GP_5_1_FN, FN_IP11_14_12,
641*4882a593Smuzhiyun GP_5_0_FN, FN_IP11_11_9 }
642*4882a593Smuzhiyun },
643*4882a593Smuzhiyun { PINMUX_CFG_REG("GPSR6", 0xE606001C, 32, 1) {
644*4882a593Smuzhiyun 0, 0,
645*4882a593Smuzhiyun 0, 0,
646*4882a593Smuzhiyun GP_6_29_FN, FN_IP14_31_29,
647*4882a593Smuzhiyun GP_6_28_FN, FN_IP14_28_26,
648*4882a593Smuzhiyun GP_6_27_FN, FN_IP14_25_23,
649*4882a593Smuzhiyun GP_6_26_FN, FN_IP14_22_20,
650*4882a593Smuzhiyun GP_6_25_FN, FN_IP14_19_17,
651*4882a593Smuzhiyun GP_6_24_FN, FN_IP14_16_14,
652*4882a593Smuzhiyun GP_6_23_FN, FN_IP14_13_11,
653*4882a593Smuzhiyun GP_6_22_FN, FN_IP14_10_8,
654*4882a593Smuzhiyun GP_6_21_FN, FN_IP14_7,
655*4882a593Smuzhiyun GP_6_20_FN, FN_IP14_6,
656*4882a593Smuzhiyun GP_6_19_FN, FN_IP14_5,
657*4882a593Smuzhiyun GP_6_18_FN, FN_IP14_4,
658*4882a593Smuzhiyun GP_6_17_FN, FN_IP14_3,
659*4882a593Smuzhiyun GP_6_16_FN, FN_IP14_2,
660*4882a593Smuzhiyun GP_6_15_FN, FN_IP14_1_0,
661*4882a593Smuzhiyun GP_6_14_FN, FN_IP13_30_28,
662*4882a593Smuzhiyun GP_6_13_FN, FN_IP13_27,
663*4882a593Smuzhiyun GP_6_12_FN, FN_IP13_26,
664*4882a593Smuzhiyun GP_6_11_FN, FN_IP13_25,
665*4882a593Smuzhiyun GP_6_10_FN, FN_IP13_24_23,
666*4882a593Smuzhiyun GP_6_9_FN, FN_IP13_22,
667*4882a593Smuzhiyun 0, 0,
668*4882a593Smuzhiyun GP_6_7_FN, FN_IP13_21_19,
669*4882a593Smuzhiyun GP_6_6_FN, FN_IP13_18_16,
670*4882a593Smuzhiyun GP_6_5_FN, FN_IP13_15,
671*4882a593Smuzhiyun GP_6_4_FN, FN_IP13_14,
672*4882a593Smuzhiyun GP_6_3_FN, FN_IP13_13,
673*4882a593Smuzhiyun GP_6_2_FN, FN_IP13_12,
674*4882a593Smuzhiyun GP_6_1_FN, FN_IP13_11,
675*4882a593Smuzhiyun GP_6_0_FN, FN_IP13_10 }
676*4882a593Smuzhiyun },
677*4882a593Smuzhiyun { PINMUX_CFG_REG("GPSR7", 0xE6060074, 32, 1) {
678*4882a593Smuzhiyun 0, 0,
679*4882a593Smuzhiyun 0, 0,
680*4882a593Smuzhiyun 0, 0,
681*4882a593Smuzhiyun 0, 0,
682*4882a593Smuzhiyun 0, 0,
683*4882a593Smuzhiyun 0, 0,
684*4882a593Smuzhiyun GP_7_25_FN, FN_USB1_PWEN,
685*4882a593Smuzhiyun GP_7_24_FN, FN_USB0_OVC,
686*4882a593Smuzhiyun GP_7_23_FN, FN_USB0_PWEN,
687*4882a593Smuzhiyun GP_7_22_FN, FN_IP15_14_12,
688*4882a593Smuzhiyun GP_7_21_FN, FN_IP15_11_9,
689*4882a593Smuzhiyun GP_7_20_FN, FN_IP15_8_6,
690*4882a593Smuzhiyun GP_7_19_FN, FN_IP7_2_0,
691*4882a593Smuzhiyun GP_7_18_FN, FN_IP6_29_27,
692*4882a593Smuzhiyun GP_7_17_FN, FN_IP6_26_24,
693*4882a593Smuzhiyun GP_7_16_FN, FN_IP6_23_21,
694*4882a593Smuzhiyun GP_7_15_FN, FN_IP6_20_19,
695*4882a593Smuzhiyun GP_7_14_FN, FN_IP6_18_16,
696*4882a593Smuzhiyun GP_7_13_FN, FN_IP6_15_14,
697*4882a593Smuzhiyun GP_7_12_FN, FN_IP6_13_12,
698*4882a593Smuzhiyun GP_7_11_FN, FN_IP6_11_10,
699*4882a593Smuzhiyun GP_7_10_FN, FN_IP6_9_8,
700*4882a593Smuzhiyun GP_7_9_FN, FN_IP16_11_10,
701*4882a593Smuzhiyun GP_7_8_FN, FN_IP16_9_8,
702*4882a593Smuzhiyun GP_7_7_FN, FN_IP16_7_6,
703*4882a593Smuzhiyun GP_7_6_FN, FN_IP16_5_3,
704*4882a593Smuzhiyun GP_7_5_FN, FN_IP16_2_0,
705*4882a593Smuzhiyun GP_7_4_FN, FN_IP15_29_27,
706*4882a593Smuzhiyun GP_7_3_FN, FN_IP15_26_24,
707*4882a593Smuzhiyun GP_7_2_FN, FN_IP15_23_21,
708*4882a593Smuzhiyun GP_7_1_FN, FN_IP15_20_18,
709*4882a593Smuzhiyun GP_7_0_FN, FN_IP15_17_15 }
710*4882a593Smuzhiyun },
711*4882a593Smuzhiyun /* IPSR0 - IPSR10 */
712*4882a593Smuzhiyun { PINMUX_CFG_REG_VAR("IPSR11", 0xE606004C, 32,
713*4882a593Smuzhiyun 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
714*4882a593Smuzhiyun 3, 3, 3, 3, 3) {
715*4882a593Smuzhiyun /* IP11_31_30 [2] */
716*4882a593Smuzhiyun FN_ETH_CRS_DV, FN_AVB_LINK, FN_SDA2_C, 0,
717*4882a593Smuzhiyun /* IP11_29_28 [2] */
718*4882a593Smuzhiyun FN_ETH_MDIO, FN_AVB_RX_CLK, FN_SCL2_C, 0,
719*4882a593Smuzhiyun /* IP11_27 [1] */
720*4882a593Smuzhiyun FN_VI1_DATA7, FN_AVB_MDC,
721*4882a593Smuzhiyun /* IP11_26 [1] */
722*4882a593Smuzhiyun FN_VI1_DATA6, FN_AVB_MAGIC,
723*4882a593Smuzhiyun /* IP11_25 [1] */
724*4882a593Smuzhiyun FN_VI1_DATA5, FN_AVB_RX_DV,
725*4882a593Smuzhiyun /* IP11_24 [1] */
726*4882a593Smuzhiyun FN_VI1_DATA4, FN_AVB_MDIO,
727*4882a593Smuzhiyun /* IP11_23 [1] */
728*4882a593Smuzhiyun FN_VI1_DATA3, FN_AVB_RX_ER,
729*4882a593Smuzhiyun /* IP11_22 [1] */
730*4882a593Smuzhiyun FN_VI1_DATA2, FN_AVB_RXD7,
731*4882a593Smuzhiyun /* IP11_21 [1] */
732*4882a593Smuzhiyun FN_VI1_DATA1, FN_AVB_RXD6,
733*4882a593Smuzhiyun /* IP11_20 [1] */
734*4882a593Smuzhiyun FN_VI1_DATA0, FN_AVB_RXD5,
735*4882a593Smuzhiyun /* IP11_19 [1] */
736*4882a593Smuzhiyun FN_VI1_CLK, FN_AVB_RXD4,
737*4882a593Smuzhiyun /* IP11_18_17 [2] */
738*4882a593Smuzhiyun FN_VI1_FIELD, FN_AVB_RXD3, FN_TS_SPSYNC0_B, 0,
739*4882a593Smuzhiyun /* IP11_16_15 [2] */
740*4882a593Smuzhiyun FN_VI1_CLKENB, FN_AVB_RXD2, FN_TS_SDEN0_B, 0,
741*4882a593Smuzhiyun /* IP11_14_12 [3] */
742*4882a593Smuzhiyun FN_VI1_VSYNC_N, FN_AVB_RXD1, FN_TS_SCK0_B,
743*4882a593Smuzhiyun FN_RX4_B, FN_SCIFA4_RXD_B,
744*4882a593Smuzhiyun 0, 0, 0,
745*4882a593Smuzhiyun /* IP11_11_9 [3] */
746*4882a593Smuzhiyun FN_VI1_HSYNC_N, FN_AVB_RXD0, FN_TS_SDATA0_B,
747*4882a593Smuzhiyun FN_TX4_B, FN_SCIFA4_TXD_B,
748*4882a593Smuzhiyun 0, 0, 0,
749*4882a593Smuzhiyun /* IP11_8_6 [3] */
750*4882a593Smuzhiyun FN_VI0_R7, FN_GLO_RFON_B, FN_RX1_C, FN_CAN0_RX_E,
751*4882a593Smuzhiyun FN_SDA4_B, FN_HRX1_D, FN_SCIFB0_RXD_D, 0,
752*4882a593Smuzhiyun /* IP11_5_3 [3] */
753*4882a593Smuzhiyun FN_VI0_R6, FN_VI2_DATA7, FN_GLO_SS_B, FN_TX1_C, FN_SCL4_B,
754*4882a593Smuzhiyun 0, 0, 0,
755*4882a593Smuzhiyun /* IP11_2_0 [3] */
756*4882a593Smuzhiyun FN_VI0_R5, FN_VI2_DATA6, FN_GLO_SDATA_B, FN_RX0_C, FN_SDA1_D,
757*4882a593Smuzhiyun 0, 0, 0, }
758*4882a593Smuzhiyun },
759*4882a593Smuzhiyun { PINMUX_CFG_REG_VAR("IPSR12", 0xE6060050, 32,
760*4882a593Smuzhiyun 2, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 2, 2) {
761*4882a593Smuzhiyun /* IP12_31_30 [2] */
762*4882a593Smuzhiyun 0, 0, 0, 0,
763*4882a593Smuzhiyun /* IP12_29_27 [3] */
764*4882a593Smuzhiyun FN_STP_ISCLK_0, FN_AVB_TX_EN, FN_SCIFB2_RXD_D,
765*4882a593Smuzhiyun FN_ADICS_SAMP_B, FN_MSIOF0_SCK_C,
766*4882a593Smuzhiyun 0, 0, 0,
767*4882a593Smuzhiyun /* IP12_26_24 [3] */
768*4882a593Smuzhiyun FN_STP_IVCXO27_0, FN_AVB_TXD7, FN_SCIFB2_TXD_D,
769*4882a593Smuzhiyun FN_ADIDATA_B, FN_MSIOF0_SYNC_C,
770*4882a593Smuzhiyun 0, 0, 0,
771*4882a593Smuzhiyun /* IP12_23_22 [2] */
772*4882a593Smuzhiyun FN_ETH_MDC, FN_AVB_TXD6, FN_IERX_C, 0,
773*4882a593Smuzhiyun /* IP12_21_20 [2] */
774*4882a593Smuzhiyun FN_ETH_TXD0, FN_AVB_TXD5, FN_IECLK_C, 0,
775*4882a593Smuzhiyun /* IP12_19_18 [2] */
776*4882a593Smuzhiyun FN_ETH_MAGIC, FN_AVB_TXD4, FN_IETX_C, 0,
777*4882a593Smuzhiyun /* IP12_17_16 [2] */
778*4882a593Smuzhiyun FN_ETH_TX_EN, FN_AVB_TXD3, FN_TCLK1_B, FN_CAN_CLK_B,
779*4882a593Smuzhiyun /* IP12_15_13 [3] */
780*4882a593Smuzhiyun FN_ETH_TXD1, FN_AVB_TXD2, FN_SCIFA3_TXD_B,
781*4882a593Smuzhiyun FN_CAN1_TX_C, FN_MSIOF1_TXD_E,
782*4882a593Smuzhiyun 0, 0, 0,
783*4882a593Smuzhiyun /* IP12_12_10 [3] */
784*4882a593Smuzhiyun FN_ETH_REFCLK, FN_AVB_TXD1, FN_SCIFA3_RXD_B,
785*4882a593Smuzhiyun FN_CAN1_RX_C, FN_MSIOF1_SYNC_E,
786*4882a593Smuzhiyun 0, 0, 0,
787*4882a593Smuzhiyun /* IP12_9_7 [3] */
788*4882a593Smuzhiyun FN_ETH_LINK, FN_AVB_TXD0, FN_CAN0_RX_C,
789*4882a593Smuzhiyun FN_SDA2_D, FN_MSIOF1_SCK_E,
790*4882a593Smuzhiyun 0, 0, 0,
791*4882a593Smuzhiyun /* IP12_6_4 [3] */
792*4882a593Smuzhiyun FN_ETH_RXD1, FN_AVB_GTXREFCLK, FN_CAN0_TX_C,
793*4882a593Smuzhiyun FN_SCL2_D, FN_MSIOF1_RXD_E,
794*4882a593Smuzhiyun 0, 0, 0,
795*4882a593Smuzhiyun /* IP12_3_2 [2] */
796*4882a593Smuzhiyun FN_ETH_RXD0, FN_AVB_PHY_INT, FN_SDA3, FN_SDA7,
797*4882a593Smuzhiyun /* IP12_1_0 [2] */
798*4882a593Smuzhiyun FN_ETH_RX_ER, FN_AVB_CRS, FN_SCL3, FN_SCL7, }
799*4882a593Smuzhiyun },
800*4882a593Smuzhiyun
801*4882a593Smuzhiyun /* IPSR13 - IPSR16 */
802*4882a593Smuzhiyun
803*4882a593Smuzhiyun { PINMUX_CFG_REG_VAR("MOD_SEL", 0xE6060090, 32,
804*4882a593Smuzhiyun 1, 2, 2, 2, 3, 2, 1, 1, 1, 1,
805*4882a593Smuzhiyun 3, 2, 2, 2, 1, 2, 2, 2) {
806*4882a593Smuzhiyun /* RESEVED [1] */
807*4882a593Smuzhiyun 0, 0,
808*4882a593Smuzhiyun /* SEL_SCIF1 [2] */
809*4882a593Smuzhiyun FN_SEL_SCIF1_0, FN_SEL_SCIF1_1, FN_SEL_SCIF1_2, FN_SEL_SCIF1_3,
810*4882a593Smuzhiyun /* SEL_SCIFB [2] */
811*4882a593Smuzhiyun FN_SEL_SCIFB_0, FN_SEL_SCIFB_1, FN_SEL_SCIFB_2, FN_SEL_SCIFB_3,
812*4882a593Smuzhiyun /* SEL_SCIFB2 [2] */
813*4882a593Smuzhiyun FN_SEL_SCIFB2_0, FN_SEL_SCIFB2_1,
814*4882a593Smuzhiyun FN_SEL_SCIFB2_2, FN_SEL_SCIFB2_3,
815*4882a593Smuzhiyun /* SEL_SCIFB1 [3] */
816*4882a593Smuzhiyun FN_SEL_SCIFB1_0, FN_SEL_SCIFB1_1,
817*4882a593Smuzhiyun FN_SEL_SCIFB1_2, FN_SEL_SCIFB1_3,
818*4882a593Smuzhiyun 0, 0, 0, 0,
819*4882a593Smuzhiyun /* SEL_SCIFA1 [2] */
820*4882a593Smuzhiyun FN_SEL_SCIFA1_0, FN_SEL_SCIFA1_1, FN_SEL_SCIFA1_2, 0,
821*4882a593Smuzhiyun /* SEL_SSI9 [1] */
822*4882a593Smuzhiyun FN_SEL_SSI9_0, FN_SEL_SSI9_1,
823*4882a593Smuzhiyun /* SEL_SCFA [1] */
824*4882a593Smuzhiyun FN_SEL_SCFA_0, FN_SEL_SCFA_1,
825*4882a593Smuzhiyun /* SEL_QSP [1] */
826*4882a593Smuzhiyun FN_SEL_QSP_0, FN_SEL_QSP_1,
827*4882a593Smuzhiyun /* SEL_SSI7 [1] */
828*4882a593Smuzhiyun FN_SEL_SSI7_0, FN_SEL_SSI7_1,
829*4882a593Smuzhiyun /* SEL_HSCIF1 [3] */
830*4882a593Smuzhiyun FN_SEL_HSCIF1_0, FN_SEL_HSCIF1_1, FN_SEL_HSCIF1_2,
831*4882a593Smuzhiyun FN_SEL_HSCIF1_3, FN_SEL_HSCIF1_4,
832*4882a593Smuzhiyun 0, 0, 0,
833*4882a593Smuzhiyun /* RESEVED [2] */
834*4882a593Smuzhiyun 0, 0, 0, 0,
835*4882a593Smuzhiyun /* SEL_VI1 [2] */
836*4882a593Smuzhiyun FN_SEL_VI1_0, FN_SEL_VI1_1, FN_SEL_VI1_2, 0,
837*4882a593Smuzhiyun /* RESEVED [2] */
838*4882a593Smuzhiyun 0, 0, 0, 0,
839*4882a593Smuzhiyun /* SEL_TMU [1] */
840*4882a593Smuzhiyun FN_SEL_TMU1_0, FN_SEL_TMU1_1,
841*4882a593Smuzhiyun /* SEL_LBS [2] */
842*4882a593Smuzhiyun FN_SEL_LBS_0, FN_SEL_LBS_1, FN_SEL_LBS_2, FN_SEL_LBS_3,
843*4882a593Smuzhiyun /* SEL_TSIF0 [2] */
844*4882a593Smuzhiyun FN_SEL_TSIF0_0, FN_SEL_TSIF0_1, FN_SEL_TSIF0_2, FN_SEL_TSIF0_3,
845*4882a593Smuzhiyun /* SEL_SOF0 [2] */
846*4882a593Smuzhiyun FN_SEL_SOF0_0, FN_SEL_SOF0_1, FN_SEL_SOF0_2, 0, }
847*4882a593Smuzhiyun },
848*4882a593Smuzhiyun { PINMUX_CFG_REG_VAR("MOD_SEL2", 0xE6060094, 32,
849*4882a593Smuzhiyun 3, 1, 1, 3, 2, 1, 1, 2, 2,
850*4882a593Smuzhiyun 1, 3, 2, 1, 2, 2, 2, 1, 1, 1) {
851*4882a593Smuzhiyun /* SEL_SCIF0 [3] */
852*4882a593Smuzhiyun FN_SEL_SCIF0_0, FN_SEL_SCIF0_1, FN_SEL_SCIF0_2,
853*4882a593Smuzhiyun FN_SEL_SCIF0_3, FN_SEL_SCIF0_4,
854*4882a593Smuzhiyun 0, 0, 0,
855*4882a593Smuzhiyun /* RESEVED [1] */
856*4882a593Smuzhiyun 0, 0,
857*4882a593Smuzhiyun /* SEL_SCIF [1] */
858*4882a593Smuzhiyun FN_SEL_SCIF_0, FN_SEL_SCIF_1,
859*4882a593Smuzhiyun /* SEL_CAN0 [3] */
860*4882a593Smuzhiyun FN_SEL_CAN0_0, FN_SEL_CAN0_1, FN_SEL_CAN0_2, FN_SEL_CAN0_3,
861*4882a593Smuzhiyun FN_SEL_CAN0_4, FN_SEL_CAN0_5,
862*4882a593Smuzhiyun 0, 0,
863*4882a593Smuzhiyun /* SEL_CAN1 [2] */
864*4882a593Smuzhiyun FN_SEL_CAN1_0, FN_SEL_CAN1_1, FN_SEL_CAN1_2, FN_SEL_CAN1_3,
865*4882a593Smuzhiyun /* RESEVED [1] */
866*4882a593Smuzhiyun 0, 0,
867*4882a593Smuzhiyun /* SEL_SCIFA2 [1] */
868*4882a593Smuzhiyun FN_SEL_SCIFA2_0, FN_SEL_SCIFA2_1,
869*4882a593Smuzhiyun /* SEL_SCIF4 [2] */
870*4882a593Smuzhiyun FN_SEL_SCIF4_0, FN_SEL_SCIF4_1, FN_SEL_SCIF4_2, 0,
871*4882a593Smuzhiyun /* RESEVED [2] */
872*4882a593Smuzhiyun 0, 0, 0, 0,
873*4882a593Smuzhiyun /* SEL_ADG [1] */
874*4882a593Smuzhiyun FN_SEL_ADG_0, FN_SEL_ADG_1,
875*4882a593Smuzhiyun /* SEL_FM [3] */
876*4882a593Smuzhiyun FN_SEL_FM_0, FN_SEL_FM_1, FN_SEL_FM_2,
877*4882a593Smuzhiyun FN_SEL_FM_3, FN_SEL_FM_4,
878*4882a593Smuzhiyun 0, 0, 0,
879*4882a593Smuzhiyun /* SEL_SCIFA5 [2] */
880*4882a593Smuzhiyun FN_SEL_SCIFA5_0, FN_SEL_SCIFA5_1, FN_SEL_SCIFA5_2, 0,
881*4882a593Smuzhiyun /* RESEVED [1] */
882*4882a593Smuzhiyun 0, 0,
883*4882a593Smuzhiyun /* SEL_GPS [2] */
884*4882a593Smuzhiyun FN_SEL_GPS_0, FN_SEL_GPS_1, FN_SEL_GPS_2, FN_SEL_GPS_3,
885*4882a593Smuzhiyun /* SEL_SCIFA4 [2] */
886*4882a593Smuzhiyun FN_SEL_SCIFA4_0, FN_SEL_SCIFA4_1, FN_SEL_SCIFA4_2, 0,
887*4882a593Smuzhiyun /* SEL_SCIFA3 [2] */
888*4882a593Smuzhiyun FN_SEL_SCIFA3_0, FN_SEL_SCIFA3_1, FN_SEL_SCIFA3_2, 0,
889*4882a593Smuzhiyun /* SEL_SIM [1] */
890*4882a593Smuzhiyun FN_SEL_SIM_0, FN_SEL_SIM_1,
891*4882a593Smuzhiyun /* RESEVED [1] */
892*4882a593Smuzhiyun 0, 0,
893*4882a593Smuzhiyun /* SEL_SSI8 [1] */
894*4882a593Smuzhiyun FN_SEL_SSI8_0, FN_SEL_SSI8_1, }
895*4882a593Smuzhiyun },
896*4882a593Smuzhiyun { PINMUX_CFG_REG_VAR("MOD_SEL3", 0xE6060098, 32,
897*4882a593Smuzhiyun 2, 2, 2, 2, 2, 2, 2, 2,
898*4882a593Smuzhiyun 1, 1, 2, 2, 3, 2, 2, 2, 1) {
899*4882a593Smuzhiyun /* SEL_HSCIF2 [2] */
900*4882a593Smuzhiyun FN_SEL_HSCIF2_0, FN_SEL_HSCIF2_1,
901*4882a593Smuzhiyun FN_SEL_HSCIF2_2, FN_SEL_HSCIF2_3,
902*4882a593Smuzhiyun /* SEL_CANCLK [2] */
903*4882a593Smuzhiyun FN_SEL_CANCLK_0, FN_SEL_CANCLK_1,
904*4882a593Smuzhiyun FN_SEL_CANCLK_2, FN_SEL_CANCLK_3,
905*4882a593Smuzhiyun /* SEL_IIC8 [2] */
906*4882a593Smuzhiyun FN_SEL_IIC8_0, FN_SEL_IIC8_1, FN_SEL_IIC8_2, 0,
907*4882a593Smuzhiyun /* SEL_IIC7 [2] */
908*4882a593Smuzhiyun FN_SEL_IIC7_0, FN_SEL_IIC7_1, FN_SEL_IIC7_2, 0,
909*4882a593Smuzhiyun /* SEL_IIC4 [2] */
910*4882a593Smuzhiyun FN_SEL_IIC4_0, FN_SEL_IIC4_1, FN_SEL_IIC4_2, 0,
911*4882a593Smuzhiyun /* SEL_IIC3 [2] */
912*4882a593Smuzhiyun FN_SEL_IIC3_0, FN_SEL_IIC3_1, FN_SEL_IIC3_2, FN_SEL_IIC3_3,
913*4882a593Smuzhiyun /* SEL_SCIF3 [2] */
914*4882a593Smuzhiyun FN_SEL_SCIF3_0, FN_SEL_SCIF3_1, FN_SEL_SCIF3_2, FN_SEL_SCIF3_3,
915*4882a593Smuzhiyun /* SEL_IEB [2] */
916*4882a593Smuzhiyun FN_SEL_IEB_0, FN_SEL_IEB_1, FN_SEL_IEB_2, 0,
917*4882a593Smuzhiyun /* SEL_MMC [1] */
918*4882a593Smuzhiyun FN_SEL_MMC_0, FN_SEL_MMC_1,
919*4882a593Smuzhiyun /* SEL_SCIF5 [1] */
920*4882a593Smuzhiyun FN_SEL_SCIF5_0, FN_SEL_SCIF5_1,
921*4882a593Smuzhiyun /* RESEVED [2] */
922*4882a593Smuzhiyun 0, 0, 0, 0,
923*4882a593Smuzhiyun /* SEL_IIC2 [2] */
924*4882a593Smuzhiyun FN_SEL_IIC2_0, FN_SEL_IIC2_1, FN_SEL_IIC2_2, FN_SEL_IIC2_3,
925*4882a593Smuzhiyun /* SEL_IIC1 [3] */
926*4882a593Smuzhiyun FN_SEL_IIC1_0, FN_SEL_IIC1_1, FN_SEL_IIC1_2, FN_SEL_IIC1_3,
927*4882a593Smuzhiyun FN_SEL_IIC1_4,
928*4882a593Smuzhiyun 0, 0, 0,
929*4882a593Smuzhiyun /* SEL_IIC0 [2] */
930*4882a593Smuzhiyun FN_SEL_IIC0_0, FN_SEL_IIC0_1, FN_SEL_IIC0_2, 0,
931*4882a593Smuzhiyun /* RESEVED [2] */
932*4882a593Smuzhiyun 0, 0, 0, 0,
933*4882a593Smuzhiyun /* RESEVED [2] */
934*4882a593Smuzhiyun 0, 0, 0, 0,
935*4882a593Smuzhiyun /* RESEVED [1] */
936*4882a593Smuzhiyun 0, 0, }
937*4882a593Smuzhiyun },
938*4882a593Smuzhiyun { PINMUX_CFG_REG_VAR("MOD_SEL4", 0xE606009C, 32,
939*4882a593Smuzhiyun 3, 2, 2, 1, 1, 1, 1, 3, 2,
940*4882a593Smuzhiyun 2, 3, 1, 1, 1, 2, 2, 2, 2) {
941*4882a593Smuzhiyun /* SEL_SOF1 [3] */
942*4882a593Smuzhiyun FN_SEL_SOF1_0, FN_SEL_SOF1_1, FN_SEL_SOF1_2, FN_SEL_SOF1_3,
943*4882a593Smuzhiyun FN_SEL_SOF1_4,
944*4882a593Smuzhiyun 0, 0, 0,
945*4882a593Smuzhiyun /* SEL_HSCIF0 [2] */
946*4882a593Smuzhiyun FN_SEL_HSCIF0_0, FN_SEL_HSCIF0_1, FN_SEL_HSCIF0_2, 0,
947*4882a593Smuzhiyun /* SEL_DIS [2] */
948*4882a593Smuzhiyun FN_SEL_DIS_0, FN_SEL_DIS_1, FN_SEL_DIS_2, 0,
949*4882a593Smuzhiyun /* RESEVED [1] */
950*4882a593Smuzhiyun 0, 0,
951*4882a593Smuzhiyun /* SEL_RAD [1] */
952*4882a593Smuzhiyun FN_SEL_RAD_0, FN_SEL_RAD_1,
953*4882a593Smuzhiyun /* SEL_RCN [1] */
954*4882a593Smuzhiyun FN_SEL_RCN_0, FN_SEL_RCN_1,
955*4882a593Smuzhiyun /* SEL_RSP [1] */
956*4882a593Smuzhiyun FN_SEL_RSP_0, FN_SEL_RSP_1,
957*4882a593Smuzhiyun /* SEL_SCIF2 [3] */
958*4882a593Smuzhiyun FN_SEL_SCIF2_0, FN_SEL_SCIF2_1, FN_SEL_SCIF2_2,
959*4882a593Smuzhiyun FN_SEL_SCIF2_3, FN_SEL_SCIF2_4,
960*4882a593Smuzhiyun 0, 0, 0,
961*4882a593Smuzhiyun /* RESEVED [2] */
962*4882a593Smuzhiyun 0, 0, 0, 0,
963*4882a593Smuzhiyun /* RESEVED [2] */
964*4882a593Smuzhiyun 0, 0, 0, 0,
965*4882a593Smuzhiyun /* SEL_SOF2 [3] */
966*4882a593Smuzhiyun FN_SEL_SOF2_0, FN_SEL_SOF2_1, FN_SEL_SOF2_2,
967*4882a593Smuzhiyun FN_SEL_SOF2_3, FN_SEL_SOF2_4,
968*4882a593Smuzhiyun 0, 0, 0,
969*4882a593Smuzhiyun /* RESEVED [1] */
970*4882a593Smuzhiyun 0, 0,
971*4882a593Smuzhiyun /* SEL_SSI1 [1] */
972*4882a593Smuzhiyun FN_SEL_SSI1_0, FN_SEL_SSI1_1,
973*4882a593Smuzhiyun /* SEL_SSI0 [1] */
974*4882a593Smuzhiyun FN_SEL_SSI0_0, FN_SEL_SSI0_1,
975*4882a593Smuzhiyun /* SEL_SSP [2] */
976*4882a593Smuzhiyun FN_SEL_SSP_0, FN_SEL_SSP_1, FN_SEL_SSP_2, 0,
977*4882a593Smuzhiyun /* RESEVED [2] */
978*4882a593Smuzhiyun 0, 0, 0, 0,
979*4882a593Smuzhiyun /* RESEVED [2] */
980*4882a593Smuzhiyun 0, 0, 0, 0,
981*4882a593Smuzhiyun /* RESEVED [2] */
982*4882a593Smuzhiyun 0, 0, 0, 0, }
983*4882a593Smuzhiyun },
984*4882a593Smuzhiyun { PINMUX_CFG_REG("INOUTSEL0", 0xE6050004, 32, 1) { GP_INOUTSEL(0) } },
985*4882a593Smuzhiyun { PINMUX_CFG_REG("INOUTSEL1", 0xE6051004, 32, 1) {
986*4882a593Smuzhiyun 0, 0,
987*4882a593Smuzhiyun 0, 0,
988*4882a593Smuzhiyun 0, 0,
989*4882a593Smuzhiyun 0, 0,
990*4882a593Smuzhiyun 0, 0,
991*4882a593Smuzhiyun 0, 0,
992*4882a593Smuzhiyun GP_1_25_IN, GP_1_25_OUT,
993*4882a593Smuzhiyun GP_1_24_IN, GP_1_24_OUT,
994*4882a593Smuzhiyun GP_1_23_IN, GP_1_23_OUT,
995*4882a593Smuzhiyun GP_1_22_IN, GP_1_22_OUT,
996*4882a593Smuzhiyun GP_1_21_IN, GP_1_21_OUT,
997*4882a593Smuzhiyun GP_1_20_IN, GP_1_20_OUT,
998*4882a593Smuzhiyun GP_1_19_IN, GP_1_19_OUT,
999*4882a593Smuzhiyun GP_1_18_IN, GP_1_18_OUT,
1000*4882a593Smuzhiyun GP_1_17_IN, GP_1_17_OUT,
1001*4882a593Smuzhiyun GP_1_16_IN, GP_1_16_OUT,
1002*4882a593Smuzhiyun GP_1_15_IN, GP_1_15_OUT,
1003*4882a593Smuzhiyun GP_1_14_IN, GP_1_14_OUT,
1004*4882a593Smuzhiyun GP_1_13_IN, GP_1_13_OUT,
1005*4882a593Smuzhiyun GP_1_12_IN, GP_1_12_OUT,
1006*4882a593Smuzhiyun GP_1_11_IN, GP_1_11_OUT,
1007*4882a593Smuzhiyun GP_1_10_IN, GP_1_10_OUT,
1008*4882a593Smuzhiyun GP_1_9_IN, GP_1_9_OUT,
1009*4882a593Smuzhiyun GP_1_8_IN, GP_1_8_OUT,
1010*4882a593Smuzhiyun GP_1_7_IN, GP_1_7_OUT,
1011*4882a593Smuzhiyun GP_1_6_IN, GP_1_6_OUT,
1012*4882a593Smuzhiyun GP_1_5_IN, GP_1_5_OUT,
1013*4882a593Smuzhiyun GP_1_4_IN, GP_1_4_OUT,
1014*4882a593Smuzhiyun GP_1_3_IN, GP_1_3_OUT,
1015*4882a593Smuzhiyun GP_1_2_IN, GP_1_2_OUT,
1016*4882a593Smuzhiyun GP_1_1_IN, GP_1_1_OUT,
1017*4882a593Smuzhiyun GP_1_0_IN, GP_1_0_OUT, }
1018*4882a593Smuzhiyun },
1019*4882a593Smuzhiyun { PINMUX_CFG_REG("INOUTSEL2", 0xE6052004, 32, 1) { GP_INOUTSEL(2) } },
1020*4882a593Smuzhiyun { PINMUX_CFG_REG("INOUTSEL3", 0xE6053004, 32, 1) { GP_INOUTSEL(3) } },
1021*4882a593Smuzhiyun { PINMUX_CFG_REG("INOUTSEL4", 0xE6054004, 32, 1) { GP_INOUTSEL(4) } },
1022*4882a593Smuzhiyun { PINMUX_CFG_REG("INOUTSEL5", 0xE6055004, 32, 1) { GP_INOUTSEL(5) } },
1023*4882a593Smuzhiyun { PINMUX_CFG_REG("INOUTSEL6", 0xE6055404, 32, 1) { GP_INOUTSEL(6) } },
1024*4882a593Smuzhiyun { PINMUX_CFG_REG("INOUTSEL7", 0xE6055804, 32, 1) {
1025*4882a593Smuzhiyun 0, 0,
1026*4882a593Smuzhiyun 0, 0,
1027*4882a593Smuzhiyun 0, 0,
1028*4882a593Smuzhiyun 0, 0,
1029*4882a593Smuzhiyun 0, 0,
1030*4882a593Smuzhiyun 0, 0,
1031*4882a593Smuzhiyun GP_7_25_IN, GP_7_25_OUT,
1032*4882a593Smuzhiyun GP_7_24_IN, GP_7_24_OUT,
1033*4882a593Smuzhiyun GP_7_23_IN, GP_7_23_OUT,
1034*4882a593Smuzhiyun GP_7_22_IN, GP_7_22_OUT,
1035*4882a593Smuzhiyun GP_7_21_IN, GP_7_21_OUT,
1036*4882a593Smuzhiyun GP_7_20_IN, GP_7_20_OUT,
1037*4882a593Smuzhiyun GP_7_19_IN, GP_7_19_OUT,
1038*4882a593Smuzhiyun GP_7_18_IN, GP_7_18_OUT,
1039*4882a593Smuzhiyun GP_7_17_IN, GP_7_17_OUT,
1040*4882a593Smuzhiyun GP_7_16_IN, GP_7_16_OUT,
1041*4882a593Smuzhiyun GP_7_15_IN, GP_7_15_OUT,
1042*4882a593Smuzhiyun GP_7_14_IN, GP_7_14_OUT,
1043*4882a593Smuzhiyun GP_7_13_IN, GP_7_13_OUT,
1044*4882a593Smuzhiyun GP_7_12_IN, GP_7_12_OUT,
1045*4882a593Smuzhiyun GP_7_11_IN, GP_7_11_OUT,
1046*4882a593Smuzhiyun GP_7_10_IN, GP_7_10_OUT,
1047*4882a593Smuzhiyun GP_7_9_IN, GP_7_9_OUT,
1048*4882a593Smuzhiyun GP_7_8_IN, GP_7_8_OUT,
1049*4882a593Smuzhiyun GP_7_7_IN, GP_7_7_OUT,
1050*4882a593Smuzhiyun GP_7_6_IN, GP_7_6_OUT,
1051*4882a593Smuzhiyun GP_7_5_IN, GP_7_5_OUT,
1052*4882a593Smuzhiyun GP_7_4_IN, GP_7_4_OUT,
1053*4882a593Smuzhiyun GP_7_3_IN, GP_7_3_OUT,
1054*4882a593Smuzhiyun GP_7_2_IN, GP_7_2_OUT,
1055*4882a593Smuzhiyun GP_7_1_IN, GP_7_1_OUT,
1056*4882a593Smuzhiyun GP_7_0_IN, GP_7_0_OUT, }
1057*4882a593Smuzhiyun },
1058*4882a593Smuzhiyun { },
1059*4882a593Smuzhiyun };
1060*4882a593Smuzhiyun
1061*4882a593Smuzhiyun static struct pinmux_data_reg pinmux_data_regs[] = {
1062*4882a593Smuzhiyun { PINMUX_DATA_REG("INDT0", 0xE6050008, 32) { GP_INDT(0) } },
1063*4882a593Smuzhiyun { PINMUX_DATA_REG("INDT1", 0xE6051008, 32) {
1064*4882a593Smuzhiyun 0, 0, 0, 0,
1065*4882a593Smuzhiyun 0, 0, GP_1_25_DATA, GP_1_24_DATA,
1066*4882a593Smuzhiyun GP_1_23_DATA, GP_1_22_DATA, GP_1_21_DATA, GP_1_20_DATA,
1067*4882a593Smuzhiyun GP_1_19_DATA, GP_1_18_DATA, GP_1_17_DATA, GP_1_16_DATA,
1068*4882a593Smuzhiyun GP_1_15_DATA, GP_1_14_DATA, GP_1_13_DATA, GP_1_12_DATA,
1069*4882a593Smuzhiyun GP_1_11_DATA, GP_1_10_DATA, GP_1_9_DATA, GP_1_8_DATA,
1070*4882a593Smuzhiyun GP_1_7_DATA, GP_1_6_DATA, GP_1_5_DATA, GP_1_4_DATA,
1071*4882a593Smuzhiyun GP_1_3_DATA, GP_1_2_DATA, GP_1_1_DATA, GP_1_0_DATA }
1072*4882a593Smuzhiyun },
1073*4882a593Smuzhiyun { PINMUX_DATA_REG("INDT2", 0xE6052008, 32) { GP_INDT(2) } },
1074*4882a593Smuzhiyun { PINMUX_DATA_REG("INDT3", 0xE6053008, 32) { GP_INDT(3) } },
1075*4882a593Smuzhiyun { PINMUX_DATA_REG("INDT4", 0xE6054008, 32) { GP_INDT(4) } },
1076*4882a593Smuzhiyun { PINMUX_DATA_REG("INDT5", 0xE6055008, 32) { GP_INDT(5) } },
1077*4882a593Smuzhiyun { PINMUX_DATA_REG("INDT6", 0xE6055408, 32) { GP_INDT(6) } },
1078*4882a593Smuzhiyun { PINMUX_DATA_REG("INDT7", 0xE6055808, 32) {
1079*4882a593Smuzhiyun 0, 0, 0, 0,
1080*4882a593Smuzhiyun 0, 0, GP_7_25_DATA, GP_7_24_DATA,
1081*4882a593Smuzhiyun GP_7_23_DATA, GP_7_22_DATA, GP_7_21_DATA, GP_7_20_DATA,
1082*4882a593Smuzhiyun GP_7_19_DATA, GP_7_18_DATA, GP_7_17_DATA, GP_7_16_DATA,
1083*4882a593Smuzhiyun GP_7_15_DATA, GP_7_14_DATA, GP_7_13_DATA, GP_7_12_DATA,
1084*4882a593Smuzhiyun GP_7_11_DATA, GP_7_10_DATA, GP_7_9_DATA, GP_7_8_DATA,
1085*4882a593Smuzhiyun GP_7_7_DATA, GP_7_6_DATA, GP_7_5_DATA, GP_7_4_DATA,
1086*4882a593Smuzhiyun GP_7_3_DATA, GP_7_2_DATA, GP_7_1_DATA, GP_7_0_DATA }
1087*4882a593Smuzhiyun },
1088*4882a593Smuzhiyun { },
1089*4882a593Smuzhiyun };
1090*4882a593Smuzhiyun
1091*4882a593Smuzhiyun static struct pinmux_info r8a7791_pinmux_info = {
1092*4882a593Smuzhiyun .name = "r8a7791_pfc",
1093*4882a593Smuzhiyun
1094*4882a593Smuzhiyun .unlock_reg = 0xe6060000, /* PMMR */
1095*4882a593Smuzhiyun
1096*4882a593Smuzhiyun .reserved_id = PINMUX_RESERVED,
1097*4882a593Smuzhiyun .data = { PINMUX_DATA_BEGIN, PINMUX_DATA_END },
1098*4882a593Smuzhiyun .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END },
1099*4882a593Smuzhiyun .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END },
1100*4882a593Smuzhiyun .mark = { PINMUX_MARK_BEGIN, PINMUX_MARK_END },
1101*4882a593Smuzhiyun .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
1102*4882a593Smuzhiyun
1103*4882a593Smuzhiyun .first_gpio = GPIO_GP_0_0,
1104*4882a593Smuzhiyun .last_gpio = GPIO_FN_MSIOF0_SCK_C /* GPIO_FN_CAN1_RX_B */,
1105*4882a593Smuzhiyun
1106*4882a593Smuzhiyun .gpios = pinmux_gpios,
1107*4882a593Smuzhiyun .cfg_regs = pinmux_config_regs,
1108*4882a593Smuzhiyun .data_regs = pinmux_data_regs,
1109*4882a593Smuzhiyun
1110*4882a593Smuzhiyun .gpio_data = pinmux_data,
1111*4882a593Smuzhiyun .gpio_data_size = ARRAY_SIZE(pinmux_data),
1112*4882a593Smuzhiyun };
1113*4882a593Smuzhiyun
r8a7791_pinmux_init(void)1114*4882a593Smuzhiyun void r8a7791_pinmux_init(void)
1115*4882a593Smuzhiyun {
1116*4882a593Smuzhiyun register_pinmux(&r8a7791_pinmux_info);
1117*4882a593Smuzhiyun }
1118