Fresh pull from upstream
[librecmc/librecmc.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