1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Realtek DHC 1319D pin controller driver
4 *
5 * Copyright (c) 2023 Realtek Semiconductor Corp.
6 *
7 */
8
9#include <linux/module.h>
10#include <linux/of.h>
11#include <linux/platform_device.h>
12#include <linux/pinctrl/pinctrl.h>
13
14#include "pinctrl-rtd.h"
15
16enum rtd13xxd_iso_pins {
17	RTD1319D_ISO_GPIO_0 = 0,
18	RTD1319D_ISO_GPIO_1,
19	RTD1319D_ISO_GPIO_2,
20	RTD1319D_ISO_GPIO_3,
21	RTD1319D_ISO_GPIO_4,
22	RTD1319D_ISO_GPIO_5,
23	RTD1319D_ISO_GPIO_6,
24	RTD1319D_ISO_GPIO_7,
25	RTD1319D_ISO_GPIO_8,
26	RTD1319D_ISO_GPIO_9,
27	RTD1319D_ISO_GPIO_10,
28	RTD1319D_ISO_GPIO_11,
29	RTD1319D_ISO_GPIO_12,
30	RTD1319D_ISO_GPIO_13,
31	RTD1319D_ISO_GPIO_14,
32	RTD1319D_ISO_GPIO_15,
33	RTD1319D_ISO_GPIO_16,
34	RTD1319D_ISO_GPIO_17,
35	RTD1319D_ISO_GPIO_18,
36	RTD1319D_ISO_GPIO_19,
37	RTD1319D_ISO_GPIO_20,
38	RTD1319D_ISO_GPIO_21,
39	RTD1319D_ISO_GPIO_22,
40	RTD1319D_ISO_GPIO_23,
41	RTD1319D_ISO_USB_CC2,
42	RTD1319D_ISO_GPIO_25,
43	RTD1319D_ISO_GPIO_26,
44	RTD1319D_ISO_GPIO_27,
45	RTD1319D_ISO_GPIO_28,
46	RTD1319D_ISO_GPIO_29,
47	RTD1319D_ISO_GPIO_30,
48	RTD1319D_ISO_GPIO_31,
49	RTD1319D_ISO_GPIO_32,
50	RTD1319D_ISO_GPIO_33,
51	RTD1319D_ISO_GPIO_34,
52	RTD1319D_ISO_GPIO_35,
53	RTD1319D_ISO_HIF_DATA,
54	RTD1319D_ISO_HIF_EN,
55	RTD1319D_ISO_HIF_RDY,
56	RTD1319D_ISO_HIF_CLK,
57	RTD1319D_ISO_GPIO_40,
58	RTD1319D_ISO_GPIO_41,
59	RTD1319D_ISO_GPIO_42,
60	RTD1319D_ISO_GPIO_43,
61	RTD1319D_ISO_GPIO_44,
62	RTD1319D_ISO_GPIO_45,
63	RTD1319D_ISO_GPIO_46,
64	RTD1319D_ISO_GPIO_47,
65	RTD1319D_ISO_GPIO_48,
66	RTD1319D_ISO_GPIO_49,
67	RTD1319D_ISO_GPIO_50,
68	RTD1319D_ISO_USB_CC1,
69	RTD1319D_ISO_GPIO_52,
70	RTD1319D_ISO_GPIO_53,
71	RTD1319D_ISO_IR_RX,
72	RTD1319D_ISO_UR0_RX,
73	RTD1319D_ISO_UR0_TX,
74	RTD1319D_ISO_GPIO_57,
75	RTD1319D_ISO_GPIO_58,
76	RTD1319D_ISO_GPIO_59,
77	RTD1319D_ISO_GPIO_60,
78	RTD1319D_ISO_GPIO_61,
79	RTD1319D_ISO_GPIO_62,
80	RTD1319D_ISO_GPIO_63,
81	RTD1319D_ISO_GPIO_64,
82	RTD1319D_ISO_EMMC_RST_N,
83	RTD1319D_ISO_EMMC_DD_SB,
84	RTD1319D_ISO_EMMC_CLK,
85	RTD1319D_ISO_EMMC_CMD,
86	RTD1319D_ISO_EMMC_DATA_0,
87	RTD1319D_ISO_EMMC_DATA_1,
88	RTD1319D_ISO_EMMC_DATA_2,
89	RTD1319D_ISO_EMMC_DATA_3,
90	RTD1319D_ISO_EMMC_DATA_4,
91	RTD1319D_ISO_EMMC_DATA_5,
92	RTD1319D_ISO_EMMC_DATA_6,
93	RTD1319D_ISO_EMMC_DATA_7,
94	RTD1319D_ISO_GPIO_DUMMY_77,
95	RTD1319D_ISO_GPIO_78,
96	RTD1319D_ISO_GPIO_79,
97	RTD1319D_ISO_GPIO_80,
98	RTD1319D_ISO_GPIO_81,
99	RTD1319D_ISO_UR2_LOC,
100	RTD1319D_ISO_GSPI_LOC,
101	RTD1319D_ISO_HI_WIDTH,
102	RTD1319D_ISO_SF_EN,
103	RTD1319D_ISO_ARM_TRACE_DBG_EN,
104	RTD1319D_ISO_EJTAG_AUCPU_LOC,
105	RTD1319D_ISO_EJTAG_ACPU_LOC,
106	RTD1319D_ISO_EJTAG_VCPU_LOC,
107	RTD1319D_ISO_EJTAG_SCPU_LOC,
108	RTD1319D_ISO_DMIC_LOC,
109	RTD1319D_ISO_EJTAG_SECPU_LOC,
110	RTD1319D_ISO_VTC_DMIC_LOC,
111	RTD1319D_ISO_VTC_TDM_LOC,
112	RTD1319D_ISO_VTC_I2SI_LOC,
113	RTD1319D_ISO_TDM_AI_LOC,
114	RTD1319D_ISO_AI_LOC,
115	RTD1319D_ISO_SPDIF_LOC,
116	RTD1319D_ISO_HIF_EN_LOC,
117	RTD1319D_ISO_SC0_LOC,
118	RTD1319D_ISO_SC1_LOC,
119	RTD1319D_ISO_SCAN_SWITCH,
120	RTD1319D_ISO_WD_RSET,
121	RTD1319D_ISO_BOOT_SEL,
122	RTD1319D_ISO_RESET_N,
123	RTD1319D_ISO_TESTMODE,
124};
125
126static const struct pinctrl_pin_desc rtd1319d_iso_pins[] = {
127	PINCTRL_PIN(RTD1319D_ISO_GPIO_0, "gpio_0"),
128	PINCTRL_PIN(RTD1319D_ISO_GPIO_1, "gpio_1"),
129	PINCTRL_PIN(RTD1319D_ISO_GPIO_2, "gpio_2"),
130	PINCTRL_PIN(RTD1319D_ISO_GPIO_3, "gpio_3"),
131	PINCTRL_PIN(RTD1319D_ISO_GPIO_4, "gpio_4"),
132	PINCTRL_PIN(RTD1319D_ISO_GPIO_5, "gpio_5"),
133	PINCTRL_PIN(RTD1319D_ISO_GPIO_6, "gpio_6"),
134	PINCTRL_PIN(RTD1319D_ISO_GPIO_7, "gpio_7"),
135	PINCTRL_PIN(RTD1319D_ISO_GPIO_8, "gpio_8"),
136	PINCTRL_PIN(RTD1319D_ISO_GPIO_9, "gpio_9"),
137	PINCTRL_PIN(RTD1319D_ISO_GPIO_10, "gpio_10"),
138	PINCTRL_PIN(RTD1319D_ISO_GPIO_11, "gpio_11"),
139	PINCTRL_PIN(RTD1319D_ISO_GPIO_12, "gpio_12"),
140	PINCTRL_PIN(RTD1319D_ISO_GPIO_13, "gpio_13"),
141	PINCTRL_PIN(RTD1319D_ISO_GPIO_14, "gpio_14"),
142	PINCTRL_PIN(RTD1319D_ISO_GPIO_15, "gpio_15"),
143	PINCTRL_PIN(RTD1319D_ISO_GPIO_16, "gpio_16"),
144	PINCTRL_PIN(RTD1319D_ISO_GPIO_17, "gpio_17"),
145	PINCTRL_PIN(RTD1319D_ISO_GPIO_18, "gpio_18"),
146	PINCTRL_PIN(RTD1319D_ISO_GPIO_19, "gpio_19"),
147	PINCTRL_PIN(RTD1319D_ISO_GPIO_20, "gpio_20"),
148	PINCTRL_PIN(RTD1319D_ISO_GPIO_21, "gpio_21"),
149	PINCTRL_PIN(RTD1319D_ISO_GPIO_22, "gpio_22"),
150	PINCTRL_PIN(RTD1319D_ISO_GPIO_23, "gpio_23"),
151	PINCTRL_PIN(RTD1319D_ISO_USB_CC2, "usb_cc2"),
152	PINCTRL_PIN(RTD1319D_ISO_GPIO_25, "gpio_25"),
153	PINCTRL_PIN(RTD1319D_ISO_GPIO_26, "gpio_26"),
154	PINCTRL_PIN(RTD1319D_ISO_GPIO_27, "gpio_27"),
155	PINCTRL_PIN(RTD1319D_ISO_GPIO_28, "gpio_28"),
156	PINCTRL_PIN(RTD1319D_ISO_GPIO_29, "gpio_29"),
157	PINCTRL_PIN(RTD1319D_ISO_GPIO_30, "gpio_30"),
158	PINCTRL_PIN(RTD1319D_ISO_GPIO_31, "gpio_31"),
159	PINCTRL_PIN(RTD1319D_ISO_GPIO_32, "gpio_32"),
160	PINCTRL_PIN(RTD1319D_ISO_GPIO_33, "gpio_33"),
161	PINCTRL_PIN(RTD1319D_ISO_GPIO_34, "gpio_34"),
162	PINCTRL_PIN(RTD1319D_ISO_GPIO_35, "gpio_35"),
163	PINCTRL_PIN(RTD1319D_ISO_HIF_DATA, "hif_data"),
164	PINCTRL_PIN(RTD1319D_ISO_HIF_EN, "hif_en"),
165	PINCTRL_PIN(RTD1319D_ISO_HIF_RDY, "hif_rdy"),
166	PINCTRL_PIN(RTD1319D_ISO_HIF_CLK, "hif_clk"),
167	PINCTRL_PIN(RTD1319D_ISO_GPIO_40, "gpio_40"),
168	PINCTRL_PIN(RTD1319D_ISO_GPIO_41, "gpio_41"),
169	PINCTRL_PIN(RTD1319D_ISO_GPIO_42, "gpio_42"),
170	PINCTRL_PIN(RTD1319D_ISO_GPIO_43, "gpio_43"),
171	PINCTRL_PIN(RTD1319D_ISO_GPIO_44, "gpio_44"),
172	PINCTRL_PIN(RTD1319D_ISO_GPIO_45, "gpio_45"),
173	PINCTRL_PIN(RTD1319D_ISO_GPIO_46, "gpio_46"),
174	PINCTRL_PIN(RTD1319D_ISO_GPIO_47, "gpio_47"),
175	PINCTRL_PIN(RTD1319D_ISO_GPIO_48, "gpio_48"),
176	PINCTRL_PIN(RTD1319D_ISO_GPIO_49, "gpio_49"),
177	PINCTRL_PIN(RTD1319D_ISO_GPIO_50, "gpio_50"),
178	PINCTRL_PIN(RTD1319D_ISO_USB_CC1, "usb_cc1"),
179	PINCTRL_PIN(RTD1319D_ISO_GPIO_52, "gpio_52"),
180	PINCTRL_PIN(RTD1319D_ISO_GPIO_53, "gpio_53"),
181	PINCTRL_PIN(RTD1319D_ISO_IR_RX, "ir_rx"),
182	PINCTRL_PIN(RTD1319D_ISO_UR0_RX, "ur0_rx"),
183	PINCTRL_PIN(RTD1319D_ISO_UR0_TX, "ur0_tx"),
184	PINCTRL_PIN(RTD1319D_ISO_GPIO_57, "gpio_57"),
185	PINCTRL_PIN(RTD1319D_ISO_GPIO_58, "gpio_58"),
186	PINCTRL_PIN(RTD1319D_ISO_GPIO_59, "gpio_59"),
187	PINCTRL_PIN(RTD1319D_ISO_GPIO_60, "gpio_60"),
188	PINCTRL_PIN(RTD1319D_ISO_GPIO_61, "gpio_61"),
189	PINCTRL_PIN(RTD1319D_ISO_GPIO_62, "gpio_62"),
190	PINCTRL_PIN(RTD1319D_ISO_GPIO_63, "gpio_63"),
191	PINCTRL_PIN(RTD1319D_ISO_GPIO_64, "gpio_64"),
192	PINCTRL_PIN(RTD1319D_ISO_EMMC_RST_N, "emmc_rst_n"),
193	PINCTRL_PIN(RTD1319D_ISO_EMMC_DD_SB, "emmc_dd_sb"),
194	PINCTRL_PIN(RTD1319D_ISO_EMMC_CLK, "emmc_clk"),
195	PINCTRL_PIN(RTD1319D_ISO_EMMC_CMD, "emmc_cmd"),
196	PINCTRL_PIN(RTD1319D_ISO_EMMC_DATA_0, "emmc_data_0"),
197	PINCTRL_PIN(RTD1319D_ISO_EMMC_DATA_1, "emmc_data_1"),
198	PINCTRL_PIN(RTD1319D_ISO_EMMC_DATA_2, "emmc_data_2"),
199	PINCTRL_PIN(RTD1319D_ISO_EMMC_DATA_3, "emmc_data_3"),
200	PINCTRL_PIN(RTD1319D_ISO_EMMC_DATA_4, "emmc_data_4"),
201	PINCTRL_PIN(RTD1319D_ISO_EMMC_DATA_5, "emmc_data_5"),
202	PINCTRL_PIN(RTD1319D_ISO_EMMC_DATA_6, "emmc_data_6"),
203	PINCTRL_PIN(RTD1319D_ISO_EMMC_DATA_7, "emmc_data_7"),
204	PINCTRL_PIN(RTD1319D_ISO_GPIO_DUMMY_77, "dummy"),
205	PINCTRL_PIN(RTD1319D_ISO_GPIO_78, "gpio_78"),
206	PINCTRL_PIN(RTD1319D_ISO_GPIO_79, "gpio_79"),
207	PINCTRL_PIN(RTD1319D_ISO_GPIO_80, "gpio_80"),
208	PINCTRL_PIN(RTD1319D_ISO_GPIO_81, "gpio_81"),
209	PINCTRL_PIN(RTD1319D_ISO_UR2_LOC, "ur2_loc"),
210	PINCTRL_PIN(RTD1319D_ISO_GSPI_LOC, "gspi_loc"),
211	PINCTRL_PIN(RTD1319D_ISO_HI_WIDTH, "hi_width"),
212	PINCTRL_PIN(RTD1319D_ISO_SF_EN, "sf_en"),
213	PINCTRL_PIN(RTD1319D_ISO_ARM_TRACE_DBG_EN, "arm_trace_dbg_en"),
214	PINCTRL_PIN(RTD1319D_ISO_EJTAG_AUCPU_LOC, "ejtag_aucpu_loc"),
215	PINCTRL_PIN(RTD1319D_ISO_EJTAG_ACPU_LOC, "ejtag_acpu_loc"),
216	PINCTRL_PIN(RTD1319D_ISO_EJTAG_VCPU_LOC, "ejtag_vcpu_loc"),
217	PINCTRL_PIN(RTD1319D_ISO_EJTAG_SCPU_LOC, "ejtag_scpu_loc"),
218	PINCTRL_PIN(RTD1319D_ISO_DMIC_LOC, "dmic_loc"),
219	PINCTRL_PIN(RTD1319D_ISO_EJTAG_SECPU_LOC, "ejtag_secpu_loc"),
220	PINCTRL_PIN(RTD1319D_ISO_VTC_DMIC_LOC, "vtc_dmic_loc"),
221	PINCTRL_PIN(RTD1319D_ISO_VTC_TDM_LOC, "vtc_tdm_loc"),
222	PINCTRL_PIN(RTD1319D_ISO_VTC_I2SI_LOC, "vtc_i2si_loc"),
223	PINCTRL_PIN(RTD1319D_ISO_TDM_AI_LOC, "tdm_ai_loc"),
224	PINCTRL_PIN(RTD1319D_ISO_AI_LOC, "ai_loc"),
225	PINCTRL_PIN(RTD1319D_ISO_SPDIF_LOC, "spdif_loc"),
226	PINCTRL_PIN(RTD1319D_ISO_HIF_EN_LOC, "hif_en_loc"),
227	PINCTRL_PIN(RTD1319D_ISO_SC0_LOC, "sc0_loc"),
228	PINCTRL_PIN(RTD1319D_ISO_SC1_LOC, "sc1_loc"),
229	PINCTRL_PIN(RTD1319D_ISO_SCAN_SWITCH, "scan_switch"),
230	PINCTRL_PIN(RTD1319D_ISO_WD_RSET, "wd_rset"),
231	PINCTRL_PIN(RTD1319D_ISO_BOOT_SEL, "boot_sel"),
232	PINCTRL_PIN(RTD1319D_ISO_RESET_N, "reset_n"),
233	PINCTRL_PIN(RTD1319D_ISO_TESTMODE, "testmode"),
234};
235
236/* Tagged as __maybe_unused since there are pins we may use in the future */
237#define DECLARE_RTD1319D_PIN(_pin, _name) \
238	static const unsigned int rtd1319d_## _name ##_pins[] __maybe_unused = { _pin }
239
240DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_0, gpio_0);
241DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_1, gpio_1);
242DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_2, gpio_2);
243DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_3, gpio_3);
244DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_4, gpio_4);
245DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_5, gpio_5);
246DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_6, gpio_6);
247DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_7, gpio_7);
248DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_8, gpio_8);
249DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_9, gpio_9);
250DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_10, gpio_10);
251DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_11, gpio_11);
252DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_12, gpio_12);
253DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_13, gpio_13);
254DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_14, gpio_14);
255DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_15, gpio_15);
256DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_16, gpio_16);
257DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_17, gpio_17);
258DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_18, gpio_18);
259DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_19, gpio_19);
260DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_20, gpio_20);
261DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_21, gpio_21);
262DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_22, gpio_22);
263DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_23, gpio_23);
264DECLARE_RTD1319D_PIN(RTD1319D_ISO_USB_CC2, usb_cc2);
265DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_25, gpio_25);
266DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_26, gpio_26);
267DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_27, gpio_27);
268DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_28, gpio_28);
269DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_29, gpio_29);
270DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_30, gpio_30);
271DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_31, gpio_31);
272DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_32, gpio_32);
273DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_33, gpio_33);
274DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_34, gpio_34);
275DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_35, gpio_35);
276DECLARE_RTD1319D_PIN(RTD1319D_ISO_HIF_DATA, hif_data);
277DECLARE_RTD1319D_PIN(RTD1319D_ISO_HIF_EN, hif_en);
278DECLARE_RTD1319D_PIN(RTD1319D_ISO_HIF_RDY, hif_rdy);
279DECLARE_RTD1319D_PIN(RTD1319D_ISO_HIF_CLK, hif_clk);
280DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_40, gpio_40);
281DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_41, gpio_41);
282DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_42, gpio_42);
283DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_43, gpio_43);
284DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_44, gpio_44);
285DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_45, gpio_45);
286DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_46, gpio_46);
287DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_47, gpio_47);
288DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_48, gpio_48);
289DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_49, gpio_49);
290DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_50, gpio_50);
291DECLARE_RTD1319D_PIN(RTD1319D_ISO_USB_CC1, usb_cc1);
292DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_52, gpio_52);
293DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_53, gpio_53);
294DECLARE_RTD1319D_PIN(RTD1319D_ISO_IR_RX, ir_rx);
295DECLARE_RTD1319D_PIN(RTD1319D_ISO_UR0_RX, ur0_rx);
296DECLARE_RTD1319D_PIN(RTD1319D_ISO_UR0_TX, ur0_tx);
297DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_57, gpio_57);
298DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_58, gpio_58);
299DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_59, gpio_59);
300DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_60, gpio_60);
301DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_61, gpio_61);
302DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_62, gpio_62);
303DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_63, gpio_63);
304DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_64, gpio_64);
305DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_RST_N, emmc_rst_n);
306DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_DD_SB, emmc_dd_sb);
307DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_CLK, emmc_clk);
308DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_CMD, emmc_cmd);
309DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_DATA_0, emmc_data_0);
310DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_DATA_1, emmc_data_1);
311DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_DATA_2, emmc_data_2);
312DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_DATA_3, emmc_data_3);
313DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_DATA_4, emmc_data_4);
314DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_DATA_5, emmc_data_5);
315DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_DATA_6, emmc_data_6);
316DECLARE_RTD1319D_PIN(RTD1319D_ISO_EMMC_DATA_7, emmc_data_7);
317DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_78, gpio_78);
318DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_79, gpio_79);
319DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_80, gpio_80);
320DECLARE_RTD1319D_PIN(RTD1319D_ISO_GPIO_81, gpio_81);
321DECLARE_RTD1319D_PIN(RTD1319D_ISO_UR2_LOC, ur2_loc);
322DECLARE_RTD1319D_PIN(RTD1319D_ISO_GSPI_LOC, gspi_loc);
323DECLARE_RTD1319D_PIN(RTD1319D_ISO_HI_WIDTH, hi_width);
324DECLARE_RTD1319D_PIN(RTD1319D_ISO_SF_EN, sf_en);
325DECLARE_RTD1319D_PIN(RTD1319D_ISO_ARM_TRACE_DBG_EN, arm_trace_dbg_en);
326DECLARE_RTD1319D_PIN(RTD1319D_ISO_EJTAG_AUCPU_LOC, ejtag_aucpu_loc);
327DECLARE_RTD1319D_PIN(RTD1319D_ISO_EJTAG_ACPU_LOC, ejtag_acpu_loc);
328DECLARE_RTD1319D_PIN(RTD1319D_ISO_EJTAG_VCPU_LOC, ejtag_vcpu_loc);
329DECLARE_RTD1319D_PIN(RTD1319D_ISO_EJTAG_SCPU_LOC, ejtag_scpu_loc);
330DECLARE_RTD1319D_PIN(RTD1319D_ISO_DMIC_LOC, dmic_loc);
331DECLARE_RTD1319D_PIN(RTD1319D_ISO_EJTAG_SECPU_LOC, ejtag_secpu_loc);
332DECLARE_RTD1319D_PIN(RTD1319D_ISO_VTC_DMIC_LOC, vtc_dmic_loc);
333DECLARE_RTD1319D_PIN(RTD1319D_ISO_VTC_TDM_LOC, vtc_tdm_loc);
334DECLARE_RTD1319D_PIN(RTD1319D_ISO_VTC_I2SI_LOC, vtc_i2si_loc);
335DECLARE_RTD1319D_PIN(RTD1319D_ISO_TDM_AI_LOC, tdm_ai_loc);
336DECLARE_RTD1319D_PIN(RTD1319D_ISO_AI_LOC, ai_loc);
337DECLARE_RTD1319D_PIN(RTD1319D_ISO_SPDIF_LOC, spdif_loc);
338DECLARE_RTD1319D_PIN(RTD1319D_ISO_HIF_EN_LOC, hif_en_loc);
339DECLARE_RTD1319D_PIN(RTD1319D_ISO_SC0_LOC, sc0_loc);
340DECLARE_RTD1319D_PIN(RTD1319D_ISO_SC1_LOC, sc1_loc);
341DECLARE_RTD1319D_PIN(RTD1319D_ISO_SCAN_SWITCH, scan_switch);
342DECLARE_RTD1319D_PIN(RTD1319D_ISO_WD_RSET, wd_rset);
343DECLARE_RTD1319D_PIN(RTD1319D_ISO_BOOT_SEL, boot_sel);
344DECLARE_RTD1319D_PIN(RTD1319D_ISO_RESET_N, reset_n);
345DECLARE_RTD1319D_PIN(RTD1319D_ISO_TESTMODE, testmode);
346
347#define RTD1319D_GROUP(_name) \
348	{ \
349		.name = # _name, \
350		.pins = rtd1319d_ ## _name ## _pins, \
351		.num_pins = ARRAY_SIZE(rtd1319d_ ## _name ## _pins), \
352	}
353
354static const struct rtd_pin_group_desc rtd1319d_pin_groups[] = {
355	RTD1319D_GROUP(gpio_0),
356	RTD1319D_GROUP(gpio_1),
357	RTD1319D_GROUP(gpio_2),
358	RTD1319D_GROUP(gpio_3),
359	RTD1319D_GROUP(gpio_4),
360	RTD1319D_GROUP(gpio_5),
361	RTD1319D_GROUP(gpio_6),
362	RTD1319D_GROUP(gpio_7),
363	RTD1319D_GROUP(gpio_8),
364	RTD1319D_GROUP(gpio_9),
365	RTD1319D_GROUP(gpio_10),
366	RTD1319D_GROUP(gpio_11),
367	RTD1319D_GROUP(gpio_12),
368	RTD1319D_GROUP(gpio_13),
369	RTD1319D_GROUP(gpio_14),
370	RTD1319D_GROUP(gpio_15),
371	RTD1319D_GROUP(gpio_16),
372	RTD1319D_GROUP(gpio_17),
373	RTD1319D_GROUP(gpio_18),
374	RTD1319D_GROUP(gpio_19),
375	RTD1319D_GROUP(gpio_20),
376	RTD1319D_GROUP(gpio_21),
377	RTD1319D_GROUP(gpio_22),
378	RTD1319D_GROUP(gpio_23),
379	RTD1319D_GROUP(usb_cc2),
380	RTD1319D_GROUP(gpio_25),
381	RTD1319D_GROUP(gpio_26),
382	RTD1319D_GROUP(gpio_27),
383	RTD1319D_GROUP(gpio_28),
384	RTD1319D_GROUP(gpio_29),
385	RTD1319D_GROUP(gpio_30),
386	RTD1319D_GROUP(gpio_31),
387	RTD1319D_GROUP(gpio_32),
388	RTD1319D_GROUP(gpio_33),
389	RTD1319D_GROUP(gpio_34),
390	RTD1319D_GROUP(gpio_35),
391	RTD1319D_GROUP(hif_data),
392	RTD1319D_GROUP(hif_en),
393	RTD1319D_GROUP(hif_rdy),
394	RTD1319D_GROUP(hif_clk),
395	RTD1319D_GROUP(gpio_40),
396	RTD1319D_GROUP(gpio_41),
397	RTD1319D_GROUP(gpio_42),
398	RTD1319D_GROUP(gpio_43),
399	RTD1319D_GROUP(gpio_44),
400	RTD1319D_GROUP(gpio_45),
401	RTD1319D_GROUP(gpio_46),
402	RTD1319D_GROUP(gpio_47),
403	RTD1319D_GROUP(gpio_48),
404	RTD1319D_GROUP(gpio_49),
405	RTD1319D_GROUP(gpio_50),
406	RTD1319D_GROUP(usb_cc1),
407	RTD1319D_GROUP(gpio_52),
408	RTD1319D_GROUP(gpio_53),
409	RTD1319D_GROUP(ir_rx),
410	RTD1319D_GROUP(ur0_rx),
411	RTD1319D_GROUP(ur0_tx),
412	RTD1319D_GROUP(gpio_57),
413	RTD1319D_GROUP(gpio_58),
414	RTD1319D_GROUP(gpio_59),
415	RTD1319D_GROUP(gpio_60),
416	RTD1319D_GROUP(gpio_61),
417	RTD1319D_GROUP(gpio_62),
418	RTD1319D_GROUP(gpio_63),
419	RTD1319D_GROUP(gpio_64),
420	RTD1319D_GROUP(emmc_rst_n),
421	RTD1319D_GROUP(emmc_dd_sb),
422	RTD1319D_GROUP(emmc_clk),
423	RTD1319D_GROUP(emmc_cmd),
424	RTD1319D_GROUP(emmc_data_0),
425	RTD1319D_GROUP(emmc_data_1),
426	RTD1319D_GROUP(emmc_data_2),
427	RTD1319D_GROUP(emmc_data_3),
428	RTD1319D_GROUP(emmc_data_4),
429	RTD1319D_GROUP(emmc_data_5),
430	RTD1319D_GROUP(emmc_data_6),
431	RTD1319D_GROUP(emmc_data_7),
432	RTD1319D_GROUP(gpio_78),
433	RTD1319D_GROUP(gpio_79),
434	RTD1319D_GROUP(gpio_80),
435	RTD1319D_GROUP(gpio_81),
436	RTD1319D_GROUP(ur2_loc),
437	RTD1319D_GROUP(gspi_loc),
438	RTD1319D_GROUP(hi_width),
439	RTD1319D_GROUP(sf_en),
440	RTD1319D_GROUP(arm_trace_dbg_en),
441	RTD1319D_GROUP(ejtag_aucpu_loc),
442	RTD1319D_GROUP(ejtag_acpu_loc),
443	RTD1319D_GROUP(ejtag_vcpu_loc),
444	RTD1319D_GROUP(ejtag_scpu_loc),
445	RTD1319D_GROUP(dmic_loc),
446	RTD1319D_GROUP(ejtag_secpu_loc),
447	RTD1319D_GROUP(vtc_dmic_loc),
448	RTD1319D_GROUP(vtc_tdm_loc),
449	RTD1319D_GROUP(vtc_i2si_loc),
450	RTD1319D_GROUP(tdm_ai_loc),
451	RTD1319D_GROUP(ai_loc),
452	RTD1319D_GROUP(spdif_loc),
453	RTD1319D_GROUP(hif_en_loc),
454	RTD1319D_GROUP(sc0_loc),
455	RTD1319D_GROUP(sc1_loc),
456};
457
458static const char * const rtd1319d_gpio_groups[] = {
459	"gpio_0", "gpio_1", "gpio_2", "gpio_3", "gpio_4",
460	"gpio_5", "gpio_6", "gpio_7", "gpio_8", "gpio_9",
461	"gpio_10", "gpio_11", "gpio_12", "gpio_13", "gpio_14",
462	"gpio_15", "gpio_16", "gpio_17", "gpio_18", "gpio_19",
463	"gpio_20", "gpio_21", "gpio_22", "gpio_23", "usb_cc2",
464	"gpio_25", "gpio_26", "gpio_27", "gpio_28", "gpio_29",
465	"gpio_30", "gpio_31", "gpio_32", "gpio_33", "gpio_34",
466	"gpio_35", "hif_data", "hif_en", "hif_rdy", "hif_clk",
467	"gpio_40", "gpio_41", "gpio_42", "gpio_43", "gpio_44",
468	"gpio_45", "gpio_46", "gpio_47", "gpio_48", "gpio_49",
469	"gpio_50", "usb_cc1", "gpio_52", "gpio_53", "ir_rx",
470	"ur0_rx", "ur0_tx", "gpio_57", "gpio_58", "gpio_59",
471	"gpio_60", "gpio_61", "gpio_62", "gpio_63", "gpio_64",
472	"emmc_rst_n", "emmc_dd_sb", "emmc_clk", "emmc_cmd",
473	"emmc_data_0", "emmc_data_1", "emmc_data_2", "emmc_data_3",
474	"emmc_data_4", "emmc_data_5", "emmc_data_6", "emmc_data_7",
475	"gpio_78", "gpio_79", "gpio_80", "gpio_81" };
476static const char * const rtd1319d_nf_groups[] = {
477	"emmc_rst_n", "emmc_clk", "emmc_cmd", "emmc_data_0",
478	"emmc_data_1", "emmc_data_2", "emmc_data_3", "emmc_data_4",
479	"emmc_data_5", "emmc_data_6", "emmc_data_7",
480	"gpio_78", "gpio_79", "gpio_80", "gpio_81" };
481static const char * const rtd1319d_emmc_groups[] = {
482	"emmc_rst_n", "emmc_dd_sb", "emmc_clk", "emmc_cmd",
483	"emmc_data_0", "emmc_data_1", "emmc_data_2", "emmc_data_3",
484	"emmc_data_4", "emmc_data_5", "emmc_data_6", "emmc_data_7" };
485static const char * const rtd1319d_tp0_groups[] = {
486	"gpio_2", "gpio_3", "gpio_4", "gpio_57", "gpio_58",
487	"gpio_59", "gpio_60", "gpio_61", "gpio_62", "gpio_63",
488	"gpio_64" };
489static const char * const rtd1319d_tp1_groups[] = {
490	"gpio_61", "gpio_62", "gpio_63", "gpio_64" };
491static const char * const rtd1319d_sc0_groups[] = {
492	"gpio_18", "gpio_19", "gpio_31" };
493static const char * const rtd1319d_sc0_data0_groups[] = { "gpio_20", "sc0_loc" };
494static const char * const rtd1319d_sc0_data1_groups[] = { "gpio_30", "sc0_loc" };
495static const char * const rtd1319d_sc0_data2_groups[] = { "gpio_47", "sc0_loc" };
496static const char * const rtd1319d_sc1_groups[] = {
497	"gpio_2", "gpio_3", "gpio_5" };
498static const char * const rtd1319d_sc1_data0_groups[] = { "gpio_52", "sc1_loc" };
499static const char * const rtd1319d_sc1_data1_groups[] = { "gpio_34", "sc1_loc" };
500static const char * const rtd1319d_sc1_data2_groups[] = { "gpio_35", "sc1_loc" };
501static const char * const rtd1319d_ao_groups[] = {
502	"gpio_2", "gpio_3", "gpio_4", "gpio_61", "gpio_62",
503	"gpio_63", "gpio_64" };
504static const char * const rtd1319d_gspi_loc0_groups[] = {
505	"gpio_18", "gpio_19", "gpio_20", "gpio_31", "gspi_loc" };
506static const char * const rtd1319d_gspi_loc1_groups[] = {
507	"gpio_8", "gpio_9", "gpio_10", "gpio_11", "gspi_loc" };
508static const char * const rtd1319d_uart0_groups[] = { "ur0_rx", "ur0_tx"};
509static const char * const rtd1319d_uart1_groups[] = {
510	"gpio_8", "gpio_9", "gpio_10", "gpio_11" };
511static const char * const rtd1319d_uart2_loc0_groups[] = {
512	"gpio_18", "gpio_19", "gpio_20", "gpio_31", "ur2_loc" };
513static const char * const rtd1319d_uart2_loc1_groups[] = {
514	"gpio_25", "gpio_26", "gpio_27", "gpio_28", "ur2_loc" };
515static const char * const rtd1319d_i2c0_groups[] = { "gpio_12", "gpio_13" };
516static const char * const rtd1319d_i2c1_groups[] = { "gpio_16", "gpio_17" };
517static const char * const rtd1319d_i2c3_groups[] = { "gpio_26", "gpio_27" };
518static const char * const rtd1319d_i2c4_groups[] = { "gpio_34", "gpio_35" };
519static const char * const rtd1319d_i2c5_groups[] = { "gpio_29", "gpio_46" };
520static const char * const rtd1319d_pcie1_groups[] = { "gpio_22" };
521static const char * const rtd1319d_sdio_groups[] = {
522	"gpio_40", "gpio_41", "gpio_42", "gpio_43", "gpio_44",
523	"gpio_45" };
524static const char * const rtd1319d_etn_led_groups[] = { "gpio_14", "gpio_15" };
525static const char * const rtd1319d_etn_phy_groups[] = { "gpio_14", "gpio_15" };
526static const char * const rtd1319d_spi_groups[] = {
527	"gpio_18", "gpio_19", "gpio_20", "gpio_31" };
528static const char * const rtd1319d_pwm0_loc0_groups[] = { "gpio_26" };
529static const char * const rtd1319d_pwm0_loc1_groups[] = { "gpio_20" };
530static const char * const rtd1319d_pwm1_loc0_groups[] = { "gpio_27" };
531static const char * const rtd1319d_pwm1_loc1_groups[] = { "gpio_21" };
532
533static const char * const rtd1319d_pwm2_loc0_groups[] = { "gpio_28" };
534static const char * const rtd1319d_pwm2_loc1_groups[] = { "gpio_22" };
535static const char * const rtd1319d_pwm3_loc0_groups[] = { "gpio_47" };
536static const char * const rtd1319d_pwm3_loc1_groups[] = { "gpio_23" };
537static const char * const rtd1319d_qam_agc_if0_groups[] = { "gpio_21" };
538static const char * const rtd1319d_qam_agc_if1_groups[] = { "gpio_23" };
539static const char * const rtd1319d_spdif_optical_loc0_groups[] = { "gpio_21", "spdif_loc" };
540static const char * const rtd1319d_spdif_optical_loc1_groups[] = { "gpio_6", "spdif_loc" };
541static const char * const rtd1319d_usb_cc1_groups[] = { "usb_cc1" };
542static const char * const rtd1319d_usb_cc2_groups[] = { "usb_cc2" };
543static const char * const rtd1319d_vfd_groups[] = {
544	"gpio_26", "gpio_27", "gpio_28" };
545static const char * const rtd1319d_sd_groups[] = {
546	"gpio_32", "gpio_33", "gpio_34", "gpio_35",
547	"hif_data", "hif_en", "hif_rdy", "hif_clk" };
548static const char * const rtd1319d_dmic_loc0_groups[] = {
549	"gpio_57", "gpio_58", "gpio_59", "gpio_60", "gpio_61",
550	"gpio_62", "gpio_63", "gpio_64", "dmic_loc" };
551static const char * const rtd1319d_dmic_loc1_groups[] = {
552	"gpio_32", "gpio_33", "gpio_34", "gpio_35",
553	"hif_data", "hif_en", "hif_rdy", "hif_clk",
554	"dmic_loc" };
555static const char * const rtd1319d_ai_loc0_groups[] = {
556	"gpio_57", "gpio_58", "gpio_59", "gpio_60", "gpio_61",
557	"gpio_62", "gpio_63", "ai_loc" };
558static const char * const rtd1319d_ai_loc1_groups[] = {
559	"gpio_32", "gpio_33", "gpio_34", "hif_data",
560	"hif_en", "hif_rdy", "hif_clk", "ai_loc" };
561static const char * const rtd1319d_tdm_ai_loc0_groups[] = {
562	"gpio_57", "gpio_58", "gpio_59",
563	"gpio_60", "tdm_ai_loc" };
564static const char * const rtd1319d_tdm_ai_loc1_groups[] = {
565	"hif_data", "hif_en", "hif_rdy", "hif_clk", "tdm_ai_loc" };
566static const char * const rtd1319d_hi_loc0_groups[] = {
567	"hif_data", "hif_en", "hif_rdy", "hif_clk" };
568static const char * const rtd1319d_hi_m_groups[] = {
569	"hif_data", "hif_en", "hif_rdy", "hif_clk" };
570static const char * const rtd1319d_vtc_i2so_groups[] = {
571	"gpio_2", "gpio_3", "gpio_4", "gpio_64"};
572static const char * const rtd1319d_vtc_i2si_loc0_groups[] = {
573	"gpio_57", "gpio_58", "gpio_59", "gpio_60", "gpio_61",
574	"vtc_i2si_loc" };
575static const char * const rtd1319d_vtc_i2si_loc1_groups[] = {
576	"gpio_32", "hif_data", "hif_en", "hif_rdy", "hif_clk",
577	"vtc_i2si_loc" };
578static const char * const rtd1319d_vtc_dmic_loc0_groups[] = {
579	"gpio_57", "gpio_58", "gpio_59", "gpio_60",
580	"vtc_dmic_loc" };
581static const char * const rtd1319d_vtc_dmic_loc1_groups[] = {
582	"hif_data", "hif_en", "hif_rdy", "hif_clk",
583	"vtc_dmic_loc" };
584static const char * const rtd1319d_vtc_tdm_loc0_groups[] = {
585	"gpio_57", "gpio_58", "gpio_59", "gpio_60",
586	"vtc_tdm_loc" };
587static const char * const rtd1319d_vtc_tdm_loc1_groups[] = {
588	"hif_data", "hif_en", "hif_rdy", "hif_clk",
589	"vtc_tdm_loc" };
590static const char * const rtd1319d_dc_fan_groups[] = { "gpio_47" };
591static const char * const rtd1319d_pll_test_loc0_groups[] = { "gpio_52", "gpio_53" };
592static const char * const rtd1319d_pll_test_loc1_groups[] = { "gpio_48", "gpio_49" };
593static const char * const rtd1319d_spdif_groups[] = { "gpio_50" };
594static const char * const rtd1319d_ir_rx_groups[] = { "ir_rx" };
595static const char * const rtd1319d_uart2_disable_groups[] = { "ur2_loc" };
596static const char * const rtd1319d_gspi_disable_groups[] = { "gspi_loc" };
597static const char * const rtd1319d_hi_width_disable_groups[] = { "hi_width" };
598static const char * const rtd1319d_hi_width_1bit_groups[] = { "hi_width" };
599static const char * const rtd1319d_sf_disable_groups[] = { "sf_en" };
600static const char * const rtd1319d_sf_enable_groups[] = { "sf_en" };
601static const char * const rtd1319d_scpu_ejtag_loc0_groups[] = {
602	"gpio_2", "gpio_3", "gpio_4", "gpio_5", "gpio_6",
603	"ejtag_scpu_loc" };
604static const char * const rtd1319d_scpu_ejtag_loc1_groups[] = {
605	"gpio_32", "gpio_33", "hif_data", "hif_en", "hif_clk",
606	"ejtag_scpu_loc" };
607static const char * const rtd1319d_scpu_ejtag_loc2_groups[] = {
608	"gpio_57", "gpio_58", "gpio_59", "gpio_60", "gpio_61",
609	"ejtag_scpu_loc" };
610static const char * const rtd1319d_acpu_ejtag_loc0_groups[] = {
611	"gpio_2", "gpio_3", "gpio_4", "gpio_5", "gpio_6",
612	"ejtag_acpu_loc" };
613static const char * const rtd1319d_acpu_ejtag_loc1_groups[] = {
614	"gpio_32", "gpio_33", "hif_data", "hif_en", "hif_clk",
615	"ejtag_acpu_loc" };
616static const char * const rtd1319d_acpu_ejtag_loc2_groups[] = {
617	"gpio_57", "gpio_58", "gpio_59", "gpio_60", "gpio_61",
618	"ejtag_acpu_loc" };
619static const char * const rtd1319d_vcpu_ejtag_loc0_groups[] = {
620	"gpio_2", "gpio_3", "gpio_4", "gpio_5", "gpio_6",
621	"ejtag_vcpu_loc" };
622static const char * const rtd1319d_vcpu_ejtag_loc1_groups[] = {
623	"gpio_32", "gpio_33", "hif_data", "hif_en", "hif_clk",
624	"ejtag_vcpu_loc" };
625static const char * const rtd1319d_vcpu_ejtag_loc2_groups[] = {
626	"gpio_57", "gpio_58", "gpio_59", "gpio_60", "gpio_61",
627	"ejtag_vcpu_loc" };
628static const char * const rtd1319d_secpu_ejtag_loc0_groups[] = {
629	"gpio_2", "gpio_3", "gpio_4", "gpio_5", "gpio_6",
630	"ejtag_secpu_loc" };
631static const char * const rtd1319d_secpu_ejtag_loc1_groups[] = {
632	"gpio_32", "gpio_33", "hif_data", "hif_en", "hif_clk",
633	"ejtag_secpu_loc" };
634static const char * const rtd1319d_secpu_ejtag_loc2_groups[] = {
635	"gpio_57", "gpio_58", "gpio_59", "gpio_60", "gpio_61",
636	"ejtag_secpu_loc" };
637static const char * const rtd1319d_aucpu_ejtag_loc0_groups[] = {
638	"gpio_2", "gpio_3", "gpio_4", "gpio_5", "gpio_6",
639	"ejtag_aucpu_loc" };
640static const char * const rtd1319d_aucpu_ejtag_loc1_groups[] = {
641	"gpio_32", "gpio_33", "hif_data", "hif_en", "hif_clk",
642	"ejtag_aucpu_loc" };
643static const char * const rtd1319d_aucpu_ejtag_loc2_groups[] = {
644	"gpio_57", "gpio_58", "gpio_59", "gpio_60", "gpio_61",
645	"ejtag_aucpu_loc" };
646static const char * const rtd1319d_iso_tristate_groups[] = {
647	"emmc_rst_n", "emmc_dd_sb", "emmc_clk", "emmc_cmd",
648	"emmc_data_0", "emmc_data_1", "emmc_data_2", "emmc_data_3",
649	"emmc_data_4", "emmc_data_5", "emmc_data_6", "emmc_data_7",
650	"gpio_78", "gpio_79", "gpio_80", "gpio_81", "gpio_1",
651	"gpio_8", "gpio_9", "gpio_10", "gpio_11", "gpio_22",
652	"gpio_23", "usb_cc2", "gpio_25", "gpio_28", "gpio_29",
653	"gpio_30", "gpio_32", "gpio_33", "hif_data", "hif_en",
654	"hif_rdy", "hif_clk", "gpio_40", "gpio_41", "gpio_42",
655	"gpio_43", "gpio_44", "gpio_45", "gpio_46", "usb_cc1",
656	"ir_rx", "ur0_rx", "ur0_tx", "gpio_62", "gpio_63", "gpio_64" };
657static const char * const rtd1319d_dbg_out0_groups[] = {
658	"gpio_12", "gpio_13", "gpio_16", "gpio_17", "gpio_26", "gpio_27",
659	"gpio_34", "gpio_35", "gpio_48", "gpio_49", "gpio_57", "gpio_58",
660	"gpio_59", "gpio_60", "gpio_61" };
661static const char * const rtd1319d_dbg_out1_groups[] = {
662	"gpio_0", "gpio_2", "gpio_3", "gpio_4", "gpio_5", "gpio_6",
663	"gpio_7", "gpio_14", "gpio_15", "gpio_18", "gpio_19", "gpio_20",
664	"gpio_21", "gpio_31", "gpio_47", "gpio_50", "gpio_52", "gpio_53" };
665static const char * const rtd1319d_standby_dbg_groups[] = {
666	"gpio_2", "gpio_3", "ir_rx" };
667static const char * const rtd1319d_arm_trace_debug_disable_groups[] = { "arm_trace_dbg_en" };
668static const char * const rtd1319d_arm_trace_debug_enable_groups[] = { "arm_trace_dbg_en" };
669static const char * const rtd1319d_aucpu_ejtag_disable_groups[] = { "ejtag_aucpu_loc" };
670static const char * const rtd1319d_acpu_ejtag_disable_groups[] = { "ejtag_acpu_loc" };
671static const char * const rtd1319d_vcpu_ejtag_disable_groups[] = { "ejtag_vcpu_loc" };
672static const char * const rtd1319d_scpu_ejtag_disable_groups[] = { "ejtag_scpu_loc" };
673static const char * const rtd1319d_secpu_ejtag_disable_groups[] = { "ejtag_secpu_loc" };
674static const char * const rtd1319d_vtc_dmic_loc_disable_groups[] = { "vtc_dmic_loc" };
675static const char * const rtd1319d_vtc_tdm_disable_groups[] = { "vtc_tdm_loc" };
676static const char * const rtd1319d_vtc_i2si_disable_groups[] = { "vtc_i2si_loc" };
677static const char * const rtd1319d_tdm_ai_disable_groups[] = { "tdm_ai_loc" };
678static const char * const rtd1319d_ai_disable_groups[] = { "ai_loc" };
679static const char * const rtd1319d_spdif_disable_groups[] = { "spdif_loc" };
680static const char * const rtd1319d_hif_disable_groups[] = { "hif_en_loc" };
681static const char * const rtd1319d_hif_enable_groups[] = { "hif_en_loc" };
682static const char * const rtd1319d_test_loop_groups[] = { "gpio_27" };
683static const char * const rtd1319d_pmic_pwrup_groups[] = { "gpio_78" };
684
685#define RTD1319D_FUNC(_name) \
686	{ \
687		.name = # _name, \
688		.groups = rtd1319d_ ## _name ## _groups, \
689		.num_groups = ARRAY_SIZE(rtd1319d_ ## _name ## _groups), \
690	}
691
692static const struct rtd_pin_func_desc rtd1319d_pin_functions[] = {
693	RTD1319D_FUNC(gpio),
694	RTD1319D_FUNC(nf),
695	RTD1319D_FUNC(emmc),
696	RTD1319D_FUNC(tp0),
697	RTD1319D_FUNC(tp1),
698	RTD1319D_FUNC(sc0),
699	RTD1319D_FUNC(sc0_data0),
700	RTD1319D_FUNC(sc0_data1),
701	RTD1319D_FUNC(sc0_data2),
702	RTD1319D_FUNC(sc1),
703	RTD1319D_FUNC(sc1_data0),
704	RTD1319D_FUNC(sc1_data1),
705	RTD1319D_FUNC(sc1_data2),
706	RTD1319D_FUNC(ao),
707	RTD1319D_FUNC(gspi_loc0),
708	RTD1319D_FUNC(gspi_loc1),
709	RTD1319D_FUNC(uart0),
710	RTD1319D_FUNC(uart1),
711	RTD1319D_FUNC(uart2_loc0),
712	RTD1319D_FUNC(uart2_loc1),
713	RTD1319D_FUNC(i2c0),
714	RTD1319D_FUNC(i2c1),
715	RTD1319D_FUNC(i2c3),
716	RTD1319D_FUNC(i2c4),
717	RTD1319D_FUNC(i2c5),
718	RTD1319D_FUNC(pcie1),
719	RTD1319D_FUNC(sdio),
720	RTD1319D_FUNC(etn_led),
721	RTD1319D_FUNC(etn_phy),
722	RTD1319D_FUNC(spi),
723	RTD1319D_FUNC(pwm0_loc0),
724	RTD1319D_FUNC(pwm0_loc1),
725	RTD1319D_FUNC(pwm1_loc0),
726	RTD1319D_FUNC(pwm1_loc1),
727	RTD1319D_FUNC(pwm2_loc0),
728	RTD1319D_FUNC(pwm2_loc1),
729	RTD1319D_FUNC(pwm3_loc0),
730	RTD1319D_FUNC(pwm3_loc1),
731	RTD1319D_FUNC(qam_agc_if0),
732	RTD1319D_FUNC(qam_agc_if1),
733	RTD1319D_FUNC(spdif_optical_loc0),
734	RTD1319D_FUNC(spdif_optical_loc1),
735	RTD1319D_FUNC(usb_cc1),
736	RTD1319D_FUNC(usb_cc2),
737	RTD1319D_FUNC(vfd),
738	RTD1319D_FUNC(sd),
739	RTD1319D_FUNC(dmic_loc0),
740	RTD1319D_FUNC(dmic_loc1),
741	RTD1319D_FUNC(ai_loc0),
742	RTD1319D_FUNC(ai_loc1),
743	RTD1319D_FUNC(tdm_ai_loc0),
744	RTD1319D_FUNC(tdm_ai_loc1),
745	RTD1319D_FUNC(hi_loc0),
746	RTD1319D_FUNC(hi_m),
747	RTD1319D_FUNC(vtc_i2so),
748	RTD1319D_FUNC(vtc_i2si_loc0),
749	RTD1319D_FUNC(vtc_i2si_loc1),
750	RTD1319D_FUNC(vtc_dmic_loc0),
751	RTD1319D_FUNC(vtc_dmic_loc1),
752	RTD1319D_FUNC(vtc_tdm_loc0),
753	RTD1319D_FUNC(vtc_tdm_loc1),
754	RTD1319D_FUNC(dc_fan),
755	RTD1319D_FUNC(pll_test_loc0),
756	RTD1319D_FUNC(pll_test_loc1),
757	RTD1319D_FUNC(ir_rx),
758	RTD1319D_FUNC(uart2_disable),
759	RTD1319D_FUNC(gspi_disable),
760	RTD1319D_FUNC(hi_width_disable),
761	RTD1319D_FUNC(hi_width_1bit),
762	RTD1319D_FUNC(sf_disable),
763	RTD1319D_FUNC(sf_enable),
764	RTD1319D_FUNC(scpu_ejtag_loc0),
765	RTD1319D_FUNC(scpu_ejtag_loc1),
766	RTD1319D_FUNC(scpu_ejtag_loc2),
767	RTD1319D_FUNC(acpu_ejtag_loc0),
768	RTD1319D_FUNC(acpu_ejtag_loc1),
769	RTD1319D_FUNC(acpu_ejtag_loc2),
770	RTD1319D_FUNC(vcpu_ejtag_loc0),
771	RTD1319D_FUNC(vcpu_ejtag_loc1),
772	RTD1319D_FUNC(vcpu_ejtag_loc2),
773	RTD1319D_FUNC(secpu_ejtag_loc0),
774	RTD1319D_FUNC(secpu_ejtag_loc1),
775	RTD1319D_FUNC(secpu_ejtag_loc2),
776	RTD1319D_FUNC(aucpu_ejtag_loc0),
777	RTD1319D_FUNC(aucpu_ejtag_loc1),
778	RTD1319D_FUNC(aucpu_ejtag_loc2),
779	RTD1319D_FUNC(iso_tristate),
780	RTD1319D_FUNC(dbg_out0),
781	RTD1319D_FUNC(dbg_out1),
782	RTD1319D_FUNC(standby_dbg),
783	RTD1319D_FUNC(spdif),
784	RTD1319D_FUNC(arm_trace_debug_disable),
785	RTD1319D_FUNC(arm_trace_debug_enable),
786	RTD1319D_FUNC(aucpu_ejtag_disable),
787	RTD1319D_FUNC(acpu_ejtag_disable),
788	RTD1319D_FUNC(vcpu_ejtag_disable),
789	RTD1319D_FUNC(scpu_ejtag_disable),
790	RTD1319D_FUNC(secpu_ejtag_disable),
791	RTD1319D_FUNC(vtc_dmic_loc_disable),
792	RTD1319D_FUNC(vtc_tdm_disable),
793	RTD1319D_FUNC(vtc_i2si_disable),
794	RTD1319D_FUNC(tdm_ai_disable),
795	RTD1319D_FUNC(ai_disable),
796	RTD1319D_FUNC(spdif_disable),
797	RTD1319D_FUNC(hif_disable),
798	RTD1319D_FUNC(hif_enable),
799	RTD1319D_FUNC(test_loop),
800	RTD1319D_FUNC(pmic_pwrup),
801};
802
803#undef RTD1319D_FUNC
804
805static const struct rtd_pin_desc rtd1319d_iso_muxes[] = {
806	[RTD1319D_ISO_EMMC_RST_N] = RTK_PIN_MUX(emmc_rst_n, 0x0, GENMASK(3, 0),
807		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
808		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "nf"),
809		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "emmc"),
810		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")),
811	[RTD1319D_ISO_EMMC_DD_SB] = RTK_PIN_MUX(emmc_dd_sb, 0x0, GENMASK(7, 4),
812		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
813		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "emmc"),
814		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")),
815	[RTD1319D_ISO_EMMC_CLK] = RTK_PIN_MUX(emmc_clk, 0x0, GENMASK(11, 8),
816		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
817		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "nf"),
818		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "emmc"),
819		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")),
820	[RTD1319D_ISO_EMMC_CMD] = RTK_PIN_MUX(emmc_cmd, 0x0, GENMASK(15, 12),
821		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
822		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "nf"),
823		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "emmc"),
824		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")),
825	[RTD1319D_ISO_EMMC_DATA_0] = RTK_PIN_MUX(emmc_data_0, 0x0, GENMASK(19, 16),
826		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
827		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "nf"),
828		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "emmc"),
829		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")),
830	[RTD1319D_ISO_EMMC_DATA_1] = RTK_PIN_MUX(emmc_data_1, 0x0, GENMASK(23, 20),
831		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
832		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "nf"),
833		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "emmc"),
834		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")),
835	[RTD1319D_ISO_EMMC_DATA_2] = RTK_PIN_MUX(emmc_data_2, 0x0, GENMASK(27, 24),
836		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
837		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "nf"),
838		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "emmc"),
839		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")),
840	[RTD1319D_ISO_EMMC_DATA_3] = RTK_PIN_MUX(emmc_data_3, 0x0, GENMASK(31, 28),
841		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
842		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "nf"),
843		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "emmc"),
844		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")),
845
846	[RTD1319D_ISO_EMMC_DATA_4] = RTK_PIN_MUX(emmc_data_4, 0x4, GENMASK(3, 0),
847		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
848		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "nf"),
849		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "emmc"),
850		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")),
851	[RTD1319D_ISO_EMMC_DATA_5] = RTK_PIN_MUX(emmc_data_5, 0x4, GENMASK(7, 4),
852		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
853		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "nf"),
854		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "emmc"),
855		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")),
856	[RTD1319D_ISO_EMMC_DATA_6] = RTK_PIN_MUX(emmc_data_6, 0x4, GENMASK(11, 8),
857		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
858		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "nf"),
859		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "emmc"),
860		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")),
861	[RTD1319D_ISO_EMMC_DATA_7] = RTK_PIN_MUX(emmc_data_7, 0x4, GENMASK(15, 12),
862		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
863		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "nf"),
864		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "emmc"),
865		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")),
866	[RTD1319D_ISO_GPIO_78] = RTK_PIN_MUX(gpio_78, 0x4, GENMASK(19, 16),
867		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
868		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "nf"),
869		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "pmic_pwrup"),
870		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")),
871	[RTD1319D_ISO_GPIO_79] = RTK_PIN_MUX(gpio_79, 0x4, GENMASK(23, 20),
872		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
873		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "nf"),
874		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")),
875	[RTD1319D_ISO_GPIO_80] = RTK_PIN_MUX(gpio_80, 0x4, GENMASK(27, 24),
876		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
877		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "nf"),
878		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")),
879	[RTD1319D_ISO_GPIO_81] = RTK_PIN_MUX(gpio_81, 0x4, GENMASK(31, 28),
880		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
881		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "nf"),
882		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")),
883
884	[RTD1319D_ISO_GPIO_0] = RTK_PIN_MUX(gpio_0, 0x8, GENMASK(3, 0),
885		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
886		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "dbg_out1")),
887	[RTD1319D_ISO_GPIO_1] = RTK_PIN_MUX(gpio_1, 0x8, GENMASK(7, 4),
888		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
889		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")),
890	[RTD1319D_ISO_GPIO_2] = RTK_PIN_MUX(gpio_2, 0x8, GENMASK(11, 8),
891		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
892		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "standby_dbg"),
893		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "tp0"),
894		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "aucpu_ejtag_loc0"),
895		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "sc1"),
896		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 8), "scpu_ejtag_loc0"),
897		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 8), "acpu_ejtag_loc0"),
898		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 8), "vcpu_ejtag_loc0"),
899		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 8), "secpu_ejtag_loc0"),
900		RTK_PIN_FUNC(SHIFT_LEFT(0xb, 8), "vtc_i2so"),
901		RTK_PIN_FUNC(SHIFT_LEFT(0xc, 8), "ao"),
902		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "dbg_out1")),
903	[RTD1319D_ISO_GPIO_3] = RTK_PIN_MUX(gpio_3, 0x8, GENMASK(15, 12),
904		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
905		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "standby_dbg"),
906		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "tp0"),
907		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "aucpu_ejtag_loc0"),
908		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 12), "sc1"),
909		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 12), "scpu_ejtag_loc0"),
910		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 12), "acpu_ejtag_loc0"),
911		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 12), "vcpu_ejtag_loc0"),
912		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 12), "secpu_ejtag_loc0"),
913		RTK_PIN_FUNC(SHIFT_LEFT(0xb, 12), "vtc_i2so"),
914		RTK_PIN_FUNC(SHIFT_LEFT(0xc, 12), "ao"),
915		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "dbg_out1")),
916	[RTD1319D_ISO_GPIO_4] = RTK_PIN_MUX(gpio_4, 0x8, GENMASK(19, 16),
917		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
918		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "tp0"),
919		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "aucpu_ejtag_loc0"),
920		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 16), "scpu_ejtag_loc0"),
921		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 16), "acpu_ejtag_loc0"),
922		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 16), "vcpu_ejtag_loc0"),
923		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 16), "secpu_ejtag_loc0"),
924		RTK_PIN_FUNC(SHIFT_LEFT(0xb, 16), "vtc_i2so"),
925		RTK_PIN_FUNC(SHIFT_LEFT(0xc, 16), "ao"),
926		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "dbg_out1")),
927	[RTD1319D_ISO_GPIO_5] = RTK_PIN_MUX(gpio_5, 0x8, GENMASK(23, 20),
928		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
929		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "aucpu_ejtag_loc0"),
930		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 20), "sc1"),
931		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 20), "scpu_ejtag_loc0"),
932		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 20), "acpu_ejtag_loc0"),
933		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 20), "vcpu_ejtag_loc0"),
934		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 20), "secpu_ejtag_loc0"),
935		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "dbg_out1")),
936	[RTD1319D_ISO_GPIO_6] = RTK_PIN_MUX(gpio_6, 0x8, GENMASK(27, 24),
937		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
938		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 24), "aucpu_ejtag_loc0"),
939		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 24), "spdif_optical_loc1"),
940		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 24), "scpu_ejtag_loc0"),
941		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 24), "acpu_ejtag_loc0"),
942		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 24), "vcpu_ejtag_loc0"),
943		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 24), "secpu_ejtag_loc0"),
944		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "dbg_out1")),
945	[RTD1319D_ISO_GPIO_7] = RTK_PIN_MUX(gpio_7, 0x8, GENMASK(31, 28),
946		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
947		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "dbg_out1")),
948
949	[RTD1319D_ISO_GPIO_8] = RTK_PIN_MUX(gpio_8, 0xc, GENMASK(3, 0),
950		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
951		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "uart1"),
952		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 0), "gspi_loc1"),
953		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")),
954	[RTD1319D_ISO_GPIO_9] = RTK_PIN_MUX(gpio_9, 0xc, GENMASK(7, 4),
955		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
956		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "uart1"),
957		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "gspi_loc1"),
958		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")),
959	[RTD1319D_ISO_GPIO_10] = RTK_PIN_MUX(gpio_10, 0xc, GENMASK(11, 8),
960		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
961		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "uart1"),
962		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "gspi_loc1"),
963		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")),
964	[RTD1319D_ISO_GPIO_11] = RTK_PIN_MUX(gpio_11, 0xc, GENMASK(15, 12),
965		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
966		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "uart1"),
967		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "gspi_loc1"),
968		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")),
969	[RTD1319D_ISO_GPIO_12] = RTK_PIN_MUX(gpio_12, 0xc, GENMASK(19, 16),
970		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
971		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "i2c0"),
972		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "dbg_out0")),
973	[RTD1319D_ISO_GPIO_13] = RTK_PIN_MUX(gpio_13, 0xc, GENMASK(23, 20),
974		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
975		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "i2c0"),
976		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "dbg_out0")),
977	[RTD1319D_ISO_GPIO_14] = RTK_PIN_MUX(gpio_14, 0xc, GENMASK(27, 24),
978		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
979		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "etn_led"),
980		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 24), "etn_phy"),
981		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "dbg_out1")),
982	[RTD1319D_ISO_GPIO_15] = RTK_PIN_MUX(gpio_15, 0xc, GENMASK(31, 28),
983		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
984		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "etn_led"),
985		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 28), "etn_phy"),
986		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "dbg_out1")),
987
988	[RTD1319D_ISO_GPIO_16] = RTK_PIN_MUX(gpio_16, 0x10, GENMASK(3, 0),
989		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
990		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "i2c1"),
991		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "dbg_out0")),
992	[RTD1319D_ISO_GPIO_17] = RTK_PIN_MUX(gpio_17, 0x10, GENMASK(7, 4),
993		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
994		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "i2c1"),
995		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "dbg_out0")),
996	[RTD1319D_ISO_GPIO_18] = RTK_PIN_MUX(gpio_18, 0x10, GENMASK(11, 8),
997		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
998		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "uart2_loc0"),
999		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "sc0"),
1000		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "gspi_loc0"),
1001		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 8), "spi"),
1002		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "dbg_out1")),
1003	[RTD1319D_ISO_GPIO_19] = RTK_PIN_MUX(gpio_19, 0x10, GENMASK(15, 12),
1004		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
1005		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "uart2_loc0"),
1006		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "sc0"),
1007		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "gspi_loc0"),
1008		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 12), "spi"),
1009		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "dbg_out1")),
1010	[RTD1319D_ISO_GPIO_20] = RTK_PIN_MUX(gpio_20, 0x10, GENMASK(19, 16),
1011		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
1012		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "uart2_loc0"),
1013		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "pwm0_loc1"),
1014		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "gspi_loc0"),
1015		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 16), "sc0_data0"),
1016		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 16), "spi"),
1017		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "dbg_out1")),
1018	[RTD1319D_ISO_GPIO_21] = RTK_PIN_MUX(gpio_21, 0x10, GENMASK(23, 20),
1019		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
1020		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "pwm1_loc1"),
1021		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "qam_agc_if0"),
1022		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 20), "spdif_optical_loc0"),
1023		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "dbg_out1")),
1024	[RTD1319D_ISO_GPIO_22] = RTK_PIN_MUX(gpio_22, 0x10, GENMASK(27, 24),
1025		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
1026		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "pwm2_loc1"),
1027		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 24), "pcie1"),
1028		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")),
1029	[RTD1319D_ISO_GPIO_23] = RTK_PIN_MUX(gpio_23, 0x10, GENMASK(31, 28),
1030		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
1031		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "pwm3_loc1"),
1032		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 28), "qam_agc_if1"),
1033		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")),
1034
1035	[RTD1319D_ISO_USB_CC2] = RTK_PIN_MUX(usb_cc2, 0x14, GENMASK(3, 0),
1036		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
1037		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "usb_cc2"),
1038		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")),
1039	[RTD1319D_ISO_GPIO_25] = RTK_PIN_MUX(gpio_25, 0x14, GENMASK(7, 4),
1040		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
1041		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "uart2_loc1"),
1042		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")),
1043	[RTD1319D_ISO_GPIO_26] = RTK_PIN_MUX(gpio_26, 0x14, GENMASK(11, 8),
1044		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
1045		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "uart2_loc1"),
1046		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "vfd"),
1047		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "pwm0_loc0"),
1048		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "i2c3"),
1049		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "dbg_out0")),
1050	[RTD1319D_ISO_GPIO_27] = RTK_PIN_MUX(gpio_27, 0x14, GENMASK(15, 12),
1051		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
1052		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "uart2_loc1"),
1053		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "vfd"),
1054		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "pwm1_loc0"),
1055		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 12), "i2c3"),
1056		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 12), "test_loop"),
1057		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "dbg_out0")),
1058	[RTD1319D_ISO_GPIO_28] = RTK_PIN_MUX(gpio_28, 0x14, GENMASK(19, 16),
1059		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
1060		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "uart2_loc1"),
1061		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "vfd"),
1062		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "pwm2_loc0"),
1063		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")),
1064	[RTD1319D_ISO_GPIO_29] = RTK_PIN_MUX(gpio_29, 0x14, GENMASK(23, 20),
1065		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
1066		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "i2c5"),
1067		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")),
1068	[RTD1319D_ISO_GPIO_30] = RTK_PIN_MUX(gpio_30, 0x14, GENMASK(27, 24),
1069		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
1070		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 24), "sc0_data1"),
1071		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")),
1072	[RTD1319D_ISO_GPIO_31] = RTK_PIN_MUX(gpio_31, 0x14, GENMASK(31, 28),
1073		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
1074		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "uart2_loc0"),
1075		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "sc0"),
1076		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 28), "gspi_loc0"),
1077		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 28), "spi"),
1078		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "dbg_out1")),
1079
1080	[RTD1319D_ISO_GPIO_32] = RTK_PIN_MUX(gpio_32, 0x18, GENMASK(3, 0),
1081		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
1082		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "sd"),
1083		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "aucpu_ejtag_loc1"),
1084		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 0), "dmic_loc1"),
1085		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 0), "ai_loc1"),
1086		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 0), "scpu_ejtag_loc1"),
1087		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 0), "acpu_ejtag_loc1"),
1088		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 0), "vcpu_ejtag_loc1"),
1089		RTK_PIN_FUNC(SHIFT_LEFT(0xb, 0), "vtc_i2si_loc1"),
1090		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 0), "secpu_ejtag_loc1"),
1091		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")),
1092	[RTD1319D_ISO_GPIO_33] = RTK_PIN_MUX(gpio_33, 0x18, GENMASK(7, 4),
1093		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
1094		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "sd"),
1095		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "aucpu_ejtag_loc1"),
1096		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "dmic_loc1"),
1097		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 4), "ai_loc1"),
1098		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 4), "scpu_ejtag_loc1"),
1099		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 4), "acpu_ejtag_loc1"),
1100		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 4), "vcpu_ejtag_loc1"),
1101		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 4), "secpu_ejtag_loc1"),
1102		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")),
1103	[RTD1319D_ISO_GPIO_34] = RTK_PIN_MUX(gpio_34, 0x18, GENMASK(11, 8),
1104		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
1105		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "sd"),
1106		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "dmic_loc1"),
1107		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "ai_loc1"),
1108		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 8), "i2c4"),
1109		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 8), "sc1_data1"),
1110		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "dbg_out0")),
1111	[RTD1319D_ISO_GPIO_35] = RTK_PIN_MUX(gpio_35, 0x18, GENMASK(15, 12),
1112		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
1113		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "sd"),
1114		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "dmic_loc1"),
1115		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 12), "i2c4"),
1116		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 12), "sc1_data2"),
1117		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "dbg_out0")),
1118	[RTD1319D_ISO_HIF_DATA] = RTK_PIN_MUX(hif_data, 0x18, GENMASK(19, 16),
1119		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
1120		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "sd"),
1121		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "aucpu_ejtag_loc1"),
1122		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "dmic_loc1"),
1123		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 16), "tdm_ai_loc1"),
1124		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 16), "scpu_ejtag_loc1"),
1125		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 16), "acpu_ejtag_loc1"),
1126		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 16), "vcpu_ejtag_loc1"),
1127		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 16), "ai_loc1"),
1128		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 16), "hi_loc0"),
1129		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 16), "hi_m"),
1130		RTK_PIN_FUNC(SHIFT_LEFT(0xb, 16), "vtc_i2si_loc1"),
1131		RTK_PIN_FUNC(SHIFT_LEFT(0xc, 16), "vtc_tdm_loc1"),
1132		RTK_PIN_FUNC(SHIFT_LEFT(0xd, 16), "vtc_dmic_loc1"),
1133		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 16), "secpu_ejtag_loc1"),
1134		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")),
1135	[RTD1319D_ISO_HIF_EN] = RTK_PIN_MUX(hif_en, 0x18, GENMASK(23, 20),
1136		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
1137		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "sd"),
1138		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "aucpu_ejtag_loc1"),
1139		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "dmic_loc1"),
1140		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 20), "tdm_ai_loc1"),
1141		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 20), "scpu_ejtag_loc1"),
1142		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 20), "acpu_ejtag_loc1"),
1143		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 20), "vcpu_ejtag_loc1"),
1144		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 20), "ai_loc1"),
1145		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 20), "hi_loc0"),
1146		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 20), "hi_m"),
1147		RTK_PIN_FUNC(SHIFT_LEFT(0xb, 20), "vtc_i2si_loc1"),
1148		RTK_PIN_FUNC(SHIFT_LEFT(0xc, 20), "vtc_tdm_loc1"),
1149		RTK_PIN_FUNC(SHIFT_LEFT(0xd, 20), "vtc_dmic_loc1"),
1150		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 20), "secpu_ejtag_loc1"),
1151		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")),
1152	[RTD1319D_ISO_HIF_RDY] = RTK_PIN_MUX(hif_rdy, 0x18, GENMASK(27, 24),
1153		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
1154		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "sd"),
1155		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 24), "dmic_loc1"),
1156		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 24), "tdm_ai_loc1"),
1157		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 24), "ai_loc1"),
1158		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 24), "hi_loc0"),
1159		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 24), "hi_m"),
1160		RTK_PIN_FUNC(SHIFT_LEFT(0xb, 24), "vtc_i2si_loc1"),
1161		RTK_PIN_FUNC(SHIFT_LEFT(0xc, 24), "vtc_tdm_loc1"),
1162		RTK_PIN_FUNC(SHIFT_LEFT(0xd, 24), "vtc_dmic_loc1"),
1163		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")),
1164	[RTD1319D_ISO_HIF_CLK] = RTK_PIN_MUX(hif_clk, 0x18, GENMASK(31, 28),
1165		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
1166		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "sd"),
1167		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "aucpu_ejtag_loc1"),
1168		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 28), "dmic_loc1"),
1169		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 28), "tdm_ai_loc1"),
1170		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 28), "scpu_ejtag_loc1"),
1171		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 28), "acpu_ejtag_loc1"),
1172		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 28), "vcpu_ejtag_loc1"),
1173		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 28), "ai_loc1"),
1174		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 28), "hi_loc0"),
1175		RTK_PIN_FUNC(SHIFT_LEFT(0xa, 28), "hi_m"),
1176		RTK_PIN_FUNC(SHIFT_LEFT(0xb, 28), "vtc_i2si_loc1"),
1177		RTK_PIN_FUNC(SHIFT_LEFT(0xc, 28), "vtc_tdm_loc1"),
1178		RTK_PIN_FUNC(SHIFT_LEFT(0xd, 28), "vtc_dmic_loc1"),
1179		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 28), "secpu_ejtag_loc1"),
1180		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")),
1181
1182	[RTD1319D_ISO_GPIO_40] = RTK_PIN_MUX(gpio_40, 0x1c, GENMASK(3, 0),
1183		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
1184		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "sdio"),
1185		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")),
1186	[RTD1319D_ISO_GPIO_41] = RTK_PIN_MUX(gpio_41, 0x1c, GENMASK(7, 4),
1187		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
1188		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "sdio"),
1189		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate")),
1190	[RTD1319D_ISO_GPIO_42] = RTK_PIN_MUX(gpio_42, 0x1c, GENMASK(11, 8),
1191		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
1192		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "sdio"),
1193		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate")),
1194	[RTD1319D_ISO_GPIO_43] = RTK_PIN_MUX(gpio_43, 0x1c, GENMASK(15, 12),
1195		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
1196		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "sdio"),
1197		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")),
1198	[RTD1319D_ISO_GPIO_44] = RTK_PIN_MUX(gpio_44, 0x1c, GENMASK(19, 16),
1199		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
1200		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "sdio"),
1201		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate")),
1202	[RTD1319D_ISO_GPIO_45] = RTK_PIN_MUX(gpio_45, 0x1c, GENMASK(23, 20),
1203		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
1204		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "sdio"),
1205		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate")),
1206	[RTD1319D_ISO_GPIO_46] = RTK_PIN_MUX(gpio_46, 0x1c, GENMASK(27, 24),
1207		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
1208		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "i2c5"),
1209		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")),
1210	[RTD1319D_ISO_GPIO_47] = RTK_PIN_MUX(gpio_47, 0x1c, GENMASK(31, 28),
1211		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
1212		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "dc_fan"),
1213		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 28), "pwm3_loc0"),
1214		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 28), "sc0_data2"),
1215		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "dbg_out1")),
1216
1217	[RTD1319D_ISO_GPIO_48] = RTK_PIN_MUX(gpio_48, 0x20, GENMASK(3, 0),
1218		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
1219		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "pll_test_loc1"),
1220		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "dbg_out0")),
1221	[RTD1319D_ISO_GPIO_49] = RTK_PIN_MUX(gpio_49, 0x20, GENMASK(7, 4),
1222		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
1223		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "pll_test_loc1"),
1224		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "dbg_out0")),
1225	[RTD1319D_ISO_GPIO_50] = RTK_PIN_MUX(gpio_50, 0x20, GENMASK(11, 8),
1226		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
1227		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "spdif"),
1228		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "dbg_out1")),
1229	[RTD1319D_ISO_USB_CC1] = RTK_PIN_MUX(usb_cc1, 0x20, GENMASK(15, 12),
1230		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
1231		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "usb_cc1"),
1232		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate")),
1233	[RTD1319D_ISO_GPIO_52] = RTK_PIN_MUX(gpio_52, 0x20, GENMASK(19, 16),
1234		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
1235		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "pll_test_loc0"),
1236		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 16), "sc1_data0"),
1237		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "dbg_out1")),
1238	[RTD1319D_ISO_GPIO_53] = RTK_PIN_MUX(gpio_53, 0x20, GENMASK(23, 20),
1239		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
1240		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "pll_test_loc0"),
1241		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "dbg_out1")),
1242	[RTD1319D_ISO_IR_RX] = RTK_PIN_MUX(ir_rx, 0x20, GENMASK(27, 24),
1243		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
1244		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "ir_rx"),
1245		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "standby_dbg"),
1246		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")),
1247	[RTD1319D_ISO_UR0_RX] = RTK_PIN_MUX(ur0_rx, 0x20, GENMASK(31, 28),
1248		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
1249		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "uart0"),
1250		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")),
1251
1252	[RTD1319D_ISO_UR0_TX] = RTK_PIN_MUX(ur0_tx, 0x24, GENMASK(3, 0),
1253		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
1254		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "uart0"),
1255		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")),
1256	[RTD1319D_ISO_GPIO_57] = RTK_PIN_MUX(gpio_57, 0x24, GENMASK(7, 4),
1257		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
1258		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "tdm_ai_loc0"),
1259		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "ai_loc0"),
1260		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "dmic_loc0"),
1261		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 4), "tp0"),
1262		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 4), "acpu_ejtag_loc2"),
1263		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 4), "vcpu_ejtag_loc2"),
1264		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 4), "secpu_ejtag_loc2"),
1265		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 4), "aucpu_ejtag_loc2"),
1266		RTK_PIN_FUNC(SHIFT_LEFT(0xb, 4), "vtc_i2si_loc0"),
1267		RTK_PIN_FUNC(SHIFT_LEFT(0xc, 4), "vtc_tdm_loc0"),
1268		RTK_PIN_FUNC(SHIFT_LEFT(0xd, 4), "vtc_dmic_loc0"),
1269		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 4), "scpu_ejtag_loc2"),
1270		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "dbg_out0")),
1271	[RTD1319D_ISO_GPIO_58] = RTK_PIN_MUX(gpio_58, 0x24, GENMASK(11, 8),
1272		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
1273		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "tdm_ai_loc0"),
1274		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "ai_loc0"),
1275		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "dmic_loc0"),
1276		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "tp0"),
1277		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 8), "acpu_ejtag_loc2"),
1278		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 8), "vcpu_ejtag_loc2"),
1279		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 8), "secpu_ejtag_loc2"),
1280		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 8), "aucpu_ejtag_loc2"),
1281		RTK_PIN_FUNC(SHIFT_LEFT(0xb, 8), "vtc_i2si_loc0"),
1282		RTK_PIN_FUNC(SHIFT_LEFT(0xc, 8), "vtc_tdm_loc0"),
1283		RTK_PIN_FUNC(SHIFT_LEFT(0xd, 8), "vtc_dmic_loc0"),
1284		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 8), "scpu_ejtag_loc2"),
1285		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "dbg_out0")),
1286	[RTD1319D_ISO_GPIO_59] = RTK_PIN_MUX(gpio_59, 0x24, GENMASK(15, 12),
1287		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
1288		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "tdm_ai_loc0"),
1289		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "ai_loc0"),
1290		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "dmic_loc0"),
1291		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 12), "tp0"),
1292		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 12), "acpu_ejtag_loc2"),
1293		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 12), "vcpu_ejtag_loc2"),
1294		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 12), "secpu_ejtag_loc2"),
1295		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 12), "aucpu_ejtag_loc2"),
1296		RTK_PIN_FUNC(SHIFT_LEFT(0xb, 12), "vtc_i2si_loc0"),
1297		RTK_PIN_FUNC(SHIFT_LEFT(0xc, 12), "vtc_tdm_loc0"),
1298		RTK_PIN_FUNC(SHIFT_LEFT(0xd, 12), "vtc_dmic_loc0"),
1299		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 12), "scpu_ejtag_loc2"),
1300		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "dbg_out0")),
1301	[RTD1319D_ISO_GPIO_60] = RTK_PIN_MUX(gpio_60, 0x24, GENMASK(19, 16),
1302		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
1303		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "tdm_ai_loc0"),
1304		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "ai_loc0"),
1305		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "dmic_loc0"),
1306		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 16), "tp0"),
1307		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 16), "acpu_ejtag_loc2"),
1308		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 16), "vcpu_ejtag_loc2"),
1309		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 16), "secpu_ejtag_loc2"),
1310		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 16), "aucpu_ejtag_loc2"),
1311		RTK_PIN_FUNC(SHIFT_LEFT(0xb, 16), "vtc_i2si_loc0"),
1312		RTK_PIN_FUNC(SHIFT_LEFT(0xc, 16), "vtc_tdm_loc0"),
1313		RTK_PIN_FUNC(SHIFT_LEFT(0xd, 16), "vtc_dmic_loc0"),
1314		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 16), "scpu_ejtag_loc2"),
1315		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "dbg_out0")),
1316	[RTD1319D_ISO_GPIO_61] = RTK_PIN_MUX(gpio_61, 0x24, GENMASK(23, 20),
1317		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
1318		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "ai_loc0"),
1319		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "ao"),
1320		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "dmic_loc0"),
1321		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 20), "tp0"),
1322		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 20), "tp1"),
1323		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 20), "acpu_ejtag_loc2"),
1324		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 20), "vcpu_ejtag_loc2"),
1325		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 20), "secpu_ejtag_loc2"),
1326		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 20), "aucpu_ejtag_loc2"),
1327		RTK_PIN_FUNC(SHIFT_LEFT(0xb, 20), "vtc_i2si_loc0"),
1328		RTK_PIN_FUNC(SHIFT_LEFT(0xe, 20), "scpu_ejtag_loc2"),
1329		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "dbg_out0")),
1330	[RTD1319D_ISO_GPIO_62] = RTK_PIN_MUX(gpio_62, 0x24, GENMASK(27, 24),
1331		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
1332		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "ai_loc0"),
1333		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "ao"),
1334		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 24), "dmic_loc0"),
1335		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 24), "tp0"),
1336		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 24), "tp1"),
1337		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate")),
1338	[RTD1319D_ISO_GPIO_63] = RTK_PIN_MUX(gpio_63, 0x24, GENMASK(31, 28),
1339		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
1340		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "ai_loc0"),
1341		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "ao"),
1342		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 28), "dmic_loc0"),
1343		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 28), "tp0"),
1344		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 28), "tp1"),
1345		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate")),
1346
1347	[RTD1319D_ISO_GPIO_64] = RTK_PIN_MUX(gpio_64, 0x28, GENMASK(3, 0),
1348		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
1349		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "ao"),
1350		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 0), "dmic_loc0"),
1351		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 0), "tp0"),
1352		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 0), "tp1"),
1353		RTK_PIN_FUNC(SHIFT_LEFT(0xb, 0), "vtc_i2so"),
1354		RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate")),
1355
1356	[RTD1319D_ISO_UR2_LOC] = RTK_PIN_MUX(ur2_loc, 0x120, GENMASK(1, 0),
1357		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "uart2_disable"),
1358		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "uart2_loc0"),
1359		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "uart2_loc1")),
1360	[RTD1319D_ISO_GSPI_LOC] = RTK_PIN_MUX(gspi_loc, 0x120, GENMASK(3, 2),
1361		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 2), "gspi_disable"),
1362		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 2), "gspi_loc0"),
1363		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 2), "gspi_loc1")),
1364	[RTD1319D_ISO_HI_WIDTH] = RTK_PIN_MUX(hi_width, 0x120, GENMASK(9, 8),
1365		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "hi_width_disable"),
1366		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "hi_width_1bit")),
1367	[RTD1319D_ISO_SF_EN] = RTK_PIN_MUX(sf_en, 0x120, GENMASK(11, 11),
1368		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 11), "sf_disable"),
1369		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 11), "sf_enable")),
1370	[RTD1319D_ISO_ARM_TRACE_DBG_EN] = RTK_PIN_MUX(arm_trace_dbg_en, 0x120, GENMASK(12, 12),
1371		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "arm_trace_debug_disable"),
1372		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "arm_trace_debug_enable")),
1373	[RTD1319D_ISO_EJTAG_AUCPU_LOC] = RTK_PIN_MUX(ejtag_aucpu_loc, 0x120, GENMASK(16, 14),
1374		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 14), "aucpu_ejtag_disable"),
1375		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 14), "aucpu_ejtag_loc0"),
1376		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 14), "aucpu_ejtag_loc1"),
1377		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 14), "aucpu_ejtag_loc2")),
1378	[RTD1319D_ISO_EJTAG_ACPU_LOC] = RTK_PIN_MUX(ejtag_acpu_loc, 0x120, GENMASK(19, 17),
1379		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 17), "acpu_ejtag_disable"),
1380		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 17), "acpu_ejtag_loc0"),
1381		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 17), "acpu_ejtag_loc1"),
1382		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 17), "acpu_ejtag_loc2")),
1383	[RTD1319D_ISO_EJTAG_VCPU_LOC] = RTK_PIN_MUX(ejtag_vcpu_loc, 0x120, GENMASK(22, 20),
1384		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "vcpu_ejtag_disable"),
1385		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "vcpu_ejtag_loc0"),
1386		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "vcpu_ejtag_loc1"),
1387		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 20), "vcpu_ejtag_loc2")),
1388	[RTD1319D_ISO_EJTAG_SCPU_LOC] = RTK_PIN_MUX(ejtag_scpu_loc, 0x120, GENMASK(25, 23),
1389		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 23), "scpu_ejtag_disable"),
1390		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 23), "scpu_ejtag_loc0"),
1391		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 23), "scpu_ejtag_loc1"),
1392		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 23), "scpu_ejtag_loc2")),
1393	[RTD1319D_ISO_DMIC_LOC] = RTK_PIN_MUX(dmic_loc, 0x120, GENMASK(27, 26),
1394		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 26), "dmic_loc0"),
1395		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 26), "dmic_loc1")),
1396
1397	[RTD1319D_ISO_EJTAG_SECPU_LOC] = RTK_PIN_MUX(ejtag_secpu_loc, 0x124, GENMASK(20, 18),
1398		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 18), "secpu_ejtag_disable"),
1399		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 18), "secpu_ejtag_loc0"),
1400		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 18), "secpu_ejtag_loc1"),
1401		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 18), "secpu_ejtag_loc2")),
1402
1403	[RTD1319D_ISO_VTC_DMIC_LOC] = RTK_PIN_MUX(vtc_dmic_loc, 0x128, GENMASK(1, 0),
1404		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "vtc_dmic_loc_disable"),
1405		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "vtc_dmic_loc0"),
1406		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "vtc_dmic_loc1")),
1407	[RTD1319D_ISO_VTC_TDM_LOC] = RTK_PIN_MUX(vtc_tdm_loc, 0x128, GENMASK(3, 2),
1408		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 2), "vtc_tdm_disable"),
1409		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 2), "vtc_tdm_loc0"),
1410		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 2), "vtc_tdm_loc1")),
1411	[RTD1319D_ISO_VTC_I2SI_LOC] = RTK_PIN_MUX(vtc_i2si_loc, 0x128, GENMASK(5, 4),
1412		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "vtc_i2si_disable"),
1413		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "vtc_i2si_loc0"),
1414		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "vtc_i2si_loc1")),
1415	[RTD1319D_ISO_TDM_AI_LOC] = RTK_PIN_MUX(tdm_ai_loc, 0x128, GENMASK(7, 6),
1416		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 6), "tdm_ai_disable"),
1417		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 6), "tdm_ai_loc0"),
1418		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 6), "tdm_ai_loc1")),
1419	[RTD1319D_ISO_AI_LOC] = RTK_PIN_MUX(ai_loc, 0x128, GENMASK(9, 8),
1420		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "ai_disable"),
1421		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "ai_loc0"),
1422		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "ai_loc1")),
1423	[RTD1319D_ISO_SPDIF_LOC] = RTK_PIN_MUX(spdif_loc, 0x128, GENMASK(11, 10),
1424		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 10), "spdif_disable"),
1425		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 10), "spdif_optical_loc0"),
1426		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 10), "spdif_optical_loc1")),
1427
1428	[RTD1319D_ISO_HIF_EN_LOC] = RTK_PIN_MUX(hif_en_loc, 0x12c, GENMASK(2, 0),
1429		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "hif_disable"),
1430		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 0), "hif_enable")),
1431	[RTD1319D_ISO_SC0_LOC] = RTK_PIN_MUX(sc0_loc, 0x188, GENMASK(9, 8),
1432		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "sc0_data0"),
1433		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "sc0_data1"),
1434		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "sc0_data2")),
1435	[RTD1319D_ISO_SC1_LOC] = RTK_PIN_MUX(sc1_loc, 0x188, GENMASK(11, 10),
1436		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 10), "sc1_data0"),
1437		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 10), "sc1_data1"),
1438		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 10), "sc1_data2")),
1439
1440	[RTD1319D_ISO_TESTMODE] = {0},
1441};
1442
1443static const struct rtd_pin_config_desc rtd1319d_iso_configs[] = {
1444	[RTD1319D_ISO_SCAN_SWITCH] = RTK_PIN_CONFIG(scan_switch, 0x2c, 0, NA, NA, 0, 1, 2, PADDRI_4_8),
1445	[RTD1319D_ISO_GPIO_18] = RTK_PIN_CONFIG(gpio_18, 0x2c, 3, 1, 2, 0, 3, 4, PADDRI_4_8),
1446	[RTD1319D_ISO_GPIO_19] = RTK_PIN_CONFIG(gpio_19, 0x2c, 8, 1, 2, 0, 3, 4, PADDRI_4_8),
1447	[RTD1319D_ISO_GPIO_20] = RTK_PIN_CONFIG(gpio_20, 0x2c, 13, 1, 2, 0, 3, 4, PADDRI_4_8),
1448	[RTD1319D_ISO_GPIO_31] = RTK_PIN_CONFIG(gpio_31, 0x2c, 18, 1, 2, 0, 3, 4, PADDRI_4_8),
1449	[RTD1319D_ISO_GPIO_8] = RTK_PIN_CONFIG(gpio_8, 0x2c, 23, 1, 2, 0, 3, 4, PADDRI_4_8),
1450	[RTD1319D_ISO_GPIO_9] = RTK_PIN_CONFIG(gpio_9, 0x30, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
1451	[RTD1319D_ISO_GPIO_10] = RTK_PIN_CONFIG(gpio_10, 0x30, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
1452	[RTD1319D_ISO_GPIO_11] = RTK_PIN_CONFIG(gpio_11, 0x30, 10, 1, 2, 0, 3, 4, PADDRI_4_8),
1453	[RTD1319D_ISO_GPIO_0] = RTK_PIN_CONFIG(gpio_0, 0x30, 15, 1, 2, 0, 3, 4, PADDRI_4_8),
1454	[RTD1319D_ISO_GPIO_1] = RTK_PIN_CONFIG(gpio_1, 0x30, 20, 1, 2, 0, 3, 4, PADDRI_4_8),
1455	[RTD1319D_ISO_GPIO_5] = RTK_PIN_CONFIG(gpio_5, 0x30, 25, 1, 2, 0, 3, 4, PADDRI_4_8),
1456	[RTD1319D_ISO_GPIO_6] = RTK_PIN_CONFIG(gpio_6, 0x34, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
1457	[RTD1319D_ISO_GPIO_12] = RTK_PIN_CONFIG(gpio_12, 0x34, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
1458	[RTD1319D_ISO_GPIO_13] = RTK_PIN_CONFIG(gpio_13, 0x34, 10, 1, 2, 0, 3, 4, PADDRI_4_8),
1459	[RTD1319D_ISO_GPIO_22] = RTK_PIN_CONFIG(gpio_22, 0x34, 15, 1, 2, 0, 3, 4, PADDRI_4_8),
1460	[RTD1319D_ISO_USB_CC2] = RTK_PIN_CONFIG(usb_cc2, 0x34, 20, NA, NA, 0, 1, 2, PADDRI_4_8),
1461	[RTD1319D_ISO_GPIO_29] = RTK_PIN_CONFIG(gpio_29, 0x34, 23, 1, 2, 0, 3, 4, PADDRI_4_8),
1462	[RTD1319D_ISO_GPIO_46] = RTK_PIN_CONFIG(gpio_46, 0x38, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
1463	[RTD1319D_ISO_GPIO_47] = RTK_PIN_CONFIG(gpio_47, 0x38, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
1464	[RTD1319D_ISO_USB_CC1] = RTK_PIN_CONFIG(usb_cc1, 0x38, 10, NA, NA, 0, 1, 2, PADDRI_4_8),
1465	[RTD1319D_ISO_WD_RSET] = RTK_PIN_CONFIG(wd_rset, 0x38, 13, 1, 2, 0, 3, 4, PADDRI_4_8),
1466	[RTD1319D_ISO_IR_RX] = RTK_PIN_CONFIG(ir_rx, 0x38, 18, 1, 2, 0, 3, 4, PADDRI_4_8),
1467	[RTD1319D_ISO_BOOT_SEL] = RTK_PIN_CONFIG(boot_sel, 0x38, 23, 0, 1, NA, 2, 3, PADDRI_4_8),
1468	[RTD1319D_ISO_RESET_N] = RTK_PIN_CONFIG(reset_n, 0x38, 27, 0, 1, NA, 2, 3, PADDRI_4_8),
1469	[RTD1319D_ISO_TESTMODE] = RTK_PIN_CONFIG(testmode, 0x3c, 0, 0, 1, NA, 2, 3, PADDRI_4_8),
1470	[RTD1319D_ISO_GPIO_40] = RTK_PIN_CONFIG(gpio_40, 0x3c, 4, 0, 1, NA, 2, 12, NA),
1471	[RTD1319D_ISO_GPIO_41] = RTK_PIN_CONFIG(gpio_41, 0x3c, 17, 0, 1, NA, 2, 12, NA),
1472	[RTD1319D_ISO_GPIO_42] = RTK_PIN_CONFIG(gpio_42, 0x40, 0, 0, 1, NA, 2, 12, NA),
1473	[RTD1319D_ISO_GPIO_43] = RTK_PIN_CONFIG(gpio_43, 0x40, 13, 0, 1, NA, 2, 12, NA),
1474	[RTD1319D_ISO_GPIO_44] = RTK_PIN_CONFIG(gpio_44, 0x44, 0, 0, 1, NA, 2, 12, NA),
1475	[RTD1319D_ISO_GPIO_45] = RTK_PIN_CONFIG(gpio_45, 0x44, 13, 0, 1, NA, 2, 12, NA),
1476	[RTD1319D_ISO_EMMC_DATA_0] = RTK_PIN_CONFIG(emmc_data_0, 0x48, 0, 0, 1, NA, 2, 12, NA),
1477	[RTD1319D_ISO_EMMC_DATA_1] = RTK_PIN_CONFIG(emmc_data_1, 0x48, 13, 0, 1, NA, 2, 12, NA),
1478	[RTD1319D_ISO_EMMC_DATA_2] = RTK_PIN_CONFIG(emmc_data_2, 0x4c, 0, 0, 1, NA, 2, 12, NA),
1479	[RTD1319D_ISO_EMMC_DATA_3] = RTK_PIN_CONFIG(emmc_data_3, 0x4c, 13, 0, 1, NA, 2, 12, NA),
1480	[RTD1319D_ISO_EMMC_DATA_4] = RTK_PIN_CONFIG(emmc_data_4, 0x50, 0, 0, 1, NA, 2, 12, NA),
1481	[RTD1319D_ISO_EMMC_DATA_5] = RTK_PIN_CONFIG(emmc_data_5, 0x50, 13, 0, 1, NA, 2, 12, NA),
1482	[RTD1319D_ISO_EMMC_DATA_6] = RTK_PIN_CONFIG(emmc_data_6, 0x54, 0, 0, 1, NA, 2, 12, NA),
1483	[RTD1319D_ISO_EMMC_DATA_7] = RTK_PIN_CONFIG(emmc_data_7, 0x54, 13, 0, 1, NA, 2, 12, NA),
1484	[RTD1319D_ISO_EMMC_DD_SB] = RTK_PIN_CONFIG(emmc_dd_sb, 0x58, 0, 0, 1, NA, 2, 12, NA),
1485	[RTD1319D_ISO_EMMC_RST_N] = RTK_PIN_CONFIG(emmc_rst_n, 0x58, 13, 0, 1, NA, 2, 12, NA),
1486	[RTD1319D_ISO_EMMC_CMD] = RTK_PIN_CONFIG(emmc_cmd, 0x5c, 0, 0, 1, NA, 2, 13, NA),
1487	[RTD1319D_ISO_EMMC_CLK] = RTK_PIN_CONFIG(emmc_clk, 0x5c, 14, 0, 1, NA, 2, 12, NA),
1488	[RTD1319D_ISO_GPIO_80] = RTK_PIN_CONFIG(gpio_80, 0x60, 0, 0, 1, NA, 2, 12, NA),
1489	[RTD1319D_ISO_GPIO_78] = RTK_PIN_CONFIG(gpio_78, 0x60, 13, 0, 1, NA, 2, 12, NA),
1490	[RTD1319D_ISO_GPIO_79] = RTK_PIN_CONFIG(gpio_79, 0x64, 0, 0, 1, NA, 2, 12, NA),
1491	[RTD1319D_ISO_GPIO_81] = RTK_PIN_CONFIG(gpio_81, 0x64, 13, 0, 1, NA, 2, 12, NA),
1492	[RTD1319D_ISO_GPIO_2] = RTK_PIN_CONFIG(gpio_2, 0x64, 26, 1, 2, 0, 3, 4, PADDRI_4_8),
1493	[RTD1319D_ISO_GPIO_3] = RTK_PIN_CONFIG(gpio_3, 0x68, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
1494	[RTD1319D_ISO_GPIO_4] = RTK_PIN_CONFIG(gpio_4, 0x68, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
1495	[RTD1319D_ISO_GPIO_57] = RTK_PIN_CONFIG(gpio_57, 0x68, 10, 1, 2, 0, 3, 4, PADDRI_4_8),
1496	[RTD1319D_ISO_GPIO_58] = RTK_PIN_CONFIG(gpio_58, 0x68, 15, 1, 2, 0, 3, 4, PADDRI_4_8),
1497	[RTD1319D_ISO_GPIO_59] = RTK_PIN_CONFIG(gpio_59, 0x68, 20, 1, 2, 0, 3, 4, PADDRI_4_8),
1498	[RTD1319D_ISO_GPIO_60] = RTK_PIN_CONFIG(gpio_60, 0x68, 25, 1, 2, 0, 3, 4, PADDRI_4_8),
1499	[RTD1319D_ISO_GPIO_61] = RTK_PIN_CONFIG(gpio_61, 0x6c, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
1500	[RTD1319D_ISO_GPIO_62] = RTK_PIN_CONFIG(gpio_62, 0x6c, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
1501	[RTD1319D_ISO_GPIO_63] = RTK_PIN_CONFIG(gpio_63, 0x6c, 10, 1, 2, 0, 3, 4, PADDRI_4_8),
1502	[RTD1319D_ISO_GPIO_64] = RTK_PIN_CONFIG(gpio_64, 0x6c, 15, 1, 2, 0, 3, 4, PADDRI_4_8),
1503	[RTD1319D_ISO_GPIO_7] = RTK_PIN_CONFIG(gpio_7, 0x6c, 20, 1, 2, 0, 3, 4, PADDRI_4_8),
1504	[RTD1319D_ISO_GPIO_16] = RTK_PIN_CONFIG(gpio_16, 0x6c, 25, 1, 2, 0, 3, 4, PADDRI_4_8),
1505	[RTD1319D_ISO_GPIO_17] = RTK_PIN_CONFIG(gpio_17, 0x70, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
1506	[RTD1319D_ISO_GPIO_21] = RTK_PIN_CONFIG(gpio_21, 0x70, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
1507	[RTD1319D_ISO_GPIO_23] = RTK_PIN_CONFIG(gpio_23, 0x70, 10, 1, 2, 0, 3, 4, PADDRI_4_8),
1508	[RTD1319D_ISO_GPIO_50] = RTK_PIN_CONFIG(gpio_50, 0x70, 15, 1, 2, 0, 3, 4, PADDRI_4_8),
1509	[RTD1319D_ISO_HIF_EN] = RTK_PIN_CONFIG(hif_en, 0x74, 0, 0, 1, NA, 2, 12, NA),
1510	[RTD1319D_ISO_HIF_DATA] = RTK_PIN_CONFIG(hif_data, 0x74, 13, 0, 1, NA, 2, 12, NA),
1511	[RTD1319D_ISO_GPIO_33] = RTK_PIN_CONFIG(gpio_33, 0x78, 0, 0, 1, NA, 2, 12, NA),
1512	[RTD1319D_ISO_GPIO_32] = RTK_PIN_CONFIG(gpio_32, 0x78, 13, 0, 1, NA, 2, 12, NA),
1513	[RTD1319D_ISO_HIF_CLK] = RTK_PIN_CONFIG(hif_clk, 0x7c, 0, 0, 1, NA, 2, 12, NA),
1514	[RTD1319D_ISO_HIF_RDY] = RTK_PIN_CONFIG(hif_rdy, 0x7c, 13, 0, 1, NA, 2, 12, NA),
1515	[RTD1319D_ISO_GPIO_14] = RTK_PIN_CONFIG(gpio_14, 0x7c, 26, 1, 2, 0, 3, 4, PADDRI_4_8),
1516	[RTD1319D_ISO_GPIO_15] = RTK_PIN_CONFIG(gpio_15, 0x80, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
1517	[RTD1319D_ISO_GPIO_25] = RTK_PIN_CONFIG(gpio_25, 0x80, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
1518	[RTD1319D_ISO_GPIO_26] = RTK_PIN_CONFIG(gpio_26, 0x80, 10, 1, 2, 0, 3, 4, PADDRI_4_8),
1519	[RTD1319D_ISO_GPIO_27] = RTK_PIN_CONFIG(gpio_27, 0x80, 16, 1, 2, 0, 3, 4, PADDRI_4_8),
1520	[RTD1319D_ISO_GPIO_28] = RTK_PIN_CONFIG(gpio_28, 0x80, 22, 1, 2, 0, 3, 4, PADDRI_4_8),
1521	[RTD1319D_ISO_GPIO_30] = RTK_PIN_CONFIG(gpio_30, 0x84, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
1522	[RTD1319D_ISO_GPIO_34] = RTK_PIN_CONFIG(gpio_34, 0x84, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
1523	[RTD1319D_ISO_GPIO_35] = RTK_PIN_CONFIG(gpio_35, 0x84, 10, 1, 2, 0, 3, 4, PADDRI_4_8),
1524	[RTD1319D_ISO_UR0_TX] = RTK_PIN_CONFIG(ur0_tx, 0x84, 15, 1, 2, 0, 3, 4, PADDRI_4_8),
1525	[RTD1319D_ISO_UR0_RX] = RTK_PIN_CONFIG(ur0_rx, 0x84, 20, 1, 2, 0, 3, 4, PADDRI_4_8),
1526	[RTD1319D_ISO_GPIO_48] = RTK_PIN_CONFIG(gpio_48, 0x84, 25, 1, 2, 0, 3, 4, PADDRI_4_8),
1527	[RTD1319D_ISO_GPIO_49] = RTK_PIN_CONFIG(gpio_49, 0x88, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
1528	[RTD1319D_ISO_GPIO_52] = RTK_PIN_CONFIG(gpio_52, 0x88, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
1529	[RTD1319D_ISO_GPIO_53] = RTK_PIN_CONFIG(gpio_53, 0x88, 10, 1, 2, 0, 3, 4, PADDRI_4_8),
1530};
1531
1532static const struct rtd_pin_sconfig_desc rtd1319d_iso_sconfigs[] = {
1533	RTK_PIN_SCONFIG(gpio_40, 0x3c, 7, 3, 10, 3, 13, 3),
1534	RTK_PIN_SCONFIG(gpio_41, 0x3c, 20, 3, 23, 3, 26, 3),
1535	RTK_PIN_SCONFIG(gpio_42, 0x40, 3, 3, 6, 3, 9, 3),
1536	RTK_PIN_SCONFIG(gpio_43, 0x40, 16, 3, 19, 3, 22, 3),
1537	RTK_PIN_SCONFIG(gpio_44, 0x44, 3, 3, 6, 3, 9, 3),
1538	RTK_PIN_SCONFIG(gpio_45, 0x44, 16, 3, 19, 3, 22, 3),
1539	RTK_PIN_SCONFIG(emmc_data_0, 0x48, 3, 3, 6, 3, 9, 3),
1540	RTK_PIN_SCONFIG(emmc_data_1, 0x48, 16, 3, 19, 3, 22, 3),
1541	RTK_PIN_SCONFIG(emmc_data_2, 0x4c, 3, 3, 6, 3, 9, 3),
1542	RTK_PIN_SCONFIG(emmc_data_3, 0x4c, 16, 3, 19, 3, 22, 3),
1543	RTK_PIN_SCONFIG(emmc_data_4, 0x50, 3, 3, 6, 3, 9, 3),
1544	RTK_PIN_SCONFIG(emmc_data_5, 0x50, 16, 3, 19, 3, 22, 3),
1545	RTK_PIN_SCONFIG(emmc_data_6, 0x54, 3, 3, 6, 3, 9, 3),
1546	RTK_PIN_SCONFIG(emmc_data_7, 0x54, 16, 3, 19, 3, 22, 3),
1547	RTK_PIN_SCONFIG(emmc_dd_sb, 0x58, 3, 3, 6, 3, 9, 3),
1548	RTK_PIN_SCONFIG(emmc_rst_n, 0x58, 16, 3, 19, 3, 22, 3),
1549	RTK_PIN_SCONFIG(emmc_cmd, 0x5c, 3, 3, 6, 3, 9, 3),
1550	RTK_PIN_SCONFIG(emmc_clk, 0x5c, 17, 3, 20, 3, 23, 3),
1551	RTK_PIN_SCONFIG(gpio_80, 0x60, 3, 3, 6, 3, 9, 3),
1552	RTK_PIN_SCONFIG(gpio_78, 0x60, 16, 3, 19, 3, 22, 3),
1553	RTK_PIN_SCONFIG(gpio_79, 0x64, 3, 3, 6, 3, 9, 3),
1554	RTK_PIN_SCONFIG(gpio_81, 0x64, 16, 3, 19, 3, 22, 3),
1555	RTK_PIN_SCONFIG(hif_en, 0x74, 3, 3, 6, 3, 9, 3),
1556	RTK_PIN_SCONFIG(hif_data, 0x74, 16, 3, 19, 3, 22, 3),
1557	RTK_PIN_SCONFIG(gpio_33, 0x78, 3, 3, 6, 3, 9, 3),
1558	RTK_PIN_SCONFIG(gpio_32, 0x78, 16, 3, 19, 3, 22, 3),
1559	RTK_PIN_SCONFIG(hif_clk, 0x7c, 3, 3, 6, 3, 9, 3),
1560	RTK_PIN_SCONFIG(hif_rdy, 0x7c, 16, 3, 19, 3, 22, 3),
1561};
1562
1563static const struct rtd_pinctrl_desc rtd1319d_iso_pinctrl_desc = {
1564	.pins = rtd1319d_iso_pins,
1565	.num_pins = ARRAY_SIZE(rtd1319d_iso_pins),
1566	.groups = rtd1319d_pin_groups,
1567	.num_groups = ARRAY_SIZE(rtd1319d_pin_groups),
1568	.functions = rtd1319d_pin_functions,
1569	.num_functions = ARRAY_SIZE(rtd1319d_pin_functions),
1570	.muxes = rtd1319d_iso_muxes,
1571	.num_muxes = ARRAY_SIZE(rtd1319d_iso_muxes),
1572	.configs = rtd1319d_iso_configs,
1573	.num_configs = ARRAY_SIZE(rtd1319d_iso_configs),
1574	.sconfigs = rtd1319d_iso_sconfigs,
1575	.num_sconfigs = ARRAY_SIZE(rtd1319d_iso_sconfigs),
1576};
1577
1578static int rtd1319d_pinctrl_probe(struct platform_device *pdev)
1579{
1580	return rtd_pinctrl_probe(pdev, &rtd1319d_iso_pinctrl_desc);
1581}
1582
1583static const struct of_device_id rtd1319d_pinctrl_of_match[] = {
1584	{ .compatible = "realtek,rtd1319d-pinctrl", },
1585	{},
1586};
1587MODULE_DEVICE_TABLE(of, rtd1319d_pinctrl_of_match);
1588
1589static struct platform_driver rtd1319d_pinctrl_driver = {
1590	.driver = {
1591		.name = "rtd1319d-pinctrl",
1592		.of_match_table = rtd1319d_pinctrl_of_match,
1593	},
1594	.probe = rtd1319d_pinctrl_probe,
1595};
1596
1597static int __init rtd1319d_pinctrl_init(void)
1598{
1599	return platform_driver_register(&rtd1319d_pinctrl_driver);
1600}
1601arch_initcall(rtd1319d_pinctrl_init);
1602
1603static void __exit rtd1319d_pinctrl_exit(void)
1604{
1605	platform_driver_unregister(&rtd1319d_pinctrl_driver);
1606}
1607module_exit(rtd1319d_pinctrl_exit);
1608
1609MODULE_LICENSE("GPL");
1610MODULE_AUTHOR("Realtek Semiconductor Corporation");
1611MODULE_DESCRIPTION("Realtek DHC SoC RTD1319D pinctrl driver");
1612