File Index
Files and directories
Sign in
FILE

pinctrl-rtd1619b.c

File preview with syntax highlighting.

linux-6.19.14/drivers/pinctrl/realtek/pinctrl-rtd1619b.c C
   1// SPDX-License-Identifier: GPL-2.0-or-later
   2/*
   3 * Realtek DHC 1619B pin controller driver
   4 *
   5 * Copyright (c) 2023 Realtek Semiconductor Corp.
   6 *
   7 */
   8
   9#include <linux/module.h>
  10#include <linux/of.h>
  11#include <linux/platform_device.h>
  12#include <linux/pinctrl/pinctrl.h>
  13
  14#include "pinctrl-rtd.h"
  15
  16enum rtd16xxb_iso_pins {
  17	RTD1619B_ISO_GPIO_0 = 0,
  18	RTD1619B_ISO_GPIO_1,
  19	RTD1619B_ISO_GPIO_2,
  20	RTD1619B_ISO_GPIO_3,
  21	RTD1619B_ISO_GPIO_4,
  22	RTD1619B_ISO_GPIO_5,
  23	RTD1619B_ISO_GPIO_6,
  24	RTD1619B_ISO_GPIO_7,
  25	RTD1619B_ISO_GPIO_8,
  26	RTD1619B_ISO_GPIO_9,
  27	RTD1619B_ISO_GPIO_10,
  28	RTD1619B_ISO_GPIO_11,
  29	RTD1619B_ISO_GPIO_12,
  30	RTD1619B_ISO_GPIO_13,
  31	RTD1619B_ISO_GPIO_14,
  32	RTD1619B_ISO_GPIO_15,
  33	RTD1619B_ISO_GPIO_16,
  34	RTD1619B_ISO_GPIO_17,
  35	RTD1619B_ISO_GPIO_18,
  36	RTD1619B_ISO_GPIO_19,
  37	RTD1619B_ISO_GPIO_20,
  38	RTD1619B_ISO_GPIO_21,
  39	RTD1619B_ISO_GPIO_22,
  40	RTD1619B_ISO_GPIO_23,
  41	RTD1619B_ISO_USB_CC2,
  42	RTD1619B_ISO_GPIO_25,
  43	RTD1619B_ISO_GPIO_26,
  44	RTD1619B_ISO_GPIO_27,
  45	RTD1619B_ISO_GPIO_28,
  46	RTD1619B_ISO_GPIO_29,
  47	RTD1619B_ISO_GPIO_30,
  48	RTD1619B_ISO_GPIO_31,
  49	RTD1619B_ISO_GPIO_32,
  50	RTD1619B_ISO_GPIO_33,
  51	RTD1619B_ISO_GPIO_34,
  52	RTD1619B_ISO_GPIO_35,
  53	RTD1619B_ISO_HIF_DATA,
  54	RTD1619B_ISO_HIF_EN,
  55	RTD1619B_ISO_HIF_RDY,
  56	RTD1619B_ISO_HIF_CLK,
  57	RTD1619B_ISO_GPIO_40,
  58	RTD1619B_ISO_GPIO_41,
  59	RTD1619B_ISO_GPIO_42,
  60	RTD1619B_ISO_GPIO_43,
  61	RTD1619B_ISO_GPIO_44,
  62	RTD1619B_ISO_GPIO_45,
  63	RTD1619B_ISO_GPIO_46,
  64	RTD1619B_ISO_GPIO_47,
  65	RTD1619B_ISO_GPIO_48,
  66	RTD1619B_ISO_GPIO_49,
  67	RTD1619B_ISO_GPIO_50,
  68	RTD1619B_ISO_USB_CC1,
  69	RTD1619B_ISO_GPIO_52,
  70	RTD1619B_ISO_GPIO_53,
  71	RTD1619B_ISO_IR_RX,
  72	RTD1619B_ISO_UR0_RX,
  73	RTD1619B_ISO_UR0_TX,
  74	RTD1619B_ISO_GPIO_57,
  75	RTD1619B_ISO_GPIO_58,
  76	RTD1619B_ISO_GPIO_59,
  77	RTD1619B_ISO_GPIO_60,
  78	RTD1619B_ISO_GPIO_61,
  79	RTD1619B_ISO_GPIO_62,
  80	RTD1619B_ISO_GPIO_63,
  81	RTD1619B_ISO_GPIO_64,
  82	RTD1619B_ISO_GPIO_65,
  83	RTD1619B_ISO_GPIO_66,
  84	RTD1619B_ISO_GPIO_67,
  85	RTD1619B_ISO_GPIO_68,
  86	RTD1619B_ISO_GPIO_69,
  87	RTD1619B_ISO_GPIO_70,
  88	RTD1619B_ISO_GPIO_71,
  89	RTD1619B_ISO_GPIO_72,
  90	RTD1619B_ISO_GPIO_73,
  91	RTD1619B_ISO_GPIO_74,
  92	RTD1619B_ISO_GPIO_75,
  93	RTD1619B_ISO_GPIO_76,
  94	RTD1619B_ISO_EMMC_CMD,
  95	RTD1619B_ISO_SPI_CE_N,
  96	RTD1619B_ISO_SPI_SCK,
  97	RTD1619B_ISO_SPI_SO,
  98	RTD1619B_ISO_SPI_SI,
  99	RTD1619B_ISO_EMMC_RST_N,
 100	RTD1619B_ISO_EMMC_DD_SB,
 101	RTD1619B_ISO_EMMC_CLK,
 102	RTD1619B_ISO_EMMC_DATA_0,
 103	RTD1619B_ISO_EMMC_DATA_1,
 104	RTD1619B_ISO_EMMC_DATA_2,
 105	RTD1619B_ISO_EMMC_DATA_3,
 106	RTD1619B_ISO_EMMC_DATA_4,
 107	RTD1619B_ISO_EMMC_DATA_5,
 108	RTD1619B_ISO_EMMC_DATA_6,
 109	RTD1619B_ISO_EMMC_DATA_7,
 110	RTD1619B_ISO_UR2_LOC,
 111	RTD1619B_ISO_GSPI_LOC,
 112	RTD1619B_ISO_SDIO_LOC,
 113	RTD1619B_ISO_HI_LOC,
 114	RTD1619B_ISO_HI_WIDTH,
 115	RTD1619B_ISO_SF_EN,
 116	RTD1619B_ISO_ARM_TRACE_DBG_EN,
 117	RTD1619B_ISO_PWM_01_OPEN_DRAIN_EN_LOC0,
 118	RTD1619B_ISO_PWM_23_OPEN_DRAIN_EN_LOC0,
 119	RTD1619B_ISO_PWM_01_OPEN_DRAIN_EN_LOC1,
 120	RTD1619B_ISO_PWM_23_OPEN_DRAIN_EN_LOC1,
 121	RTD1619B_ISO_EJTAG_ACPU_LOC,
 122	RTD1619B_ISO_EJTAG_VCPU_LOC,
 123	RTD1619B_ISO_EJTAG_SCPU_LOC,
 124	RTD1619B_ISO_DMIC_LOC,
 125	RTD1619B_ISO_ISO_GSPI_LOC,
 126	RTD1619B_ISO_EJTAG_VE3_LOC,
 127	RTD1619B_ISO_EJTAG_AUCPU0_LOC,
 128	RTD1619B_ISO_EJTAG_AUCPU1_LOC,
 129};
 130
 131static const struct pinctrl_pin_desc rtd1619b_iso_pins[] = {
 132	PINCTRL_PIN(RTD1619B_ISO_GPIO_0, "gpio_0"),
 133	PINCTRL_PIN(RTD1619B_ISO_GPIO_1, "gpio_1"),
 134	PINCTRL_PIN(RTD1619B_ISO_GPIO_2, "gpio_2"),
 135	PINCTRL_PIN(RTD1619B_ISO_GPIO_3, "gpio_3"),
 136	PINCTRL_PIN(RTD1619B_ISO_GPIO_4, "gpio_4"),
 137	PINCTRL_PIN(RTD1619B_ISO_GPIO_5, "gpio_5"),
 138	PINCTRL_PIN(RTD1619B_ISO_GPIO_6, "gpio_6"),
 139	PINCTRL_PIN(RTD1619B_ISO_GPIO_7, "gpio_7"),
 140	PINCTRL_PIN(RTD1619B_ISO_GPIO_8, "gpio_8"),
 141	PINCTRL_PIN(RTD1619B_ISO_GPIO_9, "gpio_9"),
 142	PINCTRL_PIN(RTD1619B_ISO_GPIO_10, "gpio_10"),
 143	PINCTRL_PIN(RTD1619B_ISO_GPIO_11, "gpio_11"),
 144	PINCTRL_PIN(RTD1619B_ISO_GPIO_12, "gpio_12"),
 145	PINCTRL_PIN(RTD1619B_ISO_GPIO_13, "gpio_13"),
 146	PINCTRL_PIN(RTD1619B_ISO_GPIO_14, "gpio_14"),
 147	PINCTRL_PIN(RTD1619B_ISO_GPIO_15, "gpio_15"),
 148	PINCTRL_PIN(RTD1619B_ISO_GPIO_16, "gpio_16"),
 149	PINCTRL_PIN(RTD1619B_ISO_GPIO_17, "gpio_17"),
 150	PINCTRL_PIN(RTD1619B_ISO_GPIO_18, "gpio_18"),
 151	PINCTRL_PIN(RTD1619B_ISO_GPIO_19, "gpio_19"),
 152	PINCTRL_PIN(RTD1619B_ISO_GPIO_20, "gpio_20"),
 153	PINCTRL_PIN(RTD1619B_ISO_GPIO_21, "gpio_21"),
 154	PINCTRL_PIN(RTD1619B_ISO_GPIO_22, "gpio_22"),
 155	PINCTRL_PIN(RTD1619B_ISO_GPIO_23, "gpio_23"),
 156	PINCTRL_PIN(RTD1619B_ISO_USB_CC2, "usb_cc2"),
 157	PINCTRL_PIN(RTD1619B_ISO_GPIO_25, "gpio_25"),
 158	PINCTRL_PIN(RTD1619B_ISO_GPIO_26, "gpio_26"),
 159	PINCTRL_PIN(RTD1619B_ISO_GPIO_27, "gpio_27"),
 160	PINCTRL_PIN(RTD1619B_ISO_GPIO_28, "gpio_28"),
 161	PINCTRL_PIN(RTD1619B_ISO_GPIO_29, "gpio_29"),
 162	PINCTRL_PIN(RTD1619B_ISO_GPIO_30, "gpio_30"),
 163	PINCTRL_PIN(RTD1619B_ISO_GPIO_31, "gpio_31"),
 164	PINCTRL_PIN(RTD1619B_ISO_GPIO_32, "gpio_32"),
 165	PINCTRL_PIN(RTD1619B_ISO_GPIO_33, "gpio_33"),
 166	PINCTRL_PIN(RTD1619B_ISO_GPIO_34, "gpio_34"),
 167	PINCTRL_PIN(RTD1619B_ISO_GPIO_35, "gpio_35"),
 168	PINCTRL_PIN(RTD1619B_ISO_HIF_DATA, "hif_data"),
 169	PINCTRL_PIN(RTD1619B_ISO_HIF_EN, "hif_en"),
 170	PINCTRL_PIN(RTD1619B_ISO_HIF_RDY, "hif_rdy"),
 171	PINCTRL_PIN(RTD1619B_ISO_HIF_CLK, "hif_clk"),
 172	PINCTRL_PIN(RTD1619B_ISO_GPIO_40, "gpio_40"),
 173	PINCTRL_PIN(RTD1619B_ISO_GPIO_41, "gpio_41"),
 174	PINCTRL_PIN(RTD1619B_ISO_GPIO_42, "gpio_42"),
 175	PINCTRL_PIN(RTD1619B_ISO_GPIO_43, "gpio_43"),
 176	PINCTRL_PIN(RTD1619B_ISO_GPIO_44, "gpio_44"),
 177	PINCTRL_PIN(RTD1619B_ISO_GPIO_45, "gpio_45"),
 178	PINCTRL_PIN(RTD1619B_ISO_GPIO_46, "gpio_46"),
 179	PINCTRL_PIN(RTD1619B_ISO_GPIO_47, "gpio_47"),
 180	PINCTRL_PIN(RTD1619B_ISO_GPIO_48, "gpio_48"),
 181	PINCTRL_PIN(RTD1619B_ISO_GPIO_49, "gpio_49"),
 182	PINCTRL_PIN(RTD1619B_ISO_GPIO_50, "gpio_50"),
 183	PINCTRL_PIN(RTD1619B_ISO_USB_CC1, "usb_cc1"),
 184	PINCTRL_PIN(RTD1619B_ISO_GPIO_52, "gpio_52"),
 185	PINCTRL_PIN(RTD1619B_ISO_GPIO_53, "gpio_53"),
 186	PINCTRL_PIN(RTD1619B_ISO_IR_RX, "ir_rx"),
 187	PINCTRL_PIN(RTD1619B_ISO_UR0_RX, "ur0_rx"),
 188	PINCTRL_PIN(RTD1619B_ISO_UR0_TX, "ur0_tx"),
 189	PINCTRL_PIN(RTD1619B_ISO_GPIO_57, "gpio_57"),
 190	PINCTRL_PIN(RTD1619B_ISO_GPIO_58, "gpio_58"),
 191	PINCTRL_PIN(RTD1619B_ISO_GPIO_59, "gpio_59"),
 192	PINCTRL_PIN(RTD1619B_ISO_GPIO_60, "gpio_60"),
 193	PINCTRL_PIN(RTD1619B_ISO_GPIO_61, "gpio_61"),
 194	PINCTRL_PIN(RTD1619B_ISO_GPIO_62, "gpio_62"),
 195	PINCTRL_PIN(RTD1619B_ISO_GPIO_63, "gpio_63"),
 196	PINCTRL_PIN(RTD1619B_ISO_GPIO_64, "gpio_64"),
 197	PINCTRL_PIN(RTD1619B_ISO_GPIO_65, "gpio_65"),
 198	PINCTRL_PIN(RTD1619B_ISO_GPIO_66, "gpio_66"),
 199	PINCTRL_PIN(RTD1619B_ISO_GPIO_67, "gpio_67"),
 200	PINCTRL_PIN(RTD1619B_ISO_GPIO_68, "gpio_68"),
 201	PINCTRL_PIN(RTD1619B_ISO_GPIO_69, "gpio_69"),
 202	PINCTRL_PIN(RTD1619B_ISO_GPIO_70, "gpio_70"),
 203	PINCTRL_PIN(RTD1619B_ISO_GPIO_71, "gpio_71"),
 204	PINCTRL_PIN(RTD1619B_ISO_GPIO_72, "gpio_72"),
 205	PINCTRL_PIN(RTD1619B_ISO_GPIO_73, "gpio_73"),
 206	PINCTRL_PIN(RTD1619B_ISO_GPIO_74, "gpio_74"),
 207	PINCTRL_PIN(RTD1619B_ISO_GPIO_75, "gpio_75"),
 208	PINCTRL_PIN(RTD1619B_ISO_GPIO_76, "gpio_76"),
 209	PINCTRL_PIN(RTD1619B_ISO_EMMC_CMD, "emmc_cmd"),
 210	PINCTRL_PIN(RTD1619B_ISO_SPI_CE_N, "spi_ce_n"),
 211	PINCTRL_PIN(RTD1619B_ISO_SPI_SCK, "spi_sck"),
 212	PINCTRL_PIN(RTD1619B_ISO_SPI_SO, "spi_so"),
 213	PINCTRL_PIN(RTD1619B_ISO_SPI_SI, "spi_si"),
 214	PINCTRL_PIN(RTD1619B_ISO_EMMC_RST_N, "emmc_rst_n"),
 215	PINCTRL_PIN(RTD1619B_ISO_EMMC_DD_SB, "emmc_dd_sb"),
 216	PINCTRL_PIN(RTD1619B_ISO_EMMC_CLK, "emmc_clk"),
 217	PINCTRL_PIN(RTD1619B_ISO_EMMC_DATA_0, "emmc_data_0"),
 218	PINCTRL_PIN(RTD1619B_ISO_EMMC_DATA_1, "emmc_data_1"),
 219	PINCTRL_PIN(RTD1619B_ISO_EMMC_DATA_2, "emmc_data_2"),
 220	PINCTRL_PIN(RTD1619B_ISO_EMMC_DATA_3, "emmc_data_3"),
 221	PINCTRL_PIN(RTD1619B_ISO_EMMC_DATA_4, "emmc_data_4"),
 222	PINCTRL_PIN(RTD1619B_ISO_EMMC_DATA_5, "emmc_data_5"),
 223	PINCTRL_PIN(RTD1619B_ISO_EMMC_DATA_6, "emmc_data_6"),
 224	PINCTRL_PIN(RTD1619B_ISO_EMMC_DATA_7, "emmc_data_7"),
 225	PINCTRL_PIN(RTD1619B_ISO_UR2_LOC, "ur2_loc"),
 226	PINCTRL_PIN(RTD1619B_ISO_GSPI_LOC, "gspi_loc"),
 227	PINCTRL_PIN(RTD1619B_ISO_SDIO_LOC, "sdio_loc"),
 228	PINCTRL_PIN(RTD1619B_ISO_HI_LOC, "hi_loc"),
 229	PINCTRL_PIN(RTD1619B_ISO_HI_WIDTH, "hi_width"),
 230	PINCTRL_PIN(RTD1619B_ISO_SF_EN, "sf_en"),
 231	PINCTRL_PIN(RTD1619B_ISO_ARM_TRACE_DBG_EN, "arm_trace_dbg_en"),
 232	PINCTRL_PIN(RTD1619B_ISO_PWM_01_OPEN_DRAIN_EN_LOC0, "pwm_01_open_drain_en_loc0"),
 233	PINCTRL_PIN(RTD1619B_ISO_PWM_23_OPEN_DRAIN_EN_LOC0, "pwm_23_open_drain_en_loc0"),
 234	PINCTRL_PIN(RTD1619B_ISO_PWM_01_OPEN_DRAIN_EN_LOC1, "pwm_01_open_drain_en_loc1"),
 235	PINCTRL_PIN(RTD1619B_ISO_PWM_23_OPEN_DRAIN_EN_LOC1, "pwm_23_open_drain_en_loc1"),
 236	PINCTRL_PIN(RTD1619B_ISO_EJTAG_ACPU_LOC, "ejtag_acpu_loc"),
 237	PINCTRL_PIN(RTD1619B_ISO_EJTAG_VCPU_LOC, "ejtag_vcpu_loc"),
 238	PINCTRL_PIN(RTD1619B_ISO_EJTAG_SCPU_LOC, "ejtag_scpu_loc"),
 239	PINCTRL_PIN(RTD1619B_ISO_DMIC_LOC, "dmic_loc"),
 240	PINCTRL_PIN(RTD1619B_ISO_ISO_GSPI_LOC, "iso_gspi_loc"),
 241	PINCTRL_PIN(RTD1619B_ISO_EJTAG_VE3_LOC, "ejtag_ve3_loc"),
 242	PINCTRL_PIN(RTD1619B_ISO_EJTAG_AUCPU0_LOC, "ejtag_aucpu0_loc"),
 243	PINCTRL_PIN(RTD1619B_ISO_EJTAG_AUCPU1_LOC, "ejtag_aucpu1_loc"),
 244};
 245
 246#define DECLARE_RTD1619B_PIN(_pin, _name) \
 247	static const unsigned int rtd1619b_## _name ##_pins[] = { _pin }
 248
 249DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_0, gpio_0);
 250DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_1, gpio_1);
 251DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_2, gpio_2);
 252DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_3, gpio_3);
 253DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_4, gpio_4);
 254DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_5, gpio_5);
 255DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_6, gpio_6);
 256DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_7, gpio_7);
 257DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_8, gpio_8);
 258DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_9, gpio_9);
 259DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_10, gpio_10);
 260DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_11, gpio_11);
 261DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_12, gpio_12);
 262DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_13, gpio_13);
 263DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_14, gpio_14);
 264DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_15, gpio_15);
 265DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_16, gpio_16);
 266DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_17, gpio_17);
 267DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_18, gpio_18);
 268DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_19, gpio_19);
 269DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_20, gpio_20);
 270DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_21, gpio_21);
 271DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_22, gpio_22);
 272DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_23, gpio_23);
 273DECLARE_RTD1619B_PIN(RTD1619B_ISO_USB_CC2, usb_cc2);
 274DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_25, gpio_25);
 275DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_26, gpio_26);
 276DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_27, gpio_27);
 277DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_28, gpio_28);
 278DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_29, gpio_29);
 279DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_30, gpio_30);
 280DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_31, gpio_31);
 281DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_32, gpio_32);
 282DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_33, gpio_33);
 283DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_34, gpio_34);
 284DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_35, gpio_35);
 285DECLARE_RTD1619B_PIN(RTD1619B_ISO_HIF_DATA, hif_data);
 286DECLARE_RTD1619B_PIN(RTD1619B_ISO_HIF_EN, hif_en);
 287DECLARE_RTD1619B_PIN(RTD1619B_ISO_HIF_RDY, hif_rdy);
 288DECLARE_RTD1619B_PIN(RTD1619B_ISO_HIF_CLK, hif_clk);
 289DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_40, gpio_40);
 290DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_41, gpio_41);
 291DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_42, gpio_42);
 292DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_43, gpio_43);
 293DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_44, gpio_44);
 294DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_45, gpio_45);
 295DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_46, gpio_46);
 296DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_47, gpio_47);
 297DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_48, gpio_48);
 298DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_49, gpio_49);
 299DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_50, gpio_50);
 300DECLARE_RTD1619B_PIN(RTD1619B_ISO_USB_CC1, usb_cc1);
 301DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_52, gpio_52);
 302DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_53, gpio_53);
 303DECLARE_RTD1619B_PIN(RTD1619B_ISO_IR_RX, ir_rx);
 304DECLARE_RTD1619B_PIN(RTD1619B_ISO_UR0_RX, ur0_rx);
 305DECLARE_RTD1619B_PIN(RTD1619B_ISO_UR0_TX, ur0_tx);
 306DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_57, gpio_57);
 307DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_58, gpio_58);
 308DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_59, gpio_59);
 309DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_60, gpio_60);
 310DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_61, gpio_61);
 311DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_62, gpio_62);
 312DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_63, gpio_63);
 313DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_64, gpio_64);
 314DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_65, gpio_65);
 315DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_66, gpio_66);
 316DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_67, gpio_67);
 317DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_68, gpio_68);
 318DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_69, gpio_69);
 319DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_70, gpio_70);
 320DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_71, gpio_71);
 321DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_72, gpio_72);
 322DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_73, gpio_73);
 323DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_74, gpio_74);
 324DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_75, gpio_75);
 325DECLARE_RTD1619B_PIN(RTD1619B_ISO_GPIO_76, gpio_76);
 326DECLARE_RTD1619B_PIN(RTD1619B_ISO_EMMC_CMD, emmc_cmd);
 327DECLARE_RTD1619B_PIN(RTD1619B_ISO_SPI_CE_N, spi_ce_n);
 328DECLARE_RTD1619B_PIN(RTD1619B_ISO_SPI_SCK, spi_sck);
 329DECLARE_RTD1619B_PIN(RTD1619B_ISO_SPI_SO, spi_so);
 330DECLARE_RTD1619B_PIN(RTD1619B_ISO_SPI_SI, spi_si);
 331DECLARE_RTD1619B_PIN(RTD1619B_ISO_EMMC_RST_N, emmc_rst_n);
 332DECLARE_RTD1619B_PIN(RTD1619B_ISO_EMMC_DD_SB, emmc_dd_sb);
 333DECLARE_RTD1619B_PIN(RTD1619B_ISO_EMMC_CLK, emmc_clk);
 334DECLARE_RTD1619B_PIN(RTD1619B_ISO_EMMC_DATA_0, emmc_data_0);
 335DECLARE_RTD1619B_PIN(RTD1619B_ISO_EMMC_DATA_1, emmc_data_1);
 336DECLARE_RTD1619B_PIN(RTD1619B_ISO_EMMC_DATA_2, emmc_data_2);
 337DECLARE_RTD1619B_PIN(RTD1619B_ISO_EMMC_DATA_3, emmc_data_3);
 338DECLARE_RTD1619B_PIN(RTD1619B_ISO_EMMC_DATA_4, emmc_data_4);
 339DECLARE_RTD1619B_PIN(RTD1619B_ISO_EMMC_DATA_5, emmc_data_5);
 340DECLARE_RTD1619B_PIN(RTD1619B_ISO_EMMC_DATA_6, emmc_data_6);
 341DECLARE_RTD1619B_PIN(RTD1619B_ISO_EMMC_DATA_7, emmc_data_7);
 342DECLARE_RTD1619B_PIN(RTD1619B_ISO_UR2_LOC, ur2_loc);
 343DECLARE_RTD1619B_PIN(RTD1619B_ISO_GSPI_LOC, gspi_loc);
 344DECLARE_RTD1619B_PIN(RTD1619B_ISO_SDIO_LOC, sdio_loc);
 345DECLARE_RTD1619B_PIN(RTD1619B_ISO_HI_LOC, hi_loc);
 346DECLARE_RTD1619B_PIN(RTD1619B_ISO_HI_WIDTH, hi_width);
 347DECLARE_RTD1619B_PIN(RTD1619B_ISO_SF_EN, sf_en);
 348DECLARE_RTD1619B_PIN(RTD1619B_ISO_ARM_TRACE_DBG_EN, arm_trace_dbg_en);
 349DECLARE_RTD1619B_PIN(RTD1619B_ISO_PWM_01_OPEN_DRAIN_EN_LOC0, pwm_01_open_drain_en_loc0);
 350DECLARE_RTD1619B_PIN(RTD1619B_ISO_PWM_23_OPEN_DRAIN_EN_LOC0, pwm_23_open_drain_en_loc0);
 351DECLARE_RTD1619B_PIN(RTD1619B_ISO_PWM_01_OPEN_DRAIN_EN_LOC1, pwm_01_open_drain_en_loc1);
 352DECLARE_RTD1619B_PIN(RTD1619B_ISO_PWM_23_OPEN_DRAIN_EN_LOC1, pwm_23_open_drain_en_loc1);
 353DECLARE_RTD1619B_PIN(RTD1619B_ISO_EJTAG_ACPU_LOC, ejtag_acpu_loc);
 354DECLARE_RTD1619B_PIN(RTD1619B_ISO_EJTAG_VCPU_LOC, ejtag_vcpu_loc);
 355DECLARE_RTD1619B_PIN(RTD1619B_ISO_EJTAG_SCPU_LOC, ejtag_scpu_loc);
 356DECLARE_RTD1619B_PIN(RTD1619B_ISO_DMIC_LOC, dmic_loc);
 357DECLARE_RTD1619B_PIN(RTD1619B_ISO_ISO_GSPI_LOC, iso_gspi_loc);
 358DECLARE_RTD1619B_PIN(RTD1619B_ISO_EJTAG_VE3_LOC, ejtag_ve3_loc);
 359DECLARE_RTD1619B_PIN(RTD1619B_ISO_EJTAG_AUCPU0_LOC, ejtag_aucpu0_loc);
 360DECLARE_RTD1619B_PIN(RTD1619B_ISO_EJTAG_AUCPU1_LOC, ejtag_aucpu1_loc);
 361
 362#define RTD1619B_GROUP(_name) \
 363	{ \
 364		.name = # _name, \
 365		.pins = rtd1619b_ ## _name ## _pins, \
 366		.num_pins = ARRAY_SIZE(rtd1619b_ ## _name ## _pins), \
 367	}
 368
 369static const struct rtd_pin_group_desc rtd1619b_pin_groups[] = {
 370	RTD1619B_GROUP(gpio_0),
 371	RTD1619B_GROUP(gpio_1),
 372	RTD1619B_GROUP(gpio_2),
 373	RTD1619B_GROUP(gpio_3),
 374	RTD1619B_GROUP(gpio_4),
 375	RTD1619B_GROUP(gpio_5),
 376	RTD1619B_GROUP(gpio_6),
 377	RTD1619B_GROUP(gpio_7),
 378	RTD1619B_GROUP(gpio_8),
 379	RTD1619B_GROUP(gpio_9),
 380	RTD1619B_GROUP(gpio_10),
 381	RTD1619B_GROUP(gpio_11),
 382	RTD1619B_GROUP(gpio_12),
 383	RTD1619B_GROUP(gpio_13),
 384	RTD1619B_GROUP(gpio_14),
 385	RTD1619B_GROUP(gpio_15),
 386	RTD1619B_GROUP(gpio_16),
 387	RTD1619B_GROUP(gpio_17),
 388	RTD1619B_GROUP(gpio_18),
 389	RTD1619B_GROUP(gpio_19),
 390	RTD1619B_GROUP(gpio_20),
 391	RTD1619B_GROUP(gpio_21),
 392	RTD1619B_GROUP(gpio_22),
 393	RTD1619B_GROUP(gpio_23),
 394	RTD1619B_GROUP(usb_cc2),
 395	RTD1619B_GROUP(gpio_25),
 396	RTD1619B_GROUP(gpio_26),
 397	RTD1619B_GROUP(gpio_27),
 398	RTD1619B_GROUP(gpio_28),
 399	RTD1619B_GROUP(gpio_29),
 400	RTD1619B_GROUP(gpio_30),
 401	RTD1619B_GROUP(gpio_31),
 402	RTD1619B_GROUP(gpio_32),
 403	RTD1619B_GROUP(gpio_33),
 404	RTD1619B_GROUP(gpio_34),
 405	RTD1619B_GROUP(gpio_35),
 406	RTD1619B_GROUP(hif_data),
 407	RTD1619B_GROUP(hif_en),
 408	RTD1619B_GROUP(hif_rdy),
 409	RTD1619B_GROUP(hif_clk),
 410	RTD1619B_GROUP(gpio_40),
 411	RTD1619B_GROUP(gpio_41),
 412	RTD1619B_GROUP(gpio_42),
 413	RTD1619B_GROUP(gpio_43),
 414	RTD1619B_GROUP(gpio_44),
 415	RTD1619B_GROUP(gpio_45),
 416	RTD1619B_GROUP(gpio_46),
 417	RTD1619B_GROUP(gpio_47),
 418	RTD1619B_GROUP(gpio_48),
 419	RTD1619B_GROUP(gpio_49),
 420	RTD1619B_GROUP(gpio_50),
 421	RTD1619B_GROUP(usb_cc1),
 422	RTD1619B_GROUP(gpio_52),
 423	RTD1619B_GROUP(gpio_53),
 424	RTD1619B_GROUP(ir_rx),
 425	RTD1619B_GROUP(ur0_rx),
 426	RTD1619B_GROUP(ur0_tx),
 427	RTD1619B_GROUP(gpio_57),
 428	RTD1619B_GROUP(gpio_58),
 429	RTD1619B_GROUP(gpio_59),
 430	RTD1619B_GROUP(gpio_60),
 431	RTD1619B_GROUP(gpio_61),
 432	RTD1619B_GROUP(gpio_62),
 433	RTD1619B_GROUP(gpio_63),
 434	RTD1619B_GROUP(gpio_64),
 435	RTD1619B_GROUP(gpio_65),
 436	RTD1619B_GROUP(gpio_66),
 437	RTD1619B_GROUP(gpio_67),
 438	RTD1619B_GROUP(gpio_68),
 439	RTD1619B_GROUP(gpio_69),
 440	RTD1619B_GROUP(gpio_70),
 441	RTD1619B_GROUP(gpio_71),
 442	RTD1619B_GROUP(gpio_72),
 443	RTD1619B_GROUP(gpio_73),
 444	RTD1619B_GROUP(gpio_74),
 445	RTD1619B_GROUP(gpio_75),
 446	RTD1619B_GROUP(gpio_76),
 447	RTD1619B_GROUP(emmc_cmd),
 448	RTD1619B_GROUP(spi_ce_n),
 449	RTD1619B_GROUP(spi_sck),
 450	RTD1619B_GROUP(spi_so),
 451	RTD1619B_GROUP(spi_si),
 452	RTD1619B_GROUP(emmc_rst_n),
 453	RTD1619B_GROUP(emmc_dd_sb),
 454	RTD1619B_GROUP(emmc_clk),
 455	RTD1619B_GROUP(emmc_data_0),
 456	RTD1619B_GROUP(emmc_data_1),
 457	RTD1619B_GROUP(emmc_data_2),
 458	RTD1619B_GROUP(emmc_data_3),
 459	RTD1619B_GROUP(emmc_data_4),
 460	RTD1619B_GROUP(emmc_data_5),
 461	RTD1619B_GROUP(emmc_data_6),
 462	RTD1619B_GROUP(emmc_data_7),
 463	RTD1619B_GROUP(ur2_loc),
 464	RTD1619B_GROUP(gspi_loc),
 465	RTD1619B_GROUP(sdio_loc),
 466	RTD1619B_GROUP(hi_loc),
 467	RTD1619B_GROUP(hi_width),
 468	RTD1619B_GROUP(sf_en),
 469	RTD1619B_GROUP(arm_trace_dbg_en),
 470	RTD1619B_GROUP(pwm_01_open_drain_en_loc0),
 471	RTD1619B_GROUP(pwm_23_open_drain_en_loc0),
 472	RTD1619B_GROUP(pwm_01_open_drain_en_loc1),
 473	RTD1619B_GROUP(pwm_23_open_drain_en_loc1),
 474	RTD1619B_GROUP(ejtag_acpu_loc),
 475	RTD1619B_GROUP(ejtag_vcpu_loc),
 476	RTD1619B_GROUP(ejtag_scpu_loc),
 477	RTD1619B_GROUP(dmic_loc),
 478	RTD1619B_GROUP(iso_gspi_loc),
 479	RTD1619B_GROUP(ejtag_ve3_loc),
 480	RTD1619B_GROUP(ejtag_aucpu0_loc),
 481	RTD1619B_GROUP(ejtag_aucpu1_loc),
 482};
 483
 484static const char * const rtd1619b_gpio_groups[] = {
 485	"gpio_0", "gpio_1", "gpio_2", "gpio_3", "gpio_4",
 486	"gpio_5", "gpio_6", "gpio_7", "gpio_8", "gpio_9",
 487	"gpio_10", "gpio_11", "gpio_12", "gpio_13", "gpio_14",
 488	"gpio_15", "gpio_16", "gpio_17", "gpio_18", "gpio_19",
 489	"gpio_20", "gpio_21", "gpio_22", "gpio_23", "usb_cc2",
 490	"gpio_25", "gpio_26", "gpio_27", "gpio_28", "gpio_29",
 491	"gpio_30", "gpio_31", "gpio_32", "gpio_33", "gpio_34",
 492	"gpio_35", "hif_data", "hif_en", "hif_rdy", "hif_clk",
 493	"gpio_40", "gpio_41", "gpio_42", "gpio_43", "gpio_44",
 494	"gpio_45", "gpio_46", "gpio_47", "gpio_48", "gpio_49",
 495	"gpio_50", "usb_cc1", "gpio_52", "gpio_53", "ir_rx",
 496	"ur0_rx", "ur0_tx", "gpio_57", "gpio_58", "gpio_59",
 497	"gpio_60", "gpio_61", "gpio_62", "gpio_63", "gpio_64",
 498	"gpio_65", "gpio_66", "gpio_67", "gpio_68", "gpio_69",
 499	"gpio_70", "gpio_71", "gpio_72", "gpio_73", "gpio_74",
 500	"gpio_75", "gpio_76", "emmc_cmd", "spi_ce_n", "spi_sck",
 501	"spi_so", "spi_si"};
 502static const char * const rtd1619b_nf_groups[] = {
 503	"emmc_rst_n", "emmc_clk", "emmc_cmd", "emmc_data_0", "emmc_data_1",
 504	"emmc_data_2", "emmc_data_3", "emmc_data_4",
 505	"emmc_data_5", "emmc_data_6", "emmc_data_7", "spi_ce_n",
 506	"spi_sck", "spi_so", "spi_si" };
 507static const char * const rtd1619b_nf_spi_groups[] = {
 508	"emmc_data_0", "emmc_data_1",
 509	"emmc_data_2", "emmc_data_3", "emmc_data_4",
 510	"emmc_data_5" };
 511static const char * const rtd1619b_spi_groups[] = {
 512	"spi_ce_n", "spi_sck", "spi_so", "spi_si" };
 513static const char * const rtd1619b_emmc_groups[] = {
 514	"emmc_rst_n", "emmc_clk", "emmc_data_0", "emmc_data_1",
 515	"emmc_data_2", "emmc_data_3", "emmc_data_4",
 516	"emmc_data_5", "emmc_data_6", "emmc_data_7",
 517	"emmc_dd_sb", "emmc_cmd"};
 518
 519static const char * const rtd1619b_pmic_groups[] = { "spi_ce_n" };
 520static const char * const rtd1619b_spdif_groups[] = { "gpio_50" };
 521static const char * const rtd1619b_spdif_coaxial_groups[] = { "gpio_1" };
 522static const char * const rtd1619b_spdif_optical_loc0_groups[] = { "gpio_6" };
 523static const char * const rtd1619b_spdif_optical_loc1_groups[] = { "gpio_21" };
 524
 525static const char * const rtd1619b_emmc_spi_groups[] = {
 526	"gpio_1", "gpio_2", "gpio_3", "gpio_4", "gpio_5", "gpio_6" };
 527static const char * const rtd1619b_sc1_groups[] = {
 528	"gpio_2", "gpio_3", "gpio_4", "gpio_5" };
 529static const char * const rtd1619b_uart0_groups[] = { "ur0_rx", "ur0_tx" };
 530static const char * const rtd1619b_uart1_groups[] = {
 531	"gpio_8", "gpio_9", "gpio_10", "gpio_11" };
 532static const char * const rtd1619b_uart2_loc0_groups[] = {
 533	"gpio_18", "gpio_19", "gpio_20", "gpio_31", "ur2_loc" };
 534static const char * const rtd1619b_uart2_loc1_groups[] = {
 535	"gpio_25", "gpio_26", "gpio_27", "gpio_28", "ur2_loc" };
 536static const char * const rtd1619b_gspi_loc1_groups[] = {
 537	"gpio_8", "gpio_9", "gpio_10", "gpio_11", "gspi_loc" };
 538static const char * const rtd1619b_iso_gspi_loc1_groups[] = {
 539	"gpio_8", "gpio_9", "gpio_10", "gpio_11", "iso_gspi_loc" };
 540static const char * const rtd1619b_i2c0_groups[] = { "gpio_12", "gpio_13" };
 541static const char * const rtd1619b_i2c1_groups[] = { "gpio_16", "gpio_17" };
 542static const char * const rtd1619b_i2c3_groups[] = { "gpio_63", "gpio_64" };
 543static const char * const rtd1619b_i2c4_groups[] = { "gpio_34", "gpio_35" };
 544static const char * const rtd1619b_i2c5_groups[] = { "gpio_29", "gpio_46" };
 545static const char * const rtd1619b_pwm0_groups[] = { "gpio_20", "gpio_26" };
 546static const char * const rtd1619b_pwm1_groups[] = { "gpio_21", "gpio_27" };
 547static const char * const rtd1619b_pwm2_groups[] = { "gpio_22", "gpio_28" };
 548static const char * const rtd1619b_pwm3_groups[] = { "gpio_23", "gpio_47" };
 549static const char * const rtd1619b_etn_led_groups[] = { "gpio_14", "gpio_15", "gpio_23" };
 550static const char * const rtd1619b_etn_phy_groups[] = { "gpio_14", "gpio_15" };
 551static const char * const rtd1619b_etn_clk_groups[] = { "gpio_14" };
 552static const char * const rtd1619b_sc0_groups[] = {
 553	"gpio_18", "gpio_19", "gpio_20", "gpio_31" };
 554static const char * const rtd1619b_vfd_groups[] = {
 555	"gpio_26", "gpio_27", "gpio_28" };
 556
 557static const char * const rtd1619b_gspi_loc0_groups[] = {
 558	"gpio_18", "gpio_19", "gpio_20", "gpio_31", "gspi_loc" };
 559static const char * const rtd1619b_iso_gspi_loc0_groups[] = {
 560	"gpio_18", "gpio_19", "gpio_20", "gpio_31", "iso_gspi_loc" };
 561static const char * const rtd1619b_pcie1_groups[] = { "gpio_25" };
 562static const char * const rtd1619b_pcie2_groups[] = { "gpio_52" };
 563static const char * const rtd1619b_sd_groups[] = {
 564	"gpio_32", "gpio_33", "gpio_34", "gpio_35", "hif_data",
 565	"hif_en", "hif_rdy", "hif_clk" };
 566static const char * const rtd1619b_sdio_loc0_groups[] = {
 567	"gpio_32", "gpio_33", "hif_data", "hif_en",
 568	"hif_rdy", "hif_clk", "sdio_loc" };
 569static const char * const rtd1619b_sdio_loc1_groups[] = {
 570	"gpio_40", "gpio_41", "gpio_42", "gpio_43", "gpio_44",
 571	"gpio_45", "sdio_loc" };
 572static const char * const rtd1619b_hi_groups[] = {
 573	"hif_data", "hif_en", "hif_rdy", "hif_clk" };
 574static const char * const rtd1619b_hi_m_groups[] = {
 575	"hif_data", "hif_en", "hif_rdy", "hif_clk" };
 576static const char * const rtd1619b_dc_fan_groups[] = { "gpio_47" };
 577static const char * const rtd1619b_pll_test_loc0_groups[] = { "gpio_52", "gpio_53" };
 578static const char * const rtd1619b_pll_test_loc1_groups[] = { "gpio_48", "gpio_49" };
 579static const char * const rtd1619b_tdm_ai_loc0_groups[] = {
 580	"gpio_57", "gpio_58", "gpio_59", "gpio_60" };
 581static const char * const rtd1619b_tdm_ai_loc1_groups[] = {
 582	"hif_data", "hif_en", "hif_rdy", "hif_clk" };
 583static const char * const rtd1619b_dmic_loc0_groups[] = {
 584	"gpio_57", "gpio_58", "gpio_59", "gpio_60", "gpio_61",
 585	"gpio_62", "gpio_63", "gpio_64", "dmic_loc"};
 586static const char * const rtd1619b_dmic_loc1_groups[] = {
 587	"gpio_32", "gpio_33", "gpio_34", "gpio_35", "hif_data",
 588	"hif_en", "hif_rdy", "hif_clk", "dmic_loc" };
 589static const char * const rtd1619b_ai_loc0_groups[] = {
 590	"gpio_57", "gpio_58", "gpio_59", "gpio_60", "gpio_61",
 591	"gpio_62", "gpio_63" };
 592static const char * const rtd1619b_ai_loc1_groups[] = {
 593	"gpio_32", "gpio_33", "gpio_34", "hif_data",
 594	"hif_en", "hif_rdy", "hif_clk"};
 595static const char * const rtd1619b_tp0_groups[] = {
 596	"gpio_66", "gpio_67", "gpio_68", "gpio_69",
 597	"gpio_70", "gpio_71", "gpio_72", "gpio_73", "gpio_74",
 598	"gpio_75", "gpio_76" };
 599static const char * const rtd1619b_tp1_groups[] = {
 600	"gpio_69", "gpio_70", "gpio_71", "gpio_72" };
 601static const char * const rtd1619b_ao_groups[] = {
 602	"gpio_66", "gpio_67", "gpio_68", "gpio_69",
 603	"gpio_70", "gpio_71", "gpio_72" };
 604static const char * const rtd1619b_uart2_disable_groups[] = { "ur2_loc" };
 605static const char * const rtd1619b_gspi_disable_groups[] = { "gspi_loc" };
 606static const char * const rtd1619b_sdio_disable_groups[] = { "sdio_loc" };
 607static const char * const rtd1619b_hi_loc_disable_groups[] = { "hi_loc" };
 608static const char * const rtd1619b_hi_loc0_groups[] = { "hi_loc" };
 609static const char * const rtd1619b_hi_width_disable_groups[] = { "hi_width" };
 610static const char * const rtd1619b_hi_width_1bit_groups[] = { "hi_width" };
 611
 612static const char * const rtd1619b_vtc_i2si_loc0_groups[] = {
 613	"gpio_32", "hif_data", "hif_en", "hif_rdy", "hif_clk" };
 614static const char * const rtd1619b_vtc_tdm_loc0_groups[] = {
 615	"hif_data", "hif_en", "hif_rdy", "hif_clk" };
 616static const char * const rtd1619b_vtc_dmic_loc0_groups[] = {
 617	"hif_data", "hif_en", "hif_rdy", "hif_clk" };
 618static const char * const rtd1619b_vtc_i2si_loc1_groups[] = {
 619	"gpio_57", "gpio_58", "gpio_59", "gpio_60", "gpio_61" };
 620static const char * const rtd1619b_vtc_tdm_loc1_groups[] = {
 621	"gpio_57", "gpio_58", "gpio_59", "gpio_60" };
 622static const char * const rtd1619b_vtc_dmic_loc1_groups[] = {
 623	"gpio_57", "gpio_58", "gpio_59", "gpio_60" };
 624static const char * const rtd1619b_vtc_i2so_groups[] = {
 625	"gpio_66", "gpio_67", "gpio_68", "gpio_69" };
 626static const char * const rtd1619b_ve3_ejtag_loc0_groups[] = {
 627	"gpio_2", "gpio_3", "gpio_4",
 628	"gpio_5", "gpio_6", "ejtag_ve3_loc" };
 629static const char * const rtd1619b_aucpu0_ejtag_loc0_groups[] = {
 630	"gpio_2", "gpio_3", "gpio_4",
 631	"gpio_5", "gpio_6", "ejtag_aucpu0_loc" };
 632static const char * const rtd1619b_aucpu1_ejtag_loc0_groups[] = {
 633	"gpio_2", "gpio_3", "gpio_4",
 634	"gpio_5", "gpio_6", "ejtag_aucpu1_loc" };
 635static const char * const rtd1619b_ve3_ejtag_loc1_groups[] = {
 636	"gpio_32", "gpio_33", "hif_data", "hif_en",
 637	"hif_clk", "ejtag_ve3_loc" };
 638static const char * const rtd1619b_aucpu0_ejtag_loc1_groups[] = {
 639	"gpio_32", "gpio_33", "hif_data", "hif_en",
 640	"hif_clk", "ejtag_aucpu0_loc" };
 641static const char * const rtd1619b_aucpu1_ejtag_loc1_groups[] = {
 642	"gpio_32", "gpio_33", "hif_data", "hif_en",
 643	"hif_clk", "ejtag_aucpu1_loc" };
 644
 645static const char * const rtd1619b_ve3_ejtag_loc2_groups[] = {
 646	"gpio_71", "gpio_72", "gpio_73", "gpio_74",
 647	"gpio_75", "gpio_76", "ejtag_ve3_loc" };
 648static const char * const rtd1619b_aucpu0_ejtag_loc2_groups[] = {
 649	"gpio_71", "gpio_72", "gpio_73", "gpio_74",
 650	"gpio_75", "gpio_76", "ejtag_aucpu0_loc" };
 651static const char * const rtd1619b_aucpu1_ejtag_loc2_groups[] = {
 652	"gpio_71", "gpio_72", "gpio_73", "gpio_74",
 653	"gpio_75", "gpio_76", "ejtag_aucpu1_loc" };
 654
 655static const char * const rtd1619b_scpu_ejtag_loc0_groups[] = {
 656	"gpio_2", "gpio_3", "gpio_4",
 657	"gpio_5", "gpio_6", "ejtag_scpu_loc" };
 658static const char * const rtd1619b_acpu_ejtag_loc0_groups[] = {
 659	"gpio_2", "gpio_3", "gpio_4",
 660	"gpio_5", "gpio_6", "ejtag_acpu_loc" };
 661static const char * const rtd1619b_vcpu_ejtag_loc0_groups[] = {
 662	"gpio_2", "gpio_3", "gpio_4",
 663	"gpio_5", "gpio_6", "ejtag_vcpu_loc" };
 664static const char * const rtd1619b_scpu_ejtag_loc1_groups[] = {
 665	"gpio_32", "gpio_33", "hif_data", "hif_en",
 666	"hif_clk", "ejtag_scpu_loc" };
 667static const char * const rtd1619b_acpu_ejtag_loc1_groups[] = {
 668	"gpio_32", "gpio_33", "hif_data",  "hif_en",
 669	"hif_clk", "ejtag_acpu_loc" };
 670static const char * const rtd1619b_vcpu_ejtag_loc1_groups[] = {
 671	"gpio_32", "gpio_33", "hif_data", "hif_en",
 672	"hif_clk", "ejtag_vcpu_loc" };
 673
 674static const char * const rtd1619b_scpu_ejtag_loc2_groups[] = {
 675	"gpio_71", "gpio_72", "gpio_73", "gpio_74",
 676	"gpio_75", "gpio_76", "ejtag_scpu_loc" };
 677static const char * const rtd1619b_acpu_ejtag_loc2_groups[] = {
 678	"gpio_71", "gpio_72", "gpio_73", "gpio_74",
 679	"gpio_75", "gpio_76", "ejtag_acpu_loc" };
 680static const char * const rtd1619b_vcpu_ejtag_loc2_groups[] = {
 681	"gpio_71", "gpio_72", "gpio_73", "gpio_74",
 682	"gpio_75", "gpio_76", "ejtag_vcpu_loc"};
 683static const char * const rtd1619b_ve3_ejtag_disable_groups[] = { "ejtag_ve3_loc" };
 684static const char * const rtd1619b_aucpu0_ejtag_disable_groups[] = { "ejtag_aucpu0_loc" };
 685static const char * const rtd1619b_aucpu1_ejtag_disable_groups[] = { "ejtag_aucpu1_loc" };
 686
 687static const char * const rtd1619b_acpu_ejtag_disable_groups[] = { "ejtag_acpu_loc" };
 688static const char * const rtd1619b_vcpu_ejtag_disable_groups[] = { "ejtag_vcpu_loc" };
 689static const char * const rtd1619b_scpu_ejtag_disable_groups[] = { "ejtag_scpu_loc" };
 690static const char * const rtd1619b_sf_disable_groups[] = { "sf_en" };
 691static const char * const rtd1619b_sf_enable_groups[] = { "sf_en" };
 692static const char * const rtd1619b_iso_gspi_disable_groups[] = { "iso_gspi_loc" };
 693static const char * const rtd1619b_arm_trace_debug_disable_groups[] = { "arm_trace_dbg_en" };
 694static const char * const rtd1619b_arm_trace_debug_enable_groups[] = { "arm_trace_dbg_en" };
 695static const char * const rtd1619b_pwm_normal_groups[] = {
 696	"pwm_01_open_drain_en_loc0", "pwm_23_open_drain_en_loc0",
 697	"pwm_01_open_drain_en_loc1", "pwm_23_open_drain_en_loc1" };
 698static const char * const rtd1619b_pwm_open_drain_groups[] = {
 699	"pwm_01_open_drain_en_loc0", "pwm_23_open_drain_en_loc0",
 700	"pwm_01_open_drain_en_loc1", "pwm_23_open_drain_en_loc1" };
 701static const char * const rtd1619b_standby_dbg_groups[] = {
 702	"gpio_2", "gpio_3", "ir_rx" };
 703
 704static const char * const rtd1619b_usb_cc1_groups[] = { "usb_cc1" };
 705static const char * const rtd1619b_usb_cc2_groups[] = { "usb_cc2" };
 706static const char * const rtd1619b_ir_rx_groups[] = { "ir_rx" };
 707static const char * const rtd1619b_test_loop_dis_groups[] = { "gpio_50" };
 708
 709#define RTD1619B_FUNC(_name) \
 710	{ \
 711		.name = # _name, \
 712		.groups = rtd1619b_ ## _name ## _groups, \
 713		.num_groups = ARRAY_SIZE(rtd1619b_ ## _name ## _groups), \
 714	}
 715
 716static const struct rtd_pin_func_desc rtd1619b_pin_functions[] = {
 717	RTD1619B_FUNC(gpio),
 718	RTD1619B_FUNC(nf),
 719	RTD1619B_FUNC(nf_spi),
 720	RTD1619B_FUNC(spi),
 721	RTD1619B_FUNC(pmic),
 722	RTD1619B_FUNC(spdif),
 723	RTD1619B_FUNC(spdif_coaxial),
 724	RTD1619B_FUNC(spdif_optical_loc0),
 725	RTD1619B_FUNC(spdif_optical_loc1),
 726	RTD1619B_FUNC(emmc_spi),
 727	RTD1619B_FUNC(emmc),
 728	RTD1619B_FUNC(sc1),
 729	RTD1619B_FUNC(uart0),
 730	RTD1619B_FUNC(uart1),
 731	RTD1619B_FUNC(uart2_loc0),
 732	RTD1619B_FUNC(uart2_loc1),
 733	RTD1619B_FUNC(gspi_loc1),
 734	RTD1619B_FUNC(iso_gspi_loc1),
 735	RTD1619B_FUNC(i2c0),
 736	RTD1619B_FUNC(i2c1),
 737	RTD1619B_FUNC(i2c3),
 738	RTD1619B_FUNC(i2c4),
 739	RTD1619B_FUNC(i2c5),
 740	RTD1619B_FUNC(pwm0),
 741	RTD1619B_FUNC(pwm1),
 742	RTD1619B_FUNC(pwm2),
 743	RTD1619B_FUNC(pwm3),
 744	RTD1619B_FUNC(etn_led),
 745	RTD1619B_FUNC(etn_phy),
 746	RTD1619B_FUNC(etn_clk),
 747	RTD1619B_FUNC(sc0),
 748	RTD1619B_FUNC(vfd),
 749	RTD1619B_FUNC(gspi_loc0),
 750	RTD1619B_FUNC(iso_gspi_loc0),
 751	RTD1619B_FUNC(pcie1),
 752	RTD1619B_FUNC(pcie2),
 753	RTD1619B_FUNC(sd),
 754	RTD1619B_FUNC(sdio_loc0),
 755	RTD1619B_FUNC(sdio_loc1),
 756	RTD1619B_FUNC(hi),
 757	RTD1619B_FUNC(hi_m),
 758	RTD1619B_FUNC(dc_fan),
 759	RTD1619B_FUNC(pll_test_loc0),
 760	RTD1619B_FUNC(pll_test_loc1),
 761	RTD1619B_FUNC(usb_cc1),
 762	RTD1619B_FUNC(usb_cc2),
 763	RTD1619B_FUNC(ir_rx),
 764	RTD1619B_FUNC(tdm_ai_loc0),
 765	RTD1619B_FUNC(tdm_ai_loc1),
 766	RTD1619B_FUNC(dmic_loc0),
 767	RTD1619B_FUNC(dmic_loc1),
 768	RTD1619B_FUNC(ai_loc0),
 769	RTD1619B_FUNC(ai_loc1),
 770	RTD1619B_FUNC(tp0),
 771	RTD1619B_FUNC(tp1),
 772	RTD1619B_FUNC(ao),
 773	RTD1619B_FUNC(uart2_disable),
 774	RTD1619B_FUNC(gspi_disable),
 775	RTD1619B_FUNC(sdio_disable),
 776	RTD1619B_FUNC(hi_loc_disable),
 777	RTD1619B_FUNC(hi_loc0),
 778	RTD1619B_FUNC(hi_width_disable),
 779	RTD1619B_FUNC(hi_width_1bit),
 780	RTD1619B_FUNC(vtc_i2si_loc0),
 781	RTD1619B_FUNC(vtc_tdm_loc0),
 782	RTD1619B_FUNC(vtc_dmic_loc0),
 783	RTD1619B_FUNC(vtc_i2si_loc1),
 784	RTD1619B_FUNC(vtc_tdm_loc1),
 785	RTD1619B_FUNC(vtc_dmic_loc1),
 786	RTD1619B_FUNC(vtc_i2so),
 787	RTD1619B_FUNC(ve3_ejtag_loc0),
 788	RTD1619B_FUNC(aucpu0_ejtag_loc0),
 789	RTD1619B_FUNC(aucpu1_ejtag_loc0),
 790	RTD1619B_FUNC(ve3_ejtag_loc1),
 791	RTD1619B_FUNC(aucpu0_ejtag_loc1),
 792	RTD1619B_FUNC(aucpu1_ejtag_loc1),
 793	RTD1619B_FUNC(ve3_ejtag_loc2),
 794	RTD1619B_FUNC(aucpu0_ejtag_loc2),
 795	RTD1619B_FUNC(aucpu1_ejtag_loc2),
 796	RTD1619B_FUNC(scpu_ejtag_loc0),
 797	RTD1619B_FUNC(acpu_ejtag_loc0),
 798	RTD1619B_FUNC(vcpu_ejtag_loc0),
 799	RTD1619B_FUNC(scpu_ejtag_loc1),
 800	RTD1619B_FUNC(acpu_ejtag_loc1),
 801	RTD1619B_FUNC(vcpu_ejtag_loc1),
 802	RTD1619B_FUNC(scpu_ejtag_loc2),
 803	RTD1619B_FUNC(acpu_ejtag_loc2),
 804	RTD1619B_FUNC(vcpu_ejtag_loc2),
 805	RTD1619B_FUNC(ve3_ejtag_disable),
 806	RTD1619B_FUNC(aucpu0_ejtag_disable),
 807	RTD1619B_FUNC(aucpu1_ejtag_disable),
 808	RTD1619B_FUNC(acpu_ejtag_disable),
 809	RTD1619B_FUNC(vcpu_ejtag_disable),
 810	RTD1619B_FUNC(scpu_ejtag_disable),
 811	RTD1619B_FUNC(iso_gspi_disable),
 812	RTD1619B_FUNC(sf_disable),
 813	RTD1619B_FUNC(sf_enable),
 814	RTD1619B_FUNC(arm_trace_debug_disable),
 815	RTD1619B_FUNC(arm_trace_debug_enable),
 816	RTD1619B_FUNC(pwm_normal),
 817	RTD1619B_FUNC(pwm_open_drain),
 818	RTD1619B_FUNC(standby_dbg),
 819	RTD1619B_FUNC(test_loop_dis),
 820};
 821
 822#undef RTD1619B_FUNC
 823
 824static const struct rtd_pin_desc rtd1619b_iso_muxes[] = {
 825	[RTD1619B_ISO_EMMC_RST_N] = RTK_PIN_MUX(emmc_rst_n, 0x0, GENMASK(1, 0),
 826		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "nf"),
 827		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "emmc")),
 828	[RTD1619B_ISO_EMMC_DD_SB] = RTK_PIN_MUX(emmc_dd_sb, 0x0, GENMASK(3, 2),
 829		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 2), "emmc")),
 830	[RTD1619B_ISO_EMMC_CLK] = RTK_PIN_MUX(emmc_clk, 0x0, GENMASK(5, 4),
 831		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "nf"),
 832		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "emmc")),
 833	[RTD1619B_ISO_EMMC_CMD] = RTK_PIN_MUX(emmc_cmd, 0x0, GENMASK(7, 6),
 834		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 6), "gpio"),
 835		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 6), "nf"),
 836		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 6), "emmc")),
 837	[RTD1619B_ISO_EMMC_DATA_0] = RTK_PIN_MUX(emmc_data_0, 0x0, GENMASK(9, 8),
 838		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "nf"),
 839		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "emmc"),
 840		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "nf_spi")),
 841	[RTD1619B_ISO_EMMC_DATA_1] = RTK_PIN_MUX(emmc_data_1, 0x0, GENMASK(11, 10),
 842		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 10), "nf"),
 843		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 10), "emmc"),
 844		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 10), "nf_spi")),
 845	[RTD1619B_ISO_EMMC_DATA_2] = RTK_PIN_MUX(emmc_data_2, 0x0, GENMASK(13, 12),
 846		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "nf"),
 847		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "emmc"),
 848		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "nf_spi")),
 849	[RTD1619B_ISO_EMMC_DATA_3] = RTK_PIN_MUX(emmc_data_3, 0x0, GENMASK(15, 14),
 850		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 14), "nf"),
 851		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 14), "emmc"),
 852		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 14), "nf_spi")),
 853	[RTD1619B_ISO_EMMC_DATA_4] = RTK_PIN_MUX(emmc_data_4, 0x0, GENMASK(17, 16),
 854		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "nf"),
 855		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "emmc"),
 856		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "nf_spi")),
 857	[RTD1619B_ISO_EMMC_DATA_5] = RTK_PIN_MUX(emmc_data_5, 0x0, GENMASK(19, 18),
 858		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 18), "nf"),
 859		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 18), "emmc"),
 860		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 18), "nf_spi")),
 861	[RTD1619B_ISO_EMMC_DATA_6] = RTK_PIN_MUX(emmc_data_6, 0x0, GENMASK(21, 20),
 862		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "nf"),
 863		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "emmc")),
 864	[RTD1619B_ISO_EMMC_DATA_7] = RTK_PIN_MUX(emmc_data_7, 0x0, GENMASK(23, 22),
 865		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 22), "nf"),
 866		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 22), "emmc")),
 867	[RTD1619B_ISO_SPI_CE_N] = RTK_PIN_MUX(spi_ce_n, 0x0, GENMASK(25, 24),
 868		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
 869		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "nf"),
 870		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "spi"),
 871		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 24), "pmic")),
 872	[RTD1619B_ISO_SPI_SCK] = RTK_PIN_MUX(spi_sck, 0x0, GENMASK(27, 26),
 873		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 26), "gpio"),
 874		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 26), "nf"),
 875		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 26), "spi")),
 876	[RTD1619B_ISO_SPI_SO] = RTK_PIN_MUX(spi_so, 0x0, GENMASK(29, 28),
 877		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
 878		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "nf"),
 879		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "spi")),
 880	[RTD1619B_ISO_SPI_SI] = RTK_PIN_MUX(spi_si, 0x0, GENMASK(31, 30),
 881		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 30), "gpio"),
 882		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 30), "nf"),
 883		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 30), "spi")),
 884
 885	[RTD1619B_ISO_GPIO_0] = RTK_PIN_MUX(gpio_0, 0x4, GENMASK(0, 0),
 886		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio")),
 887	[RTD1619B_ISO_GPIO_1] = RTK_PIN_MUX(gpio_1, 0x4, GENMASK(3, 1),
 888		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 1), "gpio"),
 889		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 1), "emmc_spi"),
 890		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 1), "spdif_coaxial")),
 891	[RTD1619B_ISO_GPIO_2] = RTK_PIN_MUX(gpio_2, 0x4, GENMASK(7, 4),
 892		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
 893		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "standby_dbg"),
 894		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "emmc_spi"),
 895		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 4), "sc1"),
 896		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 4), "scpu_ejtag_loc0"),
 897		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 4), "acpu_ejtag_loc0"),
 898		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 4), "vcpu_ejtag_loc0"),
 899		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 4), "ve3_ejtag_loc0"),
 900		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 4), "aucpu0_ejtag_loc0"),
 901		RTK_PIN_FUNC(SHIFT_LEFT(0x10, 4), "aucpu1_ejtag_loc0")),
 902	[RTD1619B_ISO_GPIO_3] = RTK_PIN_MUX(gpio_3, 0x4, GENMASK(11, 8),
 903		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
 904		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "standby_dbg"),
 905		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "emmc_spi"),
 906		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "sc1"),
 907		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 8), "scpu_ejtag_loc0"),
 908		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 8), "acpu_ejtag_loc0"),
 909		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 8), "vcpu_ejtag_loc0"),
 910		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 8), "ve3_ejtag_loc0"),
 911		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 8), "aucpu0_ejtag_loc0"),
 912		RTK_PIN_FUNC(SHIFT_LEFT(0x10, 8), "aucpu1_ejtag_loc0")),
 913	[RTD1619B_ISO_GPIO_4] = RTK_PIN_MUX(gpio_4, 0x4, GENMASK(15, 12),
 914		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
 915		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "emmc_spi"),
 916		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 12), "sc1"),
 917		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 12), "scpu_ejtag_loc0"),
 918		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 12), "acpu_ejtag_loc0"),
 919		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 12), "vcpu_ejtag_loc0"),
 920		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 12), "ve3_ejtag_loc0"),
 921		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 12), "aucpu0_ejtag_loc0"),
 922		RTK_PIN_FUNC(SHIFT_LEFT(0x10, 12), "aucpu1_ejtag_loc0")),
 923	[RTD1619B_ISO_GPIO_5] = RTK_PIN_MUX(gpio_5, 0x4, GENMASK(19, 16),
 924		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"),
 925		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "emmc_spi"),
 926		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 16), "sc1"),
 927		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 16), "scpu_ejtag_loc0"),
 928		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 16), "acpu_ejtag_loc0"),
 929		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 16), "vcpu_ejtag_loc0"),
 930		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 16), "ve3_ejtag_loc0"),
 931		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 16), "aucpu0_ejtag_loc0"),
 932		RTK_PIN_FUNC(SHIFT_LEFT(0x10, 16), "aucpu1_ejtag_loc0")),
 933	[RTD1619B_ISO_GPIO_6] = RTK_PIN_MUX(gpio_6, 0x4, GENMASK(23, 20),
 934		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"),
 935		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "emmc_spi"),
 936		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 20), "spdif_optical_loc0"),
 937		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 20), "scpu_ejtag_loc0"),
 938		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 20), "acpu_ejtag_loc0"),
 939		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 20), "vcpu_ejtag_loc0"),
 940		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 20), "ve3_ejtag_loc0"),
 941		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 20), "aucpu0_ejtag_loc0"),
 942		RTK_PIN_FUNC(SHIFT_LEFT(0x10, 20), "aucpu1_ejtag_loc0")),
 943	[RTD1619B_ISO_GPIO_7] = RTK_PIN_MUX(gpio_7, 0x4, GENMASK(24, 24),
 944		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio")),
 945	[RTD1619B_ISO_GPIO_8] = RTK_PIN_MUX(gpio_8, 0x4, GENMASK(27, 25),
 946		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 25), "gpio"),
 947		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 25), "uart1"),
 948		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 25), "gspi_loc1"),
 949		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 25), "iso_gspi_loc1")),
 950	[RTD1619B_ISO_GPIO_9] = RTK_PIN_MUX(gpio_9, 0x4, GENMASK(30, 28),
 951		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"),
 952		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "uart1"),
 953		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 28), "gspi_loc1"),
 954		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 28), "iso_gspi_loc1")),
 955	[RTD1619B_ISO_GPIO_10] = RTK_PIN_MUX(gpio_10, 0x8, GENMASK(2, 0),
 956		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
 957		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "uart1"),
 958		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 0), "gspi_loc1"),
 959		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 0), "iso_gspi_loc1")),
 960	[RTD1619B_ISO_GPIO_11] = RTK_PIN_MUX(gpio_11, 0x8, GENMASK(5, 3),
 961		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 3), "gpio"),
 962		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 3), "uart1"),
 963		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 3), "gspi_loc1"),
 964		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 3), "iso_gspi_loc1")),
 965
 966	[RTD1619B_ISO_GPIO_12] = RTK_PIN_MUX(gpio_12, 0x8, GENMASK(6, 6),
 967		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 6), "gpio"),
 968		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 6), "i2c0")),
 969	[RTD1619B_ISO_GPIO_13] = RTK_PIN_MUX(gpio_13, 0x8, GENMASK(7, 7),
 970		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 7), "gpio"),
 971		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 7), "i2c0")),
 972	[RTD1619B_ISO_GPIO_14] = RTK_PIN_MUX(gpio_14, 0x8, GENMASK(10, 8),
 973		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
 974		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "etn_led"),
 975		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "etn_phy"),
 976		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 8), "etn_clk")),
 977	[RTD1619B_ISO_GPIO_15] = RTK_PIN_MUX(gpio_15, 0x8, GENMASK(12, 11),
 978		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 11), "gpio"),
 979		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 11), "etn_led"),
 980		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 11), "etn_phy")),
 981	[RTD1619B_ISO_GPIO_16] = RTK_PIN_MUX(gpio_16, 0x8, GENMASK(13, 13),
 982		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 13), "gpio"),
 983		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 13), "i2c1")),
 984	[RTD1619B_ISO_GPIO_17] = RTK_PIN_MUX(gpio_17, 0x8, GENMASK(14, 14),
 985		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 14), "gpio"),
 986		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 14), "i2c1")),
 987	[RTD1619B_ISO_GPIO_18] = RTK_PIN_MUX(gpio_18, 0x8, GENMASK(17, 15),
 988		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 15), "gpio"),
 989		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 15), "uart2_loc0"),
 990		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 15), "sc0"),
 991		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 15), "gspi_loc0"),
 992		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 15), "iso_gspi_loc0")),
 993	[RTD1619B_ISO_GPIO_19] = RTK_PIN_MUX(gpio_19, 0x8, GENMASK(20, 18),
 994		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 18), "gpio"),
 995		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 18), "uart2_loc0"),
 996		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 18), "sc0"),
 997		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 18), "gspi_loc0"),
 998		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 18), "iso_gspi_loc0")),
 999	[RTD1619B_ISO_GPIO_20] = RTK_PIN_MUX(gpio_20, 0x8, GENMASK(23, 21),
1000		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 21), "gpio"),
1001		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 21), "uart2_loc0"),
1002		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 21), "pwm0"),
1003		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 21), "gspi_loc0"),
1004		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 21), "sc0"),
1005		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 21), "iso_gspi_loc0")),
1006	[RTD1619B_ISO_GPIO_21] = RTK_PIN_MUX(gpio_21, 0x8, GENMASK(26, 24),
1007		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"),
1008		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "pwm1"),
1009		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 24), "spdif_optical_loc1")),
1010	[RTD1619B_ISO_GPIO_22] = RTK_PIN_MUX(gpio_22, 0x8, GENMASK(28, 27),
1011		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 27), "gpio"),
1012		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 27), "pwm2")),
1013	[RTD1619B_ISO_GPIO_23] = RTK_PIN_MUX(gpio_23, 0x8, GENMASK(30, 29),
1014		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 29), "gpio"),
1015		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 29), "etn_led"),
1016		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 29), "pwm3")),
1017	[RTD1619B_ISO_USB_CC2] = RTK_PIN_MUX(usb_cc2, 0x8, GENMASK(31, 31),
1018		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 31), "gpio"),
1019		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 31), "usb_cc2")),
1020	[RTD1619B_ISO_GPIO_25] = RTK_PIN_MUX(gpio_25, 0xc, GENMASK(1, 0),
1021		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
1022		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "uart2_loc1"),
1023		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "pcie1")),
1024	[RTD1619B_ISO_GPIO_26] = RTK_PIN_MUX(gpio_26, 0xc, GENMASK(3, 2),
1025		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 2), "gpio"),
1026		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 2), "uart2_loc1"),
1027		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 2), "vfd"),
1028		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 2), "pwm0")),
1029	[RTD1619B_ISO_GPIO_27] = RTK_PIN_MUX(gpio_27, 0xc, GENMASK(5, 4),
1030		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
1031		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "uart2_loc1"),
1032		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "vfd"),
1033		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "pwm1")),
1034
1035	[RTD1619B_ISO_GPIO_28] = RTK_PIN_MUX(gpio_28, 0xc, GENMASK(7, 6),
1036		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 6), "gpio"),
1037		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 6), "uart2_loc1"),
1038		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 6), "vfd"),
1039		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 6), "pwm2")),
1040	[RTD1619B_ISO_GPIO_29] = RTK_PIN_MUX(gpio_29, 0xc, GENMASK(8, 8),
1041		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
1042		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "i2c5")),
1043	[RTD1619B_ISO_GPIO_30] = RTK_PIN_MUX(gpio_30, 0xc, GENMASK(9, 9),
1044		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 9), "gpio")),
1045	[RTD1619B_ISO_GPIO_31] = RTK_PIN_MUX(gpio_31, 0xc, GENMASK(12, 10),
1046		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 10), "gpio"),
1047		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 10), "uart2_loc0"),
1048		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 10), "sc0"),
1049		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 10), "gspi_loc0"),
1050		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 10), "iso_gspi_loc0")),
1051	[RTD1619B_ISO_GPIO_32] = RTK_PIN_MUX(gpio_32, 0xc, GENMASK(17, 13),
1052		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 13), "gpio"),
1053		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 13), "sd"),
1054		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 13), "sdio_loc0"),
1055		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 13), "dmic_loc1"),
1056		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 13), "ai_loc1"),
1057		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 13), "scpu_ejtag_loc1"),
1058		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 13), "acpu_ejtag_loc1"),
1059		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 13), "vcpu_ejtag_loc1"),
1060		RTK_PIN_FUNC(SHIFT_LEFT(0x11, 13), "vtc_i2si_loc0"),
1061		RTK_PIN_FUNC(SHIFT_LEFT(0x14, 13), "ve3_ejtag_loc1"),
1062		RTK_PIN_FUNC(SHIFT_LEFT(0x15, 13), "aucpu0_ejtag_loc1"),
1063		RTK_PIN_FUNC(SHIFT_LEFT(0x16, 13), "aucpu1_ejtag_loc1")),
1064	[RTD1619B_ISO_GPIO_33] = RTK_PIN_MUX(gpio_33, 0xc, GENMASK(22, 18),
1065		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 18), "gpio"),
1066		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 18), "sd"),
1067		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 18), "sdio_loc0"),
1068		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 18), "dmic_loc1"),
1069		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 18), "ai_loc1"),
1070		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 18), "scpu_ejtag_loc1"),
1071		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 18), "acpu_ejtag_loc1"),
1072		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 18), "vcpu_ejtag_loc1"),
1073		RTK_PIN_FUNC(SHIFT_LEFT(0x14, 18), "ve3_ejtag_loc1"),
1074		RTK_PIN_FUNC(SHIFT_LEFT(0x15, 18), "aucpu0_ejtag_loc1"),
1075		RTK_PIN_FUNC(SHIFT_LEFT(0x16, 18), "aucpu1_ejtag_loc1")),
1076	[RTD1619B_ISO_GPIO_34] = RTK_PIN_MUX(gpio_34, 0xc, GENMASK(25, 23),
1077		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 23), "gpio"),
1078		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 23), "sd"),
1079		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 23), "dmic_loc1"),
1080		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 23), "ai_loc1"),
1081		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 23), "i2c4")),
1082	[RTD1619B_ISO_GPIO_35] = RTK_PIN_MUX(gpio_35, 0xc, GENMASK(28, 26),
1083		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 26), "gpio"),
1084		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 26), "sd"),
1085		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 26), "dmic_loc1"),
1086		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 26), "i2c4")),
1087	[RTD1619B_ISO_HIF_DATA] = RTK_PIN_MUX(hif_data, 0x10, GENMASK(4, 0),
1088		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
1089		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "sd"),
1090		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "sdio_loc0"),
1091		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 0), "dmic_loc1"),
1092		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 0), "tdm_ai_loc1"),
1093		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 0), "scpu_ejtag_loc1"),
1094		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 0), "acpu_ejtag_loc1"),
1095		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 0), "vcpu_ejtag_loc1"),
1096		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 0), "ai_loc1"),
1097		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 0), "hi"),
1098		RTK_PIN_FUNC(SHIFT_LEFT(0x10, 0), "hi_m"),
1099		RTK_PIN_FUNC(SHIFT_LEFT(0x11, 0), "vtc_i2si_loc0"),
1100		RTK_PIN_FUNC(SHIFT_LEFT(0x12, 0), "vtc_tdm_loc0"),
1101		RTK_PIN_FUNC(SHIFT_LEFT(0x13, 0), "vtc_dmic_loc0"),
1102		RTK_PIN_FUNC(SHIFT_LEFT(0x14, 0), "ve3_ejtag_loc1"),
1103		RTK_PIN_FUNC(SHIFT_LEFT(0x15, 0), "aucpu0_ejtag_loc1"),
1104		RTK_PIN_FUNC(SHIFT_LEFT(0x16, 0), "aucpu1_ejtag_loc1")),
1105	[RTD1619B_ISO_HIF_EN] = RTK_PIN_MUX(hif_en, 0x10, GENMASK(9, 5),
1106		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 5), "gpio"),
1107		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 5), "sd"),
1108		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 5), "sdio_loc0"),
1109		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 5), "dmic_loc1"),
1110		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 5), "tdm_ai_loc1"),
1111		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 5), "scpu_ejtag_loc1"),
1112		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 5), "acpu_ejtag_loc1"),
1113		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 5), "vcpu_ejtag_loc1"),
1114		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 5), "ai_loc1"),
1115		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 5), "hi"),
1116		RTK_PIN_FUNC(SHIFT_LEFT(0x10, 5), "hi_m"),
1117		RTK_PIN_FUNC(SHIFT_LEFT(0x11, 5), "vtc_i2si_loc0"),
1118		RTK_PIN_FUNC(SHIFT_LEFT(0x12, 5), "vtc_tdm_loc0"),
1119		RTK_PIN_FUNC(SHIFT_LEFT(0x13, 5), "vtc_dmic_loc0"),
1120		RTK_PIN_FUNC(SHIFT_LEFT(0x14, 5), "ve3_ejtag_loc1"),
1121		RTK_PIN_FUNC(SHIFT_LEFT(0x15, 5), "aucpu0_ejtag_loc1"),
1122		RTK_PIN_FUNC(SHIFT_LEFT(0x16, 5), "aucpu1_ejtag_loc1")),
1123	[RTD1619B_ISO_HIF_RDY] = RTK_PIN_MUX(hif_rdy, 0x10, GENMASK(13, 10),
1124		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 10), "gpio"),
1125		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 10), "sd"),
1126		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 10), "sdio_loc0"),
1127		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 10), "dmic_loc1"),
1128		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 10), "tdm_ai_loc1"),
1129		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 10), "ai_loc1"),
1130		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 10), "hi"),
1131		RTK_PIN_FUNC(SHIFT_LEFT(0x10, 10), "hi_m"),
1132		RTK_PIN_FUNC(SHIFT_LEFT(0x11, 10), "vtc_i2si_loc0"),
1133		RTK_PIN_FUNC(SHIFT_LEFT(0x12, 10), "vtc_tdm_loc0"),
1134		RTK_PIN_FUNC(SHIFT_LEFT(0x13, 10), "vtc_dmic_loc0")),
1135
1136	[RTD1619B_ISO_HIF_CLK] = RTK_PIN_MUX(hif_clk, 0x10, GENMASK(18, 14),
1137		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 14), "gpio"),
1138		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 14), "sd"),
1139		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 14), "sdio_loc0"),
1140		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 14), "dmic_loc1"),
1141		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 14), "tdm_ai_loc1"),
1142		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 14), "scpu_ejtag_loc1"),
1143		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 14), "acpu_ejtag_loc1"),
1144		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 14), "vcpu_ejtag_loc1"),
1145		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 14), "ai_loc1"),
1146		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 14), "hi"),
1147		RTK_PIN_FUNC(SHIFT_LEFT(0x10, 14), "hi_m"),
1148		RTK_PIN_FUNC(SHIFT_LEFT(0x11, 14), "vtc_i2si_loc0"),
1149		RTK_PIN_FUNC(SHIFT_LEFT(0x12, 14), "vtc_tdm_loc0"),
1150		RTK_PIN_FUNC(SHIFT_LEFT(0x13, 14), "vtc_dmic_loc0"),
1151		RTK_PIN_FUNC(SHIFT_LEFT(0x14, 14), "ve3_ejtag_loc1"),
1152		RTK_PIN_FUNC(SHIFT_LEFT(0x15, 14), "aucpu0_ejtag_loc1"),
1153		RTK_PIN_FUNC(SHIFT_LEFT(0x16, 14), "aucpu1_ejtag_loc1")),
1154	[RTD1619B_ISO_GPIO_40] = RTK_PIN_MUX(gpio_40, 0x10, GENMASK(20, 19),
1155		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 19), "gpio"),
1156		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 19), "sdio_loc1")),
1157	[RTD1619B_ISO_GPIO_41] = RTK_PIN_MUX(gpio_41, 0x10, GENMASK(22, 21),
1158		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 21), "gpio"),
1159		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 21), "sdio_loc1")),
1160	[RTD1619B_ISO_GPIO_42] = RTK_PIN_MUX(gpio_42, 0x10, GENMASK(24, 23),
1161		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 23), "gpio"),
1162		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 23), "sdio_loc1")),
1163	[RTD1619B_ISO_GPIO_43] = RTK_PIN_MUX(gpio_43, 0x10, GENMASK(26, 25),
1164		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 25), "gpio"),
1165		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 25), "sdio_loc1")),
1166	[RTD1619B_ISO_GPIO_44] = RTK_PIN_MUX(gpio_44, 0x10, GENMASK(28, 27),
1167		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 27), "gpio"),
1168		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 27), "sdio_loc1")),
1169	[RTD1619B_ISO_GPIO_45] = RTK_PIN_MUX(gpio_45, 0x10, GENMASK(30, 29),
1170		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 29), "gpio"),
1171		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 29), "sdio_loc1")),
1172	[RTD1619B_ISO_GPIO_46] = RTK_PIN_MUX(gpio_46, 0x10, GENMASK(31, 31),
1173		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 31), "gpio"),
1174		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 31), "i2c5")),
1175	[RTD1619B_ISO_GPIO_47] = RTK_PIN_MUX(gpio_47, 0x14, GENMASK(1, 0),
1176		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
1177		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "dc_fan"),
1178		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 0), "pwm3")),
1179	[RTD1619B_ISO_GPIO_48] = RTK_PIN_MUX(gpio_48, 0x14, GENMASK(2, 2),
1180		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 2), "gpio"),
1181		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 2), "pll_test_loc1")),
1182	[RTD1619B_ISO_GPIO_49] = RTK_PIN_MUX(gpio_49, 0x14, GENMASK(3, 3),
1183		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 3), "gpio"),
1184		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 3), "pll_test_loc1")),
1185	[RTD1619B_ISO_GPIO_50] = RTK_PIN_MUX(gpio_50, 0x14, GENMASK(5, 4),
1186		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
1187		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "spdif"),
1188		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "test_loop_dis")),
1189	[RTD1619B_ISO_USB_CC1] = RTK_PIN_MUX(usb_cc1, 0x14, GENMASK(6, 6),
1190		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 6), "gpio"),
1191		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 6), "usb_cc1")),
1192	[RTD1619B_ISO_GPIO_52] = RTK_PIN_MUX(gpio_52, 0x14, GENMASK(8, 7),
1193		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 7), "gpio"),
1194		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 7), "pll_test_loc0"),
1195		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 7), "pcie2")),
1196	[RTD1619B_ISO_GPIO_53] = RTK_PIN_MUX(gpio_53, 0x14, GENMASK(9, 9),
1197		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 9), "gpio"),
1198		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 9), "pll_test_loc0")),
1199	[RTD1619B_ISO_IR_RX] = RTK_PIN_MUX(ir_rx, 0x14, GENMASK(11, 10),
1200		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 10), "gpio"),
1201		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 10), "ir_rx"),
1202		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 10), "standby_dbg")),
1203	[RTD1619B_ISO_UR0_RX] = RTK_PIN_MUX(ur0_rx, 0x14, GENMASK(12, 12),
1204		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"),
1205		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "uart0")),
1206
1207	[RTD1619B_ISO_UR0_TX] = RTK_PIN_MUX(ur0_tx, 0x14, GENMASK(13, 13),
1208		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 13), "gpio"),
1209		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 13), "uart0")),
1210	[RTD1619B_ISO_GPIO_57] = RTK_PIN_MUX(gpio_57, 0x14, GENMASK(17, 14),
1211		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 14), "gpio"),
1212		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 14), "tdm_ai_loc0"),
1213		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 14), "ai_loc0"),
1214		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 14), "dmic_loc0"),
1215		RTK_PIN_FUNC(SHIFT_LEFT(0x11, 14), "vtc_i2si_loc1"),
1216		RTK_PIN_FUNC(SHIFT_LEFT(0x12, 14), "vtc_tdm_loc1"),
1217		RTK_PIN_FUNC(SHIFT_LEFT(0x13, 14), "vtc_dmic_loc1")),
1218	[RTD1619B_ISO_GPIO_58] = RTK_PIN_MUX(gpio_58, 0x14, GENMASK(21, 18),
1219		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 18), "gpio"),
1220		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 18), "tdm_ai_loc0"),
1221		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 18), "ai_loc0"),
1222		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 18), "dmic_loc0"),
1223		RTK_PIN_FUNC(SHIFT_LEFT(0x11, 18), "vtc_i2si_loc1"),
1224		RTK_PIN_FUNC(SHIFT_LEFT(0x12, 18), "vtc_tdm_loc1"),
1225		RTK_PIN_FUNC(SHIFT_LEFT(0x13, 18), "vtc_dmic_loc1")),
1226	[RTD1619B_ISO_GPIO_59] = RTK_PIN_MUX(gpio_59, 0x14, GENMASK(25, 22),
1227		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 22), "gpio"),
1228		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 22), "tdm_ai_loc0"),
1229		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 22), "ai_loc0"),
1230		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 22), "dmic_loc0"),
1231		RTK_PIN_FUNC(SHIFT_LEFT(0x11, 22), "vtc_i2si_loc1"),
1232		RTK_PIN_FUNC(SHIFT_LEFT(0x12, 22), "vtc_tdm_loc1"),
1233		RTK_PIN_FUNC(SHIFT_LEFT(0x13, 22), "vtc_dmic_loc1")),
1234	[RTD1619B_ISO_GPIO_60] = RTK_PIN_MUX(gpio_60, 0x14, GENMASK(29, 26),
1235		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 26), "gpio"),
1236		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 26), "tdm_ai_loc0"),
1237		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 26), "ai_loc0"),
1238		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 26), "dmic_loc0"),
1239		RTK_PIN_FUNC(SHIFT_LEFT(0x11, 26), "vtc_i2si_loc1"),
1240		RTK_PIN_FUNC(SHIFT_LEFT(0x12, 26), "vtc_tdm_loc1"),
1241		RTK_PIN_FUNC(SHIFT_LEFT(0x13, 26), "vtc_dmic_loc1")),
1242	[RTD1619B_ISO_GPIO_61] = RTK_PIN_MUX(gpio_61, 0x18, GENMASK(3, 0),
1243		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
1244		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "ai_loc0"),
1245		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 0), "dmic_loc0"),
1246		RTK_PIN_FUNC(SHIFT_LEFT(0x11, 0), "vtc_i2si_loc1")),
1247	[RTD1619B_ISO_GPIO_62] = RTK_PIN_MUX(gpio_62, 0x18, GENMASK(5, 4),
1248		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"),
1249		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "ai_loc0"),
1250		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "dmic_loc0")),
1251	[RTD1619B_ISO_GPIO_63] = RTK_PIN_MUX(gpio_63, 0x18, GENMASK(7, 6),
1252		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 6), "gpio"),
1253		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 6), "ai_loc0"),
1254		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 6), "i2c3"),
1255		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 6), "dmic_loc0")),
1256	[RTD1619B_ISO_GPIO_64] = RTK_PIN_MUX(gpio_64, 0x18, GENMASK(9, 8),
1257		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"),
1258		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "i2c3"),
1259		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "dmic_loc0")),
1260	[RTD1619B_ISO_GPIO_65] = RTK_PIN_MUX(gpio_65, 0x18, GENMASK(10, 10),
1261		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 10), "gpio")),
1262	[RTD1619B_ISO_GPIO_66] = RTK_PIN_MUX(gpio_66, 0x18, GENMASK(14, 11),
1263		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 11), "gpio"),
1264		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 11), "tp0"),
1265		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 11), "ao"),
1266		RTK_PIN_FUNC(SHIFT_LEFT(0x11, 11), "vtc_i2so")),
1267	[RTD1619B_ISO_GPIO_67] = RTK_PIN_MUX(gpio_67, 0x18, GENMASK(18, 15),
1268		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 15), "gpio"),
1269		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 15), "tp0"),
1270		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 15), "ao"),
1271		RTK_PIN_FUNC(SHIFT_LEFT(0x11, 15), "vtc_i2so")),
1272	[RTD1619B_ISO_GPIO_68] = RTK_PIN_MUX(gpio_68, 0x18, GENMASK(22, 19),
1273		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 19), "gpio"),
1274		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 19), "tp0"),
1275		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 19), "ao"),
1276		RTK_PIN_FUNC(SHIFT_LEFT(0x11, 19), "vtc_i2so")),
1277	[RTD1619B_ISO_GPIO_69] = RTK_PIN_MUX(gpio_69, 0x18, GENMASK(26, 23),
1278		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 23), "gpio"),
1279		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 23), "tp0"),
1280		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 23), "tp1"),
1281		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 23), "ao"),
1282		RTK_PIN_FUNC(SHIFT_LEFT(0x11, 23), "vtc_i2so")),
1283
1284	[RTD1619B_ISO_GPIO_70] = RTK_PIN_MUX(gpio_70, 0x18, GENMASK(29, 27),
1285		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 27), "gpio"),
1286		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 27), "tp0"),
1287		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 27), "tp1"),
1288		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 27), "ao")),
1289	[RTD1619B_ISO_GPIO_71] = RTK_PIN_MUX(gpio_71, 0x1c, GENMASK(2, 0),
1290		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"),
1291		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "tp0"),
1292		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 0), "tp1"),
1293		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 0), "ao"),
1294		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 0), "scpu_ejtag_loc2"),
1295		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 0), "acpu_ejtag_loc2"),
1296		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 0), "vcpu_ejtag_loc2"),
1297		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 0), "ve3_ejtag_loc2"),
1298		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 0), "aucpu0_ejtag_loc2"),
1299		RTK_PIN_FUNC(SHIFT_LEFT(0x10, 0), "aucpu1_ejtag_loc2")),
1300	[RTD1619B_ISO_GPIO_72] = RTK_PIN_MUX(gpio_72, 0x1c, GENMASK(6, 3),
1301		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 3), "gpio"),
1302		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 3), "tp0"),
1303		RTK_PIN_FUNC(SHIFT_LEFT(0x3, 3), "tp1"),
1304		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 3), "ao"),
1305		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 3), "scpu_ejtag_loc2"),
1306		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 3), "acpu_ejtag_loc2"),
1307		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 3), "vcpu_ejtag_loc2"),
1308		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 3), "ve3_ejtag_loc2"),
1309		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 3), "aucpu0_ejtag_loc2"),
1310		RTK_PIN_FUNC(SHIFT_LEFT(0x10, 3), "aucpu1_ejtag_loc2")),
1311	[RTD1619B_ISO_GPIO_73] = RTK_PIN_MUX(gpio_73, 0x1c, GENMASK(10, 7),
1312		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 7), "gpio"),
1313		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 7), "tp0"),
1314		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 7), "scpu_ejtag_loc2"),
1315		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 7), "acpu_ejtag_loc2"),
1316		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 7), "vcpu_ejtag_loc2"),
1317		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 7), "ve3_ejtag_loc2"),
1318		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 7), "aucpu0_ejtag_loc2"),
1319		RTK_PIN_FUNC(SHIFT_LEFT(0x10, 7), "aucpu1_ejtag_loc2")),
1320	[RTD1619B_ISO_GPIO_74] = RTK_PIN_MUX(gpio_74, 0x1c, GENMASK(14, 11),
1321		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 11), "gpio"),
1322		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 11), "tp0"),
1323		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 11), "scpu_ejtag_loc2"),
1324		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 11), "acpu_ejtag_loc2"),
1325		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 11), "vcpu_ejtag_loc2"),
1326		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 11), "ve3_ejtag_loc2"),
1327		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 11), "aucpu0_ejtag_loc2"),
1328		RTK_PIN_FUNC(SHIFT_LEFT(0x10, 11), "aucpu1_ejtag_loc2")),
1329	[RTD1619B_ISO_GPIO_75] = RTK_PIN_MUX(gpio_75, 0x1c, GENMASK(18, 15),
1330		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 15), "gpio"),
1331		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 15), "tp0"),
1332		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 15), "scpu_ejtag_loc2"),
1333		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 15), "acpu_ejtag_loc2"),
1334		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 15), "vcpu_ejtag_loc2"),
1335		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 15), "ve3_ejtag_loc2"),
1336		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 15), "aucpu0_ejtag_loc2"),
1337		RTK_PIN_FUNC(SHIFT_LEFT(0x10, 15), "aucpu1_ejtag_loc2")),
1338	[RTD1619B_ISO_GPIO_76] = RTK_PIN_MUX(gpio_76, 0x1c, GENMASK(22, 19),
1339		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 19), "gpio"),
1340		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 19), "tp0"),
1341		RTK_PIN_FUNC(SHIFT_LEFT(0x5, 19), "scpu_ejtag_loc2"),
1342		RTK_PIN_FUNC(SHIFT_LEFT(0x6, 19), "acpu_ejtag_loc2"),
1343		RTK_PIN_FUNC(SHIFT_LEFT(0x7, 19), "vcpu_ejtag_loc2"),
1344		RTK_PIN_FUNC(SHIFT_LEFT(0x8, 19), "ve3_ejtag_loc2"),
1345		RTK_PIN_FUNC(SHIFT_LEFT(0x9, 19), "aucpu0_ejtag_loc2"),
1346		RTK_PIN_FUNC(SHIFT_LEFT(0x10, 19), "aucpu1_ejtag_loc2")),
1347
1348	[RTD1619B_ISO_UR2_LOC] = RTK_PIN_MUX(ur2_loc, 0x120, GENMASK(1, 0),
1349		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "uart2_disable"),
1350		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "uart2_loc0"),
1351		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "uart2_loc1")),
1352	[RTD1619B_ISO_GSPI_LOC] = RTK_PIN_MUX(gspi_loc, 0x120, GENMASK(3, 2),
1353		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 2), "gspi_disable"),
1354		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 2), "gspi_loc0"),
1355		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 2), "gspi_loc1")),
1356	[RTD1619B_ISO_SDIO_LOC] = RTK_PIN_MUX(sdio_loc, 0x120, GENMASK(5, 4),
1357		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "sdio_disable"),
1358		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "sdio_loc0"),
1359		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "sdio_loc1")),
1360	[RTD1619B_ISO_HI_LOC] = RTK_PIN_MUX(hi_loc, 0x120, GENMASK(7, 6),
1361		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 6), "hi_loc_disable"),
1362		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 6), "hi_loc0")),
1363	[RTD1619B_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	[RTD1619B_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	[RTD1619B_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	[RTD1619B_ISO_PWM_01_OPEN_DRAIN_EN_LOC0] = RTK_PIN_MUX(pwm_01_open_drain_en_loc0, 0x120,
1373		GENMASK(13, 13),
1374		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 13), "pwm_normal"),
1375		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 13), "pwm_open_drain")),
1376	[RTD1619B_ISO_PWM_23_OPEN_DRAIN_EN_LOC0] = RTK_PIN_MUX(pwm_23_open_drain_en_loc0, 0x120,
1377		GENMASK(14, 14),
1378		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 14), "pwm_normal"),
1379		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 14), "pwm_open_drain")),
1380	[RTD1619B_ISO_PWM_01_OPEN_DRAIN_EN_LOC1] = RTK_PIN_MUX(pwm_01_open_drain_en_loc1, 0x120,
1381		GENMASK(15, 15),
1382		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 15), "pwm_normal"),
1383		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 15), "pwm_open_drain")),
1384	[RTD1619B_ISO_PWM_23_OPEN_DRAIN_EN_LOC1] = RTK_PIN_MUX(pwm_23_open_drain_en_loc1, 0x120,
1385		GENMASK(16, 16),
1386		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "pwm_normal"),
1387		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "pwm_open_drain")),
1388	[RTD1619B_ISO_EJTAG_ACPU_LOC] = RTK_PIN_MUX(ejtag_acpu_loc, 0x120, GENMASK(19, 17),
1389		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 17), "acpu_ejtag_disable"),
1390		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 17), "acpu_ejtag_loc0"),
1391		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 17), "acpu_ejtag_loc1"),
1392		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 17), "acpu_ejtag_loc2")),
1393	[RTD1619B_ISO_EJTAG_VCPU_LOC] = RTK_PIN_MUX(ejtag_vcpu_loc, 0x120, GENMASK(22, 20),
1394		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "vcpu_ejtag_disable"),
1395		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "vcpu_ejtag_loc0"),
1396		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "vcpu_ejtag_loc1"),
1397		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 20), "vcpu_ejtag_loc2")),
1398	[RTD1619B_ISO_EJTAG_SCPU_LOC] = RTK_PIN_MUX(ejtag_scpu_loc, 0x120, GENMASK(25, 23),
1399		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 23), "scpu_ejtag_disable"),
1400		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 23), "scpu_ejtag_loc0"),
1401		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 23), "scpu_ejtag_loc1"),
1402		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 23), "scpu_ejtag_loc2")),
1403	[RTD1619B_ISO_DMIC_LOC] = RTK_PIN_MUX(dmic_loc, 0x120, GENMASK(27, 26),
1404		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 26), "dmic_loc0"),
1405		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 26), "dmic_loc1")),
1406	[RTD1619B_ISO_ISO_GSPI_LOC] = RTK_PIN_MUX(iso_gspi_loc, 0x120, GENMASK(29, 28),
1407		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "iso_gspi_disable"),
1408		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "iso_gspi_loc0"),
1409		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "iso_gspi_loc1")),
1410	[RTD1619B_ISO_EJTAG_VE3_LOC] = RTK_PIN_MUX(ejtag_ve3_loc, 0x124, GENMASK(20, 18),
1411		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 18), "ve3_ejtag_disable"),
1412		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 18), "ve3_ejtag_loc0"),
1413		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 18), "ve3_ejtag_loc1"),
1414		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 18), "ve3_ejtag_loc2")),
1415	[RTD1619B_ISO_EJTAG_AUCPU1_LOC] = RTK_PIN_MUX(ejtag_aucpu1_loc, 0x124, GENMASK(23, 21),
1416		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 21), "aucpu1_ejtag_disable"),
1417		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 21), "aucpu1_ejtag_loc0"),
1418		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 21), "aucpu1_ejtag_loc1"),
1419		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 21), "aucpu1_ejtag_loc2")),
1420	[RTD1619B_ISO_EJTAG_AUCPU0_LOC] = RTK_PIN_MUX(ejtag_aucpu0_loc, 0x124, GENMASK(26, 24),
1421		RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "aucpu0_ejtag_disable"),
1422		RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "aucpu0_ejtag_loc0"),
1423		RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "aucpu0_ejtag_loc1"),
1424		RTK_PIN_FUNC(SHIFT_LEFT(0x4, 24), "aucpu0_ejtag_loc2")),
1425};
1426
1427static const struct rtd_pin_config_desc rtd1619b_iso_configs[] = {
1428	[RTD1619B_ISO_GPIO_17] = RTK_PIN_CONFIG(gpio_17, 0x20, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
1429	[RTD1619B_ISO_GPIO_19] = RTK_PIN_CONFIG(gpio_19, 0x20, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
1430	[RTD1619B_ISO_GPIO_50] = RTK_PIN_CONFIG(gpio_50, 0x20, 10, 1, 2, 0, 3, 4, PADDRI_4_8),
1431	[RTD1619B_ISO_GPIO_21] = RTK_PIN_CONFIG(gpio_21, 0x20, 15, 1, 2, 0, 3, 4, PADDRI_4_8),
1432	[RTD1619B_ISO_GPIO_66] = RTK_PIN_CONFIG(gpio_66, 0x20, 20, 1, 2, 0, 3, 4, PADDRI_4_8),
1433	[RTD1619B_ISO_GPIO_67] = RTK_PIN_CONFIG(gpio_67, 0x20, 25, 1, 2, 0, 3, 4, PADDRI_4_8),
1434	[RTD1619B_ISO_GPIO_68] = RTK_PIN_CONFIG(gpio_68, 0x24, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
1435	[RTD1619B_ISO_GPIO_69] = RTK_PIN_CONFIG(gpio_69, 0x24, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
1436	[RTD1619B_ISO_GPIO_70] = RTK_PIN_CONFIG(gpio_70, 0x24, 10, 1, 2, 0, 3, 4, PADDRI_4_8),
1437	[RTD1619B_ISO_GPIO_71] = RTK_PIN_CONFIG(gpio_71, 0x24, 15, 1, 2, 0, 3, 4, PADDRI_4_8),
1438	[RTD1619B_ISO_GPIO_72] = RTK_PIN_CONFIG(gpio_72, 0x24, 20, 1, 2, 0, 3, 4, PADDRI_4_8),
1439	[RTD1619B_ISO_GPIO_73] = RTK_PIN_CONFIG(gpio_73, 0x24, 25, 1, 2, 0, 3, 4, PADDRI_4_8),
1440	[RTD1619B_ISO_GPIO_74] = RTK_PIN_CONFIG(gpio_74, 0x28, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
1441	[RTD1619B_ISO_GPIO_75] = RTK_PIN_CONFIG(gpio_75, 0x28, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
1442	[RTD1619B_ISO_GPIO_76] = RTK_PIN_CONFIG(gpio_76, 0x28, 10, 1, 2, 0, 3, 4, PADDRI_4_8),
1443	[RTD1619B_ISO_SPI_SI] = RTK_PIN_CONFIG(spi_si, 0x28, 15, 0, 1, 3, 2, 12, NA),
1444	[RTD1619B_ISO_SPI_SCK] = RTK_PIN_CONFIG(spi_sck, 0x2c, 0, 0, 1, 3, 2, 12, NA),
1445	[RTD1619B_ISO_SPI_CE_N] = RTK_PIN_CONFIG(spi_ce_n, 0x2c, 13, 0, 1, 3, 2, 12, NA),
1446	[RTD1619B_ISO_SPI_SO] = RTK_PIN_CONFIG(spi_so, 0x2c, 26, 0, 1, 3, 2, 12, NA),
1447	[RTD1619B_ISO_EMMC_CLK] = RTK_PIN_CONFIG(emmc_clk, 0x30, 7, 0, 1, 3, 2, 12, NA),
1448	[RTD1619B_ISO_EMMC_CMD] = RTK_PIN_CONFIG(emmc_cmd, 0x34, 0, 0, 1, 3, 2, 13, NA),
1449	[RTD1619B_ISO_EMMC_RST_N] = RTK_PIN_CONFIG(emmc_rst_n, 0x34, 14, 0, 1, 3, 2, 12, NA),
1450	[RTD1619B_ISO_EMMC_DD_SB] = RTK_PIN_CONFIG(emmc_dd_sb, 0x34, 27, 0, 1, 3, 2, 12, NA),
1451	[RTD1619B_ISO_EMMC_DATA_5] = RTK_PIN_CONFIG(emmc_data_5, 0x38, 8, 0, 1, 3, 2, 12, NA),
1452	[RTD1619B_ISO_EMMC_DATA_3] = RTK_PIN_CONFIG(emmc_data_3, 0x3c, 0, 0, 1, 3, 2, 12, NA),
1453	[RTD1619B_ISO_EMMC_DATA_4] = RTK_PIN_CONFIG(emmc_data_4, 0x3c, 13, 0, 1, 3, 2, 12, NA),
1454	[RTD1619B_ISO_EMMC_DATA_0] = RTK_PIN_CONFIG(emmc_data_0, 0x3c, 26, 0, 1, 3, 2, 12, NA),
1455	[RTD1619B_ISO_EMMC_DATA_1] = RTK_PIN_CONFIG(emmc_data_1, 0x40, 7, 0, 1, 3, 2, 12, NA),
1456	[RTD1619B_ISO_EMMC_DATA_2] = RTK_PIN_CONFIG(emmc_data_2, 0x44, 0, 0, 1, 3, 2, 12, NA),
1457	[RTD1619B_ISO_EMMC_DATA_7] = RTK_PIN_CONFIG(emmc_data_7, 0x44, 13, 0, 1, 3, 2, 12, NA),
1458	[RTD1619B_ISO_EMMC_DATA_6] = RTK_PIN_CONFIG(emmc_data_6, 0x44, 26, 0, 1, 3, 2, 12, NA),
1459	[RTD1619B_ISO_USB_CC1] = RTK_PIN_CONFIG(usb_cc1, 0x48, 7, NA, NA, 0, 1, 9, PADDRI_4_8),
1460	[RTD1619B_ISO_USB_CC2] = RTK_PIN_CONFIG(usb_cc2, 0x48, 10, NA, NA, 0, 1, 9, PADDRI_4_8),
1461	[RTD1619B_ISO_GPIO_26] = RTK_PIN_CONFIG(gpio_26, 0x48, 13, 1, 2, 0, 3, 4, PADDRI_4_8),
1462	[RTD1619B_ISO_GPIO_27] = RTK_PIN_CONFIG(gpio_27, 0x48, 18, 1, 2, 0, 3, 4, PADDRI_4_8),
1463	[RTD1619B_ISO_GPIO_28] = RTK_PIN_CONFIG(gpio_28, 0x48, 23, 1, 2, 0, 3, 4, PADDRI_4_8),
1464	[RTD1619B_ISO_GPIO_29] = RTK_PIN_CONFIG(gpio_29, 0x4c, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
1465	[RTD1619B_ISO_GPIO_46] = RTK_PIN_CONFIG(gpio_46, 0x4c, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
1466	[RTD1619B_ISO_GPIO_48] = RTK_PIN_CONFIG(gpio_48, 0x4c, 10, 1, 2, 0, 3, 4, PADDRI_4_8),
1467	[RTD1619B_ISO_GPIO_49] = RTK_PIN_CONFIG(gpio_49, 0x4c, 15, 1, 2, 0, 3, 4, PADDRI_4_8),
1468	[RTD1619B_ISO_GPIO_53] = RTK_PIN_CONFIG(gpio_53, 0x4c, 20, 1, 2, 0, 3, 4, PADDRI_4_8),
1469	[RTD1619B_ISO_GPIO_65] = RTK_PIN_CONFIG(gpio_65, 0x4c, 25, 1, 2, 0, 3, 4, PADDRI_4_8),
1470	[RTD1619B_ISO_GPIO_14] = RTK_PIN_CONFIG(gpio_14, 0x50, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
1471	[RTD1619B_ISO_GPIO_15] = RTK_PIN_CONFIG(gpio_15, 0x50, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
1472	[RTD1619B_ISO_GPIO_23] = RTK_PIN_CONFIG(gpio_23, 0x50, 10, 1, 2, 0, 3, 4, PADDRI_4_8),
1473	[RTD1619B_ISO_IR_RX] = RTK_PIN_CONFIG(ir_rx, 0x50, 20, 1, 2, 0, 3, 4, PADDRI_4_8),
1474	[RTD1619B_ISO_GPIO_57] = RTK_PIN_CONFIG(gpio_57, 0x50, 25, 1, 2, 0, 3, 4, PADDRI_4_8),
1475	[RTD1619B_ISO_GPIO_58] = RTK_PIN_CONFIG(gpio_58, 0x50, 30, 1, 2, 0, 3, 4, PADDRI_4_8),
1476	[RTD1619B_ISO_GPIO_59] = RTK_PIN_CONFIG(gpio_59, 0x54, 3, 1, 2, 0, 3, 4, PADDRI_4_8),
1477	[RTD1619B_ISO_GPIO_60] = RTK_PIN_CONFIG(gpio_60, 0x54, 8, 1, 2, 0, 3, 4, PADDRI_4_8),
1478	[RTD1619B_ISO_GPIO_61] = RTK_PIN_CONFIG(gpio_61, 0x54, 13, 1, 2, 0, 3, 4, PADDRI_4_8),
1479	[RTD1619B_ISO_GPIO_62] = RTK_PIN_CONFIG(gpio_62, 0x54, 18, 1, 2, 0, 3, 4, PADDRI_4_8),
1480	[RTD1619B_ISO_GPIO_63] = RTK_PIN_CONFIG(gpio_63, 0x54, 23, 1, 2, 0, 3, 4, PADDRI_4_8),
1481	[RTD1619B_ISO_GPIO_64] = RTK_PIN_CONFIG(gpio_64, 0x58, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
1482	[RTD1619B_ISO_UR0_TX] = RTK_PIN_CONFIG(ur0_tx, 0x58, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
1483	[RTD1619B_ISO_UR0_RX] = RTK_PIN_CONFIG(ur0_rx, 0x58, 13, 1, 2, 0, 3, 4, PADDRI_4_8),
1484	[RTD1619B_ISO_GPIO_12] = RTK_PIN_CONFIG(gpio_12, 0x58, 18, 1, 2, 0, 3, 4, PADDRI_4_8),
1485	[RTD1619B_ISO_GPIO_13] = RTK_PIN_CONFIG(gpio_13, 0x58, 23, 1, 2, 0, 3, 4, PADDRI_4_8),
1486	[RTD1619B_ISO_GPIO_30] = RTK_PIN_CONFIG(gpio_30, 0x58, 28, 1, 2, 0, 3, 4, PADDRI_4_8),
1487	[RTD1619B_ISO_GPIO_7] = RTK_PIN_CONFIG(gpio_7, 0x5c, 1, 1, 2, 0, 3, 4, PADDRI_4_8),
1488	[RTD1619B_ISO_GPIO_16] = RTK_PIN_CONFIG(gpio_16, 0x5c, 6, 1, 2, 0, 3, 4, PADDRI_4_8),
1489	[RTD1619B_ISO_GPIO_18] = RTK_PIN_CONFIG(gpio_18, 0x5c, 11, 1, 2, 0, 3, 4, PADDRI_4_8),
1490	[RTD1619B_ISO_GPIO_20] = RTK_PIN_CONFIG(gpio_20, 0x5c, 16, 1, 2, 0, 3, 4, PADDRI_4_8),
1491	[RTD1619B_ISO_GPIO_22] = RTK_PIN_CONFIG(gpio_22, 0x5c, 21, 1, 2, 0, 3, 4, PADDRI_4_8),
1492	[RTD1619B_ISO_GPIO_31] = RTK_PIN_CONFIG(gpio_31, 0x5c, 26, 1, 2, 0, 3, 4, PADDRI_4_8),
1493	[RTD1619B_ISO_GPIO_47] = RTK_PIN_CONFIG(gpio_47, 0x60, 12, 1, 2, 0, 3, 4, PADDRI_4_8),
1494	[RTD1619B_ISO_GPIO_25] = RTK_PIN_CONFIG(gpio_25, 0x60, 17, 1, 2, 0, 3, 4, PADDRI_4_8),
1495	[RTD1619B_ISO_GPIO_6] = RTK_PIN_CONFIG(gpio_6, 0x60, 22, 1, 2, 0, 3, 4, PADDRI_4_8),
1496	[RTD1619B_ISO_GPIO_5] = RTK_PIN_CONFIG(gpio_5, 0x60, 27, 1, 2, 0, 3, 4, PADDRI_4_8),
1497	[RTD1619B_ISO_GPIO_4] = RTK_PIN_CONFIG(gpio_4, 0x64, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
1498	[RTD1619B_ISO_GPIO_3] = RTK_PIN_CONFIG(gpio_3, 0x64, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
1499	[RTD1619B_ISO_GPIO_2] = RTK_PIN_CONFIG(gpio_2, 0x64, 10, 1, 2, 0, 3, 4, PADDRI_4_8),
1500	[RTD1619B_ISO_GPIO_1] = RTK_PIN_CONFIG(gpio_1, 0x64, 15, 1, 2, 0, 3, 4, PADDRI_4_8),
1501	[RTD1619B_ISO_GPIO_0] = RTK_PIN_CONFIG(gpio_0, 0x64, 20, 1, 2, 0, 3, 4, PADDRI_4_8),
1502	[RTD1619B_ISO_GPIO_52] = RTK_PIN_CONFIG(gpio_52, 0x64, 25, 1, 2, 0, 3, 4, PADDRI_4_8),
1503	[RTD1619B_ISO_GPIO_35] = RTK_PIN_CONFIG(gpio_35, 0x68, 0, 1, 2, 0, 3, 4, PADDRI_4_8),
1504	[RTD1619B_ISO_GPIO_34] = RTK_PIN_CONFIG(gpio_34, 0x68, 5, 1, 2, 0, 3, 4, PADDRI_4_8),
1505	[RTD1619B_ISO_GPIO_40] = RTK_PIN_CONFIG(gpio_40, 0x68, 10, 0, 1, 3, 2, 12, NA),
1506	[RTD1619B_ISO_GPIO_41] = RTK_PIN_CONFIG(gpio_41, 0x6c, 0, 0, 1, 3, 2, 12, NA),
1507	[RTD1619B_ISO_GPIO_42] = RTK_PIN_CONFIG(gpio_42, 0x6c, 13, 0, 1, 3, 2, 12, NA),
1508	[RTD1619B_ISO_GPIO_43] = RTK_PIN_CONFIG(gpio_43, 0x70, 0, 0, 1, 3, 2, 12, NA),
1509	[RTD1619B_ISO_GPIO_44] = RTK_PIN_CONFIG(gpio_44, 0x70, 13, 0, 1, 3, 2, 12, NA),
1510	[RTD1619B_ISO_GPIO_45] = RTK_PIN_CONFIG(gpio_45, 0x70, 26, 0, 1, 3, 2, 12, NA),
1511	[RTD1619B_ISO_GPIO_8] = RTK_PIN_CONFIG(gpio_8, 0x74, 7, 1, 2, 0, 3, 4, PADDRI_4_8),
1512	[RTD1619B_ISO_GPIO_9] = RTK_PIN_CONFIG(gpio_9, 0x74, 12, 1, 2, 0, 3, 4, PADDRI_4_8),
1513	[RTD1619B_ISO_GPIO_10] = RTK_PIN_CONFIG(gpio_10, 0x74, 17, 1, 2, 0, 3, 4, PADDRI_4_8),
1514	[RTD1619B_ISO_GPIO_11] = RTK_PIN_CONFIG(gpio_11, 0x74, 22, 1, 2, 0, 3, 4, PADDRI_4_8),
1515	[RTD1619B_ISO_HIF_RDY] = RTK_PIN_CONFIG(hif_rdy, 0x78, 0, 0, 1, 3, 2, 12, NA),
1516	[RTD1619B_ISO_HIF_CLK] = RTK_PIN_CONFIG(hif_clk, 0x78, 13, 0, 1, 3, 2, 12, NA),
1517	[RTD1619B_ISO_GPIO_32] = RTK_PIN_CONFIG(gpio_32, 0x78, 26, 0, 1, 3, 2, 12, NA),
1518	[RTD1619B_ISO_GPIO_33] = RTK_PIN_CONFIG(gpio_33, 0x7c, 7, 0, 1, 3, 2, 12, NA),
1519	[RTD1619B_ISO_HIF_DATA] = RTK_PIN_CONFIG(hif_data, 0x80, 0, 0, 1, 3, 2, 12, NA),
1520	[RTD1619B_ISO_HIF_EN] = RTK_PIN_CONFIG(hif_en, 0x80, 13, 0, 1, 3, 2, 12, NA),
1521};
1522
1523static const struct rtd_pin_sconfig_desc rtd1619b_iso_sconfigs[] = {
1524	RTK_PIN_SCONFIG(spi_si, 0x28, 18, 3, 21, 3, 24, 3),
1525	RTK_PIN_SCONFIG(spi_sck, 0x2c, 3, 3, 6, 3, 9, 3),
1526	RTK_PIN_SCONFIG(spi_ce_n, 0x2c, 16, 3, 19, 3, 22, 3),
1527	RTK_PIN_SCONFIG(spi_so, 0x2c, 29, 3, 32, 3, 35, 3),
1528	RTK_PIN_SCONFIG(emmc_clk, 0x30, 10, 3, 13, 3, 16, 3),
1529	RTK_PIN_SCONFIG(emmc_cmd, 0x34, 3, 3, 6, 3, 9, 3),
1530	RTK_PIN_SCONFIG(emmc_rst_n, 0x34, 17, 3, 20, 3, 23, 3),
1531	RTK_PIN_SCONFIG(emmc_dd_sb, 0x34, 30, 3, 33, 3, 36, 3),
1532	RTK_PIN_SCONFIG(emmc_data_5, 0x38, 11, 3, 14, 3, 17, 3),
1533	RTK_PIN_SCONFIG(emmc_data_3, 0x3c, 3, 3, 6, 3, 9, 3),
1534	RTK_PIN_SCONFIG(emmc_data_4, 0x3c, 16, 3, 19, 3, 22, 3),
1535	RTK_PIN_SCONFIG(emmc_data_0, 0x3c, 29, 3, 32, 3, 35, 3),
1536	RTK_PIN_SCONFIG(emmc_data_1, 0x40, 10, 3, 13, 3, 16, 3),
1537	RTK_PIN_SCONFIG(emmc_data_2, 0x44, 3, 3, 6, 3, 9, 3),
1538	RTK_PIN_SCONFIG(emmc_data_7, 0x44, 16, 3, 19, 3, 22, 3),
1539	RTK_PIN_SCONFIG(emmc_data_6, 0x44, 29, 3, 32, 3, 35, 3),
1540	RTK_PIN_SCONFIG(gpio_40, 0x68, 13, 3, 16, 3, 19, 3),
1541	RTK_PIN_SCONFIG(gpio_41, 0x6c, 3, 3, 6, 3, 9, 3),
1542	RTK_PIN_SCONFIG(gpio_42, 0x6c, 16, 3, 19, 3, 22, 3),
1543	RTK_PIN_SCONFIG(gpio_43, 0x70, 3, 3, 6, 3, 9, 3),
1544	RTK_PIN_SCONFIG(gpio_44, 0x70, 16, 3, 19, 3, 22, 3),
1545	RTK_PIN_SCONFIG(gpio_45, 0x70, 29, 3, 32, 3, 35, 3),
1546	RTK_PIN_SCONFIG(hif_rdy, 0x78, 3, 3, 6, 3, 9, 3),
1547	RTK_PIN_SCONFIG(hif_clk, 0x78, 16, 3, 19, 3, 22, 3),
1548	RTK_PIN_SCONFIG(gpio_32, 0x78, 29, 3, 32, 3, 35, 3),
1549	RTK_PIN_SCONFIG(gpio_33, 0x7c, 10, 3, 13, 3, 16, 3),
1550	RTK_PIN_SCONFIG(hif_data, 0x80, 3, 3, 6, 3, 9, 3),
1551	RTK_PIN_SCONFIG(hif_en, 0x80, 16, 3, 19, 3, 22, 3),
1552};
1553
1554static const struct rtd_pinctrl_desc rtd1619b_iso_pinctrl_desc = {
1555	.pins = rtd1619b_iso_pins,
1556	.num_pins = ARRAY_SIZE(rtd1619b_iso_pins),
1557	.groups = rtd1619b_pin_groups,
1558	.num_groups = ARRAY_SIZE(rtd1619b_pin_groups),
1559	.functions = rtd1619b_pin_functions,
1560	.num_functions = ARRAY_SIZE(rtd1619b_pin_functions),
1561	.muxes = rtd1619b_iso_muxes,
1562	.num_muxes = ARRAY_SIZE(rtd1619b_iso_muxes),
1563	.configs = rtd1619b_iso_configs,
1564	.num_configs = ARRAY_SIZE(rtd1619b_iso_configs),
1565	.sconfigs = rtd1619b_iso_sconfigs,
1566	.num_sconfigs = ARRAY_SIZE(rtd1619b_iso_sconfigs),
1567};
1568
1569static int rtd1619b_pinctrl_probe(struct platform_device *pdev)
1570{
1571	return rtd_pinctrl_probe(pdev, &rtd1619b_iso_pinctrl_desc);
1572}
1573
1574static const struct of_device_id rtd1619b_pinctrl_of_match[] = {
1575	{ .compatible = "realtek,rtd1619b-pinctrl", },
1576	{},
1577};
1578
1579static struct platform_driver rtd1619b_pinctrl_driver = {
1580	.driver = {
1581		.name = "rtd1619b-pinctrl",
1582		.of_match_table = rtd1619b_pinctrl_of_match,
1583	},
1584	.probe = rtd1619b_pinctrl_probe,
1585};
1586
1587static int __init rtd1619b_pinctrl_init(void)
1588{
1589	return platform_driver_register(&rtd1619b_pinctrl_driver);
1590}
1591arch_initcall(rtd1619b_pinctrl_init);
1592
1593static void __exit rtd1619b_pinctrl_exit(void)
1594{
1595	platform_driver_unregister(&rtd1619b_pinctrl_driver);
1596}
1597module_exit(rtd1619b_pinctrl_exit);
1598
1599MODULE_LICENSE("GPL");
1600MODULE_AUTHOR("Realtek Semiconductor Corporation");
1601MODULE_DESCRIPTION("Realtek DHC SoC RTD1619B pinctrl driver");
~/ Read-only file preview.