brintos

brintos / linux-shallow public Read only

0
0
Text · 75.1 KiB · 474c337 Raw
1612 lines · c
1// SPDX-License-Identifier: GPL-2.0-or-later2/*3 * Realtek DHC 1319D pin controller driver4 *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_FUNC804 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