You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
152 lines
4.7 KiB
152 lines
4.7 KiB
9 years ago
|
From 2b436a351803f38d0c8ca9c26103472c8aaeb599 Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
|
||
|
Date: Thu, 19 May 2016 22:07:36 +0200
|
||
|
Subject: [PATCH] MIPS: ralink: add MT7628 EPHY LEDs pinmux support
|
||
|
MIME-Version: 1.0
|
||
|
Content-Type: text/plain; charset=UTF-8
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
|
||
|
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||
|
Cc: john@phrozen.org
|
||
|
Cc: linux-mips@linux-mips.org
|
||
|
Cc: linux-kernel@vger.kernel.org
|
||
|
Patchwork: https://patchwork.linux-mips.org/patch/13308/
|
||
|
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
||
|
---
|
||
|
arch/mips/ralink/mt7620.c | 100 ++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
1 file changed, 100 insertions(+)
|
||
|
|
||
|
--- a/arch/mips/ralink/mt7620.c
|
||
|
+++ b/arch/mips/ralink/mt7620.c
|
||
|
@@ -188,6 +188,41 @@ static struct rt2880_pmx_func gpio_grp_m
|
||
|
FUNC("gpio", 0, 11, 1),
|
||
|
};
|
||
|
|
||
|
+static struct rt2880_pmx_func p4led_kn_grp_mt7628[] = {
|
||
|
+ FUNC("jtag", 3, 30, 1),
|
||
|
+ FUNC("util", 2, 30, 1),
|
||
|
+ FUNC("gpio", 1, 30, 1),
|
||
|
+ FUNC("p4led_kn", 0, 30, 1),
|
||
|
+};
|
||
|
+
|
||
|
+static struct rt2880_pmx_func p3led_kn_grp_mt7628[] = {
|
||
|
+ FUNC("jtag", 3, 31, 1),
|
||
|
+ FUNC("util", 2, 31, 1),
|
||
|
+ FUNC("gpio", 1, 31, 1),
|
||
|
+ FUNC("p3led_kn", 0, 31, 1),
|
||
|
+};
|
||
|
+
|
||
|
+static struct rt2880_pmx_func p2led_kn_grp_mt7628[] = {
|
||
|
+ FUNC("jtag", 3, 32, 1),
|
||
|
+ FUNC("util", 2, 32, 1),
|
||
|
+ FUNC("gpio", 1, 32, 1),
|
||
|
+ FUNC("p2led_kn", 0, 32, 1),
|
||
|
+};
|
||
|
+
|
||
|
+static struct rt2880_pmx_func p1led_kn_grp_mt7628[] = {
|
||
|
+ FUNC("jtag", 3, 33, 1),
|
||
|
+ FUNC("util", 2, 33, 1),
|
||
|
+ FUNC("gpio", 1, 33, 1),
|
||
|
+ FUNC("p1led_kn", 0, 33, 1),
|
||
|
+};
|
||
|
+
|
||
|
+static struct rt2880_pmx_func p0led_kn_grp_mt7628[] = {
|
||
|
+ FUNC("jtag", 3, 34, 1),
|
||
|
+ FUNC("rsvd", 2, 34, 1),
|
||
|
+ FUNC("gpio", 1, 34, 1),
|
||
|
+ FUNC("p0led_kn", 0, 34, 1),
|
||
|
+};
|
||
|
+
|
||
|
static struct rt2880_pmx_func wled_kn_grp_mt7628[] = {
|
||
|
FUNC("rsvd", 3, 35, 1),
|
||
|
FUNC("rsvd", 2, 35, 1),
|
||
|
@@ -195,6 +230,41 @@ static struct rt2880_pmx_func wled_kn_gr
|
||
|
FUNC("wled_kn", 0, 35, 1),
|
||
|
};
|
||
|
|
||
|
+static struct rt2880_pmx_func p4led_an_grp_mt7628[] = {
|
||
|
+ FUNC("jtag", 3, 39, 1),
|
||
|
+ FUNC("util", 2, 39, 1),
|
||
|
+ FUNC("gpio", 1, 39, 1),
|
||
|
+ FUNC("p4led_an", 0, 39, 1),
|
||
|
+};
|
||
|
+
|
||
|
+static struct rt2880_pmx_func p3led_an_grp_mt7628[] = {
|
||
|
+ FUNC("jtag", 3, 40, 1),
|
||
|
+ FUNC("util", 2, 40, 1),
|
||
|
+ FUNC("gpio", 1, 40, 1),
|
||
|
+ FUNC("p3led_an", 0, 40, 1),
|
||
|
+};
|
||
|
+
|
||
|
+static struct rt2880_pmx_func p2led_an_grp_mt7628[] = {
|
||
|
+ FUNC("jtag", 3, 41, 1),
|
||
|
+ FUNC("util", 2, 41, 1),
|
||
|
+ FUNC("gpio", 1, 41, 1),
|
||
|
+ FUNC("p2led_an", 0, 41, 1),
|
||
|
+};
|
||
|
+
|
||
|
+static struct rt2880_pmx_func p1led_an_grp_mt7628[] = {
|
||
|
+ FUNC("jtag", 3, 42, 1),
|
||
|
+ FUNC("util", 2, 42, 1),
|
||
|
+ FUNC("gpio", 1, 42, 1),
|
||
|
+ FUNC("p1led_an", 0, 42, 1),
|
||
|
+};
|
||
|
+
|
||
|
+static struct rt2880_pmx_func p0led_an_grp_mt7628[] = {
|
||
|
+ FUNC("jtag", 3, 43, 1),
|
||
|
+ FUNC("rsvd", 2, 43, 1),
|
||
|
+ FUNC("gpio", 1, 43, 1),
|
||
|
+ FUNC("p0led_an", 0, 43, 1),
|
||
|
+};
|
||
|
+
|
||
|
static struct rt2880_pmx_func wled_an_grp_mt7628[] = {
|
||
|
FUNC("rsvd", 3, 44, 1),
|
||
|
FUNC("rsvd", 2, 44, 1),
|
||
|
@@ -204,7 +274,17 @@ static struct rt2880_pmx_func wled_an_gr
|
||
|
|
||
|
#define MT7628_GPIO_MODE_MASK 0x3
|
||
|
|
||
|
+#define MT7628_GPIO_MODE_P4LED_KN 58
|
||
|
+#define MT7628_GPIO_MODE_P3LED_KN 56
|
||
|
+#define MT7628_GPIO_MODE_P2LED_KN 54
|
||
|
+#define MT7628_GPIO_MODE_P1LED_KN 52
|
||
|
+#define MT7628_GPIO_MODE_P0LED_KN 50
|
||
|
#define MT7628_GPIO_MODE_WLED_KN 48
|
||
|
+#define MT7628_GPIO_MODE_P4LED_AN 42
|
||
|
+#define MT7628_GPIO_MODE_P3LED_AN 40
|
||
|
+#define MT7628_GPIO_MODE_P2LED_AN 38
|
||
|
+#define MT7628_GPIO_MODE_P1LED_AN 36
|
||
|
+#define MT7628_GPIO_MODE_P0LED_AN 34
|
||
|
#define MT7628_GPIO_MODE_WLED_AN 32
|
||
|
#define MT7628_GPIO_MODE_PWM1 30
|
||
|
#define MT7628_GPIO_MODE_PWM0 28
|
||
|
@@ -251,8 +331,28 @@ static struct rt2880_pmx_group mt7628an_
|
||
|
1, MT7628_GPIO_MODE_GPIO),
|
||
|
GRP_G("wled_an", wled_an_grp_mt7628, MT7628_GPIO_MODE_MASK,
|
||
|
1, MT7628_GPIO_MODE_WLED_AN),
|
||
|
+ GRP_G("p0led_an", p0led_an_grp_mt7628, MT7628_GPIO_MODE_MASK,
|
||
|
+ 1, MT7628_GPIO_MODE_P0LED_AN),
|
||
|
+ GRP_G("p1led_an", p1led_an_grp_mt7628, MT7628_GPIO_MODE_MASK,
|
||
|
+ 1, MT7628_GPIO_MODE_P1LED_AN),
|
||
|
+ GRP_G("p2led_an", p2led_an_grp_mt7628, MT7628_GPIO_MODE_MASK,
|
||
|
+ 1, MT7628_GPIO_MODE_P2LED_AN),
|
||
|
+ GRP_G("p3led_an", p3led_an_grp_mt7628, MT7628_GPIO_MODE_MASK,
|
||
|
+ 1, MT7628_GPIO_MODE_P3LED_AN),
|
||
|
+ GRP_G("p4led_an", p4led_an_grp_mt7628, MT7628_GPIO_MODE_MASK,
|
||
|
+ 1, MT7628_GPIO_MODE_P4LED_AN),
|
||
|
GRP_G("wled_kn", wled_kn_grp_mt7628, MT7628_GPIO_MODE_MASK,
|
||
|
1, MT7628_GPIO_MODE_WLED_KN),
|
||
|
+ GRP_G("p0led_kn", p0led_kn_grp_mt7628, MT7628_GPIO_MODE_MASK,
|
||
|
+ 1, MT7628_GPIO_MODE_P0LED_KN),
|
||
|
+ GRP_G("p1led_kn", p1led_kn_grp_mt7628, MT7628_GPIO_MODE_MASK,
|
||
|
+ 1, MT7628_GPIO_MODE_P1LED_KN),
|
||
|
+ GRP_G("p2led_kn", p2led_kn_grp_mt7628, MT7628_GPIO_MODE_MASK,
|
||
|
+ 1, MT7628_GPIO_MODE_P2LED_KN),
|
||
|
+ GRP_G("p3led_kn", p3led_kn_grp_mt7628, MT7628_GPIO_MODE_MASK,
|
||
|
+ 1, MT7628_GPIO_MODE_P3LED_KN),
|
||
|
+ GRP_G("p4led_kn", p4led_kn_grp_mt7628, MT7628_GPIO_MODE_MASK,
|
||
|
+ 1, MT7628_GPIO_MODE_P4LED_KN),
|
||
|
{ 0 }
|
||
|
};
|
||
|
|