701605a9730ac2eba4a46ac60fae0d8a1051e2e9
[oweals/openwrt.git] /
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