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