xref: /linux/drivers/pinctrl/realtek/pinctrl-rtd1625.c (revision faeab166167f5787719eb8683661fd41a3bb1514)
1*e309dbd5STzuyi Chang // SPDX-License-Identifier: GPL-2.0-or-later
2*e309dbd5STzuyi Chang /*
3*e309dbd5STzuyi Chang  * Realtek DHC 1625 pin controller driver
4*e309dbd5STzuyi Chang  *
5*e309dbd5STzuyi Chang  * Copyright (c) 2023 Realtek Semiconductor Corp.
6*e309dbd5STzuyi Chang  *
7*e309dbd5STzuyi Chang  */
8*e309dbd5STzuyi Chang 
9*e309dbd5STzuyi Chang #include <linux/module.h>
10*e309dbd5STzuyi Chang #include <linux/of.h>
11*e309dbd5STzuyi Chang #include <linux/platform_device.h>
12*e309dbd5STzuyi Chang #include <linux/pinctrl/pinctrl.h>
13*e309dbd5STzuyi Chang 
14*e309dbd5STzuyi Chang #include "pinctrl-rtd.h"
15*e309dbd5STzuyi Chang 
16*e309dbd5STzuyi Chang enum rtd1625_iso_pins_enum {
17*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_8 = 0,
18*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_9,
19*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_10,
20*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_11,
21*e309dbd5STzuyi Chang 	RTD1625_ISO_USB_CC1,
22*e309dbd5STzuyi Chang 	RTD1625_ISO_USB_CC2,
23*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_45,
24*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_46,
25*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_47,
26*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_48,
27*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_49,
28*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_50,
29*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_52,
30*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_94,
31*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_95,
32*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_96,
33*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_97,
34*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_98,
35*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_99,
36*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_100,
37*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_101,
38*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_102,
39*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_103,
40*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_104,
41*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_105,
42*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_106,
43*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_107,
44*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_108,
45*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_109,
46*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_110,
47*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_111,
48*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_112,
49*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_128,
50*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_129,
51*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_130,
52*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_131,
53*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_145,
54*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_146,
55*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_147,
56*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_148,
57*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_149,
58*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_150,
59*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_151,
60*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_152,
61*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_153,
62*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_154,
63*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_155,
64*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_156,
65*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_157,
66*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_158,
67*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_159,
68*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_160,
69*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_161,
70*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_162,
71*e309dbd5STzuyi Chang 	RTD1625_ISO_GPIO_163,
72*e309dbd5STzuyi Chang 	RTD1625_ISO_HI_WIDTH,
73*e309dbd5STzuyi Chang 	RTD1625_ISO_SF_EN,
74*e309dbd5STzuyi Chang 	RTD1625_ISO_ARM_TRACE_DBG_EN,
75*e309dbd5STzuyi Chang 	RTD1625_ISO_EJTAG_AUCPU0_LOC,
76*e309dbd5STzuyi Chang 	RTD1625_ISO_EJTAG_AUCPU1_LOC,
77*e309dbd5STzuyi Chang 	RTD1625_ISO_EJTAG_VE2_LOC,
78*e309dbd5STzuyi Chang 	RTD1625_ISO_EJTAG_SCPU_LOC,
79*e309dbd5STzuyi Chang 	RTD1625_ISO_EJTAG_PCPU_LOC,
80*e309dbd5STzuyi Chang 	RTD1625_ISO_EJTAG_ACPU_LOC,
81*e309dbd5STzuyi Chang 	RTD1625_ISO_I2C6_LOC,
82*e309dbd5STzuyi Chang 	RTD1625_ISO_UART0_LOC,
83*e309dbd5STzuyi Chang 	RTD1625_ISO_AI_I2S1_LOC,
84*e309dbd5STzuyi Chang 	RTD1625_ISO_AO_I2S1_LOC,
85*e309dbd5STzuyi Chang 	RTD1625_ISO_ETN_PHY_LOC,
86*e309dbd5STzuyi Chang 	RTD1625_ISO_SPDIF_LOC,
87*e309dbd5STzuyi Chang 	RTD1625_ISO_RGMII_VDSEL,
88*e309dbd5STzuyi Chang 	RTD1625_ISO_CSI_VDSEL,
89*e309dbd5STzuyi Chang 	RTD1625_ISO_SPDIF_IN_MODE,
90*e309dbd5STzuyi Chang };
91*e309dbd5STzuyi Chang 
92*e309dbd5STzuyi Chang static const struct pinctrl_pin_desc rtd1625_iso_pins[] = {
93*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_8, "gpio_8"),
94*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_9, "gpio_9"),
95*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_10, "gpio_10"),
96*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_11, "gpio_11"),
97*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_USB_CC1, "usb_cc1"),
98*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_USB_CC2, "usb_cc2"),
99*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_45, "gpio_45"),
100*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_46, "gpio_46"),
101*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_47, "gpio_47"),
102*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_48, "gpio_48"),
103*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_49, "gpio_49"),
104*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_50, "gpio_50"),
105*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_52, "gpio_52"),
106*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_94, "gpio_94"),
107*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_95, "gpio_95"),
108*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_96, "gpio_96"),
109*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_97, "gpio_97"),
110*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_98, "gpio_98"),
111*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_99, "gpio_99"),
112*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_100, "gpio_100"),
113*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_101, "gpio_101"),
114*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_102, "gpio_102"),
115*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_103, "gpio_103"),
116*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_104, "gpio_104"),
117*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_105, "gpio_105"),
118*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_106, "gpio_106"),
119*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_107, "gpio_107"),
120*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_108, "gpio_108"),
121*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_109, "gpio_109"),
122*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_110, "gpio_110"),
123*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_111, "gpio_111"),
124*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_112, "gpio_112"),
125*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_128, "gpio_128"),
126*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_129, "gpio_129"),
127*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_130, "gpio_130"),
128*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_131, "gpio_131"),
129*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_145, "gpio_145"),
130*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_146, "gpio_146"),
131*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_147, "gpio_147"),
132*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_148, "gpio_148"),
133*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_149, "gpio_149"),
134*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_150, "gpio_150"),
135*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_151, "gpio_151"),
136*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_152, "gpio_152"),
137*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_153, "gpio_153"),
138*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_154, "gpio_154"),
139*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_155, "gpio_155"),
140*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_156, "gpio_156"),
141*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_157, "gpio_157"),
142*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_158, "gpio_158"),
143*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_159, "gpio_159"),
144*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_160, "gpio_160"),
145*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_161, "gpio_161"),
146*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_162, "gpio_162"),
147*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_GPIO_163, "gpio_163"),
148*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_HI_WIDTH, "hi_width"),
149*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_SF_EN, "sf_en"),
150*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_ARM_TRACE_DBG_EN, "arm_trace_dbg_en"),
151*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_EJTAG_AUCPU0_LOC, "ejtag_aucpu0_loc"),
152*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_EJTAG_AUCPU1_LOC, "ejtag_aucpu1_loc"),
153*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_EJTAG_VE2_LOC, "ejtag_ve2_loc"),
154*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_EJTAG_SCPU_LOC, "ejtag_scpu_loc"),
155*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_EJTAG_PCPU_LOC, "ejtag_pcpu_loc"),
156*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_EJTAG_ACPU_LOC, "ejtag_acpu_loc"),
157*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_I2C6_LOC, "i2c6_loc"),
158*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_UART0_LOC, "uart0_loc"),
159*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_AI_I2S1_LOC, "ai_i2s1_loc"),
160*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_AO_I2S1_LOC, "ao_i2s1_loc"),
161*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_ETN_PHY_LOC, "etn_phy_loc"),
162*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_SPDIF_LOC, "spdif_loc"),
163*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_RGMII_VDSEL, "rgmii_vdsel"),
164*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_CSI_VDSEL, "csi_vdsel"),
165*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISO_SPDIF_IN_MODE, "spdif_in_mode"),
166*e309dbd5STzuyi Chang };
167*e309dbd5STzuyi Chang 
168*e309dbd5STzuyi Chang enum rtd1625_isom_pins_enum {
169*e309dbd5STzuyi Chang 	RTD1625_ISOM_GPIO_0 = 0,
170*e309dbd5STzuyi Chang 	RTD1625_ISOM_GPIO_1,
171*e309dbd5STzuyi Chang 	RTD1625_ISOM_GPIO_28,
172*e309dbd5STzuyi Chang 	RTD1625_ISOM_GPIO_29,
173*e309dbd5STzuyi Chang 	RTD1625_ISOM_IR_RX_LOC,
174*e309dbd5STzuyi Chang };
175*e309dbd5STzuyi Chang 
176*e309dbd5STzuyi Chang static const struct pinctrl_pin_desc rtd1625_isom_pins[] = {
177*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISOM_GPIO_0, "gpio_0"),
178*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISOM_GPIO_1, "gpio_1"),
179*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISOM_GPIO_28, "gpio_28"),
180*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISOM_GPIO_29, "gpio_29"),
181*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_ISOM_IR_RX_LOC, "ir_rx_loc"),
182*e309dbd5STzuyi Chang };
183*e309dbd5STzuyi Chang 
184*e309dbd5STzuyi Chang enum rtd1625_ve4_pins_enum {
185*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_2 = 0,
186*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_3,
187*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_4,
188*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_5,
189*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_6,
190*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_7,
191*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_12,
192*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_13,
193*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_16,
194*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_17,
195*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_18,
196*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_19,
197*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_23,
198*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_24,
199*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_25,
200*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_30,
201*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_31,
202*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_32,
203*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_33,
204*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_34,
205*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_35,
206*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_42,
207*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_43,
208*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_44,
209*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_51,
210*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_53,
211*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_54,
212*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_55,
213*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_56,
214*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_57,
215*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_58,
216*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_59,
217*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_60,
218*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_61,
219*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_62,
220*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_63,
221*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_92,
222*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_93,
223*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_132,
224*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_133,
225*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_134,
226*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_135,
227*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_136,
228*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_137,
229*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_138,
230*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_139,
231*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_140,
232*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_141,
233*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_142,
234*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_143,
235*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_144,
236*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_164,
237*e309dbd5STzuyi Chang 	RTD1625_VE4_GPIO_165,
238*e309dbd5STzuyi Chang 	RTD1625_VE4_UART_LOC,
239*e309dbd5STzuyi Chang };
240*e309dbd5STzuyi Chang 
241*e309dbd5STzuyi Chang static const struct pinctrl_pin_desc rtd1625_ve4_pins[] = {
242*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_2, "gpio_2"),
243*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_3, "gpio_3"),
244*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_4, "gpio_4"),
245*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_5, "gpio_5"),
246*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_6, "gpio_6"),
247*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_7, "gpio_7"),
248*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_12, "gpio_12"),
249*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_13, "gpio_13"),
250*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_16, "gpio_16"),
251*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_17, "gpio_17"),
252*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_18, "gpio_18"),
253*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_19, "gpio_19"),
254*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_23, "gpio_23"),
255*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_24, "gpio_24"),
256*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_25, "gpio_25"),
257*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_30, "gpio_30"),
258*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_31, "gpio_31"),
259*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_32, "gpio_32"),
260*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_33, "gpio_33"),
261*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_34, "gpio_34"),
262*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_35, "gpio_35"),
263*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_42, "gpio_42"),
264*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_43, "gpio_43"),
265*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_44, "gpio_44"),
266*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_51, "gpio_51"),
267*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_53, "gpio_53"),
268*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_54, "gpio_54"),
269*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_55, "gpio_55"),
270*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_56, "gpio_56"),
271*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_57, "gpio_57"),
272*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_58, "gpio_58"),
273*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_59, "gpio_59"),
274*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_60, "gpio_60"),
275*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_61, "gpio_61"),
276*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_62, "gpio_62"),
277*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_63, "gpio_63"),
278*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_92, "gpio_92"),
279*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_93, "gpio_93"),
280*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_132, "gpio_132"),
281*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_133, "gpio_133"),
282*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_134, "gpio_134"),
283*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_135, "gpio_135"),
284*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_136, "gpio_136"),
285*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_137, "gpio_137"),
286*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_138, "gpio_138"),
287*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_139, "gpio_139"),
288*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_140, "gpio_140"),
289*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_141, "gpio_141"),
290*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_142, "gpio_142"),
291*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_143, "gpio_143"),
292*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_144, "gpio_144"),
293*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_164, "gpio_164"),
294*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_GPIO_165, "gpio_165"),
295*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_VE4_UART_LOC, "ve4_uart_loc"),
296*e309dbd5STzuyi Chang };
297*e309dbd5STzuyi Chang 
298*e309dbd5STzuyi Chang enum rtd1625_main2_pins_enum {
299*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_14 = 0,
300*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_15,
301*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_20,
302*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_21,
303*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_22,
304*e309dbd5STzuyi Chang 	RTD1625_MAIN2_HIF_DATA,
305*e309dbd5STzuyi Chang 	RTD1625_MAIN2_HIF_EN,
306*e309dbd5STzuyi Chang 	RTD1625_MAIN2_HIF_RDY,
307*e309dbd5STzuyi Chang 	RTD1625_MAIN2_HIF_CLK,
308*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_40,
309*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_41,
310*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_64,
311*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_65,
312*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_66,
313*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_67,
314*e309dbd5STzuyi Chang 	RTD1625_MAIN2_EMMC_DATA_0,
315*e309dbd5STzuyi Chang 	RTD1625_MAIN2_EMMC_DATA_1,
316*e309dbd5STzuyi Chang 	RTD1625_MAIN2_EMMC_DATA_2,
317*e309dbd5STzuyi Chang 	RTD1625_MAIN2_EMMC_DATA_3,
318*e309dbd5STzuyi Chang 	RTD1625_MAIN2_EMMC_DATA_4,
319*e309dbd5STzuyi Chang 	RTD1625_MAIN2_EMMC_DATA_5,
320*e309dbd5STzuyi Chang 	RTD1625_MAIN2_EMMC_DATA_6,
321*e309dbd5STzuyi Chang 	RTD1625_MAIN2_EMMC_DATA_7,
322*e309dbd5STzuyi Chang 	RTD1625_MAIN2_EMMC_RST_N,
323*e309dbd5STzuyi Chang 	RTD1625_MAIN2_EMMC_CMD,
324*e309dbd5STzuyi Chang 	RTD1625_MAIN2_EMMC_CLK,
325*e309dbd5STzuyi Chang 	RTD1625_MAIN2_EMMC_DD_SB,
326*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_80,
327*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_81,
328*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_82,
329*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_83,
330*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_84,
331*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_85,
332*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_86,
333*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_87,
334*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_88,
335*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_89,
336*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_90,
337*e309dbd5STzuyi Chang 	RTD1625_MAIN2_GPIO_91,
338*e309dbd5STzuyi Chang };
339*e309dbd5STzuyi Chang 
340*e309dbd5STzuyi Chang static const struct pinctrl_pin_desc rtd1625_main2_pins[] = {
341*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_14, "gpio_14"),
342*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_15, "gpio_15"),
343*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_20, "gpio_20"),
344*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_21, "gpio_21"),
345*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_22, "gpio_22"),
346*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_HIF_DATA, "hif_data"),
347*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_HIF_EN, "hif_en"),
348*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_HIF_RDY, "hif_rdy"),
349*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_HIF_CLK, "hif_clk"),
350*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_40, "gpio_40"),
351*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_41, "gpio_41"),
352*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_64, "gpio_64"),
353*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_65, "gpio_65"),
354*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_66, "gpio_66"),
355*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_67, "gpio_67"),
356*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_EMMC_DATA_0, "emmc_data_0"),
357*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_EMMC_DATA_1, "emmc_data_1"),
358*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_EMMC_DATA_2, "emmc_data_2"),
359*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_EMMC_DATA_3, "emmc_data_3"),
360*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_EMMC_DATA_4, "emmc_data_4"),
361*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_EMMC_DATA_5, "emmc_data_5"),
362*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_EMMC_DATA_6, "emmc_data_6"),
363*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_EMMC_DATA_7, "emmc_data_7"),
364*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_EMMC_RST_N, "emmc_rst_n"),
365*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_EMMC_CMD, "emmc_cmd"),
366*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_EMMC_CLK, "emmc_clk"),
367*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_EMMC_DD_SB, "emmc_dd_sb"),
368*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_80, "gpio_80"),
369*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_81, "gpio_81"),
370*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_82, "gpio_82"),
371*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_83, "gpio_83"),
372*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_84, "gpio_84"),
373*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_85, "gpio_85"),
374*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_86, "gpio_86"),
375*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_87, "gpio_87"),
376*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_88, "gpio_88"),
377*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_89, "gpio_89"),
378*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_90, "gpio_90"),
379*e309dbd5STzuyi Chang 	PINCTRL_PIN(RTD1625_MAIN2_GPIO_91, "gpio_91"),
380*e309dbd5STzuyi Chang };
381*e309dbd5STzuyi Chang 
382*e309dbd5STzuyi Chang #define DECLARE_RTD1625_PIN(_pin, _name) \
383*e309dbd5STzuyi Chang 	static const unsigned int rtd1625_##_name##_pins[] = { _pin }
384*e309dbd5STzuyi Chang 
385*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_8, gpio_8);
386*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_9, gpio_9);
387*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_10, gpio_10);
388*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_11, gpio_11);
389*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_USB_CC1, usb_cc1);
390*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_USB_CC2, usb_cc2);
391*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_45, gpio_45);
392*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_46, gpio_46);
393*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_47, gpio_47);
394*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_48, gpio_48);
395*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_49, gpio_49);
396*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_50, gpio_50);
397*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_52, gpio_52);
398*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_94, gpio_94);
399*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_95, gpio_95);
400*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_96, gpio_96);
401*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_97, gpio_97);
402*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_98, gpio_98);
403*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_99, gpio_99);
404*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_100, gpio_100);
405*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_101, gpio_101);
406*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_102, gpio_102);
407*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_103, gpio_103);
408*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_104, gpio_104);
409*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_105, gpio_105);
410*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_106, gpio_106);
411*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_107, gpio_107);
412*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_108, gpio_108);
413*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_109, gpio_109);
414*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_110, gpio_110);
415*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_111, gpio_111);
416*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_112, gpio_112);
417*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_128, gpio_128);
418*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_129, gpio_129);
419*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_130, gpio_130);
420*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_131, gpio_131);
421*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_145, gpio_145);
422*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_146, gpio_146);
423*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_147, gpio_147);
424*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_148, gpio_148);
425*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_149, gpio_149);
426*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_150, gpio_150);
427*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_151, gpio_151);
428*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_152, gpio_152);
429*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_153, gpio_153);
430*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_154, gpio_154);
431*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_155, gpio_155);
432*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_156, gpio_156);
433*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_157, gpio_157);
434*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_158, gpio_158);
435*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_159, gpio_159);
436*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_160, gpio_160);
437*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_161, gpio_161);
438*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_162, gpio_162);
439*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_163, gpio_163);
440*e309dbd5STzuyi Chang 
441*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_HI_WIDTH, hi_width);
442*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_SF_EN, sf_en);
443*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_ARM_TRACE_DBG_EN, arm_trace_dbg_en);
444*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_EJTAG_AUCPU0_LOC, ejtag_aucpu0_loc);
445*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_EJTAG_AUCPU1_LOC, ejtag_aucpu1_loc);
446*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_EJTAG_VE2_LOC, ejtag_ve2_loc);
447*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_EJTAG_SCPU_LOC, ejtag_scpu_loc);
448*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_EJTAG_PCPU_LOC, ejtag_pcpu_loc);
449*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_EJTAG_ACPU_LOC, ejtag_acpu_loc);
450*e309dbd5STzuyi Chang 
451*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_I2C6_LOC, i2c6_loc);
452*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_UART0_LOC, uart0_loc);
453*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_AI_I2S1_LOC, ai_i2s1_loc);
454*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_AO_I2S1_LOC, ao_i2s1_loc);
455*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_ETN_PHY_LOC, etn_phy_loc);
456*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_SPDIF_LOC, spdif_loc);
457*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_RGMII_VDSEL, rgmii_vdsel);
458*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_CSI_VDSEL, csi_vdsel);
459*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISO_SPDIF_IN_MODE, spdif_in_mode);
460*e309dbd5STzuyi Chang 
461*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISOM_GPIO_0, gpio_0);
462*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISOM_GPIO_1, gpio_1);
463*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISOM_GPIO_28, gpio_28);
464*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISOM_GPIO_29, gpio_29);
465*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_ISOM_IR_RX_LOC, ir_rx_loc);
466*e309dbd5STzuyi Chang 
467*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_2, gpio_2);
468*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_3, gpio_3);
469*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_4, gpio_4);
470*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_5, gpio_5);
471*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_6, gpio_6);
472*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_7, gpio_7);
473*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_12, gpio_12);
474*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_13, gpio_13);
475*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_16, gpio_16);
476*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_17, gpio_17);
477*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_18, gpio_18);
478*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_19, gpio_19);
479*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_23, gpio_23);
480*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_24, gpio_24);
481*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_25, gpio_25);
482*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_30, gpio_30);
483*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_31, gpio_31);
484*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_32, gpio_32);
485*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_33, gpio_33);
486*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_34, gpio_34);
487*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_35, gpio_35);
488*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_42, gpio_42);
489*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_43, gpio_43);
490*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_44, gpio_44);
491*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_51, gpio_51);
492*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_53, gpio_53);
493*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_54, gpio_54);
494*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_55, gpio_55);
495*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_56, gpio_56);
496*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_57, gpio_57);
497*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_58, gpio_58);
498*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_59, gpio_59);
499*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_60, gpio_60);
500*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_61, gpio_61);
501*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_62, gpio_62);
502*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_63, gpio_63);
503*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_92, gpio_92);
504*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_93, gpio_93);
505*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_132, gpio_132);
506*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_133, gpio_133);
507*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_134, gpio_134);
508*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_135, gpio_135);
509*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_136, gpio_136);
510*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_137, gpio_137);
511*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_138, gpio_138);
512*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_139, gpio_139);
513*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_140, gpio_140);
514*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_141, gpio_141);
515*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_142, gpio_142);
516*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_143, gpio_143);
517*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_144, gpio_144);
518*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_164, gpio_164);
519*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_165, gpio_165);
520*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_VE4_UART_LOC, ve4_uart_loc);
521*e309dbd5STzuyi Chang 
522*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_RST_N, emmc_rst_n);
523*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_DD_SB, emmc_dd_sb);
524*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_CLK, emmc_clk);
525*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_CMD, emmc_cmd);
526*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_DATA_0, emmc_data_0);
527*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_DATA_1, emmc_data_1);
528*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_DATA_2, emmc_data_2);
529*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_DATA_3, emmc_data_3);
530*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_DATA_4, emmc_data_4);
531*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_DATA_5, emmc_data_5);
532*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_DATA_6, emmc_data_6);
533*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_DATA_7, emmc_data_7);
534*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_14, gpio_14);
535*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_15, gpio_15);
536*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_20, gpio_20);
537*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_21, gpio_21);
538*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_22, gpio_22);
539*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_HIF_DATA, hif_data);
540*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_HIF_EN, hif_en);
541*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_HIF_RDY, hif_rdy);
542*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_HIF_CLK, hif_clk);
543*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_40, gpio_40);
544*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_41, gpio_41);
545*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_64, gpio_64);
546*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_65, gpio_65);
547*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_66, gpio_66);
548*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_67, gpio_67);
549*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_80, gpio_80);
550*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_81, gpio_81);
551*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_82, gpio_82);
552*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_83, gpio_83);
553*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_84, gpio_84);
554*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_85, gpio_85);
555*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_86, gpio_86);
556*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_87, gpio_87);
557*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_88, gpio_88);
558*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_89, gpio_89);
559*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_90, gpio_90);
560*e309dbd5STzuyi Chang DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_91, gpio_91);
561*e309dbd5STzuyi Chang 
562*e309dbd5STzuyi Chang #define RTD1625_GROUP(_name) \
563*e309dbd5STzuyi Chang 	{ \
564*e309dbd5STzuyi Chang 		.name = # _name, \
565*e309dbd5STzuyi Chang 		.pins = rtd1625_ ## _name ## _pins, \
566*e309dbd5STzuyi Chang 		.num_pins = ARRAY_SIZE(rtd1625_ ## _name ## _pins), \
567*e309dbd5STzuyi Chang 	}
568*e309dbd5STzuyi Chang 
569*e309dbd5STzuyi Chang static const struct rtd_pin_group_desc rtd1625_iso_pin_groups[] = {
570*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_8),
571*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_9),
572*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_10),
573*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_11),
574*e309dbd5STzuyi Chang 	RTD1625_GROUP(usb_cc1),
575*e309dbd5STzuyi Chang 	RTD1625_GROUP(usb_cc2),
576*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_45),
577*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_46),
578*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_47),
579*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_48),
580*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_49),
581*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_50),
582*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_52),
583*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_94),
584*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_95),
585*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_96),
586*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_97),
587*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_98),
588*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_99),
589*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_100),
590*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_101),
591*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_102),
592*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_103),
593*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_104),
594*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_105),
595*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_106),
596*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_107),
597*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_108),
598*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_109),
599*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_110),
600*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_111),
601*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_112),
602*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_128),
603*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_129),
604*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_130),
605*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_131),
606*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_145),
607*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_146),
608*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_147),
609*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_148),
610*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_149),
611*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_150),
612*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_151),
613*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_152),
614*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_153),
615*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_154),
616*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_155),
617*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_156),
618*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_157),
619*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_158),
620*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_159),
621*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_160),
622*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_161),
623*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_162),
624*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_163),
625*e309dbd5STzuyi Chang 	RTD1625_GROUP(hi_width),
626*e309dbd5STzuyi Chang 	RTD1625_GROUP(sf_en),
627*e309dbd5STzuyi Chang 	RTD1625_GROUP(arm_trace_dbg_en),
628*e309dbd5STzuyi Chang 	RTD1625_GROUP(ejtag_aucpu0_loc),
629*e309dbd5STzuyi Chang 	RTD1625_GROUP(ejtag_aucpu1_loc),
630*e309dbd5STzuyi Chang 	RTD1625_GROUP(ejtag_ve2_loc),
631*e309dbd5STzuyi Chang 	RTD1625_GROUP(ejtag_scpu_loc),
632*e309dbd5STzuyi Chang 	RTD1625_GROUP(ejtag_pcpu_loc),
633*e309dbd5STzuyi Chang 	RTD1625_GROUP(ejtag_acpu_loc),
634*e309dbd5STzuyi Chang 	RTD1625_GROUP(i2c6_loc),
635*e309dbd5STzuyi Chang 	RTD1625_GROUP(uart0_loc),
636*e309dbd5STzuyi Chang 	RTD1625_GROUP(ai_i2s1_loc),
637*e309dbd5STzuyi Chang 	RTD1625_GROUP(ao_i2s1_loc),
638*e309dbd5STzuyi Chang 	RTD1625_GROUP(etn_phy_loc),
639*e309dbd5STzuyi Chang 	RTD1625_GROUP(spdif_loc),
640*e309dbd5STzuyi Chang 	RTD1625_GROUP(rgmii_vdsel),
641*e309dbd5STzuyi Chang 	RTD1625_GROUP(csi_vdsel),
642*e309dbd5STzuyi Chang 	RTD1625_GROUP(spdif_in_mode),
643*e309dbd5STzuyi Chang };
644*e309dbd5STzuyi Chang 
645*e309dbd5STzuyi Chang static const struct rtd_pin_group_desc rtd1625_isom_pin_groups[] = {
646*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_0),
647*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_1),
648*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_28),
649*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_29),
650*e309dbd5STzuyi Chang 	RTD1625_GROUP(ir_rx_loc),
651*e309dbd5STzuyi Chang };
652*e309dbd5STzuyi Chang 
653*e309dbd5STzuyi Chang static const struct rtd_pin_group_desc rtd1625_ve4_pin_groups[] = {
654*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_2),
655*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_3),
656*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_4),
657*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_5),
658*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_6),
659*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_7),
660*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_12),
661*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_13),
662*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_16),
663*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_17),
664*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_18),
665*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_19),
666*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_23),
667*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_24),
668*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_25),
669*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_30),
670*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_31),
671*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_32),
672*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_33),
673*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_34),
674*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_35),
675*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_42),
676*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_43),
677*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_44),
678*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_51),
679*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_53),
680*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_54),
681*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_55),
682*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_56),
683*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_57),
684*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_58),
685*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_59),
686*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_60),
687*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_61),
688*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_62),
689*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_63),
690*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_92),
691*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_93),
692*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_132),
693*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_133),
694*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_134),
695*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_135),
696*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_136),
697*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_137),
698*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_138),
699*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_139),
700*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_140),
701*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_141),
702*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_142),
703*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_143),
704*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_144),
705*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_164),
706*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_165),
707*e309dbd5STzuyi Chang 	RTD1625_GROUP(ve4_uart_loc),
708*e309dbd5STzuyi Chang };
709*e309dbd5STzuyi Chang 
710*e309dbd5STzuyi Chang static const struct rtd_pin_group_desc rtd1625_main2_pin_groups[] = {
711*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_14),
712*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_15),
713*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_20),
714*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_21),
715*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_22),
716*e309dbd5STzuyi Chang 	RTD1625_GROUP(hif_data),
717*e309dbd5STzuyi Chang 	RTD1625_GROUP(hif_en),
718*e309dbd5STzuyi Chang 	RTD1625_GROUP(hif_rdy),
719*e309dbd5STzuyi Chang 	RTD1625_GROUP(hif_clk),
720*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_40),
721*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_41),
722*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_64),
723*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_65),
724*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_66),
725*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_67),
726*e309dbd5STzuyi Chang 	RTD1625_GROUP(emmc_data_0),
727*e309dbd5STzuyi Chang 	RTD1625_GROUP(emmc_data_1),
728*e309dbd5STzuyi Chang 	RTD1625_GROUP(emmc_data_2),
729*e309dbd5STzuyi Chang 	RTD1625_GROUP(emmc_data_3),
730*e309dbd5STzuyi Chang 	RTD1625_GROUP(emmc_data_4),
731*e309dbd5STzuyi Chang 	RTD1625_GROUP(emmc_data_5),
732*e309dbd5STzuyi Chang 	RTD1625_GROUP(emmc_data_6),
733*e309dbd5STzuyi Chang 	RTD1625_GROUP(emmc_data_7),
734*e309dbd5STzuyi Chang 	RTD1625_GROUP(emmc_rst_n),
735*e309dbd5STzuyi Chang 	RTD1625_GROUP(emmc_cmd),
736*e309dbd5STzuyi Chang 	RTD1625_GROUP(emmc_clk),
737*e309dbd5STzuyi Chang 	RTD1625_GROUP(emmc_dd_sb),
738*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_80),
739*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_81),
740*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_82),
741*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_83),
742*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_84),
743*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_85),
744*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_86),
745*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_87),
746*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_88),
747*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_89),
748*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_90),
749*e309dbd5STzuyi Chang 	RTD1625_GROUP(gpio_91),
750*e309dbd5STzuyi Chang };
751*e309dbd5STzuyi Chang 
752*e309dbd5STzuyi Chang static const char * const rtd1625_iso_gpio_groups[] = {
753*e309dbd5STzuyi Chang 	"gpio_10", "gpio_100", "gpio_101", "gpio_102", "gpio_103", "gpio_104",
754*e309dbd5STzuyi Chang 	"gpio_105", "gpio_106", "gpio_107", "gpio_108", "gpio_109", "gpio_11",
755*e309dbd5STzuyi Chang 	"gpio_110", "gpio_111", "gpio_112", "gpio_128", "gpio_129", "gpio_130",
756*e309dbd5STzuyi Chang 	"gpio_131", "gpio_145", "gpio_146", "gpio_147", "gpio_148", "gpio_149",
757*e309dbd5STzuyi Chang 	"gpio_150", "gpio_151", "gpio_152", "gpio_153", "gpio_154", "gpio_155",
758*e309dbd5STzuyi Chang 	"gpio_156", "gpio_157", "gpio_158", "gpio_159", "gpio_160", "gpio_161",
759*e309dbd5STzuyi Chang 	"gpio_162", "gpio_163", "gpio_45", "gpio_46", "gpio_47", "gpio_48",
760*e309dbd5STzuyi Chang 	"gpio_49", "gpio_50", "gpio_52", "gpio_8", "gpio_9", "gpio_94", "gpio_95",
761*e309dbd5STzuyi Chang 	"gpio_96", "gpio_97", "gpio_98", "gpio_99", "usb_cc1", "usb_cc2"
762*e309dbd5STzuyi Chang };
763*e309dbd5STzuyi Chang 
764*e309dbd5STzuyi Chang static const char * const rtd1625_iso_uart1_groups[] = {
765*e309dbd5STzuyi Chang 	"gpio_10", "gpio_11", "gpio_8", "gpio_9"
766*e309dbd5STzuyi Chang };
767*e309dbd5STzuyi Chang 
768*e309dbd5STzuyi Chang static const char * const rtd1625_iso_iso_tristate_groups[] = {
769*e309dbd5STzuyi Chang 	"gpio_10", "gpio_100", "gpio_101", "gpio_102", "gpio_103", "gpio_104",
770*e309dbd5STzuyi Chang 	"gpio_105", "gpio_106", "gpio_107", "gpio_108", "gpio_109", "gpio_11",
771*e309dbd5STzuyi Chang 	"gpio_110", "gpio_111", "gpio_112", "gpio_128", "gpio_129", "gpio_130",
772*e309dbd5STzuyi Chang 	"gpio_131", "gpio_145", "gpio_146", "gpio_147", "gpio_148", "gpio_149",
773*e309dbd5STzuyi Chang 	"gpio_150", "gpio_151", "gpio_152", "gpio_153", "gpio_154", "gpio_155",
774*e309dbd5STzuyi Chang 	"gpio_156", "gpio_157", "gpio_158", "gpio_159", "gpio_160", "gpio_161",
775*e309dbd5STzuyi Chang 	"gpio_162", "gpio_163", "gpio_45", "gpio_46", "gpio_47", "gpio_48",
776*e309dbd5STzuyi Chang 	"gpio_49", "gpio_50", "gpio_52", "gpio_8", "gpio_9", "gpio_94", "gpio_95",
777*e309dbd5STzuyi Chang 	"gpio_96", "gpio_97", "gpio_98", "gpio_99", "usb_cc1", "usb_cc2"
778*e309dbd5STzuyi Chang };
779*e309dbd5STzuyi Chang 
780*e309dbd5STzuyi Chang static const char * const rtd1625_iso_usb_cc1_groups[] = {
781*e309dbd5STzuyi Chang 	"usb_cc1"
782*e309dbd5STzuyi Chang };
783*e309dbd5STzuyi Chang 
784*e309dbd5STzuyi Chang static const char * const rtd1625_iso_usb_cc2_groups[] = {
785*e309dbd5STzuyi Chang 	"usb_cc2"
786*e309dbd5STzuyi Chang };
787*e309dbd5STzuyi Chang 
788*e309dbd5STzuyi Chang static const char * const rtd1625_iso_sdio_groups[] = {
789*e309dbd5STzuyi Chang 	"gpio_45", "gpio_46", "gpio_47", "gpio_48", "gpio_49", "gpio_50"
790*e309dbd5STzuyi Chang };
791*e309dbd5STzuyi Chang 
792*e309dbd5STzuyi Chang static const char * const rtd1625_iso_scpu_ejtag_loc2_groups[] = {
793*e309dbd5STzuyi Chang 	"ejtag_scpu_loc", "gpio_45", "gpio_46", "gpio_47", "gpio_48", "gpio_49"
794*e309dbd5STzuyi Chang };
795*e309dbd5STzuyi Chang 
796*e309dbd5STzuyi Chang static const char * const rtd1625_iso_acpu_ejtag_loc2_groups[] = {
797*e309dbd5STzuyi Chang 	"ejtag_acpu_loc", "gpio_45", "gpio_46", "gpio_47", "gpio_48", "gpio_49"
798*e309dbd5STzuyi Chang };
799*e309dbd5STzuyi Chang 
800*e309dbd5STzuyi Chang static const char * const rtd1625_iso_pcpu_ejtag_loc2_groups[] = {
801*e309dbd5STzuyi Chang 	"ejtag_pcpu_loc", "gpio_45", "gpio_46", "gpio_47", "gpio_48", "gpio_49"
802*e309dbd5STzuyi Chang };
803*e309dbd5STzuyi Chang 
804*e309dbd5STzuyi Chang static const char * const rtd1625_iso_aucpu0_ejtag_loc2_groups[] = {
805*e309dbd5STzuyi Chang 	"ejtag_aucpu0_loc", "gpio_45", "gpio_46", "gpio_47", "gpio_48", "gpio_49"
806*e309dbd5STzuyi Chang };
807*e309dbd5STzuyi Chang 
808*e309dbd5STzuyi Chang static const char * const rtd1625_iso_ve2_ejtag_loc2_groups[] = {
809*e309dbd5STzuyi Chang 	"ejtag_ve2_loc", "gpio_45", "gpio_46", "gpio_47", "gpio_48", "gpio_49"
810*e309dbd5STzuyi Chang };
811*e309dbd5STzuyi Chang 
812*e309dbd5STzuyi Chang static const char * const rtd1625_iso_aucpu1_ejtag_loc2_groups[] = {
813*e309dbd5STzuyi Chang 	"ejtag_aucpu1_loc", "gpio_45", "gpio_46", "gpio_47", "gpio_48", "gpio_49"
814*e309dbd5STzuyi Chang };
815*e309dbd5STzuyi Chang 
816*e309dbd5STzuyi Chang static const char * const rtd1625_iso_pwm4_groups[] = {
817*e309dbd5STzuyi Chang 	"gpio_52"
818*e309dbd5STzuyi Chang };
819*e309dbd5STzuyi Chang 
820*e309dbd5STzuyi Chang static const char * const rtd1625_iso_uart7_groups[] = {
821*e309dbd5STzuyi Chang 	"gpio_94", "gpio_95"
822*e309dbd5STzuyi Chang };
823*e309dbd5STzuyi Chang 
824*e309dbd5STzuyi Chang static const char * const rtd1625_iso_pwm2_loc1_groups[] = {
825*e309dbd5STzuyi Chang 	"gpio_95"
826*e309dbd5STzuyi Chang };
827*e309dbd5STzuyi Chang 
828*e309dbd5STzuyi Chang static const char * const rtd1625_iso_uart8_groups[] = {
829*e309dbd5STzuyi Chang 	"gpio_96", "gpio_97"
830*e309dbd5STzuyi Chang };
831*e309dbd5STzuyi Chang 
832*e309dbd5STzuyi Chang static const char * const rtd1625_iso_pwm3_loc1_groups[] = {
833*e309dbd5STzuyi Chang 	"gpio_97"
834*e309dbd5STzuyi Chang };
835*e309dbd5STzuyi Chang 
836*e309dbd5STzuyi Chang static const char * const rtd1625_iso_ai_tdm0_groups[] = {
837*e309dbd5STzuyi Chang 	"gpio_100", "gpio_101", "gpio_102", "gpio_98"
838*e309dbd5STzuyi Chang };
839*e309dbd5STzuyi Chang 
840*e309dbd5STzuyi Chang static const char * const rtd1625_iso_vtc_i2s_groups[] = {
841*e309dbd5STzuyi Chang 	"gpio_100", "gpio_101", "gpio_102", "gpio_161", "gpio_98"
842*e309dbd5STzuyi Chang };
843*e309dbd5STzuyi Chang 
844*e309dbd5STzuyi Chang static const char * const rtd1625_iso_ai_i2s0_groups[] = {
845*e309dbd5STzuyi Chang 	"gpio_100", "gpio_101", "gpio_102", "gpio_156", "gpio_160", "gpio_161",
846*e309dbd5STzuyi Chang 	"gpio_98"
847*e309dbd5STzuyi Chang };
848*e309dbd5STzuyi Chang 
849*e309dbd5STzuyi Chang static const char * const rtd1625_iso_ao_tdm0_groups[] = {
850*e309dbd5STzuyi Chang 	"gpio_100", "gpio_101", "gpio_102", "gpio_99"
851*e309dbd5STzuyi Chang };
852*e309dbd5STzuyi Chang 
853*e309dbd5STzuyi Chang static const char * const rtd1625_iso_ao_i2s0_groups[] = {
854*e309dbd5STzuyi Chang 	"gpio_100", "gpio_101", "gpio_102", "gpio_112", "gpio_99"
855*e309dbd5STzuyi Chang };
856*e309dbd5STzuyi Chang 
857*e309dbd5STzuyi Chang static const char * const rtd1625_iso_ai_tdm1_groups[] = {
858*e309dbd5STzuyi Chang 	"gpio_103", "gpio_105", "gpio_106", "gpio_107"
859*e309dbd5STzuyi Chang };
860*e309dbd5STzuyi Chang 
861*e309dbd5STzuyi Chang static const char * const rtd1625_iso_ai_i2s1_loc0_groups[] = {
862*e309dbd5STzuyi Chang 	"ai_i2s1_loc", "gpio_103", "gpio_105", "gpio_106", "gpio_107"
863*e309dbd5STzuyi Chang };
864*e309dbd5STzuyi Chang 
865*e309dbd5STzuyi Chang static const char * const rtd1625_iso_ao_i2s0_loc1_groups[] = {
866*e309dbd5STzuyi Chang 	"gpio_103", "gpio_107"
867*e309dbd5STzuyi Chang };
868*e309dbd5STzuyi Chang 
869*e309dbd5STzuyi Chang static const char * const rtd1625_iso_ao_tdm1_loc0_groups[] = {
870*e309dbd5STzuyi Chang 	"gpio_104"
871*e309dbd5STzuyi Chang };
872*e309dbd5STzuyi Chang 
873*e309dbd5STzuyi Chang static const char * const rtd1625_iso_ao_i2s1_loc0_groups[] = {
874*e309dbd5STzuyi Chang 	"ao_i2s1_loc", "gpio_104", "gpio_105", "gpio_106", "gpio_107"
875*e309dbd5STzuyi Chang };
876*e309dbd5STzuyi Chang 
877*e309dbd5STzuyi Chang static const char * const rtd1625_iso_ao_tdm1_groups[] = {
878*e309dbd5STzuyi Chang 	"gpio_105", "gpio_106", "gpio_107"
879*e309dbd5STzuyi Chang };
880*e309dbd5STzuyi Chang 
881*e309dbd5STzuyi Chang static const char * const rtd1625_iso_ai_tdm2_groups[] = {
882*e309dbd5STzuyi Chang 	"gpio_108", "gpio_110", "gpio_111", "gpio_112"
883*e309dbd5STzuyi Chang };
884*e309dbd5STzuyi Chang 
885*e309dbd5STzuyi Chang static const char * const rtd1625_iso_pcm_groups[] = {
886*e309dbd5STzuyi Chang 	"gpio_108", "gpio_109", "gpio_110", "gpio_111"
887*e309dbd5STzuyi Chang };
888*e309dbd5STzuyi Chang 
889*e309dbd5STzuyi Chang static const char * const rtd1625_iso_ai_i2s2_groups[] = {
890*e309dbd5STzuyi Chang 	"gpio_108", "gpio_110", "gpio_111", "gpio_112"
891*e309dbd5STzuyi Chang };
892*e309dbd5STzuyi Chang 
893*e309dbd5STzuyi Chang static const char * const rtd1625_iso_ao_tdm2_groups[] = {
894*e309dbd5STzuyi Chang 	"gpio_109", "gpio_110", "gpio_111", "gpio_112"
895*e309dbd5STzuyi Chang };
896*e309dbd5STzuyi Chang 
897*e309dbd5STzuyi Chang static const char * const rtd1625_iso_ao_i2s2_groups[] = {
898*e309dbd5STzuyi Chang 	"gpio_109", "gpio_110", "gpio_111", "gpio_112"
899*e309dbd5STzuyi Chang };
900*e309dbd5STzuyi Chang 
901*e309dbd5STzuyi Chang static const char * const rtd1625_iso_vtc_ao_i2s_groups[] = {
902*e309dbd5STzuyi Chang 	"gpio_109", "gpio_110", "gpio_111", "gpio_112"
903*e309dbd5STzuyi Chang };
904*e309dbd5STzuyi Chang 
905*e309dbd5STzuyi Chang static const char * const rtd1625_iso_scpu_ejtag_loc0_groups[] = {
906*e309dbd5STzuyi Chang 	"ejtag_scpu_loc", "gpio_112"
907*e309dbd5STzuyi Chang };
908*e309dbd5STzuyi Chang 
909*e309dbd5STzuyi Chang static const char * const rtd1625_iso_acpu_ejtag_loc0_groups[] = {
910*e309dbd5STzuyi Chang 	"ejtag_acpu_loc", "gpio_112"
911*e309dbd5STzuyi Chang };
912*e309dbd5STzuyi Chang 
913*e309dbd5STzuyi Chang static const char * const rtd1625_iso_pcpu_ejtag_loc0_groups[] = {
914*e309dbd5STzuyi Chang 	"ejtag_pcpu_loc", "gpio_112"
915*e309dbd5STzuyi Chang };
916*e309dbd5STzuyi Chang 
917*e309dbd5STzuyi Chang static const char * const rtd1625_iso_aucpu0_ejtag_loc0_groups[] = {
918*e309dbd5STzuyi Chang 	"ejtag_aucpu0_loc", "gpio_112"
919*e309dbd5STzuyi Chang };
920*e309dbd5STzuyi Chang 
921*e309dbd5STzuyi Chang static const char * const rtd1625_iso_ve2_ejtag_loc0_groups[] = {
922*e309dbd5STzuyi Chang 	"ejtag_ve2_loc", "gpio_112"
923*e309dbd5STzuyi Chang };
924*e309dbd5STzuyi Chang 
925*e309dbd5STzuyi Chang static const char * const rtd1625_iso_gpu_ejtag_loc0_groups[] = {
926*e309dbd5STzuyi Chang 	"gpio_112"
927*e309dbd5STzuyi Chang };
928*e309dbd5STzuyi Chang 
929*e309dbd5STzuyi Chang static const char * const rtd1625_iso_ao_tdm1_loc1_groups[] = {
930*e309dbd5STzuyi Chang 	"gpio_112"
931*e309dbd5STzuyi Chang };
932*e309dbd5STzuyi Chang 
933*e309dbd5STzuyi Chang static const char * const rtd1625_iso_aucpu1_ejtag_loc0_groups[] = {
934*e309dbd5STzuyi Chang 	"ejtag_aucpu1_loc", "gpio_112"
935*e309dbd5STzuyi Chang };
936*e309dbd5STzuyi Chang 
937*e309dbd5STzuyi Chang static const char * const rtd1625_iso_edptx_hdp_groups[] = {
938*e309dbd5STzuyi Chang 	"gpio_128"
939*e309dbd5STzuyi Chang };
940*e309dbd5STzuyi Chang 
941*e309dbd5STzuyi Chang static const char * const rtd1625_iso_pwm5_groups[] = {
942*e309dbd5STzuyi Chang 	"gpio_130"
943*e309dbd5STzuyi Chang };
944*e309dbd5STzuyi Chang 
945*e309dbd5STzuyi Chang static const char * const rtd1625_iso_vi0_dtv_groups[] = {
946*e309dbd5STzuyi Chang 	"gpio_145", "gpio_146", "gpio_147", "gpio_148", "gpio_149", "gpio_150",
947*e309dbd5STzuyi Chang 	"gpio_151", "gpio_152", "gpio_153", "gpio_154", "gpio_155", "gpio_156",
948*e309dbd5STzuyi Chang 	"gpio_157", "gpio_158", "gpio_159", "gpio_160", "gpio_161"
949*e309dbd5STzuyi Chang };
950*e309dbd5STzuyi Chang 
951*e309dbd5STzuyi Chang static const char * const rtd1625_iso_vi1_dtv_groups[] = {
952*e309dbd5STzuyi Chang 	"gpio_154", "gpio_155", "gpio_156", "gpio_157", "gpio_158", "gpio_159",
953*e309dbd5STzuyi Chang 	"gpio_160", "gpio_161", "gpio_162"
954*e309dbd5STzuyi Chang };
955*e309dbd5STzuyi Chang 
956*e309dbd5STzuyi Chang static const char * const rtd1625_iso_ao_i2s0_loc0_groups[] = {
957*e309dbd5STzuyi Chang 	"gpio_154", "gpio_155"
958*e309dbd5STzuyi Chang };
959*e309dbd5STzuyi Chang 
960*e309dbd5STzuyi Chang static const char * const rtd1625_iso_dmic0_groups[] = {
961*e309dbd5STzuyi Chang 	"gpio_156", "gpio_157"
962*e309dbd5STzuyi Chang };
963*e309dbd5STzuyi Chang 
964*e309dbd5STzuyi Chang static const char * const rtd1625_iso_vtc_dmic_groups[] = {
965*e309dbd5STzuyi Chang 	"gpio_156", "gpio_157", "gpio_158", "gpio_159"
966*e309dbd5STzuyi Chang };
967*e309dbd5STzuyi Chang 
968*e309dbd5STzuyi Chang static const char * const rtd1625_iso_ai_i2s1_loc1_groups[] = {
969*e309dbd5STzuyi Chang 	"ai_i2s1_loc", "gpio_157", "gpio_158", "gpio_159", "gpio_160"
970*e309dbd5STzuyi Chang };
971*e309dbd5STzuyi Chang 
972*e309dbd5STzuyi Chang static const char * const rtd1625_iso_ao_i2s1_loc1_groups[] = {
973*e309dbd5STzuyi Chang 	"ao_i2s1_loc", "gpio_157", "gpio_158", "gpio_159", "gpio_161"
974*e309dbd5STzuyi Chang };
975*e309dbd5STzuyi Chang 
976*e309dbd5STzuyi Chang static const char * const rtd1625_iso_dmic1_groups[] = {
977*e309dbd5STzuyi Chang 	"gpio_158", "gpio_159"
978*e309dbd5STzuyi Chang };
979*e309dbd5STzuyi Chang 
980*e309dbd5STzuyi Chang static const char * const rtd1625_iso_dmic2_groups[] = {
981*e309dbd5STzuyi Chang 	"gpio_160", "gpio_161"
982*e309dbd5STzuyi Chang };
983*e309dbd5STzuyi Chang 
984*e309dbd5STzuyi Chang static const char * const rtd1625_iso_pwm0_loc2_groups[] = {
985*e309dbd5STzuyi Chang 	"gpio_162"
986*e309dbd5STzuyi Chang };
987*e309dbd5STzuyi Chang 
988*e309dbd5STzuyi Chang static const char * const rtd1625_iso_spdif_in_coaxial_groups[] = {
989*e309dbd5STzuyi Chang 	"gpio_163", "spdif_sel", "spdif_in_mode"
990*e309dbd5STzuyi Chang };
991*e309dbd5STzuyi Chang 
992*e309dbd5STzuyi Chang static const char * const rtd1625_iso_spdif_in_gpio_groups[] = {
993*e309dbd5STzuyi Chang 	"spdif_in_mode"
994*e309dbd5STzuyi Chang };
995*e309dbd5STzuyi Chang 
996*e309dbd5STzuyi Chang static const char * const rtd1625_iso_hi_width_disable_groups[] = {
997*e309dbd5STzuyi Chang 	"hi_width"
998*e309dbd5STzuyi Chang };
999*e309dbd5STzuyi Chang 
1000*e309dbd5STzuyi Chang static const char * const rtd1625_iso_hi_width_1bit_groups[] = {
1001*e309dbd5STzuyi Chang 	"hi_width"
1002*e309dbd5STzuyi Chang };
1003*e309dbd5STzuyi Chang 
1004*e309dbd5STzuyi Chang static const char * const rtd1625_iso_sf_disable_groups[] = {
1005*e309dbd5STzuyi Chang 	"sf_en"
1006*e309dbd5STzuyi Chang };
1007*e309dbd5STzuyi Chang 
1008*e309dbd5STzuyi Chang static const char * const rtd1625_iso_sf_enable_groups[] = {
1009*e309dbd5STzuyi Chang 	"sf_en"
1010*e309dbd5STzuyi Chang };
1011*e309dbd5STzuyi Chang 
1012*e309dbd5STzuyi Chang static const char * const rtd1625_iso_arm_trace_debug_disable_groups[] = {
1013*e309dbd5STzuyi Chang 	"arm_trace_dbg_en"
1014*e309dbd5STzuyi Chang };
1015*e309dbd5STzuyi Chang 
1016*e309dbd5STzuyi Chang static const char * const rtd1625_iso_arm_trace_debug_enable_groups[] = {
1017*e309dbd5STzuyi Chang 	"arm_trace_dbg_en"
1018*e309dbd5STzuyi Chang };
1019*e309dbd5STzuyi Chang 
1020*e309dbd5STzuyi Chang static const char * const rtd1625_iso_aucpu0_ejtag_loc1_groups[] = {
1021*e309dbd5STzuyi Chang 	"ejtag_aucpu0_loc"
1022*e309dbd5STzuyi Chang };
1023*e309dbd5STzuyi Chang 
1024*e309dbd5STzuyi Chang static const char * const rtd1625_iso_aucpu1_ejtag_loc1_groups[] = {
1025*e309dbd5STzuyi Chang 	"ejtag_aucpu1_loc"
1026*e309dbd5STzuyi Chang };
1027*e309dbd5STzuyi Chang 
1028*e309dbd5STzuyi Chang static const char * const rtd1625_iso_ve2_ejtag_loc1_groups[] = {
1029*e309dbd5STzuyi Chang 	"ejtag_ve2_loc"
1030*e309dbd5STzuyi Chang };
1031*e309dbd5STzuyi Chang 
1032*e309dbd5STzuyi Chang static const char * const rtd1625_iso_scpu_ejtag_loc1_groups[] = {
1033*e309dbd5STzuyi Chang 	"ejtag_scpu_loc"
1034*e309dbd5STzuyi Chang };
1035*e309dbd5STzuyi Chang 
1036*e309dbd5STzuyi Chang static const char * const rtd1625_iso_pcpu_ejtag_loc1_groups[] = {
1037*e309dbd5STzuyi Chang 	"ejtag_pcpu_loc"
1038*e309dbd5STzuyi Chang };
1039*e309dbd5STzuyi Chang 
1040*e309dbd5STzuyi Chang static const char * const rtd1625_iso_acpu_ejtag_loc1_groups[] = {
1041*e309dbd5STzuyi Chang 	"ejtag_acpu_loc"
1042*e309dbd5STzuyi Chang };
1043*e309dbd5STzuyi Chang 
1044*e309dbd5STzuyi Chang static const char * const rtd1625_iso_i2c6_loc0_groups[] = {
1045*e309dbd5STzuyi Chang 	"i2c6_loc"
1046*e309dbd5STzuyi Chang };
1047*e309dbd5STzuyi Chang 
1048*e309dbd5STzuyi Chang static const char * const rtd1625_iso_i2c6_loc1_groups[] = {
1049*e309dbd5STzuyi Chang 	"i2c6_loc"
1050*e309dbd5STzuyi Chang };
1051*e309dbd5STzuyi Chang 
1052*e309dbd5STzuyi Chang static const char * const rtd1625_iso_uart0_loc0_groups[] = {
1053*e309dbd5STzuyi Chang 	"uart0_loc"
1054*e309dbd5STzuyi Chang };
1055*e309dbd5STzuyi Chang 
1056*e309dbd5STzuyi Chang static const char * const rtd1625_iso_uart0_loc1_groups[] = {
1057*e309dbd5STzuyi Chang 	"uart0_loc"
1058*e309dbd5STzuyi Chang };
1059*e309dbd5STzuyi Chang 
1060*e309dbd5STzuyi Chang static const char * const rtd1625_iso_etn_phy_loc0_groups[] = {
1061*e309dbd5STzuyi Chang 	"etn_phy_loc"
1062*e309dbd5STzuyi Chang };
1063*e309dbd5STzuyi Chang 
1064*e309dbd5STzuyi Chang static const char * const rtd1625_iso_etn_phy_loc1_groups[] = {
1065*e309dbd5STzuyi Chang 	"etn_phy_loc"
1066*e309dbd5STzuyi Chang };
1067*e309dbd5STzuyi Chang 
1068*e309dbd5STzuyi Chang static const char * const rtd1625_iso_spdif_loc0_groups[] = {
1069*e309dbd5STzuyi Chang 	"spdif_loc"
1070*e309dbd5STzuyi Chang };
1071*e309dbd5STzuyi Chang 
1072*e309dbd5STzuyi Chang static const char * const rtd1625_iso_spdif_loc1_groups[] = {
1073*e309dbd5STzuyi Chang 	"spdif_loc"
1074*e309dbd5STzuyi Chang };
1075*e309dbd5STzuyi Chang 
1076*e309dbd5STzuyi Chang static const char * const rtd1625_iso_rgmii_1v2_groups[] = {
1077*e309dbd5STzuyi Chang 	"rgmii_vdsel"
1078*e309dbd5STzuyi Chang };
1079*e309dbd5STzuyi Chang 
1080*e309dbd5STzuyi Chang static const char * const rtd1625_iso_rgmii_1v8_groups[] = {
1081*e309dbd5STzuyi Chang 	"rgmii_vdsel"
1082*e309dbd5STzuyi Chang };
1083*e309dbd5STzuyi Chang 
1084*e309dbd5STzuyi Chang static const char * const rtd1625_iso_rgmii_2v5_groups[] = {
1085*e309dbd5STzuyi Chang 	"rgmii_vdsel"
1086*e309dbd5STzuyi Chang };
1087*e309dbd5STzuyi Chang 
1088*e309dbd5STzuyi Chang static const char * const rtd1625_iso_rgmii_3v3_groups[] = {
1089*e309dbd5STzuyi Chang 	"rgmii_vdsel"
1090*e309dbd5STzuyi Chang };
1091*e309dbd5STzuyi Chang 
1092*e309dbd5STzuyi Chang static const char * const rtd1625_iso_csi_1v2_groups[] = {
1093*e309dbd5STzuyi Chang 	"csi_vdsel"
1094*e309dbd5STzuyi Chang };
1095*e309dbd5STzuyi Chang 
1096*e309dbd5STzuyi Chang static const char * const rtd1625_iso_csi_1v8_groups[] = {
1097*e309dbd5STzuyi Chang 	"csi_vdsel"
1098*e309dbd5STzuyi Chang };
1099*e309dbd5STzuyi Chang 
1100*e309dbd5STzuyi Chang static const char * const rtd1625_iso_csi_2v5_groups[] = {
1101*e309dbd5STzuyi Chang 	"csi_vdsel"
1102*e309dbd5STzuyi Chang };
1103*e309dbd5STzuyi Chang 
1104*e309dbd5STzuyi Chang static const char * const rtd1625_iso_csi_3v3_groups[] = {
1105*e309dbd5STzuyi Chang 	"csi_vdsel"
1106*e309dbd5STzuyi Chang };
1107*e309dbd5STzuyi Chang 
1108*e309dbd5STzuyi Chang static const char * const rtd1625_isom_gpio_groups[] = {
1109*e309dbd5STzuyi Chang 	"gpio_0", "gpio_1", "gpio_28", "gpio_29"
1110*e309dbd5STzuyi Chang };
1111*e309dbd5STzuyi Chang 
1112*e309dbd5STzuyi Chang static const char * const rtd1625_isom_pctrl_groups[] = {
1113*e309dbd5STzuyi Chang 	"gpio_0", "gpio_1", "gpio_28", "gpio_29"
1114*e309dbd5STzuyi Chang };
1115*e309dbd5STzuyi Chang 
1116*e309dbd5STzuyi Chang static const char * const rtd1625_isom_iso_tristate_groups[] = {
1117*e309dbd5STzuyi Chang 	"gpio_0", "gpio_1", "gpio_28", "gpio_29"
1118*e309dbd5STzuyi Chang };
1119*e309dbd5STzuyi Chang 
1120*e309dbd5STzuyi Chang static const char * const rtd1625_isom_ir_rx_loc1_groups[] = {
1121*e309dbd5STzuyi Chang 	"gpio_1", "ir_rx_loc"
1122*e309dbd5STzuyi Chang };
1123*e309dbd5STzuyi Chang 
1124*e309dbd5STzuyi Chang static const char * const rtd1625_isom_uart10_groups[] = {
1125*e309dbd5STzuyi Chang 	"gpio_28", "gpio_29"
1126*e309dbd5STzuyi Chang };
1127*e309dbd5STzuyi Chang 
1128*e309dbd5STzuyi Chang static const char * const rtd1625_isom_isom_dbg_out_groups[] = {
1129*e309dbd5STzuyi Chang 	"gpio_28", "gpio_29"
1130*e309dbd5STzuyi Chang };
1131*e309dbd5STzuyi Chang 
1132*e309dbd5STzuyi Chang static const char * const rtd1625_isom_ir_rx_loc0_groups[] = {
1133*e309dbd5STzuyi Chang 	"gpio_29", "ir_rx_loc"
1134*e309dbd5STzuyi Chang };
1135*e309dbd5STzuyi Chang 
1136*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_gpio_groups[] = {
1137*e309dbd5STzuyi Chang 	"gpio_12", "gpio_13", "gpio_132", "gpio_133", "gpio_134", "gpio_135",
1138*e309dbd5STzuyi Chang 	"gpio_136", "gpio_137", "gpio_138", "gpio_139", "gpio_140", "gpio_141",
1139*e309dbd5STzuyi Chang 	"gpio_142", "gpio_143", "gpio_144", "gpio_16", "gpio_164", "gpio_165",
1140*e309dbd5STzuyi Chang 	"gpio_17", "gpio_18", "gpio_19", "gpio_2", "gpio_23", "gpio_24", "gpio_25",
1141*e309dbd5STzuyi Chang 	"gpio_3", "gpio_30", "gpio_31", "gpio_32", "gpio_33", "gpio_34", "gpio_35",
1142*e309dbd5STzuyi Chang 	"gpio_4", "gpio_42", "gpio_43", "gpio_44", "gpio_5", "gpio_51", "gpio_53",
1143*e309dbd5STzuyi Chang 	"gpio_54", "gpio_55", "gpio_56", "gpio_57", "gpio_58", "gpio_59", "gpio_6",
1144*e309dbd5STzuyi Chang 	"gpio_60", "gpio_61", "gpio_62", "gpio_63", "gpio_7", "gpio_92", "gpio_93"
1145*e309dbd5STzuyi Chang };
1146*e309dbd5STzuyi Chang 
1147*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_uart0_loc0_groups[] = {
1148*e309dbd5STzuyi Chang 	"gpio_2", "gpio_3"
1149*e309dbd5STzuyi Chang };
1150*e309dbd5STzuyi Chang 
1151*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_iso_tristate_groups[] = {
1152*e309dbd5STzuyi Chang 	"gpio_12", "gpio_13", "gpio_132", "gpio_133", "gpio_134", "gpio_135",
1153*e309dbd5STzuyi Chang 	"gpio_136", "gpio_137", "gpio_138", "gpio_139", "gpio_140", "gpio_141",
1154*e309dbd5STzuyi Chang 	"gpio_142", "gpio_143", "gpio_144", "gpio_16", "gpio_164", "gpio_165",
1155*e309dbd5STzuyi Chang 	"gpio_17", "gpio_18", "gpio_19", "gpio_2", "gpio_23", "gpio_24", "gpio_25",
1156*e309dbd5STzuyi Chang 	"gpio_3", "gpio_30", "gpio_31", "gpio_32", "gpio_33", "gpio_34", "gpio_35",
1157*e309dbd5STzuyi Chang 	"gpio_4", "gpio_42", "gpio_43", "gpio_44", "gpio_5", "gpio_51", "gpio_53",
1158*e309dbd5STzuyi Chang 	"gpio_54", "gpio_55", "gpio_56", "gpio_57", "gpio_58", "gpio_59", "gpio_6",
1159*e309dbd5STzuyi Chang 	"gpio_60", "gpio_61", "gpio_62", "gpio_63", "gpio_7", "gpio_92", "gpio_93"
1160*e309dbd5STzuyi Chang };
1161*e309dbd5STzuyi Chang 
1162*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_uart2_groups[] = {
1163*e309dbd5STzuyi Chang 	"gpio_4", "gpio_5", "gpio_6", "gpio_7"
1164*e309dbd5STzuyi Chang };
1165*e309dbd5STzuyi Chang 
1166*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_gspi0_groups[] = {
1167*e309dbd5STzuyi Chang 	"gpio_4", "gpio_5", "gpio_6", "gpio_7"
1168*e309dbd5STzuyi Chang };
1169*e309dbd5STzuyi Chang 
1170*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_scpu_ejtag_loc0_groups[] = {
1171*e309dbd5STzuyi Chang 	"gpio_4", "gpio_5", "gpio_6", "gpio_7"
1172*e309dbd5STzuyi Chang };
1173*e309dbd5STzuyi Chang 
1174*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_acpu_ejtag_loc0_groups[] = {
1175*e309dbd5STzuyi Chang 	"gpio_4", "gpio_5", "gpio_6", "gpio_7"
1176*e309dbd5STzuyi Chang };
1177*e309dbd5STzuyi Chang 
1178*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_pcpu_ejtag_loc0_groups[] = {
1179*e309dbd5STzuyi Chang 	"gpio_4", "gpio_5", "gpio_6", "gpio_7"
1180*e309dbd5STzuyi Chang };
1181*e309dbd5STzuyi Chang 
1182*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_aucpu0_ejtag_loc0_groups[] = {
1183*e309dbd5STzuyi Chang 	"gpio_4", "gpio_5", "gpio_6", "gpio_7"
1184*e309dbd5STzuyi Chang };
1185*e309dbd5STzuyi Chang 
1186*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_ve2_ejtag_loc0_groups[] = {
1187*e309dbd5STzuyi Chang 	"gpio_4", "gpio_5", "gpio_6", "gpio_7"
1188*e309dbd5STzuyi Chang };
1189*e309dbd5STzuyi Chang 
1190*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_gpu_ejtag_loc0_groups[] = {
1191*e309dbd5STzuyi Chang 	"gpio_4", "gpio_5", "gpio_6", "gpio_7"
1192*e309dbd5STzuyi Chang };
1193*e309dbd5STzuyi Chang 
1194*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_aucpu1_ejtag_loc0_groups[] = {
1195*e309dbd5STzuyi Chang 	"gpio_4", "gpio_5", "gpio_6", "gpio_7"
1196*e309dbd5STzuyi Chang };
1197*e309dbd5STzuyi Chang 
1198*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_pwm0_loc1_groups[] = {
1199*e309dbd5STzuyi Chang 	"gpio_6"
1200*e309dbd5STzuyi Chang };
1201*e309dbd5STzuyi Chang 
1202*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_pwm1_loc0_groups[] = {
1203*e309dbd5STzuyi Chang 	"gpio_7"
1204*e309dbd5STzuyi Chang };
1205*e309dbd5STzuyi Chang 
1206*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_i2c0_groups[] = {
1207*e309dbd5STzuyi Chang 	"gpio_12", "gpio_13"
1208*e309dbd5STzuyi Chang };
1209*e309dbd5STzuyi Chang 
1210*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_pwm0_loc3_groups[] = {
1211*e309dbd5STzuyi Chang 	"gpio_12"
1212*e309dbd5STzuyi Chang };
1213*e309dbd5STzuyi Chang 
1214*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_dptx_hpd_groups[] = {
1215*e309dbd5STzuyi Chang 	"gpio_16"
1216*e309dbd5STzuyi Chang };
1217*e309dbd5STzuyi Chang 
1218*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_pwm2_loc0_groups[] = {
1219*e309dbd5STzuyi Chang 	"gpio_16"
1220*e309dbd5STzuyi Chang };
1221*e309dbd5STzuyi Chang 
1222*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_pcie0_groups[] = {
1223*e309dbd5STzuyi Chang 	"gpio_18"
1224*e309dbd5STzuyi Chang };
1225*e309dbd5STzuyi Chang 
1226*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_pwm3_loc0_groups[] = {
1227*e309dbd5STzuyi Chang 	"gpio_19"
1228*e309dbd5STzuyi Chang };
1229*e309dbd5STzuyi Chang 
1230*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_i2c3_groups[] = {
1231*e309dbd5STzuyi Chang 	"gpio_24", "gpio_25"
1232*e309dbd5STzuyi Chang };
1233*e309dbd5STzuyi Chang 
1234*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_pcie1_groups[] = {
1235*e309dbd5STzuyi Chang 	"gpio_30"
1236*e309dbd5STzuyi Chang };
1237*e309dbd5STzuyi Chang 
1238*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_uart9_groups[] = {
1239*e309dbd5STzuyi Chang 	"gpio_32", "gpio_33"
1240*e309dbd5STzuyi Chang };
1241*e309dbd5STzuyi Chang 
1242*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_ve4_uart_loc2_groups[] = {
1243*e309dbd5STzuyi Chang 	"gpio_32", "gpio_33", "ve4_uart_loc"
1244*e309dbd5STzuyi Chang };
1245*e309dbd5STzuyi Chang 
1246*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_sd_groups[] = {
1247*e309dbd5STzuyi Chang 	"gpio_42", "gpio_43"
1248*e309dbd5STzuyi Chang };
1249*e309dbd5STzuyi Chang 
1250*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_i2c6_loc1_groups[] = {
1251*e309dbd5STzuyi Chang 	"gpio_51", "gpio_61"
1252*e309dbd5STzuyi Chang };
1253*e309dbd5STzuyi Chang 
1254*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_uart3_groups[] = {
1255*e309dbd5STzuyi Chang 	"gpio_53", "gpio_54", "gpio_55", "gpio_56"
1256*e309dbd5STzuyi Chang };
1257*e309dbd5STzuyi Chang 
1258*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_ts0_groups[] = {
1259*e309dbd5STzuyi Chang 	"gpio_53", "gpio_54", "gpio_55", "gpio_56"
1260*e309dbd5STzuyi Chang };
1261*e309dbd5STzuyi Chang 
1262*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_gspi2_groups[] = {
1263*e309dbd5STzuyi Chang 	"gpio_53", "gpio_54", "gpio_55", "gpio_56"
1264*e309dbd5STzuyi Chang };
1265*e309dbd5STzuyi Chang 
1266*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_ve4_uart_loc0_groups[] = {
1267*e309dbd5STzuyi Chang 	"gpio_53", "gpio_54", "ve4_uart_loc"
1268*e309dbd5STzuyi Chang };
1269*e309dbd5STzuyi Chang 
1270*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_uart5_groups[] = {
1271*e309dbd5STzuyi Chang 	"gpio_57", "gpio_58"
1272*e309dbd5STzuyi Chang };
1273*e309dbd5STzuyi Chang 
1274*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_uart0_loc1_groups[] = {
1275*e309dbd5STzuyi Chang 	"gpio_57", "gpio_58"
1276*e309dbd5STzuyi Chang };
1277*e309dbd5STzuyi Chang 
1278*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_gspi1_groups[] = {
1279*e309dbd5STzuyi Chang 	"gpio_57", "gpio_58", "gpio_59", "gpio_60"
1280*e309dbd5STzuyi Chang };
1281*e309dbd5STzuyi Chang 
1282*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_uart4_groups[] = {
1283*e309dbd5STzuyi Chang 	"gpio_59", "gpio_60"
1284*e309dbd5STzuyi Chang };
1285*e309dbd5STzuyi Chang 
1286*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_i2c4_groups[] = {
1287*e309dbd5STzuyi Chang 	"gpio_59", "gpio_60"
1288*e309dbd5STzuyi Chang };
1289*e309dbd5STzuyi Chang 
1290*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_spdif_out_groups[] = {
1291*e309dbd5STzuyi Chang 	"gpio_61"
1292*e309dbd5STzuyi Chang };
1293*e309dbd5STzuyi Chang 
1294*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_spdif_in_optical_groups[] = {
1295*e309dbd5STzuyi Chang 	"gpio_61"
1296*e309dbd5STzuyi Chang };
1297*e309dbd5STzuyi Chang 
1298*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_pll_test_loc0_groups[] = {
1299*e309dbd5STzuyi Chang 	"gpio_62", "gpio_63"
1300*e309dbd5STzuyi Chang };
1301*e309dbd5STzuyi Chang 
1302*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_uart6_groups[] = {
1303*e309dbd5STzuyi Chang 	"gpio_92", "gpio_93"
1304*e309dbd5STzuyi Chang };
1305*e309dbd5STzuyi Chang 
1306*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_i2c7_groups[] = {
1307*e309dbd5STzuyi Chang 	"gpio_92", "gpio_93"
1308*e309dbd5STzuyi Chang };
1309*e309dbd5STzuyi Chang 
1310*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_ve4_uart_loc1_groups[] = {
1311*e309dbd5STzuyi Chang 	"gpio_92", "gpio_93", "ve4_uart_loc"
1312*e309dbd5STzuyi Chang };
1313*e309dbd5STzuyi Chang 
1314*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_pwm1_loc1_groups[] = {
1315*e309dbd5STzuyi Chang 	"gpio_93"
1316*e309dbd5STzuyi Chang };
1317*e309dbd5STzuyi Chang 
1318*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_pwm6_groups[] = {
1319*e309dbd5STzuyi Chang 	"gpio_132"
1320*e309dbd5STzuyi Chang };
1321*e309dbd5STzuyi Chang 
1322*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_ts1_groups[] = {
1323*e309dbd5STzuyi Chang 	"gpio_133", "gpio_134", "gpio_135", "gpio_136"
1324*e309dbd5STzuyi Chang };
1325*e309dbd5STzuyi Chang 
1326*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_pwm0_loc0_groups[] = {
1327*e309dbd5STzuyi Chang 	"gpio_136"
1328*e309dbd5STzuyi Chang };
1329*e309dbd5STzuyi Chang 
1330*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_i2c6_loc0_groups[] = {
1331*e309dbd5STzuyi Chang 	"gpio_137", "gpio_138"
1332*e309dbd5STzuyi Chang };
1333*e309dbd5STzuyi Chang 
1334*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_csi0_groups[] = {
1335*e309dbd5STzuyi Chang 	"gpio_141"
1336*e309dbd5STzuyi Chang };
1337*e309dbd5STzuyi Chang 
1338*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_csi1_groups[] = {
1339*e309dbd5STzuyi Chang 	"gpio_144"
1340*e309dbd5STzuyi Chang };
1341*e309dbd5STzuyi Chang 
1342*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_etn_led_loc1_groups[] = {
1343*e309dbd5STzuyi Chang 	"gpio_164", "gpio_165"
1344*e309dbd5STzuyi Chang };
1345*e309dbd5STzuyi Chang 
1346*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_etn_phy_loc1_groups[] = {
1347*e309dbd5STzuyi Chang 	"gpio_164", "gpio_165"
1348*e309dbd5STzuyi Chang };
1349*e309dbd5STzuyi Chang 
1350*e309dbd5STzuyi Chang static const char * const rtd1625_ve4_i2c5_groups[] = {
1351*e309dbd5STzuyi Chang 	"gpio_164", "gpio_165"
1352*e309dbd5STzuyi Chang };
1353*e309dbd5STzuyi Chang 
1354*e309dbd5STzuyi Chang static const char * const rtd1625_main2_gpio_groups[] = {
1355*e309dbd5STzuyi Chang 	"emmc_clk", "emmc_cmd", "emmc_data_0", "emmc_data_1", "emmc_data_2",
1356*e309dbd5STzuyi Chang 	"emmc_data_3", "emmc_data_4", "emmc_data_5", "emmc_data_6", "emmc_data_7",
1357*e309dbd5STzuyi Chang 	"emmc_dd_sb", "emmc_rst_n", "gpio_14", "gpio_15", "gpio_20", "gpio_21",
1358*e309dbd5STzuyi Chang 	"gpio_22", "gpio_40", "gpio_41", "gpio_64", "gpio_65", "gpio_66", "gpio_67",
1359*e309dbd5STzuyi Chang 	"gpio_80", "gpio_81", "gpio_82", "gpio_83", "gpio_84", "gpio_85", "gpio_86",
1360*e309dbd5STzuyi Chang 	"gpio_87", "gpio_88", "gpio_89", "gpio_90", "gpio_91", "hif_clk",
1361*e309dbd5STzuyi Chang 	"hif_data", "hif_en", "hif_rdy"
1362*e309dbd5STzuyi Chang };
1363*e309dbd5STzuyi Chang 
1364*e309dbd5STzuyi Chang static const char * const rtd1625_main2_emmc_groups[] = {
1365*e309dbd5STzuyi Chang 	"emmc_clk", "emmc_cmd", "emmc_data_0", "emmc_data_1", "emmc_data_2",
1366*e309dbd5STzuyi Chang 	"emmc_data_3", "emmc_data_4", "emmc_data_5", "emmc_data_6", "emmc_data_7",
1367*e309dbd5STzuyi Chang 	"emmc_dd_sb", "emmc_rst_n"
1368*e309dbd5STzuyi Chang };
1369*e309dbd5STzuyi Chang 
1370*e309dbd5STzuyi Chang static const char * const rtd1625_main2_iso_tristate_groups[] = {
1371*e309dbd5STzuyi Chang 	"emmc_clk", "emmc_cmd", "emmc_data_0", "emmc_data_1", "emmc_data_2",
1372*e309dbd5STzuyi Chang 	"emmc_data_3", "emmc_data_4", "emmc_data_5", "emmc_data_6", "emmc_data_7",
1373*e309dbd5STzuyi Chang 	"emmc_dd_sb", "emmc_rst_n", "gpio_14", "gpio_15", "gpio_20", "gpio_21",
1374*e309dbd5STzuyi Chang 	"gpio_40", "gpio_41", "gpio_64", "gpio_65", "gpio_66", "gpio_67", "gpio_80",
1375*e309dbd5STzuyi Chang 	"gpio_81", "gpio_82", "gpio_83", "gpio_84", "gpio_85", "gpio_86", "gpio_87",
1376*e309dbd5STzuyi Chang 	"gpio_88", "gpio_89", "gpio_90", "gpio_91", "hif_clk", "hif_data", "hif_en",
1377*e309dbd5STzuyi Chang 	"hif_rdy"
1378*e309dbd5STzuyi Chang };
1379*e309dbd5STzuyi Chang 
1380*e309dbd5STzuyi Chang static const char * const rtd1625_main2_nf_groups[] = {
1381*e309dbd5STzuyi Chang 	"emmc_data_0", "emmc_data_1", "emmc_data_2", "emmc_data_3", "emmc_data_4",
1382*e309dbd5STzuyi Chang 	"emmc_data_5"
1383*e309dbd5STzuyi Chang };
1384*e309dbd5STzuyi Chang 
1385*e309dbd5STzuyi Chang static const char * const rtd1625_main2_etn_led_loc0_groups[] = {
1386*e309dbd5STzuyi Chang 	"gpio_14", "gpio_15"
1387*e309dbd5STzuyi Chang };
1388*e309dbd5STzuyi Chang 
1389*e309dbd5STzuyi Chang static const char * const rtd1625_main2_etn_phy_loc0_groups[] = {
1390*e309dbd5STzuyi Chang 	"gpio_14", "gpio_15"
1391*e309dbd5STzuyi Chang };
1392*e309dbd5STzuyi Chang 
1393*e309dbd5STzuyi Chang static const char * const rtd1625_main2_rgmii_groups[] = {
1394*e309dbd5STzuyi Chang 	"gpio_14", "gpio_15", "gpio_80", "gpio_81", "gpio_82", "gpio_83", "gpio_84",
1395*e309dbd5STzuyi Chang 	"gpio_85", "gpio_86", "gpio_87", "gpio_88", "gpio_89", "gpio_90", "gpio_91"
1396*e309dbd5STzuyi Chang };
1397*e309dbd5STzuyi Chang 
1398*e309dbd5STzuyi Chang static const char * const rtd1625_main2_i2c1_groups[] = {
1399*e309dbd5STzuyi Chang 	"gpio_20", "gpio_21"
1400*e309dbd5STzuyi Chang };
1401*e309dbd5STzuyi Chang 
1402*e309dbd5STzuyi Chang static const char * const rtd1625_main2_dbg_out1_groups[] = {
1403*e309dbd5STzuyi Chang 	"gpio_22"
1404*e309dbd5STzuyi Chang };
1405*e309dbd5STzuyi Chang 
1406*e309dbd5STzuyi Chang static const char * const rtd1625_main2_sd_groups[] = {
1407*e309dbd5STzuyi Chang 	"gpio_40", "gpio_41", "hif_clk", "hif_data", "hif_en", "hif_rdy"
1408*e309dbd5STzuyi Chang };
1409*e309dbd5STzuyi Chang 
1410*e309dbd5STzuyi Chang static const char * const rtd1625_main2_scpu_ejtag_loc1_groups[] = {
1411*e309dbd5STzuyi Chang 	"gpio_40", "hif_clk", "hif_data", "hif_en", "hif_rdy"
1412*e309dbd5STzuyi Chang };
1413*e309dbd5STzuyi Chang 
1414*e309dbd5STzuyi Chang static const char * const rtd1625_main2_acpu_ejtag_loc1_groups[] = {
1415*e309dbd5STzuyi Chang 	"gpio_40", "hif_clk", "hif_data", "hif_en", "hif_rdy"
1416*e309dbd5STzuyi Chang };
1417*e309dbd5STzuyi Chang 
1418*e309dbd5STzuyi Chang static const char * const rtd1625_main2_pcpu_ejtag_loc1_groups[] = {
1419*e309dbd5STzuyi Chang 	"gpio_40", "hif_clk", "hif_data", "hif_en", "hif_rdy"
1420*e309dbd5STzuyi Chang };
1421*e309dbd5STzuyi Chang 
1422*e309dbd5STzuyi Chang static const char * const rtd1625_main2_aupu0_ejtag_loc1_groups[] = {
1423*e309dbd5STzuyi Chang 	"gpio_40", "hif_clk", "hif_data", "hif_en", "hif_rdy"
1424*e309dbd5STzuyi Chang };
1425*e309dbd5STzuyi Chang 
1426*e309dbd5STzuyi Chang static const char * const rtd1625_main2_ve2_ejtag_loc1_groups[] = {
1427*e309dbd5STzuyi Chang 	"gpio_40", "hif_clk", "hif_data", "hif_en", "hif_rdy"
1428*e309dbd5STzuyi Chang };
1429*e309dbd5STzuyi Chang 
1430*e309dbd5STzuyi Chang static const char * const rtd1625_main2_hi_loc0_groups[] = {
1431*e309dbd5STzuyi Chang 	"hif_clk", "hif_data", "hif_en", "hif_rdy"
1432*e309dbd5STzuyi Chang };
1433*e309dbd5STzuyi Chang 
1434*e309dbd5STzuyi Chang static const char * const rtd1625_main2_hi_m_groups[] = {
1435*e309dbd5STzuyi Chang 	"hif_clk", "hif_data", "hif_en", "hif_rdy"
1436*e309dbd5STzuyi Chang };
1437*e309dbd5STzuyi Chang 
1438*e309dbd5STzuyi Chang static const char * const rtd1625_main2_aupu1_ejtag_loc1_groups[] = {
1439*e309dbd5STzuyi Chang 	"gpio_40", "hif_clk", "hif_data", "hif_en", "hif_rdy"
1440*e309dbd5STzuyi Chang };
1441*e309dbd5STzuyi Chang 
1442*e309dbd5STzuyi Chang static const char * const rtd1625_main2_spi_groups[] = {
1443*e309dbd5STzuyi Chang 	"gpio_64", "gpio_65", "gpio_66", "gpio_67"
1444*e309dbd5STzuyi Chang };
1445*e309dbd5STzuyi Chang 
1446*e309dbd5STzuyi Chang static const char * const rtd1625_main2_pll_test_loc1_groups[] = {
1447*e309dbd5STzuyi Chang 	"gpio_65", "gpio_66"
1448*e309dbd5STzuyi Chang };
1449*e309dbd5STzuyi Chang 
1450*e309dbd5STzuyi Chang static const char * const rtd1625_main2_rmii_groups[] = {
1451*e309dbd5STzuyi Chang 	"gpio_80", "gpio_81", "gpio_82", "gpio_83", "gpio_84", "gpio_87", "gpio_88",
1452*e309dbd5STzuyi Chang 	"gpio_89"
1453*e309dbd5STzuyi Chang };
1454*e309dbd5STzuyi Chang 
1455*e309dbd5STzuyi Chang #define RTD1625_FUNC(_group, _name) \
1456*e309dbd5STzuyi Chang 	{ \
1457*e309dbd5STzuyi Chang 		.name = # _name, \
1458*e309dbd5STzuyi Chang 		.groups = rtd1625_ ## _group ## _ ## _name ## _groups, \
1459*e309dbd5STzuyi Chang 		.num_groups = ARRAY_SIZE(rtd1625_ ## _group ## _ ## _name ## _groups), \
1460*e309dbd5STzuyi Chang 	}
1461*e309dbd5STzuyi Chang 
1462*e309dbd5STzuyi Chang static const struct rtd_pin_func_desc rtd1625_iso_pin_functions[] = {
1463*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, gpio),
1464*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, uart1),
1465*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, iso_tristate),
1466*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, usb_cc1),
1467*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, usb_cc2),
1468*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, sdio),
1469*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, scpu_ejtag_loc2),
1470*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, acpu_ejtag_loc2),
1471*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, pcpu_ejtag_loc2),
1472*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, aucpu0_ejtag_loc2),
1473*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, ve2_ejtag_loc2),
1474*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, aucpu1_ejtag_loc2),
1475*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, pwm4),
1476*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, uart7),
1477*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, pwm2_loc1),
1478*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, uart8),
1479*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, pwm3_loc1),
1480*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, ai_tdm0),
1481*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, vtc_i2s),
1482*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, ai_i2s0),
1483*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, ao_tdm0),
1484*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, ao_i2s0),
1485*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, ai_tdm1),
1486*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, ai_i2s1_loc0),
1487*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, ao_i2s0_loc1),
1488*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, ao_tdm1_loc0),
1489*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, ao_i2s1_loc0),
1490*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, ao_tdm1),
1491*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, ai_tdm2),
1492*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, pcm),
1493*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, ai_i2s2),
1494*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, ao_tdm2),
1495*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, ao_i2s2),
1496*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, vtc_ao_i2s),
1497*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, scpu_ejtag_loc0),
1498*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, acpu_ejtag_loc0),
1499*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, pcpu_ejtag_loc0),
1500*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, aucpu0_ejtag_loc0),
1501*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, ve2_ejtag_loc0),
1502*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, gpu_ejtag_loc0),
1503*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, ao_tdm1_loc1),
1504*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, aucpu1_ejtag_loc0),
1505*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, edptx_hdp),
1506*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, pwm5),
1507*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, vi0_dtv),
1508*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, vi1_dtv),
1509*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, ao_i2s0_loc0),
1510*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, dmic0),
1511*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, vtc_dmic),
1512*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, ai_i2s1_loc1),
1513*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, ao_i2s1_loc1),
1514*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, dmic1),
1515*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, dmic2),
1516*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, pwm0_loc2),
1517*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, spdif_in_coaxial),
1518*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, spdif_in_gpio),
1519*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, hi_width_disable),
1520*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, hi_width_1bit),
1521*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, sf_disable),
1522*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, sf_enable),
1523*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, arm_trace_debug_disable),
1524*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, arm_trace_debug_enable),
1525*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, aucpu0_ejtag_loc1),
1526*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, aucpu1_ejtag_loc1),
1527*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, ve2_ejtag_loc1),
1528*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, scpu_ejtag_loc1),
1529*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, pcpu_ejtag_loc1),
1530*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, acpu_ejtag_loc1),
1531*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, i2c6_loc0),
1532*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, i2c6_loc1),
1533*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, uart0_loc0),
1534*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, uart0_loc1),
1535*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, etn_phy_loc0),
1536*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, etn_phy_loc1),
1537*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, spdif_loc0),
1538*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, spdif_loc1),
1539*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, rgmii_1v2),
1540*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, rgmii_1v8),
1541*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, rgmii_2v5),
1542*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, rgmii_3v3),
1543*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, csi_1v2),
1544*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, csi_1v8),
1545*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, csi_2v5),
1546*e309dbd5STzuyi Chang 	RTD1625_FUNC(iso, csi_3v3),
1547*e309dbd5STzuyi Chang };
1548*e309dbd5STzuyi Chang 
1549*e309dbd5STzuyi Chang static const struct rtd_pin_func_desc rtd1625_isom_pin_functions[] = {
1550*e309dbd5STzuyi Chang 	RTD1625_FUNC(isom, gpio),
1551*e309dbd5STzuyi Chang 	RTD1625_FUNC(isom, pctrl),
1552*e309dbd5STzuyi Chang 	RTD1625_FUNC(isom, iso_tristate),
1553*e309dbd5STzuyi Chang 	RTD1625_FUNC(isom, ir_rx_loc1),
1554*e309dbd5STzuyi Chang 	RTD1625_FUNC(isom, uart10),
1555*e309dbd5STzuyi Chang 	RTD1625_FUNC(isom, isom_dbg_out),
1556*e309dbd5STzuyi Chang 	RTD1625_FUNC(isom, ir_rx_loc0),
1557*e309dbd5STzuyi Chang };
1558*e309dbd5STzuyi Chang 
1559*e309dbd5STzuyi Chang static const struct rtd_pin_func_desc rtd1625_ve4_pin_functions[] = {
1560*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, gpio),
1561*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, uart0_loc0),
1562*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, iso_tristate),
1563*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, uart2),
1564*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, gspi0),
1565*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, scpu_ejtag_loc0),
1566*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, acpu_ejtag_loc0),
1567*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, pcpu_ejtag_loc0),
1568*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, aucpu0_ejtag_loc0),
1569*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, ve2_ejtag_loc0),
1570*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, gpu_ejtag_loc0),
1571*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, aucpu1_ejtag_loc0),
1572*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, pwm0_loc1),
1573*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, pwm1_loc0),
1574*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, i2c0),
1575*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, pwm0_loc3),
1576*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, dptx_hpd),
1577*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, pwm2_loc0),
1578*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, pcie0),
1579*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, pwm3_loc0),
1580*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, i2c3),
1581*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, pcie1),
1582*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, uart9),
1583*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, ve4_uart_loc2),
1584*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, sd),
1585*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, i2c6_loc1),
1586*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, uart3),
1587*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, ts0),
1588*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, gspi2),
1589*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, ve4_uart_loc0),
1590*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, uart5),
1591*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, uart0_loc1),
1592*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, gspi1),
1593*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, uart4),
1594*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, i2c4),
1595*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, spdif_out),
1596*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, spdif_in_optical),
1597*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, pll_test_loc0),
1598*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, uart6),
1599*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, i2c7),
1600*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, ve4_uart_loc1),
1601*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, pwm1_loc1),
1602*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, pwm6),
1603*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, ts1),
1604*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, pwm0_loc0),
1605*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, i2c6_loc0),
1606*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, csi0),
1607*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, csi1),
1608*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, etn_led_loc1),
1609*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, etn_phy_loc1),
1610*e309dbd5STzuyi Chang 	RTD1625_FUNC(ve4, i2c5),
1611*e309dbd5STzuyi Chang };
1612*e309dbd5STzuyi Chang 
1613*e309dbd5STzuyi Chang static const struct rtd_pin_func_desc rtd1625_main2_pin_functions[] = {
1614*e309dbd5STzuyi Chang 	RTD1625_FUNC(main2, gpio),
1615*e309dbd5STzuyi Chang 	RTD1625_FUNC(main2, emmc),
1616*e309dbd5STzuyi Chang 	RTD1625_FUNC(main2, iso_tristate),
1617*e309dbd5STzuyi Chang 	RTD1625_FUNC(main2, nf),
1618*e309dbd5STzuyi Chang 	RTD1625_FUNC(main2, etn_led_loc0),
1619*e309dbd5STzuyi Chang 	RTD1625_FUNC(main2, etn_phy_loc0),
1620*e309dbd5STzuyi Chang 	RTD1625_FUNC(main2, rgmii),
1621*e309dbd5STzuyi Chang 	RTD1625_FUNC(main2, i2c1),
1622*e309dbd5STzuyi Chang 	RTD1625_FUNC(main2, dbg_out1),
1623*e309dbd5STzuyi Chang 	RTD1625_FUNC(main2, sd),
1624*e309dbd5STzuyi Chang 	RTD1625_FUNC(main2, scpu_ejtag_loc1),
1625*e309dbd5STzuyi Chang 	RTD1625_FUNC(main2, acpu_ejtag_loc1),
1626*e309dbd5STzuyi Chang 	RTD1625_FUNC(main2, pcpu_ejtag_loc1),
1627*e309dbd5STzuyi Chang 	RTD1625_FUNC(main2, aupu0_ejtag_loc1),
1628*e309dbd5STzuyi Chang 	RTD1625_FUNC(main2, ve2_ejtag_loc1),
1629*e309dbd5STzuyi Chang 	RTD1625_FUNC(main2, hi_loc0),
1630*e309dbd5STzuyi Chang 	RTD1625_FUNC(main2, hi_m),
1631*e309dbd5STzuyi Chang 	RTD1625_FUNC(main2, aupu1_ejtag_loc1),
1632*e309dbd5STzuyi Chang 	RTD1625_FUNC(main2, spi),
1633*e309dbd5STzuyi Chang 	RTD1625_FUNC(main2, pll_test_loc1),
1634*e309dbd5STzuyi Chang 	RTD1625_FUNC(main2, rmii),
1635*e309dbd5STzuyi Chang };
1636*e309dbd5STzuyi Chang 
1637*e309dbd5STzuyi Chang #undef RTD1625_FUNC
1638*e309dbd5STzuyi Chang 
1639*e309dbd5STzuyi Chang static const struct rtd_pin_desc rtd1625_iso_muxes[] = {
1640*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_8] = RTK_PIN_MUX(gpio_8, 0x0, GENMASK(3, 0),
1641*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
1642*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "uart1"),
1643*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")
1644*e309dbd5STzuyi Chang 	),
1645*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_9] = RTK_PIN_MUX(gpio_9, 0x0, GENMASK(7, 4),
1646*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
1647*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "uart1"),
1648*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")
1649*e309dbd5STzuyi Chang 	),
1650*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_10] = RTK_PIN_MUX(gpio_10, 0x0, GENMASK(11, 8),
1651*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
1652*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "uart1"),
1653*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")
1654*e309dbd5STzuyi Chang 	),
1655*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_11] = RTK_PIN_MUX(gpio_11, 0x0, GENMASK(15, 12),
1656*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
1657*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "uart1"),
1658*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")
1659*e309dbd5STzuyi Chang 	),
1660*e309dbd5STzuyi Chang 	[RTD1625_ISO_USB_CC1] = RTK_PIN_MUX(usb_cc1, 0x0, GENMASK(19, 16),
1661*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
1662*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "usb_cc1"),
1663*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")
1664*e309dbd5STzuyi Chang 	),
1665*e309dbd5STzuyi Chang 	[RTD1625_ISO_USB_CC2] = RTK_PIN_MUX(usb_cc2, 0x0, GENMASK(23, 20),
1666*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
1667*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "usb_cc2"),
1668*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")
1669*e309dbd5STzuyi Chang 	),
1670*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_45] = RTK_PIN_MUX(gpio_45, 0x0, GENMASK(27, 24),
1671*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
1672*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "sdio"),
1673*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 24), "scpu_ejtag_loc2"),
1674*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 24), "acpu_ejtag_loc2"),
1675*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 24), "pcpu_ejtag_loc2"),
1676*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 24), "aucpu0_ejtag_loc2"),
1677*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 24), "ve2_ejtag_loc2"),
1678*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 24), "aucpu1_ejtag_loc2"),
1679*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")
1680*e309dbd5STzuyi Chang 	),
1681*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_46] = RTK_PIN_MUX(gpio_46, 0x0, GENMASK(31, 28),
1682*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
1683*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "sdio"),
1684*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 28), "scpu_ejtag_loc2"),
1685*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 28), "acpu_ejtag_loc2"),
1686*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 28), "pcpu_ejtag_loc2"),
1687*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 28), "aucpu0_ejtag_loc2"),
1688*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 28), "ve2_ejtag_loc2"),
1689*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 28), "aucpu1_ejtag_loc2"),
1690*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")
1691*e309dbd5STzuyi Chang 	),
1692*e309dbd5STzuyi Chang 
1693*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_47] = RTK_PIN_MUX(gpio_47, 0x4, GENMASK(3, 0),
1694*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
1695*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "sdio"),
1696*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 0), "scpu_ejtag_loc2"),
1697*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 0), "acpu_ejtag_loc2"),
1698*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 0), "pcpu_ejtag_loc2"),
1699*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 0), "aucpu0_ejtag_loc2"),
1700*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 0), "ve2_ejtag_loc2"),
1701*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 0), "aucpu1_ejtag_loc2"),
1702*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")
1703*e309dbd5STzuyi Chang 	),
1704*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_48] = RTK_PIN_MUX(gpio_48, 0x4, GENMASK(7, 4),
1705*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
1706*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "sdio"),
1707*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "scpu_ejtag_loc2"),
1708*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 4), "acpu_ejtag_loc2"),
1709*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 4), "pcpu_ejtag_loc2"),
1710*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 4), "aucpu0_ejtag_loc2"),
1711*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 4), "ve2_ejtag_loc2"),
1712*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 4), "aucpu1_ejtag_loc2"),
1713*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")
1714*e309dbd5STzuyi Chang 	),
1715*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_49] = RTK_PIN_MUX(gpio_49, 0x4, GENMASK(11, 8),
1716*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
1717*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "sdio"),
1718*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "scpu_ejtag_loc2"),
1719*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "acpu_ejtag_loc2"),
1720*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 8), "pcpu_ejtag_loc2"),
1721*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 8), "aucpu0_ejtag_loc2"),
1722*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 8), "ve2_ejtag_loc2"),
1723*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 8), "aucpu1_ejtag_loc2"),
1724*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")
1725*e309dbd5STzuyi Chang 	),
1726*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_50] = RTK_PIN_MUX(gpio_50, 0x4, GENMASK(15, 12),
1727*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
1728*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "sdio"),
1729*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")
1730*e309dbd5STzuyi Chang 	),
1731*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_52] = RTK_PIN_MUX(gpio_52, 0x4, GENMASK(19, 16),
1732*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
1733*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xd, 16), "pwm4"),
1734*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")
1735*e309dbd5STzuyi Chang 	),
1736*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_94] = RTK_PIN_MUX(gpio_94, 0x4, GENMASK(23, 20),
1737*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
1738*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "uart7"),
1739*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")
1740*e309dbd5STzuyi Chang 	),
1741*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_95] = RTK_PIN_MUX(gpio_95, 0x4, GENMASK(27, 24),
1742*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
1743*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "uart7"),
1744*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xd, 24), "pwm2_loc1"),
1745*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")
1746*e309dbd5STzuyi Chang 	),
1747*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_96] = RTK_PIN_MUX(gpio_96, 0x4, GENMASK(31, 28),
1748*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
1749*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "uart8"),
1750*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")
1751*e309dbd5STzuyi Chang 	),
1752*e309dbd5STzuyi Chang 
1753*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_97] = RTK_PIN_MUX(gpio_97, 0x8, GENMASK(3, 0),
1754*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
1755*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "uart8"),
1756*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xd, 0), "pwm3_loc1"),
1757*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")
1758*e309dbd5STzuyi Chang 	),
1759*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_98] = RTK_PIN_MUX(gpio_98, 0x8, GENMASK(7, 4),
1760*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
1761*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "ai_tdm0"),
1762*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 4), "vtc_i2s"),
1763*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 4), "ai_i2s0"),
1764*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")
1765*e309dbd5STzuyi Chang 	),
1766*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_99] = RTK_PIN_MUX(gpio_99, 0x8, GENMASK(11, 8),
1767*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
1768*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "ao_tdm0"),
1769*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 8), "ao_i2s0"),
1770*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")
1771*e309dbd5STzuyi Chang 	),
1772*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_100] = RTK_PIN_MUX(gpio_100, 0x8, GENMASK(15, 12),
1773*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
1774*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "ai_tdm0"),
1775*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "ao_tdm0"),
1776*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 12), "vtc_i2s"),
1777*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 12), "ai_i2s0"),
1778*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 12), "ao_i2s0"),
1779*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")
1780*e309dbd5STzuyi Chang 	),
1781*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_101] = RTK_PIN_MUX(gpio_101, 0x8, GENMASK(19, 16),
1782*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
1783*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "ai_tdm0"),
1784*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "ao_tdm0"),
1785*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 16), "vtc_i2s"),
1786*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 16), "ai_i2s0"),
1787*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 16), "ao_i2s0"),
1788*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")
1789*e309dbd5STzuyi Chang 	),
1790*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_102] = RTK_PIN_MUX(gpio_102, 0x8, GENMASK(23, 20),
1791*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
1792*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "ai_tdm0"),
1793*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "ao_tdm0"),
1794*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 20), "vtc_i2s"),
1795*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 20), "ai_i2s0"),
1796*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 20), "ao_i2s0"),
1797*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")
1798*e309dbd5STzuyi Chang 	),
1799*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_103] = RTK_PIN_MUX(gpio_103, 0x8, GENMASK(27, 24),
1800*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
1801*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "ai_tdm1"),
1802*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 24), "ai_i2s1_loc0"),
1803*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 24), "ao_i2s0_loc1"),
1804*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")
1805*e309dbd5STzuyi Chang 	),
1806*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_104] = RTK_PIN_MUX(gpio_104, 0x8, GENMASK(31, 28),
1807*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
1808*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "ao_tdm1_loc0"),
1809*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 28), "ao_i2s1_loc0"),
1810*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")
1811*e309dbd5STzuyi Chang 	),
1812*e309dbd5STzuyi Chang 
1813*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_105] = RTK_PIN_MUX(gpio_105, 0xc, GENMASK(3, 0),
1814*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
1815*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "ai_tdm1"),
1816*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "ao_tdm1"),
1817*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 0), "ai_i2s1_loc0"),
1818*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 0), "ao_i2s1_loc0"),
1819*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")
1820*e309dbd5STzuyi Chang 	),
1821*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_106] = RTK_PIN_MUX(gpio_106, 0xc, GENMASK(7, 4),
1822*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
1823*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "ai_tdm1"),
1824*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "ao_tdm1"),
1825*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 4), "ai_i2s1_loc0"),
1826*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 4), "ao_i2s1_loc0"),
1827*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")
1828*e309dbd5STzuyi Chang 	),
1829*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_107] = RTK_PIN_MUX(gpio_107, 0xc, GENMASK(11, 8),
1830*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
1831*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "ai_tdm1"),
1832*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "ao_tdm1"),
1833*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 8), "ai_i2s1_loc0"),
1834*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 8), "ao_i2s1_loc0"),
1835*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xb, 8), "ao_i2s0_loc1"),
1836*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")
1837*e309dbd5STzuyi Chang 	),
1838*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_108] = RTK_PIN_MUX(gpio_108, 0xc, GENMASK(15, 12),
1839*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
1840*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "ai_tdm2"),
1841*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 12), "pcm"),
1842*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 12), "ai_i2s2"),
1843*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")
1844*e309dbd5STzuyi Chang 	),
1845*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_109] = RTK_PIN_MUX(gpio_109, 0xc, GENMASK(19, 16),
1846*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
1847*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "ao_tdm2"),
1848*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 16), "pcm"),
1849*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 16), "ao_i2s2"),
1850*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 16), "vtc_ao_i2s"),
1851*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")
1852*e309dbd5STzuyi Chang 	),
1853*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_110] = RTK_PIN_MUX(gpio_110, 0xc, GENMASK(23, 20),
1854*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
1855*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "ai_tdm2"),
1856*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "ao_tdm2"),
1857*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 20), "pcm"),
1858*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 20), "ai_i2s2"),
1859*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 20), "ao_i2s2"),
1860*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 20), "vtc_ao_i2s"),
1861*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")
1862*e309dbd5STzuyi Chang 	),
1863*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_111] = RTK_PIN_MUX(gpio_111, 0xc, GENMASK(27, 24),
1864*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
1865*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "ai_tdm2"),
1866*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "ao_tdm2"),
1867*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 24), "pcm"),
1868*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 24), "ai_i2s2"),
1869*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 24), "ao_i2s2"),
1870*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 24), "vtc_ao_i2s"),
1871*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")
1872*e309dbd5STzuyi Chang 	),
1873*e309dbd5STzuyi Chang 
1874*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_112] = RTK_PIN_MUX(gpio_112, 0x10, GENMASK(4, 0),
1875*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
1876*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "ai_tdm2"),
1877*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "ao_tdm2"),
1878*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 0), "scpu_ejtag_loc0"),
1879*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 0), "acpu_ejtag_loc0"),
1880*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 0), "pcpu_ejtag_loc0"),
1881*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 0), "aucpu0_ejtag_loc0"),
1882*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 0), "ve2_ejtag_loc0"),
1883*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 0), "ai_i2s2"),
1884*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 0), "ao_i2s2"),
1885*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xc, 0), "gpu_ejtag_loc0"),
1886*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 0), "vtc_ao_i2s"),
1887*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate"),
1888*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x10, 0), "ao_tdm1_loc1"),
1889*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x11, 0), "aucpu1_ejtag_loc0"),
1890*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x13, 0), "ao_i2s0")
1891*e309dbd5STzuyi Chang 	),
1892*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_128] = RTK_PIN_MUX(gpio_128, 0x10, GENMASK(8, 5),
1893*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 5), "gpio"),
1894*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 5), "edptx_hdp"),
1895*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 5), "iso_tristate")
1896*e309dbd5STzuyi Chang 	),
1897*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_129] = RTK_PIN_MUX(gpio_129, 0x10, GENMASK(12, 9),
1898*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 9), "gpio"),
1899*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 9), "iso_tristate")
1900*e309dbd5STzuyi Chang 	),
1901*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_130] = RTK_PIN_MUX(gpio_130, 0x10, GENMASK(16, 13),
1902*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 13), "gpio"),
1903*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xd, 13), "pwm5"),
1904*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 13), "iso_tristate")
1905*e309dbd5STzuyi Chang 	),
1906*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_131] = RTK_PIN_MUX(gpio_131, 0x10, GENMASK(20, 17),
1907*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 17), "gpio"),
1908*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 17), "iso_tristate")
1909*e309dbd5STzuyi Chang 	),
1910*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_145] = RTK_PIN_MUX(gpio_145, 0x10, GENMASK(24, 21),
1911*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 21), "gpio"),
1912*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 21), "vi0_dtv"),
1913*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 21), "iso_tristate")
1914*e309dbd5STzuyi Chang 	),
1915*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_146] = RTK_PIN_MUX(gpio_146, 0x10, GENMASK(28, 25),
1916*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 25), "gpio"),
1917*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 25), "vi0_dtv"),
1918*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 25), "iso_tristate")
1919*e309dbd5STzuyi Chang 	),
1920*e309dbd5STzuyi Chang 
1921*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_147] = RTK_PIN_MUX(gpio_147, 0x14, GENMASK(3, 0),
1922*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
1923*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "vi0_dtv"),
1924*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")
1925*e309dbd5STzuyi Chang 	),
1926*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_148] = RTK_PIN_MUX(gpio_148, 0x14, GENMASK(7, 4),
1927*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
1928*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "vi0_dtv"),
1929*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")
1930*e309dbd5STzuyi Chang 	),
1931*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_149] = RTK_PIN_MUX(gpio_149, 0x14, GENMASK(11, 8),
1932*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
1933*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "vi0_dtv"),
1934*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")
1935*e309dbd5STzuyi Chang 	),
1936*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_150] = RTK_PIN_MUX(gpio_150, 0x14, GENMASK(15, 12),
1937*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
1938*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "vi0_dtv"),
1939*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")
1940*e309dbd5STzuyi Chang 	),
1941*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_151] = RTK_PIN_MUX(gpio_151, 0x14, GENMASK(19, 16),
1942*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
1943*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "vi0_dtv"),
1944*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")
1945*e309dbd5STzuyi Chang 	),
1946*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_152] = RTK_PIN_MUX(gpio_152, 0x14, GENMASK(23, 20),
1947*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
1948*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "vi0_dtv"),
1949*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")
1950*e309dbd5STzuyi Chang 	),
1951*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_153] = RTK_PIN_MUX(gpio_153, 0x14, GENMASK(27, 24),
1952*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
1953*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "vi0_dtv"),
1954*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")
1955*e309dbd5STzuyi Chang 	),
1956*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_154] = RTK_PIN_MUX(gpio_154, 0x14, GENMASK(31, 28),
1957*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
1958*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "vi0_dtv"),
1959*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "vi1_dtv"),
1960*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 28), "ao_i2s0_loc0"),
1961*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")
1962*e309dbd5STzuyi Chang 	),
1963*e309dbd5STzuyi Chang 
1964*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_155] = RTK_PIN_MUX(gpio_155, 0x18, GENMASK(3, 0),
1965*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
1966*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "vi0_dtv"),
1967*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "vi1_dtv"),
1968*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 0), "ao_i2s0_loc0"),
1969*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")
1970*e309dbd5STzuyi Chang 	),
1971*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_156] = RTK_PIN_MUX(gpio_156, 0x18, GENMASK(7, 4),
1972*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
1973*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "vi0_dtv"),
1974*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "vi1_dtv"),
1975*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "dmic0"),
1976*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 4), "vtc_dmic"),
1977*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 4), "ai_i2s0"),
1978*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")
1979*e309dbd5STzuyi Chang 	),
1980*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_157] = RTK_PIN_MUX(gpio_157, 0x18, GENMASK(11, 8),
1981*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
1982*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "vi0_dtv"),
1983*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "vi1_dtv"),
1984*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "dmic0"),
1985*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "vtc_dmic"),
1986*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 8), "ai_i2s1_loc1"),
1987*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 8), "ao_i2s1_loc1"),
1988*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")
1989*e309dbd5STzuyi Chang 	),
1990*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_158] = RTK_PIN_MUX(gpio_158, 0x18, GENMASK(15, 12),
1991*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
1992*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "vi0_dtv"),
1993*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "vi1_dtv"),
1994*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "dmic1"),
1995*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 12), "vtc_dmic"),
1996*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 12), "ai_i2s1_loc1"),
1997*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 12), "ao_i2s1_loc1"),
1998*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")
1999*e309dbd5STzuyi Chang 	),
2000*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_159] = RTK_PIN_MUX(gpio_159, 0x18, GENMASK(19, 16),
2001*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
2002*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "vi0_dtv"),
2003*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "vi1_dtv"),
2004*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "dmic1"),
2005*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 16), "vtc_dmic"),
2006*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 16), "ai_i2s1_loc1"),
2007*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 16), "ao_i2s1_loc1"),
2008*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")
2009*e309dbd5STzuyi Chang 	),
2010*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_160] = RTK_PIN_MUX(gpio_160, 0x18, GENMASK(23, 20),
2011*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
2012*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "vi0_dtv"),
2013*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "vi1_dtv"),
2014*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "dmic2"),
2015*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 20), "ai_i2s0"),
2016*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 20), "ai_i2s1_loc1"),
2017*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")
2018*e309dbd5STzuyi Chang 	),
2019*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_161] = RTK_PIN_MUX(gpio_161, 0x18, GENMASK(27, 24),
2020*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
2021*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "vi0_dtv"),
2022*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "vi1_dtv"),
2023*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 24), "dmic2"),
2024*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 24), "vtc_i2s"),
2025*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 24), "ai_i2s0"),
2026*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 24), "ao_i2s1_loc1"),
2027*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")
2028*e309dbd5STzuyi Chang 	),
2029*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_162] = RTK_PIN_MUX(gpio_162, 0x18, GENMASK(31, 28),
2030*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
2031*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "vi1_dtv"),
2032*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xd, 28), "pwm0_loc2"),
2033*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")
2034*e309dbd5STzuyi Chang 	),
2035*e309dbd5STzuyi Chang 
2036*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_163] = RTK_PIN_MUX(gpio_163, 0x1c, GENMASK(3, 0),
2037*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
2038*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 0), "spdif_in_coaxial"),
2039*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")
2040*e309dbd5STzuyi Chang 	),
2041*e309dbd5STzuyi Chang 
2042*e309dbd5STzuyi Chang 	[RTD1625_ISO_HI_WIDTH] = RTK_PIN_MUX(hi_width, 0x120, GENMASK(9, 8),
2043*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "hi_width_disable"),
2044*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "hi_width_1bit")
2045*e309dbd5STzuyi Chang 	),
2046*e309dbd5STzuyi Chang 	[RTD1625_ISO_SF_EN] = RTK_PIN_MUX(sf_en, 0x120, GENMASK(11, 11),
2047*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 11), "sf_disable"),
2048*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 11), "sf_enable")
2049*e309dbd5STzuyi Chang 	),
2050*e309dbd5STzuyi Chang 	[RTD1625_ISO_ARM_TRACE_DBG_EN] = RTK_PIN_MUX(arm_trace_dbg_en, 0x120, GENMASK(13, 12),
2051*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "arm_trace_debug_disable"),
2052*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "arm_trace_debug_enable")
2053*e309dbd5STzuyi Chang 	),
2054*e309dbd5STzuyi Chang 	[RTD1625_ISO_EJTAG_AUCPU0_LOC] = RTK_PIN_MUX(ejtag_aucpu0_loc, 0x120, GENMASK(16, 14),
2055*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 14), "aucpu0_ejtag_loc0"),
2056*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 14), "aucpu0_ejtag_loc1"),
2057*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 14), "aucpu0_ejtag_loc2")
2058*e309dbd5STzuyi Chang 	),
2059*e309dbd5STzuyi Chang 	[RTD1625_ISO_EJTAG_AUCPU1_LOC] = RTK_PIN_MUX(ejtag_aucpu1_loc, 0x120, GENMASK(19, 17),
2060*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 17), "aucpu1_ejtag_loc0"),
2061*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 17), "aucpu1_ejtag_loc1"),
2062*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 17), "aucpu1_ejtag_loc2")
2063*e309dbd5STzuyi Chang 	),
2064*e309dbd5STzuyi Chang 	[RTD1625_ISO_EJTAG_VE2_LOC] = RTK_PIN_MUX(ejtag_ve2_loc, 0x120, GENMASK(22, 20),
2065*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "ve2_ejtag_loc0"),
2066*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "ve2_ejtag_loc1"),
2067*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 20), "ve2_ejtag_loc2")
2068*e309dbd5STzuyi Chang 	),
2069*e309dbd5STzuyi Chang 	[RTD1625_ISO_EJTAG_SCPU_LOC] = RTK_PIN_MUX(ejtag_scpu_loc, 0x120, GENMASK(25, 23),
2070*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 23), "scpu_ejtag_loc0"),
2071*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 23), "scpu_ejtag_loc1"),
2072*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 23), "scpu_ejtag_loc2")
2073*e309dbd5STzuyi Chang 	),
2074*e309dbd5STzuyi Chang 	[RTD1625_ISO_EJTAG_PCPU_LOC] = RTK_PIN_MUX(ejtag_pcpu_loc, 0x120, GENMASK(28, 26),
2075*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 26), "pcpu_ejtag_loc0"),
2076*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 26), "pcpu_ejtag_loc1"),
2077*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 26), "pcpu_ejtag_loc2")
2078*e309dbd5STzuyi Chang 	),
2079*e309dbd5STzuyi Chang 	[RTD1625_ISO_EJTAG_ACPU_LOC] = RTK_PIN_MUX(ejtag_acpu_loc, 0x120, GENMASK(31, 29),
2080*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 29), "acpu_ejtag_loc0"),
2081*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 29), "acpu_ejtag_loc1"),
2082*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 29), "acpu_ejtag_loc2")
2083*e309dbd5STzuyi Chang 	),
2084*e309dbd5STzuyi Chang 	[RTD1625_ISO_I2C6_LOC] = RTK_PIN_MUX(i2c6_loc, 0x128, GENMASK(1, 0),
2085*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "i2c6_loc0"),
2086*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "i2c6_loc1")
2087*e309dbd5STzuyi Chang 	),
2088*e309dbd5STzuyi Chang 	[RTD1625_ISO_UART0_LOC] = RTK_PIN_MUX(uart0_loc, 0x128, GENMASK(3, 2),
2089*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 2), "uart0_loc0"),
2090*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 2), "uart0_loc1")
2091*e309dbd5STzuyi Chang 	),
2092*e309dbd5STzuyi Chang 	[RTD1625_ISO_AI_I2S1_LOC] = RTK_PIN_MUX(ai_i2s1_loc, 0x128, GENMASK(5, 4),
2093*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "ai_i2s1_loc0"),
2094*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "ai_i2s1_loc1")
2095*e309dbd5STzuyi Chang 	),
2096*e309dbd5STzuyi Chang 	[RTD1625_ISO_AO_I2S1_LOC] = RTK_PIN_MUX(ao_i2s1_loc, 0x128, GENMASK(7, 6),
2097*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 6), "ao_i2s1_loc0"),
2098*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 6), "ao_i2s1_loc1")
2099*e309dbd5STzuyi Chang 	),
2100*e309dbd5STzuyi Chang 	[RTD1625_ISO_ETN_PHY_LOC] = RTK_PIN_MUX(etn_phy_loc, 0x128, GENMASK(9, 8),
2101*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "etn_phy_loc0"),
2102*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "etn_phy_loc1")
2103*e309dbd5STzuyi Chang 	),
2104*e309dbd5STzuyi Chang 	[RTD1625_ISO_SPDIF_LOC] = RTK_PIN_MUX(spdif_loc, 0x128, GENMASK(14, 13),
2105*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 13), "spdif_loc0"),
2106*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 13), "spdif_loc1")
2107*e309dbd5STzuyi Chang 	),
2108*e309dbd5STzuyi Chang 	[RTD1625_ISO_RGMII_VDSEL] = RTK_PIN_MUX(rgmii_vdsel, 0x188, GENMASK(17, 16),
2109*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "rgmii_3v3"),
2110*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "rgmii_2v5"),
2111*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "rgmii_1v8"),
2112*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "rgmii_1v2")
2113*e309dbd5STzuyi Chang 	),
2114*e309dbd5STzuyi Chang 	[RTD1625_ISO_CSI_VDSEL] = RTK_PIN_MUX(csi_vdsel, 0x188, GENMASK(19, 18),
2115*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 18), "csi_3v3"),
2116*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 18), "csi_2v5"),
2117*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 18), "csi_1v8"),
2118*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 18), "csi_1v2")
2119*e309dbd5STzuyi Chang 	),
2120*e309dbd5STzuyi Chang 
2121*e309dbd5STzuyi Chang 	[RTD1625_ISO_SPDIF_IN_MODE] = RTK_PIN_MUX(spdif_in_mode, 0x188, GENMASK(20, 20),
2122*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "spdif_in_gpio"),
2123*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "spdif_in_coaxial")
2124*e309dbd5STzuyi Chang 	),
2125*e309dbd5STzuyi Chang };
2126*e309dbd5STzuyi Chang 
2127*e309dbd5STzuyi Chang static const struct rtd_pin_desc rtd1625_isom_muxes[] = {
2128*e309dbd5STzuyi Chang 	[RTD1625_ISOM_GPIO_0] = RTK_PIN_MUX(gpio_0, 0x0, GENMASK(3, 0),
2129*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
2130*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "pctrl"),
2131*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")
2132*e309dbd5STzuyi Chang 	),
2133*e309dbd5STzuyi Chang 	[RTD1625_ISOM_GPIO_1] = RTK_PIN_MUX(gpio_1, 0x0, GENMASK(7, 4),
2134*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
2135*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "pctrl"),
2136*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "ir_rx_loc1"),
2137*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")
2138*e309dbd5STzuyi Chang 	),
2139*e309dbd5STzuyi Chang 	[RTD1625_ISOM_GPIO_28] = RTK_PIN_MUX(gpio_28, 0x0, GENMASK(11, 8),
2140*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
2141*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "uart10"),
2142*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "pctrl"),
2143*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "isom_dbg_out"),
2144*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")
2145*e309dbd5STzuyi Chang 	),
2146*e309dbd5STzuyi Chang 	[RTD1625_ISOM_GPIO_29] = RTK_PIN_MUX(gpio_29, 0x0, GENMASK(15, 12),
2147*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
2148*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "uart10"),
2149*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "pctrl"),
2150*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "ir_rx_loc0"),
2151*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 12), "isom_dbg_out"),
2152*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")
2153*e309dbd5STzuyi Chang 	),
2154*e309dbd5STzuyi Chang 	[RTD1625_ISOM_IR_RX_LOC] = RTK_PIN_MUX(ir_rx_loc, 0x30, GENMASK(1, 0),
2155*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "ir_rx_loc0"),
2156*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "ir_rx_loc1")
2157*e309dbd5STzuyi Chang 	),
2158*e309dbd5STzuyi Chang };
2159*e309dbd5STzuyi Chang 
2160*e309dbd5STzuyi Chang static const struct rtd_pin_desc rtd1625_ve4_muxes[] = {
2161*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_2] = RTK_PIN_MUX(gpio_2, 0x0, GENMASK(3, 0),
2162*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
2163*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "uart0_loc0"),
2164*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")
2165*e309dbd5STzuyi Chang 	),
2166*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_3] = RTK_PIN_MUX(gpio_3, 0x0, GENMASK(7, 4),
2167*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
2168*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "uart0_loc0"),
2169*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")
2170*e309dbd5STzuyi Chang 	),
2171*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_4] = RTK_PIN_MUX(gpio_4, 0x0, GENMASK(11, 8),
2172*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
2173*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "uart2"),
2174*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "gspi0"),
2175*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "scpu_ejtag_loc0"),
2176*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "acpu_ejtag_loc0"),
2177*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 8), "pcpu_ejtag_loc0"),
2178*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 8), "aucpu0_ejtag_loc0"),
2179*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 8), "ve2_ejtag_loc0"),
2180*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xc, 8), "gpu_ejtag_loc0"),
2181*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 8), "aucpu1_ejtag_loc0"),
2182*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")
2183*e309dbd5STzuyi Chang 	),
2184*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_5] = RTK_PIN_MUX(gpio_5, 0x0, GENMASK(15, 12),
2185*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
2186*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "uart2"),
2187*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "gspi0"),
2188*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "scpu_ejtag_loc0"),
2189*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 12), "acpu_ejtag_loc0"),
2190*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 12), "pcpu_ejtag_loc0"),
2191*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 12), "aucpu0_ejtag_loc0"),
2192*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 12), "ve2_ejtag_loc0"),
2193*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xc, 12), "gpu_ejtag_loc0"),
2194*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 12), "aucpu1_ejtag_loc0"),
2195*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")
2196*e309dbd5STzuyi Chang 	),
2197*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_6] = RTK_PIN_MUX(gpio_6, 0x0, GENMASK(20, 16),
2198*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
2199*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "uart2"),
2200*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "gspi0"),
2201*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "scpu_ejtag_loc0"),
2202*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 16), "acpu_ejtag_loc0"),
2203*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 16), "pcpu_ejtag_loc0"),
2204*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 16), "aucpu0_ejtag_loc0"),
2205*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 16), "ve2_ejtag_loc0"),
2206*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xc, 16), "gpu_ejtag_loc0"),
2207*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xd, 16), "pwm0_loc1"),
2208*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 16), "aucpu1_ejtag_loc0"),
2209*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")
2210*e309dbd5STzuyi Chang 	),
2211*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_7] = RTK_PIN_MUX(gpio_7, 0x0, GENMASK(24, 21),
2212*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 21), "gpio"),
2213*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 21), "uart2"),
2214*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 21), "gspi0"),
2215*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 21), "scpu_ejtag_loc0"),
2216*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 21), "acpu_ejtag_loc0"),
2217*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 21), "pcpu_ejtag_loc0"),
2218*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 21), "aucpu0_ejtag_loc0"),
2219*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 21), "ve2_ejtag_loc0"),
2220*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xc, 21), "gpu_ejtag_loc0"),
2221*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xd, 21), "pwm1_loc0"),
2222*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 21), "aucpu1_ejtag_loc0"),
2223*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 21), "iso_tristate")
2224*e309dbd5STzuyi Chang 	),
2225*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_12] = RTK_PIN_MUX(gpio_12, 0x0, GENMASK(28, 25),
2226*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 25), "gpio"),
2227*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 25), "i2c0"),
2228*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xd, 25), "pwm0_loc3"),
2229*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 25), "iso_tristate")
2230*e309dbd5STzuyi Chang 	),
2231*e309dbd5STzuyi Chang 
2232*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_13] = RTK_PIN_MUX(gpio_13, 0x4, GENMASK(3, 0),
2233*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
2234*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "i2c0"),
2235*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")
2236*e309dbd5STzuyi Chang 	),
2237*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_16] = RTK_PIN_MUX(gpio_16, 0x4, GENMASK(7, 4),
2238*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
2239*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "dptx_hpd"),
2240*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xd, 4), "pwm2_loc0"),
2241*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")
2242*e309dbd5STzuyi Chang 	),
2243*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_17] = RTK_PIN_MUX(gpio_17, 0x4, GENMASK(11, 8),
2244*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
2245*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")
2246*e309dbd5STzuyi Chang 	),
2247*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_18] = RTK_PIN_MUX(gpio_18, 0x4, GENMASK(15, 12),
2248*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
2249*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "pcie0"),
2250*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")
2251*e309dbd5STzuyi Chang 	),
2252*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_19] = RTK_PIN_MUX(gpio_19, 0x4, GENMASK(19, 16),
2253*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
2254*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xd, 16), "pwm3_loc0"),
2255*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")
2256*e309dbd5STzuyi Chang 	),
2257*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_23] = RTK_PIN_MUX(gpio_23, 0x4, GENMASK(23, 20),
2258*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
2259*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")
2260*e309dbd5STzuyi Chang 	),
2261*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_24] = RTK_PIN_MUX(gpio_24, 0x4, GENMASK(27, 24),
2262*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
2263*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "i2c3"),
2264*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")
2265*e309dbd5STzuyi Chang 	),
2266*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_25] = RTK_PIN_MUX(gpio_25, 0x4, GENMASK(31, 28),
2267*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
2268*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "i2c3"),
2269*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")
2270*e309dbd5STzuyi Chang 	),
2271*e309dbd5STzuyi Chang 
2272*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_30] = RTK_PIN_MUX(gpio_30, 0x8, GENMASK(3, 0),
2273*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
2274*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "pcie1"),
2275*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")
2276*e309dbd5STzuyi Chang 	),
2277*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_31] = RTK_PIN_MUX(gpio_31, 0x8, GENMASK(7, 4),
2278*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
2279*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")
2280*e309dbd5STzuyi Chang 	),
2281*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_32] = RTK_PIN_MUX(gpio_32, 0x8, GENMASK(11, 8),
2282*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
2283*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "uart9"),
2284*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "ve4_uart_loc2"),
2285*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")
2286*e309dbd5STzuyi Chang 	),
2287*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_33] = RTK_PIN_MUX(gpio_33, 0x8, GENMASK(15, 12),
2288*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
2289*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "uart9"),
2290*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 12), "ve4_uart_loc2"),
2291*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")
2292*e309dbd5STzuyi Chang 	),
2293*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_34] = RTK_PIN_MUX(gpio_34, 0x8, GENMASK(19, 16),
2294*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
2295*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")
2296*e309dbd5STzuyi Chang 	),
2297*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_35] = RTK_PIN_MUX(gpio_35, 0x8, GENMASK(23, 20),
2298*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
2299*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")
2300*e309dbd5STzuyi Chang 	),
2301*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_42] = RTK_PIN_MUX(gpio_42, 0x8, GENMASK(27, 24),
2302*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
2303*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "sd"),
2304*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")
2305*e309dbd5STzuyi Chang 	),
2306*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_43] = RTK_PIN_MUX(gpio_43, 0x8, GENMASK(31, 28),
2307*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
2308*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "sd"),
2309*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")
2310*e309dbd5STzuyi Chang 	),
2311*e309dbd5STzuyi Chang 
2312*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_44] = RTK_PIN_MUX(gpio_44, 0xc, GENMASK(3, 0),
2313*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
2314*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")
2315*e309dbd5STzuyi Chang 	),
2316*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_51] = RTK_PIN_MUX(gpio_51, 0xc, GENMASK(7, 4),
2317*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
2318*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "i2c6_loc1"),
2319*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")
2320*e309dbd5STzuyi Chang 	),
2321*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_53] = RTK_PIN_MUX(gpio_53, 0xc, GENMASK(11, 8),
2322*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
2323*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "uart3"),
2324*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "ts0"),
2325*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "gspi2"),
2326*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "ve4_uart_loc0"),
2327*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")
2328*e309dbd5STzuyi Chang 	),
2329*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_54] = RTK_PIN_MUX(gpio_54, 0xc, GENMASK(15, 12),
2330*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
2331*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "uart3"),
2332*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "ts0"),
2333*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "gspi2"),
2334*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 12), "ve4_uart_loc0"),
2335*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")
2336*e309dbd5STzuyi Chang 	),
2337*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_55] = RTK_PIN_MUX(gpio_55, 0xc, GENMASK(19, 16),
2338*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
2339*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "uart3"),
2340*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "ts0"),
2341*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "gspi2"),
2342*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")
2343*e309dbd5STzuyi Chang 	),
2344*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_56] = RTK_PIN_MUX(gpio_56, 0xc, GENMASK(23, 20),
2345*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
2346*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "uart3"),
2347*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "ts0"),
2348*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "gspi2"),
2349*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")
2350*e309dbd5STzuyi Chang 	),
2351*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_57] = RTK_PIN_MUX(gpio_57, 0xc, GENMASK(27, 24),
2352*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
2353*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "uart5"),
2354*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "uart0_loc1"),
2355*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 24), "gspi1"),
2356*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")
2357*e309dbd5STzuyi Chang 	),
2358*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_58] = RTK_PIN_MUX(gpio_58, 0xc, GENMASK(31, 28),
2359*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
2360*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "uart5"),
2361*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "uart0_loc1"),
2362*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 28), "gspi1"),
2363*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")
2364*e309dbd5STzuyi Chang 	),
2365*e309dbd5STzuyi Chang 
2366*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_59] = RTK_PIN_MUX(gpio_59, 0x10, GENMASK(3, 0),
2367*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
2368*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "uart4"),
2369*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "i2c4"),
2370*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 0), "gspi1"),
2371*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")
2372*e309dbd5STzuyi Chang 	),
2373*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_60] = RTK_PIN_MUX(gpio_60, 0x10, GENMASK(7, 4),
2374*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
2375*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "uart4"),
2376*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "i2c4"),
2377*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "gspi1"),
2378*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")
2379*e309dbd5STzuyi Chang 	),
2380*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_61] = RTK_PIN_MUX(gpio_61, 0x10, GENMASK(11, 8),
2381*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
2382*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "i2c6_loc1"),
2383*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "spdif_out"),
2384*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 8), "spdif_in_optical"),
2385*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")
2386*e309dbd5STzuyi Chang 	),
2387*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_62] = RTK_PIN_MUX(gpio_62, 0x10, GENMASK(15, 12),
2388*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
2389*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "pll_test_loc0"),
2390*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")
2391*e309dbd5STzuyi Chang 	),
2392*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_63] = RTK_PIN_MUX(gpio_63, 0x10, GENMASK(19, 16),
2393*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
2394*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "pll_test_loc0"),
2395*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")
2396*e309dbd5STzuyi Chang 	),
2397*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_92] = RTK_PIN_MUX(gpio_92, 0x10, GENMASK(23, 20),
2398*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
2399*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "uart6"),
2400*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "i2c7"),
2401*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 20), "ve4_uart_loc1"),
2402*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")
2403*e309dbd5STzuyi Chang 	),
2404*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_93] = RTK_PIN_MUX(gpio_93, 0x10, GENMASK(27, 24),
2405*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
2406*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "uart6"),
2407*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "i2c7"),
2408*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 24), "ve4_uart_loc1"),
2409*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xd, 24), "pwm1_loc1"),
2410*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")
2411*e309dbd5STzuyi Chang 	),
2412*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_132] = RTK_PIN_MUX(gpio_132, 0x10, GENMASK(31, 28),
2413*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
2414*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xd, 28), "pwm6"),
2415*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")
2416*e309dbd5STzuyi Chang 	),
2417*e309dbd5STzuyi Chang 
2418*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_133] = RTK_PIN_MUX(gpio_133, 0x14, GENMASK(3, 0),
2419*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
2420*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "ts1"),
2421*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")
2422*e309dbd5STzuyi Chang 	),
2423*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_134] = RTK_PIN_MUX(gpio_134, 0x14, GENMASK(7, 4),
2424*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
2425*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "ts1"),
2426*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")
2427*e309dbd5STzuyi Chang 	),
2428*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_135] = RTK_PIN_MUX(gpio_135, 0x14, GENMASK(11, 8),
2429*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
2430*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "ts1"),
2431*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")
2432*e309dbd5STzuyi Chang 	),
2433*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_136] = RTK_PIN_MUX(gpio_136, 0x14, GENMASK(15, 12),
2434*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
2435*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "ts1"),
2436*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xd, 12), "pwm0_loc0"),
2437*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")
2438*e309dbd5STzuyi Chang 	),
2439*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_137] = RTK_PIN_MUX(gpio_137, 0x14, GENMASK(19, 16),
2440*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
2441*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "i2c6_loc0"),
2442*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")
2443*e309dbd5STzuyi Chang 	),
2444*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_138] = RTK_PIN_MUX(gpio_138, 0x14, GENMASK(23, 20),
2445*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
2446*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "i2c6_loc0"),
2447*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")
2448*e309dbd5STzuyi Chang 	),
2449*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_139] = RTK_PIN_MUX(gpio_139, 0x14, GENMASK(27, 24),
2450*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
2451*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")
2452*e309dbd5STzuyi Chang 	),
2453*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_140] = RTK_PIN_MUX(gpio_140, 0x14, GENMASK(31, 28),
2454*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
2455*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")
2456*e309dbd5STzuyi Chang 	),
2457*e309dbd5STzuyi Chang 
2458*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_141] = RTK_PIN_MUX(gpio_141, 0x18, GENMASK(3, 0),
2459*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
2460*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "csi0"),
2461*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")
2462*e309dbd5STzuyi Chang 	),
2463*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_142] = RTK_PIN_MUX(gpio_142, 0x18, GENMASK(7, 4),
2464*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
2465*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")
2466*e309dbd5STzuyi Chang 	),
2467*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_143] = RTK_PIN_MUX(gpio_143, 0x18, GENMASK(11, 8),
2468*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
2469*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")
2470*e309dbd5STzuyi Chang 	),
2471*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_144] = RTK_PIN_MUX(gpio_144, 0x18, GENMASK(15, 12),
2472*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
2473*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "csi1"),
2474*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")
2475*e309dbd5STzuyi Chang 	),
2476*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_164] = RTK_PIN_MUX(gpio_164, 0x18, GENMASK(19, 16),
2477*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
2478*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "etn_led_loc1"),
2479*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "etn_phy_loc1"),
2480*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "i2c5"),
2481*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")
2482*e309dbd5STzuyi Chang 	),
2483*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_165] = RTK_PIN_MUX(gpio_165, 0x18, GENMASK(23, 20),
2484*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
2485*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "etn_led_loc1"),
2486*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "etn_phy_loc1"),
2487*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "i2c5"),
2488*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")
2489*e309dbd5STzuyi Chang 	),
2490*e309dbd5STzuyi Chang 	[RTD1625_VE4_UART_LOC] = RTK_PIN_MUX(ve4_uart_loc, 0x80, GENMASK(2, 0),
2491*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "ve4_uart_loc0"),
2492*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "ve4_uart_loc1"),
2493*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 0), "ve4_uart_loc2")
2494*e309dbd5STzuyi Chang 	),
2495*e309dbd5STzuyi Chang };
2496*e309dbd5STzuyi Chang 
2497*e309dbd5STzuyi Chang static const struct rtd_pin_desc rtd1625_main2_muxes[] = {
2498*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_RST_N] = RTK_PIN_MUX(emmc_rst_n, 0x0, GENMASK(3, 0),
2499*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
2500*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "emmc"),
2501*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")
2502*e309dbd5STzuyi Chang 	),
2503*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_DD_SB] = RTK_PIN_MUX(emmc_dd_sb, 0x0, GENMASK(7, 4),
2504*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
2505*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "emmc"),
2506*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")
2507*e309dbd5STzuyi Chang 	),
2508*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_CLK] = RTK_PIN_MUX(emmc_clk, 0x0, GENMASK(11, 8),
2509*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
2510*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "emmc"),
2511*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")
2512*e309dbd5STzuyi Chang 	),
2513*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_CMD] = RTK_PIN_MUX(emmc_cmd, 0x0, GENMASK(15, 12),
2514*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
2515*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "emmc"),
2516*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")
2517*e309dbd5STzuyi Chang 	),
2518*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_DATA_0] = RTK_PIN_MUX(emmc_data_0, 0x0, GENMASK(19, 16),
2519*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
2520*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "emmc"),
2521*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "nf"),
2522*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")
2523*e309dbd5STzuyi Chang 	),
2524*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_DATA_1] = RTK_PIN_MUX(emmc_data_1, 0x0, GENMASK(23, 20),
2525*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
2526*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "emmc"),
2527*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "nf"),
2528*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")
2529*e309dbd5STzuyi Chang 	),
2530*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_DATA_2] = RTK_PIN_MUX(emmc_data_2, 0x0, GENMASK(27, 24),
2531*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
2532*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "emmc"),
2533*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 24), "nf"),
2534*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")
2535*e309dbd5STzuyi Chang 	),
2536*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_DATA_3] = RTK_PIN_MUX(emmc_data_3, 0x0, GENMASK(31, 28),
2537*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
2538*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "emmc"),
2539*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 28), "nf"),
2540*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")
2541*e309dbd5STzuyi Chang 	),
2542*e309dbd5STzuyi Chang 
2543*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_DATA_4] = RTK_PIN_MUX(emmc_data_4, 0x4, GENMASK(3, 0),
2544*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
2545*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "emmc"),
2546*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 0), "nf"),
2547*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")
2548*e309dbd5STzuyi Chang 	),
2549*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_DATA_5] = RTK_PIN_MUX(emmc_data_5, 0x4, GENMASK(7, 4),
2550*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
2551*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "emmc"),
2552*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "nf"),
2553*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")
2554*e309dbd5STzuyi Chang 	),
2555*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_DATA_6] = RTK_PIN_MUX(emmc_data_6, 0x4, GENMASK(11, 8),
2556*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
2557*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "emmc"),
2558*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")
2559*e309dbd5STzuyi Chang 	),
2560*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_DATA_7] = RTK_PIN_MUX(emmc_data_7, 0x4, GENMASK(15, 12),
2561*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
2562*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "emmc"),
2563*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")
2564*e309dbd5STzuyi Chang 	),
2565*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_14] = RTK_PIN_MUX(gpio_14, 0x4, GENMASK(19, 16),
2566*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
2567*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "etn_led_loc0"),
2568*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "etn_phy_loc0"),
2569*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "rgmii"),
2570*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")
2571*e309dbd5STzuyi Chang 	),
2572*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_15] = RTK_PIN_MUX(gpio_15, 0x4, GENMASK(23, 20),
2573*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
2574*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "etn_led_loc0"),
2575*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "etn_phy_loc0"),
2576*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "rgmii"),
2577*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")
2578*e309dbd5STzuyi Chang 	),
2579*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_20] = RTK_PIN_MUX(gpio_20, 0x4, GENMASK(27, 24),
2580*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
2581*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "i2c1"),
2582*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")
2583*e309dbd5STzuyi Chang 	),
2584*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_21] = RTK_PIN_MUX(gpio_21, 0x4, GENMASK(31, 28),
2585*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
2586*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "i2c1"),
2587*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")
2588*e309dbd5STzuyi Chang 	),
2589*e309dbd5STzuyi Chang 
2590*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_22] = RTK_PIN_MUX(gpio_22, 0x8, GENMASK(3, 0),
2591*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
2592*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "dbg_out1")
2593*e309dbd5STzuyi Chang 	),
2594*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_HIF_DATA] = RTK_PIN_MUX(hif_data, 0x8, GENMASK(7, 4),
2595*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
2596*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "sd"),
2597*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "scpu_ejtag_loc1"),
2598*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 4), "acpu_ejtag_loc1"),
2599*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 4), "pcpu_ejtag_loc1"),
2600*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 4), "aupu0_ejtag_loc1"),
2601*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 4), "ve2_ejtag_loc1"),
2602*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 4), "hi_loc0"),
2603*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 4), "hi_m"),
2604*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 4), "aupu1_ejtag_loc1"),
2605*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")
2606*e309dbd5STzuyi Chang 	),
2607*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_HIF_EN] = RTK_PIN_MUX(hif_en, 0x8, GENMASK(11, 8),
2608*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
2609*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "sd"),
2610*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "scpu_ejtag_loc1"),
2611*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "acpu_ejtag_loc1"),
2612*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 8), "pcpu_ejtag_loc1"),
2613*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 8), "aupu0_ejtag_loc1"),
2614*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 8), "ve2_ejtag_loc1"),
2615*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 8), "hi_loc0"),
2616*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 8), "hi_m"),
2617*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 8), "aupu1_ejtag_loc1"),
2618*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")
2619*e309dbd5STzuyi Chang 	),
2620*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_HIF_RDY] = RTK_PIN_MUX(hif_rdy, 0x8, GENMASK(15, 12),
2621*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
2622*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "sd"),
2623*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "scpu_ejtag_loc1"),
2624*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 12), "acpu_ejtag_loc1"),
2625*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 12), "pcpu_ejtag_loc1"),
2626*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 12), "aupu0_ejtag_loc1"),
2627*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 12), "ve2_ejtag_loc1"),
2628*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 12), "hi_loc0"),
2629*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 12), "hi_m"),
2630*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 12), "aupu1_ejtag_loc1"),
2631*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")
2632*e309dbd5STzuyi Chang 	),
2633*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_HIF_CLK] = RTK_PIN_MUX(hif_clk, 0x8, GENMASK(19, 16),
2634*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
2635*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "sd"),
2636*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "scpu_ejtag_loc1"),
2637*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 16), "acpu_ejtag_loc1"),
2638*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 16), "pcpu_ejtag_loc1"),
2639*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 16), "aupu0_ejtag_loc1"),
2640*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 16), "ve2_ejtag_loc1"),
2641*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 16), "hi_loc0"),
2642*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 16), "hi_m"),
2643*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 16), "aupu1_ejtag_loc1"),
2644*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")
2645*e309dbd5STzuyi Chang 	),
2646*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_40] = RTK_PIN_MUX(gpio_40, 0x8, GENMASK(23, 20),
2647*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
2648*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "sd"),
2649*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "scpu_ejtag_loc1"),
2650*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 20), "acpu_ejtag_loc1"),
2651*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 20), "pcpu_ejtag_loc1"),
2652*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 20), "aupu0_ejtag_loc1"),
2653*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 20), "ve2_ejtag_loc1"),
2654*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 20), "aupu1_ejtag_loc1"),
2655*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")
2656*e309dbd5STzuyi Chang 	),
2657*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_41] = RTK_PIN_MUX(gpio_41, 0x8, GENMASK(27, 24),
2658*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
2659*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "sd"),
2660*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")
2661*e309dbd5STzuyi Chang 	),
2662*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_64] = RTK_PIN_MUX(gpio_64, 0x8, GENMASK(31, 28),
2663*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
2664*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "spi"),
2665*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")
2666*e309dbd5STzuyi Chang 	),
2667*e309dbd5STzuyi Chang 
2668*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_65] = RTK_PIN_MUX(gpio_65, 0xc, GENMASK(3, 0),
2669*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
2670*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "pll_test_loc1"),
2671*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "spi"),
2672*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")
2673*e309dbd5STzuyi Chang 	),
2674*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_66] = RTK_PIN_MUX(gpio_66, 0xc, GENMASK(7, 4),
2675*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
2676*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "pll_test_loc1"),
2677*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "spi"),
2678*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")
2679*e309dbd5STzuyi Chang 	),
2680*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_67] = RTK_PIN_MUX(gpio_67, 0xc, GENMASK(13, 8),
2681*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
2682*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "spi"),
2683*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")
2684*e309dbd5STzuyi Chang 	),
2685*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_80] = RTK_PIN_MUX(gpio_80, 0xc, GENMASK(15, 12),
2686*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
2687*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "rmii"),
2688*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "rgmii"),
2689*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")
2690*e309dbd5STzuyi Chang 	),
2691*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_81] = RTK_PIN_MUX(gpio_81, 0xc, GENMASK(19, 16),
2692*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
2693*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "rmii"),
2694*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "rgmii"),
2695*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")
2696*e309dbd5STzuyi Chang 	),
2697*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_82] = RTK_PIN_MUX(gpio_82, 0xc, GENMASK(23, 20),
2698*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
2699*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "rmii"),
2700*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "rgmii"),
2701*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")
2702*e309dbd5STzuyi Chang 	),
2703*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_83] = RTK_PIN_MUX(gpio_83, 0xc, GENMASK(27, 24),
2704*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
2705*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "rmii"),
2706*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 24), "rgmii"),
2707*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")
2708*e309dbd5STzuyi Chang 	),
2709*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_84] = RTK_PIN_MUX(gpio_84, 0xc, GENMASK(31, 28),
2710*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
2711*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "rmii"),
2712*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 28), "rgmii"),
2713*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")
2714*e309dbd5STzuyi Chang 	),
2715*e309dbd5STzuyi Chang 
2716*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_85] = RTK_PIN_MUX(gpio_85, 0x10, GENMASK(3, 0),
2717*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
2718*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 0), "rgmii"),
2719*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")
2720*e309dbd5STzuyi Chang 	),
2721*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_86] = RTK_PIN_MUX(gpio_86, 0x10, GENMASK(7, 4),
2722*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
2723*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "rgmii"),
2724*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")
2725*e309dbd5STzuyi Chang 	),
2726*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_87] = RTK_PIN_MUX(gpio_87, 0x10, GENMASK(11, 8),
2727*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
2728*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "rmii"),
2729*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "rgmii"),
2730*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")
2731*e309dbd5STzuyi Chang 	),
2732*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_88] = RTK_PIN_MUX(gpio_88, 0x10, GENMASK(15, 12),
2733*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
2734*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "rmii"),
2735*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "rgmii"),
2736*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")
2737*e309dbd5STzuyi Chang 	),
2738*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_89] = RTK_PIN_MUX(gpio_89, 0x10, GENMASK(19, 16),
2739*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
2740*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "rmii"),
2741*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "rgmii"),
2742*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")
2743*e309dbd5STzuyi Chang 	),
2744*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_90] = RTK_PIN_MUX(gpio_90, 0x10, GENMASK(23, 20),
2745*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
2746*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "rgmii"),
2747*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")
2748*e309dbd5STzuyi Chang 	),
2749*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_91] = RTK_PIN_MUX(gpio_91, 0x10, GENMASK(27, 24),
2750*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
2751*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 24), "rgmii"),
2752*e309dbd5STzuyi Chang 		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")
2753*e309dbd5STzuyi Chang 	),
2754*e309dbd5STzuyi Chang };
2755*e309dbd5STzuyi Chang 
2756*e309dbd5STzuyi Chang static const struct rtd_pin_config_desc rtd1625_iso_configs[] = {
2757*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_8] = RTK_PIN_CONFIG_V2(gpio_8, 0x20, 0, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2758*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_9] = RTK_PIN_CONFIG_V2(gpio_9, 0x20, 6, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2759*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_10] = RTK_PIN_CONFIG_V2(gpio_10, 0x20, 12, 1, 2, 0, 3, 4, 5,
2760*e309dbd5STzuyi Chang 						  PADDRI_4_8),
2761*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_11] = RTK_PIN_CONFIG_V2(gpio_11, 0x20, 18, 1, 2, 0, 3, 4, 5,
2762*e309dbd5STzuyi Chang 						  PADDRI_4_8),
2763*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_45] = RTK_PIN_CONFIG(gpio_45, 0x24, 0, 0, 1, NA, 2, 12, NA),
2764*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_46] = RTK_PIN_CONFIG(gpio_46, 0x24, 13, 0, 1, NA, 2, 12, NA),
2765*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_47] = RTK_PIN_CONFIG(gpio_47, 0x28, 0, 0, 1, NA, 2, 12, NA),
2766*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_48] = RTK_PIN_CONFIG(gpio_48, 0x28, 13, 0, 1, NA, 2, 12, NA),
2767*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_49] = RTK_PIN_CONFIG(gpio_49, 0x2c, 0, 0, 1, NA, 2, 12, NA),
2768*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_50] = RTK_PIN_CONFIG(gpio_50, 0x2c, 13, 0, 1, NA, 2, 12, NA),
2769*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_52] = RTK_PIN_CONFIG_V2(gpio_52, 0x2c, 26, 1, 2, 0, 3, 4, 5,
2770*e309dbd5STzuyi Chang 						  PADDRI_4_8),
2771*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_94] = RTK_PIN_CONFIG_V2(gpio_94, 0x30, 0, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2772*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_95] = RTK_PIN_CONFIG_V2(gpio_95, 0x30, 6, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2773*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_96] = RTK_PIN_CONFIG_V2(gpio_96, 0x30, 12, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2774*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_97] = RTK_PIN_CONFIG_V2(gpio_97, 0x30, 18, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2775*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_98] = RTK_PIN_CONFIG_V2(gpio_98, 0x30, 24, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2776*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_99] = RTK_PIN_CONFIG_V2(gpio_99, 0x34, 0, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2777*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_100] = RTK_PIN_CONFIG_V2(gpio_100, 0x34, 6, 1, 2, 0, 3, 4, 5,
2778*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2779*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_101] = RTK_PIN_CONFIG_V2(gpio_101, 0x34, 12, 1, 2, 0, 3, 4, 5,
2780*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2781*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_102] = RTK_PIN_CONFIG_V2(gpio_102, 0x34, 18, 1, 2, 0, 3, 4, 5,
2782*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2783*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_103] = RTK_PIN_CONFIG_V2(gpio_103, 0x34, 24, 1, 2, 0, 3, 4, 5,
2784*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2785*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_104] = RTK_PIN_CONFIG_V2(gpio_104, 0x38, 0, 1, 2, 0, 3, 4, 5,
2786*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2787*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_105] = RTK_PIN_CONFIG_V2(gpio_105, 0x38, 6, 1, 2, 0, 3, 4, 5,
2788*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2789*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_106] = RTK_PIN_CONFIG_V2(gpio_106, 0x38, 12, 1, 2, 0, 3, 4, 5,
2790*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2791*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_107] = RTK_PIN_CONFIG_V2(gpio_107, 0x38, 18, 1, 2, 0, 3, 4, 5,
2792*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2793*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_108] = RTK_PIN_CONFIG_V2(gpio_108, 0x38, 24, 1, 2, 0, 3, 4, 5,
2794*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2795*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_109] = RTK_PIN_CONFIG_V2(gpio_109, 0x3c, 0, 1, 2, 0, 3, 4, 5,
2796*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2797*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_110] = RTK_PIN_CONFIG_V2(gpio_110, 0x3c, 6, 1, 2, 0, 3, 4, 5,
2798*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2799*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_111] = RTK_PIN_CONFIG_V2(gpio_111, 0x3c, 12, 1, 2, 0, 3, 4, 5,
2800*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2801*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_112] = RTK_PIN_CONFIG_V2(gpio_112, 0x3c, 18, 1, 2, 0, 3, 4, 5,
2802*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2803*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_128] = RTK_PIN_CONFIG_V2(gpio_128, 0x3c, 24, 1, 2, 0, 3, 4, 5,
2804*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2805*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_129] = RTK_PIN_CONFIG_V2(gpio_129, 0x40, 0, 1, 2, 0, 3, 4, 5,
2806*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2807*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_130] = RTK_PIN_CONFIG_V2(gpio_130, 0x40, 6, 1, 2, 0, 3, 4, 5,
2808*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2809*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_131] = RTK_PIN_CONFIG_V2(gpio_131, 0x40, 12, 1, 2, 0, 3, 4, 5,
2810*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2811*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_145] = RTK_PIN_CONFIG_V2(gpio_145, 0x40, 18, 1, 2, 0, 3, 4, 5,
2812*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2813*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_146] = RTK_PIN_CONFIG_V2(gpio_146, 0x40, 24, 1, 2, 0, 3, 4, 5,
2814*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2815*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_147] = RTK_PIN_CONFIG_V2(gpio_147, 0x44, 0, 1, 2, 0, 3, 4, 5,
2816*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2817*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_148] = RTK_PIN_CONFIG_V2(gpio_148, 0x44, 6, 1, 2, 0, 3, 4, 5,
2818*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2819*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_149] = RTK_PIN_CONFIG_V2(gpio_149, 0x44, 12, 1, 2, 0, 3, 4, 5,
2820*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2821*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_150] = RTK_PIN_CONFIG_V2(gpio_150, 0x44, 18, 1, 2, 0, 3, 4, 5,
2822*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2823*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_151] = RTK_PIN_CONFIG_V2(gpio_151, 0x44, 24, 1, 2, 0, 3, 4, 5,
2824*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2825*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_152] = RTK_PIN_CONFIG_V2(gpio_152, 0x48, 0, 1, 2, 0, 3, 4, 5,
2826*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2827*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_153] = RTK_PIN_CONFIG_V2(gpio_153, 0x48, 6, 1, 2, 0, 3, 4, 5,
2828*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2829*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_154] = RTK_PIN_CONFIG_V2(gpio_154, 0x48, 12, 1, 2, 0, 3, 4, 5,
2830*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2831*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_155] = RTK_PIN_CONFIG_V2(gpio_155, 0x48, 18, 1, 2, 0, 3, 4, 5,
2832*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2833*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_156] = RTK_PIN_CONFIG_V2(gpio_156, 0x48, 24, 1, 2, 0, 3, 4, 5,
2834*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2835*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_157] = RTK_PIN_CONFIG_V2(gpio_157, 0x4c, 0, 1, 2, 0, 3, 4, 5,
2836*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2837*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_158] = RTK_PIN_CONFIG_V2(gpio_158, 0x4c, 6, 1, 2, 0, 3, 4, 5,
2838*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2839*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_159] = RTK_PIN_CONFIG_V2(gpio_159, 0x4c, 12, 1, 2, 0, 3, 4, 5,
2840*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2841*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_160] = RTK_PIN_CONFIG_V2(gpio_160, 0x4c, 18, 1, 2, 0, 3, 4, 5,
2842*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2843*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_161] = RTK_PIN_CONFIG_V2(gpio_161, 0x4c, 24, 1, 2, 0, 3, 4, 5,
2844*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2845*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_162] = RTK_PIN_CONFIG_V2(gpio_162, 0x50, 0, 1, 2, 0, 3, 4, 5,
2846*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2847*e309dbd5STzuyi Chang 	[RTD1625_ISO_GPIO_163] = RTK_PIN_CONFIG_V2(gpio_163, 0x50, 6, 1, 2, 0, 3, 4, 5,
2848*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2849*e309dbd5STzuyi Chang 	[RTD1625_ISO_USB_CC1] = RTK_PIN_CONFIG_V2(usb_cc1, 0x50, 12, NA, NA, 0, 1, 2, 3,
2850*e309dbd5STzuyi Chang 						  PADDRI_4_8),
2851*e309dbd5STzuyi Chang 	[RTD1625_ISO_USB_CC2] = RTK_PIN_CONFIG_V2(usb_cc2, 0x50, 16, NA, NA, 0, 1, 2, 3,
2852*e309dbd5STzuyi Chang 						  PADDRI_4_8),
2853*e309dbd5STzuyi Chang };
2854*e309dbd5STzuyi Chang 
2855*e309dbd5STzuyi Chang static const struct rtd_pin_config_desc rtd1625_isom_configs[] = {
2856*e309dbd5STzuyi Chang 	[RTD1625_ISOM_GPIO_0] = RTK_PIN_CONFIG_V2(gpio_0, 0x4, 5, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2857*e309dbd5STzuyi Chang 	[RTD1625_ISOM_GPIO_1] = RTK_PIN_CONFIG_V2(gpio_1, 0x4, 11, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2858*e309dbd5STzuyi Chang 	[RTD1625_ISOM_GPIO_28] = RTK_PIN_CONFIG_V2(gpio_28, 0x4, 17, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2859*e309dbd5STzuyi Chang 	[RTD1625_ISOM_GPIO_29] = RTK_PIN_CONFIG_V2(gpio_29, 0x4, 23, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2860*e309dbd5STzuyi Chang };
2861*e309dbd5STzuyi Chang 
2862*e309dbd5STzuyi Chang static const struct rtd_pin_config_desc rtd1625_ve4_configs[] = {
2863*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_2] = RTK_PIN_CONFIG_V2(gpio_2, 0x1c, 0, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2864*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_3] = RTK_PIN_CONFIG_V2(gpio_3, 0x1c, 6, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2865*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_4] = RTK_PIN_CONFIG_V2(gpio_4, 0x1c, 12, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2866*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_5] = RTK_PIN_CONFIG_V2(gpio_5, 0x1c, 18, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2867*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_6] = RTK_PIN_CONFIG_V2(gpio_6, 0x1c, 24, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2868*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_7] = RTK_PIN_CONFIG_V2(gpio_7, 0x20, 0, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2869*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_12] = RTK_PIN_CONFIG_V2(gpio_12, 0x20, 6, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2870*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_13] = RTK_PIN_CONFIG_V2(gpio_13, 0x20, 18, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2871*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_16] = RTK_PIN_CONFIG_V2(gpio_16, 0x20, 18, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2872*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_17] = RTK_PIN_CONFIG_V2(gpio_17, 0x20, 24, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2873*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_18] = RTK_PIN_CONFIG_V2(gpio_18, 0x24, 0, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2874*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_19] = RTK_PIN_CONFIG_V2(gpio_19, 0x24, 6, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2875*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_23] = RTK_PIN_CONFIG_V2(gpio_23, 0x24, 12, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2876*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_24] = RTK_PIN_CONFIG_V2(gpio_24, 0x24, 18, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2877*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_25] = RTK_PIN_CONFIG_V2(gpio_25, 0x24, 24, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2878*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_30] = RTK_PIN_CONFIG_V2(gpio_30, 0x28, 0, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2879*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_31] = RTK_PIN_CONFIG_V2(gpio_31, 0x28, 6, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2880*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_32] = RTK_PIN_CONFIG_V2(gpio_32, 0x28, 12, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2881*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_33] = RTK_PIN_CONFIG_V2(gpio_33, 0x28, 18, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2882*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_34] = RTK_PIN_CONFIG_V2(gpio_34, 0x28, 24, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2883*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_35] = RTK_PIN_CONFIG_V2(gpio_35, 0x2c, 0, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2884*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_42] = RTK_PIN_CONFIG_V2(gpio_42, 0x2c, 6, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2885*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_43] = RTK_PIN_CONFIG_V2(gpio_43, 0x2c, 12, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2886*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_44] = RTK_PIN_CONFIG_V2(gpio_44, 0x2c, 18, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2887*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_51] = RTK_PIN_CONFIG_V2(gpio_51, 0x2c, 24, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2888*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_53] = RTK_PIN_CONFIG_V2(gpio_53, 0x30, 0, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2889*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_54] = RTK_PIN_CONFIG_V2(gpio_54, 0x30, 6, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2890*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_55] = RTK_PIN_CONFIG_V2(gpio_55, 0x30, 12, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2891*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_56] = RTK_PIN_CONFIG_V2(gpio_56, 0x30, 18, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2892*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_57] = RTK_PIN_CONFIG_V2(gpio_57, 0x30, 24, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2893*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_58] = RTK_PIN_CONFIG_V2(gpio_58, 0x34, 0, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2894*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_59] = RTK_PIN_CONFIG_V2(gpio_59, 0x34, 6, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2895*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_60] = RTK_PIN_CONFIG_V2(gpio_60, 0x34, 12, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2896*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_61] = RTK_PIN_CONFIG_V2(gpio_61, 0x34, 18, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2897*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_62] = RTK_PIN_CONFIG_V2(gpio_62, 0x34, 24, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2898*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_63] = RTK_PIN_CONFIG_V2(gpio_63, 0x38, 0, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2899*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_92] = RTK_PIN_CONFIG_V2(gpio_92, 0x38, 6, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2900*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_93] = RTK_PIN_CONFIG_V2(gpio_93, 0x38, 12, 1, 2, 0, 3, 4, 5, PADDRI_4_8),
2901*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_132] = RTK_PIN_CONFIG_V2(gpio_132, 0x38, 18, 1, 2, 0, 3, 4, 5,
2902*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2903*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_133] = RTK_PIN_CONFIG_V2(gpio_133, 0x38, 24, 1, 2, 0, 3, 4, 5,
2904*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2905*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_134] = RTK_PIN_CONFIG_V2(gpio_134, 0x3c, 0, 1, 2, 0, 3, 4, 5,
2906*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2907*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_135] = RTK_PIN_CONFIG_V2(gpio_135, 0x3c, 6, 1, 2, 0, 3, 4, 5,
2908*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2909*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_136] = RTK_PIN_CONFIG_V2(gpio_136, 0x3c, 12, 1, 2, 0, 3, 4, 5,
2910*e309dbd5STzuyi Chang 						   PADDRI_4_8),
2911*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_137] = RTK_PIN_CONFIG(gpio_137, 0x3c, 18, 1, 2, 0, NA, NA, PADDRI_4_8),
2912*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_138] = RTK_PIN_CONFIG(gpio_138, 0x3c, 21, 1, 2, 0, NA, NA, PADDRI_4_8),
2913*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_139] = RTK_PIN_CONFIG(gpio_139, 0x3c, 24, 1, 2, 0, NA, NA, PADDRI_4_8),
2914*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_140] = RTK_PIN_CONFIG(gpio_140, 0x3c, 27, 1, 2, 0, NA, NA, PADDRI_4_8),
2915*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_141] = RTK_PIN_CONFIG(gpio_141, 0x40, 0, 1, 2, 0, NA, NA, PADDRI_4_8),
2916*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_142] = RTK_PIN_CONFIG(gpio_142, 0x40, 3, 1, 2, 0, NA, NA, PADDRI_4_8),
2917*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_143] = RTK_PIN_CONFIG(gpio_143, 0x40, 6, 1, 2, 0, NA, NA, PADDRI_4_8),
2918*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_144] = RTK_PIN_CONFIG(gpio_144, 0x40, 9, 1, 2, 0, NA, NA, PADDRI_4_8),
2919*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_164] = RTK_PIN_CONFIG(gpio_164, 0x40, 12, 1, 2, 0, NA, NA, PADDRI_4_8),
2920*e309dbd5STzuyi Chang 	[RTD1625_VE4_GPIO_165] = RTK_PIN_CONFIG(gpio_165, 0x40, 15, 1, 2, 0, NA, NA, PADDRI_4_8),
2921*e309dbd5STzuyi Chang };
2922*e309dbd5STzuyi Chang 
2923*e309dbd5STzuyi Chang static const struct rtd_pin_config_desc rtd1625_main2_configs[] = {
2924*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_CLK] = RTK_PIN_CONFIG(emmc_clk, 0x14, 0, 0, 1, NA, 2, 12, NA),
2925*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_CMD] = RTK_PIN_CONFIG(emmc_cmd, 0x14, 13, 0, 1, NA, 2, 13, NA),
2926*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_DATA_0] = RTK_PIN_CONFIG(emmc_data_0, 0x18, 0, 0, 1, NA, 2, 12, NA),
2927*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_DATA_1] = RTK_PIN_CONFIG(emmc_data_1, 0x18, 13, 0, 1, NA, 2, 12, NA),
2928*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_DATA_2] = RTK_PIN_CONFIG(emmc_data_2, 0x1c, 0, 0, 1, NA, 2, 12, NA),
2929*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_DATA_3] = RTK_PIN_CONFIG(emmc_data_3, 0x1c, 13, 0, 1, NA, 2, 12, NA),
2930*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_DATA_4] = RTK_PIN_CONFIG(emmc_data_4, 0x20, 0, 0, 1, NA, 2, 12, NA),
2931*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_DATA_5] = RTK_PIN_CONFIG(emmc_data_5, 0x20, 13, 0, 1, NA, 2, 12, NA),
2932*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_DATA_6] = RTK_PIN_CONFIG(emmc_data_6, 0x24, 0, 0, 1, NA, 2, 12, NA),
2933*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_DATA_7] = RTK_PIN_CONFIG(emmc_data_7, 0x24, 13, 0, 1, NA, 2, 12, NA),
2934*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_DD_SB] = RTK_PIN_CONFIG(emmc_dd_sb, 0x28, 0, 0, 1, NA, 2, 12, NA),
2935*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_EMMC_RST_N] = RTK_PIN_CONFIG(emmc_rst_n, 0x28, 13, 0, 1, NA, 2, 12, NA),
2936*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_14] = RTK_PIN_CONFIG(gpio_14, 0x28, 26, 1, 2, 0, NA, NA, PADDRI_4_8),
2937*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_15] = RTK_PIN_CONFIG(gpio_15, 0x28, 29, 1, 2, 0, NA, NA, PADDRI_4_8),
2938*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_20] = RTK_PIN_CONFIG_I2C(gpio_20, 0x2c, 0, 1, 2, 0, 3, 4, 5, 7, 8,
2939*e309dbd5STzuyi Chang 						     PADDRI_4_8),
2940*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_21] = RTK_PIN_CONFIG_I2C(gpio_21, 0x2c, 9, 1, 2, 0, 3, 4, 5, 7, 8,
2941*e309dbd5STzuyi Chang 						     PADDRI_4_8),
2942*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_22] = RTK_PIN_CONFIG_V2(gpio_22, 0x2c, 18, 1, 2, 0, 3, 7, 8,
2943*e309dbd5STzuyi Chang 						     PADDRI_4_8),
2944*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_40] = RTK_PIN_CONFIG(gpio_40, 0x30, 0, 0, 1, NA, 2, 12, NA),
2945*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_41] = RTK_PIN_CONFIG(gpio_41, 0x30, 13, 0, 1, NA, 2, 12, NA),
2946*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_64] = RTK_PIN_CONFIG(gpio_64, 0x34, 0, 0, 1, NA, 2, 12, NA),
2947*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_65] = RTK_PIN_CONFIG(gpio_65, 0x34, 13, 0, 1, NA, 2, 12, NA),
2948*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_66] = RTK_PIN_CONFIG(gpio_66, 0x38, 0, 0, 1, NA, 2, 12, NA),
2949*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_67] = RTK_PIN_CONFIG(gpio_67, 0x38, 13, 0, 1, NA, 2, 12, NA),
2950*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_80] = RTK_PIN_CONFIG(gpio_80, 0x38, 26, 1, 2, 0, NA, NA, PADDRI_4_8),
2951*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_81] = RTK_PIN_CONFIG(gpio_81, 0x38, 29, 1, 2, 0, NA, NA, PADDRI_4_8),
2952*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_82] = RTK_PIN_CONFIG(gpio_82, 0x3c, 0, 1, 2, 0, NA, NA, PADDRI_4_8),
2953*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_83] = RTK_PIN_CONFIG(gpio_83, 0x3c, 3, 1, 2, 0, NA, NA, PADDRI_4_8),
2954*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_84] = RTK_PIN_CONFIG(gpio_84, 0x3c, 6, 1, 2, 0, NA, NA, PADDRI_4_8),
2955*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_85] = RTK_PIN_CONFIG(gpio_85, 0x3c, 9, 1, 2, NA, NA, NA, PADDRI_4_8),
2956*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_86] = RTK_PIN_CONFIG(gpio_86, 0x3c, 12, 1, 2, NA, NA, NA, PADDRI_4_8),
2957*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_87] = RTK_PIN_CONFIG(gpio_87, 0x3c, 22, 1, 2, NA, NA, NA, PADDRI_4_8),
2958*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_88] = RTK_PIN_CONFIG(gpio_88, 0x40, 0, 1, 2, NA, NA, NA, PADDRI_4_8),
2959*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_89] = RTK_PIN_CONFIG(gpio_89, 0x40, 10, 1, 2, NA, NA, NA, PADDRI_4_8),
2960*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_90] = RTK_PIN_CONFIG(gpio_90, 0x40, 20, 1, 2, NA, NA, NA, PADDRI_4_8),
2961*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_GPIO_91] = RTK_PIN_CONFIG(gpio_91, 0x44, 0, 1, 2, NA, NA, NA, PADDRI_4_8),
2962*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_HIF_CLK] = RTK_PIN_CONFIG(hif_clk, 0x44, 10, 0, 1, NA, 2, 12, NA),
2963*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_HIF_DATA] = RTK_PIN_CONFIG(hif_data, 0x48, 0, 0, 1, NA, 2, 12, NA),
2964*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_HIF_EN] = RTK_PIN_CONFIG(hif_en, 0x48, 13, 0, 1, NA, 2, 12, NA),
2965*e309dbd5STzuyi Chang 	[RTD1625_MAIN2_HIF_RDY] = RTK_PIN_CONFIG(hif_rdy, 0x4c, 0, 0, 1, NA, 2, 12, NA),
2966*e309dbd5STzuyi Chang };
2967*e309dbd5STzuyi Chang 
2968*e309dbd5STzuyi Chang static const struct rtd_pin_sconfig_desc rtd1625_iso_sconfigs[] = {
2969*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(gpio_45, 0x24, 3, 3, 6, 3, 9, 3),
2970*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(gpio_46, 0x24, 16, 3, 19, 3, 22, 3),
2971*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(gpio_47, 0x28, 3, 3, 6, 3, 9, 3),
2972*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(gpio_48, 0x28, 16, 3, 19, 3, 22, 3),
2973*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(gpio_49, 0x2c, 3, 3, 6, 3, 9, 3),
2974*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(gpio_50, 0x2c, 16, 3, 19, 3, 22, 3),
2975*e309dbd5STzuyi Chang };
2976*e309dbd5STzuyi Chang 
2977*e309dbd5STzuyi Chang static const struct rtd_pin_sconfig_desc rtd1625_main2_sconfigs[] = {
2978*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(emmc_clk, 0x14, 3, 3, 6, 3, 9, 3),
2979*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(emmc_cmd, 0x14, 16, 3, 19, 3, 22, 3),
2980*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(emmc_data_0, 0x18, 3, 3, 6, 3, 9, 3),
2981*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(emmc_data_1, 0x18, 16, 3, 19, 3, 22, 3),
2982*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(emmc_data_2, 0x1c, 3, 3, 6, 3, 9, 3),
2983*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(emmc_data_3, 0x1c, 16, 3, 19, 3, 22, 3),
2984*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(emmc_data_4, 0x20, 3, 3, 6, 3, 9, 3),
2985*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(emmc_data_5, 0x20, 16, 3, 19, 3, 22, 3),
2986*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(emmc_data_6, 0x24, 3, 3, 6, 3, 9, 3),
2987*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(emmc_data_7, 0x24, 16, 3, 19, 3, 22, 3),
2988*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(emmc_dd_sb, 0x28, 3, 3, 6, 3, 9, 3),
2989*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(emmc_rst_n, 0x28, 16, 3, 19, 3, 22, 3),
2990*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(gpio_40, 0x30, 3, 3, 6, 3, 9, 3),
2991*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(gpio_41, 0x30, 16, 3, 19, 3, 22, 3),
2992*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(gpio_64, 0x34, 3, 3, 6, 3, 9, 3),
2993*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(gpio_65, 0x34, 16, 3, 19, 3, 22, 3),
2994*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(gpio_66, 0x38, 3, 3, 6, 3, 9, 3),
2995*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(gpio_67, 0x38, 16, 3, 19, 3, 22, 3),
2996*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(gpio_86, 0x3c, 0, 0, 14, 4, 18, 4),
2997*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(gpio_87, 0x3c, 0, 0, 24, 4, 28, 4),
2998*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(gpio_88, 0x40, 0, 0, 2, 4, 6, 4),
2999*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(gpio_89, 0x40, 0, 0, 12, 4, 16, 4),
3000*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(gpio_90, 0x40, 0, 0, 22, 4, 26, 4),
3001*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(gpio_91, 0x44, 0, 0, 2, 4, 6, 4),
3002*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(hif_clk, 0x44, 13, 3, 16, 3, 19, 3),
3003*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(hif_data, 0x48, 3, 3, 6, 3, 9, 3),
3004*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(hif_en, 0x48, 16, 3, 19, 3, 22, 3),
3005*e309dbd5STzuyi Chang 	RTK_PIN_SCONFIG(hif_rdy, 0x4c, 3, 3, 6, 3, 9, 3),
3006*e309dbd5STzuyi Chang };
3007*e309dbd5STzuyi Chang 
3008*e309dbd5STzuyi Chang static const struct rtd_reg_range rtd1625_iso_reg_ranges[] = {
3009*e309dbd5STzuyi Chang 	{ .offset = 0x0,  .len = 0x58 },
3010*e309dbd5STzuyi Chang 	{ .offset = 0x120, .len = 0x10 },
3011*e309dbd5STzuyi Chang 	{ .offset = 0x180, .len = 0xc },
3012*e309dbd5STzuyi Chang 	{ .offset = 0x1A0, .len = 0xc },
3013*e309dbd5STzuyi Chang };
3014*e309dbd5STzuyi Chang 
3015*e309dbd5STzuyi Chang static const struct rtd_pin_range rtd1625_iso_pin_ranges = {
3016*e309dbd5STzuyi Chang 	.ranges = rtd1625_iso_reg_ranges,
3017*e309dbd5STzuyi Chang 	.num_ranges = ARRAY_SIZE(rtd1625_iso_reg_ranges),
3018*e309dbd5STzuyi Chang };
3019*e309dbd5STzuyi Chang 
3020*e309dbd5STzuyi Chang static const struct rtd_reg_range rtd1625_isom_reg_ranges[] = {
3021*e309dbd5STzuyi Chang 	{ .offset = 0x0,  .len = 0xc },
3022*e309dbd5STzuyi Chang 	{ .offset = 0x30, .len = 0x4 },
3023*e309dbd5STzuyi Chang };
3024*e309dbd5STzuyi Chang 
3025*e309dbd5STzuyi Chang static const struct rtd_pin_range rtd1625_isom_pin_ranges = {
3026*e309dbd5STzuyi Chang 	.ranges = rtd1625_isom_reg_ranges,
3027*e309dbd5STzuyi Chang 	.num_ranges = ARRAY_SIZE(rtd1625_isom_reg_ranges),
3028*e309dbd5STzuyi Chang };
3029*e309dbd5STzuyi Chang 
3030*e309dbd5STzuyi Chang static const struct rtd_reg_range rtd1625_ve4_reg_ranges[] = {
3031*e309dbd5STzuyi Chang 	{ .offset = 0x0,  .len = 0x48 },
3032*e309dbd5STzuyi Chang 	{ .offset = 0x80, .len = 0x4 },
3033*e309dbd5STzuyi Chang };
3034*e309dbd5STzuyi Chang 
3035*e309dbd5STzuyi Chang static const struct rtd_pin_range rtd1625_ve4_pin_ranges = {
3036*e309dbd5STzuyi Chang 	.ranges = rtd1625_ve4_reg_ranges,
3037*e309dbd5STzuyi Chang 	.num_ranges = ARRAY_SIZE(rtd1625_ve4_reg_ranges),
3038*e309dbd5STzuyi Chang };
3039*e309dbd5STzuyi Chang 
3040*e309dbd5STzuyi Chang static const struct rtd_reg_range rtd1625_main2_reg_ranges[] = {
3041*e309dbd5STzuyi Chang 	{ .offset = 0x0,  .len = 0x50 },
3042*e309dbd5STzuyi Chang };
3043*e309dbd5STzuyi Chang 
3044*e309dbd5STzuyi Chang static const struct rtd_pin_range rtd1625_main2_pin_ranges = {
3045*e309dbd5STzuyi Chang 	.ranges = rtd1625_main2_reg_ranges,
3046*e309dbd5STzuyi Chang 	.num_ranges = ARRAY_SIZE(rtd1625_main2_reg_ranges),
3047*e309dbd5STzuyi Chang };
3048*e309dbd5STzuyi Chang 
3049*e309dbd5STzuyi Chang static const struct rtd_pinctrl_desc rtd1625_iso_pinctrl_desc = {
3050*e309dbd5STzuyi Chang 	.pins = rtd1625_iso_pins,
3051*e309dbd5STzuyi Chang 	.num_pins = ARRAY_SIZE(rtd1625_iso_pins),
3052*e309dbd5STzuyi Chang 	.groups = rtd1625_iso_pin_groups,
3053*e309dbd5STzuyi Chang 	.num_groups = ARRAY_SIZE(rtd1625_iso_pin_groups),
3054*e309dbd5STzuyi Chang 	.functions = rtd1625_iso_pin_functions,
3055*e309dbd5STzuyi Chang 	.num_functions = ARRAY_SIZE(rtd1625_iso_pin_functions),
3056*e309dbd5STzuyi Chang 	.muxes = rtd1625_iso_muxes,
3057*e309dbd5STzuyi Chang 	.num_muxes = ARRAY_SIZE(rtd1625_iso_muxes),
3058*e309dbd5STzuyi Chang 	.configs = rtd1625_iso_configs,
3059*e309dbd5STzuyi Chang 	.num_configs = ARRAY_SIZE(rtd1625_iso_configs),
3060*e309dbd5STzuyi Chang 	.sconfigs = rtd1625_iso_sconfigs,
3061*e309dbd5STzuyi Chang 	.num_sconfigs = ARRAY_SIZE(rtd1625_iso_sconfigs),
3062*e309dbd5STzuyi Chang 	.pin_range = &rtd1625_iso_pin_ranges,
3063*e309dbd5STzuyi Chang };
3064*e309dbd5STzuyi Chang 
3065*e309dbd5STzuyi Chang static const struct rtd_pinctrl_desc rtd1625_isom_pinctrl_desc = {
3066*e309dbd5STzuyi Chang 	.pins = rtd1625_isom_pins,
3067*e309dbd5STzuyi Chang 	.num_pins = ARRAY_SIZE(rtd1625_isom_pins),
3068*e309dbd5STzuyi Chang 	.groups = rtd1625_isom_pin_groups,
3069*e309dbd5STzuyi Chang 	.num_groups = ARRAY_SIZE(rtd1625_isom_pin_groups),
3070*e309dbd5STzuyi Chang 	.functions = rtd1625_isom_pin_functions,
3071*e309dbd5STzuyi Chang 	.num_functions = ARRAY_SIZE(rtd1625_isom_pin_functions),
3072*e309dbd5STzuyi Chang 	.muxes = rtd1625_isom_muxes,
3073*e309dbd5STzuyi Chang 	.num_muxes = ARRAY_SIZE(rtd1625_isom_muxes),
3074*e309dbd5STzuyi Chang 	.configs = rtd1625_isom_configs,
3075*e309dbd5STzuyi Chang 	.num_configs = ARRAY_SIZE(rtd1625_isom_configs),
3076*e309dbd5STzuyi Chang 	.pin_range = &rtd1625_isom_pin_ranges,
3077*e309dbd5STzuyi Chang };
3078*e309dbd5STzuyi Chang 
3079*e309dbd5STzuyi Chang static const struct rtd_pinctrl_desc rtd1625_ve4_pinctrl_desc = {
3080*e309dbd5STzuyi Chang 	.pins = rtd1625_ve4_pins,
3081*e309dbd5STzuyi Chang 	.num_pins = ARRAY_SIZE(rtd1625_ve4_pins),
3082*e309dbd5STzuyi Chang 	.groups = rtd1625_ve4_pin_groups,
3083*e309dbd5STzuyi Chang 	.num_groups = ARRAY_SIZE(rtd1625_ve4_pin_groups),
3084*e309dbd5STzuyi Chang 	.functions = rtd1625_ve4_pin_functions,
3085*e309dbd5STzuyi Chang 	.num_functions = ARRAY_SIZE(rtd1625_ve4_pin_functions),
3086*e309dbd5STzuyi Chang 	.muxes = rtd1625_ve4_muxes,
3087*e309dbd5STzuyi Chang 	.num_muxes = ARRAY_SIZE(rtd1625_ve4_muxes),
3088*e309dbd5STzuyi Chang 	.configs = rtd1625_ve4_configs,
3089*e309dbd5STzuyi Chang 	.num_configs = ARRAY_SIZE(rtd1625_ve4_configs),
3090*e309dbd5STzuyi Chang 	.pin_range = &rtd1625_ve4_pin_ranges,
3091*e309dbd5STzuyi Chang };
3092*e309dbd5STzuyi Chang 
3093*e309dbd5STzuyi Chang static const struct rtd_pinctrl_desc rtd1625_main2_pinctrl_desc = {
3094*e309dbd5STzuyi Chang 	.pins = rtd1625_main2_pins,
3095*e309dbd5STzuyi Chang 	.num_pins = ARRAY_SIZE(rtd1625_main2_pins),
3096*e309dbd5STzuyi Chang 	.groups = rtd1625_main2_pin_groups,
3097*e309dbd5STzuyi Chang 	.num_groups = ARRAY_SIZE(rtd1625_main2_pin_groups),
3098*e309dbd5STzuyi Chang 	.functions = rtd1625_main2_pin_functions,
3099*e309dbd5STzuyi Chang 	.num_functions = ARRAY_SIZE(rtd1625_main2_pin_functions),
3100*e309dbd5STzuyi Chang 	.muxes = rtd1625_main2_muxes,
3101*e309dbd5STzuyi Chang 	.num_muxes = ARRAY_SIZE(rtd1625_main2_muxes),
3102*e309dbd5STzuyi Chang 	.configs = rtd1625_main2_configs,
3103*e309dbd5STzuyi Chang 	.num_configs = ARRAY_SIZE(rtd1625_main2_configs),
3104*e309dbd5STzuyi Chang 	.sconfigs = rtd1625_main2_sconfigs,
3105*e309dbd5STzuyi Chang 	.num_sconfigs = ARRAY_SIZE(rtd1625_main2_sconfigs),
3106*e309dbd5STzuyi Chang 	.pin_range = &rtd1625_main2_pin_ranges,
3107*e309dbd5STzuyi Chang };
3108*e309dbd5STzuyi Chang 
3109*e309dbd5STzuyi Chang static int rtd1625_pinctrl_probe(struct platform_device *pdev)
3110*e309dbd5STzuyi Chang {
3111*e309dbd5STzuyi Chang 	const struct rtd_pinctrl_desc *desc = device_get_match_data(&pdev->dev);
3112*e309dbd5STzuyi Chang 
3113*e309dbd5STzuyi Chang 	return rtd_pinctrl_probe(pdev, desc);
3114*e309dbd5STzuyi Chang }
3115*e309dbd5STzuyi Chang 
3116*e309dbd5STzuyi Chang static const struct of_device_id rtd1625_pinctrl_of_match[] = {
3117*e309dbd5STzuyi Chang 	{.compatible = "realtek,rtd1625-iso-pinctrl", .data = &rtd1625_iso_pinctrl_desc},
3118*e309dbd5STzuyi Chang 	{.compatible = "realtek,rtd1625-isom-pinctrl", .data = &rtd1625_isom_pinctrl_desc},
3119*e309dbd5STzuyi Chang 	{.compatible = "realtek,rtd1625-ve4-pinctrl", .data = &rtd1625_ve4_pinctrl_desc},
3120*e309dbd5STzuyi Chang 	{.compatible = "realtek,rtd1625-main2-pinctrl", .data = &rtd1625_main2_pinctrl_desc},
3121*e309dbd5STzuyi Chang 	{},
3122*e309dbd5STzuyi Chang };
3123*e309dbd5STzuyi Chang MODULE_DEVICE_TABLE(of, rtd1625_pinctrl_of_match);
3124*e309dbd5STzuyi Chang 
3125*e309dbd5STzuyi Chang static struct platform_driver rtd1625_pinctrl_driver = {
3126*e309dbd5STzuyi Chang 	.driver = {
3127*e309dbd5STzuyi Chang 		.name = "rtd1625-pinctrl",
3128*e309dbd5STzuyi Chang 		.of_match_table = rtd1625_pinctrl_of_match,
3129*e309dbd5STzuyi Chang 		.pm = &realtek_pinctrl_pm_ops,
3130*e309dbd5STzuyi Chang 	},
3131*e309dbd5STzuyi Chang 	.probe = rtd1625_pinctrl_probe,
3132*e309dbd5STzuyi Chang };
3133*e309dbd5STzuyi Chang 
3134*e309dbd5STzuyi Chang module_platform_driver(rtd1625_pinctrl_driver);
3135*e309dbd5STzuyi Chang 
3136*e309dbd5STzuyi Chang MODULE_LICENSE("GPL");
3137*e309dbd5STzuyi Chang MODULE_AUTHOR("Realtek Semiconductor Corporation");
3138*e309dbd5STzuyi Chang MODULE_DESCRIPTION("Realtek DHC SoC RTD1625 pinctrl driver");
3139