Re: [PATCH v2 07/11] pinctrl: mediatek: add pinctrl/GPIO/EINT driver for mt8127

2015-05-19 Thread Linus Walleij
On Tue, May 19, 2015 at 8:11 AM, Hongzhou Yang
 wrote:

> From: Yingjoe Chen 
>
> MT8127 pinctrl/eint are similar to mt8135 and mt8173, add
> support for mt8127 using mediatek common pinctrl driver.
>
> Signed-off-by: Yingjoe Chen 
> Signed-off-by: Hongzhou Yang 

Applied this version instead.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH v2 07/11] pinctrl: mediatek: add pinctrl/GPIO/EINT driver for mt8127

2015-05-19 Thread Hongzhou Yang
From: Yingjoe Chen 

MT8127 pinctrl/eint are similar to mt8135 and mt8173, add
support for mt8127 using mediatek common pinctrl driver.

Signed-off-by: Yingjoe Chen 
Signed-off-by: Hongzhou Yang 
---
 drivers/pinctrl/mediatek/Kconfig  |6 +
 drivers/pinctrl/mediatek/Makefile |1 +
 drivers/pinctrl/mediatek/pinctrl-mt8127.c |  359 +++
 drivers/pinctrl/mediatek/pinctrl-mtk-mt8127.h | 1318 +
 4 files changed, 1684 insertions(+)
 create mode 100644 drivers/pinctrl/mediatek/pinctrl-mt8127.c
 create mode 100644 drivers/pinctrl/mediatek/pinctrl-mtk-mt8127.h

diff --git a/drivers/pinctrl/mediatek/Kconfig b/drivers/pinctrl/mediatek/Kconfig
index ddae479..0bc84fb 100644
--- a/drivers/pinctrl/mediatek/Kconfig
+++ b/drivers/pinctrl/mediatek/Kconfig
@@ -15,6 +15,12 @@ config PINCTRL_MT8135
default MACH_MT8135
select PINCTRL_MTK_COMMON
 
+config PINCTRL_MT8127
+   bool "Mediatek MT8127 pin control" if COMPILE_TEST && !MACH_MT8127
+   depends on OF
+   default MACH_MT8127
+   select PINCTRL_MTK_COMMON
+
 # For ARMv8 SoCs
 config PINCTRL_MT8173
bool "Mediatek MT8173 pin control"
diff --git a/drivers/pinctrl/mediatek/Makefile 
b/drivers/pinctrl/mediatek/Makefile
index ad0180c..eb923d6 100644
--- a/drivers/pinctrl/mediatek/Makefile
+++ b/drivers/pinctrl/mediatek/Makefile
@@ -3,5 +3,6 @@ obj-$(CONFIG_PINCTRL_MTK_COMMON)+= pinctrl-mtk-common.o
 
 # SoC Drivers
 obj-$(CONFIG_PINCTRL_MT8135)   += pinctrl-mt8135.o
+obj-$(CONFIG_PINCTRL_MT8127)   += pinctrl-mt8127.o
 obj-$(CONFIG_PINCTRL_MT8173)   += pinctrl-mt8173.o
 obj-$(CONFIG_PINCTRL_MT6397)   += pinctrl-mt6397.o
diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8127.c 
b/drivers/pinctrl/mediatek/pinctrl-mt8127.c
new file mode 100644
index 000..6a26cfa
--- /dev/null
+++ b/drivers/pinctrl/mediatek/pinctrl-mt8127.c
@@ -0,0 +1,359 @@
+/*
+ * Copyright (c) 2015 MediaTek Inc.
+ * Author: Hongzhou.Yang 
+ * Yingjoe Chen 
+ *
+ * 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 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include "pinctrl-mtk-common.h"
+#include "pinctrl-mtk-mt8127.h"
+
+static const struct mtk_drv_group_desc mt8127_drv_grp[] =  {
+   /* 0E4E8SR 4/8/12/16 */
+   MTK_DRV_GRP(4, 16, 1, 2, 4),
+   /* 0E2E4SR  2/4/6/8 */
+   MTK_DRV_GRP(2, 8, 1, 2, 2),
+   /* E8E4E2  2/4/6/8/10/12/14/16 */
+   MTK_DRV_GRP(2, 16, 0, 2, 2)
+};
+
+static const struct mtk_pin_drv_grp mt8127_pin_drv[] = {
+   MTK_PIN_DRV_GRP(0,   0xb00,  0, 1),
+   MTK_PIN_DRV_GRP(1,   0xb00,  0, 1),
+   MTK_PIN_DRV_GRP(2,   0xb00,  0, 1),
+   MTK_PIN_DRV_GRP(3,   0xb00,  0, 1),
+   MTK_PIN_DRV_GRP(4,   0xb00,  0, 1),
+   MTK_PIN_DRV_GRP(5,   0xb00,  0, 1),
+   MTK_PIN_DRV_GRP(6,   0xb00,  0, 1),
+   MTK_PIN_DRV_GRP(7,   0xb00, 12, 1),
+   MTK_PIN_DRV_GRP(8,   0xb00, 12, 1),
+   MTK_PIN_DRV_GRP(9,   0xb00, 12, 1),
+   MTK_PIN_DRV_GRP(10,  0xb00,  8, 1),
+   MTK_PIN_DRV_GRP(11,  0xb00,  8, 1),
+   MTK_PIN_DRV_GRP(12,  0xb00,  8, 1),
+   MTK_PIN_DRV_GRP(13,  0xb00,  8, 1),
+   MTK_PIN_DRV_GRP(14,  0xb10,  4, 0),
+   MTK_PIN_DRV_GRP(15,  0xb10,  4, 0),
+   MTK_PIN_DRV_GRP(16,  0xb10,  4, 0),
+   MTK_PIN_DRV_GRP(17,  0xb10,  4, 0),
+   MTK_PIN_DRV_GRP(18,  0xb10,  8, 0),
+   MTK_PIN_DRV_GRP(19,  0xb10,  8, 0),
+   MTK_PIN_DRV_GRP(20,  0xb10,  8, 0),
+   MTK_PIN_DRV_GRP(21,  0xb10,  8, 0),
+   MTK_PIN_DRV_GRP(22,  0xb20,  0, 0),
+   MTK_PIN_DRV_GRP(23,  0xb20,  0, 0),
+   MTK_PIN_DRV_GRP(24,  0xb20,  0, 0),
+   MTK_PIN_DRV_GRP(25,  0xb20,  0, 0),
+   MTK_PIN_DRV_GRP(26,  0xb20,  0, 0),
+   MTK_PIN_DRV_GRP(27,  0xb20,  4, 0),
+   MTK_PIN_DRV_GRP(28,  0xb20,  4, 0),
+   MTK_PIN_DRV_GRP(29,  0xb20,  4, 0),
+   MTK_PIN_DRV_GRP(30,  0xb20,  4, 0),
+   MTK_PIN_DRV_GRP(31,  0xb20,  4, 0),
+   MTK_PIN_DRV_GRP(32,  0xb20,  4, 0),
+   MTK_PIN_DRV_GRP(33,  0xb30,  4, 1),
+   MTK_PIN_DRV_GRP(34,  0xb30,  8, 1),
+   MTK_PIN_DRV_GRP(35,  0xb30,  8, 1),
+   MTK_PIN_DRV_GRP(36,  0xb30,  8, 1),
+   MTK_PIN_DRV_GRP(37,  0xb30,  8, 1),
+   MTK_PIN_DRV_GRP(38,  0xb30,  8, 1),
+   MTK_PIN_DRV_GRP(39,  0xb30, 12, 1),
+   MTK_PIN_DRV_GRP(40,  0xb30, 12, 1),
+   MTK_PIN_DRV_GRP(41,  0xb30, 12, 1),
+   MTK_PIN_DRV_GRP(42,  0xb30, 12, 1),
+   MTK_PIN_DRV_GRP(43,  0xb40, 12, 0),
+   MTK_PIN_DRV_GRP(44,  0xb40, 12, 0),
+   MTK_PIN_DRV_GRP(45,  0xb40, 12, 0),
+ 

[PATCH v2 07/11] pinctrl: mediatek: add pinctrl/GPIO/EINT driver for mt8127

2015-05-19 Thread Hongzhou Yang
From: Yingjoe Chen yingjoe.c...@mediatek.com

MT8127 pinctrl/eint are similar to mt8135 and mt8173, add
support for mt8127 using mediatek common pinctrl driver.

Signed-off-by: Yingjoe Chen yingjoe.c...@mediatek.com
Signed-off-by: Hongzhou Yang hongzhou.y...@mediatek.com
---
 drivers/pinctrl/mediatek/Kconfig  |6 +
 drivers/pinctrl/mediatek/Makefile |1 +
 drivers/pinctrl/mediatek/pinctrl-mt8127.c |  359 +++
 drivers/pinctrl/mediatek/pinctrl-mtk-mt8127.h | 1318 +
 4 files changed, 1684 insertions(+)
 create mode 100644 drivers/pinctrl/mediatek/pinctrl-mt8127.c
 create mode 100644 drivers/pinctrl/mediatek/pinctrl-mtk-mt8127.h

diff --git a/drivers/pinctrl/mediatek/Kconfig b/drivers/pinctrl/mediatek/Kconfig
index ddae479..0bc84fb 100644
--- a/drivers/pinctrl/mediatek/Kconfig
+++ b/drivers/pinctrl/mediatek/Kconfig
@@ -15,6 +15,12 @@ config PINCTRL_MT8135
default MACH_MT8135
select PINCTRL_MTK_COMMON
 
+config PINCTRL_MT8127
+   bool Mediatek MT8127 pin control if COMPILE_TEST  !MACH_MT8127
+   depends on OF
+   default MACH_MT8127
+   select PINCTRL_MTK_COMMON
+
 # For ARMv8 SoCs
 config PINCTRL_MT8173
bool Mediatek MT8173 pin control
diff --git a/drivers/pinctrl/mediatek/Makefile 
b/drivers/pinctrl/mediatek/Makefile
index ad0180c..eb923d6 100644
--- a/drivers/pinctrl/mediatek/Makefile
+++ b/drivers/pinctrl/mediatek/Makefile
@@ -3,5 +3,6 @@ obj-$(CONFIG_PINCTRL_MTK_COMMON)+= pinctrl-mtk-common.o
 
 # SoC Drivers
 obj-$(CONFIG_PINCTRL_MT8135)   += pinctrl-mt8135.o
+obj-$(CONFIG_PINCTRL_MT8127)   += pinctrl-mt8127.o
 obj-$(CONFIG_PINCTRL_MT8173)   += pinctrl-mt8173.o
 obj-$(CONFIG_PINCTRL_MT6397)   += pinctrl-mt6397.o
diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8127.c 
b/drivers/pinctrl/mediatek/pinctrl-mt8127.c
new file mode 100644
index 000..6a26cfa
--- /dev/null
+++ b/drivers/pinctrl/mediatek/pinctrl-mt8127.c
@@ -0,0 +1,359 @@
+/*
+ * Copyright (c) 2015 MediaTek Inc.
+ * Author: Hongzhou.Yang hongzhou.y...@mediatek.com
+ * Yingjoe Chen yingjoe.c...@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/regmap.h
+#include dt-bindings/pinctrl/mt65xx.h
+
+#include pinctrl-mtk-common.h
+#include pinctrl-mtk-mt8127.h
+
+static const struct mtk_drv_group_desc mt8127_drv_grp[] =  {
+   /* 0E4E8SR 4/8/12/16 */
+   MTK_DRV_GRP(4, 16, 1, 2, 4),
+   /* 0E2E4SR  2/4/6/8 */
+   MTK_DRV_GRP(2, 8, 1, 2, 2),
+   /* E8E4E2  2/4/6/8/10/12/14/16 */
+   MTK_DRV_GRP(2, 16, 0, 2, 2)
+};
+
+static const struct mtk_pin_drv_grp mt8127_pin_drv[] = {
+   MTK_PIN_DRV_GRP(0,   0xb00,  0, 1),
+   MTK_PIN_DRV_GRP(1,   0xb00,  0, 1),
+   MTK_PIN_DRV_GRP(2,   0xb00,  0, 1),
+   MTK_PIN_DRV_GRP(3,   0xb00,  0, 1),
+   MTK_PIN_DRV_GRP(4,   0xb00,  0, 1),
+   MTK_PIN_DRV_GRP(5,   0xb00,  0, 1),
+   MTK_PIN_DRV_GRP(6,   0xb00,  0, 1),
+   MTK_PIN_DRV_GRP(7,   0xb00, 12, 1),
+   MTK_PIN_DRV_GRP(8,   0xb00, 12, 1),
+   MTK_PIN_DRV_GRP(9,   0xb00, 12, 1),
+   MTK_PIN_DRV_GRP(10,  0xb00,  8, 1),
+   MTK_PIN_DRV_GRP(11,  0xb00,  8, 1),
+   MTK_PIN_DRV_GRP(12,  0xb00,  8, 1),
+   MTK_PIN_DRV_GRP(13,  0xb00,  8, 1),
+   MTK_PIN_DRV_GRP(14,  0xb10,  4, 0),
+   MTK_PIN_DRV_GRP(15,  0xb10,  4, 0),
+   MTK_PIN_DRV_GRP(16,  0xb10,  4, 0),
+   MTK_PIN_DRV_GRP(17,  0xb10,  4, 0),
+   MTK_PIN_DRV_GRP(18,  0xb10,  8, 0),
+   MTK_PIN_DRV_GRP(19,  0xb10,  8, 0),
+   MTK_PIN_DRV_GRP(20,  0xb10,  8, 0),
+   MTK_PIN_DRV_GRP(21,  0xb10,  8, 0),
+   MTK_PIN_DRV_GRP(22,  0xb20,  0, 0),
+   MTK_PIN_DRV_GRP(23,  0xb20,  0, 0),
+   MTK_PIN_DRV_GRP(24,  0xb20,  0, 0),
+   MTK_PIN_DRV_GRP(25,  0xb20,  0, 0),
+   MTK_PIN_DRV_GRP(26,  0xb20,  0, 0),
+   MTK_PIN_DRV_GRP(27,  0xb20,  4, 0),
+   MTK_PIN_DRV_GRP(28,  0xb20,  4, 0),
+   MTK_PIN_DRV_GRP(29,  0xb20,  4, 0),
+   MTK_PIN_DRV_GRP(30,  0xb20,  4, 0),
+   MTK_PIN_DRV_GRP(31,  0xb20,  4, 0),
+   MTK_PIN_DRV_GRP(32,  0xb20,  4, 0),
+   MTK_PIN_DRV_GRP(33,  0xb30,  4, 1),
+   MTK_PIN_DRV_GRP(34,  0xb30,  8, 1),
+   MTK_PIN_DRV_GRP(35,  0xb30,  8, 1),
+   MTK_PIN_DRV_GRP(36,  0xb30,  8, 1),
+   MTK_PIN_DRV_GRP(37,  0xb30,  8, 1),
+   MTK_PIN_DRV_GRP(38,  0xb30,  8, 1),
+   MTK_PIN_DRV_GRP(39,  0xb30, 12, 1),
+   

Re: [PATCH v2 07/11] pinctrl: mediatek: add pinctrl/GPIO/EINT driver for mt8127

2015-05-19 Thread Linus Walleij
On Tue, May 19, 2015 at 8:11 AM, Hongzhou Yang
hongzhou.y...@mediatek.com wrote:

 From: Yingjoe Chen yingjoe.c...@mediatek.com

 MT8127 pinctrl/eint are similar to mt8135 and mt8173, add
 support for mt8127 using mediatek common pinctrl driver.

 Signed-off-by: Yingjoe Chen yingjoe.c...@mediatek.com
 Signed-off-by: Hongzhou Yang hongzhou.y...@mediatek.com

Applied this version instead.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/