18571e6928d3d9e26f7117037ba03fff69fdef16
[openwrt/openwrt.git] / target / linux / ramips / patches-4.4 / 0065-MIPS-ralink-MT7688-pinmux-fixes.patch
1 From e906a5f67e5a3337d696ec848e9c28fc68b39aa3 Mon Sep 17 00:00:00 2001
2 From: John Crispin <blogic@openwrt.org>
3 Date: Mon, 4 Jan 2016 20:23:56 +0100
4 Subject: [PATCH] MIPS: ralink: MT7688 pinmux fixes
5
6 A few fixes to the pinmux data, 2 new muxes and a minor whitespace
7 cleanup.
8
9 Signed-off-by: John Crispin <blogic@openwrt.org>
10 Cc: linux-mips@linux-mips.org
11 Patchwork: https://patchwork.linux-mips.org/patch/11991/
12 Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
13 ---
14 arch/mips/ralink/mt7620.c | 80 +++++++++++++++++++++++++++++------------------
15 1 file changed, 50 insertions(+), 30 deletions(-)
16
17 --- a/arch/mips/ralink/mt7620.c
18 +++ b/arch/mips/ralink/mt7620.c
19 @@ -107,31 +107,31 @@ static struct rt2880_pmx_group mt7620a_p
20 };
21
22 static struct rt2880_pmx_func pwm1_grp_mt7628[] = {
23 - FUNC("sdcx", 3, 19, 1),
24 + FUNC("sdxc d6", 3, 19, 1),
25 FUNC("utif", 2, 19, 1),
26 FUNC("gpio", 1, 19, 1),
27 - FUNC("pwm", 0, 19, 1),
28 + FUNC("pwm1", 0, 19, 1),
29 };
30
31 static struct rt2880_pmx_func pwm0_grp_mt7628[] = {
32 - FUNC("sdcx", 3, 18, 1),
33 + FUNC("sdxc d7", 3, 18, 1),
34 FUNC("utif", 2, 18, 1),
35 FUNC("gpio", 1, 18, 1),
36 - FUNC("pwm", 0, 18, 1),
37 + FUNC("pwm0", 0, 18, 1),
38 };
39
40 static struct rt2880_pmx_func uart2_grp_mt7628[] = {
41 - FUNC("sdcx", 3, 20, 2),
42 + FUNC("sdxc d5 d4", 3, 20, 2),
43 FUNC("pwm", 2, 20, 2),
44 FUNC("gpio", 1, 20, 2),
45 - FUNC("uart", 0, 20, 2),
46 + FUNC("uart2", 0, 20, 2),
47 };
48
49 static struct rt2880_pmx_func uart1_grp_mt7628[] = {
50 - FUNC("sdcx", 3, 45, 2),
51 + FUNC("sw_r", 3, 45, 2),
52 FUNC("pwm", 2, 45, 2),
53 FUNC("gpio", 1, 45, 2),
54 - FUNC("uart", 0, 45, 2),
55 + FUNC("uart1", 0, 45, 2),
56 };
57
58 static struct rt2880_pmx_func i2c_grp_mt7628[] = {
59 @@ -143,21 +143,21 @@ static struct rt2880_pmx_func i2c_grp_mt
60
61 static struct rt2880_pmx_func refclk_grp_mt7628[] = { FUNC("reclk", 0, 36, 1) };
62 static struct rt2880_pmx_func perst_grp_mt7628[] = { FUNC("perst", 0, 37, 1) };
63 -static struct rt2880_pmx_func wdt_grp_mt7628[] = { FUNC("wdt", 0, 15, 38) };
64 +static struct rt2880_pmx_func wdt_grp_mt7628[] = { FUNC("wdt", 0, 38, 1) };
65 static struct rt2880_pmx_func spi_grp_mt7628[] = { FUNC("spi", 0, 7, 4) };
66
67 static struct rt2880_pmx_func sd_mode_grp_mt7628[] = {
68 FUNC("jtag", 3, 22, 8),
69 FUNC("utif", 2, 22, 8),
70 FUNC("gpio", 1, 22, 8),
71 - FUNC("sdcx", 0, 22, 8),
72 + FUNC("sdxc", 0, 22, 8),
73 };
74
75 static struct rt2880_pmx_func uart0_grp_mt7628[] = {
76 FUNC("-", 3, 12, 2),
77 FUNC("-", 2, 12, 2),
78 FUNC("gpio", 1, 12, 2),
79 - FUNC("uart", 0, 12, 2),
80 + FUNC("uart0", 0, 12, 2),
81 };
82
83 static struct rt2880_pmx_func i2s_grp_mt7628[] = {
84 @@ -171,7 +171,7 @@ static struct rt2880_pmx_func spi_cs1_gr
85 FUNC("-", 3, 6, 1),
86 FUNC("refclk", 2, 6, 1),
87 FUNC("gpio", 1, 6, 1),
88 - FUNC("spi", 0, 6, 1),
89 + FUNC("spi cs1", 0, 6, 1),
90 };
91
92 static struct rt2880_pmx_func spis_grp_mt7628[] = {
93 @@ -188,28 +188,44 @@ static struct rt2880_pmx_func gpio_grp_m
94 FUNC("gpio", 0, 11, 1),
95 };
96
97 -#define MT7628_GPIO_MODE_MASK 0x3
98 -
99 -#define MT7628_GPIO_MODE_PWM1 30
100 -#define MT7628_GPIO_MODE_PWM0 28
101 -#define MT7628_GPIO_MODE_UART2 26
102 -#define MT7628_GPIO_MODE_UART1 24
103 -#define MT7628_GPIO_MODE_I2C 20
104 -#define MT7628_GPIO_MODE_REFCLK 18
105 -#define MT7628_GPIO_MODE_PERST 16
106 -#define MT7628_GPIO_MODE_WDT 14
107 -#define MT7628_GPIO_MODE_SPI 12
108 -#define MT7628_GPIO_MODE_SDMODE 10
109 -#define MT7628_GPIO_MODE_UART0 8
110 -#define MT7628_GPIO_MODE_I2S 6
111 -#define MT7628_GPIO_MODE_CS1 4
112 -#define MT7628_GPIO_MODE_SPIS 2
113 -#define MT7628_GPIO_MODE_GPIO 0
114 +static struct rt2880_pmx_func wled_kn_grp_mt7628[] = {
115 + FUNC("rsvd", 3, 35, 1),
116 + FUNC("rsvd", 2, 35, 1),
117 + FUNC("gpio", 1, 35, 1),
118 + FUNC("wled_kn", 0, 35, 1),
119 +};
120 +
121 +static struct rt2880_pmx_func wled_an_grp_mt7628[] = {
122 + FUNC("rsvd", 3, 35, 1),
123 + FUNC("rsvd", 2, 35, 1),
124 + FUNC("gpio", 1, 35, 1),
125 + FUNC("wled_an", 0, 35, 1),
126 +};
127 +
128 +#define MT7628_GPIO_MODE_MASK 0x3
129 +
130 +#define MT7628_GPIO_MODE_WLED_KN 48
131 +#define MT7628_GPIO_MODE_WLED_AN 32
132 +#define MT7628_GPIO_MODE_PWM1 30
133 +#define MT7628_GPIO_MODE_PWM0 28
134 +#define MT7628_GPIO_MODE_UART2 26
135 +#define MT7628_GPIO_MODE_UART1 24
136 +#define MT7628_GPIO_MODE_I2C 20
137 +#define MT7628_GPIO_MODE_REFCLK 18
138 +#define MT7628_GPIO_MODE_PERST 16
139 +#define MT7628_GPIO_MODE_WDT 14
140 +#define MT7628_GPIO_MODE_SPI 12
141 +#define MT7628_GPIO_MODE_SDMODE 10
142 +#define MT7628_GPIO_MODE_UART0 8
143 +#define MT7628_GPIO_MODE_I2S 6
144 +#define MT7628_GPIO_MODE_CS1 4
145 +#define MT7628_GPIO_MODE_SPIS 2
146 +#define MT7628_GPIO_MODE_GPIO 0
147
148 static struct rt2880_pmx_group mt7628an_pinmux_data[] = {
149 GRP_G("pmw1", pwm1_grp_mt7628, MT7628_GPIO_MODE_MASK,
150 1, MT7628_GPIO_MODE_PWM1),
151 - GRP_G("pmw1", pwm0_grp_mt7628, MT7628_GPIO_MODE_MASK,
152 + GRP_G("pmw0", pwm0_grp_mt7628, MT7628_GPIO_MODE_MASK,
153 1, MT7628_GPIO_MODE_PWM0),
154 GRP_G("uart2", uart2_grp_mt7628, MT7628_GPIO_MODE_MASK,
155 1, MT7628_GPIO_MODE_UART2),
156 @@ -233,6 +249,10 @@ static struct rt2880_pmx_group mt7628an_
157 1, MT7628_GPIO_MODE_SPIS),
158 GRP_G("gpio", gpio_grp_mt7628, MT7628_GPIO_MODE_MASK,
159 1, MT7628_GPIO_MODE_GPIO),
160 + GRP_G("wled_an", wled_an_grp_mt7628, MT7628_GPIO_MODE_MASK,
161 + 1, MT7628_GPIO_MODE_WLED_AN),
162 + GRP_G("wled_kn", wled_kn_grp_mt7628, MT7628_GPIO_MODE_MASK,
163 + 1, MT7628_GPIO_MODE_WLED_KN),
164 { 0 }
165 };
166