Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

pinctrl: realtek: Add pinctrl driver for RTD1319D

Add RTD1319D support using realtek common pinctrl driver.

Signed-off-by: Tzuyi Chang <tychang@realtek.com>
Link: https://lore.kernel.org/r/20230919101117.4097-4-tychang@realtek.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

authored by

Tzuyi Chang and committed by
Linus Walleij
916cc2b7 aa399e6c

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