mediatek: bump to v4.4
[openwrt/svn-archive/archive.git] / target / linux / mediatek / patches / 0053-pinctrl-mediatek-Add-Pinctrl-GPIO-driver-for-mt6397.patch
diff --git a/target/linux/mediatek/patches/0053-pinctrl-mediatek-Add-Pinctrl-GPIO-driver-for-mt6397.patch b/target/linux/mediatek/patches/0053-pinctrl-mediatek-Add-Pinctrl-GPIO-driver-for-mt6397.patch
deleted file mode 100644 (file)
index aa0f4d3..0000000
+++ /dev/null
@@ -1,633 +0,0 @@
-From 3031cefd8cd323e04be11a8058616d8cf21c1313 Mon Sep 17 00:00:00 2001
-From: Hongzhou Yang <hongzhou.yang@mediatek.com>
-Date: Mon, 18 May 2015 23:11:17 -0700
-Subject: [PATCH 53/76] pinctrl: mediatek: Add Pinctrl/GPIO driver for mt6397.
-
-Add mt6397 support using mediatek common pinctrl driver.
-
-mt6397 is a PMIC, and pinctrl/GPIO is part of 6397 chip.
-Pinctrl/GPIO driver should obtain regmap from PMIC,
-so adding this support to common code.
-
-Also, mt6397 is no need to support interrupt controller,
-so changing common code to skip it.
-
-Signed-off-by: Hongzhou Yang <hongzhou.yang@mediatek.com>
----
- drivers/pinctrl/mediatek/Kconfig              |    6 +
- drivers/pinctrl/mediatek/Makefile             |    1 +
- drivers/pinctrl/mediatek/pinctrl-mt6397.c     |   78 +++++
- drivers/pinctrl/mediatek/pinctrl-mt8135.c     |    2 +-
- drivers/pinctrl/mediatek/pinctrl-mt8173.c     |    2 +-
- drivers/pinctrl/mediatek/pinctrl-mtk-common.c |   13 +-
- drivers/pinctrl/mediatek/pinctrl-mtk-common.h |    3 +-
- drivers/pinctrl/mediatek/pinctrl-mtk-mt6397.h |  424 +++++++++++++++++++++++++
- 8 files changed, 524 insertions(+), 5 deletions(-)
- create mode 100644 drivers/pinctrl/mediatek/pinctrl-mt6397.c
- create mode 100644 drivers/pinctrl/mediatek/pinctrl-mtk-mt6397.h
-
---- a/drivers/pinctrl/mediatek/Kconfig
-+++ b/drivers/pinctrl/mediatek/Kconfig
-@@ -23,4 +23,10 @@ config PINCTRL_MT8173
-       default ARM64 && ARCH_MEDIATEK
-       select PINCTRL_MTK_COMMON
-+# For PMIC
-+config PINCTRL_MT6397
-+      bool "Mediatek MT6397 pin control" if COMPILE_TEST && !MFD_MT6397
-+      default MFD_MT6397
-+      select PINCTRL_MTK_COMMON
-+
- endif
---- a/drivers/pinctrl/mediatek/Makefile
-+++ b/drivers/pinctrl/mediatek/Makefile
-@@ -4,3 +4,4 @@ obj-$(CONFIG_PINCTRL_MTK_COMMON)       += pinc
- # SoC Drivers
- obj-$(CONFIG_PINCTRL_MT8135)          += pinctrl-mt8135.o
- obj-$(CONFIG_PINCTRL_MT8173)          += pinctrl-mt8173.o
-+obj-$(CONFIG_PINCTRL_MT6397)          += pinctrl-mt6397.o
---- /dev/null
-+++ b/drivers/pinctrl/mediatek/pinctrl-mt6397.c
-@@ -0,0 +1,78 @@
-+/*
-+ * Copyright (c) 2015 MediaTek Inc.
-+ * Author: Hongzhou.Yang <hongzhou.yang@mediatek.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/platform_device.h>
-+#include <linux/of.h>
-+#include <linux/of_device.h>
-+#include <linux/pinctrl/pinctrl.h>
-+#include <linux/pinctrl/pinconf-generic.h>
-+#include <linux/mfd/mt6397/core.h>
-+
-+#include "pinctrl-mtk-common.h"
-+#include "pinctrl-mtk-mt6397.h"
-+
-+#define MT6397_PIN_REG_BASE  0xc000
-+
-+static const struct mtk_pinctrl_devdata mt6397_pinctrl_data = {
-+      .pins = mtk_pins_mt6397,
-+      .npins = ARRAY_SIZE(mtk_pins_mt6397),
-+      .dir_offset = (MT6397_PIN_REG_BASE + 0x000),
-+      .ies_offset = MTK_PINCTRL_NOT_SUPPORT,
-+      .smt_offset = MTK_PINCTRL_NOT_SUPPORT,
-+      .pullen_offset = (MT6397_PIN_REG_BASE + 0x020),
-+      .pullsel_offset = (MT6397_PIN_REG_BASE + 0x040),
-+      .dout_offset = (MT6397_PIN_REG_BASE + 0x080),
-+      .din_offset = (MT6397_PIN_REG_BASE + 0x0a0),
-+      .pinmux_offset = (MT6397_PIN_REG_BASE + 0x0c0),
-+      .type1_start = 41,
-+      .type1_end = 41,
-+      .port_shf = 3,
-+      .port_mask = 0x3,
-+      .port_align = 2,
-+};
-+
-+static int mt6397_pinctrl_probe(struct platform_device *pdev)
-+{
-+      struct mt6397_chip *mt6397;
-+
-+      mt6397 = dev_get_drvdata(pdev->dev.parent);
-+      return mtk_pctrl_init(pdev, &mt6397_pinctrl_data, mt6397->regmap);
-+}
-+
-+static const struct of_device_id mt6397_pctrl_match[] = {
-+      { .compatible = "mediatek,mt6397-pinctrl", },
-+      { }
-+};
-+MODULE_DEVICE_TABLE(of, mt6397_pctrl_match);
-+
-+static struct platform_driver mtk_pinctrl_driver = {
-+      .probe = mt6397_pinctrl_probe,
-+      .driver = {
-+              .name = "mediatek-mt6397-pinctrl",
-+              .owner = THIS_MODULE,
-+              .of_match_table = mt6397_pctrl_match,
-+      },
-+};
-+
-+static int __init mtk_pinctrl_init(void)
-+{
-+      return platform_driver_register(&mtk_pinctrl_driver);
-+}
-+
-+module_init(mtk_pinctrl_init);
-+
-+MODULE_LICENSE("GPL v2");
-+MODULE_DESCRIPTION("MediaTek MT6397 Pinctrl Driver");
-+MODULE_AUTHOR("Hongzhou Yang <hongzhou.yang@mediatek.com>");
---- a/drivers/pinctrl/mediatek/pinctrl-mt8135.c
-+++ b/drivers/pinctrl/mediatek/pinctrl-mt8135.c
-@@ -342,7 +342,7 @@ static const struct mtk_pinctrl_devdata
- static int mt8135_pinctrl_probe(struct platform_device *pdev)
- {
--      return mtk_pctrl_init(pdev, &mt8135_pinctrl_data);
-+      return mtk_pctrl_init(pdev, &mt8135_pinctrl_data, NULL);
- }
- static const struct of_device_id mt8135_pctrl_match[] = {
---- a/drivers/pinctrl/mediatek/pinctrl-mt8173.c
-+++ b/drivers/pinctrl/mediatek/pinctrl-mt8173.c
-@@ -361,7 +361,7 @@ static const struct mtk_pinctrl_devdata
- static int mt8173_pinctrl_probe(struct platform_device *pdev)
- {
--      return mtk_pctrl_init(pdev, &mt8173_pinctrl_data);
-+      return mtk_pctrl_init(pdev, &mt8173_pinctrl_data, NULL);
- }
- static const struct of_device_id mt8173_pctrl_match[] = {
---- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
-+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
-@@ -1209,7 +1209,8 @@ static struct pinctrl_desc mtk_pctrl_des
- };
- int mtk_pctrl_init(struct platform_device *pdev,
--              const struct mtk_pinctrl_devdata *data)
-+              const struct mtk_pinctrl_devdata *data,
-+              struct regmap *regmap)
- {
-       struct pinctrl_pin_desc *pins;
-       struct mtk_pinctrl *pctl;
-@@ -1235,6 +1236,11 @@ int mtk_pctrl_init(struct platform_devic
-               pctl->regmap1 = syscon_node_to_regmap(node);
-               if (IS_ERR(pctl->regmap1))
-                       return PTR_ERR(pctl->regmap1);
-+      } else if (regmap) {
-+              pctl->regmap1  = regmap;
-+      } else {
-+              dev_err(&pdev->dev, "Pinctrl node has not register regmap.\n");
-+              return -EINVAL;
-       }
-       /* Only 8135 has two base addr, other SoCs have only one. */
-@@ -1280,7 +1286,7 @@ int mtk_pctrl_init(struct platform_devic
-       pctl->chip->ngpio = pctl->devdata->npins;
-       pctl->chip->label = dev_name(&pdev->dev);
-       pctl->chip->dev = &pdev->dev;
--      pctl->chip->base = 0;
-+      pctl->chip->base = -1;
-       ret = gpiochip_add(pctl->chip);
-       if (ret) {
-@@ -1296,6 +1302,9 @@ int mtk_pctrl_init(struct platform_devic
-               goto chip_error;
-       }
-+      if (of_find_property(np, "interrupt-controller", NULL))
-+              return 0;
-+
-       /* Get EINT register base from dts. */
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!res) {
---- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.h
-+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.h
-@@ -269,7 +269,8 @@ struct mtk_pinctrl {
- };
- int mtk_pctrl_init(struct platform_device *pdev,
--              const struct mtk_pinctrl_devdata *data);
-+              const struct mtk_pinctrl_devdata *data,
-+              struct regmap *regmap);
- int mtk_pctrl_spec_pull_set_samereg(struct regmap *regmap,
-               const struct mtk_pin_spec_pupd_set_samereg *pupd_infos,
---- /dev/null
-+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6397.h
-@@ -0,0 +1,424 @@
-+#ifndef __PINCTRL_MTK_MT6397_H
-+#define __PINCTRL_MTK_MT6397_H
-+
-+#include <linux/pinctrl/pinctrl.h>
-+#include "pinctrl-mtk-common.h"
-+
-+static const struct mtk_desc_pin mtk_pins_mt6397[] = {
-+      MTK_PIN(
-+              PINCTRL_PIN(0, "INT"),
-+              "N2", "mt6397",
-+              MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
-+              MTK_FUNCTION(0, "GPIO0"),
-+              MTK_FUNCTION(1, "INT")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(1, "SRCVOLTEN"),
-+              "M4", "mt6397",
-+              MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
-+              MTK_FUNCTION(0, "GPIO1"),
-+              MTK_FUNCTION(1, "SRCVOLTEN"),
-+              MTK_FUNCTION(6, "TEST_CK1")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(2, "SRCLKEN_PERI"),
-+              "M2", "mt6397",
-+              MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
-+              MTK_FUNCTION(0, "GPIO2"),
-+              MTK_FUNCTION(1, "SRCLKEN_PERI"),
-+              MTK_FUNCTION(6, "TEST_CK2")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(3, "RTC_32K1V8"),
-+              "K3", "mt6397",
-+              MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
-+              MTK_FUNCTION(0, "GPIO3"),
-+              MTK_FUNCTION(1, "RTC_32K1V8"),
-+              MTK_FUNCTION(6, "TEST_CK3")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(4, "WRAP_EVENT"),
-+              "J2", "mt6397",
-+              MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
-+              MTK_FUNCTION(0, "GPIO4"),
-+              MTK_FUNCTION(1, "WRAP_EVENT")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(5, "SPI_CLK"),
-+              "L4", "mt6397",
-+              MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
-+              MTK_FUNCTION(0, "GPIO5"),
-+              MTK_FUNCTION(1, "SPI_CLK")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(6, "SPI_CSN"),
-+              "J3", "mt6397",
-+              MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
-+              MTK_FUNCTION(0, "GPIO6"),
-+              MTK_FUNCTION(1, "SPI_CSN")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(7, "SPI_MOSI"),
-+              "J1", "mt6397",
-+              MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
-+              MTK_FUNCTION(0, "GPIO7"),
-+              MTK_FUNCTION(1, "SPI_MOSI")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(8, "SPI_MISO"),
-+              "L3", "mt6397",
-+              MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
-+              MTK_FUNCTION(0, "GPIO8"),
-+              MTK_FUNCTION(1, "SPI_MISO")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(9, "AUD_CLK_MOSI"),
-+              "H2", "mt6397",
-+              MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
-+              MTK_FUNCTION(0, "GPIO9"),
-+              MTK_FUNCTION(1, "AUD_CLK"),
-+              MTK_FUNCTION(6, "TEST_IN0"),
-+              MTK_FUNCTION(7, "TEST_OUT0")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(10, "AUD_DAT_MISO"),
-+              "H3", "mt6397",
-+              MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
-+              MTK_FUNCTION(0, "GPIO10"),
-+              MTK_FUNCTION(1, "AUD_MISO"),
-+              MTK_FUNCTION(6, "TEST_IN1"),
-+              MTK_FUNCTION(7, "TEST_OUT1")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(11, "AUD_DAT_MOSI"),
-+              "H1", "mt6397",
-+              MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
-+              MTK_FUNCTION(0, "GPIO11"),
-+              MTK_FUNCTION(1, "AUD_MOSI"),
-+              MTK_FUNCTION(6, "TEST_IN2"),
-+              MTK_FUNCTION(7, "TEST_OUT2")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(12, "COL0"),
-+              "F3", "mt6397",
-+              MTK_EINT_FUNCTION(2, 10),
-+              MTK_FUNCTION(0, "GPIO12"),
-+              MTK_FUNCTION(1, "COL0_USBDL"),
-+              MTK_FUNCTION(2, "EINT10_1X"),
-+              MTK_FUNCTION(3, "PWM1_3X"),
-+              MTK_FUNCTION(6, "TEST_IN3"),
-+              MTK_FUNCTION(7, "TEST_OUT3")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(13, "COL1"),
-+              "G8", "mt6397",
-+              MTK_EINT_FUNCTION(2, 11),
-+              MTK_FUNCTION(0, "GPIO13"),
-+              MTK_FUNCTION(1, "COL1"),
-+              MTK_FUNCTION(2, "EINT11_1X"),
-+              MTK_FUNCTION(3, "SCL0_2X"),
-+              MTK_FUNCTION(6, "TEST_IN4"),
-+              MTK_FUNCTION(7, "TEST_OUT4")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(14, "COL2"),
-+              "H4", "mt6397",
-+              MTK_EINT_FUNCTION(2, 12),
-+              MTK_FUNCTION(0, "GPIO14"),
-+              MTK_FUNCTION(1, "COL2"),
-+              MTK_FUNCTION(2, "EINT12_1X"),
-+              MTK_FUNCTION(3, "SDA0_2X"),
-+              MTK_FUNCTION(6, "TEST_IN5"),
-+              MTK_FUNCTION(7, "TEST_OUT5")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(15, "COL3"),
-+              "G2", "mt6397",
-+              MTK_EINT_FUNCTION(2, 13),
-+              MTK_FUNCTION(0, "GPIO15"),
-+              MTK_FUNCTION(1, "COL3"),
-+              MTK_FUNCTION(2, "EINT13_1X"),
-+              MTK_FUNCTION(3, "SCL1_2X"),
-+              MTK_FUNCTION(6, "TEST_IN6"),
-+              MTK_FUNCTION(7, "TEST_OUT6")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(16, "COL4"),
-+              "F2", "mt6397",
-+              MTK_EINT_FUNCTION(2, 14),
-+              MTK_FUNCTION(0, "GPIO16"),
-+              MTK_FUNCTION(1, "COL4"),
-+              MTK_FUNCTION(2, "EINT14_1X"),
-+              MTK_FUNCTION(3, "SDA1_2X"),
-+              MTK_FUNCTION(6, "TEST_IN7"),
-+              MTK_FUNCTION(7, "TEST_OUT7")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(17, "COL5"),
-+              "G7", "mt6397",
-+              MTK_EINT_FUNCTION(2, 15),
-+              MTK_FUNCTION(0, "GPIO17"),
-+              MTK_FUNCTION(1, "COL5"),
-+              MTK_FUNCTION(2, "EINT15_1X"),
-+              MTK_FUNCTION(3, "SCL2_2X"),
-+              MTK_FUNCTION(6, "TEST_IN8"),
-+              MTK_FUNCTION(7, "TEST_OUT8")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(18, "COL6"),
-+              "J6", "mt6397",
-+              MTK_EINT_FUNCTION(2, 16),
-+              MTK_FUNCTION(0, "GPIO18"),
-+              MTK_FUNCTION(1, "COL6"),
-+              MTK_FUNCTION(2, "EINT16_1X"),
-+              MTK_FUNCTION(3, "SDA2_2X"),
-+              MTK_FUNCTION(4, "GPIO32K_0"),
-+              MTK_FUNCTION(5, "GPIO26M_0"),
-+              MTK_FUNCTION(6, "TEST_IN9"),
-+              MTK_FUNCTION(7, "TEST_OUT9")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(19, "COL7"),
-+              "J5", "mt6397",
-+              MTK_EINT_FUNCTION(2, 17),
-+              MTK_FUNCTION(0, "GPIO19"),
-+              MTK_FUNCTION(1, "COL7"),
-+              MTK_FUNCTION(2, "EINT17_1X"),
-+              MTK_FUNCTION(3, "PWM2_3X"),
-+              MTK_FUNCTION(4, "GPIO32K_1"),
-+              MTK_FUNCTION(5, "GPIO26M_1"),
-+              MTK_FUNCTION(6, "TEST_IN10"),
-+              MTK_FUNCTION(7, "TEST_OUT10")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(20, "ROW0"),
-+              "L7", "mt6397",
-+              MTK_EINT_FUNCTION(2, 18),
-+              MTK_FUNCTION(0, "GPIO20"),
-+              MTK_FUNCTION(1, "ROW0"),
-+              MTK_FUNCTION(2, "EINT18_1X"),
-+              MTK_FUNCTION(3, "SCL0_3X"),
-+              MTK_FUNCTION(6, "TEST_IN11"),
-+              MTK_FUNCTION(7, "TEST_OUT11")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(21, "ROW1"),
-+              "P1", "mt6397",
-+              MTK_EINT_FUNCTION(2, 19),
-+              MTK_FUNCTION(0, "GPIO21"),
-+              MTK_FUNCTION(1, "ROW1"),
-+              MTK_FUNCTION(2, "EINT19_1X"),
-+              MTK_FUNCTION(3, "SDA0_3X"),
-+              MTK_FUNCTION(4, "AUD_TSTCK"),
-+              MTK_FUNCTION(6, "TEST_IN12"),
-+              MTK_FUNCTION(7, "TEST_OUT12")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(22, "ROW2"),
-+              "J8", "mt6397",
-+              MTK_EINT_FUNCTION(2, 20),
-+              MTK_FUNCTION(0, "GPIO22"),
-+              MTK_FUNCTION(1, "ROW2"),
-+              MTK_FUNCTION(2, "EINT20_1X"),
-+              MTK_FUNCTION(3, "SCL1_3X"),
-+              MTK_FUNCTION(6, "TEST_IN13"),
-+              MTK_FUNCTION(7, "TEST_OUT13")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(23, "ROW3"),
-+              "J7", "mt6397",
-+              MTK_EINT_FUNCTION(2, 21),
-+              MTK_FUNCTION(0, "GPIO23"),
-+              MTK_FUNCTION(1, "ROW3"),
-+              MTK_FUNCTION(2, "EINT21_1X"),
-+              MTK_FUNCTION(3, "SDA1_3X"),
-+              MTK_FUNCTION(6, "TEST_IN14"),
-+              MTK_FUNCTION(7, "TEST_OUT14")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(24, "ROW4"),
-+              "L5", "mt6397",
-+              MTK_EINT_FUNCTION(2, 22),
-+              MTK_FUNCTION(0, "GPIO24"),
-+              MTK_FUNCTION(1, "ROW4"),
-+              MTK_FUNCTION(2, "EINT22_1X"),
-+              MTK_FUNCTION(3, "SCL2_3X"),
-+              MTK_FUNCTION(6, "TEST_IN15"),
-+              MTK_FUNCTION(7, "TEST_OUT15")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(25, "ROW5"),
-+              "N6", "mt6397",
-+              MTK_EINT_FUNCTION(2, 23),
-+              MTK_FUNCTION(0, "GPIO25"),
-+              MTK_FUNCTION(1, "ROW5"),
-+              MTK_FUNCTION(2, "EINT23_1X"),
-+              MTK_FUNCTION(3, "SDA2_3X"),
-+              MTK_FUNCTION(6, "TEST_IN16"),
-+              MTK_FUNCTION(7, "TEST_OUT16")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(26, "ROW6"),
-+              "L6", "mt6397",
-+              MTK_EINT_FUNCTION(2, 24),
-+              MTK_FUNCTION(0, "GPIO26"),
-+              MTK_FUNCTION(1, "ROW6"),
-+              MTK_FUNCTION(2, "EINT24_1X"),
-+              MTK_FUNCTION(3, "PWM3_3X"),
-+              MTK_FUNCTION(4, "GPIO32K_2"),
-+              MTK_FUNCTION(5, "GPIO26M_2"),
-+              MTK_FUNCTION(6, "TEST_IN17"),
-+              MTK_FUNCTION(7, "TEST_OUT17")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(27, "ROW7"),
-+              "P2", "mt6397",
-+              MTK_EINT_FUNCTION(2, 3),
-+              MTK_FUNCTION(0, "GPIO27"),
-+              MTK_FUNCTION(1, "ROW7"),
-+              MTK_FUNCTION(2, "EINT3_1X"),
-+              MTK_FUNCTION(3, "CBUS"),
-+              MTK_FUNCTION(4, "GPIO32K_3"),
-+              MTK_FUNCTION(5, "GPIO26M_3"),
-+              MTK_FUNCTION(6, "TEST_IN18"),
-+              MTK_FUNCTION(7, "TEST_OUT18")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(28, "PWM1(VMSEL1)"),
-+              "J4", "mt6397",
-+              MTK_EINT_FUNCTION(2, 4),
-+              MTK_FUNCTION(0, "GPIO28"),
-+              MTK_FUNCTION(1, "PWM1"),
-+              MTK_FUNCTION(2, "EINT4_1X"),
-+              MTK_FUNCTION(4, "GPIO32K_4"),
-+              MTK_FUNCTION(5, "GPIO26M_4"),
-+              MTK_FUNCTION(6, "TEST_IN19"),
-+              MTK_FUNCTION(7, "TEST_OUT19")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(29, "PWM2(VMSEL2)"),
-+              "N5", "mt6397",
-+              MTK_EINT_FUNCTION(2, 5),
-+              MTK_FUNCTION(0, "GPIO29"),
-+              MTK_FUNCTION(1, "PWM2"),
-+              MTK_FUNCTION(2, "EINT5_1X"),
-+              MTK_FUNCTION(4, "GPIO32K_5"),
-+              MTK_FUNCTION(5, "GPIO26M_5"),
-+              MTK_FUNCTION(6, "TEST_IN20"),
-+              MTK_FUNCTION(7, "TEST_OUT20")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(30, "PWM3(PWM)"),
-+              "R3", "mt6397",
-+              MTK_EINT_FUNCTION(2, 6),
-+              MTK_FUNCTION(0, "GPIO30"),
-+              MTK_FUNCTION(1, "PWM3"),
-+              MTK_FUNCTION(2, "EINT6_1X"),
-+              MTK_FUNCTION(3, "COL0"),
-+              MTK_FUNCTION(4, "GPIO32K_6"),
-+              MTK_FUNCTION(5, "GPIO26M_6"),
-+              MTK_FUNCTION(6, "TEST_IN21"),
-+              MTK_FUNCTION(7, "TEST_OUT21")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(31, "SCL0"),
-+              "N1", "mt6397",
-+              MTK_EINT_FUNCTION(2, 7),
-+              MTK_FUNCTION(0, "GPIO31"),
-+              MTK_FUNCTION(1, "SCL0"),
-+              MTK_FUNCTION(2, "EINT7_1X"),
-+              MTK_FUNCTION(3, "PWM1_2X"),
-+              MTK_FUNCTION(6, "TEST_IN22"),
-+              MTK_FUNCTION(7, "TEST_OUT22")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(32, "SDA0"),
-+              "N3", "mt6397",
-+              MTK_EINT_FUNCTION(2, 8),
-+              MTK_FUNCTION(0, "GPIO32"),
-+              MTK_FUNCTION(1, "SDA0"),
-+              MTK_FUNCTION(2, "EINT8_1X"),
-+              MTK_FUNCTION(6, "TEST_IN23"),
-+              MTK_FUNCTION(7, "TEST_OUT23")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(33, "SCL1"),
-+              "T1", "mt6397",
-+              MTK_EINT_FUNCTION(2, 9),
-+              MTK_FUNCTION(0, "GPIO33"),
-+              MTK_FUNCTION(1, "SCL1"),
-+              MTK_FUNCTION(2, "EINT9_1X"),
-+              MTK_FUNCTION(3, "PWM2_2X"),
-+              MTK_FUNCTION(6, "TEST_IN24"),
-+              MTK_FUNCTION(7, "TEST_OUT24")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(34, "SDA1"),
-+              "T2", "mt6397",
-+              MTK_EINT_FUNCTION(2, 0),
-+              MTK_FUNCTION(0, "GPIO34"),
-+              MTK_FUNCTION(1, "SDA1"),
-+              MTK_FUNCTION(2, "EINT0_1X"),
-+              MTK_FUNCTION(6, "TEST_IN25"),
-+              MTK_FUNCTION(7, "TEST_OUT25")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(35, "SCL2"),
-+              "T3", "mt6397",
-+              MTK_EINT_FUNCTION(2, 1),
-+              MTK_FUNCTION(0, "GPIO35"),
-+              MTK_FUNCTION(1, "SCL2"),
-+              MTK_FUNCTION(2, "EINT1_1X"),
-+              MTK_FUNCTION(3, "PWM3_2X"),
-+              MTK_FUNCTION(6, "TEST_IN26"),
-+              MTK_FUNCTION(7, "TEST_OUT26")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(36, "SDA2"),
-+              "U2", "mt6397",
-+              MTK_EINT_FUNCTION(2, 2),
-+              MTK_FUNCTION(0, "GPIO36"),
-+              MTK_FUNCTION(1, "SDA2"),
-+              MTK_FUNCTION(2, "EINT2_1X"),
-+              MTK_FUNCTION(6, "TEST_IN27"),
-+              MTK_FUNCTION(7, "TEST_OUT27")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(37, "HDMISD"),
-+              "H6", "mt6397",
-+              MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
-+              MTK_FUNCTION(0, "GPIO37"),
-+              MTK_FUNCTION(1, "HDMISD"),
-+              MTK_FUNCTION(6, "TEST_IN28"),
-+              MTK_FUNCTION(7, "TEST_OUT28")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(38, "HDMISCK"),
-+              "H5", "mt6397",
-+              MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
-+              MTK_FUNCTION(0, "GPIO38"),
-+              MTK_FUNCTION(1, "HDMISCK"),
-+              MTK_FUNCTION(6, "TEST_IN29"),
-+              MTK_FUNCTION(7, "TEST_OUT29")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(39, "HTPLG"),
-+              "H7", "mt6397",
-+              MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
-+              MTK_FUNCTION(0, "GPIO39"),
-+              MTK_FUNCTION(1, "HTPLG"),
-+              MTK_FUNCTION(6, "TEST_IN30"),
-+              MTK_FUNCTION(7, "TEST_OUT30")
-+      ),
-+      MTK_PIN(
-+              PINCTRL_PIN(40, "CEC"),
-+              "J9", "mt6397",
-+              MTK_EINT_FUNCTION(NO_EINT_SUPPORT, NO_EINT_SUPPORT),
-+              MTK_FUNCTION(0, "GPIO40"),
-+              MTK_FUNCTION(1, "CEC"),
-+              MTK_FUNCTION(6, "TEST_IN31"),
-+              MTK_FUNCTION(7, "TEST_OUT31")
-+      ),
-+};
-+
-+#endif /* __PINCTRL_MTK_MT6397_H */