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