ipq806x: add support for TP-Link Talon AD7200
[openwrt/staging/hauke.git] / target / linux / ipq806x / files / arch / arm / boot / dts / qcom-ipq8064-ad7200.dts
1 //SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2 #include "qcom-ipq8064-v2.0.dtsi"
3
4 #include <dt-bindings/input/input.h>
5
6 / {
7 model = "TP-Link Talon AD7200";
8 compatible = "tplink,ad7200", "qcom,ipq8064";
9
10 memory@0 {
11 reg = <0x42000000 0x1e000000>;
12 device_type = "memory";
13 };
14
15 aliases {
16 mdio-gpio0 = &mdio0;
17
18 led-boot = &power;
19 led-failsafe = &power;
20 led-running = &power;
21 led-upgrade = &power;
22 label-mac-device = &gmac2;
23 };
24
25 keys {
26 compatible = "gpio-keys";
27 pinctrl-0 = <&button_pins>;
28 pinctrl-names = "default";
29
30 wifi {
31 label = "wifi";
32 gpios = <&qcom_pinmux 54 GPIO_ACTIVE_LOW>;
33 linux,code = <KEY_RFKILL>;
34 };
35
36 reset {
37 label = "reset";
38 gpios = <&qcom_pinmux 7 GPIO_ACTIVE_LOW>;
39 linux,code = <KEY_RESTART>;
40 };
41
42 wps {
43 label = "wps";
44 gpios = <&qcom_pinmux 67 GPIO_ACTIVE_LOW>;
45 linux,code = <KEY_WPS_BUTTON>;
46 };
47
48 ledgeneral {
49 label = "ledswitch";
50 gpios = <&qcom_pinmux 53 GPIO_ACTIVE_LOW>;
51 linux,code = <KEY_LIGHTS_TOGGLE>;
52 };
53 };
54
55 leds {
56 compatible = "gpio-leds";
57 pinctrl-0 = <&led_pins>;
58 pinctrl-names = "default";
59
60 lan {
61 label = "blue:lan";
62 gpios = <&qcom_pinmux 2 GPIO_ACTIVE_HIGH>;
63 };
64
65 usb1 {
66 label = "blue:usb_1";
67 gpios = <&qcom_pinmux 8 GPIO_ACTIVE_HIGH>;
68 };
69
70 usb3 {
71 label = "blue:usb_3";
72 gpios = <&qcom_pinmux 16 GPIO_ACTIVE_HIGH>;
73 };
74
75 wps {
76 label = "blue:wps";
77 gpios = <&qcom_pinmux 55 GPIO_ACTIVE_HIGH>;
78 };
79
80 wan_orange {
81 label = "orange:wan";
82 gpios = <&qcom_pinmux 26 GPIO_ACTIVE_LOW>;
83 };
84
85 wan_blue {
86 label = "blue:wan";
87 gpios = <&qcom_pinmux 33 GPIO_ACTIVE_LOW>;
88 };
89
90 power: status {
91 label = "blue:status";
92 gpios = <&qcom_pinmux 66 GPIO_ACTIVE_HIGH>;
93 };
94
95 wlan2g {
96 label = "blue:wlan2g";
97 gpios = <&qcom_pinmux 17 GPIO_ACTIVE_HIGH>;
98
99 };
100
101 wlan5g {
102 label = "blue:wlan5g";
103 gpios = <&qcom_pinmux 15 GPIO_ACTIVE_HIGH>;
104
105 };
106
107 wlan60g {
108 label = "blue:wlan60g";
109 gpios = <&qcom_pinmux 56 GPIO_ACTIVE_HIGH>;
110 };
111 };
112 };
113
114 &qcom_pinmux {
115 button_pins: button_pins {
116 mux {
117 pins = "gpio53", "gpio54", "gpio67";
118 function = "gpio";
119 drive-strength = <2>;
120 bias-pull-up;
121 };
122 };
123
124 led_pins: led_pins {
125 mux {
126 pins = "gpio2", "gpio8", "gpio15", "gpio16", "gpio17", "gpio26",
127 "gpio33", "gpio55", "gpio56", "gpio66";
128 function = "gpio";
129 drive-strength = <2>;
130 bias-pull-up;
131 };
132 };
133
134 spi_pins: spi_pins {
135 mux {
136 pins = "gpio18", "gpio19", "gpio21";
137 function = "gsbi5";
138 bias-pull-down;
139 };
140
141 data {
142 pins = "gpio18", "gpio19";
143 drive-strength = <10>;
144 };
145
146 cs {
147 pins = "gpio20";
148 function = "gpio";
149 drive-strength = <10>;
150 bias-pull-up;
151 };
152
153 clk {
154 pins = "gpio21";
155 drive-strength = <12>;
156 };
157 };
158
159 usb0_pwr_en_pin: usb0_pwr_en_pin {
160 mux {
161 pins = "gpio25";
162 function = "gpio";
163 drive-strength = <10>;
164 bias-pull-up;
165 output-high;
166 };
167 };
168
169 usb1_pwr_en_pin: usb1_pwr_en_pin {
170 mux {
171 pins = "gpio23";
172 function = "gpio";
173 drive-strength = <10>;
174 bias-pull-up;
175 output-high;
176 };
177 };
178 };
179
180 &gsbi5 {
181 qcom,mode = <GSBI_PROT_SPI>;
182 status = "okay";
183
184 spi4: spi@1a280000 {
185 status = "okay";
186
187 pinctrl-0 = <&spi_pins>;
188 pinctrl-names = "default";
189
190 cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
191
192 m25p80@0 {
193 compatible = "jedec,spi-nor";
194 #address-cells = <1>;
195 #size-cells = <1>;
196 spi-max-frequency = <50000000>;
197 reg = <0>;
198
199 SBL1@0 {
200 label = "SBL1";
201 reg = <0x0 0x20000>;
202 read-only;
203 };
204
205 MIBIB@20000 {
206 label = "MIBIB";
207 reg = <0x20000 0x20000>;
208 read-only;
209 };
210
211 SBL2@40000 {
212 label = "SBL2";
213 reg = <0x40000 0x20000>;
214 read-only;
215 };
216
217 SBL3@60000 {
218 label = "SBL3";
219 reg = <0x60000 0x30000>;
220 read-only;
221 };
222
223 DDRCONFIG@90000 {
224 label = "DDRCONFIG";
225 reg = <0x90000 0x10000>;
226 read-only;
227 };
228
229 SSD@a0000 {
230 label = "SSD";
231 reg = <0xa0000 0x10000>;
232 read-only;
233 };
234
235 TZ@b0000 {
236 label = "TZ";
237 reg = <0xb0000 0x30000>;
238 read-only;
239 };
240
241 RPM@e0000 {
242 label = "RPM";
243 reg = <0xe0000 0x20000>;
244 read-only;
245 };
246
247 fs-uboot@100000 {
248 label = "fs-uboot";
249 reg = <0x100000 0x70000>;
250 read-only;
251 };
252
253 uboot-env@170000 {
254 label = "uboot-env";
255 reg = <0x170000 0x40000>;
256 read-only;
257 };
258
259 radio@1b0000 {
260 label = "radio";
261 reg = <0x1b0000 0x40000>;
262 read-only;
263 };
264
265 os-image@1f0000 {
266 label = "os-image";
267 reg = <0x1f0000 0x400000>;
268 };
269
270 rootfs@5f0000 {
271 label = "rootfs";
272 reg = <0x5f0000 0x1900000>;
273 };
274
275 defaultmac: default-mac@1ef0000 {
276 label = "default-mac";
277 reg = <0x1ef0000 0x00200>;
278 read-only;
279 };
280
281 pin@1ef0200 {
282 label = "pin";
283 reg = <0x1ef0200 0x00200>;
284 read-only;
285 };
286
287 device-id@1ef0400 {
288 label = "device-id";
289 reg = <0x1ef0400 0x00200>;
290 read-only;
291 };
292
293 product-info@1ef0600 {
294 label = "product-info";
295 reg = <0x1ef0600 0x0fa00>;
296 read-only;
297 };
298
299 partition-table@1f00000 {
300 label = "partition-table";
301 reg = <0x1f00000 0x10000>;
302 read-only;
303 };
304
305 soft-version@1f10000 {
306 label = "soft-version";
307 reg = <0x1f10000 0x10000>;
308 read-only;
309 };
310
311 support-list@1f20000 {
312 label = "support-list";
313 reg = <0x1f20000 0x10000>;
314 read-only;
315 };
316
317 profile@1f30000 {
318 label = "profile";
319 reg = <0x1f30000 0x10000>;
320 read-only;
321 };
322
323 default-config@1f40000 {
324 label = "default-config";
325 reg = <0x1f40000 0x10000>;
326 read-only;
327 };
328
329 user-config@1f50000 {
330 label = "user-config";
331 reg = <0x1f50000 0x40000>;
332 read-only;
333 };
334
335 qos-db@1f90000 {
336 label = "qos-db";
337 reg = <0x1f90000 0x40000>;
338 read-only;
339 };
340
341 usb-config@1fd0000 {
342 label = "usb-config";
343 reg = <0x1fd0000 0x10000>;
344 read-only;
345 };
346
347 log@1fe0000 {
348 label = "log";
349 reg = <0x1fe0000 0x20000>;
350 read-only;
351 };
352 };
353 };
354 };
355
356 &usb3_0 {
357 status = "okay";
358
359 pinctrl-0 = <&usb0_pwr_en_pin>;
360 pinctrl-names = "default";
361 };
362
363 &usb3_1 {
364 status = "okay";
365
366 pinctrl-0 = <&usb1_pwr_en_pin>;
367 pinctrl-names = "default";
368 };
369
370 &pcie0 {
371 status = "okay";
372 };
373
374 &pcie1 {
375 status = "okay";
376 max-link-speed = <1>;
377 };
378
379 &pcie2 {
380 status = "okay";
381 max-link-speed = <1>;
382 };
383
384 &mdio0 {
385 status = "okay";
386
387 pinctrl-0 = <&mdio0_pins>;
388 pinctrl-names = "default";
389
390 phy0: ethernet-phy@0 {
391 reg = <0>;
392 qca,ar8327-initvals = <
393 0x00004 0x7600000 /* PAD0_MODE */
394 0x00008 0x1000000 /* PAD5_MODE */
395 0x0000c 0x80 /* PAD6_MODE */
396 0x000e4 0x6a545 /* MAC_POWER_SEL */
397 0x000e0 0xc74164de /* SGMII_CTRL */
398 0x0007c 0x4e /* PORT0_STATUS */
399 0x00094 0x4e /* PORT6_STATUS */
400 >;
401 };
402
403 phy4: ethernet-phy@4 {
404 reg = <4>;
405 };
406 };
407
408 &gmac1 {
409 status = "okay";
410 phy-mode = "rgmii";
411 qcom,id = <1>;
412
413 pinctrl-0 = <&rgmii2_pins>;
414 pinctrl-names = "default";
415
416 mtd-mac-address = <&defaultmac 0x8>;
417 mtd-mac-address-increment = <1>;
418
419 fixed-link {
420 speed = <1000>;
421 full-duplex;
422 };
423 };
424
425 &gmac2 {
426 status = "okay";
427 phy-mode = "sgmii";
428 qcom,id = <2>;
429
430 mtd-mac-address = <&defaultmac 0x8>;
431
432 fixed-link {
433 speed = <1000>;
434 full-duplex;
435 };
436 };
437
438 &adm_dma {
439 status = "okay";
440 };