| // SPDX-License-Identifier: GPL-2.0-or-later | |
| /* | |
| * Realtek DHC 1625 pin controller driver | |
| * | |
| * Copyright (c) 2023 Realtek Semiconductor Corp. | |
| * | |
| */ | |
| #include <linux/module.h> | |
| #include <linux/of.h> | |
| #include <linux/platform_device.h> | |
| #include <linux/pinctrl/pinctrl.h> | |
| #include "pinctrl-rtd.h" | |
| enum rtd1625_iso_pins_enum { | |
| RTD1625_ISO_GPIO_8 = 0, | |
| RTD1625_ISO_GPIO_9, | |
| RTD1625_ISO_GPIO_10, | |
| RTD1625_ISO_GPIO_11, | |
| RTD1625_ISO_USB_CC1, | |
| RTD1625_ISO_USB_CC2, | |
| RTD1625_ISO_GPIO_45, | |
| RTD1625_ISO_GPIO_46, | |
| RTD1625_ISO_GPIO_47, | |
| RTD1625_ISO_GPIO_48, | |
| RTD1625_ISO_GPIO_49, | |
| RTD1625_ISO_GPIO_50, | |
| RTD1625_ISO_GPIO_52, | |
| RTD1625_ISO_GPIO_94, | |
| RTD1625_ISO_GPIO_95, | |
| RTD1625_ISO_GPIO_96, | |
| RTD1625_ISO_GPIO_97, | |
| RTD1625_ISO_GPIO_98, | |
| RTD1625_ISO_GPIO_99, | |
| RTD1625_ISO_GPIO_100, | |
| RTD1625_ISO_GPIO_101, | |
| RTD1625_ISO_GPIO_102, | |
| RTD1625_ISO_GPIO_103, | |
| RTD1625_ISO_GPIO_104, | |
| RTD1625_ISO_GPIO_105, | |
| RTD1625_ISO_GPIO_106, | |
| RTD1625_ISO_GPIO_107, | |
| RTD1625_ISO_GPIO_108, | |
| RTD1625_ISO_GPIO_109, | |
| RTD1625_ISO_GPIO_110, | |
| RTD1625_ISO_GPIO_111, | |
| RTD1625_ISO_GPIO_112, | |
| RTD1625_ISO_GPIO_128, | |
| RTD1625_ISO_GPIO_129, | |
| RTD1625_ISO_GPIO_130, | |
| RTD1625_ISO_GPIO_131, | |
| RTD1625_ISO_GPIO_145, | |
| RTD1625_ISO_GPIO_146, | |
| RTD1625_ISO_GPIO_147, | |
| RTD1625_ISO_GPIO_148, | |
| RTD1625_ISO_GPIO_149, | |
| RTD1625_ISO_GPIO_150, | |
| RTD1625_ISO_GPIO_151, | |
| RTD1625_ISO_GPIO_152, | |
| RTD1625_ISO_GPIO_153, | |
| RTD1625_ISO_GPIO_154, | |
| RTD1625_ISO_GPIO_155, | |
| RTD1625_ISO_GPIO_156, | |
| RTD1625_ISO_GPIO_157, | |
| RTD1625_ISO_GPIO_158, | |
| RTD1625_ISO_GPIO_159, | |
| RTD1625_ISO_GPIO_160, | |
| RTD1625_ISO_GPIO_161, | |
| RTD1625_ISO_GPIO_162, | |
| RTD1625_ISO_GPIO_163, | |
| RTD1625_ISO_HI_WIDTH, | |
| RTD1625_ISO_SF_EN, | |
| RTD1625_ISO_ARM_TRACE_DBG_EN, | |
| RTD1625_ISO_EJTAG_AUCPU0_LOC, | |
| RTD1625_ISO_EJTAG_AUCPU1_LOC, | |
| RTD1625_ISO_EJTAG_VE2_LOC, | |
| RTD1625_ISO_EJTAG_SCPU_LOC, | |
| RTD1625_ISO_EJTAG_PCPU_LOC, | |
| RTD1625_ISO_EJTAG_ACPU_LOC, | |
| RTD1625_ISO_I2C6_LOC, | |
| RTD1625_ISO_UART0_LOC, | |
| RTD1625_ISO_AI_I2S1_LOC, | |
| RTD1625_ISO_AO_I2S1_LOC, | |
| RTD1625_ISO_ETN_PHY_LOC, | |
| RTD1625_ISO_SPDIF_LOC, | |
| RTD1625_ISO_RGMII_VDSEL, | |
| RTD1625_ISO_CSI_VDSEL, | |
| RTD1625_ISO_SPDIF_IN_MODE, | |
| }; | |
| static const struct pinctrl_pin_desc rtd1625_iso_pins[] = { | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_8, "gpio_8"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_9, "gpio_9"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_10, "gpio_10"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_11, "gpio_11"), | |
| PINCTRL_PIN(RTD1625_ISO_USB_CC1, "usb_cc1"), | |
| PINCTRL_PIN(RTD1625_ISO_USB_CC2, "usb_cc2"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_45, "gpio_45"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_46, "gpio_46"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_47, "gpio_47"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_48, "gpio_48"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_49, "gpio_49"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_50, "gpio_50"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_52, "gpio_52"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_94, "gpio_94"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_95, "gpio_95"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_96, "gpio_96"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_97, "gpio_97"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_98, "gpio_98"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_99, "gpio_99"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_100, "gpio_100"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_101, "gpio_101"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_102, "gpio_102"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_103, "gpio_103"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_104, "gpio_104"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_105, "gpio_105"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_106, "gpio_106"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_107, "gpio_107"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_108, "gpio_108"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_109, "gpio_109"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_110, "gpio_110"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_111, "gpio_111"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_112, "gpio_112"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_128, "gpio_128"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_129, "gpio_129"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_130, "gpio_130"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_131, "gpio_131"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_145, "gpio_145"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_146, "gpio_146"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_147, "gpio_147"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_148, "gpio_148"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_149, "gpio_149"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_150, "gpio_150"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_151, "gpio_151"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_152, "gpio_152"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_153, "gpio_153"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_154, "gpio_154"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_155, "gpio_155"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_156, "gpio_156"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_157, "gpio_157"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_158, "gpio_158"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_159, "gpio_159"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_160, "gpio_160"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_161, "gpio_161"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_162, "gpio_162"), | |
| PINCTRL_PIN(RTD1625_ISO_GPIO_163, "gpio_163"), | |
| PINCTRL_PIN(RTD1625_ISO_HI_WIDTH, "hi_width"), | |
| PINCTRL_PIN(RTD1625_ISO_SF_EN, "sf_en"), | |
| PINCTRL_PIN(RTD1625_ISO_ARM_TRACE_DBG_EN, "arm_trace_dbg_en"), | |
| PINCTRL_PIN(RTD1625_ISO_EJTAG_AUCPU0_LOC, "ejtag_aucpu0_loc"), | |
| PINCTRL_PIN(RTD1625_ISO_EJTAG_AUCPU1_LOC, "ejtag_aucpu1_loc"), | |
| PINCTRL_PIN(RTD1625_ISO_EJTAG_VE2_LOC, "ejtag_ve2_loc"), | |
| PINCTRL_PIN(RTD1625_ISO_EJTAG_SCPU_LOC, "ejtag_scpu_loc"), | |
| PINCTRL_PIN(RTD1625_ISO_EJTAG_PCPU_LOC, "ejtag_pcpu_loc"), | |
| PINCTRL_PIN(RTD1625_ISO_EJTAG_ACPU_LOC, "ejtag_acpu_loc"), | |
| PINCTRL_PIN(RTD1625_ISO_I2C6_LOC, "i2c6_loc"), | |
| PINCTRL_PIN(RTD1625_ISO_UART0_LOC, "uart0_loc"), | |
| PINCTRL_PIN(RTD1625_ISO_AI_I2S1_LOC, "ai_i2s1_loc"), | |
| PINCTRL_PIN(RTD1625_ISO_AO_I2S1_LOC, "ao_i2s1_loc"), | |
| PINCTRL_PIN(RTD1625_ISO_ETN_PHY_LOC, "etn_phy_loc"), | |
| PINCTRL_PIN(RTD1625_ISO_SPDIF_LOC, "spdif_loc"), | |
| PINCTRL_PIN(RTD1625_ISO_RGMII_VDSEL, "rgmii_vdsel"), | |
| PINCTRL_PIN(RTD1625_ISO_CSI_VDSEL, "csi_vdsel"), | |
| PINCTRL_PIN(RTD1625_ISO_SPDIF_IN_MODE, "spdif_in_mode"), | |
| }; | |
| enum rtd1625_isom_pins_enum { | |
| RTD1625_ISOM_GPIO_0 = 0, | |
| RTD1625_ISOM_GPIO_1, | |
| RTD1625_ISOM_GPIO_28, | |
| RTD1625_ISOM_GPIO_29, | |
| RTD1625_ISOM_IR_RX_LOC, | |
| }; | |
| static const struct pinctrl_pin_desc rtd1625_isom_pins[] = { | |
| PINCTRL_PIN(RTD1625_ISOM_GPIO_0, "gpio_0"), | |
| PINCTRL_PIN(RTD1625_ISOM_GPIO_1, "gpio_1"), | |
| PINCTRL_PIN(RTD1625_ISOM_GPIO_28, "gpio_28"), | |
| PINCTRL_PIN(RTD1625_ISOM_GPIO_29, "gpio_29"), | |
| PINCTRL_PIN(RTD1625_ISOM_IR_RX_LOC, "ir_rx_loc"), | |
| }; | |
| enum rtd1625_ve4_pins_enum { | |
| RTD1625_VE4_GPIO_2 = 0, | |
| RTD1625_VE4_GPIO_3, | |
| RTD1625_VE4_GPIO_4, | |
| RTD1625_VE4_GPIO_5, | |
| RTD1625_VE4_GPIO_6, | |
| RTD1625_VE4_GPIO_7, | |
| RTD1625_VE4_GPIO_12, | |
| RTD1625_VE4_GPIO_13, | |
| RTD1625_VE4_GPIO_16, | |
| RTD1625_VE4_GPIO_17, | |
| RTD1625_VE4_GPIO_18, | |
| RTD1625_VE4_GPIO_19, | |
| RTD1625_VE4_GPIO_23, | |
| RTD1625_VE4_GPIO_24, | |
| RTD1625_VE4_GPIO_25, | |
| RTD1625_VE4_GPIO_30, | |
| RTD1625_VE4_GPIO_31, | |
| RTD1625_VE4_GPIO_32, | |
| RTD1625_VE4_GPIO_33, | |
| RTD1625_VE4_GPIO_34, | |
| RTD1625_VE4_GPIO_35, | |
| RTD1625_VE4_GPIO_42, | |
| RTD1625_VE4_GPIO_43, | |
| RTD1625_VE4_GPIO_44, | |
| RTD1625_VE4_GPIO_51, | |
| RTD1625_VE4_GPIO_53, | |
| RTD1625_VE4_GPIO_54, | |
| RTD1625_VE4_GPIO_55, | |
| RTD1625_VE4_GPIO_56, | |
| RTD1625_VE4_GPIO_57, | |
| RTD1625_VE4_GPIO_58, | |
| RTD1625_VE4_GPIO_59, | |
| RTD1625_VE4_GPIO_60, | |
| RTD1625_VE4_GPIO_61, | |
| RTD1625_VE4_GPIO_62, | |
| RTD1625_VE4_GPIO_63, | |
| RTD1625_VE4_GPIO_92, | |
| RTD1625_VE4_GPIO_93, | |
| RTD1625_VE4_GPIO_132, | |
| RTD1625_VE4_GPIO_133, | |
| RTD1625_VE4_GPIO_134, | |
| RTD1625_VE4_GPIO_135, | |
| RTD1625_VE4_GPIO_136, | |
| RTD1625_VE4_GPIO_137, | |
| RTD1625_VE4_GPIO_138, | |
| RTD1625_VE4_GPIO_139, | |
| RTD1625_VE4_GPIO_140, | |
| RTD1625_VE4_GPIO_141, | |
| RTD1625_VE4_GPIO_142, | |
| RTD1625_VE4_GPIO_143, | |
| RTD1625_VE4_GPIO_144, | |
| RTD1625_VE4_GPIO_164, | |
| RTD1625_VE4_GPIO_165, | |
| RTD1625_VE4_UART_LOC, | |
| }; | |
| static const struct pinctrl_pin_desc rtd1625_ve4_pins[] = { | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_2, "gpio_2"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_3, "gpio_3"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_4, "gpio_4"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_5, "gpio_5"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_6, "gpio_6"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_7, "gpio_7"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_12, "gpio_12"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_13, "gpio_13"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_16, "gpio_16"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_17, "gpio_17"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_18, "gpio_18"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_19, "gpio_19"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_23, "gpio_23"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_24, "gpio_24"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_25, "gpio_25"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_30, "gpio_30"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_31, "gpio_31"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_32, "gpio_32"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_33, "gpio_33"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_34, "gpio_34"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_35, "gpio_35"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_42, "gpio_42"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_43, "gpio_43"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_44, "gpio_44"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_51, "gpio_51"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_53, "gpio_53"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_54, "gpio_54"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_55, "gpio_55"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_56, "gpio_56"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_57, "gpio_57"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_58, "gpio_58"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_59, "gpio_59"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_60, "gpio_60"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_61, "gpio_61"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_62, "gpio_62"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_63, "gpio_63"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_92, "gpio_92"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_93, "gpio_93"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_132, "gpio_132"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_133, "gpio_133"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_134, "gpio_134"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_135, "gpio_135"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_136, "gpio_136"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_137, "gpio_137"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_138, "gpio_138"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_139, "gpio_139"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_140, "gpio_140"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_141, "gpio_141"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_142, "gpio_142"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_143, "gpio_143"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_144, "gpio_144"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_164, "gpio_164"), | |
| PINCTRL_PIN(RTD1625_VE4_GPIO_165, "gpio_165"), | |
| PINCTRL_PIN(RTD1625_VE4_UART_LOC, "ve4_uart_loc"), | |
| }; | |
| enum rtd1625_main2_pins_enum { | |
| RTD1625_MAIN2_GPIO_14 = 0, | |
| RTD1625_MAIN2_GPIO_15, | |
| RTD1625_MAIN2_GPIO_20, | |
| RTD1625_MAIN2_GPIO_21, | |
| RTD1625_MAIN2_GPIO_22, | |
| RTD1625_MAIN2_HIF_DATA, | |
| RTD1625_MAIN2_HIF_EN, | |
| RTD1625_MAIN2_HIF_RDY, | |
| RTD1625_MAIN2_HIF_CLK, | |
| RTD1625_MAIN2_GPIO_40, | |
| RTD1625_MAIN2_GPIO_41, | |
| RTD1625_MAIN2_GPIO_64, | |
| RTD1625_MAIN2_GPIO_65, | |
| RTD1625_MAIN2_GPIO_66, | |
| RTD1625_MAIN2_GPIO_67, | |
| RTD1625_MAIN2_EMMC_DATA_0, | |
| RTD1625_MAIN2_EMMC_DATA_1, | |
| RTD1625_MAIN2_EMMC_DATA_2, | |
| RTD1625_MAIN2_EMMC_DATA_3, | |
| RTD1625_MAIN2_EMMC_DATA_4, | |
| RTD1625_MAIN2_EMMC_DATA_5, | |
| RTD1625_MAIN2_EMMC_DATA_6, | |
| RTD1625_MAIN2_EMMC_DATA_7, | |
| RTD1625_MAIN2_EMMC_RST_N, | |
| RTD1625_MAIN2_EMMC_CMD, | |
| RTD1625_MAIN2_EMMC_CLK, | |
| RTD1625_MAIN2_EMMC_DD_SB, | |
| RTD1625_MAIN2_GPIO_80, | |
| RTD1625_MAIN2_GPIO_81, | |
| RTD1625_MAIN2_GPIO_82, | |
| RTD1625_MAIN2_GPIO_83, | |
| RTD1625_MAIN2_GPIO_84, | |
| RTD1625_MAIN2_GPIO_85, | |
| RTD1625_MAIN2_GPIO_86, | |
| RTD1625_MAIN2_GPIO_87, | |
| RTD1625_MAIN2_GPIO_88, | |
| RTD1625_MAIN2_GPIO_89, | |
| RTD1625_MAIN2_GPIO_90, | |
| RTD1625_MAIN2_GPIO_91, | |
| }; | |
| static const struct pinctrl_pin_desc rtd1625_main2_pins[] = { | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_14, "gpio_14"), | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_15, "gpio_15"), | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_20, "gpio_20"), | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_21, "gpio_21"), | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_22, "gpio_22"), | |
| PINCTRL_PIN(RTD1625_MAIN2_HIF_DATA, "hif_data"), | |
| PINCTRL_PIN(RTD1625_MAIN2_HIF_EN, "hif_en"), | |
| PINCTRL_PIN(RTD1625_MAIN2_HIF_RDY, "hif_rdy"), | |
| PINCTRL_PIN(RTD1625_MAIN2_HIF_CLK, "hif_clk"), | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_40, "gpio_40"), | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_41, "gpio_41"), | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_64, "gpio_64"), | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_65, "gpio_65"), | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_66, "gpio_66"), | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_67, "gpio_67"), | |
| PINCTRL_PIN(RTD1625_MAIN2_EMMC_DATA_0, "emmc_data_0"), | |
| PINCTRL_PIN(RTD1625_MAIN2_EMMC_DATA_1, "emmc_data_1"), | |
| PINCTRL_PIN(RTD1625_MAIN2_EMMC_DATA_2, "emmc_data_2"), | |
| PINCTRL_PIN(RTD1625_MAIN2_EMMC_DATA_3, "emmc_data_3"), | |
| PINCTRL_PIN(RTD1625_MAIN2_EMMC_DATA_4, "emmc_data_4"), | |
| PINCTRL_PIN(RTD1625_MAIN2_EMMC_DATA_5, "emmc_data_5"), | |
| PINCTRL_PIN(RTD1625_MAIN2_EMMC_DATA_6, "emmc_data_6"), | |
| PINCTRL_PIN(RTD1625_MAIN2_EMMC_DATA_7, "emmc_data_7"), | |
| PINCTRL_PIN(RTD1625_MAIN2_EMMC_RST_N, "emmc_rst_n"), | |
| PINCTRL_PIN(RTD1625_MAIN2_EMMC_CMD, "emmc_cmd"), | |
| PINCTRL_PIN(RTD1625_MAIN2_EMMC_CLK, "emmc_clk"), | |
| PINCTRL_PIN(RTD1625_MAIN2_EMMC_DD_SB, "emmc_dd_sb"), | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_80, "gpio_80"), | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_81, "gpio_81"), | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_82, "gpio_82"), | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_83, "gpio_83"), | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_84, "gpio_84"), | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_85, "gpio_85"), | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_86, "gpio_86"), | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_87, "gpio_87"), | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_88, "gpio_88"), | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_89, "gpio_89"), | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_90, "gpio_90"), | |
| PINCTRL_PIN(RTD1625_MAIN2_GPIO_91, "gpio_91"), | |
| }; | |
| #define DECLARE_RTD1625_PIN(_pin, _name) \ | |
| static const unsigned int rtd1625_##_name##_pins[] = { _pin } | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_8, gpio_8); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_9, gpio_9); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_10, gpio_10); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_11, gpio_11); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_USB_CC1, usb_cc1); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_USB_CC2, usb_cc2); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_45, gpio_45); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_46, gpio_46); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_47, gpio_47); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_48, gpio_48); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_49, gpio_49); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_50, gpio_50); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_52, gpio_52); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_94, gpio_94); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_95, gpio_95); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_96, gpio_96); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_97, gpio_97); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_98, gpio_98); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_99, gpio_99); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_100, gpio_100); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_101, gpio_101); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_102, gpio_102); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_103, gpio_103); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_104, gpio_104); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_105, gpio_105); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_106, gpio_106); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_107, gpio_107); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_108, gpio_108); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_109, gpio_109); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_110, gpio_110); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_111, gpio_111); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_112, gpio_112); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_128, gpio_128); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_129, gpio_129); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_130, gpio_130); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_131, gpio_131); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_145, gpio_145); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_146, gpio_146); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_147, gpio_147); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_148, gpio_148); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_149, gpio_149); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_150, gpio_150); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_151, gpio_151); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_152, gpio_152); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_153, gpio_153); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_154, gpio_154); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_155, gpio_155); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_156, gpio_156); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_157, gpio_157); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_158, gpio_158); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_159, gpio_159); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_160, gpio_160); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_161, gpio_161); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_162, gpio_162); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_GPIO_163, gpio_163); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_HI_WIDTH, hi_width); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_SF_EN, sf_en); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_ARM_TRACE_DBG_EN, arm_trace_dbg_en); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_EJTAG_AUCPU0_LOC, ejtag_aucpu0_loc); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_EJTAG_AUCPU1_LOC, ejtag_aucpu1_loc); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_EJTAG_VE2_LOC, ejtag_ve2_loc); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_EJTAG_SCPU_LOC, ejtag_scpu_loc); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_EJTAG_PCPU_LOC, ejtag_pcpu_loc); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_EJTAG_ACPU_LOC, ejtag_acpu_loc); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_I2C6_LOC, i2c6_loc); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_UART0_LOC, uart0_loc); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_AI_I2S1_LOC, ai_i2s1_loc); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_AO_I2S1_LOC, ao_i2s1_loc); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_ETN_PHY_LOC, etn_phy_loc); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_SPDIF_LOC, spdif_loc); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_RGMII_VDSEL, rgmii_vdsel); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_CSI_VDSEL, csi_vdsel); | |
| DECLARE_RTD1625_PIN(RTD1625_ISO_SPDIF_IN_MODE, spdif_in_mode); | |
| DECLARE_RTD1625_PIN(RTD1625_ISOM_GPIO_0, gpio_0); | |
| DECLARE_RTD1625_PIN(RTD1625_ISOM_GPIO_1, gpio_1); | |
| DECLARE_RTD1625_PIN(RTD1625_ISOM_GPIO_28, gpio_28); | |
| DECLARE_RTD1625_PIN(RTD1625_ISOM_GPIO_29, gpio_29); | |
| DECLARE_RTD1625_PIN(RTD1625_ISOM_IR_RX_LOC, ir_rx_loc); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_2, gpio_2); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_3, gpio_3); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_4, gpio_4); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_5, gpio_5); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_6, gpio_6); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_7, gpio_7); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_12, gpio_12); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_13, gpio_13); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_16, gpio_16); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_17, gpio_17); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_18, gpio_18); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_19, gpio_19); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_23, gpio_23); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_24, gpio_24); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_25, gpio_25); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_30, gpio_30); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_31, gpio_31); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_32, gpio_32); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_33, gpio_33); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_34, gpio_34); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_35, gpio_35); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_42, gpio_42); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_43, gpio_43); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_44, gpio_44); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_51, gpio_51); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_53, gpio_53); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_54, gpio_54); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_55, gpio_55); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_56, gpio_56); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_57, gpio_57); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_58, gpio_58); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_59, gpio_59); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_60, gpio_60); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_61, gpio_61); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_62, gpio_62); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_63, gpio_63); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_92, gpio_92); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_93, gpio_93); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_132, gpio_132); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_133, gpio_133); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_134, gpio_134); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_135, gpio_135); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_136, gpio_136); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_137, gpio_137); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_138, gpio_138); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_139, gpio_139); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_140, gpio_140); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_141, gpio_141); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_142, gpio_142); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_143, gpio_143); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_144, gpio_144); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_164, gpio_164); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_GPIO_165, gpio_165); | |
| DECLARE_RTD1625_PIN(RTD1625_VE4_UART_LOC, ve4_uart_loc); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_RST_N, emmc_rst_n); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_DD_SB, emmc_dd_sb); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_CLK, emmc_clk); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_CMD, emmc_cmd); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_DATA_0, emmc_data_0); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_DATA_1, emmc_data_1); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_DATA_2, emmc_data_2); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_DATA_3, emmc_data_3); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_DATA_4, emmc_data_4); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_DATA_5, emmc_data_5); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_DATA_6, emmc_data_6); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_EMMC_DATA_7, emmc_data_7); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_14, gpio_14); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_15, gpio_15); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_20, gpio_20); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_21, gpio_21); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_22, gpio_22); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_HIF_DATA, hif_data); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_HIF_EN, hif_en); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_HIF_RDY, hif_rdy); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_HIF_CLK, hif_clk); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_40, gpio_40); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_41, gpio_41); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_64, gpio_64); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_65, gpio_65); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_66, gpio_66); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_67, gpio_67); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_80, gpio_80); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_81, gpio_81); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_82, gpio_82); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_83, gpio_83); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_84, gpio_84); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_85, gpio_85); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_86, gpio_86); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_87, gpio_87); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_88, gpio_88); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_89, gpio_89); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_90, gpio_90); | |
| DECLARE_RTD1625_PIN(RTD1625_MAIN2_GPIO_91, gpio_91); | |
| #define RTD1625_GROUP(_name) \ | |
| { \ | |
| .name = # _name, \ | |
| .pins = rtd1625_ ## _name ## _pins, \ | |
| .num_pins = ARRAY_SIZE(rtd1625_ ## _name ## _pins), \ | |
| } | |
| static const struct rtd_pin_group_desc rtd1625_iso_pin_groups[] = { | |
| RTD1625_GROUP(gpio_8), | |
| RTD1625_GROUP(gpio_9), | |
| RTD1625_GROUP(gpio_10), | |
| RTD1625_GROUP(gpio_11), | |
| RTD1625_GROUP(usb_cc1), | |
| RTD1625_GROUP(usb_cc2), | |
| RTD1625_GROUP(gpio_45), | |
| RTD1625_GROUP(gpio_46), | |
| RTD1625_GROUP(gpio_47), | |
| RTD1625_GROUP(gpio_48), | |
| RTD1625_GROUP(gpio_49), | |
| RTD1625_GROUP(gpio_50), | |
| RTD1625_GROUP(gpio_52), | |
| RTD1625_GROUP(gpio_94), | |
| RTD1625_GROUP(gpio_95), | |
| RTD1625_GROUP(gpio_96), | |
| RTD1625_GROUP(gpio_97), | |
| RTD1625_GROUP(gpio_98), | |
| RTD1625_GROUP(gpio_99), | |
| RTD1625_GROUP(gpio_100), | |
| RTD1625_GROUP(gpio_101), | |
| RTD1625_GROUP(gpio_102), | |
| RTD1625_GROUP(gpio_103), | |
| RTD1625_GROUP(gpio_104), | |
| RTD1625_GROUP(gpio_105), | |
| RTD1625_GROUP(gpio_106), | |
| RTD1625_GROUP(gpio_107), | |
| RTD1625_GROUP(gpio_108), | |
| RTD1625_GROUP(gpio_109), | |
| RTD1625_GROUP(gpio_110), | |
| RTD1625_GROUP(gpio_111), | |
| RTD1625_GROUP(gpio_112), | |
| RTD1625_GROUP(gpio_128), | |
| RTD1625_GROUP(gpio_129), | |
| RTD1625_GROUP(gpio_130), | |
| RTD1625_GROUP(gpio_131), | |
| RTD1625_GROUP(gpio_145), | |
| RTD1625_GROUP(gpio_146), | |
| RTD1625_GROUP(gpio_147), | |
| RTD1625_GROUP(gpio_148), | |
| RTD1625_GROUP(gpio_149), | |
| RTD1625_GROUP(gpio_150), | |
| RTD1625_GROUP(gpio_151), | |
| RTD1625_GROUP(gpio_152), | |
| RTD1625_GROUP(gpio_153), | |
| RTD1625_GROUP(gpio_154), | |
| RTD1625_GROUP(gpio_155), | |
| RTD1625_GROUP(gpio_156), | |
| RTD1625_GROUP(gpio_157), | |
| RTD1625_GROUP(gpio_158), | |
| RTD1625_GROUP(gpio_159), | |
| RTD1625_GROUP(gpio_160), | |
| RTD1625_GROUP(gpio_161), | |
| RTD1625_GROUP(gpio_162), | |
| RTD1625_GROUP(gpio_163), | |
| RTD1625_GROUP(hi_width), | |
| RTD1625_GROUP(sf_en), | |
| RTD1625_GROUP(arm_trace_dbg_en), | |
| RTD1625_GROUP(ejtag_aucpu0_loc), | |
| RTD1625_GROUP(ejtag_aucpu1_loc), | |
| RTD1625_GROUP(ejtag_ve2_loc), | |
| RTD1625_GROUP(ejtag_scpu_loc), | |
| RTD1625_GROUP(ejtag_pcpu_loc), | |
| RTD1625_GROUP(ejtag_acpu_loc), | |
| RTD1625_GROUP(i2c6_loc), | |
| RTD1625_GROUP(uart0_loc), | |
| RTD1625_GROUP(ai_i2s1_loc), | |
| RTD1625_GROUP(ao_i2s1_loc), | |
| RTD1625_GROUP(etn_phy_loc), | |
| RTD1625_GROUP(spdif_loc), | |
| RTD1625_GROUP(rgmii_vdsel), | |
| RTD1625_GROUP(csi_vdsel), | |
| RTD1625_GROUP(spdif_in_mode), | |
| }; | |
| static const struct rtd_pin_group_desc rtd1625_isom_pin_groups[] = { | |
| RTD1625_GROUP(gpio_0), | |
| RTD1625_GROUP(gpio_1), | |
| RTD1625_GROUP(gpio_28), | |
| RTD1625_GROUP(gpio_29), | |
| RTD1625_GROUP(ir_rx_loc), | |
| }; | |
| static const struct rtd_pin_group_desc rtd1625_ve4_pin_groups[] = { | |
| RTD1625_GROUP(gpio_2), | |
| RTD1625_GROUP(gpio_3), | |
| RTD1625_GROUP(gpio_4), | |
| RTD1625_GROUP(gpio_5), | |
| RTD1625_GROUP(gpio_6), | |
| RTD1625_GROUP(gpio_7), | |
| RTD1625_GROUP(gpio_12), | |
| RTD1625_GROUP(gpio_13), | |
| RTD1625_GROUP(gpio_16), | |
| RTD1625_GROUP(gpio_17), | |
| RTD1625_GROUP(gpio_18), | |
| RTD1625_GROUP(gpio_19), | |
| RTD1625_GROUP(gpio_23), | |
| RTD1625_GROUP(gpio_24), | |
| RTD1625_GROUP(gpio_25), | |
| RTD1625_GROUP(gpio_30), | |
| RTD1625_GROUP(gpio_31), | |
| RTD1625_GROUP(gpio_32), | |
| RTD1625_GROUP(gpio_33), | |
| RTD1625_GROUP(gpio_34), | |
| RTD1625_GROUP(gpio_35), | |
| RTD1625_GROUP(gpio_42), | |
| RTD1625_GROUP(gpio_43), | |
| RTD1625_GROUP(gpio_44), | |
| RTD1625_GROUP(gpio_51), | |
| RTD1625_GROUP(gpio_53), | |
| RTD1625_GROUP(gpio_54), | |
| RTD1625_GROUP(gpio_55), | |
| RTD1625_GROUP(gpio_56), | |
| RTD1625_GROUP(gpio_57), | |
| RTD1625_GROUP(gpio_58), | |
| RTD1625_GROUP(gpio_59), | |
| RTD1625_GROUP(gpio_60), | |
| RTD1625_GROUP(gpio_61), | |
| RTD1625_GROUP(gpio_62), | |
| RTD1625_GROUP(gpio_63), | |
| RTD1625_GROUP(gpio_92), | |
| RTD1625_GROUP(gpio_93), | |
| RTD1625_GROUP(gpio_132), | |
| RTD1625_GROUP(gpio_133), | |
| RTD1625_GROUP(gpio_134), | |
| RTD1625_GROUP(gpio_135), | |
| RTD1625_GROUP(gpio_136), | |
| RTD1625_GROUP(gpio_137), | |
| RTD1625_GROUP(gpio_138), | |
| RTD1625_GROUP(gpio_139), | |
| RTD1625_GROUP(gpio_140), | |
| RTD1625_GROUP(gpio_141), | |
| RTD1625_GROUP(gpio_142), | |
| RTD1625_GROUP(gpio_143), | |
| RTD1625_GROUP(gpio_144), | |
| RTD1625_GROUP(gpio_164), | |
| RTD1625_GROUP(gpio_165), | |
| RTD1625_GROUP(ve4_uart_loc), | |
| }; | |
| static const struct rtd_pin_group_desc rtd1625_main2_pin_groups[] = { | |
| RTD1625_GROUP(gpio_14), | |
| RTD1625_GROUP(gpio_15), | |
| RTD1625_GROUP(gpio_20), | |
| RTD1625_GROUP(gpio_21), | |
| RTD1625_GROUP(gpio_22), | |
| RTD1625_GROUP(hif_data), | |
| RTD1625_GROUP(hif_en), | |
| RTD1625_GROUP(hif_rdy), | |
| RTD1625_GROUP(hif_clk), | |
| RTD1625_GROUP(gpio_40), | |
| RTD1625_GROUP(gpio_41), | |
| RTD1625_GROUP(gpio_64), | |
| RTD1625_GROUP(gpio_65), | |
| RTD1625_GROUP(gpio_66), | |
| RTD1625_GROUP(gpio_67), | |
| RTD1625_GROUP(emmc_data_0), | |
| RTD1625_GROUP(emmc_data_1), | |
| RTD1625_GROUP(emmc_data_2), | |
| RTD1625_GROUP(emmc_data_3), | |
| RTD1625_GROUP(emmc_data_4), | |
| RTD1625_GROUP(emmc_data_5), | |
| RTD1625_GROUP(emmc_data_6), | |
| RTD1625_GROUP(emmc_data_7), | |
| RTD1625_GROUP(emmc_rst_n), | |
| RTD1625_GROUP(emmc_cmd), | |
| RTD1625_GROUP(emmc_clk), | |
| RTD1625_GROUP(emmc_dd_sb), | |
| RTD1625_GROUP(gpio_80), | |
| RTD1625_GROUP(gpio_81), | |
| RTD1625_GROUP(gpio_82), | |
| RTD1625_GROUP(gpio_83), | |
| RTD1625_GROUP(gpio_84), | |
| RTD1625_GROUP(gpio_85), | |
| RTD1625_GROUP(gpio_86), | |
| RTD1625_GROUP(gpio_87), | |
| RTD1625_GROUP(gpio_88), | |
| RTD1625_GROUP(gpio_89), | |
| RTD1625_GROUP(gpio_90), | |
| RTD1625_GROUP(gpio_91), | |
| }; | |
| static const char * const rtd1625_iso_gpio_groups[] = { | |
| "gpio_10", "gpio_100", "gpio_101", "gpio_102", "gpio_103", "gpio_104", | |
| "gpio_105", "gpio_106", "gpio_107", "gpio_108", "gpio_109", "gpio_11", | |
| "gpio_110", "gpio_111", "gpio_112", "gpio_128", "gpio_129", "gpio_130", | |
| "gpio_131", "gpio_145", "gpio_146", "gpio_147", "gpio_148", "gpio_149", | |
| "gpio_150", "gpio_151", "gpio_152", "gpio_153", "gpio_154", "gpio_155", | |
| "gpio_156", "gpio_157", "gpio_158", "gpio_159", "gpio_160", "gpio_161", | |
| "gpio_162", "gpio_163", "gpio_45", "gpio_46", "gpio_47", "gpio_48", | |
| "gpio_49", "gpio_50", "gpio_52", "gpio_8", "gpio_9", "gpio_94", "gpio_95", | |
| "gpio_96", "gpio_97", "gpio_98", "gpio_99", "usb_cc1", "usb_cc2" | |
| }; | |
| static const char * const rtd1625_iso_uart1_groups[] = { | |
| "gpio_10", "gpio_11", "gpio_8", "gpio_9" | |
| }; | |
| static const char * const rtd1625_iso_iso_tristate_groups[] = { | |
| "gpio_10", "gpio_100", "gpio_101", "gpio_102", "gpio_103", "gpio_104", | |
| "gpio_105", "gpio_106", "gpio_107", "gpio_108", "gpio_109", "gpio_11", | |
| "gpio_110", "gpio_111", "gpio_112", "gpio_128", "gpio_129", "gpio_130", | |
| "gpio_131", "gpio_145", "gpio_146", "gpio_147", "gpio_148", "gpio_149", | |
| "gpio_150", "gpio_151", "gpio_152", "gpio_153", "gpio_154", "gpio_155", | |
| "gpio_156", "gpio_157", "gpio_158", "gpio_159", "gpio_160", "gpio_161", | |
| "gpio_162", "gpio_163", "gpio_45", "gpio_46", "gpio_47", "gpio_48", | |
| "gpio_49", "gpio_50", "gpio_52", "gpio_8", "gpio_9", "gpio_94", "gpio_95", | |
| "gpio_96", "gpio_97", "gpio_98", "gpio_99", "usb_cc1", "usb_cc2" | |
| }; | |
| static const char * const rtd1625_iso_usb_cc1_groups[] = { | |
| "usb_cc1" | |
| }; | |
| static const char * const rtd1625_iso_usb_cc2_groups[] = { | |
| "usb_cc2" | |
| }; | |
| static const char * const rtd1625_iso_sdio_groups[] = { | |
| "gpio_45", "gpio_46", "gpio_47", "gpio_48", "gpio_49", "gpio_50" | |
| }; | |
| static const char * const rtd1625_iso_scpu_ejtag_loc2_groups[] = { | |
| "ejtag_scpu_loc", "gpio_45", "gpio_46", "gpio_47", "gpio_48", "gpio_49" | |
| }; | |
| static const char * const rtd1625_iso_acpu_ejtag_loc2_groups[] = { | |
| "ejtag_acpu_loc", "gpio_45", "gpio_46", "gpio_47", "gpio_48", "gpio_49" | |
| }; | |
| static const char * const rtd1625_iso_pcpu_ejtag_loc2_groups[] = { | |
| "ejtag_pcpu_loc", "gpio_45", "gpio_46", "gpio_47", "gpio_48", "gpio_49" | |
| }; | |
| static const char * const rtd1625_iso_aucpu0_ejtag_loc2_groups[] = { | |
| "ejtag_aucpu0_loc", "gpio_45", "gpio_46", "gpio_47", "gpio_48", "gpio_49" | |
| }; | |
| static const char * const rtd1625_iso_ve2_ejtag_loc2_groups[] = { | |
| "ejtag_ve2_loc", "gpio_45", "gpio_46", "gpio_47", "gpio_48", "gpio_49" | |
| }; | |
| static const char * const rtd1625_iso_aucpu1_ejtag_loc2_groups[] = { | |
| "ejtag_aucpu1_loc", "gpio_45", "gpio_46", "gpio_47", "gpio_48", "gpio_49" | |
| }; | |
| static const char * const rtd1625_iso_pwm4_groups[] = { | |
| "gpio_52" | |
| }; | |
| static const char * const rtd1625_iso_uart7_groups[] = { | |
| "gpio_94", "gpio_95" | |
| }; | |
| static const char * const rtd1625_iso_pwm2_loc1_groups[] = { | |
| "gpio_95" | |
| }; | |
| static const char * const rtd1625_iso_uart8_groups[] = { | |
| "gpio_96", "gpio_97" | |
| }; | |
| static const char * const rtd1625_iso_pwm3_loc1_groups[] = { | |
| "gpio_97" | |
| }; | |
| static const char * const rtd1625_iso_ai_tdm0_groups[] = { | |
| "gpio_100", "gpio_101", "gpio_102", "gpio_98" | |
| }; | |
| static const char * const rtd1625_iso_vtc_i2s_groups[] = { | |
| "gpio_100", "gpio_101", "gpio_102", "gpio_161", "gpio_98" | |
| }; | |
| static const char * const rtd1625_iso_ai_i2s0_groups[] = { | |
| "gpio_100", "gpio_101", "gpio_102", "gpio_156", "gpio_160", "gpio_161", | |
| "gpio_98" | |
| }; | |
| static const char * const rtd1625_iso_ao_tdm0_groups[] = { | |
| "gpio_100", "gpio_101", "gpio_102", "gpio_99" | |
| }; | |
| static const char * const rtd1625_iso_ao_i2s0_groups[] = { | |
| "gpio_100", "gpio_101", "gpio_102", "gpio_112", "gpio_99" | |
| }; | |
| static const char * const rtd1625_iso_ai_tdm1_groups[] = { | |
| "gpio_103", "gpio_105", "gpio_106", "gpio_107" | |
| }; | |
| static const char * const rtd1625_iso_ai_i2s1_loc0_groups[] = { | |
| "ai_i2s1_loc", "gpio_103", "gpio_105", "gpio_106", "gpio_107" | |
| }; | |
| static const char * const rtd1625_iso_ao_i2s0_loc1_groups[] = { | |
| "gpio_103", "gpio_107" | |
| }; | |
| static const char * const rtd1625_iso_ao_tdm1_loc0_groups[] = { | |
| "gpio_104" | |
| }; | |
| static const char * const rtd1625_iso_ao_i2s1_loc0_groups[] = { | |
| "ao_i2s1_loc", "gpio_104", "gpio_105", "gpio_106", "gpio_107" | |
| }; | |
| static const char * const rtd1625_iso_ao_tdm1_groups[] = { | |
| "gpio_105", "gpio_106", "gpio_107" | |
| }; | |
| static const char * const rtd1625_iso_ai_tdm2_groups[] = { | |
| "gpio_108", "gpio_110", "gpio_111", "gpio_112" | |
| }; | |
| static const char * const rtd1625_iso_pcm_groups[] = { | |
| "gpio_108", "gpio_109", "gpio_110", "gpio_111" | |
| }; | |
| static const char * const rtd1625_iso_ai_i2s2_groups[] = { | |
| "gpio_108", "gpio_110", "gpio_111", "gpio_112" | |
| }; | |
| static const char * const rtd1625_iso_ao_tdm2_groups[] = { | |
| "gpio_109", "gpio_110", "gpio_111", "gpio_112" | |
| }; | |
| static const char * const rtd1625_iso_ao_i2s2_groups[] = { | |
| "gpio_109", "gpio_110", "gpio_111", "gpio_112" | |
| }; | |
| static const char * const rtd1625_iso_vtc_ao_i2s_groups[] = { | |
| "gpio_109", "gpio_110", "gpio_111", "gpio_112" | |
| }; | |
| static const char * const rtd1625_iso_scpu_ejtag_loc0_groups[] = { | |
| "ejtag_scpu_loc", "gpio_112" | |
| }; | |
| static const char * const rtd1625_iso_acpu_ejtag_loc0_groups[] = { | |
| "ejtag_acpu_loc", "gpio_112" | |
| }; | |
| static const char * const rtd1625_iso_pcpu_ejtag_loc0_groups[] = { | |
| "ejtag_pcpu_loc", "gpio_112" | |
| }; | |
| static const char * const rtd1625_iso_aucpu0_ejtag_loc0_groups[] = { | |
| "ejtag_aucpu0_loc", "gpio_112" | |
| }; | |
| static const char * const rtd1625_iso_ve2_ejtag_loc0_groups[] = { | |
| "ejtag_ve2_loc", "gpio_112" | |
| }; | |
| static const char * const rtd1625_iso_gpu_ejtag_loc0_groups[] = { | |
| "gpio_112" | |
| }; | |
| static const char * const rtd1625_iso_ao_tdm1_loc1_groups[] = { | |
| "gpio_112" | |
| }; | |
| static const char * const rtd1625_iso_aucpu1_ejtag_loc0_groups[] = { | |
| "ejtag_aucpu1_loc", "gpio_112" | |
| }; | |
| static const char * const rtd1625_iso_edptx_hdp_groups[] = { | |
| "gpio_128" | |
| }; | |
| static const char * const rtd1625_iso_pwm5_groups[] = { | |
| "gpio_130" | |
| }; | |
| static const char * const rtd1625_iso_vi0_dtv_groups[] = { | |
| "gpio_145", "gpio_146", "gpio_147", "gpio_148", "gpio_149", "gpio_150", | |
| "gpio_151", "gpio_152", "gpio_153", "gpio_154", "gpio_155", "gpio_156", | |
| "gpio_157", "gpio_158", "gpio_159", "gpio_160", "gpio_161" | |
| }; | |
| static const char * const rtd1625_iso_vi1_dtv_groups[] = { | |
| "gpio_154", "gpio_155", "gpio_156", "gpio_157", "gpio_158", "gpio_159", | |
| "gpio_160", "gpio_161", "gpio_162" | |
| }; | |
| static const char * const rtd1625_iso_ao_i2s0_loc0_groups[] = { | |
| "gpio_154", "gpio_155" | |
| }; | |
| static const char * const rtd1625_iso_dmic0_groups[] = { | |
| "gpio_156", "gpio_157" | |
| }; | |
| static const char * const rtd1625_iso_vtc_dmic_groups[] = { | |
| "gpio_156", "gpio_157", "gpio_158", "gpio_159" | |
| }; | |
| static const char * const rtd1625_iso_ai_i2s1_loc1_groups[] = { | |
| "ai_i2s1_loc", "gpio_157", "gpio_158", "gpio_159", "gpio_160" | |
| }; | |
| static const char * const rtd1625_iso_ao_i2s1_loc1_groups[] = { | |
| "ao_i2s1_loc", "gpio_157", "gpio_158", "gpio_159", "gpio_161" | |
| }; | |
| static const char * const rtd1625_iso_dmic1_groups[] = { | |
| "gpio_158", "gpio_159" | |
| }; | |
| static const char * const rtd1625_iso_dmic2_groups[] = { | |
| "gpio_160", "gpio_161" | |
| }; | |
| static const char * const rtd1625_iso_pwm0_loc2_groups[] = { | |
| "gpio_162" | |
| }; | |
| static const char * const rtd1625_iso_spdif_in_coaxial_groups[] = { | |
| "gpio_163", "spdif_in_mode" | |
| }; | |
| static const char * const rtd1625_iso_spdif_in_gpio_groups[] = { | |
| "spdif_in_mode" | |
| }; | |
| static const char * const rtd1625_iso_hi_width_disable_groups[] = { | |
| "hi_width" | |
| }; | |
| static const char * const rtd1625_iso_hi_width_1bit_groups[] = { | |
| "hi_width" | |
| }; | |
| static const char * const rtd1625_iso_sf_disable_groups[] = { | |
| "sf_en" | |
| }; | |
| static const char * const rtd1625_iso_sf_enable_groups[] = { | |
| "sf_en" | |
| }; | |
| static const char * const rtd1625_iso_arm_trace_debug_disable_groups[] = { | |
| "arm_trace_dbg_en" | |
| }; | |
| static const char * const rtd1625_iso_arm_trace_debug_enable_groups[] = { | |
| "arm_trace_dbg_en" | |
| }; | |
| static const char * const rtd1625_iso_aucpu0_ejtag_loc1_groups[] = { | |
| "ejtag_aucpu0_loc" | |
| }; | |
| static const char * const rtd1625_iso_aucpu1_ejtag_loc1_groups[] = { | |
| "ejtag_aucpu1_loc" | |
| }; | |
| static const char * const rtd1625_iso_ve2_ejtag_loc1_groups[] = { | |
| "ejtag_ve2_loc" | |
| }; | |
| static const char * const rtd1625_iso_scpu_ejtag_loc1_groups[] = { | |
| "ejtag_scpu_loc" | |
| }; | |
| static const char * const rtd1625_iso_pcpu_ejtag_loc1_groups[] = { | |
| "ejtag_pcpu_loc" | |
| }; | |
| static const char * const rtd1625_iso_acpu_ejtag_loc1_groups[] = { | |
| "ejtag_acpu_loc" | |
| }; | |
| static const char * const rtd1625_iso_i2c6_loc0_groups[] = { | |
| "i2c6_loc" | |
| }; | |
| static const char * const rtd1625_iso_i2c6_loc1_groups[] = { | |
| "i2c6_loc" | |
| }; | |
| static const char * const rtd1625_iso_uart0_loc0_groups[] = { | |
| "uart0_loc" | |
| }; | |
| static const char * const rtd1625_iso_uart0_loc1_groups[] = { | |
| "uart0_loc" | |
| }; | |
| static const char * const rtd1625_iso_etn_phy_loc0_groups[] = { | |
| "etn_phy_loc" | |
| }; | |
| static const char * const rtd1625_iso_etn_phy_loc1_groups[] = { | |
| "etn_phy_loc" | |
| }; | |
| static const char * const rtd1625_iso_spdif_loc0_groups[] = { | |
| "spdif_loc" | |
| }; | |
| static const char * const rtd1625_iso_spdif_loc1_groups[] = { | |
| "spdif_loc" | |
| }; | |
| static const char * const rtd1625_iso_rgmii_1v2_groups[] = { | |
| "rgmii_vdsel" | |
| }; | |
| static const char * const rtd1625_iso_rgmii_1v8_groups[] = { | |
| "rgmii_vdsel" | |
| }; | |
| static const char * const rtd1625_iso_rgmii_2v5_groups[] = { | |
| "rgmii_vdsel" | |
| }; | |
| static const char * const rtd1625_iso_rgmii_3v3_groups[] = { | |
| "rgmii_vdsel" | |
| }; | |
| static const char * const rtd1625_iso_csi_1v2_groups[] = { | |
| "csi_vdsel" | |
| }; | |
| static const char * const rtd1625_iso_csi_1v8_groups[] = { | |
| "csi_vdsel" | |
| }; | |
| static const char * const rtd1625_iso_csi_2v5_groups[] = { | |
| "csi_vdsel" | |
| }; | |
| static const char * const rtd1625_iso_csi_3v3_groups[] = { | |
| "csi_vdsel" | |
| }; | |
| static const char * const rtd1625_isom_gpio_groups[] = { | |
| "gpio_0", "gpio_1", "gpio_28", "gpio_29" | |
| }; | |
| static const char * const rtd1625_isom_pctrl_groups[] = { | |
| "gpio_0", "gpio_1", "gpio_28", "gpio_29" | |
| }; | |
| static const char * const rtd1625_isom_iso_tristate_groups[] = { | |
| "gpio_0", "gpio_1", "gpio_28", "gpio_29" | |
| }; | |
| static const char * const rtd1625_isom_ir_rx_loc1_groups[] = { | |
| "gpio_1", "ir_rx_loc" | |
| }; | |
| static const char * const rtd1625_isom_uart10_groups[] = { | |
| "gpio_28", "gpio_29" | |
| }; | |
| static const char * const rtd1625_isom_isom_dbg_out_groups[] = { | |
| "gpio_28", "gpio_29" | |
| }; | |
| static const char * const rtd1625_isom_ir_rx_loc0_groups[] = { | |
| "gpio_29", "ir_rx_loc" | |
| }; | |
| static const char * const rtd1625_ve4_gpio_groups[] = { | |
| "gpio_12", "gpio_13", "gpio_132", "gpio_133", "gpio_134", "gpio_135", | |
| "gpio_136", "gpio_137", "gpio_138", "gpio_139", "gpio_140", "gpio_141", | |
| "gpio_142", "gpio_143", "gpio_144", "gpio_16", "gpio_164", "gpio_165", | |
| "gpio_17", "gpio_18", "gpio_19", "gpio_2", "gpio_23", "gpio_24", "gpio_25", | |
| "gpio_3", "gpio_30", "gpio_31", "gpio_32", "gpio_33", "gpio_34", "gpio_35", | |
| "gpio_4", "gpio_42", "gpio_43", "gpio_44", "gpio_5", "gpio_51", "gpio_53", | |
| "gpio_54", "gpio_55", "gpio_56", "gpio_57", "gpio_58", "gpio_59", "gpio_6", | |
| "gpio_60", "gpio_61", "gpio_62", "gpio_63", "gpio_7", "gpio_92", "gpio_93" | |
| }; | |
| static const char * const rtd1625_ve4_uart0_loc0_groups[] = { | |
| "gpio_2", "gpio_3" | |
| }; | |
| static const char * const rtd1625_ve4_iso_tristate_groups[] = { | |
| "gpio_12", "gpio_13", "gpio_132", "gpio_133", "gpio_134", "gpio_135", | |
| "gpio_136", "gpio_137", "gpio_138", "gpio_139", "gpio_140", "gpio_141", | |
| "gpio_142", "gpio_143", "gpio_144", "gpio_16", "gpio_164", "gpio_165", | |
| "gpio_17", "gpio_18", "gpio_19", "gpio_2", "gpio_23", "gpio_24", "gpio_25", | |
| "gpio_3", "gpio_30", "gpio_31", "gpio_32", "gpio_33", "gpio_34", "gpio_35", | |
| "gpio_4", "gpio_42", "gpio_43", "gpio_44", "gpio_5", "gpio_51", "gpio_53", | |
| "gpio_54", "gpio_55", "gpio_56", "gpio_57", "gpio_58", "gpio_59", "gpio_6", | |
| "gpio_60", "gpio_61", "gpio_62", "gpio_63", "gpio_7", "gpio_92", "gpio_93" | |
| }; | |
| static const char * const rtd1625_ve4_uart2_groups[] = { | |
| "gpio_4", "gpio_5", "gpio_6", "gpio_7" | |
| }; | |
| static const char * const rtd1625_ve4_gspi0_groups[] = { | |
| "gpio_4", "gpio_5", "gpio_6", "gpio_7" | |
| }; | |
| static const char * const rtd1625_ve4_scpu_ejtag_loc0_groups[] = { | |
| "gpio_4", "gpio_5", "gpio_6", "gpio_7" | |
| }; | |
| static const char * const rtd1625_ve4_acpu_ejtag_loc0_groups[] = { | |
| "gpio_4", "gpio_5", "gpio_6", "gpio_7" | |
| }; | |
| static const char * const rtd1625_ve4_pcpu_ejtag_loc0_groups[] = { | |
| "gpio_4", "gpio_5", "gpio_6", "gpio_7" | |
| }; | |
| static const char * const rtd1625_ve4_aucpu0_ejtag_loc0_groups[] = { | |
| "gpio_4", "gpio_5", "gpio_6", "gpio_7" | |
| }; | |
| static const char * const rtd1625_ve4_ve2_ejtag_loc0_groups[] = { | |
| "gpio_4", "gpio_5", "gpio_6", "gpio_7" | |
| }; | |
| static const char * const rtd1625_ve4_gpu_ejtag_loc0_groups[] = { | |
| "gpio_4", "gpio_5", "gpio_6", "gpio_7" | |
| }; | |
| static const char * const rtd1625_ve4_aucpu1_ejtag_loc0_groups[] = { | |
| "gpio_4", "gpio_5", "gpio_6", "gpio_7" | |
| }; | |
| static const char * const rtd1625_ve4_pwm0_loc1_groups[] = { | |
| "gpio_6" | |
| }; | |
| static const char * const rtd1625_ve4_pwm1_loc0_groups[] = { | |
| "gpio_7" | |
| }; | |
| static const char * const rtd1625_ve4_i2c0_groups[] = { | |
| "gpio_12", "gpio_13" | |
| }; | |
| static const char * const rtd1625_ve4_pwm0_loc3_groups[] = { | |
| "gpio_12" | |
| }; | |
| static const char * const rtd1625_ve4_dptx_hpd_groups[] = { | |
| "gpio_16" | |
| }; | |
| static const char * const rtd1625_ve4_pwm2_loc0_groups[] = { | |
| "gpio_16" | |
| }; | |
| static const char * const rtd1625_ve4_pcie0_groups[] = { | |
| "gpio_18" | |
| }; | |
| static const char * const rtd1625_ve4_pwm3_loc0_groups[] = { | |
| "gpio_19" | |
| }; | |
| static const char * const rtd1625_ve4_i2c3_groups[] = { | |
| "gpio_24", "gpio_25" | |
| }; | |
| static const char * const rtd1625_ve4_pcie1_groups[] = { | |
| "gpio_30" | |
| }; | |
| static const char * const rtd1625_ve4_uart9_groups[] = { | |
| "gpio_32", "gpio_33" | |
| }; | |
| static const char * const rtd1625_ve4_ve4_uart_loc2_groups[] = { | |
| "gpio_32", "gpio_33", "ve4_uart_loc" | |
| }; | |
| static const char * const rtd1625_ve4_sd_groups[] = { | |
| "gpio_42", "gpio_43" | |
| }; | |
| static const char * const rtd1625_ve4_i2c6_loc1_groups[] = { | |
| "gpio_51", "gpio_61" | |
| }; | |
| static const char * const rtd1625_ve4_uart3_groups[] = { | |
| "gpio_53", "gpio_54", "gpio_55", "gpio_56" | |
| }; | |
| static const char * const rtd1625_ve4_ts0_groups[] = { | |
| "gpio_53", "gpio_54", "gpio_55", "gpio_56" | |
| }; | |
| static const char * const rtd1625_ve4_gspi2_groups[] = { | |
| "gpio_53", "gpio_54", "gpio_55", "gpio_56" | |
| }; | |
| static const char * const rtd1625_ve4_ve4_uart_loc0_groups[] = { | |
| "gpio_53", "gpio_54", "ve4_uart_loc" | |
| }; | |
| static const char * const rtd1625_ve4_uart5_groups[] = { | |
| "gpio_57", "gpio_58" | |
| }; | |
| static const char * const rtd1625_ve4_uart0_loc1_groups[] = { | |
| "gpio_57", "gpio_58" | |
| }; | |
| static const char * const rtd1625_ve4_gspi1_groups[] = { | |
| "gpio_57", "gpio_58", "gpio_59", "gpio_60" | |
| }; | |
| static const char * const rtd1625_ve4_uart4_groups[] = { | |
| "gpio_59", "gpio_60" | |
| }; | |
| static const char * const rtd1625_ve4_i2c4_groups[] = { | |
| "gpio_59", "gpio_60" | |
| }; | |
| static const char * const rtd1625_ve4_spdif_out_groups[] = { | |
| "gpio_61" | |
| }; | |
| static const char * const rtd1625_ve4_spdif_in_optical_groups[] = { | |
| "gpio_61" | |
| }; | |
| static const char * const rtd1625_ve4_pll_test_loc0_groups[] = { | |
| "gpio_62", "gpio_63" | |
| }; | |
| static const char * const rtd1625_ve4_uart6_groups[] = { | |
| "gpio_92", "gpio_93" | |
| }; | |
| static const char * const rtd1625_ve4_i2c7_groups[] = { | |
| "gpio_92", "gpio_93" | |
| }; | |
| static const char * const rtd1625_ve4_ve4_uart_loc1_groups[] = { | |
| "gpio_92", "gpio_93", "ve4_uart_loc" | |
| }; | |
| static const char * const rtd1625_ve4_pwm1_loc1_groups[] = { | |
| "gpio_93" | |
| }; | |
| static const char * const rtd1625_ve4_pwm6_groups[] = { | |
| "gpio_132" | |
| }; | |
| static const char * const rtd1625_ve4_ts1_groups[] = { | |
| "gpio_133", "gpio_134", "gpio_135", "gpio_136" | |
| }; | |
| static const char * const rtd1625_ve4_pwm0_loc0_groups[] = { | |
| "gpio_136" | |
| }; | |
| static const char * const rtd1625_ve4_i2c6_loc0_groups[] = { | |
| "gpio_137", "gpio_138" | |
| }; | |
| static const char * const rtd1625_ve4_csi0_groups[] = { | |
| "gpio_141" | |
| }; | |
| static const char * const rtd1625_ve4_csi1_groups[] = { | |
| "gpio_144" | |
| }; | |
| static const char * const rtd1625_ve4_etn_led_loc1_groups[] = { | |
| "gpio_164", "gpio_165" | |
| }; | |
| static const char * const rtd1625_ve4_etn_phy_loc1_groups[] = { | |
| "gpio_164", "gpio_165" | |
| }; | |
| static const char * const rtd1625_ve4_i2c5_groups[] = { | |
| "gpio_164", "gpio_165" | |
| }; | |
| static const char * const rtd1625_main2_gpio_groups[] = { | |
| "emmc_clk", "emmc_cmd", "emmc_data_0", "emmc_data_1", "emmc_data_2", | |
| "emmc_data_3", "emmc_data_4", "emmc_data_5", "emmc_data_6", "emmc_data_7", | |
| "emmc_dd_sb", "emmc_rst_n", "gpio_14", "gpio_15", "gpio_20", "gpio_21", | |
| "gpio_22", "gpio_40", "gpio_41", "gpio_64", "gpio_65", "gpio_66", "gpio_67", | |
| "gpio_80", "gpio_81", "gpio_82", "gpio_83", "gpio_84", "gpio_85", "gpio_86", | |
| "gpio_87", "gpio_88", "gpio_89", "gpio_90", "gpio_91", "hif_clk", | |
| "hif_data", "hif_en", "hif_rdy" | |
| }; | |
| static const char * const rtd1625_main2_emmc_groups[] = { | |
| "emmc_clk", "emmc_cmd", "emmc_data_0", "emmc_data_1", "emmc_data_2", | |
| "emmc_data_3", "emmc_data_4", "emmc_data_5", "emmc_data_6", "emmc_data_7", | |
| "emmc_dd_sb", "emmc_rst_n" | |
| }; | |
| static const char * const rtd1625_main2_iso_tristate_groups[] = { | |
| "emmc_clk", "emmc_cmd", "emmc_data_0", "emmc_data_1", "emmc_data_2", | |
| "emmc_data_3", "emmc_data_4", "emmc_data_5", "emmc_data_6", "emmc_data_7", | |
| "emmc_dd_sb", "emmc_rst_n", "gpio_14", "gpio_15", "gpio_20", "gpio_21", | |
| "gpio_40", "gpio_41", "gpio_64", "gpio_65", "gpio_66", "gpio_67", "gpio_80", | |
| "gpio_81", "gpio_82", "gpio_83", "gpio_84", "gpio_85", "gpio_86", "gpio_87", | |
| "gpio_88", "gpio_89", "gpio_90", "gpio_91", "hif_clk", "hif_data", "hif_en", | |
| "hif_rdy" | |
| }; | |
| static const char * const rtd1625_main2_nf_groups[] = { | |
| "emmc_data_0", "emmc_data_1", "emmc_data_2", "emmc_data_3", "emmc_data_4", | |
| "emmc_data_5" | |
| }; | |
| static const char * const rtd1625_main2_etn_led_loc0_groups[] = { | |
| "gpio_14", "gpio_15" | |
| }; | |
| static const char * const rtd1625_main2_etn_phy_loc0_groups[] = { | |
| "gpio_14", "gpio_15" | |
| }; | |
| static const char * const rtd1625_main2_rgmii_groups[] = { | |
| "gpio_14", "gpio_15", "gpio_80", "gpio_81", "gpio_82", "gpio_83", "gpio_84", | |
| "gpio_85", "gpio_86", "gpio_87", "gpio_88", "gpio_89", "gpio_90", "gpio_91" | |
| }; | |
| static const char * const rtd1625_main2_i2c1_groups[] = { | |
| "gpio_20", "gpio_21" | |
| }; | |
| static const char * const rtd1625_main2_dbg_out1_groups[] = { | |
| "gpio_22" | |
| }; | |
| static const char * const rtd1625_main2_sd_groups[] = { | |
| "gpio_40", "gpio_41", "hif_clk", "hif_data", "hif_en", "hif_rdy" | |
| }; | |
| static const char * const rtd1625_main2_scpu_ejtag_loc1_groups[] = { | |
| "gpio_40", "hif_clk", "hif_data", "hif_en", "hif_rdy" | |
| }; | |
| static const char * const rtd1625_main2_acpu_ejtag_loc1_groups[] = { | |
| "gpio_40", "hif_clk", "hif_data", "hif_en", "hif_rdy" | |
| }; | |
| static const char * const rtd1625_main2_pcpu_ejtag_loc1_groups[] = { | |
| "gpio_40", "hif_clk", "hif_data", "hif_en", "hif_rdy" | |
| }; | |
| static const char * const rtd1625_main2_aupu0_ejtag_loc1_groups[] = { | |
| "gpio_40", "hif_clk", "hif_data", "hif_en", "hif_rdy" | |
| }; | |
| static const char * const rtd1625_main2_ve2_ejtag_loc1_groups[] = { | |
| "gpio_40", "hif_clk", "hif_data", "hif_en", "hif_rdy" | |
| }; | |
| static const char * const rtd1625_main2_hi_loc0_groups[] = { | |
| "hif_clk", "hif_data", "hif_en", "hif_rdy" | |
| }; | |
| static const char * const rtd1625_main2_hi_m_groups[] = { | |
| "hif_clk", "hif_data", "hif_en", "hif_rdy" | |
| }; | |
| static const char * const rtd1625_main2_aupu1_ejtag_loc1_groups[] = { | |
| "gpio_40", "hif_clk", "hif_data", "hif_en", "hif_rdy" | |
| }; | |
| static const char * const rtd1625_main2_spi_groups[] = { | |
| "gpio_64", "gpio_65", "gpio_66", "gpio_67" | |
| }; | |
| static const char * const rtd1625_main2_pll_test_loc1_groups[] = { | |
| "gpio_65", "gpio_66" | |
| }; | |
| static const char * const rtd1625_main2_rmii_groups[] = { | |
| "gpio_80", "gpio_81", "gpio_82", "gpio_83", "gpio_84", "gpio_87", "gpio_88", | |
| "gpio_89" | |
| }; | |
| #define RTD1625_FUNC(_group, _name) \ | |
| { \ | |
| .name = # _name, \ | |
| .groups = rtd1625_ ## _group ## _ ## _name ## _groups, \ | |
| .num_groups = ARRAY_SIZE(rtd1625_ ## _group ## _ ## _name ## _groups), \ | |
| } | |
| static const struct rtd_pin_func_desc rtd1625_iso_pin_functions[] = { | |
| RTD1625_FUNC(iso, gpio), | |
| RTD1625_FUNC(iso, uart1), | |
| RTD1625_FUNC(iso, iso_tristate), | |
| RTD1625_FUNC(iso, usb_cc1), | |
| RTD1625_FUNC(iso, usb_cc2), | |
| RTD1625_FUNC(iso, sdio), | |
| RTD1625_FUNC(iso, scpu_ejtag_loc2), | |
| RTD1625_FUNC(iso, acpu_ejtag_loc2), | |
| RTD1625_FUNC(iso, pcpu_ejtag_loc2), | |
| RTD1625_FUNC(iso, aucpu0_ejtag_loc2), | |
| RTD1625_FUNC(iso, ve2_ejtag_loc2), | |
| RTD1625_FUNC(iso, aucpu1_ejtag_loc2), | |
| RTD1625_FUNC(iso, pwm4), | |
| RTD1625_FUNC(iso, uart7), | |
| RTD1625_FUNC(iso, pwm2_loc1), | |
| RTD1625_FUNC(iso, uart8), | |
| RTD1625_FUNC(iso, pwm3_loc1), | |
| RTD1625_FUNC(iso, ai_tdm0), | |
| RTD1625_FUNC(iso, vtc_i2s), | |
| RTD1625_FUNC(iso, ai_i2s0), | |
| RTD1625_FUNC(iso, ao_tdm0), | |
| RTD1625_FUNC(iso, ao_i2s0), | |
| RTD1625_FUNC(iso, ai_tdm1), | |
| RTD1625_FUNC(iso, ai_i2s1_loc0), | |
| RTD1625_FUNC(iso, ao_i2s0_loc1), | |
| RTD1625_FUNC(iso, ao_tdm1_loc0), | |
| RTD1625_FUNC(iso, ao_i2s1_loc0), | |
| RTD1625_FUNC(iso, ao_tdm1), | |
| RTD1625_FUNC(iso, ai_tdm2), | |
| RTD1625_FUNC(iso, pcm), | |
| RTD1625_FUNC(iso, ai_i2s2), | |
| RTD1625_FUNC(iso, ao_tdm2), | |
| RTD1625_FUNC(iso, ao_i2s2), | |
| RTD1625_FUNC(iso, vtc_ao_i2s), | |
| RTD1625_FUNC(iso, scpu_ejtag_loc0), | |
| RTD1625_FUNC(iso, acpu_ejtag_loc0), | |
| RTD1625_FUNC(iso, pcpu_ejtag_loc0), | |
| RTD1625_FUNC(iso, aucpu0_ejtag_loc0), | |
| RTD1625_FUNC(iso, ve2_ejtag_loc0), | |
| RTD1625_FUNC(iso, gpu_ejtag_loc0), | |
| RTD1625_FUNC(iso, ao_tdm1_loc1), | |
| RTD1625_FUNC(iso, aucpu1_ejtag_loc0), | |
| RTD1625_FUNC(iso, edptx_hdp), | |
| RTD1625_FUNC(iso, pwm5), | |
| RTD1625_FUNC(iso, vi0_dtv), | |
| RTD1625_FUNC(iso, vi1_dtv), | |
| RTD1625_FUNC(iso, ao_i2s0_loc0), | |
| RTD1625_FUNC(iso, dmic0), | |
| RTD1625_FUNC(iso, vtc_dmic), | |
| RTD1625_FUNC(iso, ai_i2s1_loc1), | |
| RTD1625_FUNC(iso, ao_i2s1_loc1), | |
| RTD1625_FUNC(iso, dmic1), | |
| RTD1625_FUNC(iso, dmic2), | |
| RTD1625_FUNC(iso, pwm0_loc2), | |
| RTD1625_FUNC(iso, spdif_in_coaxial), | |
| RTD1625_FUNC(iso, spdif_in_gpio), | |
| RTD1625_FUNC(iso, hi_width_disable), | |
| RTD1625_FUNC(iso, hi_width_1bit), | |
| RTD1625_FUNC(iso, sf_disable), | |
| RTD1625_FUNC(iso, sf_enable), | |
| RTD1625_FUNC(iso, arm_trace_debug_disable), | |
| RTD1625_FUNC(iso, arm_trace_debug_enable), | |
| RTD1625_FUNC(iso, aucpu0_ejtag_loc1), | |
| RTD1625_FUNC(iso, aucpu1_ejtag_loc1), | |
| RTD1625_FUNC(iso, ve2_ejtag_loc1), | |
| RTD1625_FUNC(iso, scpu_ejtag_loc1), | |
| RTD1625_FUNC(iso, pcpu_ejtag_loc1), | |
| RTD1625_FUNC(iso, acpu_ejtag_loc1), | |
| RTD1625_FUNC(iso, i2c6_loc0), | |
| RTD1625_FUNC(iso, i2c6_loc1), | |
| RTD1625_FUNC(iso, uart0_loc0), | |
| RTD1625_FUNC(iso, uart0_loc1), | |
| RTD1625_FUNC(iso, etn_phy_loc0), | |
| RTD1625_FUNC(iso, etn_phy_loc1), | |
| RTD1625_FUNC(iso, spdif_loc0), | |
| RTD1625_FUNC(iso, spdif_loc1), | |
| RTD1625_FUNC(iso, rgmii_1v2), | |
| RTD1625_FUNC(iso, rgmii_1v8), | |
| RTD1625_FUNC(iso, rgmii_2v5), | |
| RTD1625_FUNC(iso, rgmii_3v3), | |
| RTD1625_FUNC(iso, csi_1v2), | |
| RTD1625_FUNC(iso, csi_1v8), | |
| RTD1625_FUNC(iso, csi_2v5), | |
| RTD1625_FUNC(iso, csi_3v3), | |
| }; | |
| static const struct rtd_pin_func_desc rtd1625_isom_pin_functions[] = { | |
| RTD1625_FUNC(isom, gpio), | |
| RTD1625_FUNC(isom, pctrl), | |
| RTD1625_FUNC(isom, iso_tristate), | |
| RTD1625_FUNC(isom, ir_rx_loc1), | |
| RTD1625_FUNC(isom, uart10), | |
| RTD1625_FUNC(isom, isom_dbg_out), | |
| RTD1625_FUNC(isom, ir_rx_loc0), | |
| }; | |
| static const struct rtd_pin_func_desc rtd1625_ve4_pin_functions[] = { | |
| RTD1625_FUNC(ve4, gpio), | |
| RTD1625_FUNC(ve4, uart0_loc0), | |
| RTD1625_FUNC(ve4, iso_tristate), | |
| RTD1625_FUNC(ve4, uart2), | |
| RTD1625_FUNC(ve4, gspi0), | |
| RTD1625_FUNC(ve4, scpu_ejtag_loc0), | |
| RTD1625_FUNC(ve4, acpu_ejtag_loc0), | |
| RTD1625_FUNC(ve4, pcpu_ejtag_loc0), | |
| RTD1625_FUNC(ve4, aucpu0_ejtag_loc0), | |
| RTD1625_FUNC(ve4, ve2_ejtag_loc0), | |
| RTD1625_FUNC(ve4, gpu_ejtag_loc0), | |
| RTD1625_FUNC(ve4, aucpu1_ejtag_loc0), | |
| RTD1625_FUNC(ve4, pwm0_loc1), | |
| RTD1625_FUNC(ve4, pwm1_loc0), | |
| RTD1625_FUNC(ve4, i2c0), | |
| RTD1625_FUNC(ve4, pwm0_loc3), | |
| RTD1625_FUNC(ve4, dptx_hpd), | |
| RTD1625_FUNC(ve4, pwm2_loc0), | |
| RTD1625_FUNC(ve4, pcie0), | |
| RTD1625_FUNC(ve4, pwm3_loc0), | |
| RTD1625_FUNC(ve4, i2c3), | |
| RTD1625_FUNC(ve4, pcie1), | |
| RTD1625_FUNC(ve4, uart9), | |
| RTD1625_FUNC(ve4, ve4_uart_loc2), | |
| RTD1625_FUNC(ve4, sd), | |
| RTD1625_FUNC(ve4, i2c6_loc1), | |
| RTD1625_FUNC(ve4, uart3), | |
| RTD1625_FUNC(ve4, ts0), | |
| RTD1625_FUNC(ve4, gspi2), | |
| RTD1625_FUNC(ve4, ve4_uart_loc0), | |
| RTD1625_FUNC(ve4, uart5), | |
| RTD1625_FUNC(ve4, uart0_loc1), | |
| RTD1625_FUNC(ve4, gspi1), | |
| RTD1625_FUNC(ve4, uart4), | |
| RTD1625_FUNC(ve4, i2c4), | |
| RTD1625_FUNC(ve4, spdif_out), | |
| RTD1625_FUNC(ve4, spdif_in_optical), | |
| RTD1625_FUNC(ve4, pll_test_loc0), | |
| RTD1625_FUNC(ve4, uart6), | |
| RTD1625_FUNC(ve4, i2c7), | |
| RTD1625_FUNC(ve4, ve4_uart_loc1), | |
| RTD1625_FUNC(ve4, pwm1_loc1), | |
| RTD1625_FUNC(ve4, pwm6), | |
| RTD1625_FUNC(ve4, ts1), | |
| RTD1625_FUNC(ve4, pwm0_loc0), | |
| RTD1625_FUNC(ve4, i2c6_loc0), | |
| RTD1625_FUNC(ve4, csi0), | |
| RTD1625_FUNC(ve4, csi1), | |
| RTD1625_FUNC(ve4, etn_led_loc1), | |
| RTD1625_FUNC(ve4, etn_phy_loc1), | |
| RTD1625_FUNC(ve4, i2c5), | |
| }; | |
| static const struct rtd_pin_func_desc rtd1625_main2_pin_functions[] = { | |
| RTD1625_FUNC(main2, gpio), | |
| RTD1625_FUNC(main2, emmc), | |
| RTD1625_FUNC(main2, iso_tristate), | |
| RTD1625_FUNC(main2, nf), | |
| RTD1625_FUNC(main2, etn_led_loc0), | |
| RTD1625_FUNC(main2, etn_phy_loc0), | |
| RTD1625_FUNC(main2, rgmii), | |
| RTD1625_FUNC(main2, i2c1), | |
| RTD1625_FUNC(main2, dbg_out1), | |
| RTD1625_FUNC(main2, sd), | |
| RTD1625_FUNC(main2, scpu_ejtag_loc1), | |
| RTD1625_FUNC(main2, acpu_ejtag_loc1), | |
| RTD1625_FUNC(main2, pcpu_ejtag_loc1), | |
| RTD1625_FUNC(main2, aupu0_ejtag_loc1), | |
| RTD1625_FUNC(main2, ve2_ejtag_loc1), | |
| RTD1625_FUNC(main2, hi_loc0), | |
| RTD1625_FUNC(main2, hi_m), | |
| RTD1625_FUNC(main2, aupu1_ejtag_loc1), | |
| RTD1625_FUNC(main2, spi), | |
| RTD1625_FUNC(main2, pll_test_loc1), | |
| RTD1625_FUNC(main2, rmii), | |
| }; | |
| #undef RTD1625_FUNC | |
| static const struct rtd_pin_desc rtd1625_iso_muxes[] = { | |
| [RTD1625_ISO_GPIO_8] = RTK_PIN_MUX(gpio_8, 0x0, GENMASK(3, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "uart1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_9] = RTK_PIN_MUX(gpio_9, 0x0, GENMASK(7, 4), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "uart1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_10] = RTK_PIN_MUX(gpio_10, 0x0, GENMASK(11, 8), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "uart1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_11] = RTK_PIN_MUX(gpio_11, 0x0, GENMASK(15, 12), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "uart1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_USB_CC1] = RTK_PIN_MUX(usb_cc1, 0x0, GENMASK(19, 16), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "usb_cc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_USB_CC2] = RTK_PIN_MUX(usb_cc2, 0x0, GENMASK(23, 20), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "usb_cc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_45] = RTK_PIN_MUX(gpio_45, 0x0, GENMASK(27, 24), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "sdio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 24), "scpu_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 24), "acpu_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x5, 24), "pcpu_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x6, 24), "aucpu0_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x7, 24), "ve2_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xe, 24), "aucpu1_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_46] = RTK_PIN_MUX(gpio_46, 0x0, GENMASK(31, 28), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "sdio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 28), "scpu_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 28), "acpu_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x5, 28), "pcpu_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x6, 28), "aucpu0_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x7, 28), "ve2_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xe, 28), "aucpu1_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_47] = RTK_PIN_MUX(gpio_47, 0x4, GENMASK(3, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "sdio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 0), "scpu_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 0), "acpu_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x5, 0), "pcpu_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x6, 0), "aucpu0_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x7, 0), "ve2_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xe, 0), "aucpu1_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_48] = RTK_PIN_MUX(gpio_48, 0x4, GENMASK(7, 4), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "sdio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "scpu_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 4), "acpu_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x5, 4), "pcpu_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x6, 4), "aucpu0_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x7, 4), "ve2_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xe, 4), "aucpu1_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_49] = RTK_PIN_MUX(gpio_49, 0x4, GENMASK(11, 8), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "sdio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "scpu_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "acpu_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x5, 8), "pcpu_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x6, 8), "aucpu0_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x7, 8), "ve2_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xe, 8), "aucpu1_ejtag_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_50] = RTK_PIN_MUX(gpio_50, 0x4, GENMASK(15, 12), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "sdio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_52] = RTK_PIN_MUX(gpio_52, 0x4, GENMASK(19, 16), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xd, 16), "pwm4"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_94] = RTK_PIN_MUX(gpio_94, 0x4, GENMASK(23, 20), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "uart7"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_95] = RTK_PIN_MUX(gpio_95, 0x4, GENMASK(27, 24), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "uart7"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xd, 24), "pwm2_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_96] = RTK_PIN_MUX(gpio_96, 0x4, GENMASK(31, 28), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "uart8"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_97] = RTK_PIN_MUX(gpio_97, 0x8, GENMASK(3, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "uart8"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xd, 0), "pwm3_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_98] = RTK_PIN_MUX(gpio_98, 0x8, GENMASK(7, 4), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "ai_tdm0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x5, 4), "vtc_i2s"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x8, 4), "ai_i2s0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_99] = RTK_PIN_MUX(gpio_99, 0x8, GENMASK(11, 8), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "ao_tdm0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 8), "ao_i2s0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_100] = RTK_PIN_MUX(gpio_100, 0x8, GENMASK(15, 12), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "ai_tdm0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "ao_tdm0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x5, 12), "vtc_i2s"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x8, 12), "ai_i2s0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 12), "ao_i2s0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_101] = RTK_PIN_MUX(gpio_101, 0x8, GENMASK(19, 16), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "ai_tdm0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "ao_tdm0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x5, 16), "vtc_i2s"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x8, 16), "ai_i2s0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 16), "ao_i2s0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_102] = RTK_PIN_MUX(gpio_102, 0x8, GENMASK(23, 20), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "ai_tdm0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "ao_tdm0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x5, 20), "vtc_i2s"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x8, 20), "ai_i2s0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 20), "ao_i2s0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_103] = RTK_PIN_MUX(gpio_103, 0x8, GENMASK(27, 24), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "ai_tdm1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x9, 24), "ai_i2s1_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 24), "ao_i2s0_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_104] = RTK_PIN_MUX(gpio_104, 0x8, GENMASK(31, 28), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "ao_tdm1_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 28), "ao_i2s1_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_105] = RTK_PIN_MUX(gpio_105, 0xc, GENMASK(3, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "ai_tdm1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "ao_tdm1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x9, 0), "ai_i2s1_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 0), "ao_i2s1_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_106] = RTK_PIN_MUX(gpio_106, 0xc, GENMASK(7, 4), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "ai_tdm1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "ao_tdm1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x9, 4), "ai_i2s1_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 4), "ao_i2s1_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_107] = RTK_PIN_MUX(gpio_107, 0xc, GENMASK(11, 8), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "ai_tdm1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "ao_tdm1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x9, 8), "ai_i2s1_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 8), "ao_i2s1_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xb, 8), "ao_i2s0_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_108] = RTK_PIN_MUX(gpio_108, 0xc, GENMASK(15, 12), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "ai_tdm2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 12), "pcm"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x9, 12), "ai_i2s2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_109] = RTK_PIN_MUX(gpio_109, 0xc, GENMASK(19, 16), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "ao_tdm2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 16), "pcm"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 16), "ao_i2s2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xe, 16), "vtc_ao_i2s"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_110] = RTK_PIN_MUX(gpio_110, 0xc, GENMASK(23, 20), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "ai_tdm2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "ao_tdm2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 20), "pcm"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x9, 20), "ai_i2s2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 20), "ao_i2s2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xe, 20), "vtc_ao_i2s"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_111] = RTK_PIN_MUX(gpio_111, 0xc, GENMASK(27, 24), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "ai_tdm2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "ao_tdm2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 24), "pcm"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x9, 24), "ai_i2s2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 24), "ao_i2s2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xe, 24), "vtc_ao_i2s"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_112] = RTK_PIN_MUX(gpio_112, 0x10, GENMASK(4, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "ai_tdm2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "ao_tdm2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 0), "scpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 0), "acpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x5, 0), "pcpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x6, 0), "aucpu0_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x7, 0), "ve2_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x9, 0), "ai_i2s2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 0), "ao_i2s2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xc, 0), "gpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xe, 0), "vtc_ao_i2s"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x10, 0), "ao_tdm1_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x11, 0), "aucpu1_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x13, 0), "ao_i2s0") | |
| ), | |
| [RTD1625_ISO_GPIO_128] = RTK_PIN_MUX(gpio_128, 0x10, GENMASK(8, 5), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 5), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 5), "edptx_hdp"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 5), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_129] = RTK_PIN_MUX(gpio_129, 0x10, GENMASK(12, 9), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 9), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 9), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_130] = RTK_PIN_MUX(gpio_130, 0x10, GENMASK(16, 13), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 13), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xd, 13), "pwm5"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 13), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_131] = RTK_PIN_MUX(gpio_131, 0x10, GENMASK(20, 17), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 17), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 17), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_145] = RTK_PIN_MUX(gpio_145, 0x10, GENMASK(24, 21), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 21), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 21), "vi0_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 21), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_146] = RTK_PIN_MUX(gpio_146, 0x10, GENMASK(28, 25), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 25), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 25), "vi0_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 25), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_147] = RTK_PIN_MUX(gpio_147, 0x14, GENMASK(3, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "vi0_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_148] = RTK_PIN_MUX(gpio_148, 0x14, GENMASK(7, 4), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "vi0_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_149] = RTK_PIN_MUX(gpio_149, 0x14, GENMASK(11, 8), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "vi0_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_150] = RTK_PIN_MUX(gpio_150, 0x14, GENMASK(15, 12), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "vi0_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_151] = RTK_PIN_MUX(gpio_151, 0x14, GENMASK(19, 16), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "vi0_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_152] = RTK_PIN_MUX(gpio_152, 0x14, GENMASK(23, 20), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "vi0_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_153] = RTK_PIN_MUX(gpio_153, 0x14, GENMASK(27, 24), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "vi0_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_154] = RTK_PIN_MUX(gpio_154, 0x14, GENMASK(31, 28), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "vi0_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "vi1_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 28), "ao_i2s0_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_155] = RTK_PIN_MUX(gpio_155, 0x18, GENMASK(3, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "vi0_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "vi1_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 0), "ao_i2s0_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_156] = RTK_PIN_MUX(gpio_156, 0x18, GENMASK(7, 4), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "vi0_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "vi1_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "dmic0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 4), "vtc_dmic"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x8, 4), "ai_i2s0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_157] = RTK_PIN_MUX(gpio_157, 0x18, GENMASK(11, 8), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "vi0_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "vi1_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "dmic0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "vtc_dmic"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x9, 8), "ai_i2s1_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 8), "ao_i2s1_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_158] = RTK_PIN_MUX(gpio_158, 0x18, GENMASK(15, 12), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "vi0_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "vi1_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "dmic1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 12), "vtc_dmic"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x9, 12), "ai_i2s1_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 12), "ao_i2s1_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_159] = RTK_PIN_MUX(gpio_159, 0x18, GENMASK(19, 16), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "vi0_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "vi1_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "dmic1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 16), "vtc_dmic"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x9, 16), "ai_i2s1_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 16), "ao_i2s1_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_160] = RTK_PIN_MUX(gpio_160, 0x18, GENMASK(23, 20), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "vi0_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "vi1_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "dmic2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x8, 20), "ai_i2s0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x9, 20), "ai_i2s1_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_161] = RTK_PIN_MUX(gpio_161, 0x18, GENMASK(27, 24), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "vi0_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "vi1_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 24), "dmic2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x5, 24), "vtc_i2s"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x8, 24), "ai_i2s0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 24), "ao_i2s1_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_162] = RTK_PIN_MUX(gpio_162, 0x18, GENMASK(31, 28), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "vi1_dtv"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xd, 28), "pwm0_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_GPIO_163] = RTK_PIN_MUX(gpio_163, 0x1c, GENMASK(3, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 0), "spdif_in_coaxial"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate") | |
| ), | |
| [RTD1625_ISO_HI_WIDTH] = RTK_PIN_MUX(hi_width, 0x120, GENMASK(9, 8), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "hi_width_disable"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "hi_width_1bit") | |
| ), | |
| [RTD1625_ISO_SF_EN] = RTK_PIN_MUX(sf_en, 0x120, GENMASK(11, 11), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 11), "sf_disable"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 11), "sf_enable") | |
| ), | |
| [RTD1625_ISO_ARM_TRACE_DBG_EN] = RTK_PIN_MUX(arm_trace_dbg_en, 0x120, GENMASK(13, 12), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "arm_trace_debug_disable"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "arm_trace_debug_enable") | |
| ), | |
| [RTD1625_ISO_EJTAG_AUCPU0_LOC] = RTK_PIN_MUX(ejtag_aucpu0_loc, 0x120, GENMASK(16, 14), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 14), "aucpu0_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 14), "aucpu0_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 14), "aucpu0_ejtag_loc2") | |
| ), | |
| [RTD1625_ISO_EJTAG_AUCPU1_LOC] = RTK_PIN_MUX(ejtag_aucpu1_loc, 0x120, GENMASK(19, 17), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 17), "aucpu1_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 17), "aucpu1_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 17), "aucpu1_ejtag_loc2") | |
| ), | |
| [RTD1625_ISO_EJTAG_VE2_LOC] = RTK_PIN_MUX(ejtag_ve2_loc, 0x120, GENMASK(22, 20), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "ve2_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "ve2_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 20), "ve2_ejtag_loc2") | |
| ), | |
| [RTD1625_ISO_EJTAG_SCPU_LOC] = RTK_PIN_MUX(ejtag_scpu_loc, 0x120, GENMASK(25, 23), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 23), "scpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 23), "scpu_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 23), "scpu_ejtag_loc2") | |
| ), | |
| [RTD1625_ISO_EJTAG_PCPU_LOC] = RTK_PIN_MUX(ejtag_pcpu_loc, 0x120, GENMASK(28, 26), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 26), "pcpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 26), "pcpu_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 26), "pcpu_ejtag_loc2") | |
| ), | |
| [RTD1625_ISO_EJTAG_ACPU_LOC] = RTK_PIN_MUX(ejtag_acpu_loc, 0x120, GENMASK(31, 29), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 29), "acpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 29), "acpu_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 29), "acpu_ejtag_loc2") | |
| ), | |
| [RTD1625_ISO_I2C6_LOC] = RTK_PIN_MUX(i2c6_loc, 0x128, GENMASK(1, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "i2c6_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "i2c6_loc1") | |
| ), | |
| [RTD1625_ISO_UART0_LOC] = RTK_PIN_MUX(uart0_loc, 0x128, GENMASK(3, 2), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 2), "uart0_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 2), "uart0_loc1") | |
| ), | |
| [RTD1625_ISO_AI_I2S1_LOC] = RTK_PIN_MUX(ai_i2s1_loc, 0x128, GENMASK(5, 4), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "ai_i2s1_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "ai_i2s1_loc1") | |
| ), | |
| [RTD1625_ISO_AO_I2S1_LOC] = RTK_PIN_MUX(ao_i2s1_loc, 0x128, GENMASK(7, 6), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 6), "ao_i2s1_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 6), "ao_i2s1_loc1") | |
| ), | |
| [RTD1625_ISO_ETN_PHY_LOC] = RTK_PIN_MUX(etn_phy_loc, 0x128, GENMASK(9, 8), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "etn_phy_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "etn_phy_loc1") | |
| ), | |
| [RTD1625_ISO_SPDIF_LOC] = RTK_PIN_MUX(spdif_loc, 0x128, GENMASK(14, 13), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 13), "spdif_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 13), "spdif_loc1") | |
| ), | |
| [RTD1625_ISO_RGMII_VDSEL] = RTK_PIN_MUX(rgmii_vdsel, 0x188, GENMASK(17, 16), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "rgmii_3v3"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "rgmii_2v5"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "rgmii_1v8"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "rgmii_1v2") | |
| ), | |
| [RTD1625_ISO_CSI_VDSEL] = RTK_PIN_MUX(csi_vdsel, 0x188, GENMASK(19, 18), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 18), "csi_3v3"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 18), "csi_2v5"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 18), "csi_1v8"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 18), "csi_1v2") | |
| ), | |
| [RTD1625_ISO_SPDIF_IN_MODE] = RTK_PIN_MUX(spdif_in_mode, 0x188, GENMASK(20, 20), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "spdif_in_gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "spdif_in_coaxial") | |
| ), | |
| }; | |
| static const struct rtd_pin_desc rtd1625_isom_muxes[] = { | |
| [RTD1625_ISOM_GPIO_0] = RTK_PIN_MUX(gpio_0, 0x0, GENMASK(3, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "pctrl"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate") | |
| ), | |
| [RTD1625_ISOM_GPIO_1] = RTK_PIN_MUX(gpio_1, 0x0, GENMASK(7, 4), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "pctrl"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "ir_rx_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate") | |
| ), | |
| [RTD1625_ISOM_GPIO_28] = RTK_PIN_MUX(gpio_28, 0x0, GENMASK(11, 8), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "uart10"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "pctrl"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "isom_dbg_out"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate") | |
| ), | |
| [RTD1625_ISOM_GPIO_29] = RTK_PIN_MUX(gpio_29, 0x0, GENMASK(15, 12), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "uart10"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "pctrl"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "ir_rx_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 12), "isom_dbg_out"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate") | |
| ), | |
| [RTD1625_ISOM_IR_RX_LOC] = RTK_PIN_MUX(ir_rx_loc, 0x30, GENMASK(1, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "ir_rx_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "ir_rx_loc1") | |
| ), | |
| }; | |
| static const struct rtd_pin_desc rtd1625_ve4_muxes[] = { | |
| [RTD1625_VE4_GPIO_2] = RTK_PIN_MUX(gpio_2, 0x0, GENMASK(3, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "uart0_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_3] = RTK_PIN_MUX(gpio_3, 0x0, GENMASK(7, 4), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "uart0_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_4] = RTK_PIN_MUX(gpio_4, 0x0, GENMASK(11, 8), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "uart2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "gspi0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "scpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "acpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x5, 8), "pcpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x6, 8), "aucpu0_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x7, 8), "ve2_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xc, 8), "gpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xe, 8), "aucpu1_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_5] = RTK_PIN_MUX(gpio_5, 0x0, GENMASK(15, 12), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "uart2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "gspi0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "scpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 12), "acpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x5, 12), "pcpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x6, 12), "aucpu0_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x7, 12), "ve2_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xc, 12), "gpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xe, 12), "aucpu1_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_6] = RTK_PIN_MUX(gpio_6, 0x0, GENMASK(20, 16), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "uart2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "gspi0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "scpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 16), "acpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x5, 16), "pcpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x6, 16), "aucpu0_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x7, 16), "ve2_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xc, 16), "gpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xd, 16), "pwm0_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xe, 16), "aucpu1_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_7] = RTK_PIN_MUX(gpio_7, 0x0, GENMASK(24, 21), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 21), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 21), "uart2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 21), "gspi0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 21), "scpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 21), "acpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x5, 21), "pcpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x6, 21), "aucpu0_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x7, 21), "ve2_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xc, 21), "gpu_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xd, 21), "pwm1_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xe, 21), "aucpu1_ejtag_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 21), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_12] = RTK_PIN_MUX(gpio_12, 0x0, GENMASK(28, 25), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 25), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 25), "i2c0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xd, 25), "pwm0_loc3"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 25), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_13] = RTK_PIN_MUX(gpio_13, 0x4, GENMASK(3, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "i2c0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_16] = RTK_PIN_MUX(gpio_16, 0x4, GENMASK(7, 4), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "dptx_hpd"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xd, 4), "pwm2_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_17] = RTK_PIN_MUX(gpio_17, 0x4, GENMASK(11, 8), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_18] = RTK_PIN_MUX(gpio_18, 0x4, GENMASK(15, 12), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "pcie0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_19] = RTK_PIN_MUX(gpio_19, 0x4, GENMASK(19, 16), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xd, 16), "pwm3_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_23] = RTK_PIN_MUX(gpio_23, 0x4, GENMASK(23, 20), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_24] = RTK_PIN_MUX(gpio_24, 0x4, GENMASK(27, 24), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "i2c3"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_25] = RTK_PIN_MUX(gpio_25, 0x4, GENMASK(31, 28), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "i2c3"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_30] = RTK_PIN_MUX(gpio_30, 0x8, GENMASK(3, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "pcie1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_31] = RTK_PIN_MUX(gpio_31, 0x8, GENMASK(7, 4), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_32] = RTK_PIN_MUX(gpio_32, 0x8, GENMASK(11, 8), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "uart9"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "ve4_uart_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_33] = RTK_PIN_MUX(gpio_33, 0x8, GENMASK(15, 12), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "uart9"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 12), "ve4_uart_loc2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_34] = RTK_PIN_MUX(gpio_34, 0x8, GENMASK(19, 16), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_35] = RTK_PIN_MUX(gpio_35, 0x8, GENMASK(23, 20), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_42] = RTK_PIN_MUX(gpio_42, 0x8, GENMASK(27, 24), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "sd"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_43] = RTK_PIN_MUX(gpio_43, 0x8, GENMASK(31, 28), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "sd"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_44] = RTK_PIN_MUX(gpio_44, 0xc, GENMASK(3, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_51] = RTK_PIN_MUX(gpio_51, 0xc, GENMASK(7, 4), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "i2c6_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_53] = RTK_PIN_MUX(gpio_53, 0xc, GENMASK(11, 8), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "uart3"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "ts0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "gspi2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "ve4_uart_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_54] = RTK_PIN_MUX(gpio_54, 0xc, GENMASK(15, 12), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "uart3"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "ts0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "gspi2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 12), "ve4_uart_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_55] = RTK_PIN_MUX(gpio_55, 0xc, GENMASK(19, 16), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "uart3"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "ts0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "gspi2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_56] = RTK_PIN_MUX(gpio_56, 0xc, GENMASK(23, 20), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "uart3"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "ts0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "gspi2"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_57] = RTK_PIN_MUX(gpio_57, 0xc, GENMASK(27, 24), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "uart5"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "uart0_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 24), "gspi1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_58] = RTK_PIN_MUX(gpio_58, 0xc, GENMASK(31, 28), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 28), "uart5"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "uart0_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 28), "gspi1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_59] = RTK_PIN_MUX(gpio_59, 0x10, GENMASK(3, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "uart4"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "i2c4"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 0), "gspi1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_60] = RTK_PIN_MUX(gpio_60, 0x10, GENMASK(7, 4), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "uart4"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "i2c4"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "gspi1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_61] = RTK_PIN_MUX(gpio_61, 0x10, GENMASK(11, 8), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "i2c6_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "spdif_out"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x5, 8), "spdif_in_optical"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_62] = RTK_PIN_MUX(gpio_62, 0x10, GENMASK(15, 12), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "pll_test_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_63] = RTK_PIN_MUX(gpio_63, 0x10, GENMASK(19, 16), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "pll_test_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_92] = RTK_PIN_MUX(gpio_92, 0x10, GENMASK(23, 20), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "uart6"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "i2c7"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 20), "ve4_uart_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_93] = RTK_PIN_MUX(gpio_93, 0x10, GENMASK(27, 24), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "uart6"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "i2c7"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 24), "ve4_uart_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xd, 24), "pwm1_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_132] = RTK_PIN_MUX(gpio_132, 0x10, GENMASK(31, 28), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xd, 28), "pwm6"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_133] = RTK_PIN_MUX(gpio_133, 0x14, GENMASK(3, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "ts1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_134] = RTK_PIN_MUX(gpio_134, 0x14, GENMASK(7, 4), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "ts1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_135] = RTK_PIN_MUX(gpio_135, 0x14, GENMASK(11, 8), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "ts1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_136] = RTK_PIN_MUX(gpio_136, 0x14, GENMASK(15, 12), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "ts1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xd, 12), "pwm0_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_137] = RTK_PIN_MUX(gpio_137, 0x14, GENMASK(19, 16), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "i2c6_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_138] = RTK_PIN_MUX(gpio_138, 0x14, GENMASK(23, 20), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "i2c6_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_139] = RTK_PIN_MUX(gpio_139, 0x14, GENMASK(27, 24), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_140] = RTK_PIN_MUX(gpio_140, 0x14, GENMASK(31, 28), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_141] = RTK_PIN_MUX(gpio_141, 0x18, GENMASK(3, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "csi0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_142] = RTK_PIN_MUX(gpio_142, 0x18, GENMASK(7, 4), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_143] = RTK_PIN_MUX(gpio_143, 0x18, GENMASK(11, 8), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_144] = RTK_PIN_MUX(gpio_144, 0x18, GENMASK(15, 12), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "csi1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_164] = RTK_PIN_MUX(gpio_164, 0x18, GENMASK(19, 16), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "etn_led_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "etn_phy_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "i2c5"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_GPIO_165] = RTK_PIN_MUX(gpio_165, 0x18, GENMASK(23, 20), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "etn_led_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "etn_phy_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "i2c5"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate") | |
| ), | |
| [RTD1625_VE4_UART_LOC] = RTK_PIN_MUX(ve4_uart_loc, 0x80, GENMASK(2, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "ve4_uart_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "ve4_uart_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 0), "ve4_uart_loc2") | |
| ), | |
| }; | |
| static const struct rtd_pin_desc rtd1625_main2_muxes[] = { | |
| [RTD1625_MAIN2_EMMC_RST_N] = RTK_PIN_MUX(emmc_rst_n, 0x0, GENMASK(3, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "emmc"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_EMMC_DD_SB] = RTK_PIN_MUX(emmc_dd_sb, 0x0, GENMASK(7, 4), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "emmc"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_EMMC_CLK] = RTK_PIN_MUX(emmc_clk, 0x0, GENMASK(11, 8), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "emmc"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_EMMC_CMD] = RTK_PIN_MUX(emmc_cmd, 0x0, GENMASK(15, 12), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "emmc"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_EMMC_DATA_0] = RTK_PIN_MUX(emmc_data_0, 0x0, GENMASK(19, 16), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "emmc"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "nf"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_EMMC_DATA_1] = RTK_PIN_MUX(emmc_data_1, 0x0, GENMASK(23, 20), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "emmc"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "nf"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_EMMC_DATA_2] = RTK_PIN_MUX(emmc_data_2, 0x0, GENMASK(27, 24), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "emmc"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 24), "nf"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_EMMC_DATA_3] = RTK_PIN_MUX(emmc_data_3, 0x0, GENMASK(31, 28), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "emmc"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 28), "nf"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_EMMC_DATA_4] = RTK_PIN_MUX(emmc_data_4, 0x4, GENMASK(3, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "emmc"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 0), "nf"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_EMMC_DATA_5] = RTK_PIN_MUX(emmc_data_5, 0x4, GENMASK(7, 4), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "emmc"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "nf"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_EMMC_DATA_6] = RTK_PIN_MUX(emmc_data_6, 0x4, GENMASK(11, 8), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "emmc"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_EMMC_DATA_7] = RTK_PIN_MUX(emmc_data_7, 0x4, GENMASK(15, 12), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "emmc"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_14] = RTK_PIN_MUX(gpio_14, 0x4, GENMASK(19, 16), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "etn_led_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "etn_phy_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "rgmii"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_15] = RTK_PIN_MUX(gpio_15, 0x4, GENMASK(23, 20), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "etn_led_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "etn_phy_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "rgmii"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_20] = RTK_PIN_MUX(gpio_20, 0x4, GENMASK(27, 24), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "i2c1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_21] = RTK_PIN_MUX(gpio_21, 0x4, GENMASK(31, 28), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "i2c1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_22] = RTK_PIN_MUX(gpio_22, 0x8, GENMASK(3, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "dbg_out1") | |
| ), | |
| [RTD1625_MAIN2_HIF_DATA] = RTK_PIN_MUX(hif_data, 0x8, GENMASK(7, 4), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "sd"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "scpu_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 4), "acpu_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x5, 4), "pcpu_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x6, 4), "aupu0_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x7, 4), "ve2_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x9, 4), "hi_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 4), "hi_m"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xe, 4), "aupu1_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_HIF_EN] = RTK_PIN_MUX(hif_en, 0x8, GENMASK(11, 8), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 8), "sd"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "scpu_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 8), "acpu_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x5, 8), "pcpu_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x6, 8), "aupu0_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x7, 8), "ve2_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x9, 8), "hi_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 8), "hi_m"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xe, 8), "aupu1_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_HIF_RDY] = RTK_PIN_MUX(hif_rdy, 0x8, GENMASK(15, 12), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 12), "sd"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "scpu_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 12), "acpu_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x5, 12), "pcpu_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x6, 12), "aupu0_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x7, 12), "ve2_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x9, 12), "hi_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 12), "hi_m"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xe, 12), "aupu1_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_HIF_CLK] = RTK_PIN_MUX(hif_clk, 0x8, GENMASK(19, 16), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 16), "sd"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "scpu_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 16), "acpu_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x5, 16), "pcpu_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x6, 16), "aupu0_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x7, 16), "ve2_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x9, 16), "hi_loc0"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xa, 16), "hi_m"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xe, 16), "aupu1_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_40] = RTK_PIN_MUX(gpio_40, 0x8, GENMASK(23, 20), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 20), "sd"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "scpu_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x4, 20), "acpu_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x5, 20), "pcpu_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x6, 20), "aupu0_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x7, 20), "ve2_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xe, 20), "aupu1_ejtag_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_41] = RTK_PIN_MUX(gpio_41, 0x8, GENMASK(27, 24), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 24), "sd"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_64] = RTK_PIN_MUX(gpio_64, 0x8, GENMASK(31, 28), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "spi"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_65] = RTK_PIN_MUX(gpio_65, 0xc, GENMASK(3, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 0), "pll_test_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 0), "spi"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_66] = RTK_PIN_MUX(gpio_66, 0xc, GENMASK(7, 4), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x1, 4), "pll_test_loc1"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 4), "spi"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_67] = RTK_PIN_MUX(gpio_67, 0xc, GENMASK(13, 8), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "spi"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_80] = RTK_PIN_MUX(gpio_80, 0xc, GENMASK(15, 12), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "rmii"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "rgmii"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_81] = RTK_PIN_MUX(gpio_81, 0xc, GENMASK(19, 16), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "rmii"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "rgmii"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_82] = RTK_PIN_MUX(gpio_82, 0xc, GENMASK(23, 20), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 20), "rmii"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "rgmii"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_83] = RTK_PIN_MUX(gpio_83, 0xc, GENMASK(27, 24), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 24), "rmii"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 24), "rgmii"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_84] = RTK_PIN_MUX(gpio_84, 0xc, GENMASK(31, 28), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 28), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 28), "rmii"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 28), "rgmii"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 28), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_85] = RTK_PIN_MUX(gpio_85, 0x10, GENMASK(3, 0), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 0), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 0), "rgmii"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 0), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_86] = RTK_PIN_MUX(gpio_86, 0x10, GENMASK(7, 4), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 4), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 4), "rgmii"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 4), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_87] = RTK_PIN_MUX(gpio_87, 0x10, GENMASK(11, 8), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 8), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 8), "rmii"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 8), "rgmii"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 8), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_88] = RTK_PIN_MUX(gpio_88, 0x10, GENMASK(15, 12), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 12), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 12), "rmii"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 12), "rgmii"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 12), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_89] = RTK_PIN_MUX(gpio_89, 0x10, GENMASK(19, 16), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 16), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x2, 16), "rmii"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 16), "rgmii"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 16), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_90] = RTK_PIN_MUX(gpio_90, 0x10, GENMASK(23, 20), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 20), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 20), "rgmii"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 20), "iso_tristate") | |
| ), | |
| [RTD1625_MAIN2_GPIO_91] = RTK_PIN_MUX(gpio_91, 0x10, GENMASK(27, 24), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x0, 24), "gpio"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0x3, 24), "rgmii"), | |
| RTK_PIN_FUNC(SHIFT_LEFT(0xf, 24), "iso_tristate") | |
| ), | |
| }; | |
| static const struct rtd_pin_config_desc rtd1625_iso_configs[] = { | |
| [RTD1625_ISO_GPIO_8] = RTK_PIN_CONFIG_V2(gpio_8, 0x20, 0, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_9] = RTK_PIN_CONFIG_V2(gpio_9, 0x20, 6, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_10] = RTK_PIN_CONFIG_V2(gpio_10, 0x20, 12, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_11] = RTK_PIN_CONFIG_V2(gpio_11, 0x20, 18, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_45] = RTK_PIN_CONFIG(gpio_45, 0x24, 0, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_ISO_GPIO_46] = RTK_PIN_CONFIG(gpio_46, 0x24, 13, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_ISO_GPIO_47] = RTK_PIN_CONFIG(gpio_47, 0x28, 0, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_ISO_GPIO_48] = RTK_PIN_CONFIG(gpio_48, 0x28, 13, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_ISO_GPIO_49] = RTK_PIN_CONFIG(gpio_49, 0x2c, 0, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_ISO_GPIO_50] = RTK_PIN_CONFIG(gpio_50, 0x2c, 13, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_ISO_GPIO_52] = RTK_PIN_CONFIG_V2(gpio_52, 0x2c, 26, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_94] = RTK_PIN_CONFIG_V2(gpio_94, 0x30, 0, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_95] = RTK_PIN_CONFIG_V2(gpio_95, 0x30, 6, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_96] = RTK_PIN_CONFIG_V2(gpio_96, 0x30, 12, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_97] = RTK_PIN_CONFIG_V2(gpio_97, 0x30, 18, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_98] = RTK_PIN_CONFIG_V2(gpio_98, 0x30, 24, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_99] = RTK_PIN_CONFIG_V2(gpio_99, 0x34, 0, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_100] = RTK_PIN_CONFIG_V2(gpio_100, 0x34, 6, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_101] = RTK_PIN_CONFIG_V2(gpio_101, 0x34, 12, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_102] = RTK_PIN_CONFIG_V2(gpio_102, 0x34, 18, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_103] = RTK_PIN_CONFIG_V2(gpio_103, 0x34, 24, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_104] = RTK_PIN_CONFIG_V2(gpio_104, 0x38, 0, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_105] = RTK_PIN_CONFIG_V2(gpio_105, 0x38, 6, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_106] = RTK_PIN_CONFIG_V2(gpio_106, 0x38, 12, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_107] = RTK_PIN_CONFIG_V2(gpio_107, 0x38, 18, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_108] = RTK_PIN_CONFIG_V2(gpio_108, 0x38, 24, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_109] = RTK_PIN_CONFIG_V2(gpio_109, 0x3c, 0, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_110] = RTK_PIN_CONFIG_V2(gpio_110, 0x3c, 6, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_111] = RTK_PIN_CONFIG_V2(gpio_111, 0x3c, 12, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_112] = RTK_PIN_CONFIG_V2(gpio_112, 0x3c, 18, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_128] = RTK_PIN_CONFIG_V2(gpio_128, 0x3c, 24, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_129] = RTK_PIN_CONFIG_V2(gpio_129, 0x40, 0, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_130] = RTK_PIN_CONFIG_V2(gpio_130, 0x40, 6, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_131] = RTK_PIN_CONFIG_V2(gpio_131, 0x40, 12, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_145] = RTK_PIN_CONFIG_V2(gpio_145, 0x40, 18, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_146] = RTK_PIN_CONFIG_V2(gpio_146, 0x40, 24, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_147] = RTK_PIN_CONFIG_V2(gpio_147, 0x44, 0, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_148] = RTK_PIN_CONFIG_V2(gpio_148, 0x44, 6, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_149] = RTK_PIN_CONFIG_V2(gpio_149, 0x44, 12, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_150] = RTK_PIN_CONFIG_V2(gpio_150, 0x44, 18, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_151] = RTK_PIN_CONFIG_V2(gpio_151, 0x44, 24, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_152] = RTK_PIN_CONFIG_V2(gpio_152, 0x48, 0, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_153] = RTK_PIN_CONFIG_V2(gpio_153, 0x48, 6, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_154] = RTK_PIN_CONFIG_V2(gpio_154, 0x48, 12, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_155] = RTK_PIN_CONFIG_V2(gpio_155, 0x48, 18, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_156] = RTK_PIN_CONFIG_V2(gpio_156, 0x48, 24, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_157] = RTK_PIN_CONFIG_V2(gpio_157, 0x4c, 0, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_158] = RTK_PIN_CONFIG_V2(gpio_158, 0x4c, 6, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_159] = RTK_PIN_CONFIG_V2(gpio_159, 0x4c, 12, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_160] = RTK_PIN_CONFIG_V2(gpio_160, 0x4c, 18, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_161] = RTK_PIN_CONFIG_V2(gpio_161, 0x4c, 24, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_162] = RTK_PIN_CONFIG_V2(gpio_162, 0x50, 0, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_GPIO_163] = RTK_PIN_CONFIG_V2(gpio_163, 0x50, 6, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_USB_CC1] = RTK_PIN_CONFIG_V2(usb_cc1, 0x50, 12, NA, NA, 0, 1, 2, 3, | |
| PADDRI_4_8), | |
| [RTD1625_ISO_USB_CC2] = RTK_PIN_CONFIG_V2(usb_cc2, 0x50, 16, NA, NA, 0, 1, 2, 3, | |
| PADDRI_4_8), | |
| }; | |
| static const struct rtd_pin_config_desc rtd1625_isom_configs[] = { | |
| [RTD1625_ISOM_GPIO_0] = RTK_PIN_CONFIG_V2(gpio_0, 0x4, 5, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_ISOM_GPIO_1] = RTK_PIN_CONFIG_V2(gpio_1, 0x4, 11, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_ISOM_GPIO_28] = RTK_PIN_CONFIG_V2(gpio_28, 0x4, 17, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_ISOM_GPIO_29] = RTK_PIN_CONFIG_V2(gpio_29, 0x4, 23, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| }; | |
| static const struct rtd_pin_config_desc rtd1625_ve4_configs[] = { | |
| [RTD1625_VE4_GPIO_2] = RTK_PIN_CONFIG_V2(gpio_2, 0x1c, 0, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_3] = RTK_PIN_CONFIG_V2(gpio_3, 0x1c, 6, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_4] = RTK_PIN_CONFIG_V2(gpio_4, 0x1c, 12, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_5] = RTK_PIN_CONFIG_V2(gpio_5, 0x1c, 18, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_6] = RTK_PIN_CONFIG_V2(gpio_6, 0x1c, 24, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_7] = RTK_PIN_CONFIG_V2(gpio_7, 0x20, 0, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_12] = RTK_PIN_CONFIG_V2(gpio_12, 0x20, 6, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_13] = RTK_PIN_CONFIG_V2(gpio_13, 0x20, 12, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_16] = RTK_PIN_CONFIG_V2(gpio_16, 0x20, 18, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_17] = RTK_PIN_CONFIG_V2(gpio_17, 0x20, 24, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_18] = RTK_PIN_CONFIG_V2(gpio_18, 0x24, 0, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_19] = RTK_PIN_CONFIG_V2(gpio_19, 0x24, 6, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_23] = RTK_PIN_CONFIG_V2(gpio_23, 0x24, 12, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_24] = RTK_PIN_CONFIG_V2(gpio_24, 0x24, 18, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_25] = RTK_PIN_CONFIG_V2(gpio_25, 0x24, 24, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_30] = RTK_PIN_CONFIG_V2(gpio_30, 0x28, 0, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_31] = RTK_PIN_CONFIG_V2(gpio_31, 0x28, 6, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_32] = RTK_PIN_CONFIG_V2(gpio_32, 0x28, 12, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_33] = RTK_PIN_CONFIG_V2(gpio_33, 0x28, 18, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_34] = RTK_PIN_CONFIG_V2(gpio_34, 0x28, 24, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_35] = RTK_PIN_CONFIG_V2(gpio_35, 0x2c, 0, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_42] = RTK_PIN_CONFIG_V2(gpio_42, 0x2c, 6, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_43] = RTK_PIN_CONFIG_V2(gpio_43, 0x2c, 12, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_44] = RTK_PIN_CONFIG_V2(gpio_44, 0x2c, 18, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_51] = RTK_PIN_CONFIG_V2(gpio_51, 0x2c, 24, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_53] = RTK_PIN_CONFIG_V2(gpio_53, 0x30, 0, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_54] = RTK_PIN_CONFIG_V2(gpio_54, 0x30, 6, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_55] = RTK_PIN_CONFIG_V2(gpio_55, 0x30, 12, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_56] = RTK_PIN_CONFIG_V2(gpio_56, 0x30, 18, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_57] = RTK_PIN_CONFIG_V2(gpio_57, 0x30, 24, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_58] = RTK_PIN_CONFIG_V2(gpio_58, 0x34, 0, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_59] = RTK_PIN_CONFIG_V2(gpio_59, 0x34, 6, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_60] = RTK_PIN_CONFIG_V2(gpio_60, 0x34, 12, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_61] = RTK_PIN_CONFIG_V2(gpio_61, 0x34, 18, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_62] = RTK_PIN_CONFIG_V2(gpio_62, 0x34, 24, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_63] = RTK_PIN_CONFIG_V2(gpio_63, 0x38, 0, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_92] = RTK_PIN_CONFIG_V2(gpio_92, 0x38, 6, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_93] = RTK_PIN_CONFIG_V2(gpio_93, 0x38, 12, 1, 2, 0, 3, 4, 5, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_132] = RTK_PIN_CONFIG_V2(gpio_132, 0x38, 18, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_133] = RTK_PIN_CONFIG_V2(gpio_133, 0x38, 24, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_134] = RTK_PIN_CONFIG_V2(gpio_134, 0x3c, 0, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_135] = RTK_PIN_CONFIG_V2(gpio_135, 0x3c, 6, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_136] = RTK_PIN_CONFIG_V2(gpio_136, 0x3c, 12, 1, 2, 0, 3, 4, 5, | |
| PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_137] = RTK_PIN_CONFIG(gpio_137, 0x3c, 18, 1, 2, 0, NA, NA, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_138] = RTK_PIN_CONFIG(gpio_138, 0x3c, 21, 1, 2, 0, NA, NA, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_139] = RTK_PIN_CONFIG(gpio_139, 0x3c, 24, 1, 2, 0, NA, NA, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_140] = RTK_PIN_CONFIG(gpio_140, 0x3c, 27, 1, 2, 0, NA, NA, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_141] = RTK_PIN_CONFIG(gpio_141, 0x40, 0, 1, 2, 0, NA, NA, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_142] = RTK_PIN_CONFIG(gpio_142, 0x40, 3, 1, 2, 0, NA, NA, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_143] = RTK_PIN_CONFIG(gpio_143, 0x40, 6, 1, 2, 0, NA, NA, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_144] = RTK_PIN_CONFIG(gpio_144, 0x40, 9, 1, 2, 0, NA, NA, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_164] = RTK_PIN_CONFIG(gpio_164, 0x40, 12, 1, 2, 0, NA, NA, PADDRI_4_8), | |
| [RTD1625_VE4_GPIO_165] = RTK_PIN_CONFIG(gpio_165, 0x40, 15, 1, 2, 0, NA, NA, PADDRI_4_8), | |
| }; | |
| static const struct rtd_pin_config_desc rtd1625_main2_configs[] = { | |
| [RTD1625_MAIN2_EMMC_CLK] = RTK_PIN_CONFIG(emmc_clk, 0x14, 0, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_MAIN2_EMMC_CMD] = RTK_PIN_CONFIG(emmc_cmd, 0x14, 13, 0, 1, NA, 2, 13, NA), | |
| [RTD1625_MAIN2_EMMC_DATA_0] = RTK_PIN_CONFIG(emmc_data_0, 0x18, 0, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_MAIN2_EMMC_DATA_1] = RTK_PIN_CONFIG(emmc_data_1, 0x18, 13, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_MAIN2_EMMC_DATA_2] = RTK_PIN_CONFIG(emmc_data_2, 0x1c, 0, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_MAIN2_EMMC_DATA_3] = RTK_PIN_CONFIG(emmc_data_3, 0x1c, 13, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_MAIN2_EMMC_DATA_4] = RTK_PIN_CONFIG(emmc_data_4, 0x20, 0, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_MAIN2_EMMC_DATA_5] = RTK_PIN_CONFIG(emmc_data_5, 0x20, 13, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_MAIN2_EMMC_DATA_6] = RTK_PIN_CONFIG(emmc_data_6, 0x24, 0, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_MAIN2_EMMC_DATA_7] = RTK_PIN_CONFIG(emmc_data_7, 0x24, 13, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_MAIN2_EMMC_DD_SB] = RTK_PIN_CONFIG(emmc_dd_sb, 0x28, 0, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_MAIN2_EMMC_RST_N] = RTK_PIN_CONFIG(emmc_rst_n, 0x28, 13, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_MAIN2_GPIO_14] = RTK_PIN_CONFIG(gpio_14, 0x28, 26, 1, 2, 0, NA, NA, PADDRI_4_8), | |
| [RTD1625_MAIN2_GPIO_15] = RTK_PIN_CONFIG(gpio_15, 0x28, 29, 1, 2, 0, NA, NA, PADDRI_4_8), | |
| [RTD1625_MAIN2_GPIO_20] = RTK_PIN_CONFIG_I2C(gpio_20, 0x2c, 0, 1, 2, 0, 3, 4, 5, 7, 8, | |
| PADDRI_4_8), | |
| [RTD1625_MAIN2_GPIO_21] = RTK_PIN_CONFIG_I2C(gpio_21, 0x2c, 9, 1, 2, 0, 3, 4, 5, 7, 8, | |
| PADDRI_4_8), | |
| [RTD1625_MAIN2_GPIO_22] = RTK_PIN_CONFIG_V2(gpio_22, 0x2c, 18, 1, 2, 0, 3, 7, 8, | |
| PADDRI_4_8), | |
| [RTD1625_MAIN2_GPIO_40] = RTK_PIN_CONFIG(gpio_40, 0x30, 0, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_MAIN2_GPIO_41] = RTK_PIN_CONFIG(gpio_41, 0x30, 13, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_MAIN2_GPIO_64] = RTK_PIN_CONFIG(gpio_64, 0x34, 0, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_MAIN2_GPIO_65] = RTK_PIN_CONFIG(gpio_65, 0x34, 13, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_MAIN2_GPIO_66] = RTK_PIN_CONFIG(gpio_66, 0x38, 0, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_MAIN2_GPIO_67] = RTK_PIN_CONFIG(gpio_67, 0x38, 13, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_MAIN2_GPIO_80] = RTK_PIN_CONFIG(gpio_80, 0x38, 26, 1, 2, 0, NA, NA, PADDRI_4_8), | |
| [RTD1625_MAIN2_GPIO_81] = RTK_PIN_CONFIG(gpio_81, 0x38, 29, 1, 2, 0, NA, NA, PADDRI_4_8), | |
| [RTD1625_MAIN2_GPIO_82] = RTK_PIN_CONFIG(gpio_82, 0x3c, 0, 1, 2, 0, NA, NA, PADDRI_4_8), | |
| [RTD1625_MAIN2_GPIO_83] = RTK_PIN_CONFIG(gpio_83, 0x3c, 3, 1, 2, 0, NA, NA, PADDRI_4_8), | |
| [RTD1625_MAIN2_GPIO_84] = RTK_PIN_CONFIG(gpio_84, 0x3c, 6, 1, 2, 0, NA, NA, PADDRI_4_8), | |
| [RTD1625_MAIN2_GPIO_85] = RTK_PIN_CONFIG(gpio_85, 0x3c, 9, 1, 2, NA, NA, NA, PADDRI_4_8), | |
| [RTD1625_MAIN2_GPIO_86] = RTK_PIN_CONFIG(gpio_86, 0x3c, 12, 1, 2, NA, NA, NA, PADDRI_4_8), | |
| [RTD1625_MAIN2_GPIO_87] = RTK_PIN_CONFIG(gpio_87, 0x3c, 22, 1, 2, NA, NA, NA, PADDRI_4_8), | |
| [RTD1625_MAIN2_GPIO_88] = RTK_PIN_CONFIG(gpio_88, 0x40, 0, 1, 2, NA, NA, NA, PADDRI_4_8), | |
| [RTD1625_MAIN2_GPIO_89] = RTK_PIN_CONFIG(gpio_89, 0x40, 10, 1, 2, NA, NA, NA, PADDRI_4_8), | |
| [RTD1625_MAIN2_GPIO_90] = RTK_PIN_CONFIG(gpio_90, 0x40, 20, 1, 2, NA, NA, NA, PADDRI_4_8), | |
| [RTD1625_MAIN2_GPIO_91] = RTK_PIN_CONFIG(gpio_91, 0x44, 0, 1, 2, NA, NA, NA, PADDRI_4_8), | |
| [RTD1625_MAIN2_HIF_CLK] = RTK_PIN_CONFIG(hif_clk, 0x44, 10, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_MAIN2_HIF_DATA] = RTK_PIN_CONFIG(hif_data, 0x48, 0, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_MAIN2_HIF_EN] = RTK_PIN_CONFIG(hif_en, 0x48, 13, 0, 1, NA, 2, 12, NA), | |
| [RTD1625_MAIN2_HIF_RDY] = RTK_PIN_CONFIG(hif_rdy, 0x4c, 0, 0, 1, NA, 2, 12, NA), | |
| }; | |
| static const struct rtd_pin_sconfig_desc rtd1625_iso_sconfigs[] = { | |
| RTK_PIN_SCONFIG(gpio_45, 0x24, 3, 3, 6, 3, 9, 3), | |
| RTK_PIN_SCONFIG(gpio_46, 0x24, 16, 3, 19, 3, 22, 3), | |
| RTK_PIN_SCONFIG(gpio_47, 0x28, 3, 3, 6, 3, 9, 3), | |
| RTK_PIN_SCONFIG(gpio_48, 0x28, 16, 3, 19, 3, 22, 3), | |
| RTK_PIN_SCONFIG(gpio_49, 0x2c, 3, 3, 6, 3, 9, 3), | |
| RTK_PIN_SCONFIG(gpio_50, 0x2c, 16, 3, 19, 3, 22, 3), | |
| }; | |
| static const struct rtd_pin_sconfig_desc rtd1625_main2_sconfigs[] = { | |
| RTK_PIN_SCONFIG(emmc_clk, 0x14, 3, 3, 6, 3, 9, 3), | |
| RTK_PIN_SCONFIG(emmc_cmd, 0x14, 16, 3, 19, 3, 22, 3), | |
| RTK_PIN_SCONFIG(emmc_data_0, 0x18, 3, 3, 6, 3, 9, 3), | |
| RTK_PIN_SCONFIG(emmc_data_1, 0x18, 16, 3, 19, 3, 22, 3), | |
| RTK_PIN_SCONFIG(emmc_data_2, 0x1c, 3, 3, 6, 3, 9, 3), | |
| RTK_PIN_SCONFIG(emmc_data_3, 0x1c, 16, 3, 19, 3, 22, 3), | |
| RTK_PIN_SCONFIG(emmc_data_4, 0x20, 3, 3, 6, 3, 9, 3), | |
| RTK_PIN_SCONFIG(emmc_data_5, 0x20, 16, 3, 19, 3, 22, 3), | |
| RTK_PIN_SCONFIG(emmc_data_6, 0x24, 3, 3, 6, 3, 9, 3), | |
| RTK_PIN_SCONFIG(emmc_data_7, 0x24, 16, 3, 19, 3, 22, 3), | |
| RTK_PIN_SCONFIG(emmc_dd_sb, 0x28, 3, 3, 6, 3, 9, 3), | |
| RTK_PIN_SCONFIG(emmc_rst_n, 0x28, 16, 3, 19, 3, 22, 3), | |
| RTK_PIN_SCONFIG(gpio_40, 0x30, 3, 3, 6, 3, 9, 3), | |
| RTK_PIN_SCONFIG(gpio_41, 0x30, 16, 3, 19, 3, 22, 3), | |
| RTK_PIN_SCONFIG(gpio_64, 0x34, 3, 3, 6, 3, 9, 3), | |
| RTK_PIN_SCONFIG(gpio_65, 0x34, 16, 3, 19, 3, 22, 3), | |
| RTK_PIN_SCONFIG(gpio_66, 0x38, 3, 3, 6, 3, 9, 3), | |
| RTK_PIN_SCONFIG(gpio_67, 0x38, 16, 3, 19, 3, 22, 3), | |
| RTK_PIN_SCONFIG(gpio_86, 0x3c, 0, 0, 14, 4, 18, 4), | |
| RTK_PIN_SCONFIG(gpio_87, 0x3c, 0, 0, 24, 4, 28, 4), | |
| RTK_PIN_SCONFIG(gpio_88, 0x40, 0, 0, 2, 4, 6, 4), | |
| RTK_PIN_SCONFIG(gpio_89, 0x40, 0, 0, 12, 4, 16, 4), | |
| RTK_PIN_SCONFIG(gpio_90, 0x40, 0, 0, 22, 4, 26, 4), | |
| RTK_PIN_SCONFIG(gpio_91, 0x44, 0, 0, 2, 4, 6, 4), | |
| RTK_PIN_SCONFIG(hif_clk, 0x44, 13, 3, 16, 3, 19, 3), | |
| RTK_PIN_SCONFIG(hif_data, 0x48, 3, 3, 6, 3, 9, 3), | |
| RTK_PIN_SCONFIG(hif_en, 0x48, 16, 3, 19, 3, 22, 3), | |
| RTK_PIN_SCONFIG(hif_rdy, 0x4c, 3, 3, 6, 3, 9, 3), | |
| }; | |
| static const struct rtd_reg_range rtd1625_iso_reg_ranges[] = { | |
| { .offset = 0x0, .len = 0x58 }, | |
| { .offset = 0x120, .len = 0x10 }, | |
| { .offset = 0x180, .len = 0xc }, | |
| { .offset = 0x1A0, .len = 0xc }, | |
| }; | |
| static const struct rtd_pin_range rtd1625_iso_pin_ranges = { | |
| .ranges = rtd1625_iso_reg_ranges, | |
| .num_ranges = ARRAY_SIZE(rtd1625_iso_reg_ranges), | |
| }; | |
| static const struct rtd_reg_range rtd1625_isom_reg_ranges[] = { | |
| { .offset = 0x0, .len = 0xc }, | |
| { .offset = 0x30, .len = 0x4 }, | |
| }; | |
| static const struct rtd_pin_range rtd1625_isom_pin_ranges = { | |
| .ranges = rtd1625_isom_reg_ranges, | |
| .num_ranges = ARRAY_SIZE(rtd1625_isom_reg_ranges), | |
| }; | |
| static const struct rtd_reg_range rtd1625_ve4_reg_ranges[] = { | |
| { .offset = 0x0, .len = 0x48 }, | |
| { .offset = 0x80, .len = 0x4 }, | |
| }; | |
| static const struct rtd_pin_range rtd1625_ve4_pin_ranges = { | |
| .ranges = rtd1625_ve4_reg_ranges, | |
| .num_ranges = ARRAY_SIZE(rtd1625_ve4_reg_ranges), | |
| }; | |
| static const struct rtd_reg_range rtd1625_main2_reg_ranges[] = { | |
| { .offset = 0x0, .len = 0x50 }, | |
| }; | |
| static const struct rtd_pin_range rtd1625_main2_pin_ranges = { | |
| .ranges = rtd1625_main2_reg_ranges, | |
| .num_ranges = ARRAY_SIZE(rtd1625_main2_reg_ranges), | |
| }; | |
| static const struct rtd_pinctrl_desc rtd1625_iso_pinctrl_desc = { | |
| .pins = rtd1625_iso_pins, | |
| .num_pins = ARRAY_SIZE(rtd1625_iso_pins), | |
| .groups = rtd1625_iso_pin_groups, | |
| .num_groups = ARRAY_SIZE(rtd1625_iso_pin_groups), | |
| .functions = rtd1625_iso_pin_functions, | |
| .num_functions = ARRAY_SIZE(rtd1625_iso_pin_functions), | |
| .muxes = rtd1625_iso_muxes, | |
| .num_muxes = ARRAY_SIZE(rtd1625_iso_muxes), | |
| .configs = rtd1625_iso_configs, | |
| .num_configs = ARRAY_SIZE(rtd1625_iso_configs), | |
| .sconfigs = rtd1625_iso_sconfigs, | |
| .num_sconfigs = ARRAY_SIZE(rtd1625_iso_sconfigs), | |
| .pin_range = &rtd1625_iso_pin_ranges, | |
| }; | |
| static const struct rtd_pinctrl_desc rtd1625_isom_pinctrl_desc = { | |
| .pins = rtd1625_isom_pins, | |
| .num_pins = ARRAY_SIZE(rtd1625_isom_pins), | |
| .groups = rtd1625_isom_pin_groups, | |
| .num_groups = ARRAY_SIZE(rtd1625_isom_pin_groups), | |
| .functions = rtd1625_isom_pin_functions, | |
| .num_functions = ARRAY_SIZE(rtd1625_isom_pin_functions), | |
| .muxes = rtd1625_isom_muxes, | |
| .num_muxes = ARRAY_SIZE(rtd1625_isom_muxes), | |
| .configs = rtd1625_isom_configs, | |
| .num_configs = ARRAY_SIZE(rtd1625_isom_configs), | |
| .pin_range = &rtd1625_isom_pin_ranges, | |
| }; | |
| static const struct rtd_pinctrl_desc rtd1625_ve4_pinctrl_desc = { | |
| .pins = rtd1625_ve4_pins, | |
| .num_pins = ARRAY_SIZE(rtd1625_ve4_pins), | |
| .groups = rtd1625_ve4_pin_groups, | |
| .num_groups = ARRAY_SIZE(rtd1625_ve4_pin_groups), | |
| .functions = rtd1625_ve4_pin_functions, | |
| .num_functions = ARRAY_SIZE(rtd1625_ve4_pin_functions), | |
| .muxes = rtd1625_ve4_muxes, | |
| .num_muxes = ARRAY_SIZE(rtd1625_ve4_muxes), | |
| .configs = rtd1625_ve4_configs, | |
| .num_configs = ARRAY_SIZE(rtd1625_ve4_configs), | |
| .pin_range = &rtd1625_ve4_pin_ranges, | |
| }; | |
| static const struct rtd_pinctrl_desc rtd1625_main2_pinctrl_desc = { | |
| .pins = rtd1625_main2_pins, | |
| .num_pins = ARRAY_SIZE(rtd1625_main2_pins), | |
| .groups = rtd1625_main2_pin_groups, | |
| .num_groups = ARRAY_SIZE(rtd1625_main2_pin_groups), | |
| .functions = rtd1625_main2_pin_functions, | |
| .num_functions = ARRAY_SIZE(rtd1625_main2_pin_functions), | |
| .muxes = rtd1625_main2_muxes, | |
| .num_muxes = ARRAY_SIZE(rtd1625_main2_muxes), | |
| .configs = rtd1625_main2_configs, | |
| .num_configs = ARRAY_SIZE(rtd1625_main2_configs), | |
| .sconfigs = rtd1625_main2_sconfigs, | |
| .num_sconfigs = ARRAY_SIZE(rtd1625_main2_sconfigs), | |
| .pin_range = &rtd1625_main2_pin_ranges, | |
| }; | |
| static int rtd1625_pinctrl_probe(struct platform_device *pdev) | |
| { | |
| const struct rtd_pinctrl_desc *desc = device_get_match_data(&pdev->dev); | |
| return rtd_pinctrl_probe(pdev, desc); | |
| } | |
| static const struct of_device_id rtd1625_pinctrl_of_match[] = { | |
| {.compatible = "realtek,rtd1625-iso-pinctrl", .data = &rtd1625_iso_pinctrl_desc}, | |
| {.compatible = "realtek,rtd1625-isom-pinctrl", .data = &rtd1625_isom_pinctrl_desc}, | |
| {.compatible = "realtek,rtd1625-ve4-pinctrl", .data = &rtd1625_ve4_pinctrl_desc}, | |
| {.compatible = "realtek,rtd1625-main2-pinctrl", .data = &rtd1625_main2_pinctrl_desc}, | |
| {}, | |
| }; | |
| MODULE_DEVICE_TABLE(of, rtd1625_pinctrl_of_match); | |
| static struct platform_driver rtd1625_pinctrl_driver = { | |
| .driver = { | |
| .name = "rtd1625-pinctrl", | |
| .of_match_table = rtd1625_pinctrl_of_match, | |
| .pm = &realtek_pinctrl_pm_ops, | |
| }, | |
| .probe = rtd1625_pinctrl_probe, | |
| }; | |
| module_platform_driver(rtd1625_pinctrl_driver); | |
| MODULE_LICENSE("GPL"); | |
| MODULE_AUTHOR("Realtek Semiconductor Corporation"); | |
| MODULE_DESCRIPTION("Realtek DHC SoC RTD1625 pinctrl driver"); |