| // 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_sel", "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, 18, 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"); |