1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
3 #include "qcom-ipq8062-smb208.dtsi"
4 #include <dt-bindings/input/input.h>
5 #include <dt-bindings/leds/common.h>
8 model = "NEC Platforms Aterm WG2600HP3";
9 compatible = "nec,wg2600hp3", "qcom,ipq8062", "qcom,ipq8064";
12 device_type = "memory";
13 reg = <0x42000000 0x1e000000>;
17 label-mac-device = &gmac2;
19 led-boot = &led_power_green;
20 led-failsafe = &led_power_red;
21 led-running = &led_power_green;
22 led-upgrade = &led_power_red;
26 compatible = "gpio-keys";
28 pinctrl-0 = <&buttons_pins>;
29 pinctrl-names = "default";
33 gpios = <&qcom_pinmux 24 GPIO_ACTIVE_LOW>;
34 linux,code = <KEY_RESTART>;
35 debounce-interval = <60>;
41 gpios = <&qcom_pinmux 22 GPIO_ACTIVE_LOW>;
42 linux,code = <KEY_WPS_BUTTON>;
43 debounce-interval = <60>;
49 gpios = <&qcom_pinmux 40 GPIO_ACTIVE_LOW>;
51 linux,input-type = <EV_SW>;
52 debounce-interval = <60>;
58 gpios = <&qcom_pinmux 41 GPIO_ACTIVE_LOW>;
60 linux,input-type = <EV_SW>;
61 debounce-interval = <60>;
67 compatible = "gpio-leds";
69 pinctrl-0 = <&leds_pins>;
70 pinctrl-names = "default";
72 led_power_green: power_green {
73 label = "green:power";
74 gpios = <&qcom_pinmux 14 GPIO_ACTIVE_HIGH>;
77 led_power_red: power_red {
79 gpios = <&qcom_pinmux 35 GPIO_ACTIVE_HIGH>;
83 label = "green:active";
84 gpios = <&qcom_pinmux 42 GPIO_ACTIVE_HIGH>;
89 gpios = <&qcom_pinmux 38 GPIO_ACTIVE_HIGH>;
93 label = "green:wlan2g";
94 gpios = <&qcom_pinmux 55 GPIO_ACTIVE_HIGH>;
95 linux,default-trigger = "phy1tpt";
100 gpios = <&qcom_pinmux 56 GPIO_ACTIVE_HIGH>;
104 label = "green:wlan5g";
105 gpios = <&qcom_pinmux 57 GPIO_ACTIVE_HIGH>;
106 linux,default-trigger = "phy0tpt";
110 label = "red:wlan5g";
111 gpios = <&qcom_pinmux 58 GPIO_ACTIVE_HIGH>;
116 gpios = <&qcom_pinmux 46 GPIO_ACTIVE_HIGH>;
121 gpios = <&qcom_pinmux 36 GPIO_ACTIVE_HIGH>;
125 label = "green:converter";
126 gpios = <&qcom_pinmux 43 GPIO_ACTIVE_HIGH>;
130 label = "red:converter";
131 gpios = <&qcom_pinmux 15 GPIO_ACTIVE_HIGH>;
136 /* nand_pins are used for leds_pins, empty the node
140 /delete-property/ disable;
141 /delete-property/ pullups;
142 /delete-property/ hold;
146 pinctrl-0 = <&akro_pins>;
147 pinctrl-names = "default";
151 pins = "gpio18", "gpio19", "gpio21";
157 pins = "gpio18", "gpio19";
158 drive-strength = <10>;
163 drive-strength = <10>;
168 drive-strength = <12>;
172 buttons_pins: buttons_pins {
174 pins = "gpio22", "gpio24", "gpio40",
177 drive-strength = <2>;
182 leds_pins: leds_pins {
184 pins = "gpio14", "gpio15", "gpio35",
185 "gpio36", "gpio38", "gpio42",
186 "gpio43", "gpio46", "gpio55",
187 "gpio56", "gpio57", "gpio58";
193 pins = "gpio15", "gpio35", "gpio38",
194 "gpio42", "gpio43", "gpio46",
195 "gpio55", "gpio56", "gpio57",
197 drive-strength = <2>;
201 pins = "gpio14", "gpio36";
202 drive-strength = <4>;
207 * Stock firmware has the following settings, so let's do the same.
208 * I don't sure why these are required.
210 akro_pins: akro_pinmux {
212 pins = "gpio17", "gpio26", "gpio47";
214 drive-strength = <2>;
221 drive-strength = <2>;
229 drive-strength = <8>;
237 qcom,mode = <GSBI_PROT_SPI>;
242 pinctrl-0 = <&spi_pins>;
243 pinctrl-names = "default";
245 cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
248 compatible = "jedec,spi-nor";
250 spi-max-frequency = <50000000>;
254 compatible = "fixed-partitions";
255 #address-cells = <1>;
260 reg = <0x0000000 0x0020000>;
266 reg = <0x0020000 0x0020000>;
272 reg = <0x0040000 0x0040000>;
278 reg = <0x0080000 0x0080000>;
284 reg = <0x0100000 0x0010000>;
290 reg = <0x0110000 0x0010000>;
296 reg = <0x0120000 0x0080000>;
302 reg = <0x01a0000 0x0080000>;
308 reg = <0x0220000 0x0080000>;
314 reg = <0x02a0000 0x0010000>;
318 factory: partition@2b0000 {
319 label = "PRODUCTDATA";
320 reg = <0x02b0000 0x0030000>;
324 compatible = "fixed-layout";
325 #address-cells = <1>;
328 macaddr_factory_0: macaddr@0 {
332 macaddr_factory_6: macaddr@6 {
336 macaddr_PRODUCTDATA_c: macaddr@c {
340 macaddr_PRODUCTDATA_12: macaddr@12 {
348 reg = <0x02e0000 0x0040000>;
352 compatible = "fixed-layout";
353 #address-cells = <1>;
356 precal_ART_1000: precal@1000 {
357 reg = <0x1000 0x2f20>;
360 precal_ART_5000: precal@5000 {
361 reg = <0x5000 0x2f20>;
368 reg = <0x0320000 0x0040000>;
374 reg = <0x0360000 0x0500000>;
379 compatible = "denx,uimage";
381 reg = <0x0860000 0x17a0000>;
396 reg = <0x00000000 0 0 0 0>;
397 #address-cells = <3>;
402 compatible = "qcom,ath10k";
403 reg = <0x00010000 0 0 0 0>;
405 qcom,ath10k-calibration-variant = "NEC-Platforms-WG2600HP3";
407 nvmem-cells = <&macaddr_PRODUCTDATA_12>, <&precal_ART_1000>;
408 nvmem-cell-names = "mac-address", "pre-calibration";
418 reg = <0x00000000 0 0 0 0>;
419 #address-cells = <3>;
424 compatible = "qcom,ath10k";
425 reg = <0x00010000 0 0 0 0>;
427 ieee80211-freq-limit = <2400000 2483000>;
428 qcom,ath10k-calibration-variant = "NEC-Platforms-WG2600HP3";
430 nvmem-cells = <&macaddr_PRODUCTDATA_c>, <&precal_ART_5000>;
431 nvmem-cell-names = "mac-address", "pre-calibration";
439 pinctrl-0 = <&mdio0_pins>;
440 pinctrl-names = "default";
443 compatible = "qca,qca8337";
444 #address-cells = <1>;
449 #address-cells = <1>;
457 tx-internal-delay-ps = <1000>;
468 phy-mode = "internal";
469 phy-handle = <&phy_port1>;
472 #address-cells = <1>;
477 color = <LED_COLOR_ID_GREEN>;
478 function = LED_FUNCTION_WAN;
479 function-enumerator = <1>;
480 default-state = "keep";
485 color = <LED_COLOR_ID_GREEN>;
486 function = LED_FUNCTION_WAN;
487 function-enumerator = <2>;
488 default-state = "keep";
493 color = <LED_COLOR_ID_GREEN>;
494 function = LED_FUNCTION_WAN;
495 function-enumerator = <3>;
496 default-state = "keep";
504 phy-mode = "internal";
505 phy-handle = <&phy_port2>;
508 #address-cells = <1>;
513 color = <LED_COLOR_ID_GREEN>;
514 function = LED_FUNCTION_LAN;
515 function-enumerator = <1>;
516 default-state = "keep";
521 color = <LED_COLOR_ID_GREEN>;
522 function = LED_FUNCTION_LAN;
523 function-enumerator = <2>;
524 default-state = "keep";
529 color = <LED_COLOR_ID_GREEN>;
530 function = LED_FUNCTION_LAN;
531 function-enumerator = <3>;
532 default-state = "keep";
540 phy-mode = "internal";
541 phy-handle = <&phy_port3>;
544 #address-cells = <1>;
549 color = <LED_COLOR_ID_GREEN>;
550 function = LED_FUNCTION_LAN;
551 function-enumerator = <1>;
552 default-state = "keep";
557 color = <LED_COLOR_ID_GREEN>;
558 function = LED_FUNCTION_LAN;
559 function-enumerator = <2>;
560 default-state = "keep";
565 color = <LED_COLOR_ID_GREEN>;
566 function = LED_FUNCTION_LAN;
567 function-enumerator = <3>;
568 default-state = "keep";
576 phy-mode = "internal";
577 phy-handle = <&phy_port4>;
580 #address-cells = <1>;
585 color = <LED_COLOR_ID_GREEN>;
586 function = LED_FUNCTION_LAN;
587 function-enumerator = <1>;
588 default-state = "keep";
593 color = <LED_COLOR_ID_GREEN>;
594 function = LED_FUNCTION_LAN;
595 function-enumerator = <2>;
596 default-state = "keep";
601 color = <LED_COLOR_ID_GREEN>;
602 function = LED_FUNCTION_LAN;
603 function-enumerator = <3>;
604 default-state = "keep";
612 phy-mode = "internal";
613 phy-handle = <&phy_port5>;
616 #address-cells = <1>;
621 color = <LED_COLOR_ID_GREEN>;
622 function = LED_FUNCTION_LAN;
623 function-enumerator = <1>;
624 default-state = "keep";
629 color = <LED_COLOR_ID_GREEN>;
630 function = LED_FUNCTION_LAN;
631 function-enumerator = <2>;
632 default-state = "keep";
637 color = <LED_COLOR_ID_GREEN>;
638 function = LED_FUNCTION_LAN;
639 function-enumerator = <3>;
640 default-state = "keep";
650 qca,sgmii-enable-pll;
651 qca,sgmii-rxclk-falling-edge;
661 #address-cells = <1>;
690 pinctrl-0 = <&rgmii2_pins>;
691 pinctrl-names = "default";
696 nvmem-cells = <&macaddr_factory_0>;
697 nvmem-cell-names = "mac-address";
710 nvmem-cells = <&macaddr_factory_6>;
711 nvmem-cell-names = "mac-address";