963c0915bb37125a14b8930dac5adb5fb32a834a
[openwrt/staging/pepe2k.git] / target / linux / ipq40xx / files / arch / arm / boot / dts / qcom-ipq4019-whw03v2.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2
3 #include "qcom-ipq4019.dtsi"
4 #include <dt-bindings/gpio/gpio.h>
5 #include <dt-bindings/input/input.h>
6 #include <dt-bindings/soc/qcom,tcsr.h>
7 #include <dt-bindings/leds/common.h>
8
9 / {
10 model = "Linksys WHW03 V2 (Velop)";
11 compatible = "linksys,whw03v2", "qcom,ipq4019";
12
13 aliases {
14 led-boot = &led_blue;
15 led-failsafe = &led_red;
16 led-running = &led_green;
17 led-upgrade = &led_red;
18 };
19
20 // The arguments rootfstype and ro are needed
21 // to override the default bootargs
22 chosen {
23 bootargs-append = " root=/dev/ubiblock0_0 rootfstype=squashfs ro";
24 stdout-path = &blsp1_uart1;
25 };
26
27 soc {
28 ess-tcsr@1953000 {
29 compatible = "qcom,tcsr";
30 reg = <0x1953000 0x1000>;
31 qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
32 };
33
34
35 tcsr@1949000 {
36 compatible = "qcom,tcsr";
37 reg = <0x1949000 0x100>;
38 qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
39 };
40
41 tcsr@194b000 {
42 compatible = "qcom,tcsr";
43 reg = <0x194b000 0x100>;
44 qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
45 };
46
47 tcsr@1957000 {
48 compatible = "qcom,tcsr";
49 reg = <0x1957000 0x100>;
50 qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
51 };
52 };
53
54
55 keys {
56 compatible = "gpio-keys";
57
58 reset {
59 label = "reset";
60 gpios = <&tlmm 18 GPIO_ACTIVE_LOW>;
61 linux,code = <KEY_RESTART>;
62 };
63 };
64 };
65
66
67 &tlmm {
68 mdio_pins: mdio-pinmux {
69 mux-1 {
70 pins = "gpio6";
71 function = "mdio";
72 bias-pull-up;
73 };
74
75 mux-2 {
76 pins = "gpio7";
77 function = "mdc";
78 bias-pull-up;
79 };
80 };
81
82 i2c_0_pins: i2c-0-pinmux {
83 mux {
84 function = "blsp_i2c0";
85 pins = "gpio20", "gpio21";
86 bias-disable;
87 };
88 };
89
90 serial_0_pins: serial0-pinmux {
91 mux {
92 pins = "gpio16", "gpio17";
93 function = "blsp_uart0";
94 bias-disable;
95 };
96 };
97
98 serial_1_pins: serial1-pinmux {
99 mux {
100 pins = "gpio8", "gpio9", "gpio10", "gpio11";
101 function = "blsp_uart1";
102 bias-disable;
103 };
104 };
105
106 spi_0_pins: spi-0-pinmux {
107 mux {
108 function = "blsp_spi0";
109 pins = "gpio13", "gpio14", "gpio15";
110 drive-strength = <12>;
111 bias-disable;
112 };
113
114 mux-cs {
115 pins = "gpio12";
116 drive-strength = <2>;
117 bias-disable;
118 output-high;
119 };
120 };
121
122 spi_1_pins: spi-1-pinmux {
123 mux-1 {
124 function = "blsp_spi1";
125 pins = "gpio44", "gpio46","gpio47";
126 bias-disable;
127 };
128
129 mux-2 {
130 pins = "gpio31", "gpio45", "gpio49";
131 function = "gpio";
132 bias-pull-up;
133 output-high;
134 };
135
136 host-interrupt {
137 pins = "gpio42";
138 function = "gpio";
139 input;
140 };
141 };
142
143 wifi_0_pins: wifi0-pinmux {
144 btcoexist {
145 bias-pull-up;
146 drive-strength = <6>;
147 function = "gpio";
148 output-high;
149 pins = "gpio52";
150 };
151 };
152
153 zigbee-0 {
154 gpio-hog;
155 gpios = <29 GPIO_ACTIVE_HIGH>;
156 bias-disable;
157 output-low;
158 };
159
160 zigbee-1 {
161 gpio-hog;
162 gpios = <50 GPIO_ACTIVE_HIGH>;
163 bias-disable;
164 input;
165 };
166
167 bluetooth-enable {
168 gpio-hog;
169 gpios = <32 GPIO_ACTIVE_HIGH>;
170 output-high;
171 };
172 };
173
174 &mdio {
175 status = "okay";
176 pinctrl-0 = <&mdio_pins>;
177 pinctrl-names = "default";
178 phy-reset-gpios = <&tlmm 19 GPIO_ACTIVE_LOW>;
179 };
180
181 &ethphy0 {
182 status = "disabled";
183 };
184
185 &ethphy1 {
186 status = "disabled";
187 };
188
189 &ethphy2 {
190 status = "disabled";
191 };
192
193 &ethphy3 {
194 reg = <0x1b>;
195 };
196
197 &ethphy4 {
198 reg = <0x1c>;
199 };
200
201 &psgmiiphy {
202 reg = <0x1d>;
203 };
204
205 &watchdog {
206 status = "okay";
207 };
208
209 &prng {
210 status = "okay";
211 };
212
213 &blsp_dma {
214 status = "okay";
215 };
216
217 &cryptobam {
218 num-channels = <4>;
219 qcom,num-ees = <2>;
220
221 status = "okay";
222 };
223
224 &crypto {
225 status = "okay";
226 };
227
228 &blsp1_uart1 {
229 status = "okay";
230 pinctrl-0 = <&serial_0_pins>;
231 pinctrl-names = "default";
232 };
233
234 &blsp1_uart2 {
235 status = "okay";
236 pinctrl-0 = <&serial_1_pins>;
237 pinctrl-names = "default";
238
239 bluetooth {
240 compatible = "csr,8811";
241
242 enable-gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>;
243 };
244 };
245
246 &blsp1_spi2 {
247 pinctrl-0 = <&spi_1_pins>;
248 pinctrl-names = "default";
249 status = "okay";
250
251 cs-gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>;
252
253 zigbee@0 {
254 #address-cells = <1>;
255 #size-cells = <0>;
256
257 compatible = "silabs,em3581";
258 reg = <0>;
259 spi-max-frequency = <12000000>;
260 };
261 };
262
263 &blsp1_i2c3 {
264 pinctrl-0 = <&i2c_0_pins>;
265 pinctrl-names = "default";
266
267 status = "okay";
268
269 // RGB LEDs
270 pca9633: led-controller@62 {
271 compatible = "nxp,pca9633";
272 nxp,hw-blink;
273 reg = <0x62>;
274 #address-cells = <1>;
275 #size-cells = <0>;
276
277 led_red: red@0 {
278 label = "red";
279 color = <LED_COLOR_ID_RED>;
280 function = LED_FUNCTION_INDICATOR;
281 linux,default-trigger = "none";
282 reg = <0>;
283 };
284
285 led_green: green@1 {
286 label = "green";
287 color = <LED_COLOR_ID_GREEN>;
288 function = LED_FUNCTION_INDICATOR;
289 linux,default-trigger = "none";
290 reg = <1>;
291 };
292
293 led_blue: blue@2 {
294 label = "blue";
295 color = <LED_COLOR_ID_BLUE>;
296 function = LED_FUNCTION_INDICATOR;
297 linux,default-trigger = "default-on";
298 reg = <2>;
299 };
300 };
301 };
302
303 &usb3_ss_phy {
304 status = "okay";
305 };
306
307 &usb3_hs_phy {
308 status = "okay";
309 };
310
311 &usb2_hs_phy {
312 status = "okay";
313 };
314
315 &nand {
316 status = "okay";
317
318 nand@0 {
319 partitions {
320 compatible = "fixed-partitions";
321 #address-cells = <1>;
322 #size-cells = <1>;
323
324 partition@0 {
325 label = "SBL1";
326 reg = <0x0 0x100000>;
327 read-only;
328 };
329
330 partition@100000 {
331 label = "MIBIB";
332 reg = <0x100000 0x100000>;
333 read-only;
334 };
335
336 partition@200000 {
337 label = "QSEE";
338 reg = <0x200000 0x100000>;
339 read-only;
340 };
341
342 partition@300000 {
343 label = "CDT";
344 reg = <0x300000 0x80000>;
345 read-only;
346 };
347
348 partition@380000 {
349 label = "APPSBL";
350 reg = <0x380000 0x200000>;
351 read-only;
352 };
353
354 partition@580000 {
355 label = "ART";
356 reg = <0x580000 0x80000>;
357 read-only;
358
359 nvmem-layout {
360 compatible = "fixed-layout";
361 #address-cells = <1>;
362 #size-cells = <1>;
363
364 macaddr_gmac0: macaddr@0 {
365 compatible = "mac-base";
366 reg = <0x0 0x6>;
367 #nvmem-cell-cells = <1>;
368 };
369
370 macaddr_gmac1: macaddr@6 {
371 reg = <0x6 0x6>;
372 };
373
374 precal_art_1000: precal@1000 {
375 reg = <0x1000 0x2f20>;
376 };
377
378 precal_art_5000: precal@5000 {
379 reg = <0x5000 0x2f20>;
380 };
381
382 precal_art_9000: precal@9000 {
383 reg = <0x9000 0x2f20>;
384 };
385 };
386 };
387
388 partition@600000 {
389 label = "u_env";
390 reg = <0x600000 0x80000>;
391 };
392
393 partition@680000 {
394 label = "s_env";
395 reg = <0x680000 0x40000>;
396 };
397
398 partition@6c0000 {
399 label = "devinfo";
400 reg = <0x6c0000 0x40000>;
401 read-only;
402 };
403
404 partition@700000 {
405 label = "kernel";
406 reg = <0x700000 0xa100000>;
407 };
408
409 partition@d00000 {
410 label = "rootfs";
411 reg = <0xd00000 0x9b00000>;
412 };
413
414 partition@a800000 {
415 label = "alt_kernel";
416 reg = <0xa800000 0xa100000>;
417 };
418
419 partition@ae00000 {
420 label = "alt_rootfs";
421 reg = <0xae00000 0x9b00000>;
422 };
423
424 partition@14900000 {
425 label = "sysdiag";
426 reg = <0x14900000 0x200000>;
427 read-only;
428 };
429
430 partition@14b00000 {
431 label = "syscfg";
432 reg = <0x14b00000 0xb500000>;
433 read-only;
434 };
435 };
436 };
437 };
438
439 &pcie0 {
440 status = "okay";
441
442 perst-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
443 wake-gpios = <&tlmm 40 GPIO_ACTIVE_LOW>;
444 clkreq-gpios = <&tlmm 39 GPIO_ACTIVE_LOW>;
445
446 bridge@0,0 {
447 reg = <0x00000000 0 0 0 0>;
448 #address-cells = <3>;
449 #size-cells = <2>;
450 ranges;
451
452 wifi2: wifi@1,0 {
453 compatible = "qcom,ath10k";
454 reg = <0x00010000 0 0 0 0>;
455 };
456 };
457 };
458
459 &qpic_bam {
460 status = "okay";
461 };
462
463 &gmac {
464 status = "okay";
465 };
466
467 &switch {
468 status = "okay";
469 };
470
471 &swport4 {
472 status = "okay";
473 label = "lan";
474
475 nvmem-cell-names = "mac-address";
476 nvmem-cells = <&macaddr_gmac1>;
477 };
478
479 &swport5 {
480 status = "okay";
481 label = "wan";
482
483 nvmem-cell-names = "mac-address";
484 nvmem-cells = <&macaddr_gmac0 0>;
485 };
486
487 &wifi0 {
488 pinctrl-0 = <&wifi_0_pins>;
489 pinctrl-names = "default";
490
491 status = "okay";
492
493 qcom,coexist-support = <1>;
494 qcom,coexist-gpio-pin = <0x34>;
495
496 ieee80211-freq-limit = <2401000 2473000>;
497 qcom,ath10k-calibration-variant = "linksys-whw03v2";
498
499 nvmem-cell-names = "pre-calibration", "mac-address";
500 nvmem-cells = <&precal_art_1000>, <&macaddr_gmac0 1>;
501 };
502
503 &wifi1 {
504 status = "okay";
505
506 ieee80211-freq-limit = <5170000 5250000>;
507 qcom,ath10k-calibration-variant = "linksys-whw03v2";
508
509 nvmem-cell-names = "pre-calibration", "mac-address";
510 nvmem-cells = <&precal_art_5000>, <&macaddr_gmac0 2>;
511 };
512
513 &wifi2 {
514 status = "okay";
515
516 ieee80211-freq-limit = <5735000 5835000>;
517 qcom,ath10k-calibration-variant = "linksys-whw03v2";
518
519 nvmem-cell-names = "pre-calibration", "mac-address";
520 nvmem-cells = <&precal_art_9000>, <&macaddr_gmac0 3>;
521 };