bcm53xx: backport BCM5301X/BCM53573 dts commits from 4.19+
[openwrt/staging/chunkeey.git] / target / linux / bcm53xx / patches-4.14 / 038-v4.19-0003-ARM-dts-BCM5301X-Add-support-for-Linksys-EA9500.patch
1 From 2bebdfcdcd0feb58d5df419532a2cedc78a336d7 Mon Sep 17 00:00:00 2001
2 From: Vivek Unune <npcomplete13@gmail.com>
3 Date: Mon, 18 Jun 2018 13:41:59 -0400
4 Subject: [PATCH] ARM: dts: BCM5301X: Add support for Linksys EA9500
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8
9 Hardware Info
10 -------------
11
12 Processor - Broadcom BCM4709C0KFEBG dual-core @ 1.4 GHz
13 Switch - BCM53012 in BCM4709C0KFEBG & external BCM53125
14 DDR3 RAM - 256 MB
15 Flash - 128 MB (Toshiba TC58BVG0S3HTA00)
16 2.4GHz - BCM4366 4×4 2.4/5G single chip 802.11ac SoC
17 Power Amp - Skyworks SE2623L 2.4 GHz power amp (x4)
18 5GHz x 2 - BCM4366 4×4 2.4/5G single chip 802.11ac SoC
19 Power Amp - PLX Technology PEX8603 3-lane, 3-port PCIe switch
20 Ports - 8 Ports, 1 WAN Ports
21 Antennas - 8 Antennas
22 Serial Port - @J6 [GND,TX,RX] (VCC NC) 115200 8n1
23
24 Tested with OpenWrt built with DSA driver and Kernel v4.14
25
26 Signed-off-by: Vivek Unune <npcomplete13@gmail.com>
27 Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
28 ---
29 arch/arm/boot/dts/bcm47094-linksys-panamera.dts | 229 ++++++++++++++++++++++++
30 1 file changed, 229 insertions(+)
31
32 --- a/arch/arm/boot/dts/bcm47094-linksys-panamera.dts
33 +++ b/arch/arm/boot/dts/bcm47094-linksys-panamera.dts
34 @@ -31,6 +31,235 @@
35 linux,code = <KEY_WPS_BUTTON>;
36 gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
37 };
38 +
39 + rfkill {
40 + label = "WiFi";
41 + linux,code = <KEY_RFKILL>;
42 + gpios = <&chipcommon 16 GPIO_ACTIVE_LOW>;
43 + };
44 +
45 + reset {
46 + label = "Reset";
47 + linux,code = <KEY_RESTART>;
48 + gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
49 + };
50 + };
51 +
52 + leds {
53 + compatible = "gpio-leds";
54 +
55 + wps {
56 + label = "bcm53xx:white:wps";
57 + gpios = <&chipcommon 22 GPIO_ACTIVE_LOW>;
58 + };
59 +
60 + usb2 {
61 + label = "bcm53xx:green:usb2";
62 + gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
63 + trigger-sources = <&ohci_port2>, <&ehci_port2>;
64 + linux,default-trigger = "usbport";
65 + };
66 +
67 + usb3 {
68 + label = "bcm53xx:green:usb3";
69 + gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
70 + trigger-sources = <&ohci_port1>, <&ehci_port1>,
71 + <&xhci_port1>;
72 + linux,default-trigger = "usbport";
73 + };
74 +
75 + power {
76 + label = "bcm53xx:white:power";
77 + gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
78 + };
79 +
80 + wifi-disabled {
81 + label = "bcm53xx:amber:wifi-disabled";
82 + gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
83 + };
84 +
85 + wifi-enabled {
86 + label = "bcm53xx:white:wifi-enabled";
87 + gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
88 + };
89 +
90 + bluebar1 {
91 + label = "bcm53xx:white:bluebar1";
92 + gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>;
93 + };
94 +
95 + bluebar2 {
96 + label = "bcm53xx:white:bluebar2";
97 + gpios = <&chipcommon 12 GPIO_ACTIVE_HIGH>;
98 + };
99 +
100 + bluebar3 {
101 + label = "bcm53xx:white:bluebar3";
102 + gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>;
103 + };
104 +
105 + bluebar4 {
106 + label = "bcm53xx:white:bluebar4";
107 + gpios = <&chipcommon 18 GPIO_ACTIVE_HIGH>;
108 + };
109 +
110 + bluebar5 {
111 + label = "bcm53xx:white:bluebar5";
112 + gpios = <&chipcommon 19 GPIO_ACTIVE_HIGH>;
113 + };
114 +
115 + bluebar6 {
116 + label = "bcm53xx:white:bluebar6";
117 + gpios = <&chipcommon 20 GPIO_ACTIVE_HIGH>;
118 + };
119 +
120 + bluebar7 {
121 + label = "bcm53xx:white:bluebar7";
122 + gpios = <&chipcommon 21 GPIO_ACTIVE_HIGH>;
123 + };
124 +
125 + bluebar8 {
126 + label = "bcm53xx:white:bluebar8";
127 + gpios = <&chipcommon 8 GPIO_ACTIVE_HIGH>;
128 + };
129 + };
130 +
131 + mdio-bus-mux {
132 + /* BIT(9) = 1 => external mdio */
133 + mdio_ext: mdio@200 {
134 + reg = <0x200>;
135 + #address-cells = <1>;
136 + #size-cells = <0>;
137 + };
138 + };
139 +
140 + mdio-mii-mux {
141 + compatible = "mdio-mux-mmioreg";
142 + mdio-parent-bus = <&mdio_ext>;
143 + #address-cells = <1>;
144 + #size-cells = <0>;
145 + reg = <0x1800c1c0 0x4>;
146 +
147 + /* BIT(6) = mdc, BIT(7) = mdio */
148 + mux-mask = <0xc0>;
149 +
150 + mdio-mii@0 {
151 + /* Enable MII function */
152 + reg = <0x0>;
153 + #address-cells = <1>;
154 + #size-cells = <0>;
155 +
156 + switch@0 {
157 + compatible = "brcm,bcm53125";
158 + #address-cells = <1>;
159 + #size-cells = <0>;
160 + reset-gpios = <&chipcommon 10 GPIO_ACTIVE_LOW>;
161 + reset-names = "robo_reset";
162 + reg = <0>;
163 + dsa,member = <1 0>;
164 +
165 + ports {
166 + #address-cells = <1>;
167 + #size-cells = <0>;
168 +
169 + port@0 {
170 + reg = <0>;
171 + label = "lan1";
172 + };
173 +
174 + port@1 {
175 + reg = <1>;
176 + label = "lan5";
177 + };
178 +
179 + port@2 {
180 + reg = <2>;
181 + label = "lan2";
182 + };
183 +
184 + port@3 {
185 + reg = <3>;
186 + label = "lan6";
187 + };
188 +
189 + port@4 {
190 + reg = <4>;
191 + label = "lan3";
192 + };
193 +
194 + sw1_p8: port@8 {
195 + reg = <8>;
196 + ethernet = <&sw0_p0>;
197 + label = "cpu";
198 +
199 + fixed-link {
200 + speed = <1000>;
201 + full-duplex;
202 + };
203 + };
204 + };
205 + };
206 + };
207 + };
208 +};
209 +
210 +&usb2 {
211 + vcc-gpio = <&chipcommon 13 GPIO_ACTIVE_HIGH>;
212 +};
213 +
214 +&usb3 {
215 + vcc-gpio = <&chipcommon 14 GPIO_ACTIVE_HIGH>;
216 +};
217 +
218 +&srab {
219 + compatible = "brcm,bcm53012-srab", "brcm,bcm5301x-srab";
220 + status = "okay";
221 + dsa,member = <0 0>;
222 +
223 + ports {
224 + #address-cells = <1>;
225 + #size-cells = <0>;
226 +
227 + port@1 {
228 + reg = <1>;
229 + label = "lan7";
230 + };
231 +
232 + port@2 {
233 + reg = <2>;
234 + label = "lan4";
235 + };
236 +
237 + port@3 {
238 + reg = <3>;
239 + label = "lan8";
240 + };
241 +
242 + port@4 {
243 + reg = <4>;
244 + label = "wan";
245 + };
246 +
247 + port@8 {
248 + reg = <8>;
249 + ethernet = <&gmac2>;
250 + label = "cpu";
251 +
252 + fixed-link {
253 + speed = <1000>;
254 + full-duplex;
255 + };
256 + };
257 +
258 + sw0_p0: port@0 {
259 + reg = <0>;
260 + label = "extsw";
261 +
262 + fixed-link {
263 + speed = <1000>;
264 + full-duplex;
265 + };
266 + };
267 };
268 };
269