From 7729ad92c24abcd82115e497e14f3affa67cdb48 Mon Sep 17 00:00:00 2001 From: -akku- Date: Sat, 20 Sep 2025 00:06:59 +0900 Subject: [PATCH 01/25] wip: pinctrl: mediatek: MT6589 pinctrl init --- .../pinctrl/mediatek,mt65xx-pinctrl.yaml | 1 + arch/arm/configs/lenovo-blade_defconfig | 2 +- drivers/pinctrl/mediatek/Kconfig | 7 +++++ drivers/pinctrl/mediatek/Makefile | 1 + drivers/pinctrl/mediatek/pinctrl-mt6589.c | 31 +++++++++++++++++++ 5 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 drivers/pinctrl/mediatek/pinctrl-mt6589.c diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml index b9680b896f12f8..19270dd0fec1bb 100644 --- a/Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml @@ -18,6 +18,7 @@ properties: - mediatek,mt2701-pinctrl - mediatek,mt2712-pinctrl - mediatek,mt6397-pinctrl + - mediatek,mt6589-pinctrl - mediatek,mt7623-pinctrl - mediatek,mt8127-pinctrl - mediatek,mt8135-pinctrl diff --git a/arch/arm/configs/lenovo-blade_defconfig b/arch/arm/configs/lenovo-blade_defconfig index e82b0cd1cbb809..8d061248c969ed 100644 --- a/arch/arm/configs/lenovo-blade_defconfig +++ b/arch/arm/configs/lenovo-blade_defconfig @@ -71,7 +71,7 @@ CONFIG_SPI_MT65XX=y CONFIG_PINCTRL=y CONFIG_PINCTRL_MTK=y CONFIG_EINT_MTK=y -#CONFIG_PINCTRL_MT6589=y # not ported +CONFIG_PINCTRL_MT6589=y ## GPIO diff --git a/drivers/pinctrl/mediatek/Kconfig b/drivers/pinctrl/mediatek/Kconfig index 2d15af6be27628..8d9f84701793ac 100644 --- a/drivers/pinctrl/mediatek/Kconfig +++ b/drivers/pinctrl/mediatek/Kconfig @@ -97,6 +97,13 @@ config PINCTRL_MT2701 default MACH_MT2701 select PINCTRL_MTK +config PINCTRL_MT6589 + bool "MediaTek MT6589 pin control" + depends on MACH_MT6589 || COMPILE_TEST + depends on OF + default MACH_MT6589 + select PINCTRL_MTK + config PINCTRL_MT7623 bool "MediaTek MT7623 pin control with generic binding" depends on MACH_MT7623 || COMPILE_TEST diff --git a/drivers/pinctrl/mediatek/Makefile b/drivers/pinctrl/mediatek/Makefile index 7518980fba5960..249920adc36e00 100644 --- a/drivers/pinctrl/mediatek/Makefile +++ b/drivers/pinctrl/mediatek/Makefile @@ -19,6 +19,7 @@ obj-$(CONFIG_PINCTRL_MT2701) += pinctrl-mt2701.o obj-$(CONFIG_PINCTRL_MT2712) += pinctrl-mt2712.o obj-$(CONFIG_PINCTRL_MT8135) += pinctrl-mt8135.o obj-$(CONFIG_PINCTRL_MT8127) += pinctrl-mt8127.o +obj-$(CONFIG_PINCTRL_MT6589) += pinctrl-mt6589.o obj-$(CONFIG_PINCTRL_MT6765) += pinctrl-mt6765.o obj-$(CONFIG_PINCTRL_MT6779) += pinctrl-mt6779.o obj-$(CONFIG_PINCTRL_MT6795) += pinctrl-mt6795.o diff --git a/drivers/pinctrl/mediatek/pinctrl-mt6589.c b/drivers/pinctrl/mediatek/pinctrl-mt6589.c new file mode 100644 index 00000000000000..91d6d6ea713951 --- /dev/null +++ b/drivers/pinctrl/mediatek/pinctrl-mt6589.c @@ -0,0 +1,31 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Author: akku + */ + +#include +#include +#include + +#include "pinctrl-mtk-common.h" + +static const struct of_device_id mt6589_pctrl_match[] = { + // { .compatible = "mediatek,mt6589-pinctrl", .data = &mt6589_pinctrl_data }, + {} +}; +MODULE_DEVICE_TABLE(of, mt6589_pctrl_match); + +static struct platform_driver mtk_pinctrl_driver = { + .probe = mtk_pctrl_common_probe, + .driver = { + .name = "mediatek-mt6589-pinctrl", + .of_match_table = mt6589_pctrl_match, + .pm = pm_sleep_ptr(&mtk_eint_pm_ops), + }, +}; + +static int __init mtk_pinctrl_init(void) +{ + return platform_driver_register(&mtk_pinctrl_driver); +} +arch_initcall(mtk_pinctrl_init); From 6895ad95dc654278cc7c7034ac2b3542d7e65795 Mon Sep 17 00:00:00 2001 From: -akku- Date: Sun, 21 Sep 2025 15:12:39 +0900 Subject: [PATCH 02/25] wip: pinctrl: mediatek: add pins to MT6589 pinctrl --- drivers/pinctrl/mediatek/pinctrl-mt6589.c | 43 +- drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h | 2695 +++++++++++++++++ 2 files changed, 2737 insertions(+), 1 deletion(-) create mode 100644 drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h diff --git a/drivers/pinctrl/mediatek/pinctrl-mt6589.c b/drivers/pinctrl/mediatek/pinctrl-mt6589.c index 91d6d6ea713951..d314f32b1aaac8 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt6589.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt6589.c @@ -8,9 +8,50 @@ #include #include "pinctrl-mtk-common.h" +#include "pinctrl-mtk-mt6589.h" + +static const struct mtk_pinctrl_devdata mt6589_pinctrl_data = { + .pins = mtk_pins_mt6589, + .npins = ARRAY_SIZE(mtk_pins_mt6589), + // .grp_desc = mt2701_drv_grp, + // .n_grp_cls = ARRAY_SIZE(mt2701_drv_grp), + // .pin_drv_grp = mt2701_pin_drv, + // .n_pin_drv_grps = ARRAY_SIZE(mt2701_pin_drv), + // .spec_ies = mt2701_ies_set, + // .n_spec_ies = ARRAY_SIZE(mt2701_ies_set), + // .spec_pupd = mt2701_spec_pupd, + // .n_spec_pupd = ARRAY_SIZE(mt2701_spec_pupd), + // .spec_smt = mt2701_smt_set, + // .n_spec_smt = ARRAY_SIZE(mt2701_smt_set), + // .spec_pull_set = mtk_pctrl_spec_pull_set_samereg, + // .spec_ies_smt_set = mtk_pconf_spec_set_ies_smt_range, + // .spec_pinmux_set = mt2701_spec_pinmux_set, + // .spec_dir_set = mt2701_spec_dir_set, + // .dir_offset = 0x0000, + // .pullen_offset = 0x0150, + // .pullsel_offset = 0x0280, + // .dout_offset = 0x0500, + // .din_offset = 0x0630, + // .pinmux_offset = 0x0760, + // .type1_start = 280, + // .type1_end = 280, + // .port_shf = 4, + // .port_mask = 0x1f, + // .port_align = 4, + // .mode_mask = 0xf, + // .mode_per_reg = 5, + // .mode_shf = 4, + // .eint_hw = { + // .port_mask = 6, + // .ports = 6, + // .ap_num = 169, + // .db_cnt = 16, + // .db_time = debounce_time_mt2701, + // }, +}; static const struct of_device_id mt6589_pctrl_match[] = { - // { .compatible = "mediatek,mt6589-pinctrl", .data = &mt6589_pinctrl_data }, + { .compatible = "mediatek,mt6589-pinctrl", .data = &mt6589_pinctrl_data }, {} }; MODULE_DEVICE_TABLE(of, mt6589_pctrl_match); diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h new file mode 100644 index 00000000000000..1d844940d70787 --- /dev/null +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h @@ -0,0 +1,2695 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Author: akku + */ + +#ifndef __PINCTRL_MTK_MT6589_H +#define __PINCTRL_MTK_MT6589_H + +#include +#include "pinctrl-mtk-common.h" + +/* TODO: Is eintmux (the first argument of the MTK_EINT_FUNCTION macro) always 0? + It's 0 on the MT2701, but some SoCs may use non-zero values. +*/ +static const struct mtk_desc_pin mtk_pins_mt6589[] = { + /* GPIO */ + MTK_PIN(PINCTRL_PIN(0, "GPIO0"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 49), + MTK_FUNCTION(0, "GPIO0"), + MTK_FUNCTION(1, "MSDC0_DAT7"), + MTK_FUNCTION(2, "EINT49"), + MTK_FUNCTION(3, "I2SOUT_DAT"), + MTK_FUNCTION(4, "DAC_DAT_OUT"), + MTK_FUNCTION(5, "PCM1_DO"), + MTK_FUNCTION(6, "SPI1_MO"), + MTK_FUNCTION(7, "NALE") + ), + MTK_PIN(PINCTRL_PIN(1, "GPIO1"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 48), + MTK_FUNCTION(0, "GPIO1"), + MTK_FUNCTION(1, "MSDC0_DAT6"), + MTK_FUNCTION(2, "EINT48"), + MTK_FUNCTION(3, "I2SIN_WS"), + MTK_FUNCTION(4, "DAC_WS"), + MTK_FUNCTION(5, "PCM1_WS"), + MTK_FUNCTION(6, "SPI1_CSN"), + MTK_FUNCTION(7, "NCLE") + ), + MTK_PIN(PINCTRL_PIN(2, "GPIO2"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 47), + MTK_FUNCTION(0, "GPIO2"), + MTK_FUNCTION(1, "MSDC0_DAT5"), + MTK_FUNCTION(2, "EINT47"), + MTK_FUNCTION(3, "I2SIN_CK"), + MTK_FUNCTION(4, "DAC_CK"), + MTK_FUNCTION(5, "PCM1_CK"), + MTK_FUNCTION(6, "SPI1_CLK"), + MTK_FUNCTION(7, "NLD4") + ), + MTK_PIN(PINCTRL_PIN(3, "GPIO3"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 46), + MTK_FUNCTION(0, "GPIO3"), + MTK_FUNCTION(1, "MSDC0_DAT4"), + MTK_FUNCTION(2, "EINT46"), + MTK_FUNCTION(6, "LSCE1B_2X"), + MTK_FUNCTION(7, "NLD5") + ), + MTK_PIN(PINCTRL_PIN(4, "GPIO4"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 50), + MTK_FUNCTION(0, "GPIO4"), + MTK_FUNCTION(1, "MSDC0_RSTB"), + MTK_FUNCTION(2, "EINT50"), + MTK_FUNCTION(3, "I2SIN_DAT"), + MTK_FUNCTION(5, "PCM1_DI"), + MTK_FUNCTION(6, "SPI1_MI"), + MTK_FUNCTION(7, "NLD10") + ), + MTK_PIN(PINCTRL_PIN(5, "GPIO5"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 41), + MTK_FUNCTION(0, "GPIO5"), + MTK_FUNCTION(1, "MSDC0_CMD"), + MTK_FUNCTION(2, "EINT41"), + MTK_FUNCTION(6, "LRSTB_2X"), + MTK_FUNCTION(7, "NRNB") + ), + MTK_PIN(PINCTRL_PIN(6, "GPIO6"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 40), + MTK_FUNCTION(0, "GPIO6"), + MTK_FUNCTION(1, "MSDC0_CLK"), + MTK_FUNCTION(2, "EINT40"), + MTK_FUNCTION(6, "LPTE"), + MTK_FUNCTION(7, "NREB") + ), + MTK_PIN(PINCTRL_PIN(7, "GPIO7"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 45), + MTK_FUNCTION(0, "GPIO7"), + MTK_FUNCTION(1, "MSDC0_DAT3"), + MTK_FUNCTION(2, "EINT45"), + MTK_FUNCTION(6, "LSCE0B_2X"), + MTK_FUNCTION(7, "NLD7") + ), + MTK_PIN(PINCTRL_PIN(8, "GPIO8"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 44), + MTK_FUNCTION(0, "GPIO8"), + MTK_FUNCTION(1, "MSDC0_DAT2"), + MTK_FUNCTION(2, "EINT44"), + MTK_FUNCTION(6, "LSA0_2X"), + MTK_FUNCTION(7, "NLD14") + ), + MTK_PIN(PINCTRL_PIN(9, "GPIO9"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 43), + MTK_FUNCTION(0, "GPIO9"), + MTK_FUNCTION(1, "MSDC0_DAT1"), + MTK_FUNCTION(2, "EINT43"), + MTK_FUNCTION(6, "LSCK_2X"), + MTK_FUNCTION(7, "NLD11") + ), + MTK_PIN(PINCTRL_PIN(10, "GPIO10"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 42), + MTK_FUNCTION(0, "GPIO10"), + MTK_FUNCTION(1, "MSDC0_DAT0"), + MTK_FUNCTION(2, "EINT42"), + MTK_FUNCTION(6, "LSDA_2X") + ), + MTK_PIN(PINCTRL_PIN(11, "GPIO11"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 139), + MTK_FUNCTION(0, "GPIO11"), + MTK_FUNCTION(1, "NCEB0"), + MTK_FUNCTION(2, "EINT139"), + MTK_FUNCTION(7, "TESTA_OUT4") + ), + MTK_PIN(PINCTRL_PIN(12, "GPIO12"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 140), + MTK_FUNCTION(0, "GPIO12"), + MTK_FUNCTION(1, "NCEB1"), + MTK_FUNCTION(2, "EINT140"), + MTK_FUNCTION(4, "MD1_GPS_SYNC"), + MTK_FUNCTION(5, "MD2_GPS_SYNC"), + MTK_FUNCTION(6, "USB_DRVVBUS"), + MTK_FUNCTION(7, "TESTA_OUT5") + ), + MTK_PIN(PINCTRL_PIN(13, "GPIO13"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 141), + MTK_FUNCTION(0, "GPIO13"), + MTK_FUNCTION(1, "NRNB"), + MTK_FUNCTION(2, "EINT141"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[0]"), + MTK_FUNCTION(7, "TESTA_OUT6") + ), + MTK_PIN(PINCTRL_PIN(14, "GPIO14"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 142), + MTK_FUNCTION(0, "GPIO14"), + MTK_FUNCTION(1, "NCLE"), + MTK_FUNCTION(2, "EINT142"), + MTK_FUNCTION(3, "DPI1_CK_1X"), + MTK_FUNCTION(4, "CM2PDN_1X"), + MTK_FUNCTION(6, "NALE"), + MTK_FUNCTION(7, "TESTA_OUT7") + ), + MTK_PIN(PINCTRL_PIN(15, "GPIO15"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 143), + MTK_FUNCTION(0, "GPIO15"), + MTK_FUNCTION(1, "NALE"), + MTK_FUNCTION(2, "EINT143"), + MTK_FUNCTION(3, "DPI1_DE_1X"), + MTK_FUNCTION(4, "CM2MCLK_1X"), + MTK_FUNCTION(5, "IRDA_RXD"), + MTK_FUNCTION(6, "NCLE"), + MTK_FUNCTION(7, "TESTA_OUT8") + ), + MTK_PIN(PINCTRL_PIN(16, "GPIO16"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 144), + MTK_FUNCTION(0, "GPIO16"), + MTK_FUNCTION(1, "NREB"), + MTK_FUNCTION(2, "EINT144"), + MTK_FUNCTION(3, "DPI1_HSYNC_1X"), + MTK_FUNCTION(4, "CM2RST_1X"), + MTK_FUNCTION(5, "IRDA_TXD"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[1]"), + MTK_FUNCTION(7, "TESTA_OUT9") + ), + MTK_PIN(PINCTRL_PIN(17, "GPIO17"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 145), + MTK_FUNCTION(0, "GPIO17"), + MTK_FUNCTION(1, "NWEB"), + MTK_FUNCTION(2, "EINT145"), + MTK_FUNCTION(3, "DPI1_VSYNC_1X"), + MTK_FUNCTION(4, "CM2PCLK_1X"), + MTK_FUNCTION(5, "IRDA_PDN"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[2]"), + MTK_FUNCTION(7, "TESTA_OUT10") + ), + MTK_PIN(PINCTRL_PIN(18, "GPIO18"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 146), + MTK_FUNCTION(0, "GPIO18"), + MTK_FUNCTION(1, "NLD0"), + MTK_FUNCTION(2, "EINT146"), + MTK_FUNCTION(3, "DPI1_D_1X[0]"), + MTK_FUNCTION(4, "CM2DAT_1X[0]"), + MTK_FUNCTION(5, "I2SIN_CK"), + MTK_FUNCTION(6, "DAC_CK"), + MTK_FUNCTION(7, "TESTA_OUT11") + ), + MTK_PIN(PINCTRL_PIN(19, "GPIO19"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 147), + MTK_FUNCTION(0, "GPIO19"), + MTK_FUNCTION(1, "NLD1"), + MTK_FUNCTION(2, "EINT147"), + MTK_FUNCTION(3, "DPI1_D_1X[1]"), + MTK_FUNCTION(4, "CM2DAT_1X[1]"), + MTK_FUNCTION(5, "I2SIN_WS"), + MTK_FUNCTION(6, "DAC_WS"), + MTK_FUNCTION(7, "TESTA_OUT12") + ), + MTK_PIN(PINCTRL_PIN(20, "GPIO20"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 148), + MTK_FUNCTION(0, "GPIO20"), + MTK_FUNCTION(1, "NLD2"), + MTK_FUNCTION(2, "EINT148"), + MTK_FUNCTION(3, "DPI1_D_1X[2]"), + MTK_FUNCTION(4, "CM2DAT_1X[2]"), + MTK_FUNCTION(5, "I2SOUT_DAT"), + MTK_FUNCTION(6, "DAC_DAT_OUT"), + MTK_FUNCTION(7, "TESTA_OUT13") + ), + MTK_PIN(PINCTRL_PIN(21, "GPIO21"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 149), + MTK_FUNCTION(0, "GPIO21"), + MTK_FUNCTION(1, "NLD3"), + MTK_FUNCTION(2, "EINT149"), + MTK_FUNCTION(3, "DPI1_D_1X[3]"), + MTK_FUNCTION(4, "CM2DAT_1X[3]"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[3]"), + MTK_FUNCTION(7, "TESTA_OUT14") + ), + MTK_PIN(PINCTRL_PIN(22, "GPIO22"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 150), + MTK_FUNCTION(0, "GPIO22"), + MTK_FUNCTION(1, "NLD4"), + MTK_FUNCTION(2, "EINT150"), + MTK_FUNCTION(3, "DPI1_D_1X[4]"), + MTK_FUNCTION(4, "CM2DAT_1X[4]"), + MTK_FUNCTION(5, "MD1_DAI_RX_GPIO"), + MTK_FUNCTION(6, "MD2_DAI_RX_GPIO"), + MTK_FUNCTION(7, "TESTA_OUT15") + ), + MTK_PIN(PINCTRL_PIN(23, "GPIO23"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 151), + MTK_FUNCTION(0, "GPIO23"), + MTK_FUNCTION(1, "NLD5"), + MTK_FUNCTION(2, "EINT151"), + MTK_FUNCTION(3, "DPI1_D_1X[5]"), + MTK_FUNCTION(4, "CM2DAT_1X[5]"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[4]"), + MTK_FUNCTION(7, "TESTA_OUT16") + ), + MTK_PIN(PINCTRL_PIN(24, "GPIO24"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 152), + MTK_FUNCTION(0, "GPIO24"), + MTK_FUNCTION(1, "NLD6"), + MTK_FUNCTION(2, "EINT152"), + MTK_FUNCTION(3, "DPI1_D_1X[6]"), + MTK_FUNCTION(4, "CM2DAT_1X[6]"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[5]"), + MTK_FUNCTION(7, "TESTA_OUT17") + ), + MTK_PIN(PINCTRL_PIN(25, "GPIO25"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 153), + MTK_FUNCTION(0, "GPIO25"), + MTK_FUNCTION(1, "NLD7"), + MTK_FUNCTION(2, "EINT153"), + MTK_FUNCTION(3, "DPI1_D_1X[7]"), + MTK_FUNCTION(4, "CM2DAT_1X[7]"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[6]"), + MTK_FUNCTION(7, "TESTA_OUT18") + ), + MTK_PIN(PINCTRL_PIN(26, "GPIO26"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 154), + MTK_FUNCTION(0, "GPIO26"), + MTK_FUNCTION(1, "NLD8"), + MTK_FUNCTION(2, "EINT154"), + MTK_FUNCTION(3, "DPI1_D_1X[8]"), + MTK_FUNCTION(4, "CM2DAT_1X[8]"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[7]"), + MTK_FUNCTION(7, "TESTA_OUT19") + ), + MTK_PIN(PINCTRL_PIN(27, "GPIO27"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 155), + MTK_FUNCTION(0, "GPIO27"), + MTK_FUNCTION(1, "NLD9"), + MTK_FUNCTION(2, "EINT155"), + MTK_FUNCTION(3, "DPI1_D_1X[9]"), + MTK_FUNCTION(4, "CM2DAT_1X[9]"), + MTK_FUNCTION(5, "PWM1"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[8]"), + MTK_FUNCTION(7, "TESTA_OUT20") + ), + MTK_PIN(PINCTRL_PIN(28, "GPIO28"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 156), + MTK_FUNCTION(0, "GPIO28"), + MTK_FUNCTION(1, "NLD10"), + MTK_FUNCTION(2, "EINT156"), + MTK_FUNCTION(3, "DPI1_D_1X[10]"), + MTK_FUNCTION(4, "CM2VSYNC_1X"), + MTK_FUNCTION(5, "PWM2"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[9]"), + MTK_FUNCTION(7, "TESTA_OUT21") + ), + MTK_PIN(PINCTRL_PIN(29, "GPIO29"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 157), + MTK_FUNCTION(0, "GPIO29"), + MTK_FUNCTION(1, "NLD11"), + MTK_FUNCTION(2, "EINT157"), + MTK_FUNCTION(3, "DPI1_D_1X[11]"), + MTK_FUNCTION(4, "CM2HSYNC_1X"), + MTK_FUNCTION(5, "PWM3"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[10]"), + MTK_FUNCTION(7, "TESTA_OUT22") + ), + MTK_PIN(PINCTRL_PIN(30, "GPIO30"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 158), + MTK_FUNCTION(0, "GPIO30"), + MTK_FUNCTION(1, "NLD12"), + MTK_FUNCTION(2, "EINT158"), + MTK_FUNCTION(3, "I2SIN_CK"), + MTK_FUNCTION(4, "DAC_CK"), + MTK_FUNCTION(5, "PCM1_CK"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[11]"), + MTK_FUNCTION(7, "TESTA_OUT23") + ), + MTK_PIN(PINCTRL_PIN(31, "GPIO31"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 159), + MTK_FUNCTION(0, "GPIO31"), + MTK_FUNCTION(1, "NLD13"), + MTK_FUNCTION(2, "EINT159"), + MTK_FUNCTION(3, "I2SIN_WS"), + MTK_FUNCTION(4, "DAC_WS"), + MTK_FUNCTION(5, "PCM1_WS"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[12]"), + MTK_FUNCTION(7, "TESTA_OUT24") + ), + MTK_PIN(PINCTRL_PIN(32, "GPIO32"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 160), + MTK_FUNCTION(0, "GPIO32"), + MTK_FUNCTION(1, "NLD14"), + MTK_FUNCTION(2, "EINT160"), + MTK_FUNCTION(3, "I2SOUT_DAT"), + MTK_FUNCTION(4, "DAC_DAT_OUT"), + MTK_FUNCTION(5, "PCM1_DO"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[13]"), + MTK_FUNCTION(7, "TESTA_OUT25") + ), + MTK_PIN(PINCTRL_PIN(33, "GPIO33"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 161), + MTK_FUNCTION(0, "GPIO33"), + MTK_FUNCTION(1, "NLD15"), + MTK_FUNCTION(2, "EINT161"), + MTK_FUNCTION(3, "DISP_PWM"), + MTK_FUNCTION(4, "PWM4"), + MTK_FUNCTION(5, "PCM1_DI"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[14]"), + MTK_FUNCTION(7, "TESTA_OUT26") + ), + MTK_PIN(PINCTRL_PIN(34, "GPIO34"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 0), + MTK_FUNCTION(0, "GPIO34"), + MTK_FUNCTION(1, "EINT0"), + MTK_FUNCTION(2, "PWM1"), + MTK_FUNCTION(3, "CLKM0"), + MTK_FUNCTION(5, "MD2_UTXD"), + MTK_FUNCTION(6, "MD1_EINT1"), + MTK_FUNCTION(7, "USB_SCL") + ), + MTK_PIN(PINCTRL_PIN(35, "GPIO35"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 1), + MTK_FUNCTION(0, "GPIO35"), + MTK_FUNCTION(1, "EINT1"), + MTK_FUNCTION(2, "PWM2"), + MTK_FUNCTION(3, "CLKM1"), + MTK_FUNCTION(5, "MD2_URXD"), + MTK_FUNCTION(6, "MD1_EINT2"), + MTK_FUNCTION(7, "USB_SDA") + ), + MTK_PIN(PINCTRL_PIN(36, "GPIO36"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 2), + MTK_FUNCTION(0, "GPIO36"), + MTK_FUNCTION(1, "EINT2"), + MTK_FUNCTION(2, "PWM3"), + MTK_FUNCTION(3, "CLKM2"), + MTK_FUNCTION(4, "SRCLKENAI2"), + MTK_FUNCTION(6, "MD1_EINT3") + ), + MTK_PIN(PINCTRL_PIN(37, "GPIO37"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 3), + MTK_FUNCTION(0, "GPIO37"), + MTK_FUNCTION(1, "EINT3"), + MTK_FUNCTION(6, "MD1_EINT5"), + MTK_FUNCTION(7, "EXT_26M_CK") + ), + MTK_PIN(PINCTRL_PIN(38, "GPIO38"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 4), + MTK_FUNCTION(0, "GPIO38"), + MTK_FUNCTION(1, "EINT4"), + MTK_FUNCTION(2, "PWM4"), + MTK_FUNCTION(3, "MD1_GPS_SYNC"), + MTK_FUNCTION(4, "MD2_GPS_SYNC"), + MTK_FUNCTION(5, "USB_DRVVBUS"), + MTK_FUNCTION(6, "MD1_EINT4") + ), + MTK_PIN(PINCTRL_PIN(39, "GPIO39"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 29), + MTK_FUNCTION(0, "GPIO39"), + MTK_FUNCTION(1, "PWRAP_SPIDI"), + MTK_FUNCTION(2, "EINT29") + ), + MTK_PIN(PINCTRL_PIN(40, "GPIO40"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 28), + MTK_FUNCTION(0, "GPIO40"), + MTK_FUNCTION(1, "PWRAP_SPIDO"), + MTK_FUNCTION(2, "EINT28") + ), + MTK_PIN(PINCTRL_PIN(41, "GPIO41"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 27), + MTK_FUNCTION(0, "GPIO41"), + MTK_FUNCTION(1, "PWRAP_SPICS_B_I"), + MTK_FUNCTION(2, "EINT27") + ), + MTK_PIN(PINCTRL_PIN(42, "GPIO42"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 26), + MTK_FUNCTION(0, "GPIO42"), + MTK_FUNCTION(1, "PWRAP_SPICK_I"), + MTK_FUNCTION(2, "EINT26") + ), + MTK_PIN(PINCTRL_PIN(43, "GPIO43"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 25), + MTK_FUNCTION(0, "GPIO43"), + MTK_FUNCTION(1, "PWRAP_EVENT_IN"), + MTK_FUNCTION(2, "EINT25") + ), + MTK_PIN(PINCTRL_PIN(44, "GPIO44"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 30), + MTK_FUNCTION(0, "GPIO44"), + MTK_FUNCTION(1, "MD1_SIM1_SCLK"), + MTK_FUNCTION(2, "EINT30"), + MTK_FUNCTION(3, "MD1_SIM2_SCLK"), + MTK_FUNCTION(4, "MD2_SIM1_SCLK"), + MTK_FUNCTION(5, "MD2_SIM2_SCLK"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[15]") + ), + MTK_PIN(PINCTRL_PIN(45, "GPIO45"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 31), + MTK_FUNCTION(0, "GPIO45"), + MTK_FUNCTION(1, "MD1_SIM1_SRST"), + MTK_FUNCTION(2, "EINT31"), + MTK_FUNCTION(3, "MD1_SIM2_SRST"), + MTK_FUNCTION(4, "MD2_SIM1_SRST"), + MTK_FUNCTION(5, "MD2_SIM2_SRST"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[16]") + ), + MTK_PIN(PINCTRL_PIN(46, "GPIO46"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 32), + MTK_FUNCTION(0, "GPIO46"), + MTK_FUNCTION(1, "MD1_SIM1_SDAT"), + MTK_FUNCTION(2, "EINT32"), + MTK_FUNCTION(3, "MD1_SIM2_SDAT"), + MTK_FUNCTION(4, "MD2_SIM1_SDAT"), + MTK_FUNCTION(5, "MD2_SIM2_SDAT"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[17]") + ), + MTK_PIN(PINCTRL_PIN(47, "GPIO47"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 33), + MTK_FUNCTION(0, "GPIO47"), + MTK_FUNCTION(1, "MD1_SIM2_SCLK"), + MTK_FUNCTION(2, "EINT33"), + MTK_FUNCTION(3, "MD1_SIM1_SCLK"), + MTK_FUNCTION(4, "MD2_SIM2_SCLK"), + MTK_FUNCTION(5, "MD2_SIM1_SCLK"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[18]") + ), + MTK_PIN(PINCTRL_PIN(48, "GPIO48"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 34), + MTK_FUNCTION(0, "GPIO48"), + MTK_FUNCTION(1, "MD1_SIM2_SRST"), + MTK_FUNCTION(2, "EINT34"), + MTK_FUNCTION(3, "MD1_SIM1_SRST"), + MTK_FUNCTION(4, "MD2_SIM2_SRST"), + MTK_FUNCTION(5, "MD2_SIM1_SRST"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[19]") + ), + MTK_PIN(PINCTRL_PIN(49, "GPIO49"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 35), + MTK_FUNCTION(0, "GPIO49"), + MTK_FUNCTION(1, "MD1_SIM2_SDAT"), + MTK_FUNCTION(2, "EINT35"), + MTK_FUNCTION(3, "MD1_SIM1_SDAT"), + MTK_FUNCTION(4, "MD2_SIM2_SDAT"), + MTK_FUNCTION(5, "MD2_SIM1_SDAT"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[20]") + ), + MTK_PIN(PINCTRL_PIN(50, "GPIO50"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 19), + MTK_FUNCTION(0, "GPIO50"), + MTK_FUNCTION(1, "ADC_CK"), + MTK_FUNCTION(2, "EINT19") + ), + MTK_PIN(PINCTRL_PIN(51, "GPIO51"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 21), + MTK_FUNCTION(0, "GPIO51"), + MTK_FUNCTION(1, "ADC_WS"), + MTK_FUNCTION(2, "EINT21") + ), + MTK_PIN(PINCTRL_PIN(52, "GPIO52"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 20), + MTK_FUNCTION(0, "GPIO52"), + MTK_FUNCTION(1, "ADC_DAT_IN"), + MTK_FUNCTION(2, "EINT20") + ), + MTK_PIN(PINCTRL_PIN(53, "GPIO53"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 22), + MTK_FUNCTION(0, "GPIO53"), + MTK_FUNCTION(1, "DAC_CK"), + MTK_FUNCTION(2, "EINT22") + ), + MTK_PIN(PINCTRL_PIN(54, "GPIO54"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 24), + MTK_FUNCTION(0, "GPIO54"), + MTK_FUNCTION(1, "DAC_WS"), + MTK_FUNCTION(2, "EINT24") + ), + MTK_PIN(PINCTRL_PIN(55, "GPIO55"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 23), + MTK_FUNCTION(0, "GPIO55"), + MTK_FUNCTION(1, "DAC_DAT_OUT"), + MTK_FUNCTION(2, "EINT23") + ), + MTK_PIN(PINCTRL_PIN(56, "GPIO56"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO56"), + MTK_FUNCTION(1, "RTC32K_CK") + ), + MTK_PIN(PINCTRL_PIN(57, "GPIO57"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 34), + MTK_FUNCTION(0, "GPIO57"), + MTK_FUNCTION(1, "IDDIG"), + MTK_FUNCTION(2, "EINT34") + ), + MTK_PIN(PINCTRL_PIN(58, "GPIO58"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 36), + MTK_FUNCTION(0, "GPIO58"), + MTK_FUNCTION(1, "WATCHDOG"), + MTK_FUNCTION(2, "EINT36") + ), + MTK_PIN(PINCTRL_PIN(59, "GPIO59"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 38), + MTK_FUNCTION(0, "GPIO59"), + MTK_FUNCTION(1, "SRCLKENA"), + MTK_FUNCTION(2, "EINT38") + ), + MTK_PIN(PINCTRL_PIN(60, "GPIO60"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 37), + MTK_FUNCTION(0, "GPIO60"), + MTK_FUNCTION(1, "SRCVOLTEN"), + MTK_FUNCTION(2, "EINT37") + ), + MTK_PIN(PINCTRL_PIN(61, "GPIO61"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 188), + MTK_FUNCTION(0, "GPIO61"), + MTK_FUNCTION(1, "JTCK"), + MTK_FUNCTION(2, "EINT188"), + MTK_FUNCTION(3, "DSP1_ICK"), + MTK_FUNCTION(7, "MD2_TCK_PAD") + ), + MTK_PIN(PINCTRL_PIN(62, "GPIO62"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 190), + MTK_FUNCTION(0, "GPIO62"), + MTK_FUNCTION(1, "JTDO"), + MTK_FUNCTION(2, "EINT190"), + MTK_FUNCTION(3, "DSP2_IMS"), + MTK_FUNCTION(7, "MD2_TDO_PAD") + ), + MTK_PIN(PINCTRL_PIN(63, "GPIO63"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 0), + MTK_FUNCTION(0, "GPIO63"), + MTK_FUNCTION(1, "JTRST_B"), + MTK_FUNCTION(2, "EINT0"), + MTK_FUNCTION(3, "DSP2_ICK"), + MTK_FUNCTION(7, "MD2_NTRST_PAD") + ), + MTK_PIN(PINCTRL_PIN(64, "GPIO64"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 189), + MTK_FUNCTION(0, "GPIO64"), + MTK_FUNCTION(1, "JTDI"), + MTK_FUNCTION(2, "EINT189"), + MTK_FUNCTION(3, "DSP1_IMS"), + MTK_FUNCTION(7, "MD2_TDI_PAD") + ), + MTK_PIN(PINCTRL_PIN(65, "GPIO65"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 187), + MTK_FUNCTION(0, "GPIO65"), + MTK_FUNCTION(1, "JRTCK"), + MTK_FUNCTION(2, "EINT187"), + MTK_FUNCTION(3, "DSP1_ID"), + MTK_FUNCTION(7, "MD2_RTCK_PAD") + ), + MTK_PIN(PINCTRL_PIN(66, "GPIO66"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 191), + MTK_FUNCTION(0, "GPIO66"), + MTK_FUNCTION(1, "JTMS"), + MTK_FUNCTION(2, "EINT191"), + MTK_FUNCTION(3, "DSP2_ID"), + MTK_FUNCTION(7, "MD2_TMS_PAD") + ), + MTK_PIN(PINCTRL_PIN(67, "GPIO67"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 97), + MTK_FUNCTION(0, "GPIO67"), + MTK_FUNCTION(1, "SDA3"), + MTK_FUNCTION(2, "EINT97"), + MTK_FUNCTION(7, "A_FUNC_DIN[13]") + ), + MTK_PIN(PINCTRL_PIN(68, "GPIO68"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 96), + MTK_FUNCTION(0, "GPIO68"), + MTK_FUNCTION(1, "SCL3"), + MTK_FUNCTION(2, "EINT96"), + MTK_FUNCTION(3, "CLKM6"), + MTK_FUNCTION(4, "PWM6"), + MTK_FUNCTION(7, "A_FUNC_DIN[14]") + ), + MTK_PIN(PINCTRL_PIN(69, "GPIO69"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 83), + MTK_FUNCTION(0, "GPIO69"), + MTK_FUNCTION(1, "URXD2"), + MTK_FUNCTION(2, "EINT83"), + MTK_FUNCTION(3, "BSI2_CLK"), + MTK_FUNCTION(4, "MD1_URXD"), + MTK_FUNCTION(5, "CLKM3"), + MTK_FUNCTION(6, "UTXD2"), + MTK_FUNCTION(7, "MD1_EINT4") + ), + MTK_PIN(PINCTRL_PIN(70, "GPIO70"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 82), + MTK_FUNCTION(0, "GPIO70"), + MTK_FUNCTION(1, "UTXD2"), + MTK_FUNCTION(2, "EINT82"), + MTK_FUNCTION(3, "BSI2_CS"), + MTK_FUNCTION(4, "MD1_UTXD"), + MTK_FUNCTION(5, "CLKM2"), + MTK_FUNCTION(6, "URXD2"), + MTK_FUNCTION(7, "MD1_EINT3") + ), + MTK_PIN(PINCTRL_PIN(71, "GPIO71"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 84), + MTK_FUNCTION(0, "GPIO71"), + MTK_FUNCTION(1, "UCTS2"), + MTK_FUNCTION(2, "EINT84"), + MTK_FUNCTION(3, "BSI2_DATA0"), + MTK_FUNCTION(4, "MD2_UTXD"), + MTK_FUNCTION(5, "PWM1"), + MTK_FUNCTION(6, "URTS2"), + MTK_FUNCTION(7, "MD2_EINT1") + ), + MTK_PIN(PINCTRL_PIN(72, "GPIO72"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 85), + MTK_FUNCTION(0, "GPIO72"), + MTK_FUNCTION(1, "URTS2"), + MTK_FUNCTION(2, "EINT85"), + MTK_FUNCTION(3, "BSI2_DATA1"), + MTK_FUNCTION(4, "MD2_URXD"), + MTK_FUNCTION(5, "PWM2"), + MTK_FUNCTION(6, "UCTS2"), + MTK_FUNCTION(7, "MD2_EINT2") + ), + MTK_PIN(PINCTRL_PIN(73, "GPIO73"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 73), + MTK_FUNCTION(0, "GPIO73"), + MTK_FUNCTION(1, "PWM1"), + MTK_FUNCTION(2, "EINT73"), + MTK_FUNCTION(3, "MD1_GPS_SYNC"), + MTK_FUNCTION(4, "MD2_GPS_SYNC"), + MTK_FUNCTION(5, "USB_DRVVBUS"), + MTK_FUNCTION(6, "DISP_PWM"), + MTK_FUNCTION(7, "MD2_TCK_PAD") + ), + MTK_PIN(PINCTRL_PIN(74, "GPIO74"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 74), + MTK_FUNCTION(0, "GPIO74"), + MTK_FUNCTION(1, "PWM2"), + MTK_FUNCTION(2, "EINT74"), + MTK_FUNCTION(3, "BPI2_BUS11"), + MTK_FUNCTION(4, "PWM5"), + MTK_FUNCTION(5, "URXD2"), + MTK_FUNCTION(6, "DISP_PWM"), + MTK_FUNCTION(7, "MD2_RTCK_PAD") + ), + MTK_PIN(PINCTRL_PIN(75, "GPIO75"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 75), + MTK_FUNCTION(0, "GPIO75"), + MTK_FUNCTION(1, "PWM3"), + MTK_FUNCTION(2, "EINT75"), + MTK_FUNCTION(3, "BPI2_BUS12"), + MTK_FUNCTION(4, "PWM6"), + MTK_FUNCTION(5, "UTXD2"), + MTK_FUNCTION(6, "DISP_PWM"), + MTK_FUNCTION(7, "MD2_NTRST_PAD") + ), + MTK_PIN(PINCTRL_PIN(76, "GPIO76"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 76), + MTK_FUNCTION(0, "GPIO76"), + MTK_FUNCTION(1, "PWM4"), + MTK_FUNCTION(2, "EINT76"), + MTK_FUNCTION(3, "BPI2_BUS13"), + MTK_FUNCTION(4, "PWM7"), + MTK_FUNCTION(6, "DISP_PWM"), + MTK_FUNCTION(7, "MD2_TMS_PAD") + ), + MTK_PIN(PINCTRL_PIN(77, "GPIO77"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 79), + MTK_FUNCTION(0, "GPIO77"), + MTK_FUNCTION(1, "URXD1"), + MTK_FUNCTION(2, "EINT79"), + MTK_FUNCTION(3, "URXD4"), + MTK_FUNCTION(4, "MD1_URXD"), + MTK_FUNCTION(5, "MD2_URXD"), + MTK_FUNCTION(6, "UTXD1"), + MTK_FUNCTION(7, "MD2_TDO_PAD") + ), + MTK_PIN(PINCTRL_PIN(78, "GPIO78"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 78), + MTK_FUNCTION(0, "GPIO78"), + MTK_FUNCTION(1, "UTXD1"), + MTK_FUNCTION(2, "EINT78"), + MTK_FUNCTION(3, "UTXD4"), + MTK_FUNCTION(4, "MD1_UTXD"), + MTK_FUNCTION(5, "MD2_UTXD"), + MTK_FUNCTION(6, "URXD1"), + MTK_FUNCTION(7, "MD2_TDI_PAD") + ), + MTK_PIN(PINCTRL_PIN(79, "GPIO79"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 80), + MTK_FUNCTION(0, "GPIO79"), + MTK_FUNCTION(1, "UCTS1"), + MTK_FUNCTION(2, "EINT80"), + MTK_FUNCTION(3, "DUAL_BPI1_BUS14"), + MTK_FUNCTION(4, "MD1_UTXD"), + MTK_FUNCTION(5, "CLKM0"), + MTK_FUNCTION(6, "URTS1"), + MTK_FUNCTION(7, "MD1_EINT1") + ), + MTK_PIN(PINCTRL_PIN(80, "GPIO80"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 81), + MTK_FUNCTION(0, "GPIO80"), + MTK_FUNCTION(1, "URTS1"), + MTK_FUNCTION(2, "EINT81"), + MTK_FUNCTION(3, "DUAL_BPI1_BUS15"), + MTK_FUNCTION(4, "MD1_URXD"), + MTK_FUNCTION(5, "CLKM1"), + MTK_FUNCTION(6, "UCTS1"), + MTK_FUNCTION(7, "MD1_EINT2") + ), + MTK_PIN(PINCTRL_PIN(81, "GPIO81"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 89), + MTK_FUNCTION(0, "GPIO81"), + MTK_FUNCTION(1, "URXD4"), + MTK_FUNCTION(2, "EINT89"), + MTK_FUNCTION(3, "URXD1"), + MTK_FUNCTION(4, "MD1_URXD"), + MTK_FUNCTION(5, "MD2_URXD"), + MTK_FUNCTION(6, "UTXD4"), + MTK_FUNCTION(7, "MD2_EINT5") + ), + MTK_PIN(PINCTRL_PIN(82, "GPIO82"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 88), + MTK_FUNCTION(0, "GPIO82"), + MTK_FUNCTION(1, "UTXD4"), + MTK_FUNCTION(2, "EINT88"), + MTK_FUNCTION(3, "UTXD1"), + MTK_FUNCTION(4, "MD1_UTXD"), + MTK_FUNCTION(5, "MD2_UTXD"), + MTK_FUNCTION(6, "URXD4"), + MTK_FUNCTION(7, "MD1_EINT5") + ), + MTK_PIN(PINCTRL_PIN(83, "GPIO83"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 1), + MTK_FUNCTION(0, "GPIO83"), + MTK_FUNCTION(1, "DUAL_BPI1_BUS0"), + MTK_FUNCTION(2, "EINT1"), + MTK_FUNCTION(3, "BPI2_BUS0"), + MTK_FUNCTION(5, "USB_TEST_IO[0]"), + MTK_FUNCTION(7, "A_FUNC_DIN[31]") + ), + MTK_PIN(PINCTRL_PIN(84, "GPIO84"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 2), + MTK_FUNCTION(0, "GPIO84"), + MTK_FUNCTION(1, "DUAL_BPI1_BUS1"), + MTK_FUNCTION(2, "EINT2"), + MTK_FUNCTION(3, "BPI2_BUS1"), + MTK_FUNCTION(5, "USB_TEST_IO[1]"), + MTK_FUNCTION(7, "A_FUNC_DIN[30]") + ), + MTK_PIN(PINCTRL_PIN(85, "GPIO85"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 3), + MTK_FUNCTION(0, "GPIO85"), + MTK_FUNCTION(1, "DUAL_BPI1_BUS2"), + MTK_FUNCTION(2, "EINT3"), + MTK_FUNCTION(3, "BPI2_BUS2"), + MTK_FUNCTION(5, "USB_TEST_IO[2]"), + MTK_FUNCTION(7, "A_FUNC_DIN[29]") + ), + MTK_PIN(PINCTRL_PIN(86, "GPIO86"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 4), + MTK_FUNCTION(0, "GPIO86"), + MTK_FUNCTION(1, "DUAL_BPI1_BUS3"), + MTK_FUNCTION(2, "EINT4"), + MTK_FUNCTION(3, "BPI2_BUS3"), + MTK_FUNCTION(5, "USB_TEST_IO[3]"), + MTK_FUNCTION(7, "A_FUNC_DIN[28]") + ), + MTK_PIN(PINCTRL_PIN(87, "GPIO87"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 5), + MTK_FUNCTION(0, "GPIO87"), + MTK_FUNCTION(1, "DUAL_BPI1_BUS4"), + MTK_FUNCTION(2, "EINT5"), + MTK_FUNCTION(3, "BPI2_BUS4"), + MTK_FUNCTION(5, "USB_TEST_IO[4]"), + MTK_FUNCTION(7, "A_FUNC_DIN[27]") + ), + MTK_PIN(PINCTRL_PIN(88, "GPIO88"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 6), + MTK_FUNCTION(0, "GPIO88"), + MTK_FUNCTION(1, "DUAL_BPI1_BUS5"), + MTK_FUNCTION(2, "EINT6"), + MTK_FUNCTION(3, "BPI2_BUS5"), + MTK_FUNCTION(5, "USB_TEST_IO[5]"), + MTK_FUNCTION(7, "A_FUNC_DIN[26]") + ), + MTK_PIN(PINCTRL_PIN(89, "GPIO89"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 7), + MTK_FUNCTION(0, "GPIO89"), + MTK_FUNCTION(1, "DUAL_BPI1_BUS6"), + MTK_FUNCTION(2, "EINT7"), + MTK_FUNCTION(3, "BPI2_BUS6"), + MTK_FUNCTION(5, "USB_TEST_IO[6]"), + MTK_FUNCTION(7, "A_FUNC_DIN[25]") + ), + MTK_PIN(PINCTRL_PIN(90, "GPIO90"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 8), + MTK_FUNCTION(0, "GPIO90"), + MTK_FUNCTION(1, "DUAL_BPI1_BUS7"), + MTK_FUNCTION(2, "EINT8"), + MTK_FUNCTION(3, "MD1_GPS_SYNC"), + MTK_FUNCTION(4, "MD2_GPS_SYNC"), + MTK_FUNCTION(5, "USB_TEST_IO[7]"), + MTK_FUNCTION(6, "USB_DRVVBUS"), + MTK_FUNCTION(7, "A_FUNC_DIN[24]") + ), + MTK_PIN(PINCTRL_PIN(91, "GPIO91"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 9), + MTK_FUNCTION(0, "GPIO91"), + MTK_FUNCTION(1, "DUAL_BPI1_BUS8"), + MTK_FUNCTION(2, "EINT9"), + MTK_FUNCTION(3, "DUAL_BPI1_BUS14"), + MTK_FUNCTION(5, "USB_TEST_IO[8]"), + MTK_FUNCTION(7, "A_FUNC_DIN[23]") + ), + MTK_PIN(PINCTRL_PIN(92, "GPIO92"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 10), + MTK_FUNCTION(0, "GPIO92"), + MTK_FUNCTION(1, "DUAL_BPI1_BUS9"), + MTK_FUNCTION(2, "EINT10"), + MTK_FUNCTION(3, "DUAL_BPI1_BUS15"), + MTK_FUNCTION(5, "USB_TEST_IO[9]"), + MTK_FUNCTION(7, "A_FUNC_DIN[22]") + ), + MTK_PIN(PINCTRL_PIN(93, "GPIO93"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 11), + MTK_FUNCTION(0, "GPIO93"), + MTK_FUNCTION(1, "DUAL_BPI1_BUS10"), + MTK_FUNCTION(2, "EINT11"), + MTK_FUNCTION(5, "USB_TEST_IO[10]"), + MTK_FUNCTION(7, "A_FUNC_DIN[21]") + ), + MTK_PIN(PINCTRL_PIN(94, "GPIO94"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO94"), + MTK_FUNCTION(1, "DUAL_BPI1_BUS11"), + MTK_FUNCTION(3, "BPI2_BUS11"), + MTK_FUNCTION(5, "USB_TEST_IO[11]"), + MTK_FUNCTION(7, "A_FUNC_DOUT[7]") + ), + MTK_PIN(PINCTRL_PIN(95, "GPIO95"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO95"), + MTK_FUNCTION(1, "DUAL_BPI1_BUS12"), + MTK_FUNCTION(3, "BPI2_BUS12"), + MTK_FUNCTION(5, "USB_TEST_IO[12]"), + MTK_FUNCTION(7, "A_FUNC_DOUT[6]") + ), + MTK_PIN(PINCTRL_PIN(96, "GPIO96"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO96"), + MTK_FUNCTION(1, "DUAL_BPI1_BUS13"), + MTK_FUNCTION(3, "BPI2_BUS13"), + MTK_FUNCTION(5, "USB_TEST_IO[13]"), + MTK_FUNCTION(7, "A_FUNC_DOUT[5]") + ), + MTK_PIN(PINCTRL_PIN(97, "GPIO97"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO97"), + MTK_FUNCTION(1, "DUAL_BPI1_BUS14"), + MTK_FUNCTION(3, "BPI2_BUS16"), + MTK_FUNCTION(5, "USB_TEST_IO[14]"), + MTK_FUNCTION(7, "A_FUNC_DOUT[4]") + ), + MTK_PIN(PINCTRL_PIN(98, "GPIO98"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 16), + MTK_FUNCTION(0, "GPIO98"), + MTK_FUNCTION(1, "DUAL_BPI1_BUS17"), + MTK_FUNCTION(2, "EINT16"), + MTK_FUNCTION(3, "BPI2_BUS17"), + MTK_FUNCTION(5, "USB_TEST_IO[15]"), + MTK_FUNCTION(7, "A_FUNC_DOUT[3]") + ), + MTK_PIN(PINCTRL_PIN(99, "GPIO99"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 17), + MTK_FUNCTION(0, "GPIO99"), + MTK_FUNCTION(1, "DUAL_BPI1_BUS15"), + MTK_FUNCTION(2, "EINT17"), + MTK_FUNCTION(3, "BPI2_BUS18"), + MTK_FUNCTION(5, "USB_TEST_IO[16]"), + MTK_FUNCTION(7, "A_FUNC_DOUT[2]") + ), + MTK_PIN(PINCTRL_PIN(100, "GPIO100"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 19), + MTK_FUNCTION(0, "GPIO100"), + MTK_FUNCTION(1, "VM1"), + MTK_FUNCTION(2, "EINT19"), + MTK_FUNCTION(5, "USB_TEST_IO[17]"), + MTK_FUNCTION(7, "A_FUNC_DOUT[0]") + ), + MTK_PIN(PINCTRL_PIN(101, "GPIO101"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 18), + MTK_FUNCTION(0, "GPIO101"), + MTK_FUNCTION(1, "VM0"), + MTK_FUNCTION(2, "EINT18"), + MTK_FUNCTION(5, "USB_TEST_IO[18]"), + MTK_FUNCTION(7, "A_FUNC_DOUT[1]") + ), + MTK_PIN(PINCTRL_PIN(102, "GPIO102"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 26), + MTK_FUNCTION(0, "GPIO102"), + MTK_FUNCTION(1, "BSI1B_CS0"), + MTK_FUNCTION(2, "EINT26"), + MTK_FUNCTION(5, "USB_TEST_IO[19]"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[21]") + ), + MTK_PIN(PINCTRL_PIN(103, "GPIO103"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 27), + MTK_FUNCTION(0, "GPIO103"), + MTK_FUNCTION(1, "BSI1B_DATA0"), + MTK_FUNCTION(2, "EINT27"), + MTK_FUNCTION(5, "USB_TEST_IO[20]"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[22]") + ), + MTK_PIN(PINCTRL_PIN(104, "GPIO104"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 25), + MTK_FUNCTION(0, "GPIO104"), + MTK_FUNCTION(1, "BSI1B_CLK"), + MTK_FUNCTION(2, "EINT25"), + MTK_FUNCTION(5, "USB_TEST_IO[21]"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[23]") + ), + MTK_PIN(PINCTRL_PIN(105, "GPIO105"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 30), + MTK_FUNCTION(0, "GPIO105"), + MTK_FUNCTION(1, "TXBPI1"), + MTK_FUNCTION(2, "EINT30") + ), + MTK_PIN(PINCTRL_PIN(106, "GPIO106"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO106"), + MTK_FUNCTION(1, "EXT_CLK_EN") + ), + MTK_PIN(PINCTRL_PIN(107, "GPIO107"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 39), + MTK_FUNCTION(0, "GPIO107"), + MTK_FUNCTION(1, "SRCLKENA2"), + MTK_FUNCTION(2, "EINT39") + ), + MTK_PIN(PINCTRL_PIN(108, "GPIO108"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 21), + MTK_FUNCTION(0, "GPIO108"), + MTK_FUNCTION(1, "BSI1A_CS0"), + MTK_FUNCTION(2, "EINT21"), + MTK_FUNCTION(3, "BSI2_CS"), + MTK_FUNCTION(5, "USB_TEST_IO[22]"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[24]") + ), + MTK_PIN(PINCTRL_PIN(109, "GPIO109"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 24), + MTK_FUNCTION(0, "GPIO109"), + MTK_FUNCTION(1, "BSI1A_DATA2"), + MTK_FUNCTION(2, "EINT24"), + MTK_FUNCTION(5, "USB_TEST_IO[23]"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[25]") + ), + MTK_PIN(PINCTRL_PIN(110, "GPIO110"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 23), + MTK_FUNCTION(0, "GPIO110"), + MTK_FUNCTION(1, "BSI1A_DATA1"), + MTK_FUNCTION(2, "EINT23"), + MTK_FUNCTION(3, "BSI2_DATA1"), + MTK_FUNCTION(5, "USB_TEST_IO[24]"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[26]") + ), + MTK_PIN(PINCTRL_PIN(111, "GPIO111"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 22), + MTK_FUNCTION(0, "GPIO111"), + MTK_FUNCTION(1, "BSI1A_DATA0"), + MTK_FUNCTION(2, "EINT22"), + MTK_FUNCTION(3, "BSI2_DATA0"), + MTK_FUNCTION(5, "USB_TEST_IO[25]"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[27]") + ), + MTK_PIN(PINCTRL_PIN(112, "GPIO112"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 20), + MTK_FUNCTION(0, "GPIO112"), + MTK_FUNCTION(1, "BSI1A_CLK"), + MTK_FUNCTION(2, "EINT20"), + MTK_FUNCTION(3, "BSI2_CLK"), + MTK_FUNCTION(5, "USB_TEST_IO[26]"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[28]") + ), + MTK_PIN(PINCTRL_PIN(113, "GPIO113"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 29), + MTK_FUNCTION(0, "GPIO113"), + MTK_FUNCTION(1, "BSI1C_DATA"), + MTK_FUNCTION(2, "EINT29"), + MTK_FUNCTION(3, "MD1_GPS_SYNC"), + MTK_FUNCTION(4, "MD2_GPS_SYNC"), + MTK_FUNCTION(5, "USB_TEST_IO[27]"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[29]"), + MTK_FUNCTION(7, "USB_DRVVBUS") + ), + MTK_PIN(PINCTRL_PIN(114, "GPIO114"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 28), + MTK_FUNCTION(0, "GPIO114"), + MTK_FUNCTION(1, "BSI1C_CLK"), + MTK_FUNCTION(2, "EINT28"), + MTK_FUNCTION(5, "USB_TEST_IO[28]"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[30]") + ), + MTK_PIN(PINCTRL_PIN(115, "GPIO115"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 10), + MTK_FUNCTION(0, "GPIO115"), + MTK_FUNCTION(1, "EINT10"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[31]") + ), + MTK_PIN(PINCTRL_PIN(116, "GPIO116"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 11), + MTK_FUNCTION(0, "GPIO116"), + MTK_FUNCTION(1, "EINT11"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[32]") + ), + MTK_PIN(PINCTRL_PIN(117, "GPIO117"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 16), + MTK_FUNCTION(0, "GPIO117"), + MTK_FUNCTION(1, "EINT16"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[33]") + ), + MTK_PIN(PINCTRL_PIN(118, "GPIO118"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 91), + MTK_FUNCTION(0, "GPIO118"), + MTK_FUNCTION(1, "SDA0"), + MTK_FUNCTION(2, "EINT91"), + MTK_FUNCTION(3, "CLKM1"), + MTK_FUNCTION(4, "PWM1"), + MTK_FUNCTION(7, "A_FUNC_DIN[19]") + ), + MTK_PIN(PINCTRL_PIN(119, "GPIO119"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 90), + MTK_FUNCTION(0, "GPIO119"), + MTK_FUNCTION(1, "SCL0"), + MTK_FUNCTION(2, "EINT90"), + MTK_FUNCTION(3, "CLKM0"), + MTK_FUNCTION(4, "DISP_PWM"), + MTK_FUNCTION(7, "A_FUNC_DIN[20]") + ), + MTK_PIN(PINCTRL_PIN(120, "GPIO120"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 10), + MTK_FUNCTION(0, "GPIO120"), + MTK_FUNCTION(1, "I2SIN_CK"), + MTK_FUNCTION(2, "EINT10"), + MTK_FUNCTION(3, "DAC_CK"), + MTK_FUNCTION(4, "PCM1_CK"), + MTK_FUNCTION(5, "DSP1_ICK"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[34]") + ), + MTK_PIN(PINCTRL_PIN(121, "GPIO121"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO121"), + MTK_FUNCTION(1, "I2SIN_WS"), + MTK_FUNCTION(3, "DAC_WS"), + MTK_FUNCTION(4, "PCM1_WS"), + MTK_FUNCTION(5, "DSP1_ID"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[35]") + ), + MTK_PIN(PINCTRL_PIN(122, "GPIO122"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 11), + MTK_FUNCTION(0, "GPIO122"), + MTK_FUNCTION(1, "I2SIN_DAT"), + MTK_FUNCTION(2, "EINT11"), + MTK_FUNCTION(4, "PCM1_DI"), + MTK_FUNCTION(5, "DSP1_IMS"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[36]") + ), + MTK_PIN(PINCTRL_PIN(123, "GPIO123"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO123"), + MTK_FUNCTION(1, "I2SOUT_DAT"), + MTK_FUNCTION(3, "DAC_DAT_OUT"), + MTK_FUNCTION(4, "PCM1_DO"), + MTK_FUNCTION(5, "MD2_EINT5"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[37]") + ), + MTK_PIN(PINCTRL_PIN(124, "GPIO124"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 5), + MTK_FUNCTION(0, "GPIO124"), + MTK_FUNCTION(1, "EINT5"), + MTK_FUNCTION(2, "PWM5"), + MTK_FUNCTION(3, "CLKM3"), + MTK_FUNCTION(4, "MD1_UTXD"), + MTK_FUNCTION(5, "MD2_EINT1"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[38]") + ), + MTK_PIN(PINCTRL_PIN(125, "GPIO125"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 6), + MTK_FUNCTION(0, "GPIO125"), + MTK_FUNCTION(1, "EINT6"), + MTK_FUNCTION(2, "PWM6"), + MTK_FUNCTION(3, "CLKM4"), + MTK_FUNCTION(4, "MD1_URXD"), + MTK_FUNCTION(5, "MD2_EINT2"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[39]") + ), + MTK_PIN(PINCTRL_PIN(126, "GPIO126"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 7), + MTK_FUNCTION(0, "GPIO126"), + MTK_FUNCTION(1, "EINT7"), + MTK_FUNCTION(2, "PWM7"), + MTK_FUNCTION(3, "CLKM5"), + MTK_FUNCTION(4, "SRCLKENAI2"), + MTK_FUNCTION(5, "MD2_EINT3"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[40]") + ), + MTK_PIN(PINCTRL_PIN(127, "GPIO127"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 8), + MTK_FUNCTION(0, "GPIO127"), + MTK_FUNCTION(1, "EINT8"), + MTK_FUNCTION(2, "DISP_PWM"), + MTK_FUNCTION(3, "CLKM6"), + MTK_FUNCTION(5, "MD2_EINT4"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[41]"), + MTK_FUNCTION(7, "EXT_FRAME_SYNC") + ), + MTK_PIN(PINCTRL_PIN(128, "GPIO128"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 9), + MTK_FUNCTION(0, "GPIO128"), + MTK_FUNCTION(1, "EINT9"), + MTK_FUNCTION(3, "MD1_GPS_SYNC"), + MTK_FUNCTION(4, "MD2_GPS_SYNC"), + MTK_FUNCTION(5, "USB_DRVVBUS"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[42]") + ), + MTK_PIN(PINCTRL_PIN(129, "GPIO129"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 77), + MTK_FUNCTION(0, "GPIO129"), + MTK_FUNCTION(1, "DISP_PWM"), + MTK_FUNCTION(2, "EINT77"), + MTK_FUNCTION(3, "LSDI"), + MTK_FUNCTION(4, "PWM1"), + MTK_FUNCTION(5, "PWM2"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[43]"), + MTK_FUNCTION(7, "PWM3") + ), + MTK_PIN(PINCTRL_PIN(130, "GPIO130"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 133), + MTK_FUNCTION(0, "GPIO130"), + MTK_FUNCTION(1, "MSDC4_DAT0"), + MTK_FUNCTION(2, "EINT133"), + MTK_FUNCTION(4, "EXT_FRAME_SYNC"), + MTK_FUNCTION(5, "USB_DRVVBUS"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[46]"), + MTK_FUNCTION(7, "LPTE") + ), + MTK_PIN(PINCTRL_PIN(131, "GPIO131"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 134), + MTK_FUNCTION(0, "GPIO131"), + MTK_FUNCTION(1, "MSDC4_DAT1"), + MTK_FUNCTION(2, "EINT134"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[47]"), + MTK_FUNCTION(7, "LRSTB_1X") + ), + MTK_PIN(PINCTRL_PIN(132, "GPIO132"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 127), + MTK_FUNCTION(0, "GPIO132"), + MTK_FUNCTION(1, "LPCE1B"), + MTK_FUNCTION(2, "EINT127"), + MTK_FUNCTION(3, "DPI1_HSYNC_2X"), + MTK_FUNCTION(5, "PWM2"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[44]") + ), + MTK_PIN(PINCTRL_PIN(133, "GPIO133"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 126), + MTK_FUNCTION(0, "GPIO133"), + MTK_FUNCTION(1, "LPCE0B"), + MTK_FUNCTION(2, "EINT126"), + MTK_FUNCTION(3, "DPI1_VSYNC_2X"), + MTK_FUNCTION(5, "PWM1"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[45]") + ), + MTK_PIN(PINCTRL_PIN(134, "GPIO134"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 136), + MTK_FUNCTION(0, "GPIO134"), + MTK_FUNCTION(1, "MSDC4_DAT5"), + MTK_FUNCTION(2, "EINT136"), + MTK_FUNCTION(3, "I2SIN_WS"), + MTK_FUNCTION(4, "DAC_WS"), + MTK_FUNCTION(5, "PCM1_WS"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[48]"), + MTK_FUNCTION(7, "SPI1_CSN") + ), + MTK_PIN(PINCTRL_PIN(135, "GPIO135"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 137), + MTK_FUNCTION(0, "GPIO135"), + MTK_FUNCTION(1, "MSDC4_DAT6"), + MTK_FUNCTION(2, "EINT137"), + MTK_FUNCTION(3, "I2SOUT_DAT"), + MTK_FUNCTION(4, "DAC_DAT_OUT"), + MTK_FUNCTION(5, "PCM1_DO"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[49]"), + MTK_FUNCTION(7, "SPI1_MO") + ), + MTK_PIN(PINCTRL_PIN(136, "GPIO136"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 138), + MTK_FUNCTION(0, "GPIO136"), + MTK_FUNCTION(1, "MSDC4_DAT7"), + MTK_FUNCTION(2, "EINT138"), + MTK_FUNCTION(3, "I2SIN_DAT"), + MTK_FUNCTION(5, "PCM1_DI"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[50]"), + MTK_FUNCTION(7, "SPI1_MI") + ), + MTK_PIN(PINCTRL_PIN(137, "GPIO137"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 135), + MTK_FUNCTION(0, "GPIO137"), + MTK_FUNCTION(1, "MSDC4_DAT4"), + MTK_FUNCTION(2, "EINT135"), + MTK_FUNCTION(3, "I2SIN_CK"), + MTK_FUNCTION(4, "DAC_CK"), + MTK_FUNCTION(5, "PCM1_CK"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[51]"), + MTK_FUNCTION(7, "SPI1_CLK") + ), + MTK_PIN(PINCTRL_PIN(138, "GPIO138"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 131), + MTK_FUNCTION(0, "GPIO138"), + MTK_FUNCTION(1, "MSDC4_DAT2"), + MTK_FUNCTION(2, "EINT131"), + MTK_FUNCTION(3, "I2SIN_WS"), + MTK_FUNCTION(4, "CM2PDN_2X"), + MTK_FUNCTION(5, "DAC_WS"), + MTK_FUNCTION(6, "PCM1_WS"), + MTK_FUNCTION(7, "LSCE0B_1X") + ), + MTK_PIN(PINCTRL_PIN(139, "GPIO139"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 129), + MTK_FUNCTION(0, "GPIO139"), + MTK_FUNCTION(1, "MSDC4_CLK"), + MTK_FUNCTION(2, "EINT129"), + MTK_FUNCTION(3, "DPI1_CK_2X"), + MTK_FUNCTION(4, "CM2PCLK_2X"), + MTK_FUNCTION(5, "PWM4"), + MTK_FUNCTION(6, "PCM1_DI"), + MTK_FUNCTION(7, "LSCK_1X") + ), + MTK_PIN(PINCTRL_PIN(140, "GPIO140"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 132), + MTK_FUNCTION(0, "GPIO140"), + MTK_FUNCTION(1, "MSDC4_DAT3"), + MTK_FUNCTION(2, "EINT132"), + MTK_FUNCTION(3, "I2SOUT_DAT"), + MTK_FUNCTION(4, "CM2RST_2X"), + MTK_FUNCTION(5, "DAC_DAT_OUT"), + MTK_FUNCTION(6, "PCM1_DO"), + MTK_FUNCTION(7, "LSCE1B_1X") + ), + MTK_PIN(PINCTRL_PIN(141, "GPIO141"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 128), + MTK_FUNCTION(0, "GPIO141"), + MTK_FUNCTION(1, "MSDC4_CMD"), + MTK_FUNCTION(2, "EINT128"), + MTK_FUNCTION(3, "DPI1_DE_2X"), + MTK_FUNCTION(4, "MD1_GPS_SYNC"), + MTK_FUNCTION(5, "PWM3"), + MTK_FUNCTION(6, "MD2_GPS_SYNC"), + MTK_FUNCTION(7, "LSDA_1X") + ), + MTK_PIN(PINCTRL_PIN(142, "GPIO142"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 130), + MTK_FUNCTION(0, "GPIO142"), + MTK_FUNCTION(1, "MSDC4_RSTB"), + MTK_FUNCTION(2, "EINT130"), + MTK_FUNCTION(3, "I2SIN_CK"), + MTK_FUNCTION(4, "CM2MCLK_2X"), + MTK_FUNCTION(5, "DAC_CK"), + MTK_FUNCTION(6, "PCM1_CK"), + MTK_FUNCTION(7, "LSA0_1X") + ), + MTK_PIN(PINCTRL_PIN(143, "GPIO143"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 98), + MTK_FUNCTION(0, "GPIO143"), + MTK_FUNCTION(1, "DPI0_VSYNC"), + MTK_FUNCTION(2, "EINT98"), + MTK_FUNCTION(3, "I2SIN_CK"), + MTK_FUNCTION(4, "DAC_CK"), + MTK_FUNCTION(5, "PCM1_CK"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[52]"), + MTK_FUNCTION(7, "TESTB_OUT8") + ), + MTK_PIN(PINCTRL_PIN(144, "GPIO144"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 99), + MTK_FUNCTION(0, "GPIO144"), + MTK_FUNCTION(1, "DPI0_HSYNC"), + MTK_FUNCTION(2, "EINT99"), + MTK_FUNCTION(3, "I2SIN_WS"), + MTK_FUNCTION(4, "DAC_WS"), + MTK_FUNCTION(5, "PCM1_WS"), + MTK_FUNCTION(6, "IRDA_RXD"), + MTK_FUNCTION(7, "TESTB_OUT9") + ), + MTK_PIN(PINCTRL_PIN(145, "GPIO145"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 100), + MTK_FUNCTION(0, "GPIO145"), + MTK_FUNCTION(1, "DPI0_DE"), + MTK_FUNCTION(2, "EINT100"), + MTK_FUNCTION(3, "I2SOUT_DAT"), + MTK_FUNCTION(4, "DAC_DAT_OUT"), + MTK_FUNCTION(5, "PCM1_DO"), + MTK_FUNCTION(6, "IRDA_TXD"), + MTK_FUNCTION(7, "TESTB_OUT10") + ), + MTK_PIN(PINCTRL_PIN(146, "GPIO146"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 101), + MTK_FUNCTION(0, "GPIO146"), + MTK_FUNCTION(1, "DPI0_CK"), + MTK_FUNCTION(2, "EINT101"), + MTK_FUNCTION(3, "I2SIN_DAT"), + MTK_FUNCTION(5, "PCM1_DI"), + MTK_FUNCTION(6, "IRDA_PDN"), + MTK_FUNCTION(7, "TESTB_OUT11") + ), + MTK_PIN(PINCTRL_PIN(147, "GPIO147"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 102), + MTK_FUNCTION(0, "GPIO147"), + MTK_FUNCTION(1, "DPI0_B0"), + MTK_FUNCTION(2, "EINT102"), + MTK_FUNCTION(4, "SCL0"), + MTK_FUNCTION(5, "DISP_PWM"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[57]"), + MTK_FUNCTION(7, "TESTB_OUT12") + ), + MTK_PIN(PINCTRL_PIN(148, "GPIO148"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 103), + MTK_FUNCTION(0, "GPIO148"), + MTK_FUNCTION(1, "DPI0_B1"), + MTK_FUNCTION(2, "EINT103"), + MTK_FUNCTION(3, "CLKM0"), + MTK_FUNCTION(4, "SDA0"), + MTK_FUNCTION(5, "PWM1"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[58]"), + MTK_FUNCTION(7, "TESTB_OUT13") + ), + MTK_PIN(PINCTRL_PIN(149, "GPIO149"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 104), + MTK_FUNCTION(0, "GPIO149"), + MTK_FUNCTION(1, "DPI0_B2"), + MTK_FUNCTION(2, "EINT104"), + MTK_FUNCTION(3, "CLKM1"), + MTK_FUNCTION(4, "SCL1"), + MTK_FUNCTION(5, "PWM2"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[59]"), + MTK_FUNCTION(7, "TESTB_OUT14") + ), + MTK_PIN(PINCTRL_PIN(150, "GPIO150"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 105), + MTK_FUNCTION(0, "GPIO150"), + MTK_FUNCTION(1, "DPI0_B3"), + MTK_FUNCTION(2, "EINT105"), + MTK_FUNCTION(3, "CLKM2"), + MTK_FUNCTION(4, "SDA1"), + MTK_FUNCTION(5, "PWM3"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[60]"), + MTK_FUNCTION(7, "TESTB_OUT15") + ), + MTK_PIN(PINCTRL_PIN(151, "GPIO151"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 106), + MTK_FUNCTION(0, "GPIO151"), + MTK_FUNCTION(1, "DPI0_B4"), + MTK_FUNCTION(2, "EINT106"), + MTK_FUNCTION(3, "CLKM3"), + MTK_FUNCTION(4, "SCL2"), + MTK_FUNCTION(5, "PWM4"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[61]"), + MTK_FUNCTION(7, "TESTB_OUT16") + ), + MTK_PIN(PINCTRL_PIN(152, "GPIO152"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 107), + MTK_FUNCTION(0, "GPIO152"), + MTK_FUNCTION(1, "DPI0_B5"), + MTK_FUNCTION(2, "EINT107"), + MTK_FUNCTION(3, "CLKM4"), + MTK_FUNCTION(4, "SDA2"), + MTK_FUNCTION(5, "PWM5"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[62]"), + MTK_FUNCTION(7, "TESTB_OUT17") + ), + MTK_PIN(PINCTRL_PIN(153, "GPIO153"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 108), + MTK_FUNCTION(0, "GPIO153"), + MTK_FUNCTION(1, "DPI0_B6"), + MTK_FUNCTION(2, "EINT108"), + MTK_FUNCTION(3, "CLKM5"), + MTK_FUNCTION(4, "SCL3"), + MTK_FUNCTION(5, "PWM6"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[63]"), + MTK_FUNCTION(7, "TESTB_OUT18") + ), + MTK_PIN(PINCTRL_PIN(154, "GPIO154"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 109), + MTK_FUNCTION(0, "GPIO154"), + MTK_FUNCTION(1, "DPI0_B7"), + MTK_FUNCTION(2, "EINT109"), + MTK_FUNCTION(3, "CLKM6"), + MTK_FUNCTION(4, "SDA3"), + MTK_FUNCTION(5, "PWM7"), + MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[0]"), + MTK_FUNCTION(7, "TESTB_OUT19") + ), + MTK_PIN(PINCTRL_PIN(155, "GPIO155"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 110), + MTK_FUNCTION(0, "GPIO155"), + MTK_FUNCTION(1, "DPI0_G0"), + MTK_FUNCTION(2, "EINT110"), + MTK_FUNCTION(5, "DSP1_ID"), + MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[1]"), + MTK_FUNCTION(7, "TESTB_OUT20") + ), + MTK_PIN(PINCTRL_PIN(156, "GPIO156"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 111), + MTK_FUNCTION(0, "GPIO156"), + MTK_FUNCTION(1, "DPI0_G1"), + MTK_FUNCTION(2, "EINT111"), + MTK_FUNCTION(5, "DSP1_ICK"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[56]"), + MTK_FUNCTION(7, "TESTB_OUT21") + ), + MTK_PIN(PINCTRL_PIN(157, "GPIO157"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 112), + MTK_FUNCTION(0, "GPIO157"), + MTK_FUNCTION(1, "DPI0_G2"), + MTK_FUNCTION(2, "EINT112"), + MTK_FUNCTION(5, "DSP1_IMS"), + MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[2]"), + MTK_FUNCTION(7, "TESTB_OUT22") + ), + MTK_PIN(PINCTRL_PIN(158, "GPIO158"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 113), + MTK_FUNCTION(0, "GPIO158"), + MTK_FUNCTION(1, "DPI0_G3"), + MTK_FUNCTION(2, "EINT113"), + MTK_FUNCTION(5, "DSP2_IMS"), + MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[3]"), + MTK_FUNCTION(7, "TESTB_OUT23") + ), + MTK_PIN(PINCTRL_PIN(159, "GPIO159"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 114), + MTK_FUNCTION(0, "GPIO159"), + MTK_FUNCTION(1, "DPI0_G4"), + MTK_FUNCTION(2, "EINT114"), + MTK_FUNCTION(3, "DPI1_D_2X[0]"), + MTK_FUNCTION(4, "CM2DAT_2X[0]"), + MTK_FUNCTION(5, "DSP2_ID"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[53]"), + MTK_FUNCTION(7, "TESTB_OUT24") + ), + MTK_PIN(PINCTRL_PIN(160, "GPIO160"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 115), + MTK_FUNCTION(0, "GPIO160"), + MTK_FUNCTION(1, "DPI0_G5"), + MTK_FUNCTION(2, "EINT115"), + MTK_FUNCTION(3, "DPI1_D_2X[1]"), + MTK_FUNCTION(4, "CM2DAT_2X[1]"), + MTK_FUNCTION(5, "DSP2_ICK"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[54]"), + MTK_FUNCTION(7, "TESTB_OUT25") + ), + MTK_PIN(PINCTRL_PIN(161, "GPIO161"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 116), + MTK_FUNCTION(0, "GPIO161"), + MTK_FUNCTION(1, "DPI0_G6"), + MTK_FUNCTION(2, "EINT116"), + MTK_FUNCTION(3, "DPI1_D_2X[2]"), + MTK_FUNCTION(4, "CM2DAT_2X[2]"), + MTK_FUNCTION(5, "MD2_RTCK_PAD"), + MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[4]"), + MTK_FUNCTION(7, "TESTB_OUT26") + ), + MTK_PIN(PINCTRL_PIN(162, "GPIO162"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 117), + MTK_FUNCTION(0, "GPIO162"), + MTK_FUNCTION(1, "DPI0_G7"), + MTK_FUNCTION(2, "EINT117"), + MTK_FUNCTION(3, "DPI1_D_2X[3]"), + MTK_FUNCTION(4, "CM2DAT_2X[3]"), + MTK_FUNCTION(5, "MD2_TCK_PAD"), + MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[5]"), + MTK_FUNCTION(7, "TESTB_OUT27") + ), + MTK_PIN(PINCTRL_PIN(163, "GPIO163"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 118), + MTK_FUNCTION(0, "GPIO163"), + MTK_FUNCTION(1, "DPI0_R0"), + MTK_FUNCTION(2, "EINT118"), + MTK_FUNCTION(3, "DPI1_D_2X[4]"), + MTK_FUNCTION(4, "CM2DAT_2X[4]"), + MTK_FUNCTION(5, "MD2_TDI_PAD"), + MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[6]"), + MTK_FUNCTION(7, "TESTB_OUT28") + ), + MTK_PIN(PINCTRL_PIN(164, "GPIO164"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 119), + MTK_FUNCTION(0, "GPIO164"), + MTK_FUNCTION(1, "DPI0_R1"), + MTK_FUNCTION(2, "EINT119"), + MTK_FUNCTION(3, "DPI1_D_2X[5]"), + MTK_FUNCTION(4, "CM2DAT_2X[5]"), + MTK_FUNCTION(5, "MD2_TDO_PAD"), + MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[7]"), + MTK_FUNCTION(7, "TESTB_OUT29") + ), + MTK_PIN(PINCTRL_PIN(165, "GPIO165"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 120), + MTK_FUNCTION(0, "GPIO165"), + MTK_FUNCTION(1, "DPI0_R2"), + MTK_FUNCTION(2, "EINT120"), + MTK_FUNCTION(3, "DPI1_D_2X[6]"), + MTK_FUNCTION(4, "CM2DAT_2X[6]"), + MTK_FUNCTION(5, "MD2_TMS_PAD"), + MTK_FUNCTION(7, "TESTB_OUT30") + ), + MTK_PIN(PINCTRL_PIN(166, "GPIO166"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 121), + MTK_FUNCTION(0, "GPIO166"), + MTK_FUNCTION(1, "DPI0_R3"), + MTK_FUNCTION(2, "EINT121"), + MTK_FUNCTION(3, "DPI1_D_2X[7]"), + MTK_FUNCTION(4, "CM2DAT_2X[7]"), + MTK_FUNCTION(5, "MD2_NTRST_PAD"), + MTK_FUNCTION(6, "MD_ABB_AFUNC_D[55]"), + MTK_FUNCTION(7, "TESTB_OUT31") + ), + MTK_PIN(PINCTRL_PIN(167, "GPIO167"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 122), + MTK_FUNCTION(0, "GPIO167"), + MTK_FUNCTION(1, "DPI0_R4"), + MTK_FUNCTION(2, "EINT122"), + MTK_FUNCTION(3, "DPI1_D_2X[8]"), + MTK_FUNCTION(4, "CM2DAT_2X[8]"), + MTK_FUNCTION(7, "TESTA_OUT0") + ), + MTK_PIN(PINCTRL_PIN(168, "GPIO168"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 123), + MTK_FUNCTION(0, "GPIO168"), + MTK_FUNCTION(1, "DPI0_R5"), + MTK_FUNCTION(2, "EINT123"), + MTK_FUNCTION(3, "DPI1_D_2X[9]"), + MTK_FUNCTION(4, "CM2DAT_2X[9]"), + MTK_FUNCTION(5, "MD1_DAI_RX_GPIO"), + MTK_FUNCTION(6, "MD2_DAI_RX_GPIO"), + MTK_FUNCTION(7, "TESTA_OUT1") + ), + MTK_PIN(PINCTRL_PIN(169, "GPIO169"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 124), + MTK_FUNCTION(0, "GPIO169"), + MTK_FUNCTION(1, "DPI0_R6"), + MTK_FUNCTION(2, "EINT124"), + MTK_FUNCTION(3, "DPI1_D_2X[10]"), + MTK_FUNCTION(4, "CM2VSYNC_2X"), + MTK_FUNCTION(7, "TESTA_OUT2") + ), + MTK_PIN(PINCTRL_PIN(170, "GPIO170"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 125), + MTK_FUNCTION(0, "GPIO170"), + MTK_FUNCTION(1, "DPI0_R7"), + MTK_FUNCTION(2, "EINT125"), + MTK_FUNCTION(3, "DPI1_D_2X[11]"), + MTK_FUNCTION(4, "CM2HSYNC_2X"), + MTK_FUNCTION(7, "TESTA_OUT3") + ), + MTK_PIN(PINCTRL_PIN(171, "GPIO171"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 57), + MTK_FUNCTION(0, "GPIO171"), + MTK_FUNCTION(1, "MSDC1_INSI"), + MTK_FUNCTION(2, "EINT57"), + MTK_FUNCTION(3, "SCL5"), + MTK_FUNCTION(4, "PWM6"), + MTK_FUNCTION(5, "CLKM5"), + MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[0]"), + MTK_FUNCTION(7, "TESTB_OUT6") + ), + MTK_PIN(PINCTRL_PIN(172, "GPIO172"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 65), + MTK_FUNCTION(0, "GPIO172"), + MTK_FUNCTION(1, "MSDC2_INSI"), + MTK_FUNCTION(2, "EINT65"), + MTK_FUNCTION(3, "BPI2_BUS6"), + MTK_FUNCTION(7, "A_FUNC_DIN[6]") + ), + MTK_PIN(PINCTRL_PIN(173, "GPIO173"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 66), + MTK_FUNCTION(0, "GPIO173"), + MTK_FUNCTION(1, "MSDC2_SDWPI"), + MTK_FUNCTION(2, "EINT66"), + MTK_FUNCTION(3, "BPI2_BUS17"), + MTK_FUNCTION(4, "DUAL_BPI1_BUS14"), + MTK_FUNCTION(5, "DUAL_BPI1_BUS15"), + MTK_FUNCTION(7, "A_FUNC_DIN[5]") + ), + MTK_PIN(PINCTRL_PIN(174, "GPIO174"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 63), + MTK_FUNCTION(0, "GPIO174"), + MTK_FUNCTION(1, "MSDC2_DAT2"), + MTK_FUNCTION(2, "EINT63"), + MTK_FUNCTION(3, "BPI2_BUS4"), + MTK_FUNCTION(4, "DSP2_IMS"), + MTK_FUNCTION(7, "A_FUNC_DIN[8]") + ), + MTK_PIN(PINCTRL_PIN(175, "GPIO175"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 64), + MTK_FUNCTION(0, "GPIO175"), + MTK_FUNCTION(1, "MSDC2_DAT3"), + MTK_FUNCTION(2, "EINT64"), + MTK_FUNCTION(3, "BPI2_BUS5"), + MTK_FUNCTION(4, "DSP2_ID"), + MTK_FUNCTION(7, "A_FUNC_DIN[7]") + ), + MTK_PIN(PINCTRL_PIN(176, "GPIO176"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 60), + MTK_FUNCTION(0, "GPIO176"), + MTK_FUNCTION(1, "MSDC2_CMD"), + MTK_FUNCTION(2, "EINT60"), + MTK_FUNCTION(3, "BPI2_BUS1"), + MTK_FUNCTION(4, "DSP1_IMS"), + MTK_FUNCTION(5, "PCM1_WS"), + MTK_FUNCTION(7, "A_FUNC_DIN[11]") + ), + MTK_PIN(PINCTRL_PIN(177, "GPIO177"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 59), + MTK_FUNCTION(0, "GPIO177"), + MTK_FUNCTION(1, "MSDC2_CLK"), + MTK_FUNCTION(2, "EINT59"), + MTK_FUNCTION(3, "BPI2_BUS0"), + MTK_FUNCTION(4, "DSP1_ICK"), + MTK_FUNCTION(5, "PCM1_CK"), + MTK_FUNCTION(7, "A_FUNC_DIN[12]") + ), + MTK_PIN(PINCTRL_PIN(178, "GPIO178"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 62), + MTK_FUNCTION(0, "GPIO178"), + MTK_FUNCTION(1, "MSDC2_DAT1"), + MTK_FUNCTION(2, "EINT62"), + MTK_FUNCTION(3, "BPI2_BUS3"), + MTK_FUNCTION(4, "DSP2_ICK"), + MTK_FUNCTION(5, "PCM1_DO"), + MTK_FUNCTION(7, "A_FUNC_DIN[9]") + ), + MTK_PIN(PINCTRL_PIN(179, "GPIO179"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 61), + MTK_FUNCTION(0, "GPIO179"), + MTK_FUNCTION(1, "MSDC2_DAT0"), + MTK_FUNCTION(2, "EINT61"), + MTK_FUNCTION(3, "BPI2_BUS2"), + MTK_FUNCTION(4, "DSP1_ID"), + MTK_FUNCTION(5, "PCM1_DI"), + MTK_FUNCTION(7, "A_FUNC_DIN[10]") + ), + MTK_PIN(PINCTRL_PIN(180, "GPIO180"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 53), + MTK_FUNCTION(0, "GPIO180"), + MTK_FUNCTION(1, "MSDC1_DAT0"), + MTK_FUNCTION(2, "EINT53"), + MTK_FUNCTION(3, "SCL1"), + MTK_FUNCTION(4, "PWM2"), + MTK_FUNCTION(5, "CLKM1"), + MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[1]"), + MTK_FUNCTION(7, "TESTB_OUT2") + ), + MTK_PIN(PINCTRL_PIN(181, "GPIO181"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 54), + MTK_FUNCTION(0, "GPIO181"), + MTK_FUNCTION(1, "MSDC1_DAT1"), + MTK_FUNCTION(2, "EINT54"), + MTK_FUNCTION(3, "SDA1"), + MTK_FUNCTION(4, "PWM3"), + MTK_FUNCTION(5, "CLKM2"), + MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[2]"), + MTK_FUNCTION(7, "TESTB_OUT3") + ), + MTK_PIN(PINCTRL_PIN(182, "GPIO182"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 58), + MTK_FUNCTION(0, "GPIO182"), + MTK_FUNCTION(1, "MSDC1_SDWPI"), + MTK_FUNCTION(2, "EINT58"), + MTK_FUNCTION(3, "SDA5"), + MTK_FUNCTION(4, "PWM7"), + MTK_FUNCTION(5, "CLKM6"), + MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[3]"), + MTK_FUNCTION(7, "TESTB_OUT7") + ), + MTK_PIN(PINCTRL_PIN(183, "GPIO183"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 52), + MTK_FUNCTION(0, "GPIO183"), + MTK_FUNCTION(1, "MSDC1_CMD"), + MTK_FUNCTION(2, "EINT52"), + MTK_FUNCTION(3, "SDA0"), + MTK_FUNCTION(4, "PWM1"), + MTK_FUNCTION(5, "CLKM0"), + MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[4]"), + MTK_FUNCTION(7, "TESTB_OUT1") + ), + MTK_PIN(PINCTRL_PIN(184, "GPIO184"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 51), + MTK_FUNCTION(0, "GPIO184"), + MTK_FUNCTION(1, "MSDC1_CLK"), + MTK_FUNCTION(2, "EINT51"), + MTK_FUNCTION(3, "SCL0"), + MTK_FUNCTION(4, "DISP_PWM"), + MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[5]"), + MTK_FUNCTION(7, "TESTB_OUT0") + ), + MTK_PIN(PINCTRL_PIN(185, "GPIO185"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 55), + MTK_FUNCTION(0, "GPIO185"), + MTK_FUNCTION(1, "MSDC1_DAT2"), + MTK_FUNCTION(2, "EINT55"), + MTK_FUNCTION(3, "SCL4"), + MTK_FUNCTION(4, "PWM4"), + MTK_FUNCTION(5, "CLKM3"), + MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[6]"), + MTK_FUNCTION(7, "TESTB_OUT4") + ), + MTK_PIN(PINCTRL_PIN(186, "GPIO186"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 56), + MTK_FUNCTION(0, "GPIO186"), + MTK_FUNCTION(1, "MSDC1_DAT3"), + MTK_FUNCTION(2, "EINT56"), + MTK_FUNCTION(3, "SDA4"), + MTK_FUNCTION(4, "PWM5"), + MTK_FUNCTION(5, "CLKM4"), + MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[7]"), + MTK_FUNCTION(7, "TESTB_OUT5") + ), + MTK_PIN(PINCTRL_PIN(187, "GPIO187"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 36), + MTK_FUNCTION(0, "GPIO187"), + MTK_FUNCTION(2, "EINT36") + ), + MTK_PIN(PINCTRL_PIN(188, "GPIO188"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 35), + MTK_FUNCTION(0, "GPIO188"), + MTK_FUNCTION(2, "EINT35") + ), + MTK_PIN(PINCTRL_PIN(189, "GPIO189"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 169), + MTK_FUNCTION(0, "GPIO189"), + MTK_FUNCTION(2, "EINT169") + ), + MTK_PIN(PINCTRL_PIN(190, "GPIO190"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 168), + MTK_FUNCTION(0, "GPIO190"), + MTK_FUNCTION(2, "EINT168") + ), + MTK_PIN(PINCTRL_PIN(191, "GPIO191"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 163), + MTK_FUNCTION(0, "GPIO191"), + MTK_FUNCTION(2, "EINT163") + ), + MTK_PIN(PINCTRL_PIN(192, "GPIO192"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 162), + MTK_FUNCTION(0, "GPIO192"), + MTK_FUNCTION(2, "EINT162") + ), + MTK_PIN(PINCTRL_PIN(193, "GPIO193"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 167), + MTK_FUNCTION(0, "GPIO193"), + MTK_FUNCTION(2, "EINT167") + ), + MTK_PIN(PINCTRL_PIN(194, "GPIO194"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 166), + MTK_FUNCTION(0, "GPIO194"), + MTK_FUNCTION(2, "EINT166") + ), + MTK_PIN(PINCTRL_PIN(195, "GPIO195"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 165), + MTK_FUNCTION(0, "GPIO195"), + MTK_FUNCTION(2, "EINT165") + ), + MTK_PIN(PINCTRL_PIN(196, "GPIO196"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 164), + MTK_FUNCTION(0, "GPIO196"), + MTK_FUNCTION(2, "EINT164") + ), + MTK_PIN(PINCTRL_PIN(197, "GPIO197"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 175), + MTK_FUNCTION(0, "GPIO197"), + MTK_FUNCTION(1, "CMDAT6"), + MTK_FUNCTION(2, "EINT175") + ), + MTK_PIN(PINCTRL_PIN(198, "GPIO198"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 174), + MTK_FUNCTION(0, "GPIO198"), + MTK_FUNCTION(1, "CMDAT7"), + MTK_FUNCTION(2, "EINT174") + ), + MTK_PIN(PINCTRL_PIN(199, "GPIO199"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 171), + MTK_FUNCTION(0, "GPIO199"), + MTK_FUNCTION(1, "CMDAT8"), + MTK_FUNCTION(2, "EINT171") + ), + MTK_PIN(PINCTRL_PIN(200, "GPIO200"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 170), + MTK_FUNCTION(0, "GPIO200"), + MTK_FUNCTION(1, "CMDAT9"), + MTK_FUNCTION(2, "EINT170") + ), + MTK_PIN(PINCTRL_PIN(201, "GPIO201"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 173), + MTK_FUNCTION(0, "GPIO201"), + MTK_FUNCTION(1, "CMHSYNC"), + MTK_FUNCTION(2, "EINT173") + ), + MTK_PIN(PINCTRL_PIN(202, "GPIO202"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 172), + MTK_FUNCTION(0, "GPIO202"), + MTK_FUNCTION(1, "CMVSYNC"), + MTK_FUNCTION(2, "EINT172") + ), + MTK_PIN(PINCTRL_PIN(203, "GPIO203"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 181), + MTK_FUNCTION(0, "GPIO203"), + MTK_FUNCTION(1, "CMDAT2"), + MTK_FUNCTION(2, "EINT181"), + MTK_FUNCTION(3, "CMCSD2") + ), + MTK_PIN(PINCTRL_PIN(204, "GPIO204"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 180), + MTK_FUNCTION(0, "GPIO204"), + MTK_FUNCTION(1, "CMDAT3"), + MTK_FUNCTION(2, "EINT180"), + MTK_FUNCTION(3, "CMCSD3") + ), + MTK_PIN(PINCTRL_PIN(205, "GPIO205"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 177), + MTK_FUNCTION(0, "GPIO205"), + MTK_FUNCTION(1, "CMDAT4"), + MTK_FUNCTION(2, "EINT177") + ), + MTK_PIN(PINCTRL_PIN(206, "GPIO206"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 176), + MTK_FUNCTION(0, "GPIO206"), + MTK_FUNCTION(1, "CMDAT5"), + MTK_FUNCTION(2, "EINT176") + ), + MTK_PIN(PINCTRL_PIN(207, "GPIO207"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 179), + MTK_FUNCTION(0, "GPIO207"), + MTK_FUNCTION(1, "CMDAT0"), + MTK_FUNCTION(2, "EINT179"), + MTK_FUNCTION(3, "CMCSD0") + ), + MTK_PIN(PINCTRL_PIN(208, "GPIO208"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 178), + MTK_FUNCTION(0, "GPIO208"), + MTK_FUNCTION(1, "CMDAT1"), + MTK_FUNCTION(2, "EINT178"), + MTK_FUNCTION(3, "CMCSD1") + ), + MTK_PIN(PINCTRL_PIN(209, "GPIO209"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 182), + MTK_FUNCTION(0, "GPIO209"), + MTK_FUNCTION(1, "CMPCLK"), + MTK_FUNCTION(2, "EINT182"), + MTK_FUNCTION(3, "CMCSK"), + MTK_FUNCTION(4, "CM2MCLK_4X"), + MTK_FUNCTION(5, "TS_AUXADC_SEL[3]"), + MTK_FUNCTION(7, "TESTA_OUT27") + ), + MTK_PIN(PINCTRL_PIN(210, "GPIO210"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 183), + MTK_FUNCTION(0, "GPIO210"), + MTK_FUNCTION(1, "CMMCLK"), + MTK_FUNCTION(2, "EINT183"), + MTK_FUNCTION(5, "TS_AUXADC_SEL[2]"), + MTK_FUNCTION(7, "TESTA_OUT28") + ), + MTK_PIN(PINCTRL_PIN(211, "GPIO211"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 185), + MTK_FUNCTION(0, "GPIO211"), + MTK_FUNCTION(1, "CMRST"), + MTK_FUNCTION(2, "EINT185"), + MTK_FUNCTION(5, "TS_AUXADC_SEL[1]"), + MTK_FUNCTION(7, "TESTA_OUT30") + ), + MTK_PIN(PINCTRL_PIN(212, "GPIO212"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 184), + MTK_FUNCTION(0, "GPIO212"), + MTK_FUNCTION(1, "CMPDN"), + MTK_FUNCTION(2, "EINT184"), + MTK_FUNCTION(5, "TS_AUXADC_SEL[0]"), + MTK_FUNCTION(7, "TESTA_OUT29") + ), + MTK_PIN(PINCTRL_PIN(213, "GPIO213"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 186), + MTK_FUNCTION(0, "GPIO213"), + MTK_FUNCTION(1, "CMFLASH"), + MTK_FUNCTION(2, "EINT186"), + MTK_FUNCTION(3, "CM2MCLK_3X"), + MTK_FUNCTION(7, "TESTA_OUT31") + ), + MTK_PIN(PINCTRL_PIN(214, "GPIO214"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 93), + MTK_FUNCTION(0, "GPIO214"), + MTK_FUNCTION(1, "SDA1"), + MTK_FUNCTION(2, "EINT93"), + MTK_FUNCTION(3, "CLKM3"), + MTK_FUNCTION(4, "PWM3"), + MTK_FUNCTION(5, "TS_AUX_SCLK_PWDB"), + MTK_FUNCTION(7, "A_FUNC_DIN[17]") + ), + MTK_PIN(PINCTRL_PIN(215, "GPIO215"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 92), + MTK_FUNCTION(0, "GPIO215"), + MTK_FUNCTION(1, "SCL1"), + MTK_FUNCTION(2, "EINT92"), + MTK_FUNCTION(3, "CLKM2"), + MTK_FUNCTION(4, "PWM2"), + MTK_FUNCTION(5, "TS_AUX_DIN"), + MTK_FUNCTION(7, "A_FUNC_DIN[18]") + ), + MTK_PIN(PINCTRL_PIN(216, "GPIO216"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 95), + MTK_FUNCTION(0, "GPIO216"), + MTK_FUNCTION(1, "SDA2"), + MTK_FUNCTION(2, "EINT95"), + MTK_FUNCTION(3, "CLKM5"), + MTK_FUNCTION(4, "PWM5"), + MTK_FUNCTION(5, "TS_AUX_PWDB"), + MTK_FUNCTION(7, "A_FUNC_DIN[15]") + ), + MTK_PIN(PINCTRL_PIN(217, "GPIO217"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 94), + MTK_FUNCTION(0, "GPIO217"), + MTK_FUNCTION(1, "SCL2"), + MTK_FUNCTION(2, "EINT94"), + MTK_FUNCTION(3, "CLKM4"), + MTK_FUNCTION(4, "PWM4"), + MTK_FUNCTION(5, "TS_AUXADC_TEST_CK"), + MTK_FUNCTION(7, "A_FUNC_DIN[16]") + ), + MTK_PIN(PINCTRL_PIN(218, "GPIO218"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO218"), + MTK_FUNCTION(1, "SRCLKENAI") + ), + MTK_PIN(PINCTRL_PIN(219, "GPIO219"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 87), + MTK_FUNCTION(0, "GPIO219"), + MTK_FUNCTION(1, "URXD3"), + MTK_FUNCTION(2, "EINT87"), + MTK_FUNCTION(3, "UTXD3"), + MTK_FUNCTION(4, "MD2_URXD"), + MTK_FUNCTION(5, "TS_AUX_ST"), + MTK_FUNCTION(6, "PWM4"), + MTK_FUNCTION(7, "MD2_EINT4") + ), + MTK_PIN(PINCTRL_PIN(220, "GPIO220"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 86), + MTK_FUNCTION(0, "GPIO220"), + MTK_FUNCTION(1, "UTXD3"), + MTK_FUNCTION(2, "EINT86"), + MTK_FUNCTION(3, "URXD3"), + MTK_FUNCTION(4, "MD2_UTXD"), + MTK_FUNCTION(5, "TS_AUX_CS_B"), + MTK_FUNCTION(6, "PWM3"), + MTK_FUNCTION(7, "MD2_EINT3") + ), + MTK_PIN(PINCTRL_PIN(221, "GPIO221"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO221"), + MTK_FUNCTION(1, "MRG_I2S_PCM_CLK"), + MTK_FUNCTION(3, "I2SIN_CK"), + MTK_FUNCTION(4, "PCM0_CK"), + MTK_FUNCTION(5, "DSP2_ICK"), + MTK_FUNCTION(6, "IMG_TEST_CK"), + MTK_FUNCTION(7, "USB_SCL") + ), + MTK_PIN(PINCTRL_PIN(222, "GPIO222"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 16), + MTK_FUNCTION(0, "GPIO222"), + MTK_FUNCTION(1, "MRG_I2S_PCM_SYNC"), + MTK_FUNCTION(2, "EINT16"), + MTK_FUNCTION(3, "I2SIN_WS"), + MTK_FUNCTION(4, "PCM0_WS"), + MTK_FUNCTION(6, "DISP_TEST_CK") + ), + MTK_PIN(PINCTRL_PIN(223, "GPIO223"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO223"), + MTK_FUNCTION(1, "MRG_I2S_PCM_RX"), + MTK_FUNCTION(3, "I2SIN_DAT"), + MTK_FUNCTION(4, "PCM0_DI"), + MTK_FUNCTION(5, "DSP2_ID"), + MTK_FUNCTION(6, "MFG_TEST_CK"), + MTK_FUNCTION(7, "USB_SDA") + ), + MTK_PIN(PINCTRL_PIN(224, "GPIO224"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 17), + MTK_FUNCTION(0, "GPIO224"), + MTK_FUNCTION(1, "MRG_I2S_PCM_TX"), + MTK_FUNCTION(2, "EINT17"), + MTK_FUNCTION(3, "I2SOUT_DAT"), + MTK_FUNCTION(4, "PCM0_DO"), + MTK_FUNCTION(6, "VDEC_TEST_CK") + ), + MTK_PIN(PINCTRL_PIN(225, "GPIO225"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 18), + MTK_FUNCTION(0, "GPIO225"), + MTK_FUNCTION(1, "MD1_DAI_RX_GPIO"), + MTK_FUNCTION(2, "EINT18"), + MTK_FUNCTION(3, "BT_SYNC"), + MTK_FUNCTION(4, "MD2_DAI_RX_GPIO"), + MTK_FUNCTION(5, "DSP2_IMS"), + MTK_FUNCTION(6, "VENC_TEST_CK") + ), + MTK_PIN(PINCTRL_PIN(226, "GPIO226"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 71), + MTK_FUNCTION(0, "GPIO226"), + MTK_FUNCTION(1, "MSDC3_DAT2"), + MTK_FUNCTION(2, "EINT71"), + MTK_FUNCTION(3, "SCL6"), + MTK_FUNCTION(4, "PWM5"), + MTK_FUNCTION(5, "CLKM4"), + MTK_FUNCTION(7, "A_FUNC_DIN[0]") + ), + MTK_PIN(PINCTRL_PIN(227, "GPIO227"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 72), + MTK_FUNCTION(0, "GPIO227"), + MTK_FUNCTION(1, "MSDC3_DAT3"), + MTK_FUNCTION(2, "EINT72"), + MTK_FUNCTION(3, "SDA6"), + MTK_FUNCTION(4, "PWM6"), + MTK_FUNCTION(5, "CLKM5"), + MTK_FUNCTION(7, "A_FUNC_CK") + ), + MTK_PIN(PINCTRL_PIN(228, "GPIO228"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 68), + MTK_FUNCTION(0, "GPIO228"), + MTK_FUNCTION(1, "MSDC3_CMD"), + MTK_FUNCTION(2, "EINT68"), + MTK_FUNCTION(3, "SDA2"), + MTK_FUNCTION(4, "PWM2"), + MTK_FUNCTION(5, "CLKM1"), + MTK_FUNCTION(7, "A_FUNC_DIN[3]") + ), + MTK_PIN(PINCTRL_PIN(229, "GPIO229"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 67), + MTK_FUNCTION(0, "GPIO229"), + MTK_FUNCTION(1, "MSDC3_CLK"), + MTK_FUNCTION(2, "EINT67"), + MTK_FUNCTION(3, "SCL2"), + MTK_FUNCTION(4, "PWM1"), + MTK_FUNCTION(5, "CLKM0"), + MTK_FUNCTION(7, "A_FUNC_DIN[4]") + ), + MTK_PIN(PINCTRL_PIN(230, "GPIO230"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 70), + MTK_FUNCTION(0, "GPIO230"), + MTK_FUNCTION(1, "MSDC3_DAT1"), + MTK_FUNCTION(2, "EINT70"), + MTK_FUNCTION(3, "SDA3"), + MTK_FUNCTION(4, "PWM4"), + MTK_FUNCTION(5, "CLKM3"), + MTK_FUNCTION(7, "A_FUNC_DIN[1]") + ), + MTK_PIN(PINCTRL_PIN(231, "GPIO231"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 69), + MTK_FUNCTION(0, "GPIO231"), + MTK_FUNCTION(1, "MSDC3_DAT0"), + MTK_FUNCTION(2, "EINT69"), + MTK_FUNCTION(3, "SCL3"), + MTK_FUNCTION(4, "PWM3"), + MTK_FUNCTION(5, "CLKM2"), + MTK_FUNCTION(7, "A_FUNC_DIN[2]") + ), + + /* GPIOEXT */ + MTK_PIN(PINCTRL_PIN(232, "GPIO0"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO0"), + MTK_FUNCTION(1, "INT") + ), + MTK_PIN(PINCTRL_PIN(233, "GPIO1"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO1"), + MTK_FUNCTION(1, "SRCVOLTEN") + ), + MTK_PIN(PINCTRL_PIN(234, "GPIO2"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO2"), + MTK_FUNCTION(1, "SRCLKEN_PERI") + ), + MTK_PIN(PINCTRL_PIN(235, "GPIO3"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO3"), + MTK_FUNCTION(1, "SRCLKEN_MD2") + ), + MTK_PIN(PINCTRL_PIN(236, "GPIO4"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO4"), + MTK_FUNCTION(1, "RTC_32K1V8") + ), + MTK_PIN(PINCTRL_PIN(237, "GPIO5"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO5"), + MTK_FUNCTION(1, "WRAP_EVENT") + ), + MTK_PIN(PINCTRL_PIN(238, "GPIO6"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO6"), + MTK_FUNCTION(1, "SPI_CLK") + ), + MTK_PIN(PINCTRL_PIN(239, "GPIO7"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO7"), + MTK_FUNCTION(1, "SPI_CSN") + ), + MTK_PIN(PINCTRL_PIN(240, "GPIO8"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO8"), + MTK_FUNCTION(1, "SPI_MOSI") + ), + MTK_PIN(PINCTRL_PIN(241, "GPIO9"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO9"), + MTK_FUNCTION(1, "SPI_MISO") + ), + MTK_PIN(PINCTRL_PIN(242, "GPIO10"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO10"), + MTK_FUNCTION(1, "ADC_CK") + ), + MTK_PIN(PINCTRL_PIN(243, "GPIO11"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO11"), + MTK_FUNCTION(1, "ADC_WS") + ), + MTK_PIN(PINCTRL_PIN(244, "GPIO12"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO12"), + MTK_FUNCTION(1, "ADC_DAT") + ), + MTK_PIN(PINCTRL_PIN(245, "GPIO13"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO13"), + MTK_FUNCTION(1, "DAC_CK") + ), + MTK_PIN(PINCTRL_PIN(246, "GPIO14"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO14"), + MTK_FUNCTION(1, "DAC_WS") + ), + MTK_PIN(PINCTRL_PIN(247, "GPIO15"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO15"), + MTK_FUNCTION(1, "DAC_DAT") + ), + MTK_PIN(PINCTRL_PIN(248, "GPIO16"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 10), + MTK_FUNCTION(0, "GPIO16"), + MTK_FUNCTION(1, "COL0_USBDL"), + MTK_FUNCTION(2, "EINT10"), + MTK_FUNCTION(3, "PWM1_3X") + ), + MTK_PIN(PINCTRL_PIN(249, "GPIO17"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 11), + MTK_FUNCTION(0, "GPIO17"), + MTK_FUNCTION(1, "COL1"), + MTK_FUNCTION(2, "EINT11"), + MTK_FUNCTION(3, "SCL0_2X") + ), + MTK_PIN(PINCTRL_PIN(250, "GPIO18"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 12), + MTK_FUNCTION(0, "GPIO18"), + MTK_FUNCTION(1, "COL2"), + MTK_FUNCTION(2, "EINT12"), + MTK_FUNCTION(3, "SDA0_2X") + ), + MTK_PIN(PINCTRL_PIN(251, "GPIO19"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 13), + MTK_FUNCTION(0, "GPIO19"), + MTK_FUNCTION(1, "COL3"), + MTK_FUNCTION(2, "EINT13"), + MTK_FUNCTION(3, "SCL1_2X") + ), + MTK_PIN(PINCTRL_PIN(252, "GPIO20"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 14), + MTK_FUNCTION(0, "GPIO20"), + MTK_FUNCTION(1, "COL4"), + MTK_FUNCTION(2, "EINT14"), + MTK_FUNCTION(3, "SDA1_2X") + ), + MTK_PIN(PINCTRL_PIN(253, "GPIO21"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 15), + MTK_FUNCTION(0, "GPIO21"), + MTK_FUNCTION(1, "COL5"), + MTK_FUNCTION(2, "EINT15"), + MTK_FUNCTION(3, "SCL2_2X") + ), + MTK_PIN(PINCTRL_PIN(254, "GPIO22"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 16), + MTK_FUNCTION(0, "GPIO22"), + MTK_FUNCTION(1, "COL6"), + MTK_FUNCTION(2, "EINT16"), + MTK_FUNCTION(3, "SDA2_2X"), + MTK_FUNCTION(4, "GPIO32K_0"), + MTK_FUNCTION(5, "GPIO26M_0") + ), + MTK_PIN(PINCTRL_PIN(255, "GPIO23"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 17), + MTK_FUNCTION(0, "GPIO23"), + MTK_FUNCTION(1, "COL7"), + MTK_FUNCTION(2, "EINT17"), + MTK_FUNCTION(3, "PWM2_3X"), + MTK_FUNCTION(4, "GPIO32K_1"), + MTK_FUNCTION(5, "GPIO26M_1") + ), + MTK_PIN(PINCTRL_PIN(256, "GPIO24"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 18), + MTK_FUNCTION(0, "GPIO24"), + MTK_FUNCTION(1, "ROW0"), + MTK_FUNCTION(2, "EINT18"), + MTK_FUNCTION(3, "SCL0_3X") + ), + MTK_PIN(PINCTRL_PIN(257, "GPIO25"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 19), + MTK_FUNCTION(0, "GPIO25"), + MTK_FUNCTION(1, "ROW1"), + MTK_FUNCTION(2, "EINT19"), + MTK_FUNCTION(3, "SDA0_3X") + ), + MTK_PIN(PINCTRL_PIN(258, "GPIO26"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 20), + MTK_FUNCTION(0, "GPIO26"), + MTK_FUNCTION(1, "ROW2"), + MTK_FUNCTION(2, "EINT20"), + MTK_FUNCTION(3, "SCL1_3X") + ), + MTK_PIN(PINCTRL_PIN(259, "GPIO27"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 21), + MTK_FUNCTION(0, "GPIO27"), + MTK_FUNCTION(1, "ROW3"), + MTK_FUNCTION(2, "EINT21"), + MTK_FUNCTION(3, "SDA1_3X") + ), + MTK_PIN(PINCTRL_PIN(260, "GPIO28"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 22), + MTK_FUNCTION(0, "GPIO28"), + MTK_FUNCTION(1, "ROW4"), + MTK_FUNCTION(2, "EINT22"), + MTK_FUNCTION(3, "SCL2_3X") + ), + MTK_PIN(PINCTRL_PIN(261, "GPIO29"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 23), + MTK_FUNCTION(0, "GPIO29"), + MTK_FUNCTION(1, "ROW5"), + MTK_FUNCTION(2, "EINT23"), + MTK_FUNCTION(3, "SDA2_3X") + ), + MTK_PIN(PINCTRL_PIN(262, "GPIO30"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 24), + MTK_FUNCTION(0, "GPIO30"), + MTK_FUNCTION(1, "ROW6"), + MTK_FUNCTION(2, "EINT24"), + MTK_FUNCTION(3, "PWM3_3X"), + MTK_FUNCTION(4, "GPIO32K_2"), + MTK_FUNCTION(5, "GPIO26M_2") + ), + MTK_PIN(PINCTRL_PIN(263, "GPIO31"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 3), + MTK_FUNCTION(0, "GPIO31"), + MTK_FUNCTION(1, "ROW7"), + MTK_FUNCTION(2, "EINT3"), + MTK_FUNCTION(4, "GPIO32K_3"), + MTK_FUNCTION(5, "GPIO26M_3") + ), + MTK_PIN(PINCTRL_PIN(264, "GPIO32"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 4), + MTK_FUNCTION(0, "GPIO32"), + MTK_FUNCTION(1, "PWM1"), + MTK_FUNCTION(2, "EINT4"), + MTK_FUNCTION(4, "GPIO32K_4"), + MTK_FUNCTION(5, "GPIO26M_4") + ), + MTK_PIN(PINCTRL_PIN(265, "GPIO33"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 5), + MTK_FUNCTION(0, "GPIO33"), + MTK_FUNCTION(1, "PWM2"), + MTK_FUNCTION(2, "EINT5"), + MTK_FUNCTION(4, "GPIO32K_5"), + MTK_FUNCTION(5, "GPIO26M_5") + ), + MTK_PIN(PINCTRL_PIN(266, "GPIO34"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 6), + MTK_FUNCTION(0, "GPIO34"), + MTK_FUNCTION(1, "PWM3"), + MTK_FUNCTION(2, "EINT6"), + MTK_FUNCTION(3, "COL0"), + MTK_FUNCTION(4, "GPIO32K_6"), + MTK_FUNCTION(5, "GPIO26M_6") + ), + MTK_PIN(PINCTRL_PIN(267, "GPIO35"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 7), + MTK_FUNCTION(0, "GPIO35"), + MTK_FUNCTION(1, "SCL0"), + MTK_FUNCTION(2, "EINT7"), + MTK_FUNCTION(3, "PWM1_2X") + ), + MTK_PIN(PINCTRL_PIN(268, "GPIO36"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 8), + MTK_FUNCTION(0, "GPIO36"), + MTK_FUNCTION(1, "SDA0"), + MTK_FUNCTION(2, "EINT8") + ), + MTK_PIN(PINCTRL_PIN(269, "GPIO37"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 9), + MTK_FUNCTION(0, "GPIO37"), + MTK_FUNCTION(1, "SCL1"), + MTK_FUNCTION(2, "EINT9"), + MTK_FUNCTION(3, "PWM2_2X") + ), + MTK_PIN(PINCTRL_PIN(270, "GPIO38"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 0), + MTK_FUNCTION(0, "GPIO38"), + MTK_FUNCTION(1, "SDA1"), + MTK_FUNCTION(2, "EINT0") + ), + MTK_PIN(PINCTRL_PIN(271, "GPIO39"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 1), + MTK_FUNCTION(0, "GPIO39"), + MTK_FUNCTION(1, "SCL2"), + MTK_FUNCTION(2, "EINT1"), + MTK_FUNCTION(3, "PWM3_2X") + ), + MTK_PIN(PINCTRL_PIN(272, "GPIO40"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 2), + MTK_FUNCTION(0, "GPIO40"), + MTK_FUNCTION(1, "SDA2"), + MTK_FUNCTION(2, "EINT2") + ), + MTK_PIN(PINCTRL_PIN(273, "GPIO41"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO41"), + MTK_FUNCTION(1, "SIM1_AP_SCLK") + ), + MTK_PIN(PINCTRL_PIN(274, "GPIO42"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO42"), + MTK_FUNCTION(1, "SIM1_AP_SRST") + ), + MTK_PIN(PINCTRL_PIN(275, "GPIO43"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO43"), + MTK_FUNCTION(1, "SIM2_AP_SCLK") + ), + MTK_PIN(PINCTRL_PIN(276, "GPIO44"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO44"), + MTK_FUNCTION(1, "SIM2_AP_SRST") + ), + MTK_PIN(PINCTRL_PIN(277, "GPIO45"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO45"), + MTK_FUNCTION(1, "SIMLS1_SCLK") + ), + MTK_PIN(PINCTRL_PIN(278, "GPIO46"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO46"), + MTK_FUNCTION(1, "SIMLS1_SRST") + ), + MTK_PIN(PINCTRL_PIN(279, "GPIO47"), + NULL, "mt6589", + MTK_EINT_FUNCTION(0, 10), + MTK_FUNCTION(0, "GPIO47"), + MTK_FUNCTION(1, "SIMLS2_SCLK"), + MTK_FUNCTION(5, "EINT10") + ), + MTK_PIN(PINCTRL_PIN(280, "GPIO48"), + NULL, "mt6589", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO48"), + MTK_FUNCTION(1, "SIMLS2_SRST") + ), +}; + +#endif /* __PINCTRL_MTK_MT6589_H */ From 2c562a601218a63836d8b0e2494eadf65db51bb1 Mon Sep 17 00:00:00 2001 From: -akku- Date: Fri, 7 Nov 2025 23:18:22 +0900 Subject: [PATCH 03/25] wip: pinctrl: mediatek: Rewrite MT6589 based on v2 --- drivers/pinctrl/mediatek/Kconfig | 2 +- drivers/pinctrl/mediatek/pinctrl-mt6589.c | 75 +- drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h | 1418 ++++++++++------- 3 files changed, 880 insertions(+), 615 deletions(-) diff --git a/drivers/pinctrl/mediatek/Kconfig b/drivers/pinctrl/mediatek/Kconfig index 8d9f84701793ac..b2d5637f4d1423 100644 --- a/drivers/pinctrl/mediatek/Kconfig +++ b/drivers/pinctrl/mediatek/Kconfig @@ -102,7 +102,7 @@ config PINCTRL_MT6589 depends on MACH_MT6589 || COMPILE_TEST depends on OF default MACH_MT6589 - select PINCTRL_MTK + select PINCTRL_MTK_PARIS config PINCTRL_MT7623 bool "MediaTek MT7623 pin control with generic binding" diff --git a/drivers/pinctrl/mediatek/pinctrl-mt6589.c b/drivers/pinctrl/mediatek/pinctrl-mt6589.c index d314f32b1aaac8..2345b25885fd63 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt6589.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt6589.c @@ -4,69 +4,52 @@ */ #include -#include -#include - -#include "pinctrl-mtk-common.h" #include "pinctrl-mtk-mt6589.h" +#include "pinctrl-paris.h" -static const struct mtk_pinctrl_devdata mt6589_pinctrl_data = { +/* + * GPIO_BASE: 0xF0005000 + * GPIO1_BASE: 0xF020C000 + * GPIOEXT_BASE: (0xC000) (PMIC GPIO base.) + */ + +static const struct mtk_pin_soc mt6589_pinctrl_data = { + // .reg_cal = mt6589_reg_cals, .pins = mtk_pins_mt6589, .npins = ARRAY_SIZE(mtk_pins_mt6589), - // .grp_desc = mt2701_drv_grp, - // .n_grp_cls = ARRAY_SIZE(mt2701_drv_grp), - // .pin_drv_grp = mt2701_pin_drv, - // .n_pin_drv_grps = ARRAY_SIZE(mt2701_pin_drv), - // .spec_ies = mt2701_ies_set, - // .n_spec_ies = ARRAY_SIZE(mt2701_ies_set), - // .spec_pupd = mt2701_spec_pupd, - // .n_spec_pupd = ARRAY_SIZE(mt2701_spec_pupd), - // .spec_smt = mt2701_smt_set, - // .n_spec_smt = ARRAY_SIZE(mt2701_smt_set), - // .spec_pull_set = mtk_pctrl_spec_pull_set_samereg, - // .spec_ies_smt_set = mtk_pconf_spec_set_ies_smt_range, - // .spec_pinmux_set = mt2701_spec_pinmux_set, - // .spec_dir_set = mt2701_spec_dir_set, - // .dir_offset = 0x0000, - // .pullen_offset = 0x0150, - // .pullsel_offset = 0x0280, - // .dout_offset = 0x0500, - // .din_offset = 0x0630, - // .pinmux_offset = 0x0760, - // .type1_start = 280, - // .type1_end = 280, - // .port_shf = 4, - // .port_mask = 0x1f, - // .port_align = 4, - // .mode_mask = 0xf, - // .mode_per_reg = 5, - // .mode_shf = 4, - // .eint_hw = { - // .port_mask = 6, - // .ports = 6, - // .ap_num = 169, - // .db_cnt = 16, - // .db_time = debounce_time_mt2701, - // }, + .ngrps = ARRAY_SIZE(mtk_pins_mt6589), + // .eint_hw = &mt6589_eint_hw, + // .gpio_m = 0, + // .ies_present = true, + // .base_names = mt6589_pinctrl_register_base_names, + // .nbase_names = ARRAY_SIZE(mt6589_pinctrl_register_base_names), + // .bias_set_combo = mtk_pinconf_bias_set_combo, + // .bias_get_combo = mtk_pinconf_bias_get_combo, + // .drive_set = mtk_pinconf_drive_set_raw, + // .drive_get = mtk_pinconf_drive_get_raw, + // .adv_pull_get = mtk_pinconf_adv_pull_get, + // .adv_pull_set = mtk_pinconf_adv_pull_set, }; -static const struct of_device_id mt6589_pctrl_match[] = { +static const struct of_device_id mt6589_pinctrl_match[] = { { .compatible = "mediatek,mt6589-pinctrl", .data = &mt6589_pinctrl_data }, {} }; MODULE_DEVICE_TABLE(of, mt6589_pctrl_match); -static struct platform_driver mtk_pinctrl_driver = { - .probe = mtk_pctrl_common_probe, +static struct platform_driver mt6589_pinctrl_driver = { + .probe = mtk_paris_pinctrl_probe, .driver = { .name = "mediatek-mt6589-pinctrl", - .of_match_table = mt6589_pctrl_match, - .pm = pm_sleep_ptr(&mtk_eint_pm_ops), + .of_match_table = mt6589_pinctrl_match, }, }; static int __init mtk_pinctrl_init(void) { - return platform_driver_register(&mtk_pinctrl_driver); + return platform_driver_register(&mt6589_pinctrl_driver); } arch_initcall(mtk_pinctrl_init); + +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("MediaTek MT6589 Pinctrl Driver"); diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h index 1d844940d70787..c6697e608d474b 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h @@ -6,17 +6,19 @@ #ifndef __PINCTRL_MTK_MT6589_H #define __PINCTRL_MTK_MT6589_H -#include -#include "pinctrl-mtk-common.h" +#include "pinctrl-paris.h" -/* TODO: Is eintmux (the first argument of the MTK_EINT_FUNCTION macro) always 0? - It's 0 on the MT2701, but some SoCs may use non-zero values. -*/ -static const struct mtk_desc_pin mtk_pins_mt6589[] = { +/* TODO: + * Is eintmux (the first argument of the MTK_EINT_FUNCTION macro) always 0? + * It's 0 on the MT2701, but some SoCs may use non-zero values. + * DRV_GRP4??? + */ +static const struct mtk_pin_desc mtk_pins_mt6589[] = { /* GPIO */ - MTK_PIN(PINCTRL_PIN(0, "GPIO0"), - NULL, "mt6589", + MTK_PIN( + 0, "GPIO0", MTK_EINT_FUNCTION(0, 49), + DRV_GRP4, MTK_FUNCTION(0, "GPIO0"), MTK_FUNCTION(1, "MSDC0_DAT7"), MTK_FUNCTION(2, "EINT49"), @@ -26,9 +28,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "SPI1_MO"), MTK_FUNCTION(7, "NALE") ), - MTK_PIN(PINCTRL_PIN(1, "GPIO1"), - NULL, "mt6589", + MTK_PIN( + 1, "GPIO1", MTK_EINT_FUNCTION(0, 48), + DRV_GRP4, MTK_FUNCTION(0, "GPIO1"), MTK_FUNCTION(1, "MSDC0_DAT6"), MTK_FUNCTION(2, "EINT48"), @@ -38,9 +41,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "SPI1_CSN"), MTK_FUNCTION(7, "NCLE") ), - MTK_PIN(PINCTRL_PIN(2, "GPIO2"), - NULL, "mt6589", + MTK_PIN( + 2, "GPIO2", MTK_EINT_FUNCTION(0, 47), + DRV_GRP4, MTK_FUNCTION(0, "GPIO2"), MTK_FUNCTION(1, "MSDC0_DAT5"), MTK_FUNCTION(2, "EINT47"), @@ -50,18 +54,20 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "SPI1_CLK"), MTK_FUNCTION(7, "NLD4") ), - MTK_PIN(PINCTRL_PIN(3, "GPIO3"), - NULL, "mt6589", + MTK_PIN( + 3, "GPIO3", MTK_EINT_FUNCTION(0, 46), + DRV_GRP4, MTK_FUNCTION(0, "GPIO3"), MTK_FUNCTION(1, "MSDC0_DAT4"), MTK_FUNCTION(2, "EINT46"), MTK_FUNCTION(6, "LSCE1B_2X"), MTK_FUNCTION(7, "NLD5") ), - MTK_PIN(PINCTRL_PIN(4, "GPIO4"), - NULL, "mt6589", + MTK_PIN( + 4, "GPIO4", MTK_EINT_FUNCTION(0, 50), + DRV_GRP4, MTK_FUNCTION(0, "GPIO4"), MTK_FUNCTION(1, "MSDC0_RSTB"), MTK_FUNCTION(2, "EINT50"), @@ -70,70 +76,78 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "SPI1_MI"), MTK_FUNCTION(7, "NLD10") ), - MTK_PIN(PINCTRL_PIN(5, "GPIO5"), - NULL, "mt6589", + MTK_PIN( + 5, "GPIO5", MTK_EINT_FUNCTION(0, 41), + DRV_GRP4, MTK_FUNCTION(0, "GPIO5"), MTK_FUNCTION(1, "MSDC0_CMD"), MTK_FUNCTION(2, "EINT41"), MTK_FUNCTION(6, "LRSTB_2X"), MTK_FUNCTION(7, "NRNB") ), - MTK_PIN(PINCTRL_PIN(6, "GPIO6"), - NULL, "mt6589", + MTK_PIN( + 6, "GPIO6", MTK_EINT_FUNCTION(0, 40), + DRV_GRP4, MTK_FUNCTION(0, "GPIO6"), MTK_FUNCTION(1, "MSDC0_CLK"), MTK_FUNCTION(2, "EINT40"), MTK_FUNCTION(6, "LPTE"), MTK_FUNCTION(7, "NREB") ), - MTK_PIN(PINCTRL_PIN(7, "GPIO7"), - NULL, "mt6589", + MTK_PIN( + 7, "GPIO7", MTK_EINT_FUNCTION(0, 45), + DRV_GRP4, MTK_FUNCTION(0, "GPIO7"), MTK_FUNCTION(1, "MSDC0_DAT3"), MTK_FUNCTION(2, "EINT45"), MTK_FUNCTION(6, "LSCE0B_2X"), MTK_FUNCTION(7, "NLD7") ), - MTK_PIN(PINCTRL_PIN(8, "GPIO8"), - NULL, "mt6589", + MTK_PIN( + 8, "GPIO8", MTK_EINT_FUNCTION(0, 44), + DRV_GRP4, MTK_FUNCTION(0, "GPIO8"), MTK_FUNCTION(1, "MSDC0_DAT2"), MTK_FUNCTION(2, "EINT44"), MTK_FUNCTION(6, "LSA0_2X"), MTK_FUNCTION(7, "NLD14") ), - MTK_PIN(PINCTRL_PIN(9, "GPIO9"), - NULL, "mt6589", + MTK_PIN( + 9, "GPIO9", MTK_EINT_FUNCTION(0, 43), + DRV_GRP4, MTK_FUNCTION(0, "GPIO9"), MTK_FUNCTION(1, "MSDC0_DAT1"), MTK_FUNCTION(2, "EINT43"), MTK_FUNCTION(6, "LSCK_2X"), MTK_FUNCTION(7, "NLD11") ), - MTK_PIN(PINCTRL_PIN(10, "GPIO10"), - NULL, "mt6589", + MTK_PIN( + 10, "GPIO10", MTK_EINT_FUNCTION(0, 42), + DRV_GRP4, MTK_FUNCTION(0, "GPIO10"), MTK_FUNCTION(1, "MSDC0_DAT0"), MTK_FUNCTION(2, "EINT42"), MTK_FUNCTION(6, "LSDA_2X") ), - MTK_PIN(PINCTRL_PIN(11, "GPIO11"), - NULL, "mt6589", + MTK_PIN( + 11, "GPIO11", MTK_EINT_FUNCTION(0, 139), + DRV_GRP4, MTK_FUNCTION(0, "GPIO11"), MTK_FUNCTION(1, "NCEB0"), MTK_FUNCTION(2, "EINT139"), MTK_FUNCTION(7, "TESTA_OUT4") ), - MTK_PIN(PINCTRL_PIN(12, "GPIO12"), - NULL, "mt6589", + MTK_PIN( + 12, "GPIO12", MTK_EINT_FUNCTION(0, 140), + DRV_GRP4, MTK_FUNCTION(0, "GPIO12"), MTK_FUNCTION(1, "NCEB1"), MTK_FUNCTION(2, "EINT140"), @@ -142,18 +156,20 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "USB_DRVVBUS"), MTK_FUNCTION(7, "TESTA_OUT5") ), - MTK_PIN(PINCTRL_PIN(13, "GPIO13"), - NULL, "mt6589", + MTK_PIN( + 13, "GPIO13", MTK_EINT_FUNCTION(0, 141), + DRV_GRP4, MTK_FUNCTION(0, "GPIO13"), MTK_FUNCTION(1, "NRNB"), MTK_FUNCTION(2, "EINT141"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[0]"), MTK_FUNCTION(7, "TESTA_OUT6") ), - MTK_PIN(PINCTRL_PIN(14, "GPIO14"), - NULL, "mt6589", + MTK_PIN( + 14, "GPIO14", MTK_EINT_FUNCTION(0, 142), + DRV_GRP4, MTK_FUNCTION(0, "GPIO14"), MTK_FUNCTION(1, "NCLE"), MTK_FUNCTION(2, "EINT142"), @@ -162,9 +178,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "NALE"), MTK_FUNCTION(7, "TESTA_OUT7") ), - MTK_PIN(PINCTRL_PIN(15, "GPIO15"), - NULL, "mt6589", + MTK_PIN( + 15, "GPIO15", MTK_EINT_FUNCTION(0, 143), + DRV_GRP4, MTK_FUNCTION(0, "GPIO15"), MTK_FUNCTION(1, "NALE"), MTK_FUNCTION(2, "EINT143"), @@ -174,9 +191,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "NCLE"), MTK_FUNCTION(7, "TESTA_OUT8") ), - MTK_PIN(PINCTRL_PIN(16, "GPIO16"), - NULL, "mt6589", + MTK_PIN( + 16, "GPIO16", MTK_EINT_FUNCTION(0, 144), + DRV_GRP4, MTK_FUNCTION(0, "GPIO16"), MTK_FUNCTION(1, "NREB"), MTK_FUNCTION(2, "EINT144"), @@ -186,9 +204,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[1]"), MTK_FUNCTION(7, "TESTA_OUT9") ), - MTK_PIN(PINCTRL_PIN(17, "GPIO17"), - NULL, "mt6589", + MTK_PIN( + 17, "GPIO17", MTK_EINT_FUNCTION(0, 145), + DRV_GRP4, MTK_FUNCTION(0, "GPIO17"), MTK_FUNCTION(1, "NWEB"), MTK_FUNCTION(2, "EINT145"), @@ -198,9 +217,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[2]"), MTK_FUNCTION(7, "TESTA_OUT10") ), - MTK_PIN(PINCTRL_PIN(18, "GPIO18"), - NULL, "mt6589", + MTK_PIN( + 18, "GPIO18", MTK_EINT_FUNCTION(0, 146), + DRV_GRP4, MTK_FUNCTION(0, "GPIO18"), MTK_FUNCTION(1, "NLD0"), MTK_FUNCTION(2, "EINT146"), @@ -210,9 +230,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "DAC_CK"), MTK_FUNCTION(7, "TESTA_OUT11") ), - MTK_PIN(PINCTRL_PIN(19, "GPIO19"), - NULL, "mt6589", + MTK_PIN( + 19, "GPIO19", MTK_EINT_FUNCTION(0, 147), + DRV_GRP4, MTK_FUNCTION(0, "GPIO19"), MTK_FUNCTION(1, "NLD1"), MTK_FUNCTION(2, "EINT147"), @@ -222,9 +243,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "DAC_WS"), MTK_FUNCTION(7, "TESTA_OUT12") ), - MTK_PIN(PINCTRL_PIN(20, "GPIO20"), - NULL, "mt6589", + MTK_PIN( + 20, "GPIO20", MTK_EINT_FUNCTION(0, 148), + DRV_GRP4, MTK_FUNCTION(0, "GPIO20"), MTK_FUNCTION(1, "NLD2"), MTK_FUNCTION(2, "EINT148"), @@ -234,9 +256,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "DAC_DAT_OUT"), MTK_FUNCTION(7, "TESTA_OUT13") ), - MTK_PIN(PINCTRL_PIN(21, "GPIO21"), - NULL, "mt6589", + MTK_PIN( + 21, "GPIO21", MTK_EINT_FUNCTION(0, 149), + DRV_GRP4, MTK_FUNCTION(0, "GPIO21"), MTK_FUNCTION(1, "NLD3"), MTK_FUNCTION(2, "EINT149"), @@ -245,9 +268,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[3]"), MTK_FUNCTION(7, "TESTA_OUT14") ), - MTK_PIN(PINCTRL_PIN(22, "GPIO22"), - NULL, "mt6589", + MTK_PIN( + 22, "GPIO22", MTK_EINT_FUNCTION(0, 150), + DRV_GRP4, MTK_FUNCTION(0, "GPIO22"), MTK_FUNCTION(1, "NLD4"), MTK_FUNCTION(2, "EINT150"), @@ -257,9 +281,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD2_DAI_RX_GPIO"), MTK_FUNCTION(7, "TESTA_OUT15") ), - MTK_PIN(PINCTRL_PIN(23, "GPIO23"), - NULL, "mt6589", + MTK_PIN( + 23, "GPIO23", MTK_EINT_FUNCTION(0, 151), + DRV_GRP4, MTK_FUNCTION(0, "GPIO23"), MTK_FUNCTION(1, "NLD5"), MTK_FUNCTION(2, "EINT151"), @@ -268,9 +293,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[4]"), MTK_FUNCTION(7, "TESTA_OUT16") ), - MTK_PIN(PINCTRL_PIN(24, "GPIO24"), - NULL, "mt6589", + MTK_PIN( + 24, "GPIO24", MTK_EINT_FUNCTION(0, 152), + DRV_GRP4, MTK_FUNCTION(0, "GPIO24"), MTK_FUNCTION(1, "NLD6"), MTK_FUNCTION(2, "EINT152"), @@ -279,9 +305,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[5]"), MTK_FUNCTION(7, "TESTA_OUT17") ), - MTK_PIN(PINCTRL_PIN(25, "GPIO25"), - NULL, "mt6589", + MTK_PIN( + 25, "GPIO25", MTK_EINT_FUNCTION(0, 153), + DRV_GRP4, MTK_FUNCTION(0, "GPIO25"), MTK_FUNCTION(1, "NLD7"), MTK_FUNCTION(2, "EINT153"), @@ -290,9 +317,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[6]"), MTK_FUNCTION(7, "TESTA_OUT18") ), - MTK_PIN(PINCTRL_PIN(26, "GPIO26"), - NULL, "mt6589", + MTK_PIN( + 26, "GPIO26", MTK_EINT_FUNCTION(0, 154), + DRV_GRP4, MTK_FUNCTION(0, "GPIO26"), MTK_FUNCTION(1, "NLD8"), MTK_FUNCTION(2, "EINT154"), @@ -301,9 +329,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[7]"), MTK_FUNCTION(7, "TESTA_OUT19") ), - MTK_PIN(PINCTRL_PIN(27, "GPIO27"), - NULL, "mt6589", + MTK_PIN( + 27, "GPIO27", MTK_EINT_FUNCTION(0, 155), + DRV_GRP4, MTK_FUNCTION(0, "GPIO27"), MTK_FUNCTION(1, "NLD9"), MTK_FUNCTION(2, "EINT155"), @@ -313,9 +342,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[8]"), MTK_FUNCTION(7, "TESTA_OUT20") ), - MTK_PIN(PINCTRL_PIN(28, "GPIO28"), - NULL, "mt6589", + MTK_PIN( + 28, "GPIO28", MTK_EINT_FUNCTION(0, 156), + DRV_GRP4, MTK_FUNCTION(0, "GPIO28"), MTK_FUNCTION(1, "NLD10"), MTK_FUNCTION(2, "EINT156"), @@ -325,9 +355,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[9]"), MTK_FUNCTION(7, "TESTA_OUT21") ), - MTK_PIN(PINCTRL_PIN(29, "GPIO29"), - NULL, "mt6589", + MTK_PIN( + 29, "GPIO29", MTK_EINT_FUNCTION(0, 157), + DRV_GRP4, MTK_FUNCTION(0, "GPIO29"), MTK_FUNCTION(1, "NLD11"), MTK_FUNCTION(2, "EINT157"), @@ -337,9 +368,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[10]"), MTK_FUNCTION(7, "TESTA_OUT22") ), - MTK_PIN(PINCTRL_PIN(30, "GPIO30"), - NULL, "mt6589", + MTK_PIN( + 30, "GPIO30", MTK_EINT_FUNCTION(0, 158), + DRV_GRP4, MTK_FUNCTION(0, "GPIO30"), MTK_FUNCTION(1, "NLD12"), MTK_FUNCTION(2, "EINT158"), @@ -349,9 +381,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[11]"), MTK_FUNCTION(7, "TESTA_OUT23") ), - MTK_PIN(PINCTRL_PIN(31, "GPIO31"), - NULL, "mt6589", + MTK_PIN( + 31, "GPIO31", MTK_EINT_FUNCTION(0, 159), + DRV_GRP4, MTK_FUNCTION(0, "GPIO31"), MTK_FUNCTION(1, "NLD13"), MTK_FUNCTION(2, "EINT159"), @@ -361,9 +394,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[12]"), MTK_FUNCTION(7, "TESTA_OUT24") ), - MTK_PIN(PINCTRL_PIN(32, "GPIO32"), - NULL, "mt6589", + MTK_PIN( + 32, "GPIO32", MTK_EINT_FUNCTION(0, 160), + DRV_GRP4, MTK_FUNCTION(0, "GPIO32"), MTK_FUNCTION(1, "NLD14"), MTK_FUNCTION(2, "EINT160"), @@ -373,9 +407,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[13]"), MTK_FUNCTION(7, "TESTA_OUT25") ), - MTK_PIN(PINCTRL_PIN(33, "GPIO33"), - NULL, "mt6589", + MTK_PIN( + 33, "GPIO33", MTK_EINT_FUNCTION(0, 161), + DRV_GRP4, MTK_FUNCTION(0, "GPIO33"), MTK_FUNCTION(1, "NLD15"), MTK_FUNCTION(2, "EINT161"), @@ -385,9 +420,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[14]"), MTK_FUNCTION(7, "TESTA_OUT26") ), - MTK_PIN(PINCTRL_PIN(34, "GPIO34"), - NULL, "mt6589", + MTK_PIN( + 34, "GPIO34", MTK_EINT_FUNCTION(0, 0), + DRV_GRP4, MTK_FUNCTION(0, "GPIO34"), MTK_FUNCTION(1, "EINT0"), MTK_FUNCTION(2, "PWM1"), @@ -396,9 +432,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD1_EINT1"), MTK_FUNCTION(7, "USB_SCL") ), - MTK_PIN(PINCTRL_PIN(35, "GPIO35"), - NULL, "mt6589", + MTK_PIN( + 35, "GPIO35", MTK_EINT_FUNCTION(0, 1), + DRV_GRP4, MTK_FUNCTION(0, "GPIO35"), MTK_FUNCTION(1, "EINT1"), MTK_FUNCTION(2, "PWM2"), @@ -407,9 +444,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD1_EINT2"), MTK_FUNCTION(7, "USB_SDA") ), - MTK_PIN(PINCTRL_PIN(36, "GPIO36"), - NULL, "mt6589", + MTK_PIN( + 36, "GPIO36", MTK_EINT_FUNCTION(0, 2), + DRV_GRP4, MTK_FUNCTION(0, "GPIO36"), MTK_FUNCTION(1, "EINT2"), MTK_FUNCTION(2, "PWM3"), @@ -417,17 +455,19 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(4, "SRCLKENAI2"), MTK_FUNCTION(6, "MD1_EINT3") ), - MTK_PIN(PINCTRL_PIN(37, "GPIO37"), - NULL, "mt6589", + MTK_PIN( + 37, "GPIO37", MTK_EINT_FUNCTION(0, 3), + DRV_GRP4, MTK_FUNCTION(0, "GPIO37"), MTK_FUNCTION(1, "EINT3"), MTK_FUNCTION(6, "MD1_EINT5"), MTK_FUNCTION(7, "EXT_26M_CK") ), - MTK_PIN(PINCTRL_PIN(38, "GPIO38"), - NULL, "mt6589", + MTK_PIN( + 38, "GPIO38", MTK_EINT_FUNCTION(0, 4), + DRV_GRP4, MTK_FUNCTION(0, "GPIO38"), MTK_FUNCTION(1, "EINT4"), MTK_FUNCTION(2, "PWM4"), @@ -436,44 +476,50 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_DRVVBUS"), MTK_FUNCTION(6, "MD1_EINT4") ), - MTK_PIN(PINCTRL_PIN(39, "GPIO39"), - NULL, "mt6589", + MTK_PIN( + 39, "GPIO39", MTK_EINT_FUNCTION(0, 29), + DRV_GRP4, MTK_FUNCTION(0, "GPIO39"), MTK_FUNCTION(1, "PWRAP_SPIDI"), MTK_FUNCTION(2, "EINT29") ), - MTK_PIN(PINCTRL_PIN(40, "GPIO40"), - NULL, "mt6589", + MTK_PIN( + 40, "GPIO40", MTK_EINT_FUNCTION(0, 28), + DRV_GRP4, MTK_FUNCTION(0, "GPIO40"), MTK_FUNCTION(1, "PWRAP_SPIDO"), MTK_FUNCTION(2, "EINT28") ), - MTK_PIN(PINCTRL_PIN(41, "GPIO41"), - NULL, "mt6589", + MTK_PIN( + 41, "GPIO41", MTK_EINT_FUNCTION(0, 27), + DRV_GRP4, MTK_FUNCTION(0, "GPIO41"), MTK_FUNCTION(1, "PWRAP_SPICS_B_I"), MTK_FUNCTION(2, "EINT27") ), - MTK_PIN(PINCTRL_PIN(42, "GPIO42"), - NULL, "mt6589", + MTK_PIN( + 42, "GPIO42", MTK_EINT_FUNCTION(0, 26), + DRV_GRP4, MTK_FUNCTION(0, "GPIO42"), MTK_FUNCTION(1, "PWRAP_SPICK_I"), MTK_FUNCTION(2, "EINT26") ), - MTK_PIN(PINCTRL_PIN(43, "GPIO43"), - NULL, "mt6589", + MTK_PIN( + 43, "GPIO43", MTK_EINT_FUNCTION(0, 25), + DRV_GRP4, MTK_FUNCTION(0, "GPIO43"), MTK_FUNCTION(1, "PWRAP_EVENT_IN"), MTK_FUNCTION(2, "EINT25") ), - MTK_PIN(PINCTRL_PIN(44, "GPIO44"), - NULL, "mt6589", + MTK_PIN( + 44, "GPIO44", MTK_EINT_FUNCTION(0, 30), + DRV_GRP4, MTK_FUNCTION(0, "GPIO44"), MTK_FUNCTION(1, "MD1_SIM1_SCLK"), MTK_FUNCTION(2, "EINT30"), @@ -482,9 +528,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "MD2_SIM2_SCLK"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[15]") ), - MTK_PIN(PINCTRL_PIN(45, "GPIO45"), - NULL, "mt6589", + MTK_PIN( + 45, "GPIO45", MTK_EINT_FUNCTION(0, 31), + DRV_GRP4, MTK_FUNCTION(0, "GPIO45"), MTK_FUNCTION(1, "MD1_SIM1_SRST"), MTK_FUNCTION(2, "EINT31"), @@ -493,9 +540,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "MD2_SIM2_SRST"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[16]") ), - MTK_PIN(PINCTRL_PIN(46, "GPIO46"), - NULL, "mt6589", + MTK_PIN( + 46, "GPIO46", MTK_EINT_FUNCTION(0, 32), + DRV_GRP4, MTK_FUNCTION(0, "GPIO46"), MTK_FUNCTION(1, "MD1_SIM1_SDAT"), MTK_FUNCTION(2, "EINT32"), @@ -504,9 +552,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "MD2_SIM2_SDAT"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[17]") ), - MTK_PIN(PINCTRL_PIN(47, "GPIO47"), - NULL, "mt6589", + MTK_PIN( + 47, "GPIO47", MTK_EINT_FUNCTION(0, 33), + DRV_GRP4, MTK_FUNCTION(0, "GPIO47"), MTK_FUNCTION(1, "MD1_SIM2_SCLK"), MTK_FUNCTION(2, "EINT33"), @@ -515,9 +564,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "MD2_SIM1_SCLK"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[18]") ), - MTK_PIN(PINCTRL_PIN(48, "GPIO48"), - NULL, "mt6589", + MTK_PIN( + 48, "GPIO48", MTK_EINT_FUNCTION(0, 34), + DRV_GRP4, MTK_FUNCTION(0, "GPIO48"), MTK_FUNCTION(1, "MD1_SIM2_SRST"), MTK_FUNCTION(2, "EINT34"), @@ -526,9 +576,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "MD2_SIM1_SRST"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[19]") ), - MTK_PIN(PINCTRL_PIN(49, "GPIO49"), - NULL, "mt6589", + MTK_PIN( + 49, "GPIO49", MTK_EINT_FUNCTION(0, 35), + DRV_GRP4, MTK_FUNCTION(0, "GPIO49"), MTK_FUNCTION(1, "MD1_SIM2_SDAT"), MTK_FUNCTION(2, "EINT35"), @@ -537,147 +588,166 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "MD2_SIM1_SDAT"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[20]") ), - MTK_PIN(PINCTRL_PIN(50, "GPIO50"), - NULL, "mt6589", + MTK_PIN( + 50, "GPIO50", MTK_EINT_FUNCTION(0, 19), + DRV_GRP4, MTK_FUNCTION(0, "GPIO50"), MTK_FUNCTION(1, "ADC_CK"), MTK_FUNCTION(2, "EINT19") ), - MTK_PIN(PINCTRL_PIN(51, "GPIO51"), - NULL, "mt6589", + MTK_PIN( + 51, "GPIO51", MTK_EINT_FUNCTION(0, 21), + DRV_GRP4, MTK_FUNCTION(0, "GPIO51"), MTK_FUNCTION(1, "ADC_WS"), MTK_FUNCTION(2, "EINT21") ), - MTK_PIN(PINCTRL_PIN(52, "GPIO52"), - NULL, "mt6589", + MTK_PIN( + 52, "GPIO52", MTK_EINT_FUNCTION(0, 20), + DRV_GRP4, MTK_FUNCTION(0, "GPIO52"), MTK_FUNCTION(1, "ADC_DAT_IN"), MTK_FUNCTION(2, "EINT20") ), - MTK_PIN(PINCTRL_PIN(53, "GPIO53"), - NULL, "mt6589", + MTK_PIN( + 53, "GPIO53", MTK_EINT_FUNCTION(0, 22), + DRV_GRP4, MTK_FUNCTION(0, "GPIO53"), MTK_FUNCTION(1, "DAC_CK"), MTK_FUNCTION(2, "EINT22") ), - MTK_PIN(PINCTRL_PIN(54, "GPIO54"), - NULL, "mt6589", + MTK_PIN( + 54, "GPIO54", MTK_EINT_FUNCTION(0, 24), + DRV_GRP4, MTK_FUNCTION(0, "GPIO54"), MTK_FUNCTION(1, "DAC_WS"), MTK_FUNCTION(2, "EINT24") ), - MTK_PIN(PINCTRL_PIN(55, "GPIO55"), - NULL, "mt6589", + MTK_PIN( + 55, "GPIO55", MTK_EINT_FUNCTION(0, 23), + DRV_GRP4, MTK_FUNCTION(0, "GPIO55"), MTK_FUNCTION(1, "DAC_DAT_OUT"), MTK_FUNCTION(2, "EINT23") ), - MTK_PIN(PINCTRL_PIN(56, "GPIO56"), - NULL, "mt6589", + MTK_PIN( + 56, "GPIO56", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO56"), MTK_FUNCTION(1, "RTC32K_CK") ), - MTK_PIN(PINCTRL_PIN(57, "GPIO57"), - NULL, "mt6589", + MTK_PIN( + 57, "GPIO57", MTK_EINT_FUNCTION(0, 34), + DRV_GRP4, MTK_FUNCTION(0, "GPIO57"), MTK_FUNCTION(1, "IDDIG"), MTK_FUNCTION(2, "EINT34") ), - MTK_PIN(PINCTRL_PIN(58, "GPIO58"), - NULL, "mt6589", + MTK_PIN( + 58, "GPIO58", MTK_EINT_FUNCTION(0, 36), + DRV_GRP4, MTK_FUNCTION(0, "GPIO58"), MTK_FUNCTION(1, "WATCHDOG"), MTK_FUNCTION(2, "EINT36") ), - MTK_PIN(PINCTRL_PIN(59, "GPIO59"), - NULL, "mt6589", + MTK_PIN( + 59, "GPIO59", MTK_EINT_FUNCTION(0, 38), + DRV_GRP4, MTK_FUNCTION(0, "GPIO59"), MTK_FUNCTION(1, "SRCLKENA"), MTK_FUNCTION(2, "EINT38") ), - MTK_PIN(PINCTRL_PIN(60, "GPIO60"), - NULL, "mt6589", + MTK_PIN( + 60, "GPIO60", MTK_EINT_FUNCTION(0, 37), + DRV_GRP4, MTK_FUNCTION(0, "GPIO60"), MTK_FUNCTION(1, "SRCVOLTEN"), MTK_FUNCTION(2, "EINT37") ), - MTK_PIN(PINCTRL_PIN(61, "GPIO61"), - NULL, "mt6589", + MTK_PIN( + 61, "GPIO61", MTK_EINT_FUNCTION(0, 188), + DRV_GRP4, MTK_FUNCTION(0, "GPIO61"), MTK_FUNCTION(1, "JTCK"), MTK_FUNCTION(2, "EINT188"), MTK_FUNCTION(3, "DSP1_ICK"), MTK_FUNCTION(7, "MD2_TCK_PAD") ), - MTK_PIN(PINCTRL_PIN(62, "GPIO62"), - NULL, "mt6589", + MTK_PIN( + 62, "GPIO62", MTK_EINT_FUNCTION(0, 190), + DRV_GRP4, MTK_FUNCTION(0, "GPIO62"), MTK_FUNCTION(1, "JTDO"), MTK_FUNCTION(2, "EINT190"), MTK_FUNCTION(3, "DSP2_IMS"), MTK_FUNCTION(7, "MD2_TDO_PAD") ), - MTK_PIN(PINCTRL_PIN(63, "GPIO63"), - NULL, "mt6589", + MTK_PIN( + 63, "GPIO63", MTK_EINT_FUNCTION(0, 0), + DRV_GRP4, MTK_FUNCTION(0, "GPIO63"), MTK_FUNCTION(1, "JTRST_B"), MTK_FUNCTION(2, "EINT0"), MTK_FUNCTION(3, "DSP2_ICK"), MTK_FUNCTION(7, "MD2_NTRST_PAD") ), - MTK_PIN(PINCTRL_PIN(64, "GPIO64"), - NULL, "mt6589", + MTK_PIN( + 64, "GPIO64", MTK_EINT_FUNCTION(0, 189), + DRV_GRP4, MTK_FUNCTION(0, "GPIO64"), MTK_FUNCTION(1, "JTDI"), MTK_FUNCTION(2, "EINT189"), MTK_FUNCTION(3, "DSP1_IMS"), MTK_FUNCTION(7, "MD2_TDI_PAD") ), - MTK_PIN(PINCTRL_PIN(65, "GPIO65"), - NULL, "mt6589", + MTK_PIN( + 65, "GPIO65", MTK_EINT_FUNCTION(0, 187), + DRV_GRP4, MTK_FUNCTION(0, "GPIO65"), MTK_FUNCTION(1, "JRTCK"), MTK_FUNCTION(2, "EINT187"), MTK_FUNCTION(3, "DSP1_ID"), MTK_FUNCTION(7, "MD2_RTCK_PAD") ), - MTK_PIN(PINCTRL_PIN(66, "GPIO66"), - NULL, "mt6589", + MTK_PIN( + 66, "GPIO66", MTK_EINT_FUNCTION(0, 191), + DRV_GRP4, MTK_FUNCTION(0, "GPIO66"), MTK_FUNCTION(1, "JTMS"), MTK_FUNCTION(2, "EINT191"), MTK_FUNCTION(3, "DSP2_ID"), MTK_FUNCTION(7, "MD2_TMS_PAD") ), - MTK_PIN(PINCTRL_PIN(67, "GPIO67"), - NULL, "mt6589", + MTK_PIN( + 67, "GPIO67", MTK_EINT_FUNCTION(0, 97), + DRV_GRP4, MTK_FUNCTION(0, "GPIO67"), MTK_FUNCTION(1, "SDA3"), MTK_FUNCTION(2, "EINT97"), MTK_FUNCTION(7, "A_FUNC_DIN[13]") ), - MTK_PIN(PINCTRL_PIN(68, "GPIO68"), - NULL, "mt6589", + MTK_PIN( + 68, "GPIO68", MTK_EINT_FUNCTION(0, 96), + DRV_GRP4, MTK_FUNCTION(0, "GPIO68"), MTK_FUNCTION(1, "SCL3"), MTK_FUNCTION(2, "EINT96"), @@ -685,9 +755,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(4, "PWM6"), MTK_FUNCTION(7, "A_FUNC_DIN[14]") ), - MTK_PIN(PINCTRL_PIN(69, "GPIO69"), - NULL, "mt6589", + MTK_PIN( + 69, "GPIO69", MTK_EINT_FUNCTION(0, 83), + DRV_GRP4, MTK_FUNCTION(0, "GPIO69"), MTK_FUNCTION(1, "URXD2"), MTK_FUNCTION(2, "EINT83"), @@ -697,9 +768,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "UTXD2"), MTK_FUNCTION(7, "MD1_EINT4") ), - MTK_PIN(PINCTRL_PIN(70, "GPIO70"), - NULL, "mt6589", + MTK_PIN( + 70, "GPIO70", MTK_EINT_FUNCTION(0, 82), + DRV_GRP4, MTK_FUNCTION(0, "GPIO70"), MTK_FUNCTION(1, "UTXD2"), MTK_FUNCTION(2, "EINT82"), @@ -709,9 +781,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "URXD2"), MTK_FUNCTION(7, "MD1_EINT3") ), - MTK_PIN(PINCTRL_PIN(71, "GPIO71"), - NULL, "mt6589", + MTK_PIN( + 71, "GPIO71", MTK_EINT_FUNCTION(0, 84), + DRV_GRP4, MTK_FUNCTION(0, "GPIO71"), MTK_FUNCTION(1, "UCTS2"), MTK_FUNCTION(2, "EINT84"), @@ -721,9 +794,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "URTS2"), MTK_FUNCTION(7, "MD2_EINT1") ), - MTK_PIN(PINCTRL_PIN(72, "GPIO72"), - NULL, "mt6589", + MTK_PIN( + 72, "GPIO72", MTK_EINT_FUNCTION(0, 85), + DRV_GRP4, MTK_FUNCTION(0, "GPIO72"), MTK_FUNCTION(1, "URTS2"), MTK_FUNCTION(2, "EINT85"), @@ -733,9 +807,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "UCTS2"), MTK_FUNCTION(7, "MD2_EINT2") ), - MTK_PIN(PINCTRL_PIN(73, "GPIO73"), - NULL, "mt6589", + MTK_PIN( + 73, "GPIO73", MTK_EINT_FUNCTION(0, 73), + DRV_GRP4, MTK_FUNCTION(0, "GPIO73"), MTK_FUNCTION(1, "PWM1"), MTK_FUNCTION(2, "EINT73"), @@ -745,9 +820,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "DISP_PWM"), MTK_FUNCTION(7, "MD2_TCK_PAD") ), - MTK_PIN(PINCTRL_PIN(74, "GPIO74"), - NULL, "mt6589", + MTK_PIN( + 74, "GPIO74", MTK_EINT_FUNCTION(0, 74), + DRV_GRP4, MTK_FUNCTION(0, "GPIO74"), MTK_FUNCTION(1, "PWM2"), MTK_FUNCTION(2, "EINT74"), @@ -757,9 +833,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "DISP_PWM"), MTK_FUNCTION(7, "MD2_RTCK_PAD") ), - MTK_PIN(PINCTRL_PIN(75, "GPIO75"), - NULL, "mt6589", + MTK_PIN( + 75, "GPIO75", MTK_EINT_FUNCTION(0, 75), + DRV_GRP4, MTK_FUNCTION(0, "GPIO75"), MTK_FUNCTION(1, "PWM3"), MTK_FUNCTION(2, "EINT75"), @@ -769,9 +846,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "DISP_PWM"), MTK_FUNCTION(7, "MD2_NTRST_PAD") ), - MTK_PIN(PINCTRL_PIN(76, "GPIO76"), - NULL, "mt6589", + MTK_PIN( + 76, "GPIO76", MTK_EINT_FUNCTION(0, 76), + DRV_GRP4, MTK_FUNCTION(0, "GPIO76"), MTK_FUNCTION(1, "PWM4"), MTK_FUNCTION(2, "EINT76"), @@ -780,9 +858,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "DISP_PWM"), MTK_FUNCTION(7, "MD2_TMS_PAD") ), - MTK_PIN(PINCTRL_PIN(77, "GPIO77"), - NULL, "mt6589", + MTK_PIN( + 77, "GPIO77", MTK_EINT_FUNCTION(0, 79), + DRV_GRP4, MTK_FUNCTION(0, "GPIO77"), MTK_FUNCTION(1, "URXD1"), MTK_FUNCTION(2, "EINT79"), @@ -792,9 +871,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "UTXD1"), MTK_FUNCTION(7, "MD2_TDO_PAD") ), - MTK_PIN(PINCTRL_PIN(78, "GPIO78"), - NULL, "mt6589", + MTK_PIN( + 78, "GPIO78", MTK_EINT_FUNCTION(0, 78), + DRV_GRP4, MTK_FUNCTION(0, "GPIO78"), MTK_FUNCTION(1, "UTXD1"), MTK_FUNCTION(2, "EINT78"), @@ -804,9 +884,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "URXD1"), MTK_FUNCTION(7, "MD2_TDI_PAD") ), - MTK_PIN(PINCTRL_PIN(79, "GPIO79"), - NULL, "mt6589", + MTK_PIN( + 79, "GPIO79", MTK_EINT_FUNCTION(0, 80), + DRV_GRP4, MTK_FUNCTION(0, "GPIO79"), MTK_FUNCTION(1, "UCTS1"), MTK_FUNCTION(2, "EINT80"), @@ -816,9 +897,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "URTS1"), MTK_FUNCTION(7, "MD1_EINT1") ), - MTK_PIN(PINCTRL_PIN(80, "GPIO80"), - NULL, "mt6589", + MTK_PIN( + 80, "GPIO80", MTK_EINT_FUNCTION(0, 81), + DRV_GRP4, MTK_FUNCTION(0, "GPIO80"), MTK_FUNCTION(1, "URTS1"), MTK_FUNCTION(2, "EINT81"), @@ -828,9 +910,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "UCTS1"), MTK_FUNCTION(7, "MD1_EINT2") ), - MTK_PIN(PINCTRL_PIN(81, "GPIO81"), - NULL, "mt6589", + MTK_PIN( + 81, "GPIO81", MTK_EINT_FUNCTION(0, 89), + DRV_GRP4, MTK_FUNCTION(0, "GPIO81"), MTK_FUNCTION(1, "URXD4"), MTK_FUNCTION(2, "EINT89"), @@ -840,9 +923,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "UTXD4"), MTK_FUNCTION(7, "MD2_EINT5") ), - MTK_PIN(PINCTRL_PIN(82, "GPIO82"), - NULL, "mt6589", + MTK_PIN( + 82, "GPIO82", MTK_EINT_FUNCTION(0, 88), + DRV_GRP4, MTK_FUNCTION(0, "GPIO82"), MTK_FUNCTION(1, "UTXD4"), MTK_FUNCTION(2, "EINT88"), @@ -852,9 +936,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "URXD4"), MTK_FUNCTION(7, "MD1_EINT5") ), - MTK_PIN(PINCTRL_PIN(83, "GPIO83"), - NULL, "mt6589", + MTK_PIN( + 83, "GPIO83", MTK_EINT_FUNCTION(0, 1), + DRV_GRP4, MTK_FUNCTION(0, "GPIO83"), MTK_FUNCTION(1, "DUAL_BPI1_BUS0"), MTK_FUNCTION(2, "EINT1"), @@ -862,9 +947,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[0]"), MTK_FUNCTION(7, "A_FUNC_DIN[31]") ), - MTK_PIN(PINCTRL_PIN(84, "GPIO84"), - NULL, "mt6589", + MTK_PIN( + 84, "GPIO84", MTK_EINT_FUNCTION(0, 2), + DRV_GRP4, MTK_FUNCTION(0, "GPIO84"), MTK_FUNCTION(1, "DUAL_BPI1_BUS1"), MTK_FUNCTION(2, "EINT2"), @@ -872,9 +958,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[1]"), MTK_FUNCTION(7, "A_FUNC_DIN[30]") ), - MTK_PIN(PINCTRL_PIN(85, "GPIO85"), - NULL, "mt6589", + MTK_PIN( + 85, "GPIO85", MTK_EINT_FUNCTION(0, 3), + DRV_GRP4, MTK_FUNCTION(0, "GPIO85"), MTK_FUNCTION(1, "DUAL_BPI1_BUS2"), MTK_FUNCTION(2, "EINT3"), @@ -882,9 +969,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[2]"), MTK_FUNCTION(7, "A_FUNC_DIN[29]") ), - MTK_PIN(PINCTRL_PIN(86, "GPIO86"), - NULL, "mt6589", + MTK_PIN( + 86, "GPIO86", MTK_EINT_FUNCTION(0, 4), + DRV_GRP4, MTK_FUNCTION(0, "GPIO86"), MTK_FUNCTION(1, "DUAL_BPI1_BUS3"), MTK_FUNCTION(2, "EINT4"), @@ -892,9 +980,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[3]"), MTK_FUNCTION(7, "A_FUNC_DIN[28]") ), - MTK_PIN(PINCTRL_PIN(87, "GPIO87"), - NULL, "mt6589", + MTK_PIN( + 87, "GPIO87", MTK_EINT_FUNCTION(0, 5), + DRV_GRP4, MTK_FUNCTION(0, "GPIO87"), MTK_FUNCTION(1, "DUAL_BPI1_BUS4"), MTK_FUNCTION(2, "EINT5"), @@ -902,9 +991,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[4]"), MTK_FUNCTION(7, "A_FUNC_DIN[27]") ), - MTK_PIN(PINCTRL_PIN(88, "GPIO88"), - NULL, "mt6589", + MTK_PIN( + 88, "GPIO88", MTK_EINT_FUNCTION(0, 6), + DRV_GRP4, MTK_FUNCTION(0, "GPIO88"), MTK_FUNCTION(1, "DUAL_BPI1_BUS5"), MTK_FUNCTION(2, "EINT6"), @@ -912,9 +1002,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[5]"), MTK_FUNCTION(7, "A_FUNC_DIN[26]") ), - MTK_PIN(PINCTRL_PIN(89, "GPIO89"), - NULL, "mt6589", + MTK_PIN( + 89, "GPIO89", MTK_EINT_FUNCTION(0, 7), + DRV_GRP4, MTK_FUNCTION(0, "GPIO89"), MTK_FUNCTION(1, "DUAL_BPI1_BUS6"), MTK_FUNCTION(2, "EINT7"), @@ -922,9 +1013,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[6]"), MTK_FUNCTION(7, "A_FUNC_DIN[25]") ), - MTK_PIN(PINCTRL_PIN(90, "GPIO90"), - NULL, "mt6589", + MTK_PIN( + 90, "GPIO90", MTK_EINT_FUNCTION(0, 8), + DRV_GRP4, MTK_FUNCTION(0, "GPIO90"), MTK_FUNCTION(1, "DUAL_BPI1_BUS7"), MTK_FUNCTION(2, "EINT8"), @@ -934,9 +1026,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "USB_DRVVBUS"), MTK_FUNCTION(7, "A_FUNC_DIN[24]") ), - MTK_PIN(PINCTRL_PIN(91, "GPIO91"), - NULL, "mt6589", + MTK_PIN( + 91, "GPIO91", MTK_EINT_FUNCTION(0, 9), + DRV_GRP4, MTK_FUNCTION(0, "GPIO91"), MTK_FUNCTION(1, "DUAL_BPI1_BUS8"), MTK_FUNCTION(2, "EINT9"), @@ -944,9 +1037,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[8]"), MTK_FUNCTION(7, "A_FUNC_DIN[23]") ), - MTK_PIN(PINCTRL_PIN(92, "GPIO92"), - NULL, "mt6589", + MTK_PIN( + 92, "GPIO92", MTK_EINT_FUNCTION(0, 10), + DRV_GRP4, MTK_FUNCTION(0, "GPIO92"), MTK_FUNCTION(1, "DUAL_BPI1_BUS9"), MTK_FUNCTION(2, "EINT10"), @@ -954,54 +1048,60 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[9]"), MTK_FUNCTION(7, "A_FUNC_DIN[22]") ), - MTK_PIN(PINCTRL_PIN(93, "GPIO93"), - NULL, "mt6589", + MTK_PIN( + 93, "GPIO93", MTK_EINT_FUNCTION(0, 11), + DRV_GRP4, MTK_FUNCTION(0, "GPIO93"), MTK_FUNCTION(1, "DUAL_BPI1_BUS10"), MTK_FUNCTION(2, "EINT11"), MTK_FUNCTION(5, "USB_TEST_IO[10]"), MTK_FUNCTION(7, "A_FUNC_DIN[21]") ), - MTK_PIN(PINCTRL_PIN(94, "GPIO94"), - NULL, "mt6589", + MTK_PIN( + 94, "GPIO94", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO94"), MTK_FUNCTION(1, "DUAL_BPI1_BUS11"), MTK_FUNCTION(3, "BPI2_BUS11"), MTK_FUNCTION(5, "USB_TEST_IO[11]"), MTK_FUNCTION(7, "A_FUNC_DOUT[7]") ), - MTK_PIN(PINCTRL_PIN(95, "GPIO95"), - NULL, "mt6589", + MTK_PIN( + 95, "GPIO95", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO95"), MTK_FUNCTION(1, "DUAL_BPI1_BUS12"), MTK_FUNCTION(3, "BPI2_BUS12"), MTK_FUNCTION(5, "USB_TEST_IO[12]"), MTK_FUNCTION(7, "A_FUNC_DOUT[6]") ), - MTK_PIN(PINCTRL_PIN(96, "GPIO96"), - NULL, "mt6589", + MTK_PIN( + 96, "GPIO96", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO96"), MTK_FUNCTION(1, "DUAL_BPI1_BUS13"), MTK_FUNCTION(3, "BPI2_BUS13"), MTK_FUNCTION(5, "USB_TEST_IO[13]"), MTK_FUNCTION(7, "A_FUNC_DOUT[5]") ), - MTK_PIN(PINCTRL_PIN(97, "GPIO97"), - NULL, "mt6589", + MTK_PIN( + 97, "GPIO97", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO97"), MTK_FUNCTION(1, "DUAL_BPI1_BUS14"), MTK_FUNCTION(3, "BPI2_BUS16"), MTK_FUNCTION(5, "USB_TEST_IO[14]"), MTK_FUNCTION(7, "A_FUNC_DOUT[4]") ), - MTK_PIN(PINCTRL_PIN(98, "GPIO98"), - NULL, "mt6589", + MTK_PIN( + 98, "GPIO98", MTK_EINT_FUNCTION(0, 16), + DRV_GRP4, MTK_FUNCTION(0, "GPIO98"), MTK_FUNCTION(1, "DUAL_BPI1_BUS17"), MTK_FUNCTION(2, "EINT16"), @@ -1009,9 +1109,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[15]"), MTK_FUNCTION(7, "A_FUNC_DOUT[3]") ), - MTK_PIN(PINCTRL_PIN(99, "GPIO99"), - NULL, "mt6589", + MTK_PIN( + 99, "GPIO99", MTK_EINT_FUNCTION(0, 17), + DRV_GRP4, MTK_FUNCTION(0, "GPIO99"), MTK_FUNCTION(1, "DUAL_BPI1_BUS15"), MTK_FUNCTION(2, "EINT17"), @@ -1019,74 +1120,83 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[16]"), MTK_FUNCTION(7, "A_FUNC_DOUT[2]") ), - MTK_PIN(PINCTRL_PIN(100, "GPIO100"), - NULL, "mt6589", + MTK_PIN( + 100, "GPIO100", MTK_EINT_FUNCTION(0, 19), + DRV_GRP4, MTK_FUNCTION(0, "GPIO100"), MTK_FUNCTION(1, "VM1"), MTK_FUNCTION(2, "EINT19"), MTK_FUNCTION(5, "USB_TEST_IO[17]"), MTK_FUNCTION(7, "A_FUNC_DOUT[0]") ), - MTK_PIN(PINCTRL_PIN(101, "GPIO101"), - NULL, "mt6589", + MTK_PIN( + 101, "GPIO101", MTK_EINT_FUNCTION(0, 18), + DRV_GRP4, MTK_FUNCTION(0, "GPIO101"), MTK_FUNCTION(1, "VM0"), MTK_FUNCTION(2, "EINT18"), MTK_FUNCTION(5, "USB_TEST_IO[18]"), MTK_FUNCTION(7, "A_FUNC_DOUT[1]") ), - MTK_PIN(PINCTRL_PIN(102, "GPIO102"), - NULL, "mt6589", + MTK_PIN( + 102, "GPIO102", MTK_EINT_FUNCTION(0, 26), + DRV_GRP4, MTK_FUNCTION(0, "GPIO102"), MTK_FUNCTION(1, "BSI1B_CS0"), MTK_FUNCTION(2, "EINT26"), MTK_FUNCTION(5, "USB_TEST_IO[19]"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[21]") ), - MTK_PIN(PINCTRL_PIN(103, "GPIO103"), - NULL, "mt6589", + MTK_PIN( + 103, "GPIO103", MTK_EINT_FUNCTION(0, 27), + DRV_GRP4, MTK_FUNCTION(0, "GPIO103"), MTK_FUNCTION(1, "BSI1B_DATA0"), MTK_FUNCTION(2, "EINT27"), MTK_FUNCTION(5, "USB_TEST_IO[20]"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[22]") ), - MTK_PIN(PINCTRL_PIN(104, "GPIO104"), - NULL, "mt6589", + MTK_PIN( + 104, "GPIO104", MTK_EINT_FUNCTION(0, 25), + DRV_GRP4, MTK_FUNCTION(0, "GPIO104"), MTK_FUNCTION(1, "BSI1B_CLK"), MTK_FUNCTION(2, "EINT25"), MTK_FUNCTION(5, "USB_TEST_IO[21]"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[23]") ), - MTK_PIN(PINCTRL_PIN(105, "GPIO105"), - NULL, "mt6589", + MTK_PIN( + 105, "GPIO105", MTK_EINT_FUNCTION(0, 30), + DRV_GRP4, MTK_FUNCTION(0, "GPIO105"), MTK_FUNCTION(1, "TXBPI1"), MTK_FUNCTION(2, "EINT30") ), - MTK_PIN(PINCTRL_PIN(106, "GPIO106"), - NULL, "mt6589", + MTK_PIN( + 106, "GPIO106", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO106"), MTK_FUNCTION(1, "EXT_CLK_EN") ), - MTK_PIN(PINCTRL_PIN(107, "GPIO107"), - NULL, "mt6589", + MTK_PIN( + 107, "GPIO107", MTK_EINT_FUNCTION(0, 39), + DRV_GRP4, MTK_FUNCTION(0, "GPIO107"), MTK_FUNCTION(1, "SRCLKENA2"), MTK_FUNCTION(2, "EINT39") ), - MTK_PIN(PINCTRL_PIN(108, "GPIO108"), - NULL, "mt6589", + MTK_PIN( + 108, "GPIO108", MTK_EINT_FUNCTION(0, 21), + DRV_GRP4, MTK_FUNCTION(0, "GPIO108"), MTK_FUNCTION(1, "BSI1A_CS0"), MTK_FUNCTION(2, "EINT21"), @@ -1094,18 +1204,20 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[22]"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[24]") ), - MTK_PIN(PINCTRL_PIN(109, "GPIO109"), - NULL, "mt6589", + MTK_PIN( + 109, "GPIO109", MTK_EINT_FUNCTION(0, 24), + DRV_GRP4, MTK_FUNCTION(0, "GPIO109"), MTK_FUNCTION(1, "BSI1A_DATA2"), MTK_FUNCTION(2, "EINT24"), MTK_FUNCTION(5, "USB_TEST_IO[23]"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[25]") ), - MTK_PIN(PINCTRL_PIN(110, "GPIO110"), - NULL, "mt6589", + MTK_PIN( + 110, "GPIO110", MTK_EINT_FUNCTION(0, 23), + DRV_GRP4, MTK_FUNCTION(0, "GPIO110"), MTK_FUNCTION(1, "BSI1A_DATA1"), MTK_FUNCTION(2, "EINT23"), @@ -1113,9 +1225,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[24]"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[26]") ), - MTK_PIN(PINCTRL_PIN(111, "GPIO111"), - NULL, "mt6589", + MTK_PIN( + 111, "GPIO111", MTK_EINT_FUNCTION(0, 22), + DRV_GRP4, MTK_FUNCTION(0, "GPIO111"), MTK_FUNCTION(1, "BSI1A_DATA0"), MTK_FUNCTION(2, "EINT22"), @@ -1123,9 +1236,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[25]"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[27]") ), - MTK_PIN(PINCTRL_PIN(112, "GPIO112"), - NULL, "mt6589", + MTK_PIN( + 112, "GPIO112", MTK_EINT_FUNCTION(0, 20), + DRV_GRP4, MTK_FUNCTION(0, "GPIO112"), MTK_FUNCTION(1, "BSI1A_CLK"), MTK_FUNCTION(2, "EINT20"), @@ -1133,9 +1247,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[26]"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[28]") ), - MTK_PIN(PINCTRL_PIN(113, "GPIO113"), - NULL, "mt6589", + MTK_PIN( + 113, "GPIO113", MTK_EINT_FUNCTION(0, 29), + DRV_GRP4, MTK_FUNCTION(0, "GPIO113"), MTK_FUNCTION(1, "BSI1C_DATA"), MTK_FUNCTION(2, "EINT29"), @@ -1145,39 +1260,44 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[29]"), MTK_FUNCTION(7, "USB_DRVVBUS") ), - MTK_PIN(PINCTRL_PIN(114, "GPIO114"), - NULL, "mt6589", + MTK_PIN( + 114, "GPIO114", MTK_EINT_FUNCTION(0, 28), + DRV_GRP4, MTK_FUNCTION(0, "GPIO114"), MTK_FUNCTION(1, "BSI1C_CLK"), MTK_FUNCTION(2, "EINT28"), MTK_FUNCTION(5, "USB_TEST_IO[28]"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[30]") ), - MTK_PIN(PINCTRL_PIN(115, "GPIO115"), - NULL, "mt6589", + MTK_PIN( + 115, "GPIO115", MTK_EINT_FUNCTION(0, 10), + DRV_GRP4, MTK_FUNCTION(0, "GPIO115"), MTK_FUNCTION(1, "EINT10"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[31]") ), - MTK_PIN(PINCTRL_PIN(116, "GPIO116"), - NULL, "mt6589", + MTK_PIN( + 116, "GPIO116", MTK_EINT_FUNCTION(0, 11), + DRV_GRP4, MTK_FUNCTION(0, "GPIO116"), MTK_FUNCTION(1, "EINT11"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[32]") ), - MTK_PIN(PINCTRL_PIN(117, "GPIO117"), - NULL, "mt6589", + MTK_PIN( + 117, "GPIO117", MTK_EINT_FUNCTION(0, 16), + DRV_GRP4, MTK_FUNCTION(0, "GPIO117"), MTK_FUNCTION(1, "EINT16"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[33]") ), - MTK_PIN(PINCTRL_PIN(118, "GPIO118"), - NULL, "mt6589", + MTK_PIN( + 118, "GPIO118", MTK_EINT_FUNCTION(0, 91), + DRV_GRP4, MTK_FUNCTION(0, "GPIO118"), MTK_FUNCTION(1, "SDA0"), MTK_FUNCTION(2, "EINT91"), @@ -1185,9 +1305,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(4, "PWM1"), MTK_FUNCTION(7, "A_FUNC_DIN[19]") ), - MTK_PIN(PINCTRL_PIN(119, "GPIO119"), - NULL, "mt6589", + MTK_PIN( + 119, "GPIO119", MTK_EINT_FUNCTION(0, 90), + DRV_GRP4, MTK_FUNCTION(0, "GPIO119"), MTK_FUNCTION(1, "SCL0"), MTK_FUNCTION(2, "EINT90"), @@ -1195,9 +1316,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(4, "DISP_PWM"), MTK_FUNCTION(7, "A_FUNC_DIN[20]") ), - MTK_PIN(PINCTRL_PIN(120, "GPIO120"), - NULL, "mt6589", + MTK_PIN( + 120, "GPIO120", MTK_EINT_FUNCTION(0, 10), + DRV_GRP4, MTK_FUNCTION(0, "GPIO120"), MTK_FUNCTION(1, "I2SIN_CK"), MTK_FUNCTION(2, "EINT10"), @@ -1206,9 +1328,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "DSP1_ICK"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[34]") ), - MTK_PIN(PINCTRL_PIN(121, "GPIO121"), - NULL, "mt6589", + MTK_PIN( + 121, "GPIO121", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO121"), MTK_FUNCTION(1, "I2SIN_WS"), MTK_FUNCTION(3, "DAC_WS"), @@ -1216,9 +1339,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "DSP1_ID"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[35]") ), - MTK_PIN(PINCTRL_PIN(122, "GPIO122"), - NULL, "mt6589", + MTK_PIN( + 122, "GPIO122", MTK_EINT_FUNCTION(0, 11), + DRV_GRP4, MTK_FUNCTION(0, "GPIO122"), MTK_FUNCTION(1, "I2SIN_DAT"), MTK_FUNCTION(2, "EINT11"), @@ -1226,9 +1350,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "DSP1_IMS"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[36]") ), - MTK_PIN(PINCTRL_PIN(123, "GPIO123"), - NULL, "mt6589", + MTK_PIN( + 123, "GPIO123", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO123"), MTK_FUNCTION(1, "I2SOUT_DAT"), MTK_FUNCTION(3, "DAC_DAT_OUT"), @@ -1236,9 +1361,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "MD2_EINT5"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[37]") ), - MTK_PIN(PINCTRL_PIN(124, "GPIO124"), - NULL, "mt6589", + MTK_PIN( + 124, "GPIO124", MTK_EINT_FUNCTION(0, 5), + DRV_GRP4, MTK_FUNCTION(0, "GPIO124"), MTK_FUNCTION(1, "EINT5"), MTK_FUNCTION(2, "PWM5"), @@ -1247,9 +1373,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "MD2_EINT1"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[38]") ), - MTK_PIN(PINCTRL_PIN(125, "GPIO125"), - NULL, "mt6589", + MTK_PIN( + 125, "GPIO125", MTK_EINT_FUNCTION(0, 6), + DRV_GRP4, MTK_FUNCTION(0, "GPIO125"), MTK_FUNCTION(1, "EINT6"), MTK_FUNCTION(2, "PWM6"), @@ -1258,9 +1385,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "MD2_EINT2"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[39]") ), - MTK_PIN(PINCTRL_PIN(126, "GPIO126"), - NULL, "mt6589", + MTK_PIN( + 126, "GPIO126", MTK_EINT_FUNCTION(0, 7), + DRV_GRP4, MTK_FUNCTION(0, "GPIO126"), MTK_FUNCTION(1, "EINT7"), MTK_FUNCTION(2, "PWM7"), @@ -1269,9 +1397,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "MD2_EINT3"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[40]") ), - MTK_PIN(PINCTRL_PIN(127, "GPIO127"), - NULL, "mt6589", + MTK_PIN( + 127, "GPIO127", MTK_EINT_FUNCTION(0, 8), + DRV_GRP4, MTK_FUNCTION(0, "GPIO127"), MTK_FUNCTION(1, "EINT8"), MTK_FUNCTION(2, "DISP_PWM"), @@ -1280,9 +1409,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[41]"), MTK_FUNCTION(7, "EXT_FRAME_SYNC") ), - MTK_PIN(PINCTRL_PIN(128, "GPIO128"), - NULL, "mt6589", + MTK_PIN( + 128, "GPIO128", MTK_EINT_FUNCTION(0, 9), + DRV_GRP4, MTK_FUNCTION(0, "GPIO128"), MTK_FUNCTION(1, "EINT9"), MTK_FUNCTION(3, "MD1_GPS_SYNC"), @@ -1290,9 +1420,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_DRVVBUS"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[42]") ), - MTK_PIN(PINCTRL_PIN(129, "GPIO129"), - NULL, "mt6589", + MTK_PIN( + 129, "GPIO129", MTK_EINT_FUNCTION(0, 77), + DRV_GRP4, MTK_FUNCTION(0, "GPIO129"), MTK_FUNCTION(1, "DISP_PWM"), MTK_FUNCTION(2, "EINT77"), @@ -1302,9 +1433,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[43]"), MTK_FUNCTION(7, "PWM3") ), - MTK_PIN(PINCTRL_PIN(130, "GPIO130"), - NULL, "mt6589", + MTK_PIN( + 130, "GPIO130", MTK_EINT_FUNCTION(0, 133), + DRV_GRP4, MTK_FUNCTION(0, "GPIO130"), MTK_FUNCTION(1, "MSDC4_DAT0"), MTK_FUNCTION(2, "EINT133"), @@ -1313,18 +1445,20 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[46]"), MTK_FUNCTION(7, "LPTE") ), - MTK_PIN(PINCTRL_PIN(131, "GPIO131"), - NULL, "mt6589", + MTK_PIN( + 131, "GPIO131", MTK_EINT_FUNCTION(0, 134), + DRV_GRP4, MTK_FUNCTION(0, "GPIO131"), MTK_FUNCTION(1, "MSDC4_DAT1"), MTK_FUNCTION(2, "EINT134"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[47]"), MTK_FUNCTION(7, "LRSTB_1X") ), - MTK_PIN(PINCTRL_PIN(132, "GPIO132"), - NULL, "mt6589", + MTK_PIN( + 132, "GPIO132", MTK_EINT_FUNCTION(0, 127), + DRV_GRP4, MTK_FUNCTION(0, "GPIO132"), MTK_FUNCTION(1, "LPCE1B"), MTK_FUNCTION(2, "EINT127"), @@ -1332,9 +1466,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "PWM2"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[44]") ), - MTK_PIN(PINCTRL_PIN(133, "GPIO133"), - NULL, "mt6589", + MTK_PIN( + 133, "GPIO133", MTK_EINT_FUNCTION(0, 126), + DRV_GRP4, MTK_FUNCTION(0, "GPIO133"), MTK_FUNCTION(1, "LPCE0B"), MTK_FUNCTION(2, "EINT126"), @@ -1342,9 +1477,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "PWM1"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[45]") ), - MTK_PIN(PINCTRL_PIN(134, "GPIO134"), - NULL, "mt6589", + MTK_PIN( + 134, "GPIO134", MTK_EINT_FUNCTION(0, 136), + DRV_GRP4, MTK_FUNCTION(0, "GPIO134"), MTK_FUNCTION(1, "MSDC4_DAT5"), MTK_FUNCTION(2, "EINT136"), @@ -1354,9 +1490,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[48]"), MTK_FUNCTION(7, "SPI1_CSN") ), - MTK_PIN(PINCTRL_PIN(135, "GPIO135"), - NULL, "mt6589", + MTK_PIN( + 135, "GPIO135", MTK_EINT_FUNCTION(0, 137), + DRV_GRP4, MTK_FUNCTION(0, "GPIO135"), MTK_FUNCTION(1, "MSDC4_DAT6"), MTK_FUNCTION(2, "EINT137"), @@ -1366,9 +1503,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[49]"), MTK_FUNCTION(7, "SPI1_MO") ), - MTK_PIN(PINCTRL_PIN(136, "GPIO136"), - NULL, "mt6589", + MTK_PIN( + 136, "GPIO136", MTK_EINT_FUNCTION(0, 138), + DRV_GRP4, MTK_FUNCTION(0, "GPIO136"), MTK_FUNCTION(1, "MSDC4_DAT7"), MTK_FUNCTION(2, "EINT138"), @@ -1377,9 +1515,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[50]"), MTK_FUNCTION(7, "SPI1_MI") ), - MTK_PIN(PINCTRL_PIN(137, "GPIO137"), - NULL, "mt6589", + MTK_PIN( + 137, "GPIO137", MTK_EINT_FUNCTION(0, 135), + DRV_GRP4, MTK_FUNCTION(0, "GPIO137"), MTK_FUNCTION(1, "MSDC4_DAT4"), MTK_FUNCTION(2, "EINT135"), @@ -1389,9 +1528,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[51]"), MTK_FUNCTION(7, "SPI1_CLK") ), - MTK_PIN(PINCTRL_PIN(138, "GPIO138"), - NULL, "mt6589", + MTK_PIN( + 138, "GPIO138", MTK_EINT_FUNCTION(0, 131), + DRV_GRP4, MTK_FUNCTION(0, "GPIO138"), MTK_FUNCTION(1, "MSDC4_DAT2"), MTK_FUNCTION(2, "EINT131"), @@ -1401,9 +1541,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "PCM1_WS"), MTK_FUNCTION(7, "LSCE0B_1X") ), - MTK_PIN(PINCTRL_PIN(139, "GPIO139"), - NULL, "mt6589", + MTK_PIN( + 139, "GPIO139", MTK_EINT_FUNCTION(0, 129), + DRV_GRP4, MTK_FUNCTION(0, "GPIO139"), MTK_FUNCTION(1, "MSDC4_CLK"), MTK_FUNCTION(2, "EINT129"), @@ -1413,9 +1554,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "PCM1_DI"), MTK_FUNCTION(7, "LSCK_1X") ), - MTK_PIN(PINCTRL_PIN(140, "GPIO140"), - NULL, "mt6589", + MTK_PIN( + 140, "GPIO140", MTK_EINT_FUNCTION(0, 132), + DRV_GRP4, MTK_FUNCTION(0, "GPIO140"), MTK_FUNCTION(1, "MSDC4_DAT3"), MTK_FUNCTION(2, "EINT132"), @@ -1425,9 +1567,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "PCM1_DO"), MTK_FUNCTION(7, "LSCE1B_1X") ), - MTK_PIN(PINCTRL_PIN(141, "GPIO141"), - NULL, "mt6589", + MTK_PIN( + 141, "GPIO141", MTK_EINT_FUNCTION(0, 128), + DRV_GRP4, MTK_FUNCTION(0, "GPIO141"), MTK_FUNCTION(1, "MSDC4_CMD"), MTK_FUNCTION(2, "EINT128"), @@ -1437,9 +1580,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD2_GPS_SYNC"), MTK_FUNCTION(7, "LSDA_1X") ), - MTK_PIN(PINCTRL_PIN(142, "GPIO142"), - NULL, "mt6589", + MTK_PIN( + 142, "GPIO142", MTK_EINT_FUNCTION(0, 130), + DRV_GRP4, MTK_FUNCTION(0, "GPIO142"), MTK_FUNCTION(1, "MSDC4_RSTB"), MTK_FUNCTION(2, "EINT130"), @@ -1449,9 +1593,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "PCM1_CK"), MTK_FUNCTION(7, "LSA0_1X") ), - MTK_PIN(PINCTRL_PIN(143, "GPIO143"), - NULL, "mt6589", + MTK_PIN( + 143, "GPIO143", MTK_EINT_FUNCTION(0, 98), + DRV_GRP4, MTK_FUNCTION(0, "GPIO143"), MTK_FUNCTION(1, "DPI0_VSYNC"), MTK_FUNCTION(2, "EINT98"), @@ -1461,9 +1606,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[52]"), MTK_FUNCTION(7, "TESTB_OUT8") ), - MTK_PIN(PINCTRL_PIN(144, "GPIO144"), - NULL, "mt6589", + MTK_PIN( + 144, "GPIO144", MTK_EINT_FUNCTION(0, 99), + DRV_GRP4, MTK_FUNCTION(0, "GPIO144"), MTK_FUNCTION(1, "DPI0_HSYNC"), MTK_FUNCTION(2, "EINT99"), @@ -1473,9 +1619,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "IRDA_RXD"), MTK_FUNCTION(7, "TESTB_OUT9") ), - MTK_PIN(PINCTRL_PIN(145, "GPIO145"), - NULL, "mt6589", + MTK_PIN( + 145, "GPIO145", MTK_EINT_FUNCTION(0, 100), + DRV_GRP4, MTK_FUNCTION(0, "GPIO145"), MTK_FUNCTION(1, "DPI0_DE"), MTK_FUNCTION(2, "EINT100"), @@ -1485,9 +1632,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "IRDA_TXD"), MTK_FUNCTION(7, "TESTB_OUT10") ), - MTK_PIN(PINCTRL_PIN(146, "GPIO146"), - NULL, "mt6589", + MTK_PIN( + 146, "GPIO146", MTK_EINT_FUNCTION(0, 101), + DRV_GRP4, MTK_FUNCTION(0, "GPIO146"), MTK_FUNCTION(1, "DPI0_CK"), MTK_FUNCTION(2, "EINT101"), @@ -1496,9 +1644,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "IRDA_PDN"), MTK_FUNCTION(7, "TESTB_OUT11") ), - MTK_PIN(PINCTRL_PIN(147, "GPIO147"), - NULL, "mt6589", + MTK_PIN( + 147, "GPIO147", MTK_EINT_FUNCTION(0, 102), + DRV_GRP4, MTK_FUNCTION(0, "GPIO147"), MTK_FUNCTION(1, "DPI0_B0"), MTK_FUNCTION(2, "EINT102"), @@ -1507,9 +1656,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[57]"), MTK_FUNCTION(7, "TESTB_OUT12") ), - MTK_PIN(PINCTRL_PIN(148, "GPIO148"), - NULL, "mt6589", + MTK_PIN( + 148, "GPIO148", MTK_EINT_FUNCTION(0, 103), + DRV_GRP4, MTK_FUNCTION(0, "GPIO148"), MTK_FUNCTION(1, "DPI0_B1"), MTK_FUNCTION(2, "EINT103"), @@ -1519,9 +1669,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[58]"), MTK_FUNCTION(7, "TESTB_OUT13") ), - MTK_PIN(PINCTRL_PIN(149, "GPIO149"), - NULL, "mt6589", + MTK_PIN( + 149, "GPIO149", MTK_EINT_FUNCTION(0, 104), + DRV_GRP4, MTK_FUNCTION(0, "GPIO149"), MTK_FUNCTION(1, "DPI0_B2"), MTK_FUNCTION(2, "EINT104"), @@ -1531,9 +1682,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[59]"), MTK_FUNCTION(7, "TESTB_OUT14") ), - MTK_PIN(PINCTRL_PIN(150, "GPIO150"), - NULL, "mt6589", + MTK_PIN( + 150, "GPIO150", MTK_EINT_FUNCTION(0, 105), + DRV_GRP4, MTK_FUNCTION(0, "GPIO150"), MTK_FUNCTION(1, "DPI0_B3"), MTK_FUNCTION(2, "EINT105"), @@ -1543,9 +1695,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[60]"), MTK_FUNCTION(7, "TESTB_OUT15") ), - MTK_PIN(PINCTRL_PIN(151, "GPIO151"), - NULL, "mt6589", + MTK_PIN( + 151, "GPIO151", MTK_EINT_FUNCTION(0, 106), + DRV_GRP4, MTK_FUNCTION(0, "GPIO151"), MTK_FUNCTION(1, "DPI0_B4"), MTK_FUNCTION(2, "EINT106"), @@ -1555,9 +1708,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[61]"), MTK_FUNCTION(7, "TESTB_OUT16") ), - MTK_PIN(PINCTRL_PIN(152, "GPIO152"), - NULL, "mt6589", + MTK_PIN( + 152, "GPIO152", MTK_EINT_FUNCTION(0, 107), + DRV_GRP4, MTK_FUNCTION(0, "GPIO152"), MTK_FUNCTION(1, "DPI0_B5"), MTK_FUNCTION(2, "EINT107"), @@ -1567,9 +1721,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[62]"), MTK_FUNCTION(7, "TESTB_OUT17") ), - MTK_PIN(PINCTRL_PIN(153, "GPIO153"), - NULL, "mt6589", + MTK_PIN( + 153, "GPIO153", MTK_EINT_FUNCTION(0, 108), + DRV_GRP4, MTK_FUNCTION(0, "GPIO153"), MTK_FUNCTION(1, "DPI0_B6"), MTK_FUNCTION(2, "EINT108"), @@ -1579,9 +1734,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[63]"), MTK_FUNCTION(7, "TESTB_OUT18") ), - MTK_PIN(PINCTRL_PIN(154, "GPIO154"), - NULL, "mt6589", + MTK_PIN( + 154, "GPIO154", MTK_EINT_FUNCTION(0, 109), + DRV_GRP4, MTK_FUNCTION(0, "GPIO154"), MTK_FUNCTION(1, "DPI0_B7"), MTK_FUNCTION(2, "EINT109"), @@ -1591,9 +1747,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[0]"), MTK_FUNCTION(7, "TESTB_OUT19") ), - MTK_PIN(PINCTRL_PIN(155, "GPIO155"), - NULL, "mt6589", + MTK_PIN( + 155, "GPIO155", MTK_EINT_FUNCTION(0, 110), + DRV_GRP4, MTK_FUNCTION(0, "GPIO155"), MTK_FUNCTION(1, "DPI0_G0"), MTK_FUNCTION(2, "EINT110"), @@ -1601,9 +1758,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[1]"), MTK_FUNCTION(7, "TESTB_OUT20") ), - MTK_PIN(PINCTRL_PIN(156, "GPIO156"), - NULL, "mt6589", + MTK_PIN( + 156, "GPIO156", MTK_EINT_FUNCTION(0, 111), + DRV_GRP4, MTK_FUNCTION(0, "GPIO156"), MTK_FUNCTION(1, "DPI0_G1"), MTK_FUNCTION(2, "EINT111"), @@ -1611,9 +1769,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[56]"), MTK_FUNCTION(7, "TESTB_OUT21") ), - MTK_PIN(PINCTRL_PIN(157, "GPIO157"), - NULL, "mt6589", + MTK_PIN( + 157, "GPIO157", MTK_EINT_FUNCTION(0, 112), + DRV_GRP4, MTK_FUNCTION(0, "GPIO157"), MTK_FUNCTION(1, "DPI0_G2"), MTK_FUNCTION(2, "EINT112"), @@ -1621,9 +1780,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[2]"), MTK_FUNCTION(7, "TESTB_OUT22") ), - MTK_PIN(PINCTRL_PIN(158, "GPIO158"), - NULL, "mt6589", + MTK_PIN( + 158, "GPIO158", MTK_EINT_FUNCTION(0, 113), + DRV_GRP4, MTK_FUNCTION(0, "GPIO158"), MTK_FUNCTION(1, "DPI0_G3"), MTK_FUNCTION(2, "EINT113"), @@ -1631,9 +1791,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[3]"), MTK_FUNCTION(7, "TESTB_OUT23") ), - MTK_PIN(PINCTRL_PIN(159, "GPIO159"), - NULL, "mt6589", + MTK_PIN( + 159, "GPIO159", MTK_EINT_FUNCTION(0, 114), + DRV_GRP4, MTK_FUNCTION(0, "GPIO159"), MTK_FUNCTION(1, "DPI0_G4"), MTK_FUNCTION(2, "EINT114"), @@ -1643,9 +1804,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[53]"), MTK_FUNCTION(7, "TESTB_OUT24") ), - MTK_PIN(PINCTRL_PIN(160, "GPIO160"), - NULL, "mt6589", + MTK_PIN( + 160, "GPIO160", MTK_EINT_FUNCTION(0, 115), + DRV_GRP4, MTK_FUNCTION(0, "GPIO160"), MTK_FUNCTION(1, "DPI0_G5"), MTK_FUNCTION(2, "EINT115"), @@ -1655,9 +1817,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[54]"), MTK_FUNCTION(7, "TESTB_OUT25") ), - MTK_PIN(PINCTRL_PIN(161, "GPIO161"), - NULL, "mt6589", + MTK_PIN( + 161, "GPIO161", MTK_EINT_FUNCTION(0, 116), + DRV_GRP4, MTK_FUNCTION(0, "GPIO161"), MTK_FUNCTION(1, "DPI0_G6"), MTK_FUNCTION(2, "EINT116"), @@ -1667,9 +1830,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[4]"), MTK_FUNCTION(7, "TESTB_OUT26") ), - MTK_PIN(PINCTRL_PIN(162, "GPIO162"), - NULL, "mt6589", + MTK_PIN( + 162, "GPIO162", MTK_EINT_FUNCTION(0, 117), + DRV_GRP4, MTK_FUNCTION(0, "GPIO162"), MTK_FUNCTION(1, "DPI0_G7"), MTK_FUNCTION(2, "EINT117"), @@ -1679,9 +1843,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[5]"), MTK_FUNCTION(7, "TESTB_OUT27") ), - MTK_PIN(PINCTRL_PIN(163, "GPIO163"), - NULL, "mt6589", + MTK_PIN( + 163, "GPIO163", MTK_EINT_FUNCTION(0, 118), + DRV_GRP4, MTK_FUNCTION(0, "GPIO163"), MTK_FUNCTION(1, "DPI0_R0"), MTK_FUNCTION(2, "EINT118"), @@ -1691,9 +1856,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[6]"), MTK_FUNCTION(7, "TESTB_OUT28") ), - MTK_PIN(PINCTRL_PIN(164, "GPIO164"), - NULL, "mt6589", + MTK_PIN( + 164, "GPIO164", MTK_EINT_FUNCTION(0, 119), + DRV_GRP4, MTK_FUNCTION(0, "GPIO164"), MTK_FUNCTION(1, "DPI0_R1"), MTK_FUNCTION(2, "EINT119"), @@ -1703,9 +1869,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[7]"), MTK_FUNCTION(7, "TESTB_OUT29") ), - MTK_PIN(PINCTRL_PIN(165, "GPIO165"), - NULL, "mt6589", + MTK_PIN( + 165, "GPIO165", MTK_EINT_FUNCTION(0, 120), + DRV_GRP4, MTK_FUNCTION(0, "GPIO165"), MTK_FUNCTION(1, "DPI0_R2"), MTK_FUNCTION(2, "EINT120"), @@ -1714,9 +1881,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "MD2_TMS_PAD"), MTK_FUNCTION(7, "TESTB_OUT30") ), - MTK_PIN(PINCTRL_PIN(166, "GPIO166"), - NULL, "mt6589", + MTK_PIN( + 166, "GPIO166", MTK_EINT_FUNCTION(0, 121), + DRV_GRP4, MTK_FUNCTION(0, "GPIO166"), MTK_FUNCTION(1, "DPI0_R3"), MTK_FUNCTION(2, "EINT121"), @@ -1726,9 +1894,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[55]"), MTK_FUNCTION(7, "TESTB_OUT31") ), - MTK_PIN(PINCTRL_PIN(167, "GPIO167"), - NULL, "mt6589", + MTK_PIN( + 167, "GPIO167", MTK_EINT_FUNCTION(0, 122), + DRV_GRP4, MTK_FUNCTION(0, "GPIO167"), MTK_FUNCTION(1, "DPI0_R4"), MTK_FUNCTION(2, "EINT122"), @@ -1736,9 +1905,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(4, "CM2DAT_2X[8]"), MTK_FUNCTION(7, "TESTA_OUT0") ), - MTK_PIN(PINCTRL_PIN(168, "GPIO168"), - NULL, "mt6589", + MTK_PIN( + 168, "GPIO168", MTK_EINT_FUNCTION(0, 123), + DRV_GRP4, MTK_FUNCTION(0, "GPIO168"), MTK_FUNCTION(1, "DPI0_R5"), MTK_FUNCTION(2, "EINT123"), @@ -1748,9 +1918,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD2_DAI_RX_GPIO"), MTK_FUNCTION(7, "TESTA_OUT1") ), - MTK_PIN(PINCTRL_PIN(169, "GPIO169"), - NULL, "mt6589", + MTK_PIN( + 169, "GPIO169", MTK_EINT_FUNCTION(0, 124), + DRV_GRP4, MTK_FUNCTION(0, "GPIO169"), MTK_FUNCTION(1, "DPI0_R6"), MTK_FUNCTION(2, "EINT124"), @@ -1758,9 +1929,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(4, "CM2VSYNC_2X"), MTK_FUNCTION(7, "TESTA_OUT2") ), - MTK_PIN(PINCTRL_PIN(170, "GPIO170"), - NULL, "mt6589", + MTK_PIN( + 170, "GPIO170", MTK_EINT_FUNCTION(0, 125), + DRV_GRP4, MTK_FUNCTION(0, "GPIO170"), MTK_FUNCTION(1, "DPI0_R7"), MTK_FUNCTION(2, "EINT125"), @@ -1768,9 +1940,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(4, "CM2HSYNC_2X"), MTK_FUNCTION(7, "TESTA_OUT3") ), - MTK_PIN(PINCTRL_PIN(171, "GPIO171"), - NULL, "mt6589", + MTK_PIN( + 171, "GPIO171", MTK_EINT_FUNCTION(0, 57), + DRV_GRP4, MTK_FUNCTION(0, "GPIO171"), MTK_FUNCTION(1, "MSDC1_INSI"), MTK_FUNCTION(2, "EINT57"), @@ -1780,18 +1953,20 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[0]"), MTK_FUNCTION(7, "TESTB_OUT6") ), - MTK_PIN(PINCTRL_PIN(172, "GPIO172"), - NULL, "mt6589", + MTK_PIN( + 172, "GPIO172", MTK_EINT_FUNCTION(0, 65), + DRV_GRP4, MTK_FUNCTION(0, "GPIO172"), MTK_FUNCTION(1, "MSDC2_INSI"), MTK_FUNCTION(2, "EINT65"), MTK_FUNCTION(3, "BPI2_BUS6"), MTK_FUNCTION(7, "A_FUNC_DIN[6]") ), - MTK_PIN(PINCTRL_PIN(173, "GPIO173"), - NULL, "mt6589", + MTK_PIN( + 173, "GPIO173", MTK_EINT_FUNCTION(0, 66), + DRV_GRP4, MTK_FUNCTION(0, "GPIO173"), MTK_FUNCTION(1, "MSDC2_SDWPI"), MTK_FUNCTION(2, "EINT66"), @@ -1800,9 +1975,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "DUAL_BPI1_BUS15"), MTK_FUNCTION(7, "A_FUNC_DIN[5]") ), - MTK_PIN(PINCTRL_PIN(174, "GPIO174"), - NULL, "mt6589", + MTK_PIN( + 174, "GPIO174", MTK_EINT_FUNCTION(0, 63), + DRV_GRP4, MTK_FUNCTION(0, "GPIO174"), MTK_FUNCTION(1, "MSDC2_DAT2"), MTK_FUNCTION(2, "EINT63"), @@ -1810,9 +1986,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(4, "DSP2_IMS"), MTK_FUNCTION(7, "A_FUNC_DIN[8]") ), - MTK_PIN(PINCTRL_PIN(175, "GPIO175"), - NULL, "mt6589", + MTK_PIN( + 175, "GPIO175", MTK_EINT_FUNCTION(0, 64), + DRV_GRP4, MTK_FUNCTION(0, "GPIO175"), MTK_FUNCTION(1, "MSDC2_DAT3"), MTK_FUNCTION(2, "EINT64"), @@ -1820,9 +1997,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(4, "DSP2_ID"), MTK_FUNCTION(7, "A_FUNC_DIN[7]") ), - MTK_PIN(PINCTRL_PIN(176, "GPIO176"), - NULL, "mt6589", + MTK_PIN( + 176, "GPIO176", MTK_EINT_FUNCTION(0, 60), + DRV_GRP4, MTK_FUNCTION(0, "GPIO176"), MTK_FUNCTION(1, "MSDC2_CMD"), MTK_FUNCTION(2, "EINT60"), @@ -1831,9 +2009,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "PCM1_WS"), MTK_FUNCTION(7, "A_FUNC_DIN[11]") ), - MTK_PIN(PINCTRL_PIN(177, "GPIO177"), - NULL, "mt6589", + MTK_PIN( + 177, "GPIO177", MTK_EINT_FUNCTION(0, 59), + DRV_GRP4, MTK_FUNCTION(0, "GPIO177"), MTK_FUNCTION(1, "MSDC2_CLK"), MTK_FUNCTION(2, "EINT59"), @@ -1842,9 +2021,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "PCM1_CK"), MTK_FUNCTION(7, "A_FUNC_DIN[12]") ), - MTK_PIN(PINCTRL_PIN(178, "GPIO178"), - NULL, "mt6589", + MTK_PIN( + 178, "GPIO178", MTK_EINT_FUNCTION(0, 62), + DRV_GRP4, MTK_FUNCTION(0, "GPIO178"), MTK_FUNCTION(1, "MSDC2_DAT1"), MTK_FUNCTION(2, "EINT62"), @@ -1853,9 +2033,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "PCM1_DO"), MTK_FUNCTION(7, "A_FUNC_DIN[9]") ), - MTK_PIN(PINCTRL_PIN(179, "GPIO179"), - NULL, "mt6589", + MTK_PIN( + 179, "GPIO179", MTK_EINT_FUNCTION(0, 61), + DRV_GRP4, MTK_FUNCTION(0, "GPIO179"), MTK_FUNCTION(1, "MSDC2_DAT0"), MTK_FUNCTION(2, "EINT61"), @@ -1864,9 +2045,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "PCM1_DI"), MTK_FUNCTION(7, "A_FUNC_DIN[10]") ), - MTK_PIN(PINCTRL_PIN(180, "GPIO180"), - NULL, "mt6589", + MTK_PIN( + 180, "GPIO180", MTK_EINT_FUNCTION(0, 53), + DRV_GRP4, MTK_FUNCTION(0, "GPIO180"), MTK_FUNCTION(1, "MSDC1_DAT0"), MTK_FUNCTION(2, "EINT53"), @@ -1876,9 +2058,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[1]"), MTK_FUNCTION(7, "TESTB_OUT2") ), - MTK_PIN(PINCTRL_PIN(181, "GPIO181"), - NULL, "mt6589", + MTK_PIN( + 181, "GPIO181", MTK_EINT_FUNCTION(0, 54), + DRV_GRP4, MTK_FUNCTION(0, "GPIO181"), MTK_FUNCTION(1, "MSDC1_DAT1"), MTK_FUNCTION(2, "EINT54"), @@ -1888,9 +2071,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[2]"), MTK_FUNCTION(7, "TESTB_OUT3") ), - MTK_PIN(PINCTRL_PIN(182, "GPIO182"), - NULL, "mt6589", + MTK_PIN( + 182, "GPIO182", MTK_EINT_FUNCTION(0, 58), + DRV_GRP4, MTK_FUNCTION(0, "GPIO182"), MTK_FUNCTION(1, "MSDC1_SDWPI"), MTK_FUNCTION(2, "EINT58"), @@ -1900,9 +2084,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[3]"), MTK_FUNCTION(7, "TESTB_OUT7") ), - MTK_PIN(PINCTRL_PIN(183, "GPIO183"), - NULL, "mt6589", + MTK_PIN( + 183, "GPIO183", MTK_EINT_FUNCTION(0, 52), + DRV_GRP4, MTK_FUNCTION(0, "GPIO183"), MTK_FUNCTION(1, "MSDC1_CMD"), MTK_FUNCTION(2, "EINT52"), @@ -1912,9 +2097,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[4]"), MTK_FUNCTION(7, "TESTB_OUT1") ), - MTK_PIN(PINCTRL_PIN(184, "GPIO184"), - NULL, "mt6589", + MTK_PIN( + 184, "GPIO184", MTK_EINT_FUNCTION(0, 51), + DRV_GRP4, MTK_FUNCTION(0, "GPIO184"), MTK_FUNCTION(1, "MSDC1_CLK"), MTK_FUNCTION(2, "EINT51"), @@ -1923,9 +2109,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[5]"), MTK_FUNCTION(7, "TESTB_OUT0") ), - MTK_PIN(PINCTRL_PIN(185, "GPIO185"), - NULL, "mt6589", + MTK_PIN( + 185, "GPIO185", MTK_EINT_FUNCTION(0, 55), + DRV_GRP4, MTK_FUNCTION(0, "GPIO185"), MTK_FUNCTION(1, "MSDC1_DAT2"), MTK_FUNCTION(2, "EINT55"), @@ -1935,9 +2122,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[6]"), MTK_FUNCTION(7, "TESTB_OUT4") ), - MTK_PIN(PINCTRL_PIN(186, "GPIO186"), - NULL, "mt6589", + MTK_PIN( + 186, "GPIO186", MTK_EINT_FUNCTION(0, 56), + DRV_GRP4, MTK_FUNCTION(0, "GPIO186"), MTK_FUNCTION(1, "MSDC1_DAT3"), MTK_FUNCTION(2, "EINT56"), @@ -1947,157 +2135,180 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[7]"), MTK_FUNCTION(7, "TESTB_OUT5") ), - MTK_PIN(PINCTRL_PIN(187, "GPIO187"), - NULL, "mt6589", + MTK_PIN( + 187, "GPIO187", MTK_EINT_FUNCTION(0, 36), + DRV_GRP4, MTK_FUNCTION(0, "GPIO187"), MTK_FUNCTION(2, "EINT36") ), - MTK_PIN(PINCTRL_PIN(188, "GPIO188"), - NULL, "mt6589", + MTK_PIN( + 188, "GPIO188", MTK_EINT_FUNCTION(0, 35), + DRV_GRP4, MTK_FUNCTION(0, "GPIO188"), MTK_FUNCTION(2, "EINT35") ), - MTK_PIN(PINCTRL_PIN(189, "GPIO189"), - NULL, "mt6589", + MTK_PIN( + 189, "GPIO189", MTK_EINT_FUNCTION(0, 169), + DRV_GRP4, MTK_FUNCTION(0, "GPIO189"), MTK_FUNCTION(2, "EINT169") ), - MTK_PIN(PINCTRL_PIN(190, "GPIO190"), - NULL, "mt6589", + MTK_PIN( + 190, "GPIO190", MTK_EINT_FUNCTION(0, 168), + DRV_GRP4, MTK_FUNCTION(0, "GPIO190"), MTK_FUNCTION(2, "EINT168") ), - MTK_PIN(PINCTRL_PIN(191, "GPIO191"), - NULL, "mt6589", + MTK_PIN( + 191, "GPIO191", MTK_EINT_FUNCTION(0, 163), + DRV_GRP4, MTK_FUNCTION(0, "GPIO191"), MTK_FUNCTION(2, "EINT163") ), - MTK_PIN(PINCTRL_PIN(192, "GPIO192"), - NULL, "mt6589", + MTK_PIN( + 192, "GPIO192", MTK_EINT_FUNCTION(0, 162), + DRV_GRP4, MTK_FUNCTION(0, "GPIO192"), MTK_FUNCTION(2, "EINT162") ), - MTK_PIN(PINCTRL_PIN(193, "GPIO193"), - NULL, "mt6589", + MTK_PIN( + 193, "GPIO193", MTK_EINT_FUNCTION(0, 167), + DRV_GRP4, MTK_FUNCTION(0, "GPIO193"), MTK_FUNCTION(2, "EINT167") ), - MTK_PIN(PINCTRL_PIN(194, "GPIO194"), - NULL, "mt6589", + MTK_PIN( + 194, "GPIO194", MTK_EINT_FUNCTION(0, 166), + DRV_GRP4, MTK_FUNCTION(0, "GPIO194"), MTK_FUNCTION(2, "EINT166") ), - MTK_PIN(PINCTRL_PIN(195, "GPIO195"), - NULL, "mt6589", + MTK_PIN( + 195, "GPIO195", MTK_EINT_FUNCTION(0, 165), + DRV_GRP4, MTK_FUNCTION(0, "GPIO195"), MTK_FUNCTION(2, "EINT165") ), - MTK_PIN(PINCTRL_PIN(196, "GPIO196"), - NULL, "mt6589", + MTK_PIN( + 196, "GPIO196", MTK_EINT_FUNCTION(0, 164), + DRV_GRP4, MTK_FUNCTION(0, "GPIO196"), MTK_FUNCTION(2, "EINT164") ), - MTK_PIN(PINCTRL_PIN(197, "GPIO197"), - NULL, "mt6589", + MTK_PIN( + 197, "GPIO197", MTK_EINT_FUNCTION(0, 175), + DRV_GRP4, MTK_FUNCTION(0, "GPIO197"), MTK_FUNCTION(1, "CMDAT6"), MTK_FUNCTION(2, "EINT175") ), - MTK_PIN(PINCTRL_PIN(198, "GPIO198"), - NULL, "mt6589", + MTK_PIN( + 198, "GPIO198", MTK_EINT_FUNCTION(0, 174), + DRV_GRP4, MTK_FUNCTION(0, "GPIO198"), MTK_FUNCTION(1, "CMDAT7"), MTK_FUNCTION(2, "EINT174") ), - MTK_PIN(PINCTRL_PIN(199, "GPIO199"), - NULL, "mt6589", + MTK_PIN( + 199, "GPIO199", MTK_EINT_FUNCTION(0, 171), + DRV_GRP4, MTK_FUNCTION(0, "GPIO199"), MTK_FUNCTION(1, "CMDAT8"), MTK_FUNCTION(2, "EINT171") ), - MTK_PIN(PINCTRL_PIN(200, "GPIO200"), - NULL, "mt6589", + MTK_PIN( + 200, "GPIO200", MTK_EINT_FUNCTION(0, 170), + DRV_GRP4, MTK_FUNCTION(0, "GPIO200"), MTK_FUNCTION(1, "CMDAT9"), MTK_FUNCTION(2, "EINT170") ), - MTK_PIN(PINCTRL_PIN(201, "GPIO201"), - NULL, "mt6589", + MTK_PIN( + 201, "GPIO201", MTK_EINT_FUNCTION(0, 173), + DRV_GRP4, MTK_FUNCTION(0, "GPIO201"), MTK_FUNCTION(1, "CMHSYNC"), MTK_FUNCTION(2, "EINT173") ), - MTK_PIN(PINCTRL_PIN(202, "GPIO202"), - NULL, "mt6589", + MTK_PIN( + 202, "GPIO202", MTK_EINT_FUNCTION(0, 172), + DRV_GRP4, MTK_FUNCTION(0, "GPIO202"), MTK_FUNCTION(1, "CMVSYNC"), MTK_FUNCTION(2, "EINT172") ), - MTK_PIN(PINCTRL_PIN(203, "GPIO203"), - NULL, "mt6589", + MTK_PIN( + 203, "GPIO203", MTK_EINT_FUNCTION(0, 181), + DRV_GRP4, MTK_FUNCTION(0, "GPIO203"), MTK_FUNCTION(1, "CMDAT2"), MTK_FUNCTION(2, "EINT181"), MTK_FUNCTION(3, "CMCSD2") ), - MTK_PIN(PINCTRL_PIN(204, "GPIO204"), - NULL, "mt6589", + MTK_PIN( + 204, "GPIO204", MTK_EINT_FUNCTION(0, 180), + DRV_GRP4, MTK_FUNCTION(0, "GPIO204"), MTK_FUNCTION(1, "CMDAT3"), MTK_FUNCTION(2, "EINT180"), MTK_FUNCTION(3, "CMCSD3") ), - MTK_PIN(PINCTRL_PIN(205, "GPIO205"), - NULL, "mt6589", + MTK_PIN( + 205, "GPIO205", MTK_EINT_FUNCTION(0, 177), + DRV_GRP4, MTK_FUNCTION(0, "GPIO205"), MTK_FUNCTION(1, "CMDAT4"), MTK_FUNCTION(2, "EINT177") ), - MTK_PIN(PINCTRL_PIN(206, "GPIO206"), - NULL, "mt6589", + MTK_PIN( + 206, "GPIO206", MTK_EINT_FUNCTION(0, 176), + DRV_GRP4, MTK_FUNCTION(0, "GPIO206"), MTK_FUNCTION(1, "CMDAT5"), MTK_FUNCTION(2, "EINT176") ), - MTK_PIN(PINCTRL_PIN(207, "GPIO207"), - NULL, "mt6589", + MTK_PIN( + 207, "GPIO207", MTK_EINT_FUNCTION(0, 179), + DRV_GRP4, MTK_FUNCTION(0, "GPIO207"), MTK_FUNCTION(1, "CMDAT0"), MTK_FUNCTION(2, "EINT179"), MTK_FUNCTION(3, "CMCSD0") ), - MTK_PIN(PINCTRL_PIN(208, "GPIO208"), - NULL, "mt6589", + MTK_PIN( + 208, "GPIO208", MTK_EINT_FUNCTION(0, 178), + DRV_GRP4, MTK_FUNCTION(0, "GPIO208"), MTK_FUNCTION(1, "CMDAT1"), MTK_FUNCTION(2, "EINT178"), MTK_FUNCTION(3, "CMCSD1") ), - MTK_PIN(PINCTRL_PIN(209, "GPIO209"), - NULL, "mt6589", + MTK_PIN( + 209, "GPIO209", MTK_EINT_FUNCTION(0, 182), + DRV_GRP4, MTK_FUNCTION(0, "GPIO209"), MTK_FUNCTION(1, "CMPCLK"), MTK_FUNCTION(2, "EINT182"), @@ -2106,45 +2317,50 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "TS_AUXADC_SEL[3]"), MTK_FUNCTION(7, "TESTA_OUT27") ), - MTK_PIN(PINCTRL_PIN(210, "GPIO210"), - NULL, "mt6589", + MTK_PIN( + 210, "GPIO210", MTK_EINT_FUNCTION(0, 183), + DRV_GRP4, MTK_FUNCTION(0, "GPIO210"), MTK_FUNCTION(1, "CMMCLK"), MTK_FUNCTION(2, "EINT183"), MTK_FUNCTION(5, "TS_AUXADC_SEL[2]"), MTK_FUNCTION(7, "TESTA_OUT28") ), - MTK_PIN(PINCTRL_PIN(211, "GPIO211"), - NULL, "mt6589", + MTK_PIN( + 211, "GPIO211", MTK_EINT_FUNCTION(0, 185), + DRV_GRP4, MTK_FUNCTION(0, "GPIO211"), MTK_FUNCTION(1, "CMRST"), MTK_FUNCTION(2, "EINT185"), MTK_FUNCTION(5, "TS_AUXADC_SEL[1]"), MTK_FUNCTION(7, "TESTA_OUT30") ), - MTK_PIN(PINCTRL_PIN(212, "GPIO212"), - NULL, "mt6589", + MTK_PIN( + 212, "GPIO212", MTK_EINT_FUNCTION(0, 184), + DRV_GRP4, MTK_FUNCTION(0, "GPIO212"), MTK_FUNCTION(1, "CMPDN"), MTK_FUNCTION(2, "EINT184"), MTK_FUNCTION(5, "TS_AUXADC_SEL[0]"), MTK_FUNCTION(7, "TESTA_OUT29") ), - MTK_PIN(PINCTRL_PIN(213, "GPIO213"), - NULL, "mt6589", + MTK_PIN( + 213, "GPIO213", MTK_EINT_FUNCTION(0, 186), + DRV_GRP4, MTK_FUNCTION(0, "GPIO213"), MTK_FUNCTION(1, "CMFLASH"), MTK_FUNCTION(2, "EINT186"), MTK_FUNCTION(3, "CM2MCLK_3X"), MTK_FUNCTION(7, "TESTA_OUT31") ), - MTK_PIN(PINCTRL_PIN(214, "GPIO214"), - NULL, "mt6589", + MTK_PIN( + 214, "GPIO214", MTK_EINT_FUNCTION(0, 93), + DRV_GRP4, MTK_FUNCTION(0, "GPIO214"), MTK_FUNCTION(1, "SDA1"), MTK_FUNCTION(2, "EINT93"), @@ -2153,9 +2369,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "TS_AUX_SCLK_PWDB"), MTK_FUNCTION(7, "A_FUNC_DIN[17]") ), - MTK_PIN(PINCTRL_PIN(215, "GPIO215"), - NULL, "mt6589", + MTK_PIN( + 215, "GPIO215", MTK_EINT_FUNCTION(0, 92), + DRV_GRP4, MTK_FUNCTION(0, "GPIO215"), MTK_FUNCTION(1, "SCL1"), MTK_FUNCTION(2, "EINT92"), @@ -2164,9 +2381,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "TS_AUX_DIN"), MTK_FUNCTION(7, "A_FUNC_DIN[18]") ), - MTK_PIN(PINCTRL_PIN(216, "GPIO216"), - NULL, "mt6589", + MTK_PIN( + 216, "GPIO216", MTK_EINT_FUNCTION(0, 95), + DRV_GRP4, MTK_FUNCTION(0, "GPIO216"), MTK_FUNCTION(1, "SDA2"), MTK_FUNCTION(2, "EINT95"), @@ -2175,9 +2393,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "TS_AUX_PWDB"), MTK_FUNCTION(7, "A_FUNC_DIN[15]") ), - MTK_PIN(PINCTRL_PIN(217, "GPIO217"), - NULL, "mt6589", + MTK_PIN( + 217, "GPIO217", MTK_EINT_FUNCTION(0, 94), + DRV_GRP4, MTK_FUNCTION(0, "GPIO217"), MTK_FUNCTION(1, "SCL2"), MTK_FUNCTION(2, "EINT94"), @@ -2186,15 +2405,17 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "TS_AUXADC_TEST_CK"), MTK_FUNCTION(7, "A_FUNC_DIN[16]") ), - MTK_PIN(PINCTRL_PIN(218, "GPIO218"), - NULL, "mt6589", + MTK_PIN( + 218, "GPIO218", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO218"), MTK_FUNCTION(1, "SRCLKENAI") ), - MTK_PIN(PINCTRL_PIN(219, "GPIO219"), - NULL, "mt6589", + MTK_PIN( + 219, "GPIO219", MTK_EINT_FUNCTION(0, 87), + DRV_GRP4, MTK_FUNCTION(0, "GPIO219"), MTK_FUNCTION(1, "URXD3"), MTK_FUNCTION(2, "EINT87"), @@ -2204,9 +2425,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "PWM4"), MTK_FUNCTION(7, "MD2_EINT4") ), - MTK_PIN(PINCTRL_PIN(220, "GPIO220"), - NULL, "mt6589", + MTK_PIN( + 220, "GPIO220", MTK_EINT_FUNCTION(0, 86), + DRV_GRP4, MTK_FUNCTION(0, "GPIO220"), MTK_FUNCTION(1, "UTXD3"), MTK_FUNCTION(2, "EINT86"), @@ -2216,9 +2438,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "PWM3"), MTK_FUNCTION(7, "MD2_EINT3") ), - MTK_PIN(PINCTRL_PIN(221, "GPIO221"), - NULL, "mt6589", + MTK_PIN( + 221, "GPIO221", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO221"), MTK_FUNCTION(1, "MRG_I2S_PCM_CLK"), MTK_FUNCTION(3, "I2SIN_CK"), @@ -2227,9 +2450,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "IMG_TEST_CK"), MTK_FUNCTION(7, "USB_SCL") ), - MTK_PIN(PINCTRL_PIN(222, "GPIO222"), - NULL, "mt6589", + MTK_PIN( + 222, "GPIO222", MTK_EINT_FUNCTION(0, 16), + DRV_GRP4, MTK_FUNCTION(0, "GPIO222"), MTK_FUNCTION(1, "MRG_I2S_PCM_SYNC"), MTK_FUNCTION(2, "EINT16"), @@ -2237,9 +2461,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(4, "PCM0_WS"), MTK_FUNCTION(6, "DISP_TEST_CK") ), - MTK_PIN(PINCTRL_PIN(223, "GPIO223"), - NULL, "mt6589", + MTK_PIN( + 223, "GPIO223", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO223"), MTK_FUNCTION(1, "MRG_I2S_PCM_RX"), MTK_FUNCTION(3, "I2SIN_DAT"), @@ -2248,9 +2473,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MFG_TEST_CK"), MTK_FUNCTION(7, "USB_SDA") ), - MTK_PIN(PINCTRL_PIN(224, "GPIO224"), - NULL, "mt6589", + MTK_PIN( + 224, "GPIO224", MTK_EINT_FUNCTION(0, 17), + DRV_GRP4, MTK_FUNCTION(0, "GPIO224"), MTK_FUNCTION(1, "MRG_I2S_PCM_TX"), MTK_FUNCTION(2, "EINT17"), @@ -2258,9 +2484,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(4, "PCM0_DO"), MTK_FUNCTION(6, "VDEC_TEST_CK") ), - MTK_PIN(PINCTRL_PIN(225, "GPIO225"), - NULL, "mt6589", + MTK_PIN( + 225, "GPIO225", MTK_EINT_FUNCTION(0, 18), + DRV_GRP4, MTK_FUNCTION(0, "GPIO225"), MTK_FUNCTION(1, "MD1_DAI_RX_GPIO"), MTK_FUNCTION(2, "EINT18"), @@ -2269,9 +2496,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "DSP2_IMS"), MTK_FUNCTION(6, "VENC_TEST_CK") ), - MTK_PIN(PINCTRL_PIN(226, "GPIO226"), - NULL, "mt6589", + MTK_PIN( + 226, "GPIO226", MTK_EINT_FUNCTION(0, 71), + DRV_GRP4, MTK_FUNCTION(0, "GPIO226"), MTK_FUNCTION(1, "MSDC3_DAT2"), MTK_FUNCTION(2, "EINT71"), @@ -2280,9 +2508,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "CLKM4"), MTK_FUNCTION(7, "A_FUNC_DIN[0]") ), - MTK_PIN(PINCTRL_PIN(227, "GPIO227"), - NULL, "mt6589", + MTK_PIN( + 227, "GPIO227", MTK_EINT_FUNCTION(0, 72), + DRV_GRP4, MTK_FUNCTION(0, "GPIO227"), MTK_FUNCTION(1, "MSDC3_DAT3"), MTK_FUNCTION(2, "EINT72"), @@ -2291,9 +2520,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "CLKM5"), MTK_FUNCTION(7, "A_FUNC_CK") ), - MTK_PIN(PINCTRL_PIN(228, "GPIO228"), - NULL, "mt6589", + MTK_PIN( + 228, "GPIO228", MTK_EINT_FUNCTION(0, 68), + DRV_GRP4, MTK_FUNCTION(0, "GPIO228"), MTK_FUNCTION(1, "MSDC3_CMD"), MTK_FUNCTION(2, "EINT68"), @@ -2302,9 +2532,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "CLKM1"), MTK_FUNCTION(7, "A_FUNC_DIN[3]") ), - MTK_PIN(PINCTRL_PIN(229, "GPIO229"), - NULL, "mt6589", + MTK_PIN( + 229, "GPIO229", MTK_EINT_FUNCTION(0, 67), + DRV_GRP4, MTK_FUNCTION(0, "GPIO229"), MTK_FUNCTION(1, "MSDC3_CLK"), MTK_FUNCTION(2, "EINT67"), @@ -2313,9 +2544,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "CLKM0"), MTK_FUNCTION(7, "A_FUNC_DIN[4]") ), - MTK_PIN(PINCTRL_PIN(230, "GPIO230"), - NULL, "mt6589", + MTK_PIN( + 230, "GPIO230", MTK_EINT_FUNCTION(0, 70), + DRV_GRP4, MTK_FUNCTION(0, "GPIO230"), MTK_FUNCTION(1, "MSDC3_DAT1"), MTK_FUNCTION(2, "EINT70"), @@ -2324,9 +2556,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "CLKM3"), MTK_FUNCTION(7, "A_FUNC_DIN[1]") ), - MTK_PIN(PINCTRL_PIN(231, "GPIO231"), - NULL, "mt6589", + MTK_PIN( + 231, "GPIO231", MTK_EINT_FUNCTION(0, 69), + DRV_GRP4, MTK_FUNCTION(0, "GPIO231"), MTK_FUNCTION(1, "MSDC3_DAT0"), MTK_FUNCTION(2, "EINT69"), @@ -2337,153 +2570,176 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), /* GPIOEXT */ - MTK_PIN(PINCTRL_PIN(232, "GPIO0"), - NULL, "mt6589", + MTK_PIN( + 232, "GPIO0", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO0"), MTK_FUNCTION(1, "INT") ), - MTK_PIN(PINCTRL_PIN(233, "GPIO1"), - NULL, "mt6589", + MTK_PIN( + 233, "GPIO1", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO1"), MTK_FUNCTION(1, "SRCVOLTEN") ), - MTK_PIN(PINCTRL_PIN(234, "GPIO2"), - NULL, "mt6589", + MTK_PIN( + 234, "GPIO2", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO2"), MTK_FUNCTION(1, "SRCLKEN_PERI") ), - MTK_PIN(PINCTRL_PIN(235, "GPIO3"), - NULL, "mt6589", + MTK_PIN( + 235, "GPIO3", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO3"), MTK_FUNCTION(1, "SRCLKEN_MD2") ), - MTK_PIN(PINCTRL_PIN(236, "GPIO4"), - NULL, "mt6589", + MTK_PIN( + 236, "GPIO4", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO4"), MTK_FUNCTION(1, "RTC_32K1V8") ), - MTK_PIN(PINCTRL_PIN(237, "GPIO5"), - NULL, "mt6589", + MTK_PIN( + 237, "GPIO5", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO5"), MTK_FUNCTION(1, "WRAP_EVENT") ), - MTK_PIN(PINCTRL_PIN(238, "GPIO6"), - NULL, "mt6589", + MTK_PIN( + 238, "GPIO6", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO6"), MTK_FUNCTION(1, "SPI_CLK") ), - MTK_PIN(PINCTRL_PIN(239, "GPIO7"), - NULL, "mt6589", + MTK_PIN( + 239, "GPIO7", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO7"), MTK_FUNCTION(1, "SPI_CSN") ), - MTK_PIN(PINCTRL_PIN(240, "GPIO8"), - NULL, "mt6589", + MTK_PIN( + 240, "GPIO8", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO8"), MTK_FUNCTION(1, "SPI_MOSI") ), - MTK_PIN(PINCTRL_PIN(241, "GPIO9"), - NULL, "mt6589", + MTK_PIN( + 241, "GPIO9", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO9"), MTK_FUNCTION(1, "SPI_MISO") ), - MTK_PIN(PINCTRL_PIN(242, "GPIO10"), - NULL, "mt6589", + MTK_PIN( + 242, "GPIO10", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO10"), MTK_FUNCTION(1, "ADC_CK") ), - MTK_PIN(PINCTRL_PIN(243, "GPIO11"), - NULL, "mt6589", + MTK_PIN( + 243, "GPIO11", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO11"), MTK_FUNCTION(1, "ADC_WS") ), - MTK_PIN(PINCTRL_PIN(244, "GPIO12"), - NULL, "mt6589", + MTK_PIN( + 244, "GPIO12", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO12"), MTK_FUNCTION(1, "ADC_DAT") ), - MTK_PIN(PINCTRL_PIN(245, "GPIO13"), - NULL, "mt6589", + MTK_PIN( + 245, "GPIO13", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO13"), MTK_FUNCTION(1, "DAC_CK") ), - MTK_PIN(PINCTRL_PIN(246, "GPIO14"), - NULL, "mt6589", + MTK_PIN( + 246, "GPIO14", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO14"), MTK_FUNCTION(1, "DAC_WS") ), - MTK_PIN(PINCTRL_PIN(247, "GPIO15"), - NULL, "mt6589", + MTK_PIN( + 247, "GPIO15", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO15"), MTK_FUNCTION(1, "DAC_DAT") ), - MTK_PIN(PINCTRL_PIN(248, "GPIO16"), - NULL, "mt6589", + MTK_PIN( + 248, "GPIO16", MTK_EINT_FUNCTION(0, 10), + DRV_GRP4, MTK_FUNCTION(0, "GPIO16"), MTK_FUNCTION(1, "COL0_USBDL"), MTK_FUNCTION(2, "EINT10"), MTK_FUNCTION(3, "PWM1_3X") ), - MTK_PIN(PINCTRL_PIN(249, "GPIO17"), - NULL, "mt6589", + MTK_PIN( + 249, "GPIO17", MTK_EINT_FUNCTION(0, 11), + DRV_GRP4, MTK_FUNCTION(0, "GPIO17"), MTK_FUNCTION(1, "COL1"), MTK_FUNCTION(2, "EINT11"), MTK_FUNCTION(3, "SCL0_2X") ), - MTK_PIN(PINCTRL_PIN(250, "GPIO18"), - NULL, "mt6589", + MTK_PIN( + 250, "GPIO18", MTK_EINT_FUNCTION(0, 12), + DRV_GRP4, MTK_FUNCTION(0, "GPIO18"), MTK_FUNCTION(1, "COL2"), MTK_FUNCTION(2, "EINT12"), MTK_FUNCTION(3, "SDA0_2X") ), - MTK_PIN(PINCTRL_PIN(251, "GPIO19"), - NULL, "mt6589", + MTK_PIN( + 251, "GPIO19", MTK_EINT_FUNCTION(0, 13), + DRV_GRP4, MTK_FUNCTION(0, "GPIO19"), MTK_FUNCTION(1, "COL3"), MTK_FUNCTION(2, "EINT13"), MTK_FUNCTION(3, "SCL1_2X") ), - MTK_PIN(PINCTRL_PIN(252, "GPIO20"), - NULL, "mt6589", + MTK_PIN( + 252, "GPIO20", MTK_EINT_FUNCTION(0, 14), + DRV_GRP4, MTK_FUNCTION(0, "GPIO20"), MTK_FUNCTION(1, "COL4"), MTK_FUNCTION(2, "EINT14"), MTK_FUNCTION(3, "SDA1_2X") ), - MTK_PIN(PINCTRL_PIN(253, "GPIO21"), - NULL, "mt6589", + MTK_PIN( + 253, "GPIO21", MTK_EINT_FUNCTION(0, 15), + DRV_GRP4, MTK_FUNCTION(0, "GPIO21"), MTK_FUNCTION(1, "COL5"), MTK_FUNCTION(2, "EINT15"), MTK_FUNCTION(3, "SCL2_2X") ), - MTK_PIN(PINCTRL_PIN(254, "GPIO22"), - NULL, "mt6589", + MTK_PIN( + 254, "GPIO22", MTK_EINT_FUNCTION(0, 16), + DRV_GRP4, MTK_FUNCTION(0, "GPIO22"), MTK_FUNCTION(1, "COL6"), MTK_FUNCTION(2, "EINT16"), @@ -2491,9 +2747,10 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(4, "GPIO32K_0"), MTK_FUNCTION(5, "GPIO26M_0") ), - MTK_PIN(PINCTRL_PIN(255, "GPIO23"), - NULL, "mt6589", + MTK_PIN( + 255, "GPIO23", MTK_EINT_FUNCTION(0, 17), + DRV_GRP4, MTK_FUNCTION(0, "GPIO23"), MTK_FUNCTION(1, "COL7"), MTK_FUNCTION(2, "EINT17"), @@ -2501,57 +2758,64 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(4, "GPIO32K_1"), MTK_FUNCTION(5, "GPIO26M_1") ), - MTK_PIN(PINCTRL_PIN(256, "GPIO24"), - NULL, "mt6589", + MTK_PIN( + 256, "GPIO24", MTK_EINT_FUNCTION(0, 18), + DRV_GRP4, MTK_FUNCTION(0, "GPIO24"), MTK_FUNCTION(1, "ROW0"), MTK_FUNCTION(2, "EINT18"), MTK_FUNCTION(3, "SCL0_3X") ), - MTK_PIN(PINCTRL_PIN(257, "GPIO25"), - NULL, "mt6589", + MTK_PIN( + 257, "GPIO25", MTK_EINT_FUNCTION(0, 19), + DRV_GRP4, MTK_FUNCTION(0, "GPIO25"), MTK_FUNCTION(1, "ROW1"), MTK_FUNCTION(2, "EINT19"), MTK_FUNCTION(3, "SDA0_3X") ), - MTK_PIN(PINCTRL_PIN(258, "GPIO26"), - NULL, "mt6589", + MTK_PIN( + 258, "GPIO26", MTK_EINT_FUNCTION(0, 20), + DRV_GRP4, MTK_FUNCTION(0, "GPIO26"), MTK_FUNCTION(1, "ROW2"), MTK_FUNCTION(2, "EINT20"), MTK_FUNCTION(3, "SCL1_3X") ), - MTK_PIN(PINCTRL_PIN(259, "GPIO27"), - NULL, "mt6589", + MTK_PIN( + 259, "GPIO27", MTK_EINT_FUNCTION(0, 21), + DRV_GRP4, MTK_FUNCTION(0, "GPIO27"), MTK_FUNCTION(1, "ROW3"), MTK_FUNCTION(2, "EINT21"), MTK_FUNCTION(3, "SDA1_3X") ), - MTK_PIN(PINCTRL_PIN(260, "GPIO28"), - NULL, "mt6589", + MTK_PIN( + 260, "GPIO28", MTK_EINT_FUNCTION(0, 22), + DRV_GRP4, MTK_FUNCTION(0, "GPIO28"), MTK_FUNCTION(1, "ROW4"), MTK_FUNCTION(2, "EINT22"), MTK_FUNCTION(3, "SCL2_3X") ), - MTK_PIN(PINCTRL_PIN(261, "GPIO29"), - NULL, "mt6589", + MTK_PIN( + 261, "GPIO29", MTK_EINT_FUNCTION(0, 23), + DRV_GRP4, MTK_FUNCTION(0, "GPIO29"), MTK_FUNCTION(1, "ROW5"), MTK_FUNCTION(2, "EINT23"), MTK_FUNCTION(3, "SDA2_3X") ), - MTK_PIN(PINCTRL_PIN(262, "GPIO30"), - NULL, "mt6589", + MTK_PIN( + 262, "GPIO30", MTK_EINT_FUNCTION(0, 24), + DRV_GRP4, MTK_FUNCTION(0, "GPIO30"), MTK_FUNCTION(1, "ROW6"), MTK_FUNCTION(2, "EINT24"), @@ -2559,36 +2823,40 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(4, "GPIO32K_2"), MTK_FUNCTION(5, "GPIO26M_2") ), - MTK_PIN(PINCTRL_PIN(263, "GPIO31"), - NULL, "mt6589", + MTK_PIN( + 263, "GPIO31", MTK_EINT_FUNCTION(0, 3), + DRV_GRP4, MTK_FUNCTION(0, "GPIO31"), MTK_FUNCTION(1, "ROW7"), MTK_FUNCTION(2, "EINT3"), MTK_FUNCTION(4, "GPIO32K_3"), MTK_FUNCTION(5, "GPIO26M_3") ), - MTK_PIN(PINCTRL_PIN(264, "GPIO32"), - NULL, "mt6589", + MTK_PIN( + 264, "GPIO32", MTK_EINT_FUNCTION(0, 4), + DRV_GRP4, MTK_FUNCTION(0, "GPIO32"), MTK_FUNCTION(1, "PWM1"), MTK_FUNCTION(2, "EINT4"), MTK_FUNCTION(4, "GPIO32K_4"), MTK_FUNCTION(5, "GPIO26M_4") ), - MTK_PIN(PINCTRL_PIN(265, "GPIO33"), - NULL, "mt6589", + MTK_PIN( + 265, "GPIO33", MTK_EINT_FUNCTION(0, 5), + DRV_GRP4, MTK_FUNCTION(0, "GPIO33"), MTK_FUNCTION(1, "PWM2"), MTK_FUNCTION(2, "EINT5"), MTK_FUNCTION(4, "GPIO32K_5"), MTK_FUNCTION(5, "GPIO26M_5") ), - MTK_PIN(PINCTRL_PIN(266, "GPIO34"), - NULL, "mt6589", + MTK_PIN( + 266, "GPIO34", MTK_EINT_FUNCTION(0, 6), + DRV_GRP4, MTK_FUNCTION(0, "GPIO34"), MTK_FUNCTION(1, "PWM3"), MTK_FUNCTION(2, "EINT6"), @@ -2596,97 +2864,111 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(4, "GPIO32K_6"), MTK_FUNCTION(5, "GPIO26M_6") ), - MTK_PIN(PINCTRL_PIN(267, "GPIO35"), - NULL, "mt6589", + MTK_PIN( + 267, "GPIO35", MTK_EINT_FUNCTION(0, 7), + DRV_GRP4, MTK_FUNCTION(0, "GPIO35"), MTK_FUNCTION(1, "SCL0"), MTK_FUNCTION(2, "EINT7"), MTK_FUNCTION(3, "PWM1_2X") ), - MTK_PIN(PINCTRL_PIN(268, "GPIO36"), - NULL, "mt6589", + MTK_PIN( + 268, "GPIO36", MTK_EINT_FUNCTION(0, 8), + DRV_GRP4, MTK_FUNCTION(0, "GPIO36"), MTK_FUNCTION(1, "SDA0"), MTK_FUNCTION(2, "EINT8") ), - MTK_PIN(PINCTRL_PIN(269, "GPIO37"), - NULL, "mt6589", + MTK_PIN( + 269, "GPIO37", MTK_EINT_FUNCTION(0, 9), + DRV_GRP4, MTK_FUNCTION(0, "GPIO37"), MTK_FUNCTION(1, "SCL1"), MTK_FUNCTION(2, "EINT9"), MTK_FUNCTION(3, "PWM2_2X") ), - MTK_PIN(PINCTRL_PIN(270, "GPIO38"), - NULL, "mt6589", + MTK_PIN( + 270, "GPIO38", MTK_EINT_FUNCTION(0, 0), + DRV_GRP4, MTK_FUNCTION(0, "GPIO38"), MTK_FUNCTION(1, "SDA1"), MTK_FUNCTION(2, "EINT0") ), - MTK_PIN(PINCTRL_PIN(271, "GPIO39"), - NULL, "mt6589", + MTK_PIN( + 271, "GPIO39", MTK_EINT_FUNCTION(0, 1), + DRV_GRP4, MTK_FUNCTION(0, "GPIO39"), MTK_FUNCTION(1, "SCL2"), MTK_FUNCTION(2, "EINT1"), MTK_FUNCTION(3, "PWM3_2X") ), - MTK_PIN(PINCTRL_PIN(272, "GPIO40"), - NULL, "mt6589", + MTK_PIN( + 272, "GPIO40", MTK_EINT_FUNCTION(0, 2), + DRV_GRP4, MTK_FUNCTION(0, "GPIO40"), MTK_FUNCTION(1, "SDA2"), MTK_FUNCTION(2, "EINT2") ), - MTK_PIN(PINCTRL_PIN(273, "GPIO41"), - NULL, "mt6589", + MTK_PIN( + 273, "GPIO41", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO41"), MTK_FUNCTION(1, "SIM1_AP_SCLK") ), - MTK_PIN(PINCTRL_PIN(274, "GPIO42"), - NULL, "mt6589", + MTK_PIN( + 274, "GPIO42", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO42"), MTK_FUNCTION(1, "SIM1_AP_SRST") ), - MTK_PIN(PINCTRL_PIN(275, "GPIO43"), - NULL, "mt6589", + MTK_PIN( + 275, "GPIO43", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO43"), MTK_FUNCTION(1, "SIM2_AP_SCLK") ), - MTK_PIN(PINCTRL_PIN(276, "GPIO44"), - NULL, "mt6589", + MTK_PIN( + 276, "GPIO44", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO44"), MTK_FUNCTION(1, "SIM2_AP_SRST") ), - MTK_PIN(PINCTRL_PIN(277, "GPIO45"), - NULL, "mt6589", + MTK_PIN( + 277, "GPIO45", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO45"), MTK_FUNCTION(1, "SIMLS1_SCLK") ), - MTK_PIN(PINCTRL_PIN(278, "GPIO46"), - NULL, "mt6589", + MTK_PIN( + 278, "GPIO46", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO46"), MTK_FUNCTION(1, "SIMLS1_SRST") ), - MTK_PIN(PINCTRL_PIN(279, "GPIO47"), - NULL, "mt6589", + MTK_PIN( + 279, "GPIO47", MTK_EINT_FUNCTION(0, 10), + DRV_GRP4, MTK_FUNCTION(0, "GPIO47"), MTK_FUNCTION(1, "SIMLS2_SCLK"), MTK_FUNCTION(5, "EINT10") ), - MTK_PIN(PINCTRL_PIN(280, "GPIO48"), - NULL, "mt6589", + MTK_PIN( + 280, "GPIO48", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + DRV_GRP4, MTK_FUNCTION(0, "GPIO48"), MTK_FUNCTION(1, "SIMLS2_SRST") ), From d792e95469c3703c85bfd621820ba75590a2c63f Mon Sep 17 00:00:00 2001 From: -akku- Date: Sat, 8 Nov 2025 00:17:40 +0900 Subject: [PATCH 04/25] wip: pinctrl: mediatek: mt6589 (vibe cofing: https://gemini.google.com/share/bf80968f7021) --- drivers/pinctrl/mediatek/pinctrl-mt6589.c | 99 ++++++++++++++++++- drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h | 2 + 2 files changed, 98 insertions(+), 3 deletions(-) diff --git a/drivers/pinctrl/mediatek/pinctrl-mt6589.c b/drivers/pinctrl/mediatek/pinctrl-mt6589.c index 2345b25885fd63..8d3aeb6bf12b23 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt6589.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt6589.c @@ -13,16 +13,109 @@ * GPIOEXT_BASE: (0xC000) (PMIC GPIO base.) */ +#define PIN_FIELD_BASE(_s_pin, _e_pin, _i_base, _s_addr, _x_addrs, _s_bit, _x_bits) \ + PIN_FIELD_CALC(_s_pin, _e_pin, _i_base, _s_addr, _x_addrs, _s_bit, _x_bits, 16, 0) + +#define PINS_FIELD_BASE(_s_pin, _e_pin, _i_base, _s_addr, _x_addrs, _s_bit, _x_bits) \ + PIN_FIELD_CALC(_s_pin, _e_pin, _i_base, _s_addr, _x_addrs, _s_bit, _x_bits, 32, 1) + +#define MODE_FIELD_BASE(_s_pin, _e_pin, _i_base, _s_addr, _x_addrs, _s_bit, _x_bits) \ + PIN_FIELD_CALC(_s_pin, _e_pin, _i_base, _s_addr, _x_addrs, _s_bit, _x_bits, 5, 0) + +static const struct mtk_pin_field_calc mt6589_pin_mode_range[] = { + MODE_FIELD_BASE(0, 43, 0, 0x0C00, 0x10, 0, 3), + PINS_FIELD_BASE(44, 46, 0, 0x980, 0x00, 0, 4), + PINS_FIELD_BASE(47, 49, 0, 0x9A0, 0x00, 4, 4), + MODE_FIELD_BASE(50, 113, 0, 0x0C00 + (50/5)*0x10, 0x10, 0, 3), + MODE_FIELD_BASE(114, 169, 1, 0x0C00, 0x10, 0, 3), + MODE_FIELD_BASE(170, 231, 0, 0x0C00 + (170/5)*0x10, 0x10, 0, 3), +}; + +static const struct mtk_pin_field_calc mt6589_pin_dir_range[] = { + PIN_FIELD_BASE(0, 113, 0, 0x0000, 0x10, 0, 1), + PIN_FIELD_BASE(114, 169, 1, 0x0000, 0x10, 0, 1), + PIN_FIELD_BASE(170, 231, 0, 0x0000 + (170/16)*0x10, 0x10, 0, 1), +}; + +static const struct mtk_pin_field_calc mt6589_pin_di_range[] = { + PIN_FIELD_BASE(0, 43, 0, 0x0600, 0x10, 0, 1), + PINS_FIELD_BASE(44, 46, 0, 0x990, 0x00, 0, 1), + PINS_FIELD_BASE(47, 49, 0, 0x9B0, 0x00, 0, 1), + PIN_FIELD_BASE(50, 231, 0, 0x0600 + (50/16)*0x10, 0x10, 0, 1), +}; + +static const struct mtk_pin_field_calc mt6589_pin_do_range[] = { + PIN_FIELD_BASE(0, 231, 0, 0x0800, 0x10, 0, 1), +}; + +static const struct mtk_pin_field_calc mt6589_pin_ies_range[] = { + PIN_FIELD_BASE(0, 113, 0, 0x0100, 0x10, 0, 1), + PIN_FIELD_BASE(114, 169, 1, 0x0100, 0x10, 0, 1), + PIN_FIELD_BASE(170, 231, 0, 0x0100 + (170/16)*0x10, 0x10, 0, 1), +}; + +static const struct mtk_pin_field_calc mt6589_pin_smt_range[] = { +}; + +static const struct mtk_pin_field_calc mt6589_pin_pu_range[] = { + PIN_FIELD_BASE(0, 43, 0, 0x0200, 0x10, 0, 1), + PINS_FIELD_BASE(44, 46, 0, 0x990, 0x00, 4, 1), + PINS_FIELD_BASE(47, 49, 0, 0x9B0, 0x00, 4, 1), + PIN_FIELD_BASE(50, 113, 0, 0x0200 + (50/16)*0x10, 0x10, 0, 1), + PIN_FIELD_BASE(114, 169, 1, 0x0200, 0x10, 0, 1), + PIN_FIELD_BASE(170, 231, 0, 0x0200 + (170/16)*0x10, 0x10, 0, 1), +}; + +static const struct mtk_pin_field_calc mt6589_pin_pd_range[] = { + PIN_FIELD_BASE(0, 43, 0, 0x0400, 0x10, 0, 1), + PINS_FIELD_BASE(44, 46, 0, 0x990, 0x00, 8, 1), + PINS_FIELD_BASE(47, 49, 0, 0x9B0, 0x00, 8, 1), + PIN_FIELD_BASE(50, 113, 0, 0x0400 + (50/16)*0x10, 0x10, 0, 1), + PIN_FIELD_BASE(114, 169, 1, 0x0400, 0x10, 0, 1), + PIN_FIELD_BASE(170, 231, 0, 0x0400 + (170/16)*0x10, 0x10, 0, 1), +}; + +static const struct mtk_pin_field_calc mt6589_pin_drv_range[] = { +}; + +static const struct mtk_pin_field_calc mt6589_pin_pupd_range[] = { +}; + +static const struct mtk_pin_field_calc mt6589_pin_r0_range[] = { +}; + +static const struct mtk_pin_field_calc mt6589_pin_r1_range[] = { +}; + +static const struct mtk_pin_reg_calc mt6589_reg_cals[PINCTRL_PIN_REG_MAX] = { + [PINCTRL_PIN_REG_MODE] = MTK_RANGE(mt6589_pin_mode_range), + [PINCTRL_PIN_REG_DIR] = MTK_RANGE(mt6589_pin_dir_range), + [PINCTRL_PIN_REG_DI] = MTK_RANGE(mt6589_pin_di_range), + [PINCTRL_PIN_REG_DO] = MTK_RANGE(mt6589_pin_do_range), + [PINCTRL_PIN_REG_SMT] = MTK_RANGE(mt6589_pin_smt_range), + [PINCTRL_PIN_REG_IES] = MTK_RANGE(mt6589_pin_ies_range), + [PINCTRL_PIN_REG_PU] = MTK_RANGE(mt6589_pin_pu_range), + [PINCTRL_PIN_REG_PD] = MTK_RANGE(mt6589_pin_pd_range), + [PINCTRL_PIN_REG_DRV] = MTK_RANGE(mt6589_pin_drv_range), + [PINCTRL_PIN_REG_PUPD] = MTK_RANGE(mt6589_pin_pupd_range), + [PINCTRL_PIN_REG_R0] = MTK_RANGE(mt6589_pin_r0_range), + [PINCTRL_PIN_REG_R1] = MTK_RANGE(mt6589_pin_r1_range), +}; + +static const char * const mt6589_pinctrl_register_base_names[] = { + "gpio", "gpio1", +}; + static const struct mtk_pin_soc mt6589_pinctrl_data = { - // .reg_cal = mt6589_reg_cals, + .reg_cal = mt6589_reg_cals, .pins = mtk_pins_mt6589, .npins = ARRAY_SIZE(mtk_pins_mt6589), .ngrps = ARRAY_SIZE(mtk_pins_mt6589), // .eint_hw = &mt6589_eint_hw, // .gpio_m = 0, // .ies_present = true, - // .base_names = mt6589_pinctrl_register_base_names, - // .nbase_names = ARRAY_SIZE(mt6589_pinctrl_register_base_names), + .base_names = mt6589_pinctrl_register_base_names, + .nbase_names = ARRAY_SIZE(mt6589_pinctrl_register_base_names), // .bias_set_combo = mtk_pinconf_bias_set_combo, // .bias_get_combo = mtk_pinconf_bias_get_combo, // .drive_set = mtk_pinconf_drive_set_raw, diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h index c6697e608d474b..3090a997203205 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h @@ -2570,6 +2570,7 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { ), /* GPIOEXT */ +/* MTK_PIN( 232, "GPIO0", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), @@ -2972,6 +2973,7 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(0, "GPIO48"), MTK_FUNCTION(1, "SIMLS2_SRST") ), +*/ }; #endif /* __PINCTRL_MTK_MT6589_H */ From 2d73d422acd373933f9fd4bf1cd3f1e514504e2b Mon Sep 17 00:00:00 2001 From: akku Date: Fri, 2 Jan 2026 23:51:52 +0900 Subject: [PATCH 05/25] arm: dts: mediatek: mt6589: write pinctrl node (not enabled) --- arch/arm/boot/dts/mediatek/mt6589.dtsi | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/arch/arm/boot/dts/mediatek/mt6589.dtsi b/arch/arm/boot/dts/mediatek/mt6589.dtsi index deeb1494f15a3a..3a0b55a8209f89 100644 --- a/arch/arm/boot/dts/mediatek/mt6589.dtsi +++ b/arch/arm/boot/dts/mediatek/mt6589.dtsi @@ -143,6 +143,20 @@ #clock-cells = <1>; }; +/* + pio: pinctrl@10005000 { + compatible = "mediatek,mt6589-pinctrl"; + /* GPIO base: 0x10005000, GPIO1 base 0x1020C000*/ + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + interrupts = , + , + ; + }; +*/ + timer: timer@10008000 { compatible = "mediatek,mt6577-timer"; reg = <0x10008000 0x80>; From 7c42bc85c16bef79886a52bc2b43ed351aab4dce Mon Sep 17 00:00:00 2001 From: akku Date: Sat, 3 Jan 2026 00:05:19 +0900 Subject: [PATCH 06/25] Revert "wip: pinctrl: mediatek: mt6589 (vibe cofing: https://gemini.google.com/share/bf80968f7021)" This reverts commit d792e95469c3703c85bfd621820ba75590a2c63f. --- drivers/pinctrl/mediatek/pinctrl-mt6589.c | 99 +------------------ drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h | 2 - 2 files changed, 3 insertions(+), 98 deletions(-) diff --git a/drivers/pinctrl/mediatek/pinctrl-mt6589.c b/drivers/pinctrl/mediatek/pinctrl-mt6589.c index 8d3aeb6bf12b23..2345b25885fd63 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt6589.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt6589.c @@ -13,109 +13,16 @@ * GPIOEXT_BASE: (0xC000) (PMIC GPIO base.) */ -#define PIN_FIELD_BASE(_s_pin, _e_pin, _i_base, _s_addr, _x_addrs, _s_bit, _x_bits) \ - PIN_FIELD_CALC(_s_pin, _e_pin, _i_base, _s_addr, _x_addrs, _s_bit, _x_bits, 16, 0) - -#define PINS_FIELD_BASE(_s_pin, _e_pin, _i_base, _s_addr, _x_addrs, _s_bit, _x_bits) \ - PIN_FIELD_CALC(_s_pin, _e_pin, _i_base, _s_addr, _x_addrs, _s_bit, _x_bits, 32, 1) - -#define MODE_FIELD_BASE(_s_pin, _e_pin, _i_base, _s_addr, _x_addrs, _s_bit, _x_bits) \ - PIN_FIELD_CALC(_s_pin, _e_pin, _i_base, _s_addr, _x_addrs, _s_bit, _x_bits, 5, 0) - -static const struct mtk_pin_field_calc mt6589_pin_mode_range[] = { - MODE_FIELD_BASE(0, 43, 0, 0x0C00, 0x10, 0, 3), - PINS_FIELD_BASE(44, 46, 0, 0x980, 0x00, 0, 4), - PINS_FIELD_BASE(47, 49, 0, 0x9A0, 0x00, 4, 4), - MODE_FIELD_BASE(50, 113, 0, 0x0C00 + (50/5)*0x10, 0x10, 0, 3), - MODE_FIELD_BASE(114, 169, 1, 0x0C00, 0x10, 0, 3), - MODE_FIELD_BASE(170, 231, 0, 0x0C00 + (170/5)*0x10, 0x10, 0, 3), -}; - -static const struct mtk_pin_field_calc mt6589_pin_dir_range[] = { - PIN_FIELD_BASE(0, 113, 0, 0x0000, 0x10, 0, 1), - PIN_FIELD_BASE(114, 169, 1, 0x0000, 0x10, 0, 1), - PIN_FIELD_BASE(170, 231, 0, 0x0000 + (170/16)*0x10, 0x10, 0, 1), -}; - -static const struct mtk_pin_field_calc mt6589_pin_di_range[] = { - PIN_FIELD_BASE(0, 43, 0, 0x0600, 0x10, 0, 1), - PINS_FIELD_BASE(44, 46, 0, 0x990, 0x00, 0, 1), - PINS_FIELD_BASE(47, 49, 0, 0x9B0, 0x00, 0, 1), - PIN_FIELD_BASE(50, 231, 0, 0x0600 + (50/16)*0x10, 0x10, 0, 1), -}; - -static const struct mtk_pin_field_calc mt6589_pin_do_range[] = { - PIN_FIELD_BASE(0, 231, 0, 0x0800, 0x10, 0, 1), -}; - -static const struct mtk_pin_field_calc mt6589_pin_ies_range[] = { - PIN_FIELD_BASE(0, 113, 0, 0x0100, 0x10, 0, 1), - PIN_FIELD_BASE(114, 169, 1, 0x0100, 0x10, 0, 1), - PIN_FIELD_BASE(170, 231, 0, 0x0100 + (170/16)*0x10, 0x10, 0, 1), -}; - -static const struct mtk_pin_field_calc mt6589_pin_smt_range[] = { -}; - -static const struct mtk_pin_field_calc mt6589_pin_pu_range[] = { - PIN_FIELD_BASE(0, 43, 0, 0x0200, 0x10, 0, 1), - PINS_FIELD_BASE(44, 46, 0, 0x990, 0x00, 4, 1), - PINS_FIELD_BASE(47, 49, 0, 0x9B0, 0x00, 4, 1), - PIN_FIELD_BASE(50, 113, 0, 0x0200 + (50/16)*0x10, 0x10, 0, 1), - PIN_FIELD_BASE(114, 169, 1, 0x0200, 0x10, 0, 1), - PIN_FIELD_BASE(170, 231, 0, 0x0200 + (170/16)*0x10, 0x10, 0, 1), -}; - -static const struct mtk_pin_field_calc mt6589_pin_pd_range[] = { - PIN_FIELD_BASE(0, 43, 0, 0x0400, 0x10, 0, 1), - PINS_FIELD_BASE(44, 46, 0, 0x990, 0x00, 8, 1), - PINS_FIELD_BASE(47, 49, 0, 0x9B0, 0x00, 8, 1), - PIN_FIELD_BASE(50, 113, 0, 0x0400 + (50/16)*0x10, 0x10, 0, 1), - PIN_FIELD_BASE(114, 169, 1, 0x0400, 0x10, 0, 1), - PIN_FIELD_BASE(170, 231, 0, 0x0400 + (170/16)*0x10, 0x10, 0, 1), -}; - -static const struct mtk_pin_field_calc mt6589_pin_drv_range[] = { -}; - -static const struct mtk_pin_field_calc mt6589_pin_pupd_range[] = { -}; - -static const struct mtk_pin_field_calc mt6589_pin_r0_range[] = { -}; - -static const struct mtk_pin_field_calc mt6589_pin_r1_range[] = { -}; - -static const struct mtk_pin_reg_calc mt6589_reg_cals[PINCTRL_PIN_REG_MAX] = { - [PINCTRL_PIN_REG_MODE] = MTK_RANGE(mt6589_pin_mode_range), - [PINCTRL_PIN_REG_DIR] = MTK_RANGE(mt6589_pin_dir_range), - [PINCTRL_PIN_REG_DI] = MTK_RANGE(mt6589_pin_di_range), - [PINCTRL_PIN_REG_DO] = MTK_RANGE(mt6589_pin_do_range), - [PINCTRL_PIN_REG_SMT] = MTK_RANGE(mt6589_pin_smt_range), - [PINCTRL_PIN_REG_IES] = MTK_RANGE(mt6589_pin_ies_range), - [PINCTRL_PIN_REG_PU] = MTK_RANGE(mt6589_pin_pu_range), - [PINCTRL_PIN_REG_PD] = MTK_RANGE(mt6589_pin_pd_range), - [PINCTRL_PIN_REG_DRV] = MTK_RANGE(mt6589_pin_drv_range), - [PINCTRL_PIN_REG_PUPD] = MTK_RANGE(mt6589_pin_pupd_range), - [PINCTRL_PIN_REG_R0] = MTK_RANGE(mt6589_pin_r0_range), - [PINCTRL_PIN_REG_R1] = MTK_RANGE(mt6589_pin_r1_range), -}; - -static const char * const mt6589_pinctrl_register_base_names[] = { - "gpio", "gpio1", -}; - static const struct mtk_pin_soc mt6589_pinctrl_data = { - .reg_cal = mt6589_reg_cals, + // .reg_cal = mt6589_reg_cals, .pins = mtk_pins_mt6589, .npins = ARRAY_SIZE(mtk_pins_mt6589), .ngrps = ARRAY_SIZE(mtk_pins_mt6589), // .eint_hw = &mt6589_eint_hw, // .gpio_m = 0, // .ies_present = true, - .base_names = mt6589_pinctrl_register_base_names, - .nbase_names = ARRAY_SIZE(mt6589_pinctrl_register_base_names), + // .base_names = mt6589_pinctrl_register_base_names, + // .nbase_names = ARRAY_SIZE(mt6589_pinctrl_register_base_names), // .bias_set_combo = mtk_pinconf_bias_set_combo, // .bias_get_combo = mtk_pinconf_bias_get_combo, // .drive_set = mtk_pinconf_drive_set_raw, diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h index 3090a997203205..c6697e608d474b 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h @@ -2570,7 +2570,6 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { ), /* GPIOEXT */ -/* MTK_PIN( 232, "GPIO0", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), @@ -2973,7 +2972,6 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(0, "GPIO48"), MTK_FUNCTION(1, "SIMLS2_SRST") ), -*/ }; #endif /* __PINCTRL_MTK_MT6589_H */ From 22a3f55d2222caa5ea06b4c1ecfafd7c84abf656 Mon Sep 17 00:00:00 2001 From: akku Date: Sat, 3 Jan 2026 00:05:27 +0900 Subject: [PATCH 07/25] Revert "wip: pinctrl: mediatek: Rewrite MT6589 based on v2" This reverts commit 2c562a601218a63836d8b0e2494eadf65db51bb1. --- drivers/pinctrl/mediatek/Kconfig | 2 +- drivers/pinctrl/mediatek/pinctrl-mt6589.c | 75 +- drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h | 1418 +++++++---------- 3 files changed, 615 insertions(+), 880 deletions(-) diff --git a/drivers/pinctrl/mediatek/Kconfig b/drivers/pinctrl/mediatek/Kconfig index b2d5637f4d1423..8d9f84701793ac 100644 --- a/drivers/pinctrl/mediatek/Kconfig +++ b/drivers/pinctrl/mediatek/Kconfig @@ -102,7 +102,7 @@ config PINCTRL_MT6589 depends on MACH_MT6589 || COMPILE_TEST depends on OF default MACH_MT6589 - select PINCTRL_MTK_PARIS + select PINCTRL_MTK config PINCTRL_MT7623 bool "MediaTek MT7623 pin control with generic binding" diff --git a/drivers/pinctrl/mediatek/pinctrl-mt6589.c b/drivers/pinctrl/mediatek/pinctrl-mt6589.c index 2345b25885fd63..d314f32b1aaac8 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt6589.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt6589.c @@ -4,52 +4,69 @@ */ #include -#include "pinctrl-mtk-mt6589.h" -#include "pinctrl-paris.h" +#include +#include -/* - * GPIO_BASE: 0xF0005000 - * GPIO1_BASE: 0xF020C000 - * GPIOEXT_BASE: (0xC000) (PMIC GPIO base.) - */ +#include "pinctrl-mtk-common.h" +#include "pinctrl-mtk-mt6589.h" -static const struct mtk_pin_soc mt6589_pinctrl_data = { - // .reg_cal = mt6589_reg_cals, +static const struct mtk_pinctrl_devdata mt6589_pinctrl_data = { .pins = mtk_pins_mt6589, .npins = ARRAY_SIZE(mtk_pins_mt6589), - .ngrps = ARRAY_SIZE(mtk_pins_mt6589), - // .eint_hw = &mt6589_eint_hw, - // .gpio_m = 0, - // .ies_present = true, - // .base_names = mt6589_pinctrl_register_base_names, - // .nbase_names = ARRAY_SIZE(mt6589_pinctrl_register_base_names), - // .bias_set_combo = mtk_pinconf_bias_set_combo, - // .bias_get_combo = mtk_pinconf_bias_get_combo, - // .drive_set = mtk_pinconf_drive_set_raw, - // .drive_get = mtk_pinconf_drive_get_raw, - // .adv_pull_get = mtk_pinconf_adv_pull_get, - // .adv_pull_set = mtk_pinconf_adv_pull_set, + // .grp_desc = mt2701_drv_grp, + // .n_grp_cls = ARRAY_SIZE(mt2701_drv_grp), + // .pin_drv_grp = mt2701_pin_drv, + // .n_pin_drv_grps = ARRAY_SIZE(mt2701_pin_drv), + // .spec_ies = mt2701_ies_set, + // .n_spec_ies = ARRAY_SIZE(mt2701_ies_set), + // .spec_pupd = mt2701_spec_pupd, + // .n_spec_pupd = ARRAY_SIZE(mt2701_spec_pupd), + // .spec_smt = mt2701_smt_set, + // .n_spec_smt = ARRAY_SIZE(mt2701_smt_set), + // .spec_pull_set = mtk_pctrl_spec_pull_set_samereg, + // .spec_ies_smt_set = mtk_pconf_spec_set_ies_smt_range, + // .spec_pinmux_set = mt2701_spec_pinmux_set, + // .spec_dir_set = mt2701_spec_dir_set, + // .dir_offset = 0x0000, + // .pullen_offset = 0x0150, + // .pullsel_offset = 0x0280, + // .dout_offset = 0x0500, + // .din_offset = 0x0630, + // .pinmux_offset = 0x0760, + // .type1_start = 280, + // .type1_end = 280, + // .port_shf = 4, + // .port_mask = 0x1f, + // .port_align = 4, + // .mode_mask = 0xf, + // .mode_per_reg = 5, + // .mode_shf = 4, + // .eint_hw = { + // .port_mask = 6, + // .ports = 6, + // .ap_num = 169, + // .db_cnt = 16, + // .db_time = debounce_time_mt2701, + // }, }; -static const struct of_device_id mt6589_pinctrl_match[] = { +static const struct of_device_id mt6589_pctrl_match[] = { { .compatible = "mediatek,mt6589-pinctrl", .data = &mt6589_pinctrl_data }, {} }; MODULE_DEVICE_TABLE(of, mt6589_pctrl_match); -static struct platform_driver mt6589_pinctrl_driver = { - .probe = mtk_paris_pinctrl_probe, +static struct platform_driver mtk_pinctrl_driver = { + .probe = mtk_pctrl_common_probe, .driver = { .name = "mediatek-mt6589-pinctrl", - .of_match_table = mt6589_pinctrl_match, + .of_match_table = mt6589_pctrl_match, + .pm = pm_sleep_ptr(&mtk_eint_pm_ops), }, }; static int __init mtk_pinctrl_init(void) { - return platform_driver_register(&mt6589_pinctrl_driver); + return platform_driver_register(&mtk_pinctrl_driver); } arch_initcall(mtk_pinctrl_init); - -MODULE_LICENSE("GPL"); -MODULE_DESCRIPTION("MediaTek MT6589 Pinctrl Driver"); diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h index c6697e608d474b..1d844940d70787 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h @@ -6,19 +6,17 @@ #ifndef __PINCTRL_MTK_MT6589_H #define __PINCTRL_MTK_MT6589_H -#include "pinctrl-paris.h" +#include +#include "pinctrl-mtk-common.h" -/* TODO: - * Is eintmux (the first argument of the MTK_EINT_FUNCTION macro) always 0? - * It's 0 on the MT2701, but some SoCs may use non-zero values. - * DRV_GRP4??? - */ -static const struct mtk_pin_desc mtk_pins_mt6589[] = { +/* TODO: Is eintmux (the first argument of the MTK_EINT_FUNCTION macro) always 0? + It's 0 on the MT2701, but some SoCs may use non-zero values. +*/ +static const struct mtk_desc_pin mtk_pins_mt6589[] = { /* GPIO */ - MTK_PIN( - 0, "GPIO0", + MTK_PIN(PINCTRL_PIN(0, "GPIO0"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 49), - DRV_GRP4, MTK_FUNCTION(0, "GPIO0"), MTK_FUNCTION(1, "MSDC0_DAT7"), MTK_FUNCTION(2, "EINT49"), @@ -28,10 +26,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "SPI1_MO"), MTK_FUNCTION(7, "NALE") ), - MTK_PIN( - 1, "GPIO1", + MTK_PIN(PINCTRL_PIN(1, "GPIO1"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 48), - DRV_GRP4, MTK_FUNCTION(0, "GPIO1"), MTK_FUNCTION(1, "MSDC0_DAT6"), MTK_FUNCTION(2, "EINT48"), @@ -41,10 +38,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "SPI1_CSN"), MTK_FUNCTION(7, "NCLE") ), - MTK_PIN( - 2, "GPIO2", + MTK_PIN(PINCTRL_PIN(2, "GPIO2"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 47), - DRV_GRP4, MTK_FUNCTION(0, "GPIO2"), MTK_FUNCTION(1, "MSDC0_DAT5"), MTK_FUNCTION(2, "EINT47"), @@ -54,20 +50,18 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "SPI1_CLK"), MTK_FUNCTION(7, "NLD4") ), - MTK_PIN( - 3, "GPIO3", + MTK_PIN(PINCTRL_PIN(3, "GPIO3"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 46), - DRV_GRP4, MTK_FUNCTION(0, "GPIO3"), MTK_FUNCTION(1, "MSDC0_DAT4"), MTK_FUNCTION(2, "EINT46"), MTK_FUNCTION(6, "LSCE1B_2X"), MTK_FUNCTION(7, "NLD5") ), - MTK_PIN( - 4, "GPIO4", + MTK_PIN(PINCTRL_PIN(4, "GPIO4"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 50), - DRV_GRP4, MTK_FUNCTION(0, "GPIO4"), MTK_FUNCTION(1, "MSDC0_RSTB"), MTK_FUNCTION(2, "EINT50"), @@ -76,78 +70,70 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "SPI1_MI"), MTK_FUNCTION(7, "NLD10") ), - MTK_PIN( - 5, "GPIO5", + MTK_PIN(PINCTRL_PIN(5, "GPIO5"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 41), - DRV_GRP4, MTK_FUNCTION(0, "GPIO5"), MTK_FUNCTION(1, "MSDC0_CMD"), MTK_FUNCTION(2, "EINT41"), MTK_FUNCTION(6, "LRSTB_2X"), MTK_FUNCTION(7, "NRNB") ), - MTK_PIN( - 6, "GPIO6", + MTK_PIN(PINCTRL_PIN(6, "GPIO6"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 40), - DRV_GRP4, MTK_FUNCTION(0, "GPIO6"), MTK_FUNCTION(1, "MSDC0_CLK"), MTK_FUNCTION(2, "EINT40"), MTK_FUNCTION(6, "LPTE"), MTK_FUNCTION(7, "NREB") ), - MTK_PIN( - 7, "GPIO7", + MTK_PIN(PINCTRL_PIN(7, "GPIO7"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 45), - DRV_GRP4, MTK_FUNCTION(0, "GPIO7"), MTK_FUNCTION(1, "MSDC0_DAT3"), MTK_FUNCTION(2, "EINT45"), MTK_FUNCTION(6, "LSCE0B_2X"), MTK_FUNCTION(7, "NLD7") ), - MTK_PIN( - 8, "GPIO8", + MTK_PIN(PINCTRL_PIN(8, "GPIO8"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 44), - DRV_GRP4, MTK_FUNCTION(0, "GPIO8"), MTK_FUNCTION(1, "MSDC0_DAT2"), MTK_FUNCTION(2, "EINT44"), MTK_FUNCTION(6, "LSA0_2X"), MTK_FUNCTION(7, "NLD14") ), - MTK_PIN( - 9, "GPIO9", + MTK_PIN(PINCTRL_PIN(9, "GPIO9"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 43), - DRV_GRP4, MTK_FUNCTION(0, "GPIO9"), MTK_FUNCTION(1, "MSDC0_DAT1"), MTK_FUNCTION(2, "EINT43"), MTK_FUNCTION(6, "LSCK_2X"), MTK_FUNCTION(7, "NLD11") ), - MTK_PIN( - 10, "GPIO10", + MTK_PIN(PINCTRL_PIN(10, "GPIO10"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 42), - DRV_GRP4, MTK_FUNCTION(0, "GPIO10"), MTK_FUNCTION(1, "MSDC0_DAT0"), MTK_FUNCTION(2, "EINT42"), MTK_FUNCTION(6, "LSDA_2X") ), - MTK_PIN( - 11, "GPIO11", + MTK_PIN(PINCTRL_PIN(11, "GPIO11"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 139), - DRV_GRP4, MTK_FUNCTION(0, "GPIO11"), MTK_FUNCTION(1, "NCEB0"), MTK_FUNCTION(2, "EINT139"), MTK_FUNCTION(7, "TESTA_OUT4") ), - MTK_PIN( - 12, "GPIO12", + MTK_PIN(PINCTRL_PIN(12, "GPIO12"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 140), - DRV_GRP4, MTK_FUNCTION(0, "GPIO12"), MTK_FUNCTION(1, "NCEB1"), MTK_FUNCTION(2, "EINT140"), @@ -156,20 +142,18 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "USB_DRVVBUS"), MTK_FUNCTION(7, "TESTA_OUT5") ), - MTK_PIN( - 13, "GPIO13", + MTK_PIN(PINCTRL_PIN(13, "GPIO13"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 141), - DRV_GRP4, MTK_FUNCTION(0, "GPIO13"), MTK_FUNCTION(1, "NRNB"), MTK_FUNCTION(2, "EINT141"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[0]"), MTK_FUNCTION(7, "TESTA_OUT6") ), - MTK_PIN( - 14, "GPIO14", + MTK_PIN(PINCTRL_PIN(14, "GPIO14"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 142), - DRV_GRP4, MTK_FUNCTION(0, "GPIO14"), MTK_FUNCTION(1, "NCLE"), MTK_FUNCTION(2, "EINT142"), @@ -178,10 +162,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "NALE"), MTK_FUNCTION(7, "TESTA_OUT7") ), - MTK_PIN( - 15, "GPIO15", + MTK_PIN(PINCTRL_PIN(15, "GPIO15"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 143), - DRV_GRP4, MTK_FUNCTION(0, "GPIO15"), MTK_FUNCTION(1, "NALE"), MTK_FUNCTION(2, "EINT143"), @@ -191,10 +174,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "NCLE"), MTK_FUNCTION(7, "TESTA_OUT8") ), - MTK_PIN( - 16, "GPIO16", + MTK_PIN(PINCTRL_PIN(16, "GPIO16"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 144), - DRV_GRP4, MTK_FUNCTION(0, "GPIO16"), MTK_FUNCTION(1, "NREB"), MTK_FUNCTION(2, "EINT144"), @@ -204,10 +186,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[1]"), MTK_FUNCTION(7, "TESTA_OUT9") ), - MTK_PIN( - 17, "GPIO17", + MTK_PIN(PINCTRL_PIN(17, "GPIO17"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 145), - DRV_GRP4, MTK_FUNCTION(0, "GPIO17"), MTK_FUNCTION(1, "NWEB"), MTK_FUNCTION(2, "EINT145"), @@ -217,10 +198,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[2]"), MTK_FUNCTION(7, "TESTA_OUT10") ), - MTK_PIN( - 18, "GPIO18", + MTK_PIN(PINCTRL_PIN(18, "GPIO18"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 146), - DRV_GRP4, MTK_FUNCTION(0, "GPIO18"), MTK_FUNCTION(1, "NLD0"), MTK_FUNCTION(2, "EINT146"), @@ -230,10 +210,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "DAC_CK"), MTK_FUNCTION(7, "TESTA_OUT11") ), - MTK_PIN( - 19, "GPIO19", + MTK_PIN(PINCTRL_PIN(19, "GPIO19"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 147), - DRV_GRP4, MTK_FUNCTION(0, "GPIO19"), MTK_FUNCTION(1, "NLD1"), MTK_FUNCTION(2, "EINT147"), @@ -243,10 +222,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "DAC_WS"), MTK_FUNCTION(7, "TESTA_OUT12") ), - MTK_PIN( - 20, "GPIO20", + MTK_PIN(PINCTRL_PIN(20, "GPIO20"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 148), - DRV_GRP4, MTK_FUNCTION(0, "GPIO20"), MTK_FUNCTION(1, "NLD2"), MTK_FUNCTION(2, "EINT148"), @@ -256,10 +234,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "DAC_DAT_OUT"), MTK_FUNCTION(7, "TESTA_OUT13") ), - MTK_PIN( - 21, "GPIO21", + MTK_PIN(PINCTRL_PIN(21, "GPIO21"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 149), - DRV_GRP4, MTK_FUNCTION(0, "GPIO21"), MTK_FUNCTION(1, "NLD3"), MTK_FUNCTION(2, "EINT149"), @@ -268,10 +245,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[3]"), MTK_FUNCTION(7, "TESTA_OUT14") ), - MTK_PIN( - 22, "GPIO22", + MTK_PIN(PINCTRL_PIN(22, "GPIO22"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 150), - DRV_GRP4, MTK_FUNCTION(0, "GPIO22"), MTK_FUNCTION(1, "NLD4"), MTK_FUNCTION(2, "EINT150"), @@ -281,10 +257,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD2_DAI_RX_GPIO"), MTK_FUNCTION(7, "TESTA_OUT15") ), - MTK_PIN( - 23, "GPIO23", + MTK_PIN(PINCTRL_PIN(23, "GPIO23"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 151), - DRV_GRP4, MTK_FUNCTION(0, "GPIO23"), MTK_FUNCTION(1, "NLD5"), MTK_FUNCTION(2, "EINT151"), @@ -293,10 +268,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[4]"), MTK_FUNCTION(7, "TESTA_OUT16") ), - MTK_PIN( - 24, "GPIO24", + MTK_PIN(PINCTRL_PIN(24, "GPIO24"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 152), - DRV_GRP4, MTK_FUNCTION(0, "GPIO24"), MTK_FUNCTION(1, "NLD6"), MTK_FUNCTION(2, "EINT152"), @@ -305,10 +279,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[5]"), MTK_FUNCTION(7, "TESTA_OUT17") ), - MTK_PIN( - 25, "GPIO25", + MTK_PIN(PINCTRL_PIN(25, "GPIO25"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 153), - DRV_GRP4, MTK_FUNCTION(0, "GPIO25"), MTK_FUNCTION(1, "NLD7"), MTK_FUNCTION(2, "EINT153"), @@ -317,10 +290,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[6]"), MTK_FUNCTION(7, "TESTA_OUT18") ), - MTK_PIN( - 26, "GPIO26", + MTK_PIN(PINCTRL_PIN(26, "GPIO26"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 154), - DRV_GRP4, MTK_FUNCTION(0, "GPIO26"), MTK_FUNCTION(1, "NLD8"), MTK_FUNCTION(2, "EINT154"), @@ -329,10 +301,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[7]"), MTK_FUNCTION(7, "TESTA_OUT19") ), - MTK_PIN( - 27, "GPIO27", + MTK_PIN(PINCTRL_PIN(27, "GPIO27"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 155), - DRV_GRP4, MTK_FUNCTION(0, "GPIO27"), MTK_FUNCTION(1, "NLD9"), MTK_FUNCTION(2, "EINT155"), @@ -342,10 +313,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[8]"), MTK_FUNCTION(7, "TESTA_OUT20") ), - MTK_PIN( - 28, "GPIO28", + MTK_PIN(PINCTRL_PIN(28, "GPIO28"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 156), - DRV_GRP4, MTK_FUNCTION(0, "GPIO28"), MTK_FUNCTION(1, "NLD10"), MTK_FUNCTION(2, "EINT156"), @@ -355,10 +325,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[9]"), MTK_FUNCTION(7, "TESTA_OUT21") ), - MTK_PIN( - 29, "GPIO29", + MTK_PIN(PINCTRL_PIN(29, "GPIO29"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 157), - DRV_GRP4, MTK_FUNCTION(0, "GPIO29"), MTK_FUNCTION(1, "NLD11"), MTK_FUNCTION(2, "EINT157"), @@ -368,10 +337,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[10]"), MTK_FUNCTION(7, "TESTA_OUT22") ), - MTK_PIN( - 30, "GPIO30", + MTK_PIN(PINCTRL_PIN(30, "GPIO30"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 158), - DRV_GRP4, MTK_FUNCTION(0, "GPIO30"), MTK_FUNCTION(1, "NLD12"), MTK_FUNCTION(2, "EINT158"), @@ -381,10 +349,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[11]"), MTK_FUNCTION(7, "TESTA_OUT23") ), - MTK_PIN( - 31, "GPIO31", + MTK_PIN(PINCTRL_PIN(31, "GPIO31"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 159), - DRV_GRP4, MTK_FUNCTION(0, "GPIO31"), MTK_FUNCTION(1, "NLD13"), MTK_FUNCTION(2, "EINT159"), @@ -394,10 +361,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[12]"), MTK_FUNCTION(7, "TESTA_OUT24") ), - MTK_PIN( - 32, "GPIO32", + MTK_PIN(PINCTRL_PIN(32, "GPIO32"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 160), - DRV_GRP4, MTK_FUNCTION(0, "GPIO32"), MTK_FUNCTION(1, "NLD14"), MTK_FUNCTION(2, "EINT160"), @@ -407,10 +373,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[13]"), MTK_FUNCTION(7, "TESTA_OUT25") ), - MTK_PIN( - 33, "GPIO33", + MTK_PIN(PINCTRL_PIN(33, "GPIO33"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 161), - DRV_GRP4, MTK_FUNCTION(0, "GPIO33"), MTK_FUNCTION(1, "NLD15"), MTK_FUNCTION(2, "EINT161"), @@ -420,10 +385,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[14]"), MTK_FUNCTION(7, "TESTA_OUT26") ), - MTK_PIN( - 34, "GPIO34", + MTK_PIN(PINCTRL_PIN(34, "GPIO34"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 0), - DRV_GRP4, MTK_FUNCTION(0, "GPIO34"), MTK_FUNCTION(1, "EINT0"), MTK_FUNCTION(2, "PWM1"), @@ -432,10 +396,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD1_EINT1"), MTK_FUNCTION(7, "USB_SCL") ), - MTK_PIN( - 35, "GPIO35", + MTK_PIN(PINCTRL_PIN(35, "GPIO35"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 1), - DRV_GRP4, MTK_FUNCTION(0, "GPIO35"), MTK_FUNCTION(1, "EINT1"), MTK_FUNCTION(2, "PWM2"), @@ -444,10 +407,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD1_EINT2"), MTK_FUNCTION(7, "USB_SDA") ), - MTK_PIN( - 36, "GPIO36", + MTK_PIN(PINCTRL_PIN(36, "GPIO36"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 2), - DRV_GRP4, MTK_FUNCTION(0, "GPIO36"), MTK_FUNCTION(1, "EINT2"), MTK_FUNCTION(2, "PWM3"), @@ -455,19 +417,17 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(4, "SRCLKENAI2"), MTK_FUNCTION(6, "MD1_EINT3") ), - MTK_PIN( - 37, "GPIO37", + MTK_PIN(PINCTRL_PIN(37, "GPIO37"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 3), - DRV_GRP4, MTK_FUNCTION(0, "GPIO37"), MTK_FUNCTION(1, "EINT3"), MTK_FUNCTION(6, "MD1_EINT5"), MTK_FUNCTION(7, "EXT_26M_CK") ), - MTK_PIN( - 38, "GPIO38", + MTK_PIN(PINCTRL_PIN(38, "GPIO38"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 4), - DRV_GRP4, MTK_FUNCTION(0, "GPIO38"), MTK_FUNCTION(1, "EINT4"), MTK_FUNCTION(2, "PWM4"), @@ -476,50 +436,44 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_DRVVBUS"), MTK_FUNCTION(6, "MD1_EINT4") ), - MTK_PIN( - 39, "GPIO39", + MTK_PIN(PINCTRL_PIN(39, "GPIO39"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 29), - DRV_GRP4, MTK_FUNCTION(0, "GPIO39"), MTK_FUNCTION(1, "PWRAP_SPIDI"), MTK_FUNCTION(2, "EINT29") ), - MTK_PIN( - 40, "GPIO40", + MTK_PIN(PINCTRL_PIN(40, "GPIO40"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 28), - DRV_GRP4, MTK_FUNCTION(0, "GPIO40"), MTK_FUNCTION(1, "PWRAP_SPIDO"), MTK_FUNCTION(2, "EINT28") ), - MTK_PIN( - 41, "GPIO41", + MTK_PIN(PINCTRL_PIN(41, "GPIO41"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 27), - DRV_GRP4, MTK_FUNCTION(0, "GPIO41"), MTK_FUNCTION(1, "PWRAP_SPICS_B_I"), MTK_FUNCTION(2, "EINT27") ), - MTK_PIN( - 42, "GPIO42", + MTK_PIN(PINCTRL_PIN(42, "GPIO42"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 26), - DRV_GRP4, MTK_FUNCTION(0, "GPIO42"), MTK_FUNCTION(1, "PWRAP_SPICK_I"), MTK_FUNCTION(2, "EINT26") ), - MTK_PIN( - 43, "GPIO43", + MTK_PIN(PINCTRL_PIN(43, "GPIO43"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 25), - DRV_GRP4, MTK_FUNCTION(0, "GPIO43"), MTK_FUNCTION(1, "PWRAP_EVENT_IN"), MTK_FUNCTION(2, "EINT25") ), - MTK_PIN( - 44, "GPIO44", + MTK_PIN(PINCTRL_PIN(44, "GPIO44"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 30), - DRV_GRP4, MTK_FUNCTION(0, "GPIO44"), MTK_FUNCTION(1, "MD1_SIM1_SCLK"), MTK_FUNCTION(2, "EINT30"), @@ -528,10 +482,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "MD2_SIM2_SCLK"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[15]") ), - MTK_PIN( - 45, "GPIO45", + MTK_PIN(PINCTRL_PIN(45, "GPIO45"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 31), - DRV_GRP4, MTK_FUNCTION(0, "GPIO45"), MTK_FUNCTION(1, "MD1_SIM1_SRST"), MTK_FUNCTION(2, "EINT31"), @@ -540,10 +493,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "MD2_SIM2_SRST"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[16]") ), - MTK_PIN( - 46, "GPIO46", + MTK_PIN(PINCTRL_PIN(46, "GPIO46"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 32), - DRV_GRP4, MTK_FUNCTION(0, "GPIO46"), MTK_FUNCTION(1, "MD1_SIM1_SDAT"), MTK_FUNCTION(2, "EINT32"), @@ -552,10 +504,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "MD2_SIM2_SDAT"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[17]") ), - MTK_PIN( - 47, "GPIO47", + MTK_PIN(PINCTRL_PIN(47, "GPIO47"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 33), - DRV_GRP4, MTK_FUNCTION(0, "GPIO47"), MTK_FUNCTION(1, "MD1_SIM2_SCLK"), MTK_FUNCTION(2, "EINT33"), @@ -564,10 +515,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "MD2_SIM1_SCLK"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[18]") ), - MTK_PIN( - 48, "GPIO48", + MTK_PIN(PINCTRL_PIN(48, "GPIO48"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 34), - DRV_GRP4, MTK_FUNCTION(0, "GPIO48"), MTK_FUNCTION(1, "MD1_SIM2_SRST"), MTK_FUNCTION(2, "EINT34"), @@ -576,10 +526,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "MD2_SIM1_SRST"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[19]") ), - MTK_PIN( - 49, "GPIO49", + MTK_PIN(PINCTRL_PIN(49, "GPIO49"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 35), - DRV_GRP4, MTK_FUNCTION(0, "GPIO49"), MTK_FUNCTION(1, "MD1_SIM2_SDAT"), MTK_FUNCTION(2, "EINT35"), @@ -588,166 +537,147 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "MD2_SIM1_SDAT"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[20]") ), - MTK_PIN( - 50, "GPIO50", + MTK_PIN(PINCTRL_PIN(50, "GPIO50"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 19), - DRV_GRP4, MTK_FUNCTION(0, "GPIO50"), MTK_FUNCTION(1, "ADC_CK"), MTK_FUNCTION(2, "EINT19") ), - MTK_PIN( - 51, "GPIO51", + MTK_PIN(PINCTRL_PIN(51, "GPIO51"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 21), - DRV_GRP4, MTK_FUNCTION(0, "GPIO51"), MTK_FUNCTION(1, "ADC_WS"), MTK_FUNCTION(2, "EINT21") ), - MTK_PIN( - 52, "GPIO52", + MTK_PIN(PINCTRL_PIN(52, "GPIO52"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 20), - DRV_GRP4, MTK_FUNCTION(0, "GPIO52"), MTK_FUNCTION(1, "ADC_DAT_IN"), MTK_FUNCTION(2, "EINT20") ), - MTK_PIN( - 53, "GPIO53", + MTK_PIN(PINCTRL_PIN(53, "GPIO53"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 22), - DRV_GRP4, MTK_FUNCTION(0, "GPIO53"), MTK_FUNCTION(1, "DAC_CK"), MTK_FUNCTION(2, "EINT22") ), - MTK_PIN( - 54, "GPIO54", + MTK_PIN(PINCTRL_PIN(54, "GPIO54"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 24), - DRV_GRP4, MTK_FUNCTION(0, "GPIO54"), MTK_FUNCTION(1, "DAC_WS"), MTK_FUNCTION(2, "EINT24") ), - MTK_PIN( - 55, "GPIO55", + MTK_PIN(PINCTRL_PIN(55, "GPIO55"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 23), - DRV_GRP4, MTK_FUNCTION(0, "GPIO55"), MTK_FUNCTION(1, "DAC_DAT_OUT"), MTK_FUNCTION(2, "EINT23") ), - MTK_PIN( - 56, "GPIO56", + MTK_PIN(PINCTRL_PIN(56, "GPIO56"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO56"), MTK_FUNCTION(1, "RTC32K_CK") ), - MTK_PIN( - 57, "GPIO57", + MTK_PIN(PINCTRL_PIN(57, "GPIO57"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 34), - DRV_GRP4, MTK_FUNCTION(0, "GPIO57"), MTK_FUNCTION(1, "IDDIG"), MTK_FUNCTION(2, "EINT34") ), - MTK_PIN( - 58, "GPIO58", + MTK_PIN(PINCTRL_PIN(58, "GPIO58"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 36), - DRV_GRP4, MTK_FUNCTION(0, "GPIO58"), MTK_FUNCTION(1, "WATCHDOG"), MTK_FUNCTION(2, "EINT36") ), - MTK_PIN( - 59, "GPIO59", + MTK_PIN(PINCTRL_PIN(59, "GPIO59"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 38), - DRV_GRP4, MTK_FUNCTION(0, "GPIO59"), MTK_FUNCTION(1, "SRCLKENA"), MTK_FUNCTION(2, "EINT38") ), - MTK_PIN( - 60, "GPIO60", + MTK_PIN(PINCTRL_PIN(60, "GPIO60"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 37), - DRV_GRP4, MTK_FUNCTION(0, "GPIO60"), MTK_FUNCTION(1, "SRCVOLTEN"), MTK_FUNCTION(2, "EINT37") ), - MTK_PIN( - 61, "GPIO61", + MTK_PIN(PINCTRL_PIN(61, "GPIO61"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 188), - DRV_GRP4, MTK_FUNCTION(0, "GPIO61"), MTK_FUNCTION(1, "JTCK"), MTK_FUNCTION(2, "EINT188"), MTK_FUNCTION(3, "DSP1_ICK"), MTK_FUNCTION(7, "MD2_TCK_PAD") ), - MTK_PIN( - 62, "GPIO62", + MTK_PIN(PINCTRL_PIN(62, "GPIO62"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 190), - DRV_GRP4, MTK_FUNCTION(0, "GPIO62"), MTK_FUNCTION(1, "JTDO"), MTK_FUNCTION(2, "EINT190"), MTK_FUNCTION(3, "DSP2_IMS"), MTK_FUNCTION(7, "MD2_TDO_PAD") ), - MTK_PIN( - 63, "GPIO63", + MTK_PIN(PINCTRL_PIN(63, "GPIO63"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 0), - DRV_GRP4, MTK_FUNCTION(0, "GPIO63"), MTK_FUNCTION(1, "JTRST_B"), MTK_FUNCTION(2, "EINT0"), MTK_FUNCTION(3, "DSP2_ICK"), MTK_FUNCTION(7, "MD2_NTRST_PAD") ), - MTK_PIN( - 64, "GPIO64", + MTK_PIN(PINCTRL_PIN(64, "GPIO64"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 189), - DRV_GRP4, MTK_FUNCTION(0, "GPIO64"), MTK_FUNCTION(1, "JTDI"), MTK_FUNCTION(2, "EINT189"), MTK_FUNCTION(3, "DSP1_IMS"), MTK_FUNCTION(7, "MD2_TDI_PAD") ), - MTK_PIN( - 65, "GPIO65", + MTK_PIN(PINCTRL_PIN(65, "GPIO65"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 187), - DRV_GRP4, MTK_FUNCTION(0, "GPIO65"), MTK_FUNCTION(1, "JRTCK"), MTK_FUNCTION(2, "EINT187"), MTK_FUNCTION(3, "DSP1_ID"), MTK_FUNCTION(7, "MD2_RTCK_PAD") ), - MTK_PIN( - 66, "GPIO66", + MTK_PIN(PINCTRL_PIN(66, "GPIO66"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 191), - DRV_GRP4, MTK_FUNCTION(0, "GPIO66"), MTK_FUNCTION(1, "JTMS"), MTK_FUNCTION(2, "EINT191"), MTK_FUNCTION(3, "DSP2_ID"), MTK_FUNCTION(7, "MD2_TMS_PAD") ), - MTK_PIN( - 67, "GPIO67", + MTK_PIN(PINCTRL_PIN(67, "GPIO67"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 97), - DRV_GRP4, MTK_FUNCTION(0, "GPIO67"), MTK_FUNCTION(1, "SDA3"), MTK_FUNCTION(2, "EINT97"), MTK_FUNCTION(7, "A_FUNC_DIN[13]") ), - MTK_PIN( - 68, "GPIO68", + MTK_PIN(PINCTRL_PIN(68, "GPIO68"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 96), - DRV_GRP4, MTK_FUNCTION(0, "GPIO68"), MTK_FUNCTION(1, "SCL3"), MTK_FUNCTION(2, "EINT96"), @@ -755,10 +685,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(4, "PWM6"), MTK_FUNCTION(7, "A_FUNC_DIN[14]") ), - MTK_PIN( - 69, "GPIO69", + MTK_PIN(PINCTRL_PIN(69, "GPIO69"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 83), - DRV_GRP4, MTK_FUNCTION(0, "GPIO69"), MTK_FUNCTION(1, "URXD2"), MTK_FUNCTION(2, "EINT83"), @@ -768,10 +697,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "UTXD2"), MTK_FUNCTION(7, "MD1_EINT4") ), - MTK_PIN( - 70, "GPIO70", + MTK_PIN(PINCTRL_PIN(70, "GPIO70"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 82), - DRV_GRP4, MTK_FUNCTION(0, "GPIO70"), MTK_FUNCTION(1, "UTXD2"), MTK_FUNCTION(2, "EINT82"), @@ -781,10 +709,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "URXD2"), MTK_FUNCTION(7, "MD1_EINT3") ), - MTK_PIN( - 71, "GPIO71", + MTK_PIN(PINCTRL_PIN(71, "GPIO71"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 84), - DRV_GRP4, MTK_FUNCTION(0, "GPIO71"), MTK_FUNCTION(1, "UCTS2"), MTK_FUNCTION(2, "EINT84"), @@ -794,10 +721,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "URTS2"), MTK_FUNCTION(7, "MD2_EINT1") ), - MTK_PIN( - 72, "GPIO72", + MTK_PIN(PINCTRL_PIN(72, "GPIO72"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 85), - DRV_GRP4, MTK_FUNCTION(0, "GPIO72"), MTK_FUNCTION(1, "URTS2"), MTK_FUNCTION(2, "EINT85"), @@ -807,10 +733,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "UCTS2"), MTK_FUNCTION(7, "MD2_EINT2") ), - MTK_PIN( - 73, "GPIO73", + MTK_PIN(PINCTRL_PIN(73, "GPIO73"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 73), - DRV_GRP4, MTK_FUNCTION(0, "GPIO73"), MTK_FUNCTION(1, "PWM1"), MTK_FUNCTION(2, "EINT73"), @@ -820,10 +745,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "DISP_PWM"), MTK_FUNCTION(7, "MD2_TCK_PAD") ), - MTK_PIN( - 74, "GPIO74", + MTK_PIN(PINCTRL_PIN(74, "GPIO74"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 74), - DRV_GRP4, MTK_FUNCTION(0, "GPIO74"), MTK_FUNCTION(1, "PWM2"), MTK_FUNCTION(2, "EINT74"), @@ -833,10 +757,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "DISP_PWM"), MTK_FUNCTION(7, "MD2_RTCK_PAD") ), - MTK_PIN( - 75, "GPIO75", + MTK_PIN(PINCTRL_PIN(75, "GPIO75"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 75), - DRV_GRP4, MTK_FUNCTION(0, "GPIO75"), MTK_FUNCTION(1, "PWM3"), MTK_FUNCTION(2, "EINT75"), @@ -846,10 +769,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "DISP_PWM"), MTK_FUNCTION(7, "MD2_NTRST_PAD") ), - MTK_PIN( - 76, "GPIO76", + MTK_PIN(PINCTRL_PIN(76, "GPIO76"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 76), - DRV_GRP4, MTK_FUNCTION(0, "GPIO76"), MTK_FUNCTION(1, "PWM4"), MTK_FUNCTION(2, "EINT76"), @@ -858,10 +780,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "DISP_PWM"), MTK_FUNCTION(7, "MD2_TMS_PAD") ), - MTK_PIN( - 77, "GPIO77", + MTK_PIN(PINCTRL_PIN(77, "GPIO77"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 79), - DRV_GRP4, MTK_FUNCTION(0, "GPIO77"), MTK_FUNCTION(1, "URXD1"), MTK_FUNCTION(2, "EINT79"), @@ -871,10 +792,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "UTXD1"), MTK_FUNCTION(7, "MD2_TDO_PAD") ), - MTK_PIN( - 78, "GPIO78", + MTK_PIN(PINCTRL_PIN(78, "GPIO78"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 78), - DRV_GRP4, MTK_FUNCTION(0, "GPIO78"), MTK_FUNCTION(1, "UTXD1"), MTK_FUNCTION(2, "EINT78"), @@ -884,10 +804,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "URXD1"), MTK_FUNCTION(7, "MD2_TDI_PAD") ), - MTK_PIN( - 79, "GPIO79", + MTK_PIN(PINCTRL_PIN(79, "GPIO79"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 80), - DRV_GRP4, MTK_FUNCTION(0, "GPIO79"), MTK_FUNCTION(1, "UCTS1"), MTK_FUNCTION(2, "EINT80"), @@ -897,10 +816,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "URTS1"), MTK_FUNCTION(7, "MD1_EINT1") ), - MTK_PIN( - 80, "GPIO80", + MTK_PIN(PINCTRL_PIN(80, "GPIO80"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 81), - DRV_GRP4, MTK_FUNCTION(0, "GPIO80"), MTK_FUNCTION(1, "URTS1"), MTK_FUNCTION(2, "EINT81"), @@ -910,10 +828,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "UCTS1"), MTK_FUNCTION(7, "MD1_EINT2") ), - MTK_PIN( - 81, "GPIO81", + MTK_PIN(PINCTRL_PIN(81, "GPIO81"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 89), - DRV_GRP4, MTK_FUNCTION(0, "GPIO81"), MTK_FUNCTION(1, "URXD4"), MTK_FUNCTION(2, "EINT89"), @@ -923,10 +840,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "UTXD4"), MTK_FUNCTION(7, "MD2_EINT5") ), - MTK_PIN( - 82, "GPIO82", + MTK_PIN(PINCTRL_PIN(82, "GPIO82"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 88), - DRV_GRP4, MTK_FUNCTION(0, "GPIO82"), MTK_FUNCTION(1, "UTXD4"), MTK_FUNCTION(2, "EINT88"), @@ -936,10 +852,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "URXD4"), MTK_FUNCTION(7, "MD1_EINT5") ), - MTK_PIN( - 83, "GPIO83", + MTK_PIN(PINCTRL_PIN(83, "GPIO83"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 1), - DRV_GRP4, MTK_FUNCTION(0, "GPIO83"), MTK_FUNCTION(1, "DUAL_BPI1_BUS0"), MTK_FUNCTION(2, "EINT1"), @@ -947,10 +862,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[0]"), MTK_FUNCTION(7, "A_FUNC_DIN[31]") ), - MTK_PIN( - 84, "GPIO84", + MTK_PIN(PINCTRL_PIN(84, "GPIO84"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 2), - DRV_GRP4, MTK_FUNCTION(0, "GPIO84"), MTK_FUNCTION(1, "DUAL_BPI1_BUS1"), MTK_FUNCTION(2, "EINT2"), @@ -958,10 +872,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[1]"), MTK_FUNCTION(7, "A_FUNC_DIN[30]") ), - MTK_PIN( - 85, "GPIO85", + MTK_PIN(PINCTRL_PIN(85, "GPIO85"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 3), - DRV_GRP4, MTK_FUNCTION(0, "GPIO85"), MTK_FUNCTION(1, "DUAL_BPI1_BUS2"), MTK_FUNCTION(2, "EINT3"), @@ -969,10 +882,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[2]"), MTK_FUNCTION(7, "A_FUNC_DIN[29]") ), - MTK_PIN( - 86, "GPIO86", + MTK_PIN(PINCTRL_PIN(86, "GPIO86"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 4), - DRV_GRP4, MTK_FUNCTION(0, "GPIO86"), MTK_FUNCTION(1, "DUAL_BPI1_BUS3"), MTK_FUNCTION(2, "EINT4"), @@ -980,10 +892,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[3]"), MTK_FUNCTION(7, "A_FUNC_DIN[28]") ), - MTK_PIN( - 87, "GPIO87", + MTK_PIN(PINCTRL_PIN(87, "GPIO87"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 5), - DRV_GRP4, MTK_FUNCTION(0, "GPIO87"), MTK_FUNCTION(1, "DUAL_BPI1_BUS4"), MTK_FUNCTION(2, "EINT5"), @@ -991,10 +902,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[4]"), MTK_FUNCTION(7, "A_FUNC_DIN[27]") ), - MTK_PIN( - 88, "GPIO88", + MTK_PIN(PINCTRL_PIN(88, "GPIO88"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 6), - DRV_GRP4, MTK_FUNCTION(0, "GPIO88"), MTK_FUNCTION(1, "DUAL_BPI1_BUS5"), MTK_FUNCTION(2, "EINT6"), @@ -1002,10 +912,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[5]"), MTK_FUNCTION(7, "A_FUNC_DIN[26]") ), - MTK_PIN( - 89, "GPIO89", + MTK_PIN(PINCTRL_PIN(89, "GPIO89"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 7), - DRV_GRP4, MTK_FUNCTION(0, "GPIO89"), MTK_FUNCTION(1, "DUAL_BPI1_BUS6"), MTK_FUNCTION(2, "EINT7"), @@ -1013,10 +922,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[6]"), MTK_FUNCTION(7, "A_FUNC_DIN[25]") ), - MTK_PIN( - 90, "GPIO90", + MTK_PIN(PINCTRL_PIN(90, "GPIO90"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 8), - DRV_GRP4, MTK_FUNCTION(0, "GPIO90"), MTK_FUNCTION(1, "DUAL_BPI1_BUS7"), MTK_FUNCTION(2, "EINT8"), @@ -1026,10 +934,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "USB_DRVVBUS"), MTK_FUNCTION(7, "A_FUNC_DIN[24]") ), - MTK_PIN( - 91, "GPIO91", + MTK_PIN(PINCTRL_PIN(91, "GPIO91"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 9), - DRV_GRP4, MTK_FUNCTION(0, "GPIO91"), MTK_FUNCTION(1, "DUAL_BPI1_BUS8"), MTK_FUNCTION(2, "EINT9"), @@ -1037,10 +944,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[8]"), MTK_FUNCTION(7, "A_FUNC_DIN[23]") ), - MTK_PIN( - 92, "GPIO92", + MTK_PIN(PINCTRL_PIN(92, "GPIO92"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 10), - DRV_GRP4, MTK_FUNCTION(0, "GPIO92"), MTK_FUNCTION(1, "DUAL_BPI1_BUS9"), MTK_FUNCTION(2, "EINT10"), @@ -1048,60 +954,54 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[9]"), MTK_FUNCTION(7, "A_FUNC_DIN[22]") ), - MTK_PIN( - 93, "GPIO93", + MTK_PIN(PINCTRL_PIN(93, "GPIO93"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 11), - DRV_GRP4, MTK_FUNCTION(0, "GPIO93"), MTK_FUNCTION(1, "DUAL_BPI1_BUS10"), MTK_FUNCTION(2, "EINT11"), MTK_FUNCTION(5, "USB_TEST_IO[10]"), MTK_FUNCTION(7, "A_FUNC_DIN[21]") ), - MTK_PIN( - 94, "GPIO94", + MTK_PIN(PINCTRL_PIN(94, "GPIO94"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO94"), MTK_FUNCTION(1, "DUAL_BPI1_BUS11"), MTK_FUNCTION(3, "BPI2_BUS11"), MTK_FUNCTION(5, "USB_TEST_IO[11]"), MTK_FUNCTION(7, "A_FUNC_DOUT[7]") ), - MTK_PIN( - 95, "GPIO95", + MTK_PIN(PINCTRL_PIN(95, "GPIO95"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO95"), MTK_FUNCTION(1, "DUAL_BPI1_BUS12"), MTK_FUNCTION(3, "BPI2_BUS12"), MTK_FUNCTION(5, "USB_TEST_IO[12]"), MTK_FUNCTION(7, "A_FUNC_DOUT[6]") ), - MTK_PIN( - 96, "GPIO96", + MTK_PIN(PINCTRL_PIN(96, "GPIO96"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO96"), MTK_FUNCTION(1, "DUAL_BPI1_BUS13"), MTK_FUNCTION(3, "BPI2_BUS13"), MTK_FUNCTION(5, "USB_TEST_IO[13]"), MTK_FUNCTION(7, "A_FUNC_DOUT[5]") ), - MTK_PIN( - 97, "GPIO97", + MTK_PIN(PINCTRL_PIN(97, "GPIO97"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO97"), MTK_FUNCTION(1, "DUAL_BPI1_BUS14"), MTK_FUNCTION(3, "BPI2_BUS16"), MTK_FUNCTION(5, "USB_TEST_IO[14]"), MTK_FUNCTION(7, "A_FUNC_DOUT[4]") ), - MTK_PIN( - 98, "GPIO98", + MTK_PIN(PINCTRL_PIN(98, "GPIO98"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 16), - DRV_GRP4, MTK_FUNCTION(0, "GPIO98"), MTK_FUNCTION(1, "DUAL_BPI1_BUS17"), MTK_FUNCTION(2, "EINT16"), @@ -1109,10 +1009,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[15]"), MTK_FUNCTION(7, "A_FUNC_DOUT[3]") ), - MTK_PIN( - 99, "GPIO99", + MTK_PIN(PINCTRL_PIN(99, "GPIO99"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 17), - DRV_GRP4, MTK_FUNCTION(0, "GPIO99"), MTK_FUNCTION(1, "DUAL_BPI1_BUS15"), MTK_FUNCTION(2, "EINT17"), @@ -1120,83 +1019,74 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[16]"), MTK_FUNCTION(7, "A_FUNC_DOUT[2]") ), - MTK_PIN( - 100, "GPIO100", + MTK_PIN(PINCTRL_PIN(100, "GPIO100"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 19), - DRV_GRP4, MTK_FUNCTION(0, "GPIO100"), MTK_FUNCTION(1, "VM1"), MTK_FUNCTION(2, "EINT19"), MTK_FUNCTION(5, "USB_TEST_IO[17]"), MTK_FUNCTION(7, "A_FUNC_DOUT[0]") ), - MTK_PIN( - 101, "GPIO101", + MTK_PIN(PINCTRL_PIN(101, "GPIO101"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 18), - DRV_GRP4, MTK_FUNCTION(0, "GPIO101"), MTK_FUNCTION(1, "VM0"), MTK_FUNCTION(2, "EINT18"), MTK_FUNCTION(5, "USB_TEST_IO[18]"), MTK_FUNCTION(7, "A_FUNC_DOUT[1]") ), - MTK_PIN( - 102, "GPIO102", + MTK_PIN(PINCTRL_PIN(102, "GPIO102"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 26), - DRV_GRP4, MTK_FUNCTION(0, "GPIO102"), MTK_FUNCTION(1, "BSI1B_CS0"), MTK_FUNCTION(2, "EINT26"), MTK_FUNCTION(5, "USB_TEST_IO[19]"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[21]") ), - MTK_PIN( - 103, "GPIO103", + MTK_PIN(PINCTRL_PIN(103, "GPIO103"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 27), - DRV_GRP4, MTK_FUNCTION(0, "GPIO103"), MTK_FUNCTION(1, "BSI1B_DATA0"), MTK_FUNCTION(2, "EINT27"), MTK_FUNCTION(5, "USB_TEST_IO[20]"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[22]") ), - MTK_PIN( - 104, "GPIO104", + MTK_PIN(PINCTRL_PIN(104, "GPIO104"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 25), - DRV_GRP4, MTK_FUNCTION(0, "GPIO104"), MTK_FUNCTION(1, "BSI1B_CLK"), MTK_FUNCTION(2, "EINT25"), MTK_FUNCTION(5, "USB_TEST_IO[21]"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[23]") ), - MTK_PIN( - 105, "GPIO105", + MTK_PIN(PINCTRL_PIN(105, "GPIO105"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 30), - DRV_GRP4, MTK_FUNCTION(0, "GPIO105"), MTK_FUNCTION(1, "TXBPI1"), MTK_FUNCTION(2, "EINT30") ), - MTK_PIN( - 106, "GPIO106", + MTK_PIN(PINCTRL_PIN(106, "GPIO106"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO106"), MTK_FUNCTION(1, "EXT_CLK_EN") ), - MTK_PIN( - 107, "GPIO107", + MTK_PIN(PINCTRL_PIN(107, "GPIO107"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 39), - DRV_GRP4, MTK_FUNCTION(0, "GPIO107"), MTK_FUNCTION(1, "SRCLKENA2"), MTK_FUNCTION(2, "EINT39") ), - MTK_PIN( - 108, "GPIO108", + MTK_PIN(PINCTRL_PIN(108, "GPIO108"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 21), - DRV_GRP4, MTK_FUNCTION(0, "GPIO108"), MTK_FUNCTION(1, "BSI1A_CS0"), MTK_FUNCTION(2, "EINT21"), @@ -1204,20 +1094,18 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[22]"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[24]") ), - MTK_PIN( - 109, "GPIO109", + MTK_PIN(PINCTRL_PIN(109, "GPIO109"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 24), - DRV_GRP4, MTK_FUNCTION(0, "GPIO109"), MTK_FUNCTION(1, "BSI1A_DATA2"), MTK_FUNCTION(2, "EINT24"), MTK_FUNCTION(5, "USB_TEST_IO[23]"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[25]") ), - MTK_PIN( - 110, "GPIO110", + MTK_PIN(PINCTRL_PIN(110, "GPIO110"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 23), - DRV_GRP4, MTK_FUNCTION(0, "GPIO110"), MTK_FUNCTION(1, "BSI1A_DATA1"), MTK_FUNCTION(2, "EINT23"), @@ -1225,10 +1113,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[24]"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[26]") ), - MTK_PIN( - 111, "GPIO111", + MTK_PIN(PINCTRL_PIN(111, "GPIO111"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 22), - DRV_GRP4, MTK_FUNCTION(0, "GPIO111"), MTK_FUNCTION(1, "BSI1A_DATA0"), MTK_FUNCTION(2, "EINT22"), @@ -1236,10 +1123,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[25]"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[27]") ), - MTK_PIN( - 112, "GPIO112", + MTK_PIN(PINCTRL_PIN(112, "GPIO112"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 20), - DRV_GRP4, MTK_FUNCTION(0, "GPIO112"), MTK_FUNCTION(1, "BSI1A_CLK"), MTK_FUNCTION(2, "EINT20"), @@ -1247,10 +1133,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_TEST_IO[26]"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[28]") ), - MTK_PIN( - 113, "GPIO113", + MTK_PIN(PINCTRL_PIN(113, "GPIO113"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 29), - DRV_GRP4, MTK_FUNCTION(0, "GPIO113"), MTK_FUNCTION(1, "BSI1C_DATA"), MTK_FUNCTION(2, "EINT29"), @@ -1260,44 +1145,39 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[29]"), MTK_FUNCTION(7, "USB_DRVVBUS") ), - MTK_PIN( - 114, "GPIO114", + MTK_PIN(PINCTRL_PIN(114, "GPIO114"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 28), - DRV_GRP4, MTK_FUNCTION(0, "GPIO114"), MTK_FUNCTION(1, "BSI1C_CLK"), MTK_FUNCTION(2, "EINT28"), MTK_FUNCTION(5, "USB_TEST_IO[28]"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[30]") ), - MTK_PIN( - 115, "GPIO115", + MTK_PIN(PINCTRL_PIN(115, "GPIO115"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 10), - DRV_GRP4, MTK_FUNCTION(0, "GPIO115"), MTK_FUNCTION(1, "EINT10"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[31]") ), - MTK_PIN( - 116, "GPIO116", + MTK_PIN(PINCTRL_PIN(116, "GPIO116"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 11), - DRV_GRP4, MTK_FUNCTION(0, "GPIO116"), MTK_FUNCTION(1, "EINT11"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[32]") ), - MTK_PIN( - 117, "GPIO117", + MTK_PIN(PINCTRL_PIN(117, "GPIO117"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 16), - DRV_GRP4, MTK_FUNCTION(0, "GPIO117"), MTK_FUNCTION(1, "EINT16"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[33]") ), - MTK_PIN( - 118, "GPIO118", + MTK_PIN(PINCTRL_PIN(118, "GPIO118"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 91), - DRV_GRP4, MTK_FUNCTION(0, "GPIO118"), MTK_FUNCTION(1, "SDA0"), MTK_FUNCTION(2, "EINT91"), @@ -1305,10 +1185,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(4, "PWM1"), MTK_FUNCTION(7, "A_FUNC_DIN[19]") ), - MTK_PIN( - 119, "GPIO119", + MTK_PIN(PINCTRL_PIN(119, "GPIO119"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 90), - DRV_GRP4, MTK_FUNCTION(0, "GPIO119"), MTK_FUNCTION(1, "SCL0"), MTK_FUNCTION(2, "EINT90"), @@ -1316,10 +1195,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(4, "DISP_PWM"), MTK_FUNCTION(7, "A_FUNC_DIN[20]") ), - MTK_PIN( - 120, "GPIO120", + MTK_PIN(PINCTRL_PIN(120, "GPIO120"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 10), - DRV_GRP4, MTK_FUNCTION(0, "GPIO120"), MTK_FUNCTION(1, "I2SIN_CK"), MTK_FUNCTION(2, "EINT10"), @@ -1328,10 +1206,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "DSP1_ICK"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[34]") ), - MTK_PIN( - 121, "GPIO121", + MTK_PIN(PINCTRL_PIN(121, "GPIO121"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO121"), MTK_FUNCTION(1, "I2SIN_WS"), MTK_FUNCTION(3, "DAC_WS"), @@ -1339,10 +1216,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "DSP1_ID"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[35]") ), - MTK_PIN( - 122, "GPIO122", + MTK_PIN(PINCTRL_PIN(122, "GPIO122"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 11), - DRV_GRP4, MTK_FUNCTION(0, "GPIO122"), MTK_FUNCTION(1, "I2SIN_DAT"), MTK_FUNCTION(2, "EINT11"), @@ -1350,10 +1226,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "DSP1_IMS"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[36]") ), - MTK_PIN( - 123, "GPIO123", + MTK_PIN(PINCTRL_PIN(123, "GPIO123"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO123"), MTK_FUNCTION(1, "I2SOUT_DAT"), MTK_FUNCTION(3, "DAC_DAT_OUT"), @@ -1361,10 +1236,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "MD2_EINT5"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[37]") ), - MTK_PIN( - 124, "GPIO124", + MTK_PIN(PINCTRL_PIN(124, "GPIO124"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 5), - DRV_GRP4, MTK_FUNCTION(0, "GPIO124"), MTK_FUNCTION(1, "EINT5"), MTK_FUNCTION(2, "PWM5"), @@ -1373,10 +1247,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "MD2_EINT1"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[38]") ), - MTK_PIN( - 125, "GPIO125", + MTK_PIN(PINCTRL_PIN(125, "GPIO125"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 6), - DRV_GRP4, MTK_FUNCTION(0, "GPIO125"), MTK_FUNCTION(1, "EINT6"), MTK_FUNCTION(2, "PWM6"), @@ -1385,10 +1258,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "MD2_EINT2"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[39]") ), - MTK_PIN( - 126, "GPIO126", + MTK_PIN(PINCTRL_PIN(126, "GPIO126"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 7), - DRV_GRP4, MTK_FUNCTION(0, "GPIO126"), MTK_FUNCTION(1, "EINT7"), MTK_FUNCTION(2, "PWM7"), @@ -1397,10 +1269,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "MD2_EINT3"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[40]") ), - MTK_PIN( - 127, "GPIO127", + MTK_PIN(PINCTRL_PIN(127, "GPIO127"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 8), - DRV_GRP4, MTK_FUNCTION(0, "GPIO127"), MTK_FUNCTION(1, "EINT8"), MTK_FUNCTION(2, "DISP_PWM"), @@ -1409,10 +1280,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[41]"), MTK_FUNCTION(7, "EXT_FRAME_SYNC") ), - MTK_PIN( - 128, "GPIO128", + MTK_PIN(PINCTRL_PIN(128, "GPIO128"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 9), - DRV_GRP4, MTK_FUNCTION(0, "GPIO128"), MTK_FUNCTION(1, "EINT9"), MTK_FUNCTION(3, "MD1_GPS_SYNC"), @@ -1420,10 +1290,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "USB_DRVVBUS"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[42]") ), - MTK_PIN( - 129, "GPIO129", + MTK_PIN(PINCTRL_PIN(129, "GPIO129"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 77), - DRV_GRP4, MTK_FUNCTION(0, "GPIO129"), MTK_FUNCTION(1, "DISP_PWM"), MTK_FUNCTION(2, "EINT77"), @@ -1433,10 +1302,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[43]"), MTK_FUNCTION(7, "PWM3") ), - MTK_PIN( - 130, "GPIO130", + MTK_PIN(PINCTRL_PIN(130, "GPIO130"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 133), - DRV_GRP4, MTK_FUNCTION(0, "GPIO130"), MTK_FUNCTION(1, "MSDC4_DAT0"), MTK_FUNCTION(2, "EINT133"), @@ -1445,20 +1313,18 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[46]"), MTK_FUNCTION(7, "LPTE") ), - MTK_PIN( - 131, "GPIO131", + MTK_PIN(PINCTRL_PIN(131, "GPIO131"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 134), - DRV_GRP4, MTK_FUNCTION(0, "GPIO131"), MTK_FUNCTION(1, "MSDC4_DAT1"), MTK_FUNCTION(2, "EINT134"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[47]"), MTK_FUNCTION(7, "LRSTB_1X") ), - MTK_PIN( - 132, "GPIO132", + MTK_PIN(PINCTRL_PIN(132, "GPIO132"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 127), - DRV_GRP4, MTK_FUNCTION(0, "GPIO132"), MTK_FUNCTION(1, "LPCE1B"), MTK_FUNCTION(2, "EINT127"), @@ -1466,10 +1332,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "PWM2"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[44]") ), - MTK_PIN( - 133, "GPIO133", + MTK_PIN(PINCTRL_PIN(133, "GPIO133"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 126), - DRV_GRP4, MTK_FUNCTION(0, "GPIO133"), MTK_FUNCTION(1, "LPCE0B"), MTK_FUNCTION(2, "EINT126"), @@ -1477,10 +1342,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "PWM1"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[45]") ), - MTK_PIN( - 134, "GPIO134", + MTK_PIN(PINCTRL_PIN(134, "GPIO134"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 136), - DRV_GRP4, MTK_FUNCTION(0, "GPIO134"), MTK_FUNCTION(1, "MSDC4_DAT5"), MTK_FUNCTION(2, "EINT136"), @@ -1490,10 +1354,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[48]"), MTK_FUNCTION(7, "SPI1_CSN") ), - MTK_PIN( - 135, "GPIO135", + MTK_PIN(PINCTRL_PIN(135, "GPIO135"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 137), - DRV_GRP4, MTK_FUNCTION(0, "GPIO135"), MTK_FUNCTION(1, "MSDC4_DAT6"), MTK_FUNCTION(2, "EINT137"), @@ -1503,10 +1366,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[49]"), MTK_FUNCTION(7, "SPI1_MO") ), - MTK_PIN( - 136, "GPIO136", + MTK_PIN(PINCTRL_PIN(136, "GPIO136"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 138), - DRV_GRP4, MTK_FUNCTION(0, "GPIO136"), MTK_FUNCTION(1, "MSDC4_DAT7"), MTK_FUNCTION(2, "EINT138"), @@ -1515,10 +1377,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[50]"), MTK_FUNCTION(7, "SPI1_MI") ), - MTK_PIN( - 137, "GPIO137", + MTK_PIN(PINCTRL_PIN(137, "GPIO137"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 135), - DRV_GRP4, MTK_FUNCTION(0, "GPIO137"), MTK_FUNCTION(1, "MSDC4_DAT4"), MTK_FUNCTION(2, "EINT135"), @@ -1528,10 +1389,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[51]"), MTK_FUNCTION(7, "SPI1_CLK") ), - MTK_PIN( - 138, "GPIO138", + MTK_PIN(PINCTRL_PIN(138, "GPIO138"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 131), - DRV_GRP4, MTK_FUNCTION(0, "GPIO138"), MTK_FUNCTION(1, "MSDC4_DAT2"), MTK_FUNCTION(2, "EINT131"), @@ -1541,10 +1401,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "PCM1_WS"), MTK_FUNCTION(7, "LSCE0B_1X") ), - MTK_PIN( - 139, "GPIO139", + MTK_PIN(PINCTRL_PIN(139, "GPIO139"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 129), - DRV_GRP4, MTK_FUNCTION(0, "GPIO139"), MTK_FUNCTION(1, "MSDC4_CLK"), MTK_FUNCTION(2, "EINT129"), @@ -1554,10 +1413,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "PCM1_DI"), MTK_FUNCTION(7, "LSCK_1X") ), - MTK_PIN( - 140, "GPIO140", + MTK_PIN(PINCTRL_PIN(140, "GPIO140"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 132), - DRV_GRP4, MTK_FUNCTION(0, "GPIO140"), MTK_FUNCTION(1, "MSDC4_DAT3"), MTK_FUNCTION(2, "EINT132"), @@ -1567,10 +1425,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "PCM1_DO"), MTK_FUNCTION(7, "LSCE1B_1X") ), - MTK_PIN( - 141, "GPIO141", + MTK_PIN(PINCTRL_PIN(141, "GPIO141"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 128), - DRV_GRP4, MTK_FUNCTION(0, "GPIO141"), MTK_FUNCTION(1, "MSDC4_CMD"), MTK_FUNCTION(2, "EINT128"), @@ -1580,10 +1437,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD2_GPS_SYNC"), MTK_FUNCTION(7, "LSDA_1X") ), - MTK_PIN( - 142, "GPIO142", + MTK_PIN(PINCTRL_PIN(142, "GPIO142"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 130), - DRV_GRP4, MTK_FUNCTION(0, "GPIO142"), MTK_FUNCTION(1, "MSDC4_RSTB"), MTK_FUNCTION(2, "EINT130"), @@ -1593,10 +1449,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "PCM1_CK"), MTK_FUNCTION(7, "LSA0_1X") ), - MTK_PIN( - 143, "GPIO143", + MTK_PIN(PINCTRL_PIN(143, "GPIO143"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 98), - DRV_GRP4, MTK_FUNCTION(0, "GPIO143"), MTK_FUNCTION(1, "DPI0_VSYNC"), MTK_FUNCTION(2, "EINT98"), @@ -1606,10 +1461,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[52]"), MTK_FUNCTION(7, "TESTB_OUT8") ), - MTK_PIN( - 144, "GPIO144", + MTK_PIN(PINCTRL_PIN(144, "GPIO144"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 99), - DRV_GRP4, MTK_FUNCTION(0, "GPIO144"), MTK_FUNCTION(1, "DPI0_HSYNC"), MTK_FUNCTION(2, "EINT99"), @@ -1619,10 +1473,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "IRDA_RXD"), MTK_FUNCTION(7, "TESTB_OUT9") ), - MTK_PIN( - 145, "GPIO145", + MTK_PIN(PINCTRL_PIN(145, "GPIO145"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 100), - DRV_GRP4, MTK_FUNCTION(0, "GPIO145"), MTK_FUNCTION(1, "DPI0_DE"), MTK_FUNCTION(2, "EINT100"), @@ -1632,10 +1485,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "IRDA_TXD"), MTK_FUNCTION(7, "TESTB_OUT10") ), - MTK_PIN( - 146, "GPIO146", + MTK_PIN(PINCTRL_PIN(146, "GPIO146"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 101), - DRV_GRP4, MTK_FUNCTION(0, "GPIO146"), MTK_FUNCTION(1, "DPI0_CK"), MTK_FUNCTION(2, "EINT101"), @@ -1644,10 +1496,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "IRDA_PDN"), MTK_FUNCTION(7, "TESTB_OUT11") ), - MTK_PIN( - 147, "GPIO147", + MTK_PIN(PINCTRL_PIN(147, "GPIO147"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 102), - DRV_GRP4, MTK_FUNCTION(0, "GPIO147"), MTK_FUNCTION(1, "DPI0_B0"), MTK_FUNCTION(2, "EINT102"), @@ -1656,10 +1507,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[57]"), MTK_FUNCTION(7, "TESTB_OUT12") ), - MTK_PIN( - 148, "GPIO148", + MTK_PIN(PINCTRL_PIN(148, "GPIO148"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 103), - DRV_GRP4, MTK_FUNCTION(0, "GPIO148"), MTK_FUNCTION(1, "DPI0_B1"), MTK_FUNCTION(2, "EINT103"), @@ -1669,10 +1519,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[58]"), MTK_FUNCTION(7, "TESTB_OUT13") ), - MTK_PIN( - 149, "GPIO149", + MTK_PIN(PINCTRL_PIN(149, "GPIO149"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 104), - DRV_GRP4, MTK_FUNCTION(0, "GPIO149"), MTK_FUNCTION(1, "DPI0_B2"), MTK_FUNCTION(2, "EINT104"), @@ -1682,10 +1531,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[59]"), MTK_FUNCTION(7, "TESTB_OUT14") ), - MTK_PIN( - 150, "GPIO150", + MTK_PIN(PINCTRL_PIN(150, "GPIO150"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 105), - DRV_GRP4, MTK_FUNCTION(0, "GPIO150"), MTK_FUNCTION(1, "DPI0_B3"), MTK_FUNCTION(2, "EINT105"), @@ -1695,10 +1543,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[60]"), MTK_FUNCTION(7, "TESTB_OUT15") ), - MTK_PIN( - 151, "GPIO151", + MTK_PIN(PINCTRL_PIN(151, "GPIO151"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 106), - DRV_GRP4, MTK_FUNCTION(0, "GPIO151"), MTK_FUNCTION(1, "DPI0_B4"), MTK_FUNCTION(2, "EINT106"), @@ -1708,10 +1555,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[61]"), MTK_FUNCTION(7, "TESTB_OUT16") ), - MTK_PIN( - 152, "GPIO152", + MTK_PIN(PINCTRL_PIN(152, "GPIO152"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 107), - DRV_GRP4, MTK_FUNCTION(0, "GPIO152"), MTK_FUNCTION(1, "DPI0_B5"), MTK_FUNCTION(2, "EINT107"), @@ -1721,10 +1567,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[62]"), MTK_FUNCTION(7, "TESTB_OUT17") ), - MTK_PIN( - 153, "GPIO153", + MTK_PIN(PINCTRL_PIN(153, "GPIO153"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 108), - DRV_GRP4, MTK_FUNCTION(0, "GPIO153"), MTK_FUNCTION(1, "DPI0_B6"), MTK_FUNCTION(2, "EINT108"), @@ -1734,10 +1579,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[63]"), MTK_FUNCTION(7, "TESTB_OUT18") ), - MTK_PIN( - 154, "GPIO154", + MTK_PIN(PINCTRL_PIN(154, "GPIO154"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 109), - DRV_GRP4, MTK_FUNCTION(0, "GPIO154"), MTK_FUNCTION(1, "DPI0_B7"), MTK_FUNCTION(2, "EINT109"), @@ -1747,10 +1591,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[0]"), MTK_FUNCTION(7, "TESTB_OUT19") ), - MTK_PIN( - 155, "GPIO155", + MTK_PIN(PINCTRL_PIN(155, "GPIO155"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 110), - DRV_GRP4, MTK_FUNCTION(0, "GPIO155"), MTK_FUNCTION(1, "DPI0_G0"), MTK_FUNCTION(2, "EINT110"), @@ -1758,10 +1601,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[1]"), MTK_FUNCTION(7, "TESTB_OUT20") ), - MTK_PIN( - 156, "GPIO156", + MTK_PIN(PINCTRL_PIN(156, "GPIO156"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 111), - DRV_GRP4, MTK_FUNCTION(0, "GPIO156"), MTK_FUNCTION(1, "DPI0_G1"), MTK_FUNCTION(2, "EINT111"), @@ -1769,10 +1611,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[56]"), MTK_FUNCTION(7, "TESTB_OUT21") ), - MTK_PIN( - 157, "GPIO157", + MTK_PIN(PINCTRL_PIN(157, "GPIO157"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 112), - DRV_GRP4, MTK_FUNCTION(0, "GPIO157"), MTK_FUNCTION(1, "DPI0_G2"), MTK_FUNCTION(2, "EINT112"), @@ -1780,10 +1621,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[2]"), MTK_FUNCTION(7, "TESTB_OUT22") ), - MTK_PIN( - 158, "GPIO158", + MTK_PIN(PINCTRL_PIN(158, "GPIO158"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 113), - DRV_GRP4, MTK_FUNCTION(0, "GPIO158"), MTK_FUNCTION(1, "DPI0_G3"), MTK_FUNCTION(2, "EINT113"), @@ -1791,10 +1631,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[3]"), MTK_FUNCTION(7, "TESTB_OUT23") ), - MTK_PIN( - 159, "GPIO159", + MTK_PIN(PINCTRL_PIN(159, "GPIO159"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 114), - DRV_GRP4, MTK_FUNCTION(0, "GPIO159"), MTK_FUNCTION(1, "DPI0_G4"), MTK_FUNCTION(2, "EINT114"), @@ -1804,10 +1643,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[53]"), MTK_FUNCTION(7, "TESTB_OUT24") ), - MTK_PIN( - 160, "GPIO160", + MTK_PIN(PINCTRL_PIN(160, "GPIO160"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 115), - DRV_GRP4, MTK_FUNCTION(0, "GPIO160"), MTK_FUNCTION(1, "DPI0_G5"), MTK_FUNCTION(2, "EINT115"), @@ -1817,10 +1655,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[54]"), MTK_FUNCTION(7, "TESTB_OUT25") ), - MTK_PIN( - 161, "GPIO161", + MTK_PIN(PINCTRL_PIN(161, "GPIO161"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 116), - DRV_GRP4, MTK_FUNCTION(0, "GPIO161"), MTK_FUNCTION(1, "DPI0_G6"), MTK_FUNCTION(2, "EINT116"), @@ -1830,10 +1667,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[4]"), MTK_FUNCTION(7, "TESTB_OUT26") ), - MTK_PIN( - 162, "GPIO162", + MTK_PIN(PINCTRL_PIN(162, "GPIO162"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 117), - DRV_GRP4, MTK_FUNCTION(0, "GPIO162"), MTK_FUNCTION(1, "DPI0_G7"), MTK_FUNCTION(2, "EINT117"), @@ -1843,10 +1679,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[5]"), MTK_FUNCTION(7, "TESTB_OUT27") ), - MTK_PIN( - 163, "GPIO163", + MTK_PIN(PINCTRL_PIN(163, "GPIO163"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 118), - DRV_GRP4, MTK_FUNCTION(0, "GPIO163"), MTK_FUNCTION(1, "DPI0_R0"), MTK_FUNCTION(2, "EINT118"), @@ -1856,10 +1691,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[6]"), MTK_FUNCTION(7, "TESTB_OUT28") ), - MTK_PIN( - 164, "GPIO164", + MTK_PIN(PINCTRL_PIN(164, "GPIO164"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 119), - DRV_GRP4, MTK_FUNCTION(0, "GPIO164"), MTK_FUNCTION(1, "DPI0_R1"), MTK_FUNCTION(2, "EINT119"), @@ -1869,10 +1703,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD1_PLL_A_FUNC_DOUT[7]"), MTK_FUNCTION(7, "TESTB_OUT29") ), - MTK_PIN( - 165, "GPIO165", + MTK_PIN(PINCTRL_PIN(165, "GPIO165"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 120), - DRV_GRP4, MTK_FUNCTION(0, "GPIO165"), MTK_FUNCTION(1, "DPI0_R2"), MTK_FUNCTION(2, "EINT120"), @@ -1881,10 +1714,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "MD2_TMS_PAD"), MTK_FUNCTION(7, "TESTB_OUT30") ), - MTK_PIN( - 166, "GPIO166", + MTK_PIN(PINCTRL_PIN(166, "GPIO166"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 121), - DRV_GRP4, MTK_FUNCTION(0, "GPIO166"), MTK_FUNCTION(1, "DPI0_R3"), MTK_FUNCTION(2, "EINT121"), @@ -1894,10 +1726,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD_ABB_AFUNC_D[55]"), MTK_FUNCTION(7, "TESTB_OUT31") ), - MTK_PIN( - 167, "GPIO167", + MTK_PIN(PINCTRL_PIN(167, "GPIO167"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 122), - DRV_GRP4, MTK_FUNCTION(0, "GPIO167"), MTK_FUNCTION(1, "DPI0_R4"), MTK_FUNCTION(2, "EINT122"), @@ -1905,10 +1736,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(4, "CM2DAT_2X[8]"), MTK_FUNCTION(7, "TESTA_OUT0") ), - MTK_PIN( - 168, "GPIO168", + MTK_PIN(PINCTRL_PIN(168, "GPIO168"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 123), - DRV_GRP4, MTK_FUNCTION(0, "GPIO168"), MTK_FUNCTION(1, "DPI0_R5"), MTK_FUNCTION(2, "EINT123"), @@ -1918,10 +1748,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD2_DAI_RX_GPIO"), MTK_FUNCTION(7, "TESTA_OUT1") ), - MTK_PIN( - 169, "GPIO169", + MTK_PIN(PINCTRL_PIN(169, "GPIO169"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 124), - DRV_GRP4, MTK_FUNCTION(0, "GPIO169"), MTK_FUNCTION(1, "DPI0_R6"), MTK_FUNCTION(2, "EINT124"), @@ -1929,10 +1758,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(4, "CM2VSYNC_2X"), MTK_FUNCTION(7, "TESTA_OUT2") ), - MTK_PIN( - 170, "GPIO170", + MTK_PIN(PINCTRL_PIN(170, "GPIO170"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 125), - DRV_GRP4, MTK_FUNCTION(0, "GPIO170"), MTK_FUNCTION(1, "DPI0_R7"), MTK_FUNCTION(2, "EINT125"), @@ -1940,10 +1768,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(4, "CM2HSYNC_2X"), MTK_FUNCTION(7, "TESTA_OUT3") ), - MTK_PIN( - 171, "GPIO171", + MTK_PIN(PINCTRL_PIN(171, "GPIO171"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 57), - DRV_GRP4, MTK_FUNCTION(0, "GPIO171"), MTK_FUNCTION(1, "MSDC1_INSI"), MTK_FUNCTION(2, "EINT57"), @@ -1953,20 +1780,18 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[0]"), MTK_FUNCTION(7, "TESTB_OUT6") ), - MTK_PIN( - 172, "GPIO172", + MTK_PIN(PINCTRL_PIN(172, "GPIO172"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 65), - DRV_GRP4, MTK_FUNCTION(0, "GPIO172"), MTK_FUNCTION(1, "MSDC2_INSI"), MTK_FUNCTION(2, "EINT65"), MTK_FUNCTION(3, "BPI2_BUS6"), MTK_FUNCTION(7, "A_FUNC_DIN[6]") ), - MTK_PIN( - 173, "GPIO173", + MTK_PIN(PINCTRL_PIN(173, "GPIO173"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 66), - DRV_GRP4, MTK_FUNCTION(0, "GPIO173"), MTK_FUNCTION(1, "MSDC2_SDWPI"), MTK_FUNCTION(2, "EINT66"), @@ -1975,10 +1800,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "DUAL_BPI1_BUS15"), MTK_FUNCTION(7, "A_FUNC_DIN[5]") ), - MTK_PIN( - 174, "GPIO174", + MTK_PIN(PINCTRL_PIN(174, "GPIO174"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 63), - DRV_GRP4, MTK_FUNCTION(0, "GPIO174"), MTK_FUNCTION(1, "MSDC2_DAT2"), MTK_FUNCTION(2, "EINT63"), @@ -1986,10 +1810,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(4, "DSP2_IMS"), MTK_FUNCTION(7, "A_FUNC_DIN[8]") ), - MTK_PIN( - 175, "GPIO175", + MTK_PIN(PINCTRL_PIN(175, "GPIO175"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 64), - DRV_GRP4, MTK_FUNCTION(0, "GPIO175"), MTK_FUNCTION(1, "MSDC2_DAT3"), MTK_FUNCTION(2, "EINT64"), @@ -1997,10 +1820,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(4, "DSP2_ID"), MTK_FUNCTION(7, "A_FUNC_DIN[7]") ), - MTK_PIN( - 176, "GPIO176", + MTK_PIN(PINCTRL_PIN(176, "GPIO176"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 60), - DRV_GRP4, MTK_FUNCTION(0, "GPIO176"), MTK_FUNCTION(1, "MSDC2_CMD"), MTK_FUNCTION(2, "EINT60"), @@ -2009,10 +1831,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "PCM1_WS"), MTK_FUNCTION(7, "A_FUNC_DIN[11]") ), - MTK_PIN( - 177, "GPIO177", + MTK_PIN(PINCTRL_PIN(177, "GPIO177"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 59), - DRV_GRP4, MTK_FUNCTION(0, "GPIO177"), MTK_FUNCTION(1, "MSDC2_CLK"), MTK_FUNCTION(2, "EINT59"), @@ -2021,10 +1842,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "PCM1_CK"), MTK_FUNCTION(7, "A_FUNC_DIN[12]") ), - MTK_PIN( - 178, "GPIO178", + MTK_PIN(PINCTRL_PIN(178, "GPIO178"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 62), - DRV_GRP4, MTK_FUNCTION(0, "GPIO178"), MTK_FUNCTION(1, "MSDC2_DAT1"), MTK_FUNCTION(2, "EINT62"), @@ -2033,10 +1853,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "PCM1_DO"), MTK_FUNCTION(7, "A_FUNC_DIN[9]") ), - MTK_PIN( - 179, "GPIO179", + MTK_PIN(PINCTRL_PIN(179, "GPIO179"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 61), - DRV_GRP4, MTK_FUNCTION(0, "GPIO179"), MTK_FUNCTION(1, "MSDC2_DAT0"), MTK_FUNCTION(2, "EINT61"), @@ -2045,10 +1864,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "PCM1_DI"), MTK_FUNCTION(7, "A_FUNC_DIN[10]") ), - MTK_PIN( - 180, "GPIO180", + MTK_PIN(PINCTRL_PIN(180, "GPIO180"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 53), - DRV_GRP4, MTK_FUNCTION(0, "GPIO180"), MTK_FUNCTION(1, "MSDC1_DAT0"), MTK_FUNCTION(2, "EINT53"), @@ -2058,10 +1876,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[1]"), MTK_FUNCTION(7, "TESTB_OUT2") ), - MTK_PIN( - 181, "GPIO181", + MTK_PIN(PINCTRL_PIN(181, "GPIO181"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 54), - DRV_GRP4, MTK_FUNCTION(0, "GPIO181"), MTK_FUNCTION(1, "MSDC1_DAT1"), MTK_FUNCTION(2, "EINT54"), @@ -2071,10 +1888,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[2]"), MTK_FUNCTION(7, "TESTB_OUT3") ), - MTK_PIN( - 182, "GPIO182", + MTK_PIN(PINCTRL_PIN(182, "GPIO182"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 58), - DRV_GRP4, MTK_FUNCTION(0, "GPIO182"), MTK_FUNCTION(1, "MSDC1_SDWPI"), MTK_FUNCTION(2, "EINT58"), @@ -2084,10 +1900,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[3]"), MTK_FUNCTION(7, "TESTB_OUT7") ), - MTK_PIN( - 183, "GPIO183", + MTK_PIN(PINCTRL_PIN(183, "GPIO183"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 52), - DRV_GRP4, MTK_FUNCTION(0, "GPIO183"), MTK_FUNCTION(1, "MSDC1_CMD"), MTK_FUNCTION(2, "EINT52"), @@ -2097,10 +1912,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[4]"), MTK_FUNCTION(7, "TESTB_OUT1") ), - MTK_PIN( - 184, "GPIO184", + MTK_PIN(PINCTRL_PIN(184, "GPIO184"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 51), - DRV_GRP4, MTK_FUNCTION(0, "GPIO184"), MTK_FUNCTION(1, "MSDC1_CLK"), MTK_FUNCTION(2, "EINT51"), @@ -2109,10 +1923,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[5]"), MTK_FUNCTION(7, "TESTB_OUT0") ), - MTK_PIN( - 185, "GPIO185", + MTK_PIN(PINCTRL_PIN(185, "GPIO185"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 55), - DRV_GRP4, MTK_FUNCTION(0, "GPIO185"), MTK_FUNCTION(1, "MSDC1_DAT2"), MTK_FUNCTION(2, "EINT55"), @@ -2122,10 +1935,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[6]"), MTK_FUNCTION(7, "TESTB_OUT4") ), - MTK_PIN( - 186, "GPIO186", + MTK_PIN(PINCTRL_PIN(186, "GPIO186"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 56), - DRV_GRP4, MTK_FUNCTION(0, "GPIO186"), MTK_FUNCTION(1, "MSDC1_DAT3"), MTK_FUNCTION(2, "EINT56"), @@ -2135,180 +1947,157 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MD2_PLL_A_FUNC_DOUT[7]"), MTK_FUNCTION(7, "TESTB_OUT5") ), - MTK_PIN( - 187, "GPIO187", + MTK_PIN(PINCTRL_PIN(187, "GPIO187"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 36), - DRV_GRP4, MTK_FUNCTION(0, "GPIO187"), MTK_FUNCTION(2, "EINT36") ), - MTK_PIN( - 188, "GPIO188", + MTK_PIN(PINCTRL_PIN(188, "GPIO188"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 35), - DRV_GRP4, MTK_FUNCTION(0, "GPIO188"), MTK_FUNCTION(2, "EINT35") ), - MTK_PIN( - 189, "GPIO189", + MTK_PIN(PINCTRL_PIN(189, "GPIO189"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 169), - DRV_GRP4, MTK_FUNCTION(0, "GPIO189"), MTK_FUNCTION(2, "EINT169") ), - MTK_PIN( - 190, "GPIO190", + MTK_PIN(PINCTRL_PIN(190, "GPIO190"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 168), - DRV_GRP4, MTK_FUNCTION(0, "GPIO190"), MTK_FUNCTION(2, "EINT168") ), - MTK_PIN( - 191, "GPIO191", + MTK_PIN(PINCTRL_PIN(191, "GPIO191"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 163), - DRV_GRP4, MTK_FUNCTION(0, "GPIO191"), MTK_FUNCTION(2, "EINT163") ), - MTK_PIN( - 192, "GPIO192", + MTK_PIN(PINCTRL_PIN(192, "GPIO192"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 162), - DRV_GRP4, MTK_FUNCTION(0, "GPIO192"), MTK_FUNCTION(2, "EINT162") ), - MTK_PIN( - 193, "GPIO193", + MTK_PIN(PINCTRL_PIN(193, "GPIO193"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 167), - DRV_GRP4, MTK_FUNCTION(0, "GPIO193"), MTK_FUNCTION(2, "EINT167") ), - MTK_PIN( - 194, "GPIO194", + MTK_PIN(PINCTRL_PIN(194, "GPIO194"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 166), - DRV_GRP4, MTK_FUNCTION(0, "GPIO194"), MTK_FUNCTION(2, "EINT166") ), - MTK_PIN( - 195, "GPIO195", + MTK_PIN(PINCTRL_PIN(195, "GPIO195"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 165), - DRV_GRP4, MTK_FUNCTION(0, "GPIO195"), MTK_FUNCTION(2, "EINT165") ), - MTK_PIN( - 196, "GPIO196", + MTK_PIN(PINCTRL_PIN(196, "GPIO196"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 164), - DRV_GRP4, MTK_FUNCTION(0, "GPIO196"), MTK_FUNCTION(2, "EINT164") ), - MTK_PIN( - 197, "GPIO197", + MTK_PIN(PINCTRL_PIN(197, "GPIO197"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 175), - DRV_GRP4, MTK_FUNCTION(0, "GPIO197"), MTK_FUNCTION(1, "CMDAT6"), MTK_FUNCTION(2, "EINT175") ), - MTK_PIN( - 198, "GPIO198", + MTK_PIN(PINCTRL_PIN(198, "GPIO198"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 174), - DRV_GRP4, MTK_FUNCTION(0, "GPIO198"), MTK_FUNCTION(1, "CMDAT7"), MTK_FUNCTION(2, "EINT174") ), - MTK_PIN( - 199, "GPIO199", + MTK_PIN(PINCTRL_PIN(199, "GPIO199"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 171), - DRV_GRP4, MTK_FUNCTION(0, "GPIO199"), MTK_FUNCTION(1, "CMDAT8"), MTK_FUNCTION(2, "EINT171") ), - MTK_PIN( - 200, "GPIO200", + MTK_PIN(PINCTRL_PIN(200, "GPIO200"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 170), - DRV_GRP4, MTK_FUNCTION(0, "GPIO200"), MTK_FUNCTION(1, "CMDAT9"), MTK_FUNCTION(2, "EINT170") ), - MTK_PIN( - 201, "GPIO201", + MTK_PIN(PINCTRL_PIN(201, "GPIO201"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 173), - DRV_GRP4, MTK_FUNCTION(0, "GPIO201"), MTK_FUNCTION(1, "CMHSYNC"), MTK_FUNCTION(2, "EINT173") ), - MTK_PIN( - 202, "GPIO202", + MTK_PIN(PINCTRL_PIN(202, "GPIO202"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 172), - DRV_GRP4, MTK_FUNCTION(0, "GPIO202"), MTK_FUNCTION(1, "CMVSYNC"), MTK_FUNCTION(2, "EINT172") ), - MTK_PIN( - 203, "GPIO203", + MTK_PIN(PINCTRL_PIN(203, "GPIO203"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 181), - DRV_GRP4, MTK_FUNCTION(0, "GPIO203"), MTK_FUNCTION(1, "CMDAT2"), MTK_FUNCTION(2, "EINT181"), MTK_FUNCTION(3, "CMCSD2") ), - MTK_PIN( - 204, "GPIO204", + MTK_PIN(PINCTRL_PIN(204, "GPIO204"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 180), - DRV_GRP4, MTK_FUNCTION(0, "GPIO204"), MTK_FUNCTION(1, "CMDAT3"), MTK_FUNCTION(2, "EINT180"), MTK_FUNCTION(3, "CMCSD3") ), - MTK_PIN( - 205, "GPIO205", + MTK_PIN(PINCTRL_PIN(205, "GPIO205"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 177), - DRV_GRP4, MTK_FUNCTION(0, "GPIO205"), MTK_FUNCTION(1, "CMDAT4"), MTK_FUNCTION(2, "EINT177") ), - MTK_PIN( - 206, "GPIO206", + MTK_PIN(PINCTRL_PIN(206, "GPIO206"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 176), - DRV_GRP4, MTK_FUNCTION(0, "GPIO206"), MTK_FUNCTION(1, "CMDAT5"), MTK_FUNCTION(2, "EINT176") ), - MTK_PIN( - 207, "GPIO207", + MTK_PIN(PINCTRL_PIN(207, "GPIO207"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 179), - DRV_GRP4, MTK_FUNCTION(0, "GPIO207"), MTK_FUNCTION(1, "CMDAT0"), MTK_FUNCTION(2, "EINT179"), MTK_FUNCTION(3, "CMCSD0") ), - MTK_PIN( - 208, "GPIO208", + MTK_PIN(PINCTRL_PIN(208, "GPIO208"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 178), - DRV_GRP4, MTK_FUNCTION(0, "GPIO208"), MTK_FUNCTION(1, "CMDAT1"), MTK_FUNCTION(2, "EINT178"), MTK_FUNCTION(3, "CMCSD1") ), - MTK_PIN( - 209, "GPIO209", + MTK_PIN(PINCTRL_PIN(209, "GPIO209"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 182), - DRV_GRP4, MTK_FUNCTION(0, "GPIO209"), MTK_FUNCTION(1, "CMPCLK"), MTK_FUNCTION(2, "EINT182"), @@ -2317,50 +2106,45 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "TS_AUXADC_SEL[3]"), MTK_FUNCTION(7, "TESTA_OUT27") ), - MTK_PIN( - 210, "GPIO210", + MTK_PIN(PINCTRL_PIN(210, "GPIO210"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 183), - DRV_GRP4, MTK_FUNCTION(0, "GPIO210"), MTK_FUNCTION(1, "CMMCLK"), MTK_FUNCTION(2, "EINT183"), MTK_FUNCTION(5, "TS_AUXADC_SEL[2]"), MTK_FUNCTION(7, "TESTA_OUT28") ), - MTK_PIN( - 211, "GPIO211", + MTK_PIN(PINCTRL_PIN(211, "GPIO211"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 185), - DRV_GRP4, MTK_FUNCTION(0, "GPIO211"), MTK_FUNCTION(1, "CMRST"), MTK_FUNCTION(2, "EINT185"), MTK_FUNCTION(5, "TS_AUXADC_SEL[1]"), MTK_FUNCTION(7, "TESTA_OUT30") ), - MTK_PIN( - 212, "GPIO212", + MTK_PIN(PINCTRL_PIN(212, "GPIO212"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 184), - DRV_GRP4, MTK_FUNCTION(0, "GPIO212"), MTK_FUNCTION(1, "CMPDN"), MTK_FUNCTION(2, "EINT184"), MTK_FUNCTION(5, "TS_AUXADC_SEL[0]"), MTK_FUNCTION(7, "TESTA_OUT29") ), - MTK_PIN( - 213, "GPIO213", + MTK_PIN(PINCTRL_PIN(213, "GPIO213"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 186), - DRV_GRP4, MTK_FUNCTION(0, "GPIO213"), MTK_FUNCTION(1, "CMFLASH"), MTK_FUNCTION(2, "EINT186"), MTK_FUNCTION(3, "CM2MCLK_3X"), MTK_FUNCTION(7, "TESTA_OUT31") ), - MTK_PIN( - 214, "GPIO214", + MTK_PIN(PINCTRL_PIN(214, "GPIO214"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 93), - DRV_GRP4, MTK_FUNCTION(0, "GPIO214"), MTK_FUNCTION(1, "SDA1"), MTK_FUNCTION(2, "EINT93"), @@ -2369,10 +2153,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "TS_AUX_SCLK_PWDB"), MTK_FUNCTION(7, "A_FUNC_DIN[17]") ), - MTK_PIN( - 215, "GPIO215", + MTK_PIN(PINCTRL_PIN(215, "GPIO215"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 92), - DRV_GRP4, MTK_FUNCTION(0, "GPIO215"), MTK_FUNCTION(1, "SCL1"), MTK_FUNCTION(2, "EINT92"), @@ -2381,10 +2164,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "TS_AUX_DIN"), MTK_FUNCTION(7, "A_FUNC_DIN[18]") ), - MTK_PIN( - 216, "GPIO216", + MTK_PIN(PINCTRL_PIN(216, "GPIO216"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 95), - DRV_GRP4, MTK_FUNCTION(0, "GPIO216"), MTK_FUNCTION(1, "SDA2"), MTK_FUNCTION(2, "EINT95"), @@ -2393,10 +2175,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "TS_AUX_PWDB"), MTK_FUNCTION(7, "A_FUNC_DIN[15]") ), - MTK_PIN( - 217, "GPIO217", + MTK_PIN(PINCTRL_PIN(217, "GPIO217"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 94), - DRV_GRP4, MTK_FUNCTION(0, "GPIO217"), MTK_FUNCTION(1, "SCL2"), MTK_FUNCTION(2, "EINT94"), @@ -2405,17 +2186,15 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "TS_AUXADC_TEST_CK"), MTK_FUNCTION(7, "A_FUNC_DIN[16]") ), - MTK_PIN( - 218, "GPIO218", + MTK_PIN(PINCTRL_PIN(218, "GPIO218"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO218"), MTK_FUNCTION(1, "SRCLKENAI") ), - MTK_PIN( - 219, "GPIO219", + MTK_PIN(PINCTRL_PIN(219, "GPIO219"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 87), - DRV_GRP4, MTK_FUNCTION(0, "GPIO219"), MTK_FUNCTION(1, "URXD3"), MTK_FUNCTION(2, "EINT87"), @@ -2425,10 +2204,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "PWM4"), MTK_FUNCTION(7, "MD2_EINT4") ), - MTK_PIN( - 220, "GPIO220", + MTK_PIN(PINCTRL_PIN(220, "GPIO220"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 86), - DRV_GRP4, MTK_FUNCTION(0, "GPIO220"), MTK_FUNCTION(1, "UTXD3"), MTK_FUNCTION(2, "EINT86"), @@ -2438,10 +2216,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "PWM3"), MTK_FUNCTION(7, "MD2_EINT3") ), - MTK_PIN( - 221, "GPIO221", + MTK_PIN(PINCTRL_PIN(221, "GPIO221"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO221"), MTK_FUNCTION(1, "MRG_I2S_PCM_CLK"), MTK_FUNCTION(3, "I2SIN_CK"), @@ -2450,10 +2227,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "IMG_TEST_CK"), MTK_FUNCTION(7, "USB_SCL") ), - MTK_PIN( - 222, "GPIO222", + MTK_PIN(PINCTRL_PIN(222, "GPIO222"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 16), - DRV_GRP4, MTK_FUNCTION(0, "GPIO222"), MTK_FUNCTION(1, "MRG_I2S_PCM_SYNC"), MTK_FUNCTION(2, "EINT16"), @@ -2461,10 +2237,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(4, "PCM0_WS"), MTK_FUNCTION(6, "DISP_TEST_CK") ), - MTK_PIN( - 223, "GPIO223", + MTK_PIN(PINCTRL_PIN(223, "GPIO223"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO223"), MTK_FUNCTION(1, "MRG_I2S_PCM_RX"), MTK_FUNCTION(3, "I2SIN_DAT"), @@ -2473,10 +2248,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(6, "MFG_TEST_CK"), MTK_FUNCTION(7, "USB_SDA") ), - MTK_PIN( - 224, "GPIO224", + MTK_PIN(PINCTRL_PIN(224, "GPIO224"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 17), - DRV_GRP4, MTK_FUNCTION(0, "GPIO224"), MTK_FUNCTION(1, "MRG_I2S_PCM_TX"), MTK_FUNCTION(2, "EINT17"), @@ -2484,10 +2258,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(4, "PCM0_DO"), MTK_FUNCTION(6, "VDEC_TEST_CK") ), - MTK_PIN( - 225, "GPIO225", + MTK_PIN(PINCTRL_PIN(225, "GPIO225"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 18), - DRV_GRP4, MTK_FUNCTION(0, "GPIO225"), MTK_FUNCTION(1, "MD1_DAI_RX_GPIO"), MTK_FUNCTION(2, "EINT18"), @@ -2496,10 +2269,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "DSP2_IMS"), MTK_FUNCTION(6, "VENC_TEST_CK") ), - MTK_PIN( - 226, "GPIO226", + MTK_PIN(PINCTRL_PIN(226, "GPIO226"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 71), - DRV_GRP4, MTK_FUNCTION(0, "GPIO226"), MTK_FUNCTION(1, "MSDC3_DAT2"), MTK_FUNCTION(2, "EINT71"), @@ -2508,10 +2280,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "CLKM4"), MTK_FUNCTION(7, "A_FUNC_DIN[0]") ), - MTK_PIN( - 227, "GPIO227", + MTK_PIN(PINCTRL_PIN(227, "GPIO227"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 72), - DRV_GRP4, MTK_FUNCTION(0, "GPIO227"), MTK_FUNCTION(1, "MSDC3_DAT3"), MTK_FUNCTION(2, "EINT72"), @@ -2520,10 +2291,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "CLKM5"), MTK_FUNCTION(7, "A_FUNC_CK") ), - MTK_PIN( - 228, "GPIO228", + MTK_PIN(PINCTRL_PIN(228, "GPIO228"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 68), - DRV_GRP4, MTK_FUNCTION(0, "GPIO228"), MTK_FUNCTION(1, "MSDC3_CMD"), MTK_FUNCTION(2, "EINT68"), @@ -2532,10 +2302,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "CLKM1"), MTK_FUNCTION(7, "A_FUNC_DIN[3]") ), - MTK_PIN( - 229, "GPIO229", + MTK_PIN(PINCTRL_PIN(229, "GPIO229"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 67), - DRV_GRP4, MTK_FUNCTION(0, "GPIO229"), MTK_FUNCTION(1, "MSDC3_CLK"), MTK_FUNCTION(2, "EINT67"), @@ -2544,10 +2313,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "CLKM0"), MTK_FUNCTION(7, "A_FUNC_DIN[4]") ), - MTK_PIN( - 230, "GPIO230", + MTK_PIN(PINCTRL_PIN(230, "GPIO230"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 70), - DRV_GRP4, MTK_FUNCTION(0, "GPIO230"), MTK_FUNCTION(1, "MSDC3_DAT1"), MTK_FUNCTION(2, "EINT70"), @@ -2556,10 +2324,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(5, "CLKM3"), MTK_FUNCTION(7, "A_FUNC_DIN[1]") ), - MTK_PIN( - 231, "GPIO231", + MTK_PIN(PINCTRL_PIN(231, "GPIO231"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 69), - DRV_GRP4, MTK_FUNCTION(0, "GPIO231"), MTK_FUNCTION(1, "MSDC3_DAT0"), MTK_FUNCTION(2, "EINT69"), @@ -2570,176 +2337,153 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { ), /* GPIOEXT */ - MTK_PIN( - 232, "GPIO0", + MTK_PIN(PINCTRL_PIN(232, "GPIO0"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO0"), MTK_FUNCTION(1, "INT") ), - MTK_PIN( - 233, "GPIO1", + MTK_PIN(PINCTRL_PIN(233, "GPIO1"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO1"), MTK_FUNCTION(1, "SRCVOLTEN") ), - MTK_PIN( - 234, "GPIO2", + MTK_PIN(PINCTRL_PIN(234, "GPIO2"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO2"), MTK_FUNCTION(1, "SRCLKEN_PERI") ), - MTK_PIN( - 235, "GPIO3", + MTK_PIN(PINCTRL_PIN(235, "GPIO3"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO3"), MTK_FUNCTION(1, "SRCLKEN_MD2") ), - MTK_PIN( - 236, "GPIO4", + MTK_PIN(PINCTRL_PIN(236, "GPIO4"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO4"), MTK_FUNCTION(1, "RTC_32K1V8") ), - MTK_PIN( - 237, "GPIO5", + MTK_PIN(PINCTRL_PIN(237, "GPIO5"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO5"), MTK_FUNCTION(1, "WRAP_EVENT") ), - MTK_PIN( - 238, "GPIO6", + MTK_PIN(PINCTRL_PIN(238, "GPIO6"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO6"), MTK_FUNCTION(1, "SPI_CLK") ), - MTK_PIN( - 239, "GPIO7", + MTK_PIN(PINCTRL_PIN(239, "GPIO7"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO7"), MTK_FUNCTION(1, "SPI_CSN") ), - MTK_PIN( - 240, "GPIO8", + MTK_PIN(PINCTRL_PIN(240, "GPIO8"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO8"), MTK_FUNCTION(1, "SPI_MOSI") ), - MTK_PIN( - 241, "GPIO9", + MTK_PIN(PINCTRL_PIN(241, "GPIO9"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO9"), MTK_FUNCTION(1, "SPI_MISO") ), - MTK_PIN( - 242, "GPIO10", + MTK_PIN(PINCTRL_PIN(242, "GPIO10"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO10"), MTK_FUNCTION(1, "ADC_CK") ), - MTK_PIN( - 243, "GPIO11", + MTK_PIN(PINCTRL_PIN(243, "GPIO11"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO11"), MTK_FUNCTION(1, "ADC_WS") ), - MTK_PIN( - 244, "GPIO12", + MTK_PIN(PINCTRL_PIN(244, "GPIO12"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO12"), MTK_FUNCTION(1, "ADC_DAT") ), - MTK_PIN( - 245, "GPIO13", + MTK_PIN(PINCTRL_PIN(245, "GPIO13"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO13"), MTK_FUNCTION(1, "DAC_CK") ), - MTK_PIN( - 246, "GPIO14", + MTK_PIN(PINCTRL_PIN(246, "GPIO14"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO14"), MTK_FUNCTION(1, "DAC_WS") ), - MTK_PIN( - 247, "GPIO15", + MTK_PIN(PINCTRL_PIN(247, "GPIO15"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO15"), MTK_FUNCTION(1, "DAC_DAT") ), - MTK_PIN( - 248, "GPIO16", + MTK_PIN(PINCTRL_PIN(248, "GPIO16"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 10), - DRV_GRP4, MTK_FUNCTION(0, "GPIO16"), MTK_FUNCTION(1, "COL0_USBDL"), MTK_FUNCTION(2, "EINT10"), MTK_FUNCTION(3, "PWM1_3X") ), - MTK_PIN( - 249, "GPIO17", + MTK_PIN(PINCTRL_PIN(249, "GPIO17"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 11), - DRV_GRP4, MTK_FUNCTION(0, "GPIO17"), MTK_FUNCTION(1, "COL1"), MTK_FUNCTION(2, "EINT11"), MTK_FUNCTION(3, "SCL0_2X") ), - MTK_PIN( - 250, "GPIO18", + MTK_PIN(PINCTRL_PIN(250, "GPIO18"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 12), - DRV_GRP4, MTK_FUNCTION(0, "GPIO18"), MTK_FUNCTION(1, "COL2"), MTK_FUNCTION(2, "EINT12"), MTK_FUNCTION(3, "SDA0_2X") ), - MTK_PIN( - 251, "GPIO19", + MTK_PIN(PINCTRL_PIN(251, "GPIO19"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 13), - DRV_GRP4, MTK_FUNCTION(0, "GPIO19"), MTK_FUNCTION(1, "COL3"), MTK_FUNCTION(2, "EINT13"), MTK_FUNCTION(3, "SCL1_2X") ), - MTK_PIN( - 252, "GPIO20", + MTK_PIN(PINCTRL_PIN(252, "GPIO20"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 14), - DRV_GRP4, MTK_FUNCTION(0, "GPIO20"), MTK_FUNCTION(1, "COL4"), MTK_FUNCTION(2, "EINT14"), MTK_FUNCTION(3, "SDA1_2X") ), - MTK_PIN( - 253, "GPIO21", + MTK_PIN(PINCTRL_PIN(253, "GPIO21"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 15), - DRV_GRP4, MTK_FUNCTION(0, "GPIO21"), MTK_FUNCTION(1, "COL5"), MTK_FUNCTION(2, "EINT15"), MTK_FUNCTION(3, "SCL2_2X") ), - MTK_PIN( - 254, "GPIO22", + MTK_PIN(PINCTRL_PIN(254, "GPIO22"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 16), - DRV_GRP4, MTK_FUNCTION(0, "GPIO22"), MTK_FUNCTION(1, "COL6"), MTK_FUNCTION(2, "EINT16"), @@ -2747,10 +2491,9 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(4, "GPIO32K_0"), MTK_FUNCTION(5, "GPIO26M_0") ), - MTK_PIN( - 255, "GPIO23", + MTK_PIN(PINCTRL_PIN(255, "GPIO23"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 17), - DRV_GRP4, MTK_FUNCTION(0, "GPIO23"), MTK_FUNCTION(1, "COL7"), MTK_FUNCTION(2, "EINT17"), @@ -2758,64 +2501,57 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(4, "GPIO32K_1"), MTK_FUNCTION(5, "GPIO26M_1") ), - MTK_PIN( - 256, "GPIO24", + MTK_PIN(PINCTRL_PIN(256, "GPIO24"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 18), - DRV_GRP4, MTK_FUNCTION(0, "GPIO24"), MTK_FUNCTION(1, "ROW0"), MTK_FUNCTION(2, "EINT18"), MTK_FUNCTION(3, "SCL0_3X") ), - MTK_PIN( - 257, "GPIO25", + MTK_PIN(PINCTRL_PIN(257, "GPIO25"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 19), - DRV_GRP4, MTK_FUNCTION(0, "GPIO25"), MTK_FUNCTION(1, "ROW1"), MTK_FUNCTION(2, "EINT19"), MTK_FUNCTION(3, "SDA0_3X") ), - MTK_PIN( - 258, "GPIO26", + MTK_PIN(PINCTRL_PIN(258, "GPIO26"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 20), - DRV_GRP4, MTK_FUNCTION(0, "GPIO26"), MTK_FUNCTION(1, "ROW2"), MTK_FUNCTION(2, "EINT20"), MTK_FUNCTION(3, "SCL1_3X") ), - MTK_PIN( - 259, "GPIO27", + MTK_PIN(PINCTRL_PIN(259, "GPIO27"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 21), - DRV_GRP4, MTK_FUNCTION(0, "GPIO27"), MTK_FUNCTION(1, "ROW3"), MTK_FUNCTION(2, "EINT21"), MTK_FUNCTION(3, "SDA1_3X") ), - MTK_PIN( - 260, "GPIO28", + MTK_PIN(PINCTRL_PIN(260, "GPIO28"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 22), - DRV_GRP4, MTK_FUNCTION(0, "GPIO28"), MTK_FUNCTION(1, "ROW4"), MTK_FUNCTION(2, "EINT22"), MTK_FUNCTION(3, "SCL2_3X") ), - MTK_PIN( - 261, "GPIO29", + MTK_PIN(PINCTRL_PIN(261, "GPIO29"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 23), - DRV_GRP4, MTK_FUNCTION(0, "GPIO29"), MTK_FUNCTION(1, "ROW5"), MTK_FUNCTION(2, "EINT23"), MTK_FUNCTION(3, "SDA2_3X") ), - MTK_PIN( - 262, "GPIO30", + MTK_PIN(PINCTRL_PIN(262, "GPIO30"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 24), - DRV_GRP4, MTK_FUNCTION(0, "GPIO30"), MTK_FUNCTION(1, "ROW6"), MTK_FUNCTION(2, "EINT24"), @@ -2823,40 +2559,36 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(4, "GPIO32K_2"), MTK_FUNCTION(5, "GPIO26M_2") ), - MTK_PIN( - 263, "GPIO31", + MTK_PIN(PINCTRL_PIN(263, "GPIO31"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 3), - DRV_GRP4, MTK_FUNCTION(0, "GPIO31"), MTK_FUNCTION(1, "ROW7"), MTK_FUNCTION(2, "EINT3"), MTK_FUNCTION(4, "GPIO32K_3"), MTK_FUNCTION(5, "GPIO26M_3") ), - MTK_PIN( - 264, "GPIO32", + MTK_PIN(PINCTRL_PIN(264, "GPIO32"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 4), - DRV_GRP4, MTK_FUNCTION(0, "GPIO32"), MTK_FUNCTION(1, "PWM1"), MTK_FUNCTION(2, "EINT4"), MTK_FUNCTION(4, "GPIO32K_4"), MTK_FUNCTION(5, "GPIO26M_4") ), - MTK_PIN( - 265, "GPIO33", + MTK_PIN(PINCTRL_PIN(265, "GPIO33"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 5), - DRV_GRP4, MTK_FUNCTION(0, "GPIO33"), MTK_FUNCTION(1, "PWM2"), MTK_FUNCTION(2, "EINT5"), MTK_FUNCTION(4, "GPIO32K_5"), MTK_FUNCTION(5, "GPIO26M_5") ), - MTK_PIN( - 266, "GPIO34", + MTK_PIN(PINCTRL_PIN(266, "GPIO34"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 6), - DRV_GRP4, MTK_FUNCTION(0, "GPIO34"), MTK_FUNCTION(1, "PWM3"), MTK_FUNCTION(2, "EINT6"), @@ -2864,111 +2596,97 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = { MTK_FUNCTION(4, "GPIO32K_6"), MTK_FUNCTION(5, "GPIO26M_6") ), - MTK_PIN( - 267, "GPIO35", + MTK_PIN(PINCTRL_PIN(267, "GPIO35"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 7), - DRV_GRP4, MTK_FUNCTION(0, "GPIO35"), MTK_FUNCTION(1, "SCL0"), MTK_FUNCTION(2, "EINT7"), MTK_FUNCTION(3, "PWM1_2X") ), - MTK_PIN( - 268, "GPIO36", + MTK_PIN(PINCTRL_PIN(268, "GPIO36"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 8), - DRV_GRP4, MTK_FUNCTION(0, "GPIO36"), MTK_FUNCTION(1, "SDA0"), MTK_FUNCTION(2, "EINT8") ), - MTK_PIN( - 269, "GPIO37", + MTK_PIN(PINCTRL_PIN(269, "GPIO37"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 9), - DRV_GRP4, MTK_FUNCTION(0, "GPIO37"), MTK_FUNCTION(1, "SCL1"), MTK_FUNCTION(2, "EINT9"), MTK_FUNCTION(3, "PWM2_2X") ), - MTK_PIN( - 270, "GPIO38", + MTK_PIN(PINCTRL_PIN(270, "GPIO38"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 0), - DRV_GRP4, MTK_FUNCTION(0, "GPIO38"), MTK_FUNCTION(1, "SDA1"), MTK_FUNCTION(2, "EINT0") ), - MTK_PIN( - 271, "GPIO39", + MTK_PIN(PINCTRL_PIN(271, "GPIO39"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 1), - DRV_GRP4, MTK_FUNCTION(0, "GPIO39"), MTK_FUNCTION(1, "SCL2"), MTK_FUNCTION(2, "EINT1"), MTK_FUNCTION(3, "PWM3_2X") ), - MTK_PIN( - 272, "GPIO40", + MTK_PIN(PINCTRL_PIN(272, "GPIO40"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 2), - DRV_GRP4, MTK_FUNCTION(0, "GPIO40"), MTK_FUNCTION(1, "SDA2"), MTK_FUNCTION(2, "EINT2") ), - MTK_PIN( - 273, "GPIO41", + MTK_PIN(PINCTRL_PIN(273, "GPIO41"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO41"), MTK_FUNCTION(1, "SIM1_AP_SCLK") ), - MTK_PIN( - 274, "GPIO42", + MTK_PIN(PINCTRL_PIN(274, "GPIO42"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO42"), MTK_FUNCTION(1, "SIM1_AP_SRST") ), - MTK_PIN( - 275, "GPIO43", + MTK_PIN(PINCTRL_PIN(275, "GPIO43"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO43"), MTK_FUNCTION(1, "SIM2_AP_SCLK") ), - MTK_PIN( - 276, "GPIO44", + MTK_PIN(PINCTRL_PIN(276, "GPIO44"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO44"), MTK_FUNCTION(1, "SIM2_AP_SRST") ), - MTK_PIN( - 277, "GPIO45", + MTK_PIN(PINCTRL_PIN(277, "GPIO45"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO45"), MTK_FUNCTION(1, "SIMLS1_SCLK") ), - MTK_PIN( - 278, "GPIO46", + MTK_PIN(PINCTRL_PIN(278, "GPIO46"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO46"), MTK_FUNCTION(1, "SIMLS1_SRST") ), - MTK_PIN( - 279, "GPIO47", + MTK_PIN(PINCTRL_PIN(279, "GPIO47"), + NULL, "mt6589", MTK_EINT_FUNCTION(0, 10), - DRV_GRP4, MTK_FUNCTION(0, "GPIO47"), MTK_FUNCTION(1, "SIMLS2_SCLK"), MTK_FUNCTION(5, "EINT10") ), - MTK_PIN( - 280, "GPIO48", + MTK_PIN(PINCTRL_PIN(280, "GPIO48"), + NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - DRV_GRP4, MTK_FUNCTION(0, "GPIO48"), MTK_FUNCTION(1, "SIMLS2_SRST") ), From c01703567fba73159dfed932f82f8ad0337e55fa Mon Sep 17 00:00:00 2001 From: akku Date: Sat, 3 Jan 2026 00:09:16 +0900 Subject: [PATCH 08/25] pinctrl: mediatek: mt6589: comment out gpioext --- drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h index 1d844940d70787..f0f82826bd7f79 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h @@ -2336,7 +2336,8 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(7, "A_FUNC_DIN[2]") ), - /* GPIOEXT */ + /* GPIOEXT: it must move to MT6320 pinctrl */ +/* MTK_PIN(PINCTRL_PIN(232, "GPIO0"), NULL, "mt6589", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), @@ -2690,6 +2691,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(0, "GPIO48"), MTK_FUNCTION(1, "SIMLS2_SRST") ), +*/ }; #endif /* __PINCTRL_MTK_MT6589_H */ From c6af0dedbefd03aa49f2eb20bc2b76cc40cd4cba Mon Sep 17 00:00:00 2001 From: akku Date: Sat, 3 Jan 2026 00:14:17 +0900 Subject: [PATCH 09/25] dt-bindings: pinctrl: mediatek: add MT6320 pinctrl --- .../devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml index 19270dd0fec1bb..335bb019cd472b 100644 --- a/Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml @@ -17,6 +17,7 @@ properties: enum: - mediatek,mt2701-pinctrl - mediatek,mt2712-pinctrl + - mediatek,mt6320-pinctrl - mediatek,mt6397-pinctrl - mediatek,mt6589-pinctrl - mediatek,mt7623-pinctrl From ba396d79bfcb5a624446a5bbabf340da31f9ad1e Mon Sep 17 00:00:00 2001 From: akku Date: Sat, 3 Jan 2026 00:28:29 +0900 Subject: [PATCH 10/25] wip: pinctrl: mediatek: add mt6320 support --- .../bindings/mfd/mediatek,mt6320.yaml | 0 drivers/pinctrl/mediatek/pinctrl-mt6320.c | 66 ++++ drivers/pinctrl/mediatek/pinctrl-mtk-mt6320.h | 373 ++++++++++++++++++ include/linux/mfd/mt6320/core.h | 0 4 files changed, 439 insertions(+) create mode 100644 Documentation/devicetree/bindings/mfd/mediatek,mt6320.yaml create mode 100644 drivers/pinctrl/mediatek/pinctrl-mt6320.c create mode 100644 drivers/pinctrl/mediatek/pinctrl-mtk-mt6320.h create mode 100644 include/linux/mfd/mt6320/core.h diff --git a/Documentation/devicetree/bindings/mfd/mediatek,mt6320.yaml b/Documentation/devicetree/bindings/mfd/mediatek,mt6320.yaml new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/drivers/pinctrl/mediatek/pinctrl-mt6320.c b/drivers/pinctrl/mediatek/pinctrl-mt6320.c new file mode 100644 index 00000000000000..8404497fc67f4c --- /dev/null +++ b/drivers/pinctrl/mediatek/pinctrl-mt6320.c @@ -0,0 +1,66 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) 2015 MediaTek Inc. + * Author: Hongzhou.Yang + * + * Copyright (c) 2026 akku. + * Author: akku + */ + +#include +#include +#include +#include +#include +#include + +#include "pinctrl-mtk-common.h" +#include "pinctrl-mtk-mt6320.h" + +//#define MT6320_PIN_REG_BASE 0xc000 + +static const struct mtk_pinctrl_devdata mt6320_pinctrl_data = { + .pins = mtk_pins_mt6320, + .npins = ARRAY_SIZE(mtk_pins_mt6320), +/* + .dir_offset = (MT6320_PIN_REG_BASE + 0x000), + .ies_offset = MTK_PINCTRL_NOT_SUPPORT, + .smt_offset = MTK_PINCTRL_NOT_SUPPORT, + .pullen_offset = (MT6320_PIN_REG_BASE + 0x020), + .pullsel_offset = (MT6320_PIN_REG_BASE + 0x040), + .dout_offset = (MT6320_PIN_REG_BASE + 0x080), + .din_offset = (MT6320_PIN_REG_BASE + 0x0a0), + .pinmux_offset = (MT6320_PIN_REG_BASE + 0x0c0), + .type1_start = 41, + .type1_end = 41, + .port_shf = 3, + .port_mask = 0x3, + .port_align = 2, + .mode_mask = 0xf, + .mode_per_reg = 5, + .mode_shf = 4, +*/ +}; + +static int mt6320_pinctrl_probe(struct platform_device *pdev) +{ + struct mt6320_chip *mt6320; + + mt6320 = dev_get_drvdata(pdev->dev.parent); + return mtk_pctrl_init(pdev, &mt6320_pinctrl_data, mt6320->regmap); +} + +static const struct of_device_id mt6320_pctrl_match[] = { + { .compatible = "mediatek,mt6320-pinctrl", }, + { } +}; + +static struct platform_driver mtk_pinctrl_driver = { + .probe = mt6320_pinctrl_probe, + .driver = { + .name = "mediatek-mt6320-pinctrl", + .of_match_table = mt6320_pctrl_match, + }, +}; + +builtin_platform_driver(mtk_pinctrl_driver); diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6320.h b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6320.h new file mode 100644 index 00000000000000..e30ae14392d1e4 --- /dev/null +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6320.h @@ -0,0 +1,373 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Author: akku + */ + +#ifndef __PINCTRL_MTK_MT6320_H +#define __PINCTRL_MTK_MT6320_H + +#include +#include "pinctrl-mtk-common.h" + +/* TODO: Is eintmux (the first argument of the MTK_EINT_FUNCTION macro) always 0? + It's 0 on the MT2701, but some SoCs may use non-zero values. +FIXME: not null? +*/ +static const struct mtk_desc_pin mtk_pins_mt6320[] = { + MTK_PIN(PINCTRL_PIN(232, "GPIO0"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO0"), + MTK_FUNCTION(1, "INT") + ), + MTK_PIN(PINCTRL_PIN(233, "GPIO1"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO1"), + MTK_FUNCTION(1, "SRCVOLTEN") + ), + MTK_PIN(PINCTRL_PIN(234, "GPIO2"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO2"), + MTK_FUNCTION(1, "SRCLKEN_PERI") + ), + MTK_PIN(PINCTRL_PIN(235, "GPIO3"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO3"), + MTK_FUNCTION(1, "SRCLKEN_MD2") + ), + MTK_PIN(PINCTRL_PIN(236, "GPIO4"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO4"), + MTK_FUNCTION(1, "RTC_32K1V8") + ), + MTK_PIN(PINCTRL_PIN(237, "GPIO5"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO5"), + MTK_FUNCTION(1, "WRAP_EVENT") + ), + MTK_PIN(PINCTRL_PIN(238, "GPIO6"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO6"), + MTK_FUNCTION(1, "SPI_CLK") + ), + MTK_PIN(PINCTRL_PIN(239, "GPIO7"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO7"), + MTK_FUNCTION(1, "SPI_CSN") + ), + MTK_PIN(PINCTRL_PIN(240, "GPIO8"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO8"), + MTK_FUNCTION(1, "SPI_MOSI") + ), + MTK_PIN(PINCTRL_PIN(241, "GPIO9"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO9"), + MTK_FUNCTION(1, "SPI_MISO") + ), + MTK_PIN(PINCTRL_PIN(242, "GPIO10"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO10"), + MTK_FUNCTION(1, "ADC_CK") + ), + MTK_PIN(PINCTRL_PIN(243, "GPIO11"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO11"), + MTK_FUNCTION(1, "ADC_WS") + ), + MTK_PIN(PINCTRL_PIN(244, "GPIO12"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO12"), + MTK_FUNCTION(1, "ADC_DAT") + ), + MTK_PIN(PINCTRL_PIN(245, "GPIO13"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO13"), + MTK_FUNCTION(1, "DAC_CK") + ), + MTK_PIN(PINCTRL_PIN(246, "GPIO14"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO14"), + MTK_FUNCTION(1, "DAC_WS") + ), + MTK_PIN(PINCTRL_PIN(247, "GPIO15"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO15"), + MTK_FUNCTION(1, "DAC_DAT") + ), + MTK_PIN(PINCTRL_PIN(248, "GPIO16"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 10), + MTK_FUNCTION(0, "GPIO16"), + MTK_FUNCTION(1, "COL0_USBDL"), + MTK_FUNCTION(2, "EINT10"), + MTK_FUNCTION(3, "PWM1_3X") + ), + MTK_PIN(PINCTRL_PIN(249, "GPIO17"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 11), + MTK_FUNCTION(0, "GPIO17"), + MTK_FUNCTION(1, "COL1"), + MTK_FUNCTION(2, "EINT11"), + MTK_FUNCTION(3, "SCL0_2X") + ), + MTK_PIN(PINCTRL_PIN(250, "GPIO18"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 12), + MTK_FUNCTION(0, "GPIO18"), + MTK_FUNCTION(1, "COL2"), + MTK_FUNCTION(2, "EINT12"), + MTK_FUNCTION(3, "SDA0_2X") + ), + MTK_PIN(PINCTRL_PIN(251, "GPIO19"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 13), + MTK_FUNCTION(0, "GPIO19"), + MTK_FUNCTION(1, "COL3"), + MTK_FUNCTION(2, "EINT13"), + MTK_FUNCTION(3, "SCL1_2X") + ), + MTK_PIN(PINCTRL_PIN(252, "GPIO20"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 14), + MTK_FUNCTION(0, "GPIO20"), + MTK_FUNCTION(1, "COL4"), + MTK_FUNCTION(2, "EINT14"), + MTK_FUNCTION(3, "SDA1_2X") + ), + MTK_PIN(PINCTRL_PIN(253, "GPIO21"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 15), + MTK_FUNCTION(0, "GPIO21"), + MTK_FUNCTION(1, "COL5"), + MTK_FUNCTION(2, "EINT15"), + MTK_FUNCTION(3, "SCL2_2X") + ), + MTK_PIN(PINCTRL_PIN(254, "GPIO22"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 16), + MTK_FUNCTION(0, "GPIO22"), + MTK_FUNCTION(1, "COL6"), + MTK_FUNCTION(2, "EINT16"), + MTK_FUNCTION(3, "SDA2_2X"), + MTK_FUNCTION(4, "GPIO32K_0"), + MTK_FUNCTION(5, "GPIO26M_0") + ), + MTK_PIN(PINCTRL_PIN(255, "GPIO23"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 17), + MTK_FUNCTION(0, "GPIO23"), + MTK_FUNCTION(1, "COL7"), + MTK_FUNCTION(2, "EINT17"), + MTK_FUNCTION(3, "PWM2_3X"), + MTK_FUNCTION(4, "GPIO32K_1"), + MTK_FUNCTION(5, "GPIO26M_1") + ), + MTK_PIN(PINCTRL_PIN(256, "GPIO24"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 18), + MTK_FUNCTION(0, "GPIO24"), + MTK_FUNCTION(1, "ROW0"), + MTK_FUNCTION(2, "EINT18"), + MTK_FUNCTION(3, "SCL0_3X") + ), + MTK_PIN(PINCTRL_PIN(257, "GPIO25"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 19), + MTK_FUNCTION(0, "GPIO25"), + MTK_FUNCTION(1, "ROW1"), + MTK_FUNCTION(2, "EINT19"), + MTK_FUNCTION(3, "SDA0_3X") + ), + MTK_PIN(PINCTRL_PIN(258, "GPIO26"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 20), + MTK_FUNCTION(0, "GPIO26"), + MTK_FUNCTION(1, "ROW2"), + MTK_FUNCTION(2, "EINT20"), + MTK_FUNCTION(3, "SCL1_3X") + ), + MTK_PIN(PINCTRL_PIN(259, "GPIO27"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 21), + MTK_FUNCTION(0, "GPIO27"), + MTK_FUNCTION(1, "ROW3"), + MTK_FUNCTION(2, "EINT21"), + MTK_FUNCTION(3, "SDA1_3X") + ), + MTK_PIN(PINCTRL_PIN(260, "GPIO28"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 22), + MTK_FUNCTION(0, "GPIO28"), + MTK_FUNCTION(1, "ROW4"), + MTK_FUNCTION(2, "EINT22"), + MTK_FUNCTION(3, "SCL2_3X") + ), + MTK_PIN(PINCTRL_PIN(261, "GPIO29"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 23), + MTK_FUNCTION(0, "GPIO29"), + MTK_FUNCTION(1, "ROW5"), + MTK_FUNCTION(2, "EINT23"), + MTK_FUNCTION(3, "SDA2_3X") + ), + MTK_PIN(PINCTRL_PIN(262, "GPIO30"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 24), + MTK_FUNCTION(0, "GPIO30"), + MTK_FUNCTION(1, "ROW6"), + MTK_FUNCTION(2, "EINT24"), + MTK_FUNCTION(3, "PWM3_3X"), + MTK_FUNCTION(4, "GPIO32K_2"), + MTK_FUNCTION(5, "GPIO26M_2") + ), + MTK_PIN(PINCTRL_PIN(263, "GPIO31"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 3), + MTK_FUNCTION(0, "GPIO31"), + MTK_FUNCTION(1, "ROW7"), + MTK_FUNCTION(2, "EINT3"), + MTK_FUNCTION(4, "GPIO32K_3"), + MTK_FUNCTION(5, "GPIO26M_3") + ), + MTK_PIN(PINCTRL_PIN(264, "GPIO32"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 4), + MTK_FUNCTION(0, "GPIO32"), + MTK_FUNCTION(1, "PWM1"), + MTK_FUNCTION(2, "EINT4"), + MTK_FUNCTION(4, "GPIO32K_4"), + MTK_FUNCTION(5, "GPIO26M_4") + ), + MTK_PIN(PINCTRL_PIN(265, "GPIO33"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 5), + MTK_FUNCTION(0, "GPIO33"), + MTK_FUNCTION(1, "PWM2"), + MTK_FUNCTION(2, "EINT5"), + MTK_FUNCTION(4, "GPIO32K_5"), + MTK_FUNCTION(5, "GPIO26M_5") + ), + MTK_PIN(PINCTRL_PIN(266, "GPIO34"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 6), + MTK_FUNCTION(0, "GPIO34"), + MTK_FUNCTION(1, "PWM3"), + MTK_FUNCTION(2, "EINT6"), + MTK_FUNCTION(3, "COL0"), + MTK_FUNCTION(4, "GPIO32K_6"), + MTK_FUNCTION(5, "GPIO26M_6") + ), + MTK_PIN(PINCTRL_PIN(267, "GPIO35"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 7), + MTK_FUNCTION(0, "GPIO35"), + MTK_FUNCTION(1, "SCL0"), + MTK_FUNCTION(2, "EINT7"), + MTK_FUNCTION(3, "PWM1_2X") + ), + MTK_PIN(PINCTRL_PIN(268, "GPIO36"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 8), + MTK_FUNCTION(0, "GPIO36"), + MTK_FUNCTION(1, "SDA0"), + MTK_FUNCTION(2, "EINT8") + ), + MTK_PIN(PINCTRL_PIN(269, "GPIO37"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 9), + MTK_FUNCTION(0, "GPIO37"), + MTK_FUNCTION(1, "SCL1"), + MTK_FUNCTION(2, "EINT9"), + MTK_FUNCTION(3, "PWM2_2X") + ), + MTK_PIN(PINCTRL_PIN(270, "GPIO38"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 0), + MTK_FUNCTION(0, "GPIO38"), + MTK_FUNCTION(1, "SDA1"), + MTK_FUNCTION(2, "EINT0") + ), + MTK_PIN(PINCTRL_PIN(271, "GPIO39"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 1), + MTK_FUNCTION(0, "GPIO39"), + MTK_FUNCTION(1, "SCL2"), + MTK_FUNCTION(2, "EINT1"), + MTK_FUNCTION(3, "PWM3_2X") + ), + MTK_PIN(PINCTRL_PIN(272, "GPIO40"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 2), + MTK_FUNCTION(0, "GPIO40"), + MTK_FUNCTION(1, "SDA2"), + MTK_FUNCTION(2, "EINT2") + ), + MTK_PIN(PINCTRL_PIN(273, "GPIO41"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO41"), + MTK_FUNCTION(1, "SIM1_AP_SCLK") + ), + MTK_PIN(PINCTRL_PIN(274, "GPIO42"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO42"), + MTK_FUNCTION(1, "SIM1_AP_SRST") + ), + MTK_PIN(PINCTRL_PIN(275, "GPIO43"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO43"), + MTK_FUNCTION(1, "SIM2_AP_SCLK") + ), + MTK_PIN(PINCTRL_PIN(276, "GPIO44"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO44"), + MTK_FUNCTION(1, "SIM2_AP_SRST") + ), + MTK_PIN(PINCTRL_PIN(277, "GPIO45"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO45"), + MTK_FUNCTION(1, "SIMLS1_SCLK") + ), + MTK_PIN(PINCTRL_PIN(278, "GPIO46"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO46"), + MTK_FUNCTION(1, "SIMLS1_SRST") + ), + MTK_PIN(PINCTRL_PIN(279, "GPIO47"), + NULL, "mt6320", + MTK_EINT_FUNCTION(0, 10), + MTK_FUNCTION(0, "GPIO47"), + MTK_FUNCTION(1, "SIMLS2_SCLK"), + MTK_FUNCTION(5, "EINT10") + ), + MTK_PIN(PINCTRL_PIN(280, "GPIO48"), + NULL, "mt6320", + MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), + MTK_FUNCTION(0, "GPIO48"), + MTK_FUNCTION(1, "SIMLS2_SRST") + ), +*/ +}; + +#endif /* __PINCTRL_MTK_MT6320_H */ diff --git a/include/linux/mfd/mt6320/core.h b/include/linux/mfd/mt6320/core.h new file mode 100644 index 00000000000000..e69de29bb2d1d6 From 1672291bfe6f9a956f89990de537c6230df0ddd7 Mon Sep 17 00:00:00 2001 From: akku Date: Sat, 3 Jan 2026 01:07:41 +0900 Subject: [PATCH 11/25] pinctrl: mediatek: mt6589&mt6320: fix eint def and cleanup --- drivers/pinctrl/mediatek/pinctrl-mtk-mt6320.h | 57 +- drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h | 802 +++++------------- 2 files changed, 247 insertions(+), 612 deletions(-) diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6320.h b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6320.h index e30ae14392d1e4..be4d178ad7bb19 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6320.h +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6320.h @@ -9,10 +9,6 @@ #include #include "pinctrl-mtk-common.h" -/* TODO: Is eintmux (the first argument of the MTK_EINT_FUNCTION macro) always 0? - It's 0 on the MT2701, but some SoCs may use non-zero values. -FIXME: not null? -*/ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_PIN(PINCTRL_PIN(232, "GPIO0"), NULL, "mt6320", @@ -112,7 +108,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(248, "GPIO16"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 10), + MTK_EINT_FUNCTION(2, 10), MTK_FUNCTION(0, "GPIO16"), MTK_FUNCTION(1, "COL0_USBDL"), MTK_FUNCTION(2, "EINT10"), @@ -120,7 +116,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(249, "GPIO17"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 11), + MTK_EINT_FUNCTION(2, 11), MTK_FUNCTION(0, "GPIO17"), MTK_FUNCTION(1, "COL1"), MTK_FUNCTION(2, "EINT11"), @@ -128,7 +124,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(250, "GPIO18"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 12), + MTK_EINT_FUNCTION(2, 12), MTK_FUNCTION(0, "GPIO18"), MTK_FUNCTION(1, "COL2"), MTK_FUNCTION(2, "EINT12"), @@ -136,7 +132,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(251, "GPIO19"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 13), + MTK_EINT_FUNCTION(2, 13), MTK_FUNCTION(0, "GPIO19"), MTK_FUNCTION(1, "COL3"), MTK_FUNCTION(2, "EINT13"), @@ -144,7 +140,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(252, "GPIO20"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 14), + MTK_EINT_FUNCTION(2, 14), MTK_FUNCTION(0, "GPIO20"), MTK_FUNCTION(1, "COL4"), MTK_FUNCTION(2, "EINT14"), @@ -152,7 +148,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(253, "GPIO21"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 15), + MTK_EINT_FUNCTION(2, 15), MTK_FUNCTION(0, "GPIO21"), MTK_FUNCTION(1, "COL5"), MTK_FUNCTION(2, "EINT15"), @@ -160,7 +156,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(254, "GPIO22"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 16), + MTK_EINT_FUNCTION(2, 16), MTK_FUNCTION(0, "GPIO22"), MTK_FUNCTION(1, "COL6"), MTK_FUNCTION(2, "EINT16"), @@ -170,7 +166,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(255, "GPIO23"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 17), + MTK_EINT_FUNCTION(2, 17), MTK_FUNCTION(0, "GPIO23"), MTK_FUNCTION(1, "COL7"), MTK_FUNCTION(2, "EINT17"), @@ -180,7 +176,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(256, "GPIO24"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 18), + MTK_EINT_FUNCTION(2, 18), MTK_FUNCTION(0, "GPIO24"), MTK_FUNCTION(1, "ROW0"), MTK_FUNCTION(2, "EINT18"), @@ -188,7 +184,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(257, "GPIO25"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 19), + MTK_EINT_FUNCTION(2, 19), MTK_FUNCTION(0, "GPIO25"), MTK_FUNCTION(1, "ROW1"), MTK_FUNCTION(2, "EINT19"), @@ -196,7 +192,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(258, "GPIO26"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 20), + MTK_EINT_FUNCTION(2, 20), MTK_FUNCTION(0, "GPIO26"), MTK_FUNCTION(1, "ROW2"), MTK_FUNCTION(2, "EINT20"), @@ -204,7 +200,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(259, "GPIO27"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 21), + MTK_EINT_FUNCTION(2, 21), MTK_FUNCTION(0, "GPIO27"), MTK_FUNCTION(1, "ROW3"), MTK_FUNCTION(2, "EINT21"), @@ -212,7 +208,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(260, "GPIO28"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 22), + MTK_EINT_FUNCTION(2, 22), MTK_FUNCTION(0, "GPIO28"), MTK_FUNCTION(1, "ROW4"), MTK_FUNCTION(2, "EINT22"), @@ -220,7 +216,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(261, "GPIO29"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 23), + MTK_EINT_FUNCTION(2, 23), MTK_FUNCTION(0, "GPIO29"), MTK_FUNCTION(1, "ROW5"), MTK_FUNCTION(2, "EINT23"), @@ -228,7 +224,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(262, "GPIO30"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 24), + MTK_EINT_FUNCTION(2, 24), MTK_FUNCTION(0, "GPIO30"), MTK_FUNCTION(1, "ROW6"), MTK_FUNCTION(2, "EINT24"), @@ -238,7 +234,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(263, "GPIO31"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 3), + MTK_EINT_FUNCTION(2, 3), MTK_FUNCTION(0, "GPIO31"), MTK_FUNCTION(1, "ROW7"), MTK_FUNCTION(2, "EINT3"), @@ -247,7 +243,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(264, "GPIO32"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 4), + MTK_EINT_FUNCTION(2, 4), MTK_FUNCTION(0, "GPIO32"), MTK_FUNCTION(1, "PWM1"), MTK_FUNCTION(2, "EINT4"), @@ -256,7 +252,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(265, "GPIO33"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 5), + MTK_EINT_FUNCTION(2, 5), MTK_FUNCTION(0, "GPIO33"), MTK_FUNCTION(1, "PWM2"), MTK_FUNCTION(2, "EINT5"), @@ -265,7 +261,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(266, "GPIO34"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 6), + MTK_EINT_FUNCTION(2, 6), MTK_FUNCTION(0, "GPIO34"), MTK_FUNCTION(1, "PWM3"), MTK_FUNCTION(2, "EINT6"), @@ -275,7 +271,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(267, "GPIO35"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 7), + MTK_EINT_FUNCTION(2, 7), MTK_FUNCTION(0, "GPIO35"), MTK_FUNCTION(1, "SCL0"), MTK_FUNCTION(2, "EINT7"), @@ -283,14 +279,14 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(268, "GPIO36"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 8), + MTK_EINT_FUNCTION(2, 8), MTK_FUNCTION(0, "GPIO36"), MTK_FUNCTION(1, "SDA0"), MTK_FUNCTION(2, "EINT8") ), MTK_PIN(PINCTRL_PIN(269, "GPIO37"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 9), + MTK_EINT_FUNCTION(2, 9), MTK_FUNCTION(0, "GPIO37"), MTK_FUNCTION(1, "SCL1"), MTK_FUNCTION(2, "EINT9"), @@ -298,14 +294,14 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(270, "GPIO38"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 0), + MTK_EINT_FUNCTION(2, 0), MTK_FUNCTION(0, "GPIO38"), MTK_FUNCTION(1, "SDA1"), MTK_FUNCTION(2, "EINT0") ), MTK_PIN(PINCTRL_PIN(271, "GPIO39"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 1), + MTK_EINT_FUNCTION(2, 1), MTK_FUNCTION(0, "GPIO39"), MTK_FUNCTION(1, "SCL2"), MTK_FUNCTION(2, "EINT1"), @@ -313,7 +309,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(272, "GPIO40"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 2), + MTK_EINT_FUNCTION(2, 2), MTK_FUNCTION(0, "GPIO40"), MTK_FUNCTION(1, "SDA2"), MTK_FUNCTION(2, "EINT2") @@ -356,7 +352,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { ), MTK_PIN(PINCTRL_PIN(279, "GPIO47"), NULL, "mt6320", - MTK_EINT_FUNCTION(0, 10), + MTK_EINT_FUNCTION(5, 10), MTK_FUNCTION(0, "GPIO47"), MTK_FUNCTION(1, "SIMLS2_SCLK"), MTK_FUNCTION(5, "EINT10") @@ -367,7 +363,6 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(0, "GPIO48"), MTK_FUNCTION(1, "SIMLS2_SRST") ), -*/ }; #endif /* __PINCTRL_MTK_MT6320_H */ diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h index f0f82826bd7f79..539e4d066a8743 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h @@ -9,14 +9,11 @@ #include #include "pinctrl-mtk-common.h" -/* TODO: Is eintmux (the first argument of the MTK_EINT_FUNCTION macro) always 0? - It's 0 on the MT2701, but some SoCs may use non-zero values. -*/ static const struct mtk_desc_pin mtk_pins_mt6589[] = { /* GPIO */ MTK_PIN(PINCTRL_PIN(0, "GPIO0"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 49), + MTK_EINT_FUNCTION(2, 49), MTK_FUNCTION(0, "GPIO0"), MTK_FUNCTION(1, "MSDC0_DAT7"), MTK_FUNCTION(2, "EINT49"), @@ -28,7 +25,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(1, "GPIO1"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 48), + MTK_EINT_FUNCTION(2, 48), MTK_FUNCTION(0, "GPIO1"), MTK_FUNCTION(1, "MSDC0_DAT6"), MTK_FUNCTION(2, "EINT48"), @@ -40,7 +37,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(2, "GPIO2"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 47), + MTK_EINT_FUNCTION(2, 47), MTK_FUNCTION(0, "GPIO2"), MTK_FUNCTION(1, "MSDC0_DAT5"), MTK_FUNCTION(2, "EINT47"), @@ -52,7 +49,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(3, "GPIO3"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 46), + MTK_EINT_FUNCTION(2, 46), MTK_FUNCTION(0, "GPIO3"), MTK_FUNCTION(1, "MSDC0_DAT4"), MTK_FUNCTION(2, "EINT46"), @@ -61,7 +58,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(4, "GPIO4"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 50), + MTK_EINT_FUNCTION(2, 50), MTK_FUNCTION(0, "GPIO4"), MTK_FUNCTION(1, "MSDC0_RSTB"), MTK_FUNCTION(2, "EINT50"), @@ -72,7 +69,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(5, "GPIO5"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 41), + MTK_EINT_FUNCTION(2, 41), MTK_FUNCTION(0, "GPIO5"), MTK_FUNCTION(1, "MSDC0_CMD"), MTK_FUNCTION(2, "EINT41"), @@ -81,7 +78,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(6, "GPIO6"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 40), + MTK_EINT_FUNCTION(2, 40), MTK_FUNCTION(0, "GPIO6"), MTK_FUNCTION(1, "MSDC0_CLK"), MTK_FUNCTION(2, "EINT40"), @@ -90,7 +87,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(7, "GPIO7"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 45), + MTK_EINT_FUNCTION(2, 45), MTK_FUNCTION(0, "GPIO7"), MTK_FUNCTION(1, "MSDC0_DAT3"), MTK_FUNCTION(2, "EINT45"), @@ -99,7 +96,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(8, "GPIO8"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 44), + MTK_EINT_FUNCTION(2, 44), MTK_FUNCTION(0, "GPIO8"), MTK_FUNCTION(1, "MSDC0_DAT2"), MTK_FUNCTION(2, "EINT44"), @@ -108,7 +105,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(9, "GPIO9"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 43), + MTK_EINT_FUNCTION(2, 43), MTK_FUNCTION(0, "GPIO9"), MTK_FUNCTION(1, "MSDC0_DAT1"), MTK_FUNCTION(2, "EINT43"), @@ -117,7 +114,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(10, "GPIO10"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 42), + MTK_EINT_FUNCTION(2, 42), MTK_FUNCTION(0, "GPIO10"), MTK_FUNCTION(1, "MSDC0_DAT0"), MTK_FUNCTION(2, "EINT42"), @@ -125,7 +122,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(11, "GPIO11"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 139), + MTK_EINT_FUNCTION(2, 139), MTK_FUNCTION(0, "GPIO11"), MTK_FUNCTION(1, "NCEB0"), MTK_FUNCTION(2, "EINT139"), @@ -133,7 +130,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(12, "GPIO12"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 140), + MTK_EINT_FUNCTION(2, 140), MTK_FUNCTION(0, "GPIO12"), MTK_FUNCTION(1, "NCEB1"), MTK_FUNCTION(2, "EINT140"), @@ -144,7 +141,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(13, "GPIO13"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 141), + MTK_EINT_FUNCTION(2, 141), MTK_FUNCTION(0, "GPIO13"), MTK_FUNCTION(1, "NRNB"), MTK_FUNCTION(2, "EINT141"), @@ -153,7 +150,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(14, "GPIO14"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 142), + MTK_EINT_FUNCTION(2, 142), MTK_FUNCTION(0, "GPIO14"), MTK_FUNCTION(1, "NCLE"), MTK_FUNCTION(2, "EINT142"), @@ -164,7 +161,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(15, "GPIO15"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 143), + MTK_EINT_FUNCTION(2, 143), MTK_FUNCTION(0, "GPIO15"), MTK_FUNCTION(1, "NALE"), MTK_FUNCTION(2, "EINT143"), @@ -176,7 +173,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(16, "GPIO16"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 144), + MTK_EINT_FUNCTION(2, 144), MTK_FUNCTION(0, "GPIO16"), MTK_FUNCTION(1, "NREB"), MTK_FUNCTION(2, "EINT144"), @@ -188,7 +185,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(17, "GPIO17"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 145), + MTK_EINT_FUNCTION(2, 145), MTK_FUNCTION(0, "GPIO17"), MTK_FUNCTION(1, "NWEB"), MTK_FUNCTION(2, "EINT145"), @@ -200,7 +197,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(18, "GPIO18"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 146), + MTK_EINT_FUNCTION(2, 146), MTK_FUNCTION(0, "GPIO18"), MTK_FUNCTION(1, "NLD0"), MTK_FUNCTION(2, "EINT146"), @@ -212,7 +209,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(19, "GPIO19"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 147), + MTK_EINT_FUNCTION(2, 147), MTK_FUNCTION(0, "GPIO19"), MTK_FUNCTION(1, "NLD1"), MTK_FUNCTION(2, "EINT147"), @@ -224,7 +221,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(20, "GPIO20"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 148), + MTK_EINT_FUNCTION(2, 148), MTK_FUNCTION(0, "GPIO20"), MTK_FUNCTION(1, "NLD2"), MTK_FUNCTION(2, "EINT148"), @@ -236,7 +233,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(21, "GPIO21"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 149), + MTK_EINT_FUNCTION(2, 149), MTK_FUNCTION(0, "GPIO21"), MTK_FUNCTION(1, "NLD3"), MTK_FUNCTION(2, "EINT149"), @@ -247,7 +244,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(22, "GPIO22"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 150), + MTK_EINT_FUNCTION(2, 150), MTK_FUNCTION(0, "GPIO22"), MTK_FUNCTION(1, "NLD4"), MTK_FUNCTION(2, "EINT150"), @@ -259,7 +256,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(23, "GPIO23"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 151), + MTK_EINT_FUNCTION(2, 151), MTK_FUNCTION(0, "GPIO23"), MTK_FUNCTION(1, "NLD5"), MTK_FUNCTION(2, "EINT151"), @@ -270,7 +267,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(24, "GPIO24"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 152), + MTK_EINT_FUNCTION(2, 152), MTK_FUNCTION(0, "GPIO24"), MTK_FUNCTION(1, "NLD6"), MTK_FUNCTION(2, "EINT152"), @@ -281,7 +278,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(25, "GPIO25"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 153), + MTK_EINT_FUNCTION(2, 153), MTK_FUNCTION(0, "GPIO25"), MTK_FUNCTION(1, "NLD7"), MTK_FUNCTION(2, "EINT153"), @@ -292,7 +289,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(26, "GPIO26"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 154), + MTK_EINT_FUNCTION(2, 154), MTK_FUNCTION(0, "GPIO26"), MTK_FUNCTION(1, "NLD8"), MTK_FUNCTION(2, "EINT154"), @@ -303,7 +300,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(27, "GPIO27"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 155), + MTK_EINT_FUNCTION(2, 155), MTK_FUNCTION(0, "GPIO27"), MTK_FUNCTION(1, "NLD9"), MTK_FUNCTION(2, "EINT155"), @@ -315,7 +312,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(28, "GPIO28"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 156), + MTK_EINT_FUNCTION(2, 156), MTK_FUNCTION(0, "GPIO28"), MTK_FUNCTION(1, "NLD10"), MTK_FUNCTION(2, "EINT156"), @@ -327,7 +324,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(29, "GPIO29"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 157), + MTK_EINT_FUNCTION(2, 157), MTK_FUNCTION(0, "GPIO29"), MTK_FUNCTION(1, "NLD11"), MTK_FUNCTION(2, "EINT157"), @@ -339,7 +336,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(30, "GPIO30"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 158), + MTK_EINT_FUNCTION(2, 158), MTK_FUNCTION(0, "GPIO30"), MTK_FUNCTION(1, "NLD12"), MTK_FUNCTION(2, "EINT158"), @@ -351,7 +348,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(31, "GPIO31"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 159), + MTK_EINT_FUNCTION(2, 159), MTK_FUNCTION(0, "GPIO31"), MTK_FUNCTION(1, "NLD13"), MTK_FUNCTION(2, "EINT159"), @@ -363,7 +360,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(32, "GPIO32"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 160), + MTK_EINT_FUNCTION(2, 160), MTK_FUNCTION(0, "GPIO32"), MTK_FUNCTION(1, "NLD14"), MTK_FUNCTION(2, "EINT160"), @@ -375,7 +372,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(33, "GPIO33"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 161), + MTK_EINT_FUNCTION(2, 161), MTK_FUNCTION(0, "GPIO33"), MTK_FUNCTION(1, "NLD15"), MTK_FUNCTION(2, "EINT161"), @@ -387,7 +384,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(34, "GPIO34"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 0), + MTK_EINT_FUNCTION(6, 0), MTK_FUNCTION(0, "GPIO34"), MTK_FUNCTION(1, "EINT0"), MTK_FUNCTION(2, "PWM1"), @@ -398,7 +395,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(35, "GPIO35"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 1), + MTK_EINT_FUNCTION(1, 1), MTK_FUNCTION(0, "GPIO35"), MTK_FUNCTION(1, "EINT1"), MTK_FUNCTION(2, "PWM2"), @@ -409,7 +406,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(36, "GPIO36"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 2), + MTK_EINT_FUNCTION(1, 2), MTK_FUNCTION(0, "GPIO36"), MTK_FUNCTION(1, "EINT2"), MTK_FUNCTION(2, "PWM3"), @@ -419,7 +416,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(37, "GPIO37"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 3), + MTK_EINT_FUNCTION(1, 3), MTK_FUNCTION(0, "GPIO37"), MTK_FUNCTION(1, "EINT3"), MTK_FUNCTION(6, "MD1_EINT5"), @@ -427,7 +424,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(38, "GPIO38"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 4), + MTK_EINT_FUNCTION(1, 4), MTK_FUNCTION(0, "GPIO38"), MTK_FUNCTION(1, "EINT4"), MTK_FUNCTION(2, "PWM4"), @@ -438,42 +435,42 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(39, "GPIO39"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 29), + MTK_EINT_FUNCTION(2, 29), MTK_FUNCTION(0, "GPIO39"), MTK_FUNCTION(1, "PWRAP_SPIDI"), MTK_FUNCTION(2, "EINT29") ), MTK_PIN(PINCTRL_PIN(40, "GPIO40"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 28), + MTK_EINT_FUNCTION(2, 28), MTK_FUNCTION(0, "GPIO40"), MTK_FUNCTION(1, "PWRAP_SPIDO"), MTK_FUNCTION(2, "EINT28") ), MTK_PIN(PINCTRL_PIN(41, "GPIO41"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 27), + MTK_EINT_FUNCTION(2, 27), MTK_FUNCTION(0, "GPIO41"), MTK_FUNCTION(1, "PWRAP_SPICS_B_I"), MTK_FUNCTION(2, "EINT27") ), MTK_PIN(PINCTRL_PIN(42, "GPIO42"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 26), + MTK_EINT_FUNCTION(2, 26), MTK_FUNCTION(0, "GPIO42"), MTK_FUNCTION(1, "PWRAP_SPICK_I"), MTK_FUNCTION(2, "EINT26") ), MTK_PIN(PINCTRL_PIN(43, "GPIO43"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 25), + MTK_EINT_FUNCTION(2, 25), MTK_FUNCTION(0, "GPIO43"), MTK_FUNCTION(1, "PWRAP_EVENT_IN"), MTK_FUNCTION(2, "EINT25") ), MTK_PIN(PINCTRL_PIN(44, "GPIO44"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 30), + MTK_EINT_FUNCTION(2, 30), MTK_FUNCTION(0, "GPIO44"), MTK_FUNCTION(1, "MD1_SIM1_SCLK"), MTK_FUNCTION(2, "EINT30"), @@ -484,7 +481,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(45, "GPIO45"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 31), + MTK_EINT_FUNCTION(2, 31), MTK_FUNCTION(0, "GPIO45"), MTK_FUNCTION(1, "MD1_SIM1_SRST"), MTK_FUNCTION(2, "EINT31"), @@ -495,7 +492,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(46, "GPIO46"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 32), + MTK_EINT_FUNCTION(2, 32), MTK_FUNCTION(0, "GPIO46"), MTK_FUNCTION(1, "MD1_SIM1_SDAT"), MTK_FUNCTION(2, "EINT32"), @@ -506,7 +503,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(47, "GPIO47"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 33), + MTK_EINT_FUNCTION(2, 33), MTK_FUNCTION(0, "GPIO47"), MTK_FUNCTION(1, "MD1_SIM2_SCLK"), MTK_FUNCTION(2, "EINT33"), @@ -517,7 +514,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(48, "GPIO48"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 34), + MTK_EINT_FUNCTION(2, 34), MTK_FUNCTION(0, "GPIO48"), MTK_FUNCTION(1, "MD1_SIM2_SRST"), MTK_FUNCTION(2, "EINT34"), @@ -528,7 +525,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(49, "GPIO49"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 35), + MTK_EINT_FUNCTION(2, 35), MTK_FUNCTION(0, "GPIO49"), MTK_FUNCTION(1, "MD1_SIM2_SDAT"), MTK_FUNCTION(2, "EINT35"), @@ -539,42 +536,42 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(50, "GPIO50"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 19), + MTK_EINT_FUNCTION(2, 19), MTK_FUNCTION(0, "GPIO50"), MTK_FUNCTION(1, "ADC_CK"), MTK_FUNCTION(2, "EINT19") ), MTK_PIN(PINCTRL_PIN(51, "GPIO51"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 21), + MTK_EINT_FUNCTION(2, 21), MTK_FUNCTION(0, "GPIO51"), MTK_FUNCTION(1, "ADC_WS"), MTK_FUNCTION(2, "EINT21") ), MTK_PIN(PINCTRL_PIN(52, "GPIO52"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 20), + MTK_EINT_FUNCTION(2, 20), MTK_FUNCTION(0, "GPIO52"), MTK_FUNCTION(1, "ADC_DAT_IN"), MTK_FUNCTION(2, "EINT20") ), MTK_PIN(PINCTRL_PIN(53, "GPIO53"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 22), + MTK_EINT_FUNCTION(2, 22), MTK_FUNCTION(0, "GPIO53"), MTK_FUNCTION(1, "DAC_CK"), MTK_FUNCTION(2, "EINT22") ), MTK_PIN(PINCTRL_PIN(54, "GPIO54"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 24), + MTK_EINT_FUNCTION(2, 24), MTK_FUNCTION(0, "GPIO54"), MTK_FUNCTION(1, "DAC_WS"), MTK_FUNCTION(2, "EINT24") ), MTK_PIN(PINCTRL_PIN(55, "GPIO55"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 23), + MTK_EINT_FUNCTION(2, 23), MTK_FUNCTION(0, "GPIO55"), MTK_FUNCTION(1, "DAC_DAT_OUT"), MTK_FUNCTION(2, "EINT23") @@ -587,35 +584,35 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(57, "GPIO57"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 34), + MTK_EINT_FUNCTION(2, 34), MTK_FUNCTION(0, "GPIO57"), MTK_FUNCTION(1, "IDDIG"), MTK_FUNCTION(2, "EINT34") ), MTK_PIN(PINCTRL_PIN(58, "GPIO58"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 36), + MTK_EINT_FUNCTION(2, 36), MTK_FUNCTION(0, "GPIO58"), MTK_FUNCTION(1, "WATCHDOG"), MTK_FUNCTION(2, "EINT36") ), MTK_PIN(PINCTRL_PIN(59, "GPIO59"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 38), + MTK_EINT_FUNCTION(2, 38), MTK_FUNCTION(0, "GPIO59"), MTK_FUNCTION(1, "SRCLKENA"), MTK_FUNCTION(2, "EINT38") ), MTK_PIN(PINCTRL_PIN(60, "GPIO60"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 37), + MTK_EINT_FUNCTION(2, 37), MTK_FUNCTION(0, "GPIO60"), MTK_FUNCTION(1, "SRCVOLTEN"), MTK_FUNCTION(2, "EINT37") ), MTK_PIN(PINCTRL_PIN(61, "GPIO61"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 188), + MTK_EINT_FUNCTION(2, 188), MTK_FUNCTION(0, "GPIO61"), MTK_FUNCTION(1, "JTCK"), MTK_FUNCTION(2, "EINT188"), @@ -624,7 +621,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(62, "GPIO62"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 190), + MTK_EINT_FUNCTION(2, 190), MTK_FUNCTION(0, "GPIO62"), MTK_FUNCTION(1, "JTDO"), MTK_FUNCTION(2, "EINT190"), @@ -633,7 +630,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(63, "GPIO63"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 0), + MTK_EINT_FUNCTION(2, 0), MTK_FUNCTION(0, "GPIO63"), MTK_FUNCTION(1, "JTRST_B"), MTK_FUNCTION(2, "EINT0"), @@ -642,7 +639,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(64, "GPIO64"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 189), + MTK_EINT_FUNCTION(2, 189), MTK_FUNCTION(0, "GPIO64"), MTK_FUNCTION(1, "JTDI"), MTK_FUNCTION(2, "EINT189"), @@ -651,7 +648,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(65, "GPIO65"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 187), + MTK_EINT_FUNCTION(2, 187), MTK_FUNCTION(0, "GPIO65"), MTK_FUNCTION(1, "JRTCK"), MTK_FUNCTION(2, "EINT187"), @@ -660,7 +657,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(66, "GPIO66"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 191), + MTK_EINT_FUNCTION(2, 191), MTK_FUNCTION(0, "GPIO66"), MTK_FUNCTION(1, "JTMS"), MTK_FUNCTION(2, "EINT191"), @@ -669,7 +666,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(67, "GPIO67"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 97), + MTK_EINT_FUNCTION(2, 97), MTK_FUNCTION(0, "GPIO67"), MTK_FUNCTION(1, "SDA3"), MTK_FUNCTION(2, "EINT97"), @@ -677,7 +674,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(68, "GPIO68"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 96), + MTK_EINT_FUNCTION(2, 96), MTK_FUNCTION(0, "GPIO68"), MTK_FUNCTION(1, "SCL3"), MTK_FUNCTION(2, "EINT96"), @@ -687,7 +684,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(69, "GPIO69"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 83), + MTK_EINT_FUNCTION(2, 83), MTK_FUNCTION(0, "GPIO69"), MTK_FUNCTION(1, "URXD2"), MTK_FUNCTION(2, "EINT83"), @@ -699,7 +696,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(70, "GPIO70"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 82), + MTK_EINT_FUNCTION(2, 82), MTK_FUNCTION(0, "GPIO70"), MTK_FUNCTION(1, "UTXD2"), MTK_FUNCTION(2, "EINT82"), @@ -711,7 +708,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(71, "GPIO71"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 84), + MTK_EINT_FUNCTION(2, 84), MTK_FUNCTION(0, "GPIO71"), MTK_FUNCTION(1, "UCTS2"), MTK_FUNCTION(2, "EINT84"), @@ -723,7 +720,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(72, "GPIO72"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 85), + MTK_EINT_FUNCTION(2, 85), MTK_FUNCTION(0, "GPIO72"), MTK_FUNCTION(1, "URTS2"), MTK_FUNCTION(2, "EINT85"), @@ -735,7 +732,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(73, "GPIO73"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 73), + MTK_EINT_FUNCTION(2, 73), MTK_FUNCTION(0, "GPIO73"), MTK_FUNCTION(1, "PWM1"), MTK_FUNCTION(2, "EINT73"), @@ -747,7 +744,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(74, "GPIO74"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 74), + MTK_EINT_FUNCTION(2, 74), MTK_FUNCTION(0, "GPIO74"), MTK_FUNCTION(1, "PWM2"), MTK_FUNCTION(2, "EINT74"), @@ -759,7 +756,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(75, "GPIO75"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 75), + MTK_EINT_FUNCTION(2, 75), MTK_FUNCTION(0, "GPIO75"), MTK_FUNCTION(1, "PWM3"), MTK_FUNCTION(2, "EINT75"), @@ -771,7 +768,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(76, "GPIO76"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 76), + MTK_EINT_FUNCTION(2, 76), MTK_FUNCTION(0, "GPIO76"), MTK_FUNCTION(1, "PWM4"), MTK_FUNCTION(2, "EINT76"), @@ -782,7 +779,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(77, "GPIO77"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 79), + MTK_EINT_FUNCTION(2, 79), MTK_FUNCTION(0, "GPIO77"), MTK_FUNCTION(1, "URXD1"), MTK_FUNCTION(2, "EINT79"), @@ -794,7 +791,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(78, "GPIO78"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 78), + MTK_EINT_FUNCTION(2, 78), MTK_FUNCTION(0, "GPIO78"), MTK_FUNCTION(1, "UTXD1"), MTK_FUNCTION(2, "EINT78"), @@ -806,7 +803,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(79, "GPIO79"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 80), + MTK_EINT_FUNCTION(2, 80), MTK_FUNCTION(0, "GPIO79"), MTK_FUNCTION(1, "UCTS1"), MTK_FUNCTION(2, "EINT80"), @@ -818,7 +815,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(80, "GPIO80"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 81), + MTK_EINT_FUNCTION(2, 81), MTK_FUNCTION(0, "GPIO80"), MTK_FUNCTION(1, "URTS1"), MTK_FUNCTION(2, "EINT81"), @@ -830,7 +827,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(81, "GPIO81"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 89), + MTK_EINT_FUNCTION(2, 89), MTK_FUNCTION(0, "GPIO81"), MTK_FUNCTION(1, "URXD4"), MTK_FUNCTION(2, "EINT89"), @@ -842,7 +839,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(82, "GPIO82"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 88), + MTK_EINT_FUNCTION(2, 88), MTK_FUNCTION(0, "GPIO82"), MTK_FUNCTION(1, "UTXD4"), MTK_FUNCTION(2, "EINT88"), @@ -854,7 +851,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(83, "GPIO83"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 1), + MTK_EINT_FUNCTION(2, 1), MTK_FUNCTION(0, "GPIO83"), MTK_FUNCTION(1, "DUAL_BPI1_BUS0"), MTK_FUNCTION(2, "EINT1"), @@ -864,7 +861,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(84, "GPIO84"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 2), + MTK_EINT_FUNCTION(2, 2), MTK_FUNCTION(0, "GPIO84"), MTK_FUNCTION(1, "DUAL_BPI1_BUS1"), MTK_FUNCTION(2, "EINT2"), @@ -874,7 +871,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(85, "GPIO85"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 3), + MTK_EINT_FUNCTION(2, 3), MTK_FUNCTION(0, "GPIO85"), MTK_FUNCTION(1, "DUAL_BPI1_BUS2"), MTK_FUNCTION(2, "EINT3"), @@ -884,7 +881,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(86, "GPIO86"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 4), + MTK_EINT_FUNCTION(2, 4), MTK_FUNCTION(0, "GPIO86"), MTK_FUNCTION(1, "DUAL_BPI1_BUS3"), MTK_FUNCTION(2, "EINT4"), @@ -894,7 +891,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(87, "GPIO87"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 5), + MTK_EINT_FUNCTION(2, 5), MTK_FUNCTION(0, "GPIO87"), MTK_FUNCTION(1, "DUAL_BPI1_BUS4"), MTK_FUNCTION(2, "EINT5"), @@ -904,7 +901,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(88, "GPIO88"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 6), + MTK_EINT_FUNCTION(2, 6), MTK_FUNCTION(0, "GPIO88"), MTK_FUNCTION(1, "DUAL_BPI1_BUS5"), MTK_FUNCTION(2, "EINT6"), @@ -914,7 +911,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(89, "GPIO89"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 7), + MTK_EINT_FUNCTION(2, 7), MTK_FUNCTION(0, "GPIO89"), MTK_FUNCTION(1, "DUAL_BPI1_BUS6"), MTK_FUNCTION(2, "EINT7"), @@ -924,7 +921,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(90, "GPIO90"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 8), + MTK_EINT_FUNCTION(2, 8), MTK_FUNCTION(0, "GPIO90"), MTK_FUNCTION(1, "DUAL_BPI1_BUS7"), MTK_FUNCTION(2, "EINT8"), @@ -936,7 +933,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(91, "GPIO91"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 9), + MTK_EINT_FUNCTION(2, 9), MTK_FUNCTION(0, "GPIO91"), MTK_FUNCTION(1, "DUAL_BPI1_BUS8"), MTK_FUNCTION(2, "EINT9"), @@ -946,7 +943,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(92, "GPIO92"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 10), + MTK_EINT_FUNCTION(2, 10), MTK_FUNCTION(0, "GPIO92"), MTK_FUNCTION(1, "DUAL_BPI1_BUS9"), MTK_FUNCTION(2, "EINT10"), @@ -956,7 +953,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(93, "GPIO93"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 11), + MTK_EINT_FUNCTION(2, 11), MTK_FUNCTION(0, "GPIO93"), MTK_FUNCTION(1, "DUAL_BPI1_BUS10"), MTK_FUNCTION(2, "EINT11"), @@ -1001,7 +998,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(98, "GPIO98"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 16), + MTK_EINT_FUNCTION(2, 16), MTK_FUNCTION(0, "GPIO98"), MTK_FUNCTION(1, "DUAL_BPI1_BUS17"), MTK_FUNCTION(2, "EINT16"), @@ -1011,7 +1008,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(99, "GPIO99"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 17), + MTK_EINT_FUNCTION(2, 17), MTK_FUNCTION(0, "GPIO99"), MTK_FUNCTION(1, "DUAL_BPI1_BUS15"), MTK_FUNCTION(2, "EINT17"), @@ -1021,7 +1018,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(100, "GPIO100"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 19), + MTK_EINT_FUNCTION(2, 19), MTK_FUNCTION(0, "GPIO100"), MTK_FUNCTION(1, "VM1"), MTK_FUNCTION(2, "EINT19"), @@ -1030,7 +1027,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(101, "GPIO101"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 18), + MTK_EINT_FUNCTION(2, 18), MTK_FUNCTION(0, "GPIO101"), MTK_FUNCTION(1, "VM0"), MTK_FUNCTION(2, "EINT18"), @@ -1039,7 +1036,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(102, "GPIO102"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 26), + MTK_EINT_FUNCTION(2, 26), MTK_FUNCTION(0, "GPIO102"), MTK_FUNCTION(1, "BSI1B_CS0"), MTK_FUNCTION(2, "EINT26"), @@ -1048,7 +1045,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(103, "GPIO103"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 27), + MTK_EINT_FUNCTION(2, 27), MTK_FUNCTION(0, "GPIO103"), MTK_FUNCTION(1, "BSI1B_DATA0"), MTK_FUNCTION(2, "EINT27"), @@ -1057,7 +1054,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(104, "GPIO104"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 25), + MTK_EINT_FUNCTION(2, 25), MTK_FUNCTION(0, "GPIO104"), MTK_FUNCTION(1, "BSI1B_CLK"), MTK_FUNCTION(2, "EINT25"), @@ -1066,7 +1063,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(105, "GPIO105"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 30), + MTK_EINT_FUNCTION(2, 30), MTK_FUNCTION(0, "GPIO105"), MTK_FUNCTION(1, "TXBPI1"), MTK_FUNCTION(2, "EINT30") @@ -1079,14 +1076,14 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(107, "GPIO107"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 39), + MTK_EINT_FUNCTION(2, 39), MTK_FUNCTION(0, "GPIO107"), MTK_FUNCTION(1, "SRCLKENA2"), MTK_FUNCTION(2, "EINT39") ), MTK_PIN(PINCTRL_PIN(108, "GPIO108"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 21), + MTK_EINT_FUNCTION(2, 21), MTK_FUNCTION(0, "GPIO108"), MTK_FUNCTION(1, "BSI1A_CS0"), MTK_FUNCTION(2, "EINT21"), @@ -1096,7 +1093,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(109, "GPIO109"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 24), + MTK_EINT_FUNCTION(2, 24), MTK_FUNCTION(0, "GPIO109"), MTK_FUNCTION(1, "BSI1A_DATA2"), MTK_FUNCTION(2, "EINT24"), @@ -1105,7 +1102,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(110, "GPIO110"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 23), + MTK_EINT_FUNCTION(2, 23), MTK_FUNCTION(0, "GPIO110"), MTK_FUNCTION(1, "BSI1A_DATA1"), MTK_FUNCTION(2, "EINT23"), @@ -1115,7 +1112,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(111, "GPIO111"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 22), + MTK_EINT_FUNCTION(2, 22), MTK_FUNCTION(0, "GPIO111"), MTK_FUNCTION(1, "BSI1A_DATA0"), MTK_FUNCTION(2, "EINT22"), @@ -1125,7 +1122,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(112, "GPIO112"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 20), + MTK_EINT_FUNCTION(2, 20), MTK_FUNCTION(0, "GPIO112"), MTK_FUNCTION(1, "BSI1A_CLK"), MTK_FUNCTION(2, "EINT20"), @@ -1135,7 +1132,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(113, "GPIO113"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 29), + MTK_EINT_FUNCTION(2, 29), MTK_FUNCTION(0, "GPIO113"), MTK_FUNCTION(1, "BSI1C_DATA"), MTK_FUNCTION(2, "EINT29"), @@ -1147,7 +1144,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(114, "GPIO114"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 28), + MTK_EINT_FUNCTION(2, 28), MTK_FUNCTION(0, "GPIO114"), MTK_FUNCTION(1, "BSI1C_CLK"), MTK_FUNCTION(2, "EINT28"), @@ -1156,28 +1153,28 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(115, "GPIO115"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 10), + MTK_EINT_FUNCTION(1, 10), MTK_FUNCTION(0, "GPIO115"), MTK_FUNCTION(1, "EINT10"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[31]") ), MTK_PIN(PINCTRL_PIN(116, "GPIO116"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 11), + MTK_EINT_FUNCTION(1, 11), MTK_FUNCTION(0, "GPIO116"), MTK_FUNCTION(1, "EINT11"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[32]") ), MTK_PIN(PINCTRL_PIN(117, "GPIO117"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 16), + MTK_EINT_FUNCTION(1, 16), MTK_FUNCTION(0, "GPIO117"), MTK_FUNCTION(1, "EINT16"), MTK_FUNCTION(6, "MD_ABB_AFUNC_D[33]") ), MTK_PIN(PINCTRL_PIN(118, "GPIO118"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 91), + MTK_EINT_FUNCTION(2, 91), MTK_FUNCTION(0, "GPIO118"), MTK_FUNCTION(1, "SDA0"), MTK_FUNCTION(2, "EINT91"), @@ -1187,7 +1184,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(119, "GPIO119"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 90), + MTK_EINT_FUNCTION(2, 90), MTK_FUNCTION(0, "GPIO119"), MTK_FUNCTION(1, "SCL0"), MTK_FUNCTION(2, "EINT90"), @@ -1197,7 +1194,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(120, "GPIO120"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 10), + MTK_EINT_FUNCTION(2, 10), MTK_FUNCTION(0, "GPIO120"), MTK_FUNCTION(1, "I2SIN_CK"), MTK_FUNCTION(2, "EINT10"), @@ -1218,7 +1215,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(122, "GPIO122"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 11), + MTK_EINT_FUNCTION(2, 11), MTK_FUNCTION(0, "GPIO122"), MTK_FUNCTION(1, "I2SIN_DAT"), MTK_FUNCTION(2, "EINT11"), @@ -1238,7 +1235,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(124, "GPIO124"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 5), + MTK_EINT_FUNCTION(1, 5), MTK_FUNCTION(0, "GPIO124"), MTK_FUNCTION(1, "EINT5"), MTK_FUNCTION(2, "PWM5"), @@ -1249,7 +1246,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(125, "GPIO125"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 6), + MTK_EINT_FUNCTION(1, 6), MTK_FUNCTION(0, "GPIO125"), MTK_FUNCTION(1, "EINT6"), MTK_FUNCTION(2, "PWM6"), @@ -1260,7 +1257,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(126, "GPIO126"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 7), + MTK_EINT_FUNCTION(1, 7), MTK_FUNCTION(0, "GPIO126"), MTK_FUNCTION(1, "EINT7"), MTK_FUNCTION(2, "PWM7"), @@ -1271,7 +1268,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(127, "GPIO127"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 8), + MTK_EINT_FUNCTION(1, 8), MTK_FUNCTION(0, "GPIO127"), MTK_FUNCTION(1, "EINT8"), MTK_FUNCTION(2, "DISP_PWM"), @@ -1282,7 +1279,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(128, "GPIO128"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 9), + MTK_EINT_FUNCTION(1, 9), MTK_FUNCTION(0, "GPIO128"), MTK_FUNCTION(1, "EINT9"), MTK_FUNCTION(3, "MD1_GPS_SYNC"), @@ -1292,7 +1289,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(129, "GPIO129"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 77), + MTK_EINT_FUNCTION(2, 77), MTK_FUNCTION(0, "GPIO129"), MTK_FUNCTION(1, "DISP_PWM"), MTK_FUNCTION(2, "EINT77"), @@ -1304,7 +1301,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(130, "GPIO130"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 133), + MTK_EINT_FUNCTION(2, 133), MTK_FUNCTION(0, "GPIO130"), MTK_FUNCTION(1, "MSDC4_DAT0"), MTK_FUNCTION(2, "EINT133"), @@ -1315,7 +1312,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(131, "GPIO131"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 134), + MTK_EINT_FUNCTION(2, 134), MTK_FUNCTION(0, "GPIO131"), MTK_FUNCTION(1, "MSDC4_DAT1"), MTK_FUNCTION(2, "EINT134"), @@ -1324,7 +1321,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(132, "GPIO132"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 127), + MTK_EINT_FUNCTION(2, 127), MTK_FUNCTION(0, "GPIO132"), MTK_FUNCTION(1, "LPCE1B"), MTK_FUNCTION(2, "EINT127"), @@ -1334,7 +1331,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(133, "GPIO133"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 126), + MTK_EINT_FUNCTION(2, 126), MTK_FUNCTION(0, "GPIO133"), MTK_FUNCTION(1, "LPCE0B"), MTK_FUNCTION(2, "EINT126"), @@ -1344,7 +1341,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(134, "GPIO134"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 136), + MTK_EINT_FUNCTION(2, 136), MTK_FUNCTION(0, "GPIO134"), MTK_FUNCTION(1, "MSDC4_DAT5"), MTK_FUNCTION(2, "EINT136"), @@ -1356,7 +1353,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(135, "GPIO135"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 137), + MTK_EINT_FUNCTION(2, 137), MTK_FUNCTION(0, "GPIO135"), MTK_FUNCTION(1, "MSDC4_DAT6"), MTK_FUNCTION(2, "EINT137"), @@ -1368,7 +1365,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(136, "GPIO136"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 138), + MTK_EINT_FUNCTION(2, 138), MTK_FUNCTION(0, "GPIO136"), MTK_FUNCTION(1, "MSDC4_DAT7"), MTK_FUNCTION(2, "EINT138"), @@ -1379,7 +1376,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(137, "GPIO137"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 135), + MTK_EINT_FUNCTION(2, 135), MTK_FUNCTION(0, "GPIO137"), MTK_FUNCTION(1, "MSDC4_DAT4"), MTK_FUNCTION(2, "EINT135"), @@ -1391,7 +1388,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(138, "GPIO138"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 131), + MTK_EINT_FUNCTION(2, 131), MTK_FUNCTION(0, "GPIO138"), MTK_FUNCTION(1, "MSDC4_DAT2"), MTK_FUNCTION(2, "EINT131"), @@ -1403,7 +1400,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(139, "GPIO139"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 129), + MTK_EINT_FUNCTION(2, 129), MTK_FUNCTION(0, "GPIO139"), MTK_FUNCTION(1, "MSDC4_CLK"), MTK_FUNCTION(2, "EINT129"), @@ -1415,7 +1412,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(140, "GPIO140"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 132), + MTK_EINT_FUNCTION(2, 132), MTK_FUNCTION(0, "GPIO140"), MTK_FUNCTION(1, "MSDC4_DAT3"), MTK_FUNCTION(2, "EINT132"), @@ -1427,7 +1424,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(141, "GPIO141"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 128), + MTK_EINT_FUNCTION(2, 128), MTK_FUNCTION(0, "GPIO141"), MTK_FUNCTION(1, "MSDC4_CMD"), MTK_FUNCTION(2, "EINT128"), @@ -1439,7 +1436,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(142, "GPIO142"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 130), + MTK_EINT_FUNCTION(2, 130), MTK_FUNCTION(0, "GPIO142"), MTK_FUNCTION(1, "MSDC4_RSTB"), MTK_FUNCTION(2, "EINT130"), @@ -1451,7 +1448,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(143, "GPIO143"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 98), + MTK_EINT_FUNCTION(2, 98), MTK_FUNCTION(0, "GPIO143"), MTK_FUNCTION(1, "DPI0_VSYNC"), MTK_FUNCTION(2, "EINT98"), @@ -1463,7 +1460,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(144, "GPIO144"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 99), + MTK_EINT_FUNCTION(2, 99), MTK_FUNCTION(0, "GPIO144"), MTK_FUNCTION(1, "DPI0_HSYNC"), MTK_FUNCTION(2, "EINT99"), @@ -1475,7 +1472,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(145, "GPIO145"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 100), + MTK_EINT_FUNCTION(2, 100), MTK_FUNCTION(0, "GPIO145"), MTK_FUNCTION(1, "DPI0_DE"), MTK_FUNCTION(2, "EINT100"), @@ -1487,7 +1484,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(146, "GPIO146"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 101), + MTK_EINT_FUNCTION(2, 101), MTK_FUNCTION(0, "GPIO146"), MTK_FUNCTION(1, "DPI0_CK"), MTK_FUNCTION(2, "EINT101"), @@ -1498,7 +1495,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(147, "GPIO147"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 102), + MTK_EINT_FUNCTION(2, 102), MTK_FUNCTION(0, "GPIO147"), MTK_FUNCTION(1, "DPI0_B0"), MTK_FUNCTION(2, "EINT102"), @@ -1509,7 +1506,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(148, "GPIO148"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 103), + MTK_EINT_FUNCTION(2, 103), MTK_FUNCTION(0, "GPIO148"), MTK_FUNCTION(1, "DPI0_B1"), MTK_FUNCTION(2, "EINT103"), @@ -1521,7 +1518,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(149, "GPIO149"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 104), + MTK_EINT_FUNCTION(2, 104), MTK_FUNCTION(0, "GPIO149"), MTK_FUNCTION(1, "DPI0_B2"), MTK_FUNCTION(2, "EINT104"), @@ -1533,7 +1530,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(150, "GPIO150"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 105), + MTK_EINT_FUNCTION(2, 105), MTK_FUNCTION(0, "GPIO150"), MTK_FUNCTION(1, "DPI0_B3"), MTK_FUNCTION(2, "EINT105"), @@ -1545,7 +1542,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(151, "GPIO151"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 106), + MTK_EINT_FUNCTION(2, 106), MTK_FUNCTION(0, "GPIO151"), MTK_FUNCTION(1, "DPI0_B4"), MTK_FUNCTION(2, "EINT106"), @@ -1557,7 +1554,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(152, "GPIO152"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 107), + MTK_EINT_FUNCTION(2, 107), MTK_FUNCTION(0, "GPIO152"), MTK_FUNCTION(1, "DPI0_B5"), MTK_FUNCTION(2, "EINT107"), @@ -1569,7 +1566,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(153, "GPIO153"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 108), + MTK_EINT_FUNCTION(2, 108), MTK_FUNCTION(0, "GPIO153"), MTK_FUNCTION(1, "DPI0_B6"), MTK_FUNCTION(2, "EINT108"), @@ -1581,7 +1578,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(154, "GPIO154"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 109), + MTK_EINT_FUNCTION(2, 109), MTK_FUNCTION(0, "GPIO154"), MTK_FUNCTION(1, "DPI0_B7"), MTK_FUNCTION(2, "EINT109"), @@ -1593,7 +1590,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(155, "GPIO155"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 110), + MTK_EINT_FUNCTION(2, 110), MTK_FUNCTION(0, "GPIO155"), MTK_FUNCTION(1, "DPI0_G0"), MTK_FUNCTION(2, "EINT110"), @@ -1603,7 +1600,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(156, "GPIO156"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 111), + MTK_EINT_FUNCTION(2, 111), MTK_FUNCTION(0, "GPIO156"), MTK_FUNCTION(1, "DPI0_G1"), MTK_FUNCTION(2, "EINT111"), @@ -1613,7 +1610,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(157, "GPIO157"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 112), + MTK_EINT_FUNCTION(2, 112), MTK_FUNCTION(0, "GPIO157"), MTK_FUNCTION(1, "DPI0_G2"), MTK_FUNCTION(2, "EINT112"), @@ -1623,7 +1620,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(158, "GPIO158"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 113), + MTK_EINT_FUNCTION(2, 113), MTK_FUNCTION(0, "GPIO158"), MTK_FUNCTION(1, "DPI0_G3"), MTK_FUNCTION(2, "EINT113"), @@ -1633,7 +1630,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(159, "GPIO159"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 114), + MTK_EINT_FUNCTION(2, 114), MTK_FUNCTION(0, "GPIO159"), MTK_FUNCTION(1, "DPI0_G4"), MTK_FUNCTION(2, "EINT114"), @@ -1645,7 +1642,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(160, "GPIO160"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 115), + MTK_EINT_FUNCTION(2, 115), MTK_FUNCTION(0, "GPIO160"), MTK_FUNCTION(1, "DPI0_G5"), MTK_FUNCTION(2, "EINT115"), @@ -1657,7 +1654,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(161, "GPIO161"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 116), + MTK_EINT_FUNCTION(2, 116), MTK_FUNCTION(0, "GPIO161"), MTK_FUNCTION(1, "DPI0_G6"), MTK_FUNCTION(2, "EINT116"), @@ -1669,7 +1666,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(162, "GPIO162"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 117), + MTK_EINT_FUNCTION(2, 117), MTK_FUNCTION(0, "GPIO162"), MTK_FUNCTION(1, "DPI0_G7"), MTK_FUNCTION(2, "EINT117"), @@ -1681,7 +1678,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(163, "GPIO163"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 118), + MTK_EINT_FUNCTION(2, 118), MTK_FUNCTION(0, "GPIO163"), MTK_FUNCTION(1, "DPI0_R0"), MTK_FUNCTION(2, "EINT118"), @@ -1693,7 +1690,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(164, "GPIO164"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 119), + MTK_EINT_FUNCTION(2, 119), MTK_FUNCTION(0, "GPIO164"), MTK_FUNCTION(1, "DPI0_R1"), MTK_FUNCTION(2, "EINT119"), @@ -1705,7 +1702,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(165, "GPIO165"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 120), + MTK_EINT_FUNCTION(2, 120), MTK_FUNCTION(0, "GPIO165"), MTK_FUNCTION(1, "DPI0_R2"), MTK_FUNCTION(2, "EINT120"), @@ -1716,7 +1713,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(166, "GPIO166"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 121), + MTK_EINT_FUNCTION(2, 121), MTK_FUNCTION(0, "GPIO166"), MTK_FUNCTION(1, "DPI0_R3"), MTK_FUNCTION(2, "EINT121"), @@ -1728,7 +1725,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(167, "GPIO167"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 122), + MTK_EINT_FUNCTION(2, 122), MTK_FUNCTION(0, "GPIO167"), MTK_FUNCTION(1, "DPI0_R4"), MTK_FUNCTION(2, "EINT122"), @@ -1738,7 +1735,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(168, "GPIO168"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 123), + MTK_EINT_FUNCTION(2, 123), MTK_FUNCTION(0, "GPIO168"), MTK_FUNCTION(1, "DPI0_R5"), MTK_FUNCTION(2, "EINT123"), @@ -1750,7 +1747,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(169, "GPIO169"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 124), + MTK_EINT_FUNCTION(2, 124), MTK_FUNCTION(0, "GPIO169"), MTK_FUNCTION(1, "DPI0_R6"), MTK_FUNCTION(2, "EINT124"), @@ -1760,7 +1757,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(170, "GPIO170"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 125), + MTK_EINT_FUNCTION(2, 125), MTK_FUNCTION(0, "GPIO170"), MTK_FUNCTION(1, "DPI0_R7"), MTK_FUNCTION(2, "EINT125"), @@ -1770,7 +1767,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(171, "GPIO171"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 57), + MTK_EINT_FUNCTION(2, 57), MTK_FUNCTION(0, "GPIO171"), MTK_FUNCTION(1, "MSDC1_INSI"), MTK_FUNCTION(2, "EINT57"), @@ -1782,7 +1779,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(172, "GPIO172"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 65), + MTK_EINT_FUNCTION(2, 65), MTK_FUNCTION(0, "GPIO172"), MTK_FUNCTION(1, "MSDC2_INSI"), MTK_FUNCTION(2, "EINT65"), @@ -1791,7 +1788,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(173, "GPIO173"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 66), + MTK_EINT_FUNCTION(2, 66), MTK_FUNCTION(0, "GPIO173"), MTK_FUNCTION(1, "MSDC2_SDWPI"), MTK_FUNCTION(2, "EINT66"), @@ -1802,7 +1799,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(174, "GPIO174"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 63), + MTK_EINT_FUNCTION(2, 63), MTK_FUNCTION(0, "GPIO174"), MTK_FUNCTION(1, "MSDC2_DAT2"), MTK_FUNCTION(2, "EINT63"), @@ -1812,7 +1809,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(175, "GPIO175"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 64), + MTK_EINT_FUNCTION(2, 64), MTK_FUNCTION(0, "GPIO175"), MTK_FUNCTION(1, "MSDC2_DAT3"), MTK_FUNCTION(2, "EINT64"), @@ -1822,7 +1819,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(176, "GPIO176"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 60), + MTK_EINT_FUNCTION(2, 60), MTK_FUNCTION(0, "GPIO176"), MTK_FUNCTION(1, "MSDC2_CMD"), MTK_FUNCTION(2, "EINT60"), @@ -1833,7 +1830,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(177, "GPIO177"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 59), + MTK_EINT_FUNCTION(2, 59), MTK_FUNCTION(0, "GPIO177"), MTK_FUNCTION(1, "MSDC2_CLK"), MTK_FUNCTION(2, "EINT59"), @@ -1844,7 +1841,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(178, "GPIO178"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 62), + MTK_EINT_FUNCTION(2, 62), MTK_FUNCTION(0, "GPIO178"), MTK_FUNCTION(1, "MSDC2_DAT1"), MTK_FUNCTION(2, "EINT62"), @@ -1855,7 +1852,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(179, "GPIO179"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 61), + MTK_EINT_FUNCTION(2, 61), MTK_FUNCTION(0, "GPIO179"), MTK_FUNCTION(1, "MSDC2_DAT0"), MTK_FUNCTION(2, "EINT61"), @@ -1866,7 +1863,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(180, "GPIO180"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 53), + MTK_EINT_FUNCTION(2, 53), MTK_FUNCTION(0, "GPIO180"), MTK_FUNCTION(1, "MSDC1_DAT0"), MTK_FUNCTION(2, "EINT53"), @@ -1878,7 +1875,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(181, "GPIO181"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 54), + MTK_EINT_FUNCTION(2, 54), MTK_FUNCTION(0, "GPIO181"), MTK_FUNCTION(1, "MSDC1_DAT1"), MTK_FUNCTION(2, "EINT54"), @@ -1890,7 +1887,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(182, "GPIO182"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 58), + MTK_EINT_FUNCTION(2, 58), MTK_FUNCTION(0, "GPIO182"), MTK_FUNCTION(1, "MSDC1_SDWPI"), MTK_FUNCTION(2, "EINT58"), @@ -1902,7 +1899,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(183, "GPIO183"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 52), + MTK_EINT_FUNCTION(2, 52), MTK_FUNCTION(0, "GPIO183"), MTK_FUNCTION(1, "MSDC1_CMD"), MTK_FUNCTION(2, "EINT52"), @@ -1914,7 +1911,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(184, "GPIO184"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 51), + MTK_EINT_FUNCTION(2, 51), MTK_FUNCTION(0, "GPIO184"), MTK_FUNCTION(1, "MSDC1_CLK"), MTK_FUNCTION(2, "EINT51"), @@ -1925,7 +1922,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(185, "GPIO185"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 55), + MTK_EINT_FUNCTION(2, 55), MTK_FUNCTION(0, "GPIO185"), MTK_FUNCTION(1, "MSDC1_DAT2"), MTK_FUNCTION(2, "EINT55"), @@ -1937,7 +1934,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(186, "GPIO186"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 56), + MTK_EINT_FUNCTION(2, 56), MTK_FUNCTION(0, "GPIO186"), MTK_FUNCTION(1, "MSDC1_DAT3"), MTK_FUNCTION(2, "EINT56"), @@ -1949,109 +1946,109 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(187, "GPIO187"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 36), + MTK_EINT_FUNCTION(2, 36), MTK_FUNCTION(0, "GPIO187"), MTK_FUNCTION(2, "EINT36") ), MTK_PIN(PINCTRL_PIN(188, "GPIO188"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 35), + MTK_EINT_FUNCTION(2, 35), MTK_FUNCTION(0, "GPIO188"), MTK_FUNCTION(2, "EINT35") ), MTK_PIN(PINCTRL_PIN(189, "GPIO189"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 169), + MTK_EINT_FUNCTION(2, 169), MTK_FUNCTION(0, "GPIO189"), MTK_FUNCTION(2, "EINT169") ), MTK_PIN(PINCTRL_PIN(190, "GPIO190"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 168), + MTK_EINT_FUNCTION(2, 168), MTK_FUNCTION(0, "GPIO190"), MTK_FUNCTION(2, "EINT168") ), MTK_PIN(PINCTRL_PIN(191, "GPIO191"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 163), + MTK_EINT_FUNCTION(2, 163), MTK_FUNCTION(0, "GPIO191"), MTK_FUNCTION(2, "EINT163") ), MTK_PIN(PINCTRL_PIN(192, "GPIO192"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 162), + MTK_EINT_FUNCTION(2, 162), MTK_FUNCTION(0, "GPIO192"), MTK_FUNCTION(2, "EINT162") ), MTK_PIN(PINCTRL_PIN(193, "GPIO193"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 167), + MTK_EINT_FUNCTION(2, 167), MTK_FUNCTION(0, "GPIO193"), MTK_FUNCTION(2, "EINT167") ), MTK_PIN(PINCTRL_PIN(194, "GPIO194"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 166), + MTK_EINT_FUNCTION(2, 166), MTK_FUNCTION(0, "GPIO194"), MTK_FUNCTION(2, "EINT166") ), MTK_PIN(PINCTRL_PIN(195, "GPIO195"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 165), + MTK_EINT_FUNCTION(2, 165), MTK_FUNCTION(0, "GPIO195"), MTK_FUNCTION(2, "EINT165") ), MTK_PIN(PINCTRL_PIN(196, "GPIO196"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 164), + MTK_EINT_FUNCTION(2, 164), MTK_FUNCTION(0, "GPIO196"), MTK_FUNCTION(2, "EINT164") ), MTK_PIN(PINCTRL_PIN(197, "GPIO197"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 175), + MTK_EINT_FUNCTION(2, 175), MTK_FUNCTION(0, "GPIO197"), MTK_FUNCTION(1, "CMDAT6"), MTK_FUNCTION(2, "EINT175") ), MTK_PIN(PINCTRL_PIN(198, "GPIO198"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 174), + MTK_EINT_FUNCTION(2, 174), MTK_FUNCTION(0, "GPIO198"), MTK_FUNCTION(1, "CMDAT7"), MTK_FUNCTION(2, "EINT174") ), MTK_PIN(PINCTRL_PIN(199, "GPIO199"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 171), + MTK_EINT_FUNCTION(2, 171), MTK_FUNCTION(0, "GPIO199"), MTK_FUNCTION(1, "CMDAT8"), MTK_FUNCTION(2, "EINT171") ), MTK_PIN(PINCTRL_PIN(200, "GPIO200"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 170), + MTK_EINT_FUNCTION(2, 170), MTK_FUNCTION(0, "GPIO200"), MTK_FUNCTION(1, "CMDAT9"), MTK_FUNCTION(2, "EINT170") ), MTK_PIN(PINCTRL_PIN(201, "GPIO201"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 173), + MTK_EINT_FUNCTION(2, 173), MTK_FUNCTION(0, "GPIO201"), MTK_FUNCTION(1, "CMHSYNC"), MTK_FUNCTION(2, "EINT173") ), MTK_PIN(PINCTRL_PIN(202, "GPIO202"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 172), + MTK_EINT_FUNCTION(2, 172), MTK_FUNCTION(0, "GPIO202"), MTK_FUNCTION(1, "CMVSYNC"), MTK_FUNCTION(2, "EINT172") ), MTK_PIN(PINCTRL_PIN(203, "GPIO203"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 181), + MTK_EINT_FUNCTION(2, 181), MTK_FUNCTION(0, "GPIO203"), MTK_FUNCTION(1, "CMDAT2"), MTK_FUNCTION(2, "EINT181"), @@ -2059,7 +2056,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(204, "GPIO204"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 180), + MTK_EINT_FUNCTION(2, 180), MTK_FUNCTION(0, "GPIO204"), MTK_FUNCTION(1, "CMDAT3"), MTK_FUNCTION(2, "EINT180"), @@ -2067,21 +2064,21 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(205, "GPIO205"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 177), + MTK_EINT_FUNCTION(2, 177), MTK_FUNCTION(0, "GPIO205"), MTK_FUNCTION(1, "CMDAT4"), MTK_FUNCTION(2, "EINT177") ), MTK_PIN(PINCTRL_PIN(206, "GPIO206"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 176), + MTK_EINT_FUNCTION(2, 176), MTK_FUNCTION(0, "GPIO206"), MTK_FUNCTION(1, "CMDAT5"), MTK_FUNCTION(2, "EINT176") ), MTK_PIN(PINCTRL_PIN(207, "GPIO207"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 179), + MTK_EINT_FUNCTION(2, 179), MTK_FUNCTION(0, "GPIO207"), MTK_FUNCTION(1, "CMDAT0"), MTK_FUNCTION(2, "EINT179"), @@ -2089,7 +2086,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(208, "GPIO208"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 178), + MTK_EINT_FUNCTION(2, 178), MTK_FUNCTION(0, "GPIO208"), MTK_FUNCTION(1, "CMDAT1"), MTK_FUNCTION(2, "EINT178"), @@ -2097,7 +2094,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(209, "GPIO209"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 182), + MTK_EINT_FUNCTION(2, 182), MTK_FUNCTION(0, "GPIO209"), MTK_FUNCTION(1, "CMPCLK"), MTK_FUNCTION(2, "EINT182"), @@ -2108,7 +2105,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(210, "GPIO210"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 183), + MTK_EINT_FUNCTION(2, 183), MTK_FUNCTION(0, "GPIO210"), MTK_FUNCTION(1, "CMMCLK"), MTK_FUNCTION(2, "EINT183"), @@ -2117,7 +2114,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(211, "GPIO211"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 185), + MTK_EINT_FUNCTION(2, 185), MTK_FUNCTION(0, "GPIO211"), MTK_FUNCTION(1, "CMRST"), MTK_FUNCTION(2, "EINT185"), @@ -2126,7 +2123,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(212, "GPIO212"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 184), + MTK_EINT_FUNCTION(2, 184), MTK_FUNCTION(0, "GPIO212"), MTK_FUNCTION(1, "CMPDN"), MTK_FUNCTION(2, "EINT184"), @@ -2135,7 +2132,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(213, "GPIO213"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 186), + MTK_EINT_FUNCTION(2, 186), MTK_FUNCTION(0, "GPIO213"), MTK_FUNCTION(1, "CMFLASH"), MTK_FUNCTION(2, "EINT186"), @@ -2144,7 +2141,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(214, "GPIO214"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 93), + MTK_EINT_FUNCTION(2, 93), MTK_FUNCTION(0, "GPIO214"), MTK_FUNCTION(1, "SDA1"), MTK_FUNCTION(2, "EINT93"), @@ -2155,7 +2152,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(215, "GPIO215"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 92), + MTK_EINT_FUNCTION(2, 92), MTK_FUNCTION(0, "GPIO215"), MTK_FUNCTION(1, "SCL1"), MTK_FUNCTION(2, "EINT92"), @@ -2166,7 +2163,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(216, "GPIO216"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 95), + MTK_EINT_FUNCTION(2, 95), MTK_FUNCTION(0, "GPIO216"), MTK_FUNCTION(1, "SDA2"), MTK_FUNCTION(2, "EINT95"), @@ -2177,7 +2174,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(217, "GPIO217"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 94), + MTK_EINT_FUNCTION(2, 94), MTK_FUNCTION(0, "GPIO217"), MTK_FUNCTION(1, "SCL2"), MTK_FUNCTION(2, "EINT94"), @@ -2194,7 +2191,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(219, "GPIO219"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 87), + MTK_EINT_FUNCTION(2, 87), MTK_FUNCTION(0, "GPIO219"), MTK_FUNCTION(1, "URXD3"), MTK_FUNCTION(2, "EINT87"), @@ -2206,7 +2203,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(220, "GPIO220"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 86), + MTK_EINT_FUNCTION(2, 86), MTK_FUNCTION(0, "GPIO220"), MTK_FUNCTION(1, "UTXD3"), MTK_FUNCTION(2, "EINT86"), @@ -2229,7 +2226,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(222, "GPIO222"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 16), + MTK_EINT_FUNCTION(2, 16), MTK_FUNCTION(0, "GPIO222"), MTK_FUNCTION(1, "MRG_I2S_PCM_SYNC"), MTK_FUNCTION(2, "EINT16"), @@ -2250,7 +2247,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(224, "GPIO224"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 17), + MTK_EINT_FUNCTION(2, 17), MTK_FUNCTION(0, "GPIO224"), MTK_FUNCTION(1, "MRG_I2S_PCM_TX"), MTK_FUNCTION(2, "EINT17"), @@ -2260,7 +2257,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(225, "GPIO225"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 18), + MTK_EINT_FUNCTION(2, 18), MTK_FUNCTION(0, "GPIO225"), MTK_FUNCTION(1, "MD1_DAI_RX_GPIO"), MTK_FUNCTION(2, "EINT18"), @@ -2271,7 +2268,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(226, "GPIO226"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 71), + MTK_EINT_FUNCTION(2, 71), MTK_FUNCTION(0, "GPIO226"), MTK_FUNCTION(1, "MSDC3_DAT2"), MTK_FUNCTION(2, "EINT71"), @@ -2282,7 +2279,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(227, "GPIO227"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 72), + MTK_EINT_FUNCTION(2, 72), MTK_FUNCTION(0, "GPIO227"), MTK_FUNCTION(1, "MSDC3_DAT3"), MTK_FUNCTION(2, "EINT72"), @@ -2293,7 +2290,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(228, "GPIO228"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 68), + MTK_EINT_FUNCTION(2, 68), MTK_FUNCTION(0, "GPIO228"), MTK_FUNCTION(1, "MSDC3_CMD"), MTK_FUNCTION(2, "EINT68"), @@ -2304,7 +2301,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(229, "GPIO229"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 67), + MTK_EINT_FUNCTION(2, 67), MTK_FUNCTION(0, "GPIO229"), MTK_FUNCTION(1, "MSDC3_CLK"), MTK_FUNCTION(2, "EINT67"), @@ -2315,7 +2312,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(230, "GPIO230"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 70), + MTK_EINT_FUNCTION(2, 70), MTK_FUNCTION(0, "GPIO230"), MTK_FUNCTION(1, "MSDC3_DAT1"), MTK_FUNCTION(2, "EINT70"), @@ -2326,7 +2323,7 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { ), MTK_PIN(PINCTRL_PIN(231, "GPIO231"), NULL, "mt6589", - MTK_EINT_FUNCTION(0, 69), + MTK_EINT_FUNCTION(2, 69), MTK_FUNCTION(0, "GPIO231"), MTK_FUNCTION(1, "MSDC3_DAT0"), MTK_FUNCTION(2, "EINT69"), @@ -2335,363 +2332,6 @@ static const struct mtk_desc_pin mtk_pins_mt6589[] = { MTK_FUNCTION(5, "CLKM2"), MTK_FUNCTION(7, "A_FUNC_DIN[2]") ), - - /* GPIOEXT: it must move to MT6320 pinctrl */ -/* - MTK_PIN(PINCTRL_PIN(232, "GPIO0"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO0"), - MTK_FUNCTION(1, "INT") - ), - MTK_PIN(PINCTRL_PIN(233, "GPIO1"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO1"), - MTK_FUNCTION(1, "SRCVOLTEN") - ), - MTK_PIN(PINCTRL_PIN(234, "GPIO2"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO2"), - MTK_FUNCTION(1, "SRCLKEN_PERI") - ), - MTK_PIN(PINCTRL_PIN(235, "GPIO3"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO3"), - MTK_FUNCTION(1, "SRCLKEN_MD2") - ), - MTK_PIN(PINCTRL_PIN(236, "GPIO4"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO4"), - MTK_FUNCTION(1, "RTC_32K1V8") - ), - MTK_PIN(PINCTRL_PIN(237, "GPIO5"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO5"), - MTK_FUNCTION(1, "WRAP_EVENT") - ), - MTK_PIN(PINCTRL_PIN(238, "GPIO6"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO6"), - MTK_FUNCTION(1, "SPI_CLK") - ), - MTK_PIN(PINCTRL_PIN(239, "GPIO7"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO7"), - MTK_FUNCTION(1, "SPI_CSN") - ), - MTK_PIN(PINCTRL_PIN(240, "GPIO8"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO8"), - MTK_FUNCTION(1, "SPI_MOSI") - ), - MTK_PIN(PINCTRL_PIN(241, "GPIO9"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO9"), - MTK_FUNCTION(1, "SPI_MISO") - ), - MTK_PIN(PINCTRL_PIN(242, "GPIO10"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO10"), - MTK_FUNCTION(1, "ADC_CK") - ), - MTK_PIN(PINCTRL_PIN(243, "GPIO11"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO11"), - MTK_FUNCTION(1, "ADC_WS") - ), - MTK_PIN(PINCTRL_PIN(244, "GPIO12"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO12"), - MTK_FUNCTION(1, "ADC_DAT") - ), - MTK_PIN(PINCTRL_PIN(245, "GPIO13"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO13"), - MTK_FUNCTION(1, "DAC_CK") - ), - MTK_PIN(PINCTRL_PIN(246, "GPIO14"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO14"), - MTK_FUNCTION(1, "DAC_WS") - ), - MTK_PIN(PINCTRL_PIN(247, "GPIO15"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO15"), - MTK_FUNCTION(1, "DAC_DAT") - ), - MTK_PIN(PINCTRL_PIN(248, "GPIO16"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 10), - MTK_FUNCTION(0, "GPIO16"), - MTK_FUNCTION(1, "COL0_USBDL"), - MTK_FUNCTION(2, "EINT10"), - MTK_FUNCTION(3, "PWM1_3X") - ), - MTK_PIN(PINCTRL_PIN(249, "GPIO17"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 11), - MTK_FUNCTION(0, "GPIO17"), - MTK_FUNCTION(1, "COL1"), - MTK_FUNCTION(2, "EINT11"), - MTK_FUNCTION(3, "SCL0_2X") - ), - MTK_PIN(PINCTRL_PIN(250, "GPIO18"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 12), - MTK_FUNCTION(0, "GPIO18"), - MTK_FUNCTION(1, "COL2"), - MTK_FUNCTION(2, "EINT12"), - MTK_FUNCTION(3, "SDA0_2X") - ), - MTK_PIN(PINCTRL_PIN(251, "GPIO19"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 13), - MTK_FUNCTION(0, "GPIO19"), - MTK_FUNCTION(1, "COL3"), - MTK_FUNCTION(2, "EINT13"), - MTK_FUNCTION(3, "SCL1_2X") - ), - MTK_PIN(PINCTRL_PIN(252, "GPIO20"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 14), - MTK_FUNCTION(0, "GPIO20"), - MTK_FUNCTION(1, "COL4"), - MTK_FUNCTION(2, "EINT14"), - MTK_FUNCTION(3, "SDA1_2X") - ), - MTK_PIN(PINCTRL_PIN(253, "GPIO21"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 15), - MTK_FUNCTION(0, "GPIO21"), - MTK_FUNCTION(1, "COL5"), - MTK_FUNCTION(2, "EINT15"), - MTK_FUNCTION(3, "SCL2_2X") - ), - MTK_PIN(PINCTRL_PIN(254, "GPIO22"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 16), - MTK_FUNCTION(0, "GPIO22"), - MTK_FUNCTION(1, "COL6"), - MTK_FUNCTION(2, "EINT16"), - MTK_FUNCTION(3, "SDA2_2X"), - MTK_FUNCTION(4, "GPIO32K_0"), - MTK_FUNCTION(5, "GPIO26M_0") - ), - MTK_PIN(PINCTRL_PIN(255, "GPIO23"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 17), - MTK_FUNCTION(0, "GPIO23"), - MTK_FUNCTION(1, "COL7"), - MTK_FUNCTION(2, "EINT17"), - MTK_FUNCTION(3, "PWM2_3X"), - MTK_FUNCTION(4, "GPIO32K_1"), - MTK_FUNCTION(5, "GPIO26M_1") - ), - MTK_PIN(PINCTRL_PIN(256, "GPIO24"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 18), - MTK_FUNCTION(0, "GPIO24"), - MTK_FUNCTION(1, "ROW0"), - MTK_FUNCTION(2, "EINT18"), - MTK_FUNCTION(3, "SCL0_3X") - ), - MTK_PIN(PINCTRL_PIN(257, "GPIO25"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 19), - MTK_FUNCTION(0, "GPIO25"), - MTK_FUNCTION(1, "ROW1"), - MTK_FUNCTION(2, "EINT19"), - MTK_FUNCTION(3, "SDA0_3X") - ), - MTK_PIN(PINCTRL_PIN(258, "GPIO26"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 20), - MTK_FUNCTION(0, "GPIO26"), - MTK_FUNCTION(1, "ROW2"), - MTK_FUNCTION(2, "EINT20"), - MTK_FUNCTION(3, "SCL1_3X") - ), - MTK_PIN(PINCTRL_PIN(259, "GPIO27"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 21), - MTK_FUNCTION(0, "GPIO27"), - MTK_FUNCTION(1, "ROW3"), - MTK_FUNCTION(2, "EINT21"), - MTK_FUNCTION(3, "SDA1_3X") - ), - MTK_PIN(PINCTRL_PIN(260, "GPIO28"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 22), - MTK_FUNCTION(0, "GPIO28"), - MTK_FUNCTION(1, "ROW4"), - MTK_FUNCTION(2, "EINT22"), - MTK_FUNCTION(3, "SCL2_3X") - ), - MTK_PIN(PINCTRL_PIN(261, "GPIO29"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 23), - MTK_FUNCTION(0, "GPIO29"), - MTK_FUNCTION(1, "ROW5"), - MTK_FUNCTION(2, "EINT23"), - MTK_FUNCTION(3, "SDA2_3X") - ), - MTK_PIN(PINCTRL_PIN(262, "GPIO30"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 24), - MTK_FUNCTION(0, "GPIO30"), - MTK_FUNCTION(1, "ROW6"), - MTK_FUNCTION(2, "EINT24"), - MTK_FUNCTION(3, "PWM3_3X"), - MTK_FUNCTION(4, "GPIO32K_2"), - MTK_FUNCTION(5, "GPIO26M_2") - ), - MTK_PIN(PINCTRL_PIN(263, "GPIO31"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 3), - MTK_FUNCTION(0, "GPIO31"), - MTK_FUNCTION(1, "ROW7"), - MTK_FUNCTION(2, "EINT3"), - MTK_FUNCTION(4, "GPIO32K_3"), - MTK_FUNCTION(5, "GPIO26M_3") - ), - MTK_PIN(PINCTRL_PIN(264, "GPIO32"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 4), - MTK_FUNCTION(0, "GPIO32"), - MTK_FUNCTION(1, "PWM1"), - MTK_FUNCTION(2, "EINT4"), - MTK_FUNCTION(4, "GPIO32K_4"), - MTK_FUNCTION(5, "GPIO26M_4") - ), - MTK_PIN(PINCTRL_PIN(265, "GPIO33"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 5), - MTK_FUNCTION(0, "GPIO33"), - MTK_FUNCTION(1, "PWM2"), - MTK_FUNCTION(2, "EINT5"), - MTK_FUNCTION(4, "GPIO32K_5"), - MTK_FUNCTION(5, "GPIO26M_5") - ), - MTK_PIN(PINCTRL_PIN(266, "GPIO34"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 6), - MTK_FUNCTION(0, "GPIO34"), - MTK_FUNCTION(1, "PWM3"), - MTK_FUNCTION(2, "EINT6"), - MTK_FUNCTION(3, "COL0"), - MTK_FUNCTION(4, "GPIO32K_6"), - MTK_FUNCTION(5, "GPIO26M_6") - ), - MTK_PIN(PINCTRL_PIN(267, "GPIO35"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 7), - MTK_FUNCTION(0, "GPIO35"), - MTK_FUNCTION(1, "SCL0"), - MTK_FUNCTION(2, "EINT7"), - MTK_FUNCTION(3, "PWM1_2X") - ), - MTK_PIN(PINCTRL_PIN(268, "GPIO36"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 8), - MTK_FUNCTION(0, "GPIO36"), - MTK_FUNCTION(1, "SDA0"), - MTK_FUNCTION(2, "EINT8") - ), - MTK_PIN(PINCTRL_PIN(269, "GPIO37"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 9), - MTK_FUNCTION(0, "GPIO37"), - MTK_FUNCTION(1, "SCL1"), - MTK_FUNCTION(2, "EINT9"), - MTK_FUNCTION(3, "PWM2_2X") - ), - MTK_PIN(PINCTRL_PIN(270, "GPIO38"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 0), - MTK_FUNCTION(0, "GPIO38"), - MTK_FUNCTION(1, "SDA1"), - MTK_FUNCTION(2, "EINT0") - ), - MTK_PIN(PINCTRL_PIN(271, "GPIO39"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 1), - MTK_FUNCTION(0, "GPIO39"), - MTK_FUNCTION(1, "SCL2"), - MTK_FUNCTION(2, "EINT1"), - MTK_FUNCTION(3, "PWM3_2X") - ), - MTK_PIN(PINCTRL_PIN(272, "GPIO40"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 2), - MTK_FUNCTION(0, "GPIO40"), - MTK_FUNCTION(1, "SDA2"), - MTK_FUNCTION(2, "EINT2") - ), - MTK_PIN(PINCTRL_PIN(273, "GPIO41"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO41"), - MTK_FUNCTION(1, "SIM1_AP_SCLK") - ), - MTK_PIN(PINCTRL_PIN(274, "GPIO42"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO42"), - MTK_FUNCTION(1, "SIM1_AP_SRST") - ), - MTK_PIN(PINCTRL_PIN(275, "GPIO43"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO43"), - MTK_FUNCTION(1, "SIM2_AP_SCLK") - ), - MTK_PIN(PINCTRL_PIN(276, "GPIO44"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO44"), - MTK_FUNCTION(1, "SIM2_AP_SRST") - ), - MTK_PIN(PINCTRL_PIN(277, "GPIO45"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO45"), - MTK_FUNCTION(1, "SIMLS1_SCLK") - ), - MTK_PIN(PINCTRL_PIN(278, "GPIO46"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO46"), - MTK_FUNCTION(1, "SIMLS1_SRST") - ), - MTK_PIN(PINCTRL_PIN(279, "GPIO47"), - NULL, "mt6589", - MTK_EINT_FUNCTION(0, 10), - MTK_FUNCTION(0, "GPIO47"), - MTK_FUNCTION(1, "SIMLS2_SCLK"), - MTK_FUNCTION(5, "EINT10") - ), - MTK_PIN(PINCTRL_PIN(280, "GPIO48"), - NULL, "mt6589", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO48"), - MTK_FUNCTION(1, "SIMLS2_SRST") - ), -*/ }; #endif /* __PINCTRL_MTK_MT6589_H */ From 5a6be69b21fa3b89a95d23cad639cfb563f60cb3 Mon Sep 17 00:00:00 2001 From: akku Date: Sat, 3 Jan 2026 01:11:00 +0900 Subject: [PATCH 12/25] pinctrl: mediatek: mt6320: reindex pins --- drivers/pinctrl/mediatek/pinctrl-mtk-mt6320.h | 98 +++++++++---------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6320.h b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6320.h index be4d178ad7bb19..c53d9a91ec7dbf 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6320.h +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6320.h @@ -10,103 +10,103 @@ #include "pinctrl-mtk-common.h" static const struct mtk_desc_pin mtk_pins_mt6320[] = { - MTK_PIN(PINCTRL_PIN(232, "GPIO0"), + MTK_PIN(PINCTRL_PIN(0, "GPIO0"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO0"), MTK_FUNCTION(1, "INT") ), - MTK_PIN(PINCTRL_PIN(233, "GPIO1"), + MTK_PIN(PINCTRL_PIN(1, "GPIO1"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO1"), MTK_FUNCTION(1, "SRCVOLTEN") ), - MTK_PIN(PINCTRL_PIN(234, "GPIO2"), + MTK_PIN(PINCTRL_PIN(2, "GPIO2"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO2"), MTK_FUNCTION(1, "SRCLKEN_PERI") ), - MTK_PIN(PINCTRL_PIN(235, "GPIO3"), + MTK_PIN(PINCTRL_PIN(3, "GPIO3"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO3"), MTK_FUNCTION(1, "SRCLKEN_MD2") ), - MTK_PIN(PINCTRL_PIN(236, "GPIO4"), + MTK_PIN(PINCTRL_PIN(4, "GPIO4"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO4"), MTK_FUNCTION(1, "RTC_32K1V8") ), - MTK_PIN(PINCTRL_PIN(237, "GPIO5"), + MTK_PIN(PINCTRL_PIN(5, "GPIO5"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO5"), MTK_FUNCTION(1, "WRAP_EVENT") ), - MTK_PIN(PINCTRL_PIN(238, "GPIO6"), + MTK_PIN(PINCTRL_PIN(6, "GPIO6"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO6"), MTK_FUNCTION(1, "SPI_CLK") ), - MTK_PIN(PINCTRL_PIN(239, "GPIO7"), + MTK_PIN(PINCTRL_PIN(7, "GPIO7"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO7"), MTK_FUNCTION(1, "SPI_CSN") ), - MTK_PIN(PINCTRL_PIN(240, "GPIO8"), + MTK_PIN(PINCTRL_PIN(8, "GPIO8"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO8"), MTK_FUNCTION(1, "SPI_MOSI") ), - MTK_PIN(PINCTRL_PIN(241, "GPIO9"), + MTK_PIN(PINCTRL_PIN(9, "GPIO9"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO9"), MTK_FUNCTION(1, "SPI_MISO") ), - MTK_PIN(PINCTRL_PIN(242, "GPIO10"), + MTK_PIN(PINCTRL_PIN(10, "GPIO10"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO10"), MTK_FUNCTION(1, "ADC_CK") ), - MTK_PIN(PINCTRL_PIN(243, "GPIO11"), + MTK_PIN(PINCTRL_PIN(11, "GPIO11"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO11"), MTK_FUNCTION(1, "ADC_WS") ), - MTK_PIN(PINCTRL_PIN(244, "GPIO12"), + MTK_PIN(PINCTRL_PIN(12, "GPIO12"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO12"), MTK_FUNCTION(1, "ADC_DAT") ), - MTK_PIN(PINCTRL_PIN(245, "GPIO13"), + MTK_PIN(PINCTRL_PIN(13, "GPIO13"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO13"), MTK_FUNCTION(1, "DAC_CK") ), - MTK_PIN(PINCTRL_PIN(246, "GPIO14"), + MTK_PIN(PINCTRL_PIN(14, "GPIO14"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO14"), MTK_FUNCTION(1, "DAC_WS") ), - MTK_PIN(PINCTRL_PIN(247, "GPIO15"), + MTK_PIN(PINCTRL_PIN(15, "GPIO15"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO15"), MTK_FUNCTION(1, "DAC_DAT") ), - MTK_PIN(PINCTRL_PIN(248, "GPIO16"), + MTK_PIN(PINCTRL_PIN(16, "GPIO16"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 10), MTK_FUNCTION(0, "GPIO16"), @@ -114,7 +114,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(2, "EINT10"), MTK_FUNCTION(3, "PWM1_3X") ), - MTK_PIN(PINCTRL_PIN(249, "GPIO17"), + MTK_PIN(PINCTRL_PIN(17, "GPIO17"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 11), MTK_FUNCTION(0, "GPIO17"), @@ -122,7 +122,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(2, "EINT11"), MTK_FUNCTION(3, "SCL0_2X") ), - MTK_PIN(PINCTRL_PIN(250, "GPIO18"), + MTK_PIN(PINCTRL_PIN(18, "GPIO18"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 12), MTK_FUNCTION(0, "GPIO18"), @@ -130,7 +130,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(2, "EINT12"), MTK_FUNCTION(3, "SDA0_2X") ), - MTK_PIN(PINCTRL_PIN(251, "GPIO19"), + MTK_PIN(PINCTRL_PIN(19, "GPIO19"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 13), MTK_FUNCTION(0, "GPIO19"), @@ -138,7 +138,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(2, "EINT13"), MTK_FUNCTION(3, "SCL1_2X") ), - MTK_PIN(PINCTRL_PIN(252, "GPIO20"), + MTK_PIN(PINCTRL_PIN(20, "GPIO20"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 14), MTK_FUNCTION(0, "GPIO20"), @@ -146,7 +146,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(2, "EINT14"), MTK_FUNCTION(3, "SDA1_2X") ), - MTK_PIN(PINCTRL_PIN(253, "GPIO21"), + MTK_PIN(PINCTRL_PIN(21, "GPIO21"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 15), MTK_FUNCTION(0, "GPIO21"), @@ -154,7 +154,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(2, "EINT15"), MTK_FUNCTION(3, "SCL2_2X") ), - MTK_PIN(PINCTRL_PIN(254, "GPIO22"), + MTK_PIN(PINCTRL_PIN(22, "GPIO22"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 16), MTK_FUNCTION(0, "GPIO22"), @@ -164,7 +164,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(4, "GPIO32K_0"), MTK_FUNCTION(5, "GPIO26M_0") ), - MTK_PIN(PINCTRL_PIN(255, "GPIO23"), + MTK_PIN(PINCTRL_PIN(23, "GPIO23"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 17), MTK_FUNCTION(0, "GPIO23"), @@ -174,7 +174,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(4, "GPIO32K_1"), MTK_FUNCTION(5, "GPIO26M_1") ), - MTK_PIN(PINCTRL_PIN(256, "GPIO24"), + MTK_PIN(PINCTRL_PIN(24, "GPIO24"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 18), MTK_FUNCTION(0, "GPIO24"), @@ -182,7 +182,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(2, "EINT18"), MTK_FUNCTION(3, "SCL0_3X") ), - MTK_PIN(PINCTRL_PIN(257, "GPIO25"), + MTK_PIN(PINCTRL_PIN(25, "GPIO25"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 19), MTK_FUNCTION(0, "GPIO25"), @@ -190,7 +190,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(2, "EINT19"), MTK_FUNCTION(3, "SDA0_3X") ), - MTK_PIN(PINCTRL_PIN(258, "GPIO26"), + MTK_PIN(PINCTRL_PIN(26, "GPIO26"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 20), MTK_FUNCTION(0, "GPIO26"), @@ -198,7 +198,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(2, "EINT20"), MTK_FUNCTION(3, "SCL1_3X") ), - MTK_PIN(PINCTRL_PIN(259, "GPIO27"), + MTK_PIN(PINCTRL_PIN(27, "GPIO27"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 21), MTK_FUNCTION(0, "GPIO27"), @@ -206,7 +206,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(2, "EINT21"), MTK_FUNCTION(3, "SDA1_3X") ), - MTK_PIN(PINCTRL_PIN(260, "GPIO28"), + MTK_PIN(PINCTRL_PIN(28, "GPIO28"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 22), MTK_FUNCTION(0, "GPIO28"), @@ -214,7 +214,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(2, "EINT22"), MTK_FUNCTION(3, "SCL2_3X") ), - MTK_PIN(PINCTRL_PIN(261, "GPIO29"), + MTK_PIN(PINCTRL_PIN(29, "GPIO29"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 23), MTK_FUNCTION(0, "GPIO29"), @@ -222,7 +222,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(2, "EINT23"), MTK_FUNCTION(3, "SDA2_3X") ), - MTK_PIN(PINCTRL_PIN(262, "GPIO30"), + MTK_PIN(PINCTRL_PIN(30, "GPIO30"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 24), MTK_FUNCTION(0, "GPIO30"), @@ -232,7 +232,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(4, "GPIO32K_2"), MTK_FUNCTION(5, "GPIO26M_2") ), - MTK_PIN(PINCTRL_PIN(263, "GPIO31"), + MTK_PIN(PINCTRL_PIN(31, "GPIO31"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 3), MTK_FUNCTION(0, "GPIO31"), @@ -241,7 +241,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(4, "GPIO32K_3"), MTK_FUNCTION(5, "GPIO26M_3") ), - MTK_PIN(PINCTRL_PIN(264, "GPIO32"), + MTK_PIN(PINCTRL_PIN(32, "GPIO32"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 4), MTK_FUNCTION(0, "GPIO32"), @@ -250,7 +250,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(4, "GPIO32K_4"), MTK_FUNCTION(5, "GPIO26M_4") ), - MTK_PIN(PINCTRL_PIN(265, "GPIO33"), + MTK_PIN(PINCTRL_PIN(33, "GPIO33"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 5), MTK_FUNCTION(0, "GPIO33"), @@ -259,7 +259,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(4, "GPIO32K_5"), MTK_FUNCTION(5, "GPIO26M_5") ), - MTK_PIN(PINCTRL_PIN(266, "GPIO34"), + MTK_PIN(PINCTRL_PIN(34, "GPIO34"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 6), MTK_FUNCTION(0, "GPIO34"), @@ -269,7 +269,7 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(4, "GPIO32K_6"), MTK_FUNCTION(5, "GPIO26M_6") ), - MTK_PIN(PINCTRL_PIN(267, "GPIO35"), + MTK_PIN(PINCTRL_PIN(35, "GPIO35"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 7), MTK_FUNCTION(0, "GPIO35"), @@ -277,14 +277,14 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(2, "EINT7"), MTK_FUNCTION(3, "PWM1_2X") ), - MTK_PIN(PINCTRL_PIN(268, "GPIO36"), + MTK_PIN(PINCTRL_PIN(36, "GPIO36"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 8), MTK_FUNCTION(0, "GPIO36"), MTK_FUNCTION(1, "SDA0"), MTK_FUNCTION(2, "EINT8") ), - MTK_PIN(PINCTRL_PIN(269, "GPIO37"), + MTK_PIN(PINCTRL_PIN(37, "GPIO37"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 9), MTK_FUNCTION(0, "GPIO37"), @@ -292,14 +292,14 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(2, "EINT9"), MTK_FUNCTION(3, "PWM2_2X") ), - MTK_PIN(PINCTRL_PIN(270, "GPIO38"), + MTK_PIN(PINCTRL_PIN(38, "GPIO38"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 0), MTK_FUNCTION(0, "GPIO38"), MTK_FUNCTION(1, "SDA1"), MTK_FUNCTION(2, "EINT0") ), - MTK_PIN(PINCTRL_PIN(271, "GPIO39"), + MTK_PIN(PINCTRL_PIN(39, "GPIO39"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 1), MTK_FUNCTION(0, "GPIO39"), @@ -307,57 +307,57 @@ static const struct mtk_desc_pin mtk_pins_mt6320[] = { MTK_FUNCTION(2, "EINT1"), MTK_FUNCTION(3, "PWM3_2X") ), - MTK_PIN(PINCTRL_PIN(272, "GPIO40"), + MTK_PIN(PINCTRL_PIN(40, "GPIO40"), NULL, "mt6320", MTK_EINT_FUNCTION(2, 2), MTK_FUNCTION(0, "GPIO40"), MTK_FUNCTION(1, "SDA2"), MTK_FUNCTION(2, "EINT2") ), - MTK_PIN(PINCTRL_PIN(273, "GPIO41"), + MTK_PIN(PINCTRL_PIN(41, "GPIO41"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO41"), MTK_FUNCTION(1, "SIM1_AP_SCLK") ), - MTK_PIN(PINCTRL_PIN(274, "GPIO42"), + MTK_PIN(PINCTRL_PIN(42, "GPIO42"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO42"), MTK_FUNCTION(1, "SIM1_AP_SRST") ), - MTK_PIN(PINCTRL_PIN(275, "GPIO43"), + MTK_PIN(PINCTRL_PIN(43, "GPIO43"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO43"), MTK_FUNCTION(1, "SIM2_AP_SCLK") ), - MTK_PIN(PINCTRL_PIN(276, "GPIO44"), + MTK_PIN(PINCTRL_PIN(44, "GPIO44"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO44"), MTK_FUNCTION(1, "SIM2_AP_SRST") ), - MTK_PIN(PINCTRL_PIN(277, "GPIO45"), + MTK_PIN(PINCTRL_PIN(45, "GPIO45"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO45"), MTK_FUNCTION(1, "SIMLS1_SCLK") ), - MTK_PIN(PINCTRL_PIN(278, "GPIO46"), + MTK_PIN(PINCTRL_PIN(46, "GPIO46"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO46"), MTK_FUNCTION(1, "SIMLS1_SRST") ), - MTK_PIN(PINCTRL_PIN(279, "GPIO47"), + MTK_PIN(PINCTRL_PIN(47, "GPIO47"), NULL, "mt6320", MTK_EINT_FUNCTION(5, 10), MTK_FUNCTION(0, "GPIO47"), MTK_FUNCTION(1, "SIMLS2_SCLK"), MTK_FUNCTION(5, "EINT10") ), - MTK_PIN(PINCTRL_PIN(280, "GPIO48"), + MTK_PIN(PINCTRL_PIN(48, "GPIO48"), NULL, "mt6320", MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), MTK_FUNCTION(0, "GPIO48"), From 5697dc1ebd4658b3de41db818e9ff6436037445b Mon Sep 17 00:00:00 2001 From: akku Date: Sat, 3 Jan 2026 11:02:04 +0900 Subject: [PATCH 13/25] pinctrl: mediatek: drop mt6320 driver --- .../bindings/mfd/mediatek,mt6320.yaml | 0 .../pinctrl/mediatek,mt65xx-pinctrl.yaml | 1 - drivers/pinctrl/mediatek/pinctrl-mt6320.c | 66 ---- drivers/pinctrl/mediatek/pinctrl-mtk-mt6320.h | 368 ------------------ include/linux/mfd/mt6320/core.h | 0 5 files changed, 435 deletions(-) delete mode 100644 Documentation/devicetree/bindings/mfd/mediatek,mt6320.yaml delete mode 100644 drivers/pinctrl/mediatek/pinctrl-mt6320.c delete mode 100644 drivers/pinctrl/mediatek/pinctrl-mtk-mt6320.h delete mode 100644 include/linux/mfd/mt6320/core.h diff --git a/Documentation/devicetree/bindings/mfd/mediatek,mt6320.yaml b/Documentation/devicetree/bindings/mfd/mediatek,mt6320.yaml deleted file mode 100644 index e69de29bb2d1d6..00000000000000 diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml index 335bb019cd472b..19270dd0fec1bb 100644 --- a/Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml @@ -17,7 +17,6 @@ properties: enum: - mediatek,mt2701-pinctrl - mediatek,mt2712-pinctrl - - mediatek,mt6320-pinctrl - mediatek,mt6397-pinctrl - mediatek,mt6589-pinctrl - mediatek,mt7623-pinctrl diff --git a/drivers/pinctrl/mediatek/pinctrl-mt6320.c b/drivers/pinctrl/mediatek/pinctrl-mt6320.c deleted file mode 100644 index 8404497fc67f4c..00000000000000 --- a/drivers/pinctrl/mediatek/pinctrl-mt6320.c +++ /dev/null @@ -1,66 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-only -/* - * Copyright (c) 2015 MediaTek Inc. - * Author: Hongzhou.Yang - * - * Copyright (c) 2026 akku. - * Author: akku - */ - -#include -#include -#include -#include -#include -#include - -#include "pinctrl-mtk-common.h" -#include "pinctrl-mtk-mt6320.h" - -//#define MT6320_PIN_REG_BASE 0xc000 - -static const struct mtk_pinctrl_devdata mt6320_pinctrl_data = { - .pins = mtk_pins_mt6320, - .npins = ARRAY_SIZE(mtk_pins_mt6320), -/* - .dir_offset = (MT6320_PIN_REG_BASE + 0x000), - .ies_offset = MTK_PINCTRL_NOT_SUPPORT, - .smt_offset = MTK_PINCTRL_NOT_SUPPORT, - .pullen_offset = (MT6320_PIN_REG_BASE + 0x020), - .pullsel_offset = (MT6320_PIN_REG_BASE + 0x040), - .dout_offset = (MT6320_PIN_REG_BASE + 0x080), - .din_offset = (MT6320_PIN_REG_BASE + 0x0a0), - .pinmux_offset = (MT6320_PIN_REG_BASE + 0x0c0), - .type1_start = 41, - .type1_end = 41, - .port_shf = 3, - .port_mask = 0x3, - .port_align = 2, - .mode_mask = 0xf, - .mode_per_reg = 5, - .mode_shf = 4, -*/ -}; - -static int mt6320_pinctrl_probe(struct platform_device *pdev) -{ - struct mt6320_chip *mt6320; - - mt6320 = dev_get_drvdata(pdev->dev.parent); - return mtk_pctrl_init(pdev, &mt6320_pinctrl_data, mt6320->regmap); -} - -static const struct of_device_id mt6320_pctrl_match[] = { - { .compatible = "mediatek,mt6320-pinctrl", }, - { } -}; - -static struct platform_driver mtk_pinctrl_driver = { - .probe = mt6320_pinctrl_probe, - .driver = { - .name = "mediatek-mt6320-pinctrl", - .of_match_table = mt6320_pctrl_match, - }, -}; - -builtin_platform_driver(mtk_pinctrl_driver); diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6320.h b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6320.h deleted file mode 100644 index c53d9a91ec7dbf..00000000000000 --- a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6320.h +++ /dev/null @@ -1,368 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-only -/* - * Author: akku - */ - -#ifndef __PINCTRL_MTK_MT6320_H -#define __PINCTRL_MTK_MT6320_H - -#include -#include "pinctrl-mtk-common.h" - -static const struct mtk_desc_pin mtk_pins_mt6320[] = { - MTK_PIN(PINCTRL_PIN(0, "GPIO0"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO0"), - MTK_FUNCTION(1, "INT") - ), - MTK_PIN(PINCTRL_PIN(1, "GPIO1"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO1"), - MTK_FUNCTION(1, "SRCVOLTEN") - ), - MTK_PIN(PINCTRL_PIN(2, "GPIO2"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO2"), - MTK_FUNCTION(1, "SRCLKEN_PERI") - ), - MTK_PIN(PINCTRL_PIN(3, "GPIO3"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO3"), - MTK_FUNCTION(1, "SRCLKEN_MD2") - ), - MTK_PIN(PINCTRL_PIN(4, "GPIO4"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO4"), - MTK_FUNCTION(1, "RTC_32K1V8") - ), - MTK_PIN(PINCTRL_PIN(5, "GPIO5"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO5"), - MTK_FUNCTION(1, "WRAP_EVENT") - ), - MTK_PIN(PINCTRL_PIN(6, "GPIO6"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO6"), - MTK_FUNCTION(1, "SPI_CLK") - ), - MTK_PIN(PINCTRL_PIN(7, "GPIO7"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO7"), - MTK_FUNCTION(1, "SPI_CSN") - ), - MTK_PIN(PINCTRL_PIN(8, "GPIO8"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO8"), - MTK_FUNCTION(1, "SPI_MOSI") - ), - MTK_PIN(PINCTRL_PIN(9, "GPIO9"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO9"), - MTK_FUNCTION(1, "SPI_MISO") - ), - MTK_PIN(PINCTRL_PIN(10, "GPIO10"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO10"), - MTK_FUNCTION(1, "ADC_CK") - ), - MTK_PIN(PINCTRL_PIN(11, "GPIO11"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO11"), - MTK_FUNCTION(1, "ADC_WS") - ), - MTK_PIN(PINCTRL_PIN(12, "GPIO12"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO12"), - MTK_FUNCTION(1, "ADC_DAT") - ), - MTK_PIN(PINCTRL_PIN(13, "GPIO13"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO13"), - MTK_FUNCTION(1, "DAC_CK") - ), - MTK_PIN(PINCTRL_PIN(14, "GPIO14"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO14"), - MTK_FUNCTION(1, "DAC_WS") - ), - MTK_PIN(PINCTRL_PIN(15, "GPIO15"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO15"), - MTK_FUNCTION(1, "DAC_DAT") - ), - MTK_PIN(PINCTRL_PIN(16, "GPIO16"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 10), - MTK_FUNCTION(0, "GPIO16"), - MTK_FUNCTION(1, "COL0_USBDL"), - MTK_FUNCTION(2, "EINT10"), - MTK_FUNCTION(3, "PWM1_3X") - ), - MTK_PIN(PINCTRL_PIN(17, "GPIO17"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 11), - MTK_FUNCTION(0, "GPIO17"), - MTK_FUNCTION(1, "COL1"), - MTK_FUNCTION(2, "EINT11"), - MTK_FUNCTION(3, "SCL0_2X") - ), - MTK_PIN(PINCTRL_PIN(18, "GPIO18"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 12), - MTK_FUNCTION(0, "GPIO18"), - MTK_FUNCTION(1, "COL2"), - MTK_FUNCTION(2, "EINT12"), - MTK_FUNCTION(3, "SDA0_2X") - ), - MTK_PIN(PINCTRL_PIN(19, "GPIO19"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 13), - MTK_FUNCTION(0, "GPIO19"), - MTK_FUNCTION(1, "COL3"), - MTK_FUNCTION(2, "EINT13"), - MTK_FUNCTION(3, "SCL1_2X") - ), - MTK_PIN(PINCTRL_PIN(20, "GPIO20"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 14), - MTK_FUNCTION(0, "GPIO20"), - MTK_FUNCTION(1, "COL4"), - MTK_FUNCTION(2, "EINT14"), - MTK_FUNCTION(3, "SDA1_2X") - ), - MTK_PIN(PINCTRL_PIN(21, "GPIO21"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 15), - MTK_FUNCTION(0, "GPIO21"), - MTK_FUNCTION(1, "COL5"), - MTK_FUNCTION(2, "EINT15"), - MTK_FUNCTION(3, "SCL2_2X") - ), - MTK_PIN(PINCTRL_PIN(22, "GPIO22"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 16), - MTK_FUNCTION(0, "GPIO22"), - MTK_FUNCTION(1, "COL6"), - MTK_FUNCTION(2, "EINT16"), - MTK_FUNCTION(3, "SDA2_2X"), - MTK_FUNCTION(4, "GPIO32K_0"), - MTK_FUNCTION(5, "GPIO26M_0") - ), - MTK_PIN(PINCTRL_PIN(23, "GPIO23"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 17), - MTK_FUNCTION(0, "GPIO23"), - MTK_FUNCTION(1, "COL7"), - MTK_FUNCTION(2, "EINT17"), - MTK_FUNCTION(3, "PWM2_3X"), - MTK_FUNCTION(4, "GPIO32K_1"), - MTK_FUNCTION(5, "GPIO26M_1") - ), - MTK_PIN(PINCTRL_PIN(24, "GPIO24"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 18), - MTK_FUNCTION(0, "GPIO24"), - MTK_FUNCTION(1, "ROW0"), - MTK_FUNCTION(2, "EINT18"), - MTK_FUNCTION(3, "SCL0_3X") - ), - MTK_PIN(PINCTRL_PIN(25, "GPIO25"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 19), - MTK_FUNCTION(0, "GPIO25"), - MTK_FUNCTION(1, "ROW1"), - MTK_FUNCTION(2, "EINT19"), - MTK_FUNCTION(3, "SDA0_3X") - ), - MTK_PIN(PINCTRL_PIN(26, "GPIO26"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 20), - MTK_FUNCTION(0, "GPIO26"), - MTK_FUNCTION(1, "ROW2"), - MTK_FUNCTION(2, "EINT20"), - MTK_FUNCTION(3, "SCL1_3X") - ), - MTK_PIN(PINCTRL_PIN(27, "GPIO27"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 21), - MTK_FUNCTION(0, "GPIO27"), - MTK_FUNCTION(1, "ROW3"), - MTK_FUNCTION(2, "EINT21"), - MTK_FUNCTION(3, "SDA1_3X") - ), - MTK_PIN(PINCTRL_PIN(28, "GPIO28"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 22), - MTK_FUNCTION(0, "GPIO28"), - MTK_FUNCTION(1, "ROW4"), - MTK_FUNCTION(2, "EINT22"), - MTK_FUNCTION(3, "SCL2_3X") - ), - MTK_PIN(PINCTRL_PIN(29, "GPIO29"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 23), - MTK_FUNCTION(0, "GPIO29"), - MTK_FUNCTION(1, "ROW5"), - MTK_FUNCTION(2, "EINT23"), - MTK_FUNCTION(3, "SDA2_3X") - ), - MTK_PIN(PINCTRL_PIN(30, "GPIO30"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 24), - MTK_FUNCTION(0, "GPIO30"), - MTK_FUNCTION(1, "ROW6"), - MTK_FUNCTION(2, "EINT24"), - MTK_FUNCTION(3, "PWM3_3X"), - MTK_FUNCTION(4, "GPIO32K_2"), - MTK_FUNCTION(5, "GPIO26M_2") - ), - MTK_PIN(PINCTRL_PIN(31, "GPIO31"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 3), - MTK_FUNCTION(0, "GPIO31"), - MTK_FUNCTION(1, "ROW7"), - MTK_FUNCTION(2, "EINT3"), - MTK_FUNCTION(4, "GPIO32K_3"), - MTK_FUNCTION(5, "GPIO26M_3") - ), - MTK_PIN(PINCTRL_PIN(32, "GPIO32"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 4), - MTK_FUNCTION(0, "GPIO32"), - MTK_FUNCTION(1, "PWM1"), - MTK_FUNCTION(2, "EINT4"), - MTK_FUNCTION(4, "GPIO32K_4"), - MTK_FUNCTION(5, "GPIO26M_4") - ), - MTK_PIN(PINCTRL_PIN(33, "GPIO33"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 5), - MTK_FUNCTION(0, "GPIO33"), - MTK_FUNCTION(1, "PWM2"), - MTK_FUNCTION(2, "EINT5"), - MTK_FUNCTION(4, "GPIO32K_5"), - MTK_FUNCTION(5, "GPIO26M_5") - ), - MTK_PIN(PINCTRL_PIN(34, "GPIO34"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 6), - MTK_FUNCTION(0, "GPIO34"), - MTK_FUNCTION(1, "PWM3"), - MTK_FUNCTION(2, "EINT6"), - MTK_FUNCTION(3, "COL0"), - MTK_FUNCTION(4, "GPIO32K_6"), - MTK_FUNCTION(5, "GPIO26M_6") - ), - MTK_PIN(PINCTRL_PIN(35, "GPIO35"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 7), - MTK_FUNCTION(0, "GPIO35"), - MTK_FUNCTION(1, "SCL0"), - MTK_FUNCTION(2, "EINT7"), - MTK_FUNCTION(3, "PWM1_2X") - ), - MTK_PIN(PINCTRL_PIN(36, "GPIO36"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 8), - MTK_FUNCTION(0, "GPIO36"), - MTK_FUNCTION(1, "SDA0"), - MTK_FUNCTION(2, "EINT8") - ), - MTK_PIN(PINCTRL_PIN(37, "GPIO37"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 9), - MTK_FUNCTION(0, "GPIO37"), - MTK_FUNCTION(1, "SCL1"), - MTK_FUNCTION(2, "EINT9"), - MTK_FUNCTION(3, "PWM2_2X") - ), - MTK_PIN(PINCTRL_PIN(38, "GPIO38"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 0), - MTK_FUNCTION(0, "GPIO38"), - MTK_FUNCTION(1, "SDA1"), - MTK_FUNCTION(2, "EINT0") - ), - MTK_PIN(PINCTRL_PIN(39, "GPIO39"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 1), - MTK_FUNCTION(0, "GPIO39"), - MTK_FUNCTION(1, "SCL2"), - MTK_FUNCTION(2, "EINT1"), - MTK_FUNCTION(3, "PWM3_2X") - ), - MTK_PIN(PINCTRL_PIN(40, "GPIO40"), - NULL, "mt6320", - MTK_EINT_FUNCTION(2, 2), - MTK_FUNCTION(0, "GPIO40"), - MTK_FUNCTION(1, "SDA2"), - MTK_FUNCTION(2, "EINT2") - ), - MTK_PIN(PINCTRL_PIN(41, "GPIO41"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO41"), - MTK_FUNCTION(1, "SIM1_AP_SCLK") - ), - MTK_PIN(PINCTRL_PIN(42, "GPIO42"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO42"), - MTK_FUNCTION(1, "SIM1_AP_SRST") - ), - MTK_PIN(PINCTRL_PIN(43, "GPIO43"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO43"), - MTK_FUNCTION(1, "SIM2_AP_SCLK") - ), - MTK_PIN(PINCTRL_PIN(44, "GPIO44"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO44"), - MTK_FUNCTION(1, "SIM2_AP_SRST") - ), - MTK_PIN(PINCTRL_PIN(45, "GPIO45"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO45"), - MTK_FUNCTION(1, "SIMLS1_SCLK") - ), - MTK_PIN(PINCTRL_PIN(46, "GPIO46"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO46"), - MTK_FUNCTION(1, "SIMLS1_SRST") - ), - MTK_PIN(PINCTRL_PIN(47, "GPIO47"), - NULL, "mt6320", - MTK_EINT_FUNCTION(5, 10), - MTK_FUNCTION(0, "GPIO47"), - MTK_FUNCTION(1, "SIMLS2_SCLK"), - MTK_FUNCTION(5, "EINT10") - ), - MTK_PIN(PINCTRL_PIN(48, "GPIO48"), - NULL, "mt6320", - MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT), - MTK_FUNCTION(0, "GPIO48"), - MTK_FUNCTION(1, "SIMLS2_SRST") - ), -}; - -#endif /* __PINCTRL_MTK_MT6320_H */ diff --git a/include/linux/mfd/mt6320/core.h b/include/linux/mfd/mt6320/core.h deleted file mode 100644 index e69de29bb2d1d6..00000000000000 From 2dc8166e0846319882bf08e339085a9e59b3a092 Mon Sep 17 00:00:00 2001 From: akku Date: Sat, 3 Jan 2026 11:42:43 +0900 Subject: [PATCH 14/25] dt-bindings: mfd: syscon: Add mediatek,mt6589-pctl-a-syscfg,mediatek and mt6589-pctl-b-syscfg --- Documentation/devicetree/bindings/mfd/syscon.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Documentation/devicetree/bindings/mfd/syscon.yaml b/Documentation/devicetree/bindings/mfd/syscon.yaml index 27672adeb1fedb..7fc84cdeaa1185 100644 --- a/Documentation/devicetree/bindings/mfd/syscon.yaml +++ b/Documentation/devicetree/bindings/mfd/syscon.yaml @@ -84,6 +84,8 @@ select: - mediatek,mt2701-pctl-a-syscfg - mediatek,mt2712-pctl-a-syscfg - mediatek,mt6397-pctl-pmic-syscfg + - mediatek,mt6589-pctl-a-syscfg + - mediatek,mt6589-pctl-b-syscfg - mediatek,mt7988-topmisc - mediatek,mt8135-pctl-a-syscfg - mediatek,mt8135-pctl-b-syscfg @@ -190,6 +192,8 @@ properties: - mediatek,mt2701-pctl-a-syscfg - mediatek,mt2712-pctl-a-syscfg - mediatek,mt6397-pctl-pmic-syscfg + - mediatek,mt6589-pctl-a-syscfg + - mediatek,mt6589-pctl-b-syscfg - mediatek,mt7988-topmisc - mediatek,mt8135-pctl-a-syscfg - mediatek,mt8135-pctl-b-syscfg From 7a296feb96eecfc5e42a46c93964b82afa9b28e3 Mon Sep 17 00:00:00 2001 From: akku Date: Sat, 3 Jan 2026 11:57:11 +0900 Subject: [PATCH 15/25] arm: dts: mediatek: setup pinctrl node --- arch/arm/boot/dts/mediatek/mt6589.dtsi | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/arch/arm/boot/dts/mediatek/mt6589.dtsi b/arch/arm/boot/dts/mediatek/mt6589.dtsi index 3a0b55a8209f89..ee7d8d5cc55862 100644 --- a/arch/arm/boot/dts/mediatek/mt6589.dtsi +++ b/arch/arm/boot/dts/mediatek/mt6589.dtsi @@ -143,10 +143,14 @@ #clock-cells = <1>; }; -/* + /* + * EINT registers: 0x1000b000 + * GPIO base: 0x10005000, GPIO1 base 0x1020c000 + */ pio: pinctrl@10005000 { compatible = "mediatek,mt6589-pinctrl"; - /* GPIO base: 0x10005000, GPIO1 base 0x1020C000*/ + reg = <0 0x1000b000 0 0x1000>; + mediatek,pctl-regmap = <&syscfg_pctl_a &syscfg_pctl_b>; gpio-controller; #gpio-cells = <2>; interrupt-controller; @@ -155,7 +159,16 @@ , ; }; -*/ + + syscfg_pctl_a: syscfg_pctl_a@10005000 { + compatible = "mediatek,mt6589-pctl-a-syscfg", "syscon"; + reg = <0 0x10005000 0 0x1000>; + }; + + syscfg_pctl_b: syscfg_pctl_b@1020c000 { + compatible = "mediatek,mt6589-pctl-b-syscfg", "syscon"; + reg = <0 0x1020c000 0 0x1000>; + }; timer: timer@10008000 { compatible = "mediatek,mt6577-timer"; From 8394ce61ef38f35f627e074fb97b5087764cc812 Mon Sep 17 00:00:00 2001 From: akku Date: Sat, 3 Jan 2026 12:02:14 +0900 Subject: [PATCH 16/25] pinctrl: mediatek: mt6589: add original copyright (mt2701) --- drivers/pinctrl/mediatek/pinctrl-mt6589.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/pinctrl/mediatek/pinctrl-mt6589.c b/drivers/pinctrl/mediatek/pinctrl-mt6589.c index d314f32b1aaac8..d909dfbe4dac2e 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt6589.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt6589.c @@ -1,5 +1,8 @@ // SPDX-License-Identifier: GPL-2.0-only /* + * Copyright (c) 2015 MediaTek Inc. + * Author: Biao Huang + * * Author: akku */ From a0373a997041a2d1a32385659910331ba582d54c Mon Sep 17 00:00:00 2001 From: akku Date: Sat, 3 Jan 2026 16:51:03 +0900 Subject: [PATCH 17/25] pinctrl: mediatek: mt6589: basic setup --- drivers/pinctrl/mediatek/pinctrl-mt6589.c | 351 +++++++++++++++++- drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h | 1 - 2 files changed, 339 insertions(+), 13 deletions(-) diff --git a/drivers/pinctrl/mediatek/pinctrl-mt6589.c b/drivers/pinctrl/mediatek/pinctrl-mt6589.c index d909dfbe4dac2e..cc445b655bbac2 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt6589.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt6589.c @@ -13,13 +13,334 @@ #include "pinctrl-mtk-common.h" #include "pinctrl-mtk-mt6589.h" +/* + * E2, E4, E8, E16: Drive + * SR: ??? + * DM: Dummy + * MSB <-> LSB + */ +static const struct mtk_drv_group_desc mt6589_drv_grp[] = { + /* grp 0: SR E8 E4 E2: 2/4/6/8/10/12/14/16mA */ + MTK_DRV_GRP(2, 16, 0, 2, 2), + /* grp 1: SR E8 E4 DM: 4/8/12/16mA */ + MTK_DRV_GRP(4, 16, 1, 2, 4), + /* grp 2: SR E4 E2 DM: 2/4/6/8mA */ + MTK_DRV_GRP(2, 8, 1, 2, 2), + /* grp 3: SR E16 E8 E4 4/8/12/16/20/24/28/32mA */ + MTK_DRV_GRP(4, 32, 0, 2, 4), +}; + +#define DRV_CON0 0x0500 +#define DRV_CON1 0x0510 +#define DRV_CON2 0x0520 +#define DRV_CON3 0x0530 +#define DRV_CON4 0x0540 +#define DRV_CON5 0x0550 + +#define DRV_CON10 0x05a0 +#define DRV_CON11 0x05b0 +#define DRV_CON12 0x05c0 + +static const struct mtk_pin_drv_grp mt6589_pin_drv[] = { + /* MSDC0_DAT 7 to 4 */ + MTK_PIN_DRV_GRP(0, DRV_CON0, 0, 0), + MTK_PIN_DRV_GRP(1, DRV_CON0, 0, 0), + MTK_PIN_DRV_GRP(2, DRV_CON0, 0, 0), + MTK_PIN_DRV_GRP(3, DRV_CON0, 0, 0), + + /* MSDC0_RSTB */ + MTK_PIN_DRV_GRP(4, DRV_CON0, 8, 1), + + /* MSDC0_CMD */ + MTK_PIN_DRV_GRP(5, DRV_CON0, 4, 0), + + /* MSDC0_CLK */ + MTK_PIN_DRV_GRP(6, DRV_CON12, 12, 0), + + /* MSDC0_DAT 3 to 0 */ + MTK_PIN_DRV_GRP(7, DRV_CON0, 0, 0), + MTK_PIN_DRV_GRP(8, DRV_CON0, 0, 0), + MTK_PIN_DRV_GRP(9, DRV_CON0, 0, 0), + MTK_PIN_DRV_GRP(10, DRV_CON0, 0, 0), + + /* NFI */ + MTK_PIN_DRV_GRP(11, DRV_CON0, 12, 1), + MTK_PIN_DRV_GRP(12, DRV_CON0, 12, 1), + MTK_PIN_DRV_GRP(13, DRV_CON0, 12, 1), + MTK_PIN_DRV_GRP(14, DRV_CON0, 12, 1), + MTK_PIN_DRV_GRP(15, DRV_CON0, 12, 1), + MTK_PIN_DRV_GRP(16, DRV_CON0, 12, 1), + MTK_PIN_DRV_GRP(17, DRV_CON0, 12, 1), + + /* NLD 0 to 15 */ + MTK_PIN_DRV_GRP(18, DRV_CON0, 16, 1), + MTK_PIN_DRV_GRP(19, DRV_CON0, 16, 1), + MTK_PIN_DRV_GRP(20, DRV_CON0, 16, 1), + MTK_PIN_DRV_GRP(21, DRV_CON0, 16, 1), + MTK_PIN_DRV_GRP(22, DRV_CON0, 16, 1), + MTK_PIN_DRV_GRP(23, DRV_CON0, 16, 1), + MTK_PIN_DRV_GRP(24, DRV_CON0, 16, 1), + MTK_PIN_DRV_GRP(25, DRV_CON0, 16, 1), + MTK_PIN_DRV_GRP(26, DRV_CON0, 20, 1), + MTK_PIN_DRV_GRP(27, DRV_CON0, 20, 1), + MTK_PIN_DRV_GRP(28, DRV_CON0, 20, 1), + MTK_PIN_DRV_GRP(29, DRV_CON0, 20, 1), + MTK_PIN_DRV_GRP(30, DRV_CON0, 20, 1), + MTK_PIN_DRV_GRP(31, DRV_CON0, 20, 1), + MTK_PIN_DRV_GRP(32, DRV_CON0, 20, 1), + MTK_PIN_DRV_GRP(33, DRV_CON0, 20, 1), + + /* EINT 0 to 4 */ + MTK_PIN_DRV_GRP(34, DRV_CON0, 24, 2), + MTK_PIN_DRV_GRP(35, DRV_CON0, 28, 2), + MTK_PIN_DRV_GRP(36, DRV_CON1, 0, 2), + MTK_PIN_DRV_GRP(37, DRV_CON1, 4, 2), + MTK_PIN_DRV_GRP(38, DRV_CON1, 8, 2), + + /* SPI0 */ + MTK_PIN_DRV_GRP(39, DRV_CON1, 12, 1), + MTK_PIN_DRV_GRP(40, DRV_CON1, 12, 1), + MTK_PIN_DRV_GRP(41, DRV_CON1, 12, 1), + MTK_PIN_DRV_GRP(42, DRV_CON1, 12, 1), + MTK_PIN_DRV_GRP(43, DRV_CON1, 12, 1), + + /* SIM */ + MTK_PIN_DRV_GRP(44, DRV_CON1, 16, 1), + MTK_PIN_DRV_GRP(45, DRV_CON1, 16, 1), + MTK_PIN_DRV_GRP(46, DRV_CON1, 16, 1), + MTK_PIN_DRV_GRP(47, DRV_CON1, 16, 1), + MTK_PIN_DRV_GRP(48, DRV_CON1, 16, 1), + MTK_PIN_DRV_GRP(49, DRV_CON1, 16, 1), + + /* ADC */ + MTK_PIN_DRV_GRP(50, DRV_CON1, 20, 1), + MTK_PIN_DRV_GRP(51, DRV_CON1, 20, 1), + MTK_PIN_DRV_GRP(52, DRV_CON1, 20, 1), + + /* DAC */ + MTK_PIN_DRV_GRP(53, DRV_CON1, 24, 1), + MTK_PIN_DRV_GRP(54, DRV_CON1, 24, 1), + MTK_PIN_DRV_GRP(55, DRV_CON1, 24, 1), + + /* RTC32K_CK */ + MTK_PIN_DRV_GRP(56, , , 1), // TODO: no drive? + + /* IDDIG */ + MTK_PIN_DRV_GRP(57, DRV_CON2, 28, 2), + + /* WATCHDOG */ + MTK_PIN_DRV_GRP(58, DRV_CON2, 0, 1), + + /* SRCLKENA */ + MTK_PIN_DRV_GRP(59, DRV_CON2, 4, 1), + + /* SRCVOLTEN */ + MTK_PIN_DRV_GRP(59, DRV_CON2, 8, 1), + + /* JTAG */ + MTK_PIN_DRV_GRP(61, DRV_CON3, 0, 1), + MTK_PIN_DRV_GRP(62, DRV_CON3, 0, 1), + MTK_PIN_DRV_GRP(63, DRV_CON3, 0, 1), + MTK_PIN_DRV_GRP(64, DRV_CON3, 0, 1), + MTK_PIN_DRV_GRP(65, DRV_CON3, 0, 1), + MTK_PIN_DRV_GRP(66, DRV_CON3, 0, 1), + + /* UR2 */ + MTK_PIN_DRV_GRP(69, DRV_CON3, 4, 1), + MTK_PIN_DRV_GRP(70, DRV_CON3, 8, 1), + MTK_PIN_DRV_GRP(71, DRV_CON3, 12, 1), + MTK_PIN_DRV_GRP(72, DRV_CON3, 16, 1), + + /* PWM 1 to 4 */ + MTK_PIN_DRV_GRP(73, DRV_CON3, 20, 1), + MTK_PIN_DRV_GRP(74, DRV_CON3, 24, 1), + MTK_PIN_DRV_GRP(75, DRV_CON3, 28, 1), + MTK_PIN_DRV_GRP(76, DRV_CON4, 0, 1), + + /* UR1 */ + MTK_PIN_DRV_GRP(77, DRV_CON4, 4, 1), + MTK_PIN_DRV_GRP(78, DRV_CON4, 8, 1), + MTK_PIN_DRV_GRP(79, DRV_CON4, 12, 1), + MTK_PIN_DRV_GRP(80, DRV_CON4, 16, 1), + + /* UR4 */ + MTK_PIN_DRV_GRP(81, DRV_CON4, 20 1), + MTK_PIN_DRV_GRP(82, DRV_CON4, 24, 1), + + /* BPI1B */ + MTK_PIN_DRV_GRP(83, DRV_CON5, 12, 1), + MTK_PIN_DRV_GRP(84, DRV_CON5, 12, 1), + MTK_PIN_DRV_GRP(85, DRV_CON5, 12, 1), + MTK_PIN_DRV_GRP(86, DRV_CON5, 12, 1), + MTK_PIN_DRV_GRP(87, DRV_CON5, 12, 1), + MTK_PIN_DRV_GRP(88, DRV_CON5, 12, 1), + MTK_PIN_DRV_GRP(89, DRV_CON5, 12, 1), + MTK_PIN_DRV_GRP(90, DRV_CON5, 12, 1), + MTK_PIN_DRV_GRP(91, DRV_CON5, 12, 1), + MTK_PIN_DRV_GRP(92, DRV_CON5, 12, 1), + MTK_PIN_DRV_GRP(93, DRV_CON5, 12, 1), + MTK_PIN_DRV_GRP(94, DRV_CON5, 12, 1), + MTK_PIN_DRV_GRP(95, DRV_CON5, 12, 1), + MTK_PIN_DRV_GRP(96, DRV_CON5, 12, 1), + MTK_PIN_DRV_GRP(97, DRV_CON5, 12, 1), + MTK_PIN_DRV_GRP(98, DRV_CON5, 12, 1), + MTK_PIN_DRV_GRP(99, DRV_CON5, 12, 1), + + /* VM 1, 0 */ + MTK_PIN_DRV_GRP(100, , , 1), // TODO + MTK_PIN_DRV_GRP(101, , , 1), + + /* BSI 1 */ + MTK_PIN_DRV_GRP(102, DRV_CON5, 16, 1), + MTK_PIN_DRV_GRP(103, DRV_CON5, 16, 1), + MTK_PIN_DRV_GRP(104, DRV_CON5, 16, 1), + + /* TXBPI1 */ + MTK_PIN_DRV_GRP(105, DRV_CON5, 20, 1), + + /* EXT_CLK_EN */ + MTK_PIN_DRV_GRP(106, DRV_CON4, 28, 1), + + /* SRCLKENA2 */ + MTK_PIN_DRV_GRP(107, DRV_CON5, 0, 1), + + /* BSI1A */ + MTK_PIN_DRV_GRP(108, DRV_CON5, 4, 1), + MTK_PIN_DRV_GRP(109, DRV_CON5, 4, 1), + MTK_PIN_DRV_GRP(110, DRV_CON5, 4, 1), + MTK_PIN_DRV_GRP(111, DRV_CON5, 4, 1), + MTK_PIN_DRV_GRP(112, DRV_CON5, 4, 1), + + /* BSI1C */ + MTK_PIN_DRV_GRP(113, DRV_CON5, 8, 1), + MTK_PIN_DRV_GRP(114, DRV_CON5, 8, 1), + + /* EINT10_AUXIN2, EINT11_AUXIN3, EINT16_AUXIN3 */ + MTK_PIN_DRV_GRP(115, DRV_CON6, 0, 1), + MTK_PIN_DRV_GRP(116, DRV_CON6, 4, 1), + MTK_PIN_DRV_GRP(117, DRV_CON6, 8, 1), + + /* I2S */ + MTK_PIN_DRV_GRP(120, DRV_CON6, 12, 1), + MTK_PIN_DRV_GRP(121, DRV_CON6, 12, 1), + MTK_PIN_DRV_GRP(122, DRV_CON6, 12, 1), + MTK_PIN_DRV_GRP(123, DRV_CON6, 12, 1), + + /* EINT 5 to 9 */ + MTK_PIN_DRV_GRP(124, DRV_CON6, 16, 2), + MTK_PIN_DRV_GRP(125, DRV_CON6, 20, 2), + MTK_PIN_DRV_GRP(126, DRV_CON6, 24, 2), + MTK_PIN_DRV_GRP(127, DRV_CON6, 28, 2), + MTK_PIN_DRV_GRP(128, DRV_CON7, 0, 2), + + /* DISP_PWM */ + MTK_PIN_DRV_GRP(129, DRV_CON7, 28, 1), + + /* LPTE/MSDC4_DAT0, LRSTB/MSDC4_DAT1 */ + MTK_PIN_DRV_GRP(130, DRV_CON8, 20, 0), + MTK_PIN_DRV_GRP(131, DRV_CON8, 20, 0), + + /* LPCE1B, LPCE0B */ + MTK_PIN_DRV_GRP(132, DRV_CON8, 28, 1), + MTK_PIN_DRV_GRP(133, DRV_CON8, 28, 1), + + /* SPI1 / MSDC4 */ + MTK_PIN_DRV_GRP(134, DRV_CON8, 20, 0), + MTK_PIN_DRV_GRP(135, DRV_CON8, 20, 0), + MTK_PIN_DRV_GRP(136, DRV_CON8, 20, 0), + MTK_PIN_DRV_GRP(137, DRV_CON8, 20, 0), + + /* LCD / MSDC4 */ + MTK_PIN_DRV_GRP(138, DRV_CON8, 20, 0), + MTK_PIN_DRV_GRP(139, DRV_CON8, 0, 0), + MTK_PIN_DRV_GRP(140, DRV_CON8, 20, 0), + MTK_PIN_DRV_GRP(141, DRV_CON7, 16, 0), + MTK_PIN_DRV_GRP(142, DRV_CON7, 20, 1), + + /* DPI */ + MTK_PIN_DRV_GRP(143, DRV_CON9, 8, 1), + MTK_PIN_DRV_GRP(144, DRV_CON9, 8, 1), + MTK_PIN_DRV_GRP(145, DRV_CON9, 8, 1), + MTK_PIN_DRV_GRP(146, DRV_CON9, 8, 1), + MTK_PIN_DRV_GRP(147, DRV_CON9, 12, 1), + MTK_PIN_DRV_GRP(148, DRV_CON9, 12, 1), + MTK_PIN_DRV_GRP(149, DRV_CON9, 12, 1), + MTK_PIN_DRV_GRP(150, DRV_CON9, 12, 1), + MTK_PIN_DRV_GRP(151, DRV_CON9, 12, 1), + MTK_PIN_DRV_GRP(152, DRV_CON9, 12, 1), + MTK_PIN_DRV_GRP(153, DRV_CON9, 12, 1), + MTK_PIN_DRV_GRP(154, DRV_CON9, 12, 1), + MTK_PIN_DRV_GRP(155, DRV_CON9, 16, 1), + MTK_PIN_DRV_GRP(156, DRV_CON9, 16, 1), + MTK_PIN_DRV_GRP(157, DRV_CON9, 16, 1), + MTK_PIN_DRV_GRP(158, DRV_CON9, 16, 1), + MTK_PIN_DRV_GRP(159, DRV_CON9, 16, 1), + MTK_PIN_DRV_GRP(160, DRV_CON9, 16, 1), + MTK_PIN_DRV_GRP(161, DRV_CON9, 16, 1), + MTK_PIN_DRV_GRP(162, DRV_CON9, 16, 1), + MTK_PIN_DRV_GRP(163, DRV_CON9, 20, 1), + MTK_PIN_DRV_GRP(164, DRV_CON9, 20, 1), + MTK_PIN_DRV_GRP(165, DRV_CON9, 20, 1), + MTK_PIN_DRV_GRP(166, DRV_CON9, 20, 1), + MTK_PIN_DRV_GRP(167, DRV_CON9, 20, 1), + MTK_PIN_DRV_GRP(168, DRV_CON9, 20, 1), + MTK_PIN_DRV_GRP(169, DRV_CON9, 20, 1), + MTK_PIN_DRV_GRP(170, DRV_CON9, 20, 1), + + /* MSDC1_INSI, MSDC2_INSI */ + MTK_PIN_DRV_GRP(171, DRV_CON9, 24, 1), + MTK_PIN_DRV_GRP(172, DRV_CON10, 0, 1), + + /* MSDC2 */ + MTK_PIN_DRV_GRP(173, DRV_CON10, 4, 1), + MTK_PIN_DRV_GRP(174, DRV_CON10, 8, 3), + MTK_PIN_DRV_GRP(175, DRV_CON10, 8, 3), + MTK_PIN_DRV_GRP(176, DRV_CON10, 12, 3), + MTK_PIN_DRV_GRP(177, DRV_CON12, 20, 3), + MTK_PIN_DRV_GRP(178, DRV_CON10, 8, 3), + MTK_PIN_DRV_GRP(179, DRV_CON10, 8, 3), + + /* MSDC1 */ + MTK_PIN_DRV_GRP(180, DRV_CON10, 20, 3), + MTK_PIN_DRV_GRP(181, DRV_CON10, 20, 3), + MTK_PIN_DRV_GRP(182, DRV_CON10, 16, 1), + MTK_PIN_DRV_GRP(183, DRV_CON10, 24, 3), + MTK_PIN_DRV_GRP(184, DRV_CON12, 16, 3), + MTK_PIN_DRV_GRP(185, DRV_CON10, 20, 3), + MTK_PIN_DRV_GRP(186, DRV_CON10, 20, 3), + + /* GPIO 209 to 213 */ + + /* SRCLKENAI */ + MTK_PIN_DRV_GRP(218, DRV_CON11, 20, 1), + + /* UR3 */ + MTK_PIN_DRV_GRP(219, DRV_CON11, 24, 1), + MTK_PIN_DRV_GRP(220, DRV_CON11, 28, 1), + + /* PCM0 */ + MTK_PIN_DRV_GRP(221, DRV_CON12, 0, 2), + MTK_PIN_DRV_GRP(222, DRV_CON12, 0, 2), + MTK_PIN_DRV_GRP(223, DRV_CON12, 0, 2), + MTK_PIN_DRV_GRP(224, DRV_CON12, 0, 2), + MTK_PIN_DRV_GRP(225, DRV_CON12, 0, 2), + + /* MSDC3 */ + MTK_PIN_DRV_GRP(226, DRV_CON12, 4, 0), + MTK_PIN_DRV_GRP(227, DRV_CON12, 4, 0), + MTK_PIN_DRV_GRP(228, DRV_CON12, 8, 0), + MTK_PIN_DRV_GRP(229, DRV_CON12, 24, 0), + MTK_PIN_DRV_GRP(230, DRV_CON12, 4, 0), + MTK_PIN_DRV_GRP(231, DRV_CON12, 4, 0), +}; + static const struct mtk_pinctrl_devdata mt6589_pinctrl_data = { .pins = mtk_pins_mt6589, .npins = ARRAY_SIZE(mtk_pins_mt6589), - // .grp_desc = mt2701_drv_grp, - // .n_grp_cls = ARRAY_SIZE(mt2701_drv_grp), - // .pin_drv_grp = mt2701_pin_drv, - // .n_pin_drv_grps = ARRAY_SIZE(mt2701_pin_drv), + .grp_desc = mt6589_drv_grp, + .n_grp_cls = ARRAY_SIZE(mt6589_drv_grp), + .pin_drv_grp = mt6589_pin_drv, + .n_pin_drv_grps = ARRAY_SIZE(mt6589_pin_drv), // .spec_ies = mt2701_ies_set, // .n_spec_ies = ARRAY_SIZE(mt2701_ies_set), // .spec_pupd = mt2701_spec_pupd, @@ -30,14 +351,20 @@ static const struct mtk_pinctrl_devdata mt6589_pinctrl_data = { // .spec_ies_smt_set = mtk_pconf_spec_set_ies_smt_range, // .spec_pinmux_set = mt2701_spec_pinmux_set, // .spec_dir_set = mt2701_spec_dir_set, - // .dir_offset = 0x0000, - // .pullen_offset = 0x0150, - // .pullsel_offset = 0x0280, - // .dout_offset = 0x0500, - // .din_offset = 0x0630, - // .pinmux_offset = 0x0760, - // .type1_start = 280, - // .type1_end = 280, + + /* for type0 */ + .dir_offset = 0x0000, + .ies_offset = 0x0100, + .pullen_offset = 0x0200, + .smt_offset = 0x0300, + .pullsel_offset = 0x0400, + .drv_offset = 0x0500 /* unused */ + .dout_offset = 0x0800, + .din_offset = 0x0a00, + .pinmux_offset = 0x0c00, + + .type1_start = 114, + .type1_end = 169 + 1, // .port_shf = 4, // .port_mask = 0x1f, // .port_align = 4, diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h index 539e4d066a8743..116879d078fb02 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h @@ -10,7 +10,6 @@ #include "pinctrl-mtk-common.h" static const struct mtk_desc_pin mtk_pins_mt6589[] = { - /* GPIO */ MTK_PIN(PINCTRL_PIN(0, "GPIO0"), NULL, "mt6589", MTK_EINT_FUNCTION(2, 49), From 5def556e8c66ef0cf6a0debec6545993abd919d2 Mon Sep 17 00:00:00 2001 From: akku Date: Sat, 3 Jan 2026 17:41:29 +0900 Subject: [PATCH 18/25] pinctrl: mediatek: mt6589: fix drive --- drivers/pinctrl/mediatek/pinctrl-mt6589.c | 31 ++++++++++++++++++----- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/drivers/pinctrl/mediatek/pinctrl-mt6589.c b/drivers/pinctrl/mediatek/pinctrl-mt6589.c index cc445b655bbac2..0d709fb1deaf61 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt6589.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt6589.c @@ -30,6 +30,9 @@ static const struct mtk_drv_group_desc mt6589_drv_grp[] = { MTK_DRV_GRP(4, 32, 0, 2, 4), }; +/* TODO */ + +/* GPIO0 */ #define DRV_CON0 0x0500 #define DRV_CON1 0x0510 #define DRV_CON2 0x0520 @@ -37,6 +40,13 @@ static const struct mtk_drv_group_desc mt6589_drv_grp[] = { #define DRV_CON4 0x0540 #define DRV_CON5 0x0550 +/* GPIO1 */ +#define DRV_CON6 0x0560 +#define DRV_CON7 0x0570 +#define DRV_CON8 0x0580 +#define DRV_CON9 0x0590 + +/* GPIO0 */ #define DRV_CON10 0x05a0 #define DRV_CON11 0x05b0 #define DRV_CON12 0x05c0 @@ -123,10 +133,12 @@ static const struct mtk_pin_drv_grp mt6589_pin_drv[] = { MTK_PIN_DRV_GRP(55, DRV_CON1, 24, 1), /* RTC32K_CK */ - MTK_PIN_DRV_GRP(56, , , 1), // TODO: no drive? + /* + MTK_PIN_DRV_GRP(56, , , 1), // no drive? + */ /* IDDIG */ - MTK_PIN_DRV_GRP(57, DRV_CON2, 28, 2), + MTK_PIN_DRV_GRP(57, DRV_CON1, 28, 2), /* WATCHDOG */ MTK_PIN_DRV_GRP(58, DRV_CON2, 0, 1), @@ -135,7 +147,7 @@ static const struct mtk_pin_drv_grp mt6589_pin_drv[] = { MTK_PIN_DRV_GRP(59, DRV_CON2, 4, 1), /* SRCVOLTEN */ - MTK_PIN_DRV_GRP(59, DRV_CON2, 8, 1), + MTK_PIN_DRV_GRP(60, DRV_CON2, 8, 1), /* JTAG */ MTK_PIN_DRV_GRP(61, DRV_CON3, 0, 1), @@ -187,8 +199,8 @@ static const struct mtk_pin_drv_grp mt6589_pin_drv[] = { MTK_PIN_DRV_GRP(99, DRV_CON5, 12, 1), /* VM 1, 0 */ - MTK_PIN_DRV_GRP(100, , , 1), // TODO - MTK_PIN_DRV_GRP(101, , , 1), + MTK_PIN_DRV_GRP(100, DRV_CON5, 12, 1) + MTK_PIN_DRV_GRP(101, DRV_CON5, 12, 1), /* BSI 1 */ MTK_PIN_DRV_GRP(102, DRV_CON5, 16, 1), @@ -242,7 +254,7 @@ static const struct mtk_pin_drv_grp mt6589_pin_drv[] = { /* LPCE1B, LPCE0B */ MTK_PIN_DRV_GRP(132, DRV_CON8, 28, 1), - MTK_PIN_DRV_GRP(133, DRV_CON8, 28, 1), + MTK_PIN_DRV_GRP(133, DRV_CON9, 0, 1), /* SPI1 / MSDC4 */ MTK_PIN_DRV_GRP(134, DRV_CON8, 20, 0), @@ -309,7 +321,12 @@ static const struct mtk_pin_drv_grp mt6589_pin_drv[] = { MTK_PIN_DRV_GRP(185, DRV_CON10, 20, 3), MTK_PIN_DRV_GRP(186, DRV_CON10, 20, 3), - /* GPIO 209 to 213 */ + /* CMPCLK, CMMCLK, CMRST, CMPDN, CMFLASH */ + MTK_PIN_DRV_GRP(209, DRV_CON11, 0, 1), + MTK_PIN_DRV_GRP(210, DRV_CON11, 4, 1), + MTK_PIN_DRV_GRP(211, DRV_CON11, 8, 1), + MTK_PIN_DRV_GRP(212, DRV_CON11, 12, 1), + MTK_PIN_DRV_GRP(213, DRV_CON11, 16, 1), /* SRCLKENAI */ MTK_PIN_DRV_GRP(218, DRV_CON11, 20, 1), From 0da2ddb388bb2c740412c1dd0fdb233779bcf145 Mon Sep 17 00:00:00 2001 From: akku Date: Sat, 3 Jan 2026 17:45:04 +0900 Subject: [PATCH 19/25] pinctrl: mediatek: add mt6589 note --- drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c index a4cb6d511fcdb3..7c1c54781c7af1 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c @@ -1076,7 +1076,7 @@ int mtk_pctrl_init(struct platform_device *pdev, return dev_err_probe(dev, -EINVAL, "Cannot find pinctrl regmap.\n"); } - /* Only 8135 has two base addr, other SoCs have only one. */ + /* 6589 and 8135 has two base addr, other SoCs have only one. */ node = of_parse_phandle(np, "mediatek,pctl-regmap", 1); if (node) { pctl->regmap2 = syscon_node_to_regmap(node); From 9c728986111d99fd5007057cf8ebf974a83f2304 Mon Sep 17 00:00:00 2001 From: akku Date: Sat, 3 Jan 2026 22:12:55 +0900 Subject: [PATCH 20/25] pinctrl: mediatek: mt6589: note, wip --- drivers/pinctrl/mediatek/pinctrl-mt6589.c | 33 +++++++++-------------- 1 file changed, 12 insertions(+), 21 deletions(-) diff --git a/drivers/pinctrl/mediatek/pinctrl-mt6589.c b/drivers/pinctrl/mediatek/pinctrl-mt6589.c index 0d709fb1deaf61..1faade1d6adedc 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt6589.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt6589.c @@ -30,7 +30,6 @@ static const struct mtk_drv_group_desc mt6589_drv_grp[] = { MTK_DRV_GRP(4, 32, 0, 2, 4), }; -/* TODO */ /* GPIO0 */ #define DRV_CON0 0x0500 @@ -358,36 +357,28 @@ static const struct mtk_pinctrl_devdata mt6589_pinctrl_data = { .n_grp_cls = ARRAY_SIZE(mt6589_drv_grp), .pin_drv_grp = mt6589_pin_drv, .n_pin_drv_grps = ARRAY_SIZE(mt6589_pin_drv), - // .spec_ies = mt2701_ies_set, - // .n_spec_ies = ARRAY_SIZE(mt2701_ies_set), - // .spec_pupd = mt2701_spec_pupd, - // .n_spec_pupd = ARRAY_SIZE(mt2701_spec_pupd), - // .spec_smt = mt2701_smt_set, - // .n_spec_smt = ARRAY_SIZE(mt2701_smt_set), - // .spec_pull_set = mtk_pctrl_spec_pull_set_samereg, - // .spec_ies_smt_set = mtk_pconf_spec_set_ies_smt_range, - // .spec_pinmux_set = mt2701_spec_pinmux_set, - // .spec_dir_set = mt2701_spec_dir_set, - - /* for type0 */ - .dir_offset = 0x0000, + + /* it cannnot use because MT6589 GPIO regs are Read-Modify-Write */ .ies_offset = 0x0100, .pullen_offset = 0x0200, .smt_offset = 0x0300, .pullsel_offset = 0x0400, - .drv_offset = 0x0500 /* unused */ + + /* FIXME: don't need mtk_get_regmap */ + .dir_offset = 0x0000, .dout_offset = 0x0800, .din_offset = 0x0a00, .pinmux_offset = 0x0c00, .type1_start = 114, .type1_end = 169 + 1, - // .port_shf = 4, + + .port_shf = 4, // .port_mask = 0x1f, - // .port_align = 4, - // .mode_mask = 0xf, - // .mode_per_reg = 5, - // .mode_shf = 4, + .port_align = 4, + .mode_mask = 0xf, + .mode_per_reg = 5, + .mode_shf = 4, // .eint_hw = { // .port_mask = 6, // .ports = 6, @@ -399,7 +390,7 @@ static const struct mtk_pinctrl_devdata mt6589_pinctrl_data = { static const struct of_device_id mt6589_pctrl_match[] = { { .compatible = "mediatek,mt6589-pinctrl", .data = &mt6589_pinctrl_data }, - {} + {}, }; MODULE_DEVICE_TABLE(of, mt6589_pctrl_match); From 8f921f6754f7240b3ec92e6de9fbd0c37bf893c4 Mon Sep 17 00:00:00 2001 From: akku Date: Mon, 5 Jan 2026 19:28:11 +0900 Subject: [PATCH 21/25] pinctrl: mediatek: mt6589: more porting --- drivers/pinctrl/mediatek/pinctrl-mt6589.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/drivers/pinctrl/mediatek/pinctrl-mt6589.c b/drivers/pinctrl/mediatek/pinctrl-mt6589.c index 1faade1d6adedc..5cf75d97e860d6 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt6589.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt6589.c @@ -350,6 +350,7 @@ static const struct mtk_pin_drv_grp mt6589_pin_drv[] = { MTK_PIN_DRV_GRP(231, DRV_CON12, 4, 0), }; +/* FIXME: SIM Pins */ static const struct mtk_pinctrl_devdata mt6589_pinctrl_data = { .pins = mtk_pins_mt6589, .npins = ARRAY_SIZE(mtk_pins_mt6589), @@ -358,34 +359,36 @@ static const struct mtk_pinctrl_devdata mt6589_pinctrl_data = { .pin_drv_grp = mt6589_pin_drv, .n_pin_drv_grps = ARRAY_SIZE(mt6589_pin_drv), - /* it cannnot use because MT6589 GPIO regs are Read-Modify-Write */ + /* FIXME: needs multibase */ .ies_offset = 0x0100, .pullen_offset = 0x0200, .smt_offset = 0x0300, .pullsel_offset = 0x0400, - /* FIXME: don't need mtk_get_regmap */ .dir_offset = 0x0000, .dout_offset = 0x0800, .din_offset = 0x0a00, .pinmux_offset = 0x0c00, + /* disable .type1_start = 114, .type1_end = 169 + 1, + */ .port_shf = 4, - // .port_mask = 0x1f, + .port_mask = 0xf, .port_align = 4, .mode_mask = 0xf, .mode_per_reg = 5, .mode_shf = 4, - // .eint_hw = { - // .port_mask = 6, - // .ports = 6, - // .ap_num = 169, - // .db_cnt = 16, - // .db_time = debounce_time_mt2701, - // }, + + .eint_hw = { + .port_mask = 7, + .ports = 6, + .ap_num = 192, + .db_cnt = 16, + .db_time = debounce_time_mt6795, + }, }; static const struct of_device_id mt6589_pctrl_match[] = { From a2823c791609eee58e7308c07ae67c5cf9746387 Mon Sep 17 00:00:00 2001 From: akku Date: Tue, 6 Jan 2026 00:56:34 +0900 Subject: [PATCH 22/25] pinctrl: mediatek: mt6589: fmt --- drivers/pinctrl/mediatek/pinctrl-mt6589.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/pinctrl/mediatek/pinctrl-mt6589.c b/drivers/pinctrl/mediatek/pinctrl-mt6589.c index 5cf75d97e860d6..11cff872d27374 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt6589.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt6589.c @@ -1,9 +1,10 @@ // SPDX-License-Identifier: GPL-2.0-only /* + * Author: akku + * + * Based on pinctrl-mt2701.c * Copyright (c) 2015 MediaTek Inc. * Author: Biao Huang - * - * Author: akku */ #include @@ -350,7 +351,6 @@ static const struct mtk_pin_drv_grp mt6589_pin_drv[] = { MTK_PIN_DRV_GRP(231, DRV_CON12, 4, 0), }; -/* FIXME: SIM Pins */ static const struct mtk_pinctrl_devdata mt6589_pinctrl_data = { .pins = mtk_pins_mt6589, .npins = ARRAY_SIZE(mtk_pins_mt6589), @@ -360,6 +360,10 @@ static const struct mtk_pinctrl_devdata mt6589_pinctrl_data = { .n_pin_drv_grps = ARRAY_SIZE(mt6589_pin_drv), /* FIXME: needs multibase */ + /* disable + .type1_start = 114, + .type1_end = 169 + 1, + */ .ies_offset = 0x0100, .pullen_offset = 0x0200, .smt_offset = 0x0300, @@ -368,13 +372,9 @@ static const struct mtk_pinctrl_devdata mt6589_pinctrl_data = { .dir_offset = 0x0000, .dout_offset = 0x0800, .din_offset = 0x0a00, + /* FIXME: SIM pinmux */ .pinmux_offset = 0x0c00, - /* disable - .type1_start = 114, - .type1_end = 169 + 1, - */ - .port_shf = 4, .port_mask = 0xf, .port_align = 4, From af629efb66e13de102fa4c4bc0f637659a690ff5 Mon Sep 17 00:00:00 2001 From: Akari Tsuyukusa Date: Sun, 11 Jan 2026 13:58:41 +0900 Subject: [PATCH 23/25] pinctrl: mediatek: remove unused drv_offset field The 'drv_offset' member in 'struct mtk_pinctrl_devdata' has been unused since the driver's inception. Drive strength control for MediaTek pinctrl drivers is actually configured via 'pin_drv_grp', making this specific offset field redundant. Remove the unused field from the common 'mtk_pinctrl_devdata' structure and its corresponding initialization in the mt8365 driver to clean up the code and avoid confusion. Signed-off-by: Akari Tsuyukusa --- drivers/pinctrl/mediatek/pinctrl-mt8365.c | 1 - drivers/pinctrl/mediatek/pinctrl-mtk-common.h | 1 - 2 files changed, 2 deletions(-) diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8365.c b/drivers/pinctrl/mediatek/pinctrl-mt8365.c index e3e0d66cfbbfcb..c20b9e2e02ddad 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt8365.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt8365.c @@ -456,7 +456,6 @@ static const struct mtk_pinctrl_devdata mt8365_pinctrl_data = { .smt_offset = 0x0470, .pullen_offset = 0x0860, .pullsel_offset = 0x0900, - .drv_offset = 0x0710, .type1_start = 145, .type1_end = 145, .port_shf = 4, diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.h b/drivers/pinctrl/mediatek/pinctrl-mtk-common.h index 11afa12a96cbc2..3b96f3dd338d0e 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.h +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.h @@ -263,7 +263,6 @@ struct mtk_pinctrl_devdata { unsigned int smt_offset; unsigned int pullen_offset; unsigned int pullsel_offset; - unsigned int drv_offset; unsigned int dout_offset; unsigned int din_offset; unsigned int pinmux_offset; From 8e1aeb161ef3a73c1461a452fca82a5d72acfe9f Mon Sep 17 00:00:00 2001 From: Akari Tsuyukusa Date: Sun, 11 Jan 2026 18:17:55 +0900 Subject: [PATCH 24/25] pinctrl: mediatek: common-v1: introduce per-function multibase control The current common-v1 framework implicitly assumes that certain register operations might span across multiple base addresses. This logic is currently hardcoded in mtk_get_regmap, where any pin falling within the [type1_start, type1_end) range is redirected to regmap2. This approach is suboptimal for two reasons: 1. It forces all SoCs except MT8135 to define dummy type1_start/end values (set to the last pin number + 1) to avoid unintended regmap switching, which is non-intuitive and cluttering the SoC data. 2. It assumes most register types (DRV, IES, SMT, etc.) follow the same splitting rule, even though hardware design might only require it for specific functional registers. Refactor the framework by introducing explicit '[func]_multibase' flags for each register category in struct mtk_pinctrl_devdata. This allows each SoC to explicitly declare which operations require multiple bases. For MT8135, which is currently the only multipre regmap user, enable needed multibase flags to keep existing behavior. For other SoCs, multibase flags will default to false, removing the need for fragile range-based workarounds and making the regmap selection logic more robust and explicit. Also, delete type1_start and type1_end, which are no longer needed by this refactor, from struct mtk_pinctrl_devdata. Signed-off-by: Akari Tsuyukusa --- drivers/pinctrl/mediatek/pinctrl-mt2701.c | 2 - drivers/pinctrl/mediatek/pinctrl-mt2712.c | 2 - drivers/pinctrl/mediatek/pinctrl-mt6397.c | 2 - drivers/pinctrl/mediatek/pinctrl-mt8127.c | 2 - drivers/pinctrl/mediatek/pinctrl-mt8135.c | 8 +++ drivers/pinctrl/mediatek/pinctrl-mt8167.c | 2 - drivers/pinctrl/mediatek/pinctrl-mt8173.c | 2 - drivers/pinctrl/mediatek/pinctrl-mt8365.c | 2 - drivers/pinctrl/mediatek/pinctrl-mt8516.c | 2 - drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 62 ++++++++++++------- drivers/pinctrl/mediatek/pinctrl-mtk-common.h | 9 +++ 11 files changed, 57 insertions(+), 38 deletions(-) diff --git a/drivers/pinctrl/mediatek/pinctrl-mt2701.c b/drivers/pinctrl/mediatek/pinctrl-mt2701.c index 6b1c7122b0fb99..30bec29de9bdc0 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt2701.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt2701.c @@ -504,8 +504,6 @@ static const struct mtk_pinctrl_devdata mt2701_pinctrl_data = { .dout_offset = 0x0500, .din_offset = 0x0630, .pinmux_offset = 0x0760, - .type1_start = 280, - .type1_end = 280, .port_shf = 4, .port_mask = 0x1f, .port_align = 4, diff --git a/drivers/pinctrl/mediatek/pinctrl-mt2712.c b/drivers/pinctrl/mediatek/pinctrl-mt2712.c index bb7394ae252b48..eb6ecaa726793a 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt2712.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt2712.c @@ -553,8 +553,6 @@ static const struct mtk_pinctrl_devdata mt2712_pinctrl_data = { .dout_offset = 0x0300, .din_offset = 0x0400, .pinmux_offset = 0x0500, - .type1_start = 210, - .type1_end = 210, .port_shf = 4, .port_mask = 0xf, .port_align = 4, diff --git a/drivers/pinctrl/mediatek/pinctrl-mt6397.c b/drivers/pinctrl/mediatek/pinctrl-mt6397.c index 03d0f65d7bcc1f..af5f48039895e6 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt6397.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt6397.c @@ -27,8 +27,6 @@ static const struct mtk_pinctrl_devdata mt6397_pinctrl_data = { .dout_offset = (MT6397_PIN_REG_BASE + 0x080), .din_offset = (MT6397_PIN_REG_BASE + 0x0a0), .pinmux_offset = (MT6397_PIN_REG_BASE + 0x0c0), - .type1_start = 41, - .type1_end = 41, .port_shf = 3, .port_mask = 0x3, .port_align = 2, diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8127.c b/drivers/pinctrl/mediatek/pinctrl-mt8127.c index f5030a9ea40b42..1ec1ddb317c33e 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt8127.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt8127.c @@ -272,8 +272,6 @@ static const struct mtk_pinctrl_devdata mt8127_pinctrl_data = { .dout_offset = 0x0400, .din_offset = 0x0500, .pinmux_offset = 0x0600, - .type1_start = 143, - .type1_end = 143, .port_shf = 4, .port_mask = 0xf, .port_align = 4, diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8135.c b/drivers/pinctrl/mediatek/pinctrl-mt8135.c index 77c6ac464e8607..9c9689be33be25 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt8135.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt8135.c @@ -292,15 +292,23 @@ static const struct mtk_pinctrl_devdata mt8135_pinctrl_data = { .n_grp_cls = ARRAY_SIZE(mt8135_drv_grp), .pin_drv_grp = mt8135_pin_drv, .n_pin_drv_grps = ARRAY_SIZE(mt8135_pin_drv), + .drv_multibase = true, .spec_pull_set = spec_pull_set, .dir_offset = 0x0000, + .dir_multibase = true, .ies_offset = 0x0100, + .ies_multibase = true, .pullen_offset = 0x0200, + .pullen_multibase = true, .smt_offset = 0x0300, + .smt_multibase = true, .pullsel_offset = 0x0400, + .pullsel_multibase = true, .dout_offset = 0x0800, + .dout_multibase = true, .din_offset = 0x0A00, .pinmux_offset = 0x0C00, + .pinmux_multibase = true, .type1_start = 34, .type1_end = 149, .port_shf = 4, diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8167.c b/drivers/pinctrl/mediatek/pinctrl-mt8167.c index 143c2662227252..27dfaabbf41ed6 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt8167.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt8167.c @@ -305,8 +305,6 @@ static const struct mtk_pinctrl_devdata mt8167_pinctrl_data = { .dout_offset = 0x0100, .din_offset = 0x0200, .pinmux_offset = 0x0300, - .type1_start = 125, - .type1_end = 125, .port_shf = 4, .port_mask = 0xf, .port_align = 4, diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8173.c b/drivers/pinctrl/mediatek/pinctrl-mt8173.c index b214deeafbf1d6..cc1ad89635021b 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt8173.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt8173.c @@ -313,8 +313,6 @@ static const struct mtk_pinctrl_devdata mt8173_pinctrl_data = { .dout_offset = 0x0400, .din_offset = 0x0500, .pinmux_offset = 0x0600, - .type1_start = 135, - .type1_end = 135, .port_shf = 4, .port_mask = 0xf, .port_align = 4, diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8365.c b/drivers/pinctrl/mediatek/pinctrl-mt8365.c index c20b9e2e02ddad..a58175cd81de17 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt8365.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt8365.c @@ -456,8 +456,6 @@ static const struct mtk_pinctrl_devdata mt8365_pinctrl_data = { .smt_offset = 0x0470, .pullen_offset = 0x0860, .pullsel_offset = 0x0900, - .type1_start = 145, - .type1_end = 145, .port_shf = 4, .port_mask = 0x1f, .port_align = 4, diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8516.c b/drivers/pinctrl/mediatek/pinctrl-mt8516.c index abda75d4354e28..c91e5f001c1090 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt8516.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt8516.c @@ -305,8 +305,6 @@ static const struct mtk_pinctrl_devdata mt8516_pinctrl_data = { .dout_offset = 0x0100, .din_offset = 0x0200, .pinmux_offset = 0x0300, - .type1_start = 125, - .type1_end = 125, .port_shf = 4, .port_mask = 0xf, .port_align = 4, diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c index 7c1c54781c7af1..f4abb23bd26a59 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c @@ -42,14 +42,15 @@ static const char * const mtk_gpio_functions[] = { }; /* - * There are two base address for pull related configuration - * in mt8135, and different GPIO pins use different base address. - * When pin number greater than type1_start and less than type1_end, - * should use the second base address. + * Some chips (e.g., mt8135) have multiple base addresses for pin configuration. + * When multibase is true and the pin number falls within the specified range + * [type1_start, type1_end), the second base address should be used. */ static struct regmap *mtk_get_regmap(struct mtk_pinctrl *pctl, - unsigned long pin) + unsigned long pin, bool multibase) { + if (!multibase) + return pctl->regmap1; if (pin >= pctl->devdata->type1_start && pin < pctl->devdata->type1_end) return pctl->regmap2; return pctl->regmap1; @@ -82,7 +83,8 @@ static int mtk_pmx_gpio_set_direction(struct pinctrl_dev *pctldev, else reg_addr = SET_ADDR(reg_addr, pctl); - regmap_write(mtk_get_regmap(pctl, offset), reg_addr, bit); + regmap_write(mtk_get_regmap(pctl, offset, pctl->devdata->dir_multibase), + reg_addr, bit); return 0; } @@ -100,7 +102,8 @@ static int mtk_gpio_set(struct gpio_chip *chip, unsigned int offset, int value) else reg_addr = CLR_ADDR(reg_addr, pctl); - return regmap_write(mtk_get_regmap(pctl, offset), reg_addr, bit); + return regmap_write(mtk_get_regmap(pctl, offset, pctl->devdata->dout_multibase), + reg_addr, bit); } static int mtk_pconf_set_ies_smt(struct mtk_pinctrl *pctl, unsigned pin, @@ -108,6 +111,7 @@ static int mtk_pconf_set_ies_smt(struct mtk_pinctrl *pctl, unsigned pin, { unsigned int reg_addr, offset; unsigned int bit; + bool multibase; /** * Due to some soc are not support ies/smt config, add this special @@ -123,12 +127,18 @@ static int mtk_pconf_set_ies_smt(struct mtk_pinctrl *pctl, unsigned pin, arg == PIN_CONFIG_INPUT_SCHMITT_ENABLE) return -EINVAL; + if (arg == PIN_CONFIG_INPUT_ENABLE) + multibase = pctl->devdata->ies_multibase; + else + multibase = pctl->devdata->smt_multibase; + /* * Due to some pins are irregular, their input enable and smt * control register are discontinuous, so we need this special handle. */ if (pctl->devdata->spec_ies_smt_set) { - return pctl->devdata->spec_ies_smt_set(mtk_get_regmap(pctl, pin), + return pctl->devdata->spec_ies_smt_set( + mtk_get_regmap(pctl, pin, multibase), pctl->devdata, pin, value, arg); } @@ -144,7 +154,7 @@ static int mtk_pconf_set_ies_smt(struct mtk_pinctrl *pctl, unsigned pin, else reg_addr = CLR_ADDR(mtk_get_port(pctl, pin) + offset, pctl); - regmap_write(mtk_get_regmap(pctl, pin), reg_addr, bit); + regmap_write(mtk_get_regmap(pctl, pin, multibase), reg_addr, bit); return 0; } @@ -229,7 +239,8 @@ static int mtk_pconf_set_driving(struct mtk_pinctrl *pctl, shift = pin_drv->bit + drv_grp->low_bit; mask <<= shift; val <<= shift; - return regmap_update_bits(mtk_get_regmap(pctl, pin), + return regmap_update_bits( + mtk_get_regmap(pctl, pin, pctl->devdata->drv_multibase), pin_drv->offset, mask, val); } @@ -314,9 +325,9 @@ static int mtk_pconf_set_pull_select(struct mtk_pinctrl *pctl, * the parameter should be "MTK_PUPD_SET_R1R0_00". */ r1r0 = enable ? arg : MTK_PUPD_SET_R1R0_00; - ret = pctl->devdata->spec_pull_set(mtk_get_regmap(pctl, pin), - pctl->devdata, pin, isup, - r1r0); + ret = pctl->devdata->spec_pull_set( + mtk_get_regmap(pctl, pin, pctl->devdata->pullsel_multibase), + pctl->devdata, pin, isup, r1r0); if (!ret) return 0; } @@ -334,7 +345,8 @@ static int mtk_pconf_set_pull_select(struct mtk_pinctrl *pctl, pctl->devdata->pullen_offset; reg_pullsel = mtk_get_port(pctl, pin) + pctl->devdata->pullsel_offset; - ret = pctl->devdata->mt8365_set_clr_mode(mtk_get_regmap(pctl, pin), + /* MT8365 do not use multibase. */ + ret = pctl->devdata->mt8365_set_clr_mode(pctl->regmap1, bit, reg_pullen, reg_pullsel, enable, isup); if (ret) @@ -358,8 +370,10 @@ static int mtk_pconf_set_pull_select(struct mtk_pinctrl *pctl, reg_pullsel = CLR_ADDR(mtk_get_port(pctl, pin) + pctl->devdata->pullsel_offset, pctl); - regmap_write(mtk_get_regmap(pctl, pin), reg_pullen, bit); - regmap_write(mtk_get_regmap(pctl, pin), reg_pullsel, bit); + regmap_write(mtk_get_regmap(pctl, pin, pctl->devdata->pullen_multibase), + reg_pullen, bit); + regmap_write(mtk_get_regmap(pctl, pin, pctl->devdata->pullsel_multibase), + reg_pullsel, bit); return 0; } @@ -710,8 +724,9 @@ static int mtk_pmx_set_mode(struct pinctrl_dev *pctldev, struct mtk_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); if (pctl->devdata->spec_pinmux_set) - pctl->devdata->spec_pinmux_set(mtk_get_regmap(pctl, pin), - pin, mode); + pctl->devdata->spec_pinmux_set( + mtk_get_regmap(pctl, pin, pctl->devdata->pinmux_multibase), + pin, mode); reg_addr = ((pin / pctl->devdata->mode_per_reg) << pctl->devdata->port_shf) + pctl->devdata->pinmux_offset; @@ -720,8 +735,9 @@ static int mtk_pmx_set_mode(struct pinctrl_dev *pctldev, bit = pin % pctl->devdata->mode_per_reg; mask <<= (GPIO_MODE_BITS * bit); val = (mode << (GPIO_MODE_BITS * bit)); - return regmap_update_bits(mtk_get_regmap(pctl, pin), - reg_addr, mask, val); + return regmap_update_bits( + mtk_get_regmap(pctl, pin, pctl->devdata->pinmux_multibase), + reg_addr, mask, val); } static const struct mtk_desc_pin * @@ -832,7 +848,8 @@ static int mtk_gpio_get_direction(struct gpio_chip *chip, unsigned offset) if (pctl->devdata->spec_dir_set) pctl->devdata->spec_dir_set(®_addr, offset); - regmap_read(pctl->regmap1, reg_addr, &read_val); + regmap_read(mtk_get_regmap(pctl, offset, pctl->devdata->dir_multibase), + reg_addr, &read_val); if (read_val & bit) return GPIO_LINE_DIRECTION_OUT; @@ -850,7 +867,8 @@ static int mtk_gpio_get(struct gpio_chip *chip, unsigned offset) pctl->devdata->din_offset; bit = BIT(offset & pctl->devdata->mode_mask); - regmap_read(pctl->regmap1, reg_addr, &read_val); + regmap_read(mtk_get_regmap(pctl, offset, pctl->devdata->din_multibase), + reg_addr, &read_val); return !!(read_val & bit); } diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.h b/drivers/pinctrl/mediatek/pinctrl-mtk-common.h index 3b96f3dd338d0e..81793d2973f866 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.h +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.h @@ -276,6 +276,15 @@ struct mtk_pinctrl_devdata { unsigned int mode_mask; unsigned int mode_per_reg; unsigned int mode_shf; + bool dir_multibase; + bool ies_multibase; + bool smt_multibase; + bool pullen_multibase; + bool pullsel_multibase; + bool drv_multibase; + bool dout_multibase; + bool din_multibase; + bool pinmux_multibase; }; struct mtk_pinctrl { From aab38b6039135eaeec2256aa7206ceed6ac15e79 Mon Sep 17 00:00:00 2001 From: Akari Tsuyukusa Date: Sun, 11 Jan 2026 22:01:38 +0900 Subject: [PATCH 25/25] pinctrl: mediatek: mt6589: fix --- drivers/pinctrl/mediatek/pinctrl-mt6589.c | 78 +++++++++++++++++++---- 1 file changed, 65 insertions(+), 13 deletions(-) diff --git a/drivers/pinctrl/mediatek/pinctrl-mt6589.c b/drivers/pinctrl/mediatek/pinctrl-mt6589.c index 11cff872d27374..45d04d4559892d 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt6589.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt6589.c @@ -10,6 +10,8 @@ #include #include #include +#include +#include #include "pinctrl-mtk-common.h" #include "pinctrl-mtk-mt6589.h" @@ -176,7 +178,7 @@ static const struct mtk_pin_drv_grp mt6589_pin_drv[] = { MTK_PIN_DRV_GRP(80, DRV_CON4, 16, 1), /* UR4 */ - MTK_PIN_DRV_GRP(81, DRV_CON4, 20 1), + MTK_PIN_DRV_GRP(81, DRV_CON4, 20, 1), MTK_PIN_DRV_GRP(82, DRV_CON4, 24, 1), /* BPI1B */ @@ -199,7 +201,7 @@ static const struct mtk_pin_drv_grp mt6589_pin_drv[] = { MTK_PIN_DRV_GRP(99, DRV_CON5, 12, 1), /* VM 1, 0 */ - MTK_PIN_DRV_GRP(100, DRV_CON5, 12, 1) + MTK_PIN_DRV_GRP(100, DRV_CON5, 12, 1), MTK_PIN_DRV_GRP(101, DRV_CON5, 12, 1), /* BSI 1 */ @@ -351,6 +353,57 @@ static const struct mtk_pin_drv_grp mt6589_pin_drv[] = { MTK_PIN_DRV_GRP(231, DRV_CON12, 4, 0), }; +#define MT6589_SIM_MODE_PER_REG 3 +#define MT6589_SIM_MODE_BITS 4 + +/* based on mtk_pmx_set_mode (pinctrl-mtk-common.c)*/ +static void mt6589_pinmux_set(struct regmap *reg, unsigned int pin, unsigned int mode) +{ + unsigned int pin2, reg_addr, val; + unsigned char bit; + unsigned int mask = (1L << MT6589_SIM_MODE_BITS) - 1; + if (pin < 44 || pin > 49) return; + + pin2 = pin - 44; + if (pin2 <= 2) reg_addr = 0x0980; + else reg_addr = 0x09a0; + + mode &= mask; + bit = pin2 % MT6589_SIM_MODE_PER_REG; + mask <<= (MT6589_SIM_MODE_BITS * bit); + val = (mode << (MT6589_SIM_MODE_BITS * bit)); + regmap_update_bits(reg, reg_addr, mask, val); +} + +static int mt6589_pull_set(struct regmap *regmap, + const struct mtk_pinctrl_devdata *devdata, + unsigned int pin, bool isup, unsigned int arg) +{ + unsigned int pin2, reg_addr, bit_en, bit_sel; + unsigned int mask, val; + bool enable = (arg != MTK_PUPD_SET_R1R0_00); + + if (pin < 44 || pin > 49) + return -EINVAL; + + pin2 = pin - 44; + if (pin2 <= 2) + reg_addr = 0x0990; + else + reg_addr = 0x09b0; + + bit_en = (pin2 % 3) + 4; + bit_sel = (pin2 % 3) + 8; + + mask = BIT(bit_en) | BIT(bit_sel); + val = (enable ? BIT(bit_en) : 0) | (isup ? BIT(bit_sel) : 0); + + regmap_update_bits(regmap, reg_addr, mask, val); + + return 0; +} + +/* TODO: MSDC_R0, BIAS */ static const struct mtk_pinctrl_devdata mt6589_pinctrl_data = { .pins = mtk_pins_mt6589, .npins = ARRAY_SIZE(mtk_pins_mt6589), @@ -358,30 +411,29 @@ static const struct mtk_pinctrl_devdata mt6589_pinctrl_data = { .n_grp_cls = ARRAY_SIZE(mt6589_drv_grp), .pin_drv_grp = mt6589_pin_drv, .n_pin_drv_grps = ARRAY_SIZE(mt6589_pin_drv), - - /* FIXME: needs multibase */ - /* disable - .type1_start = 114, - .type1_end = 169 + 1, - */ + .drv_multibase = true, + .spec_pull_set = mt6589_pull_set, + .dir_offset = 0x0000, .ies_offset = 0x0100, + .ies_multibase = true, .pullen_offset = 0x0200, + .pullen_multibase = true, .smt_offset = 0x0300, + .smt_multibase = true, .pullsel_offset = 0x0400, - - .dir_offset = 0x0000, + .pullsel_multibase = true, .dout_offset = 0x0800, .din_offset = 0x0a00, - /* FIXME: SIM pinmux */ .pinmux_offset = 0x0c00, - + .spec_pinmux_set = mt6589_pinmux_set, + .type1_start = 114, + .type1_end = 169 + 1, .port_shf = 4, .port_mask = 0xf, .port_align = 4, .mode_mask = 0xf, .mode_per_reg = 5, .mode_shf = 4, - .eint_hw = { .port_mask = 7, .ports = 6,