From 7729ad92c24abcd82115e497e14f3affa67cdb48 Mon Sep 17 00:00:00 2001 From: -akku- Date: Sat, 20 Sep 2025 00:06:59 +0900 Subject: [PATCH 1/4] 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 2/4] 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 3/4] 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 4/4] 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 */