1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
3 #include "qcom-ipq8062-smb208.dtsi"
4 #include <dt-bindings/input/input.h>
7 model = "NEC Platforms Aterm WG2600HP3";
8 compatible = "nec,wg2600hp3", "qcom,ipq8062", "qcom,ipq8064";
11 device_type = "memory";
12 reg = <0x42000000 0x1e000000>;
16 label-mac-device = &gmac2;
18 led-boot = &led_power_green;
19 led-failsafe = &led_power_red;
20 led-running = &led_power_green;
21 led-upgrade = &led_power_red;
25 compatible = "gpio-keys";
27 pinctrl-0 = <&buttons_pins>;
28 pinctrl-names = "default";
32 gpios = <&qcom_pinmux 24 GPIO_ACTIVE_LOW>;
33 linux,code = <KEY_RESTART>;
34 debounce-interval = <60>;
40 gpios = <&qcom_pinmux 22 GPIO_ACTIVE_LOW>;
41 linux,code = <KEY_WPS_BUTTON>;
42 debounce-interval = <60>;
48 gpios = <&qcom_pinmux 40 GPIO_ACTIVE_LOW>;
50 linux,input-type = <EV_SW>;
51 debounce-interval = <60>;
57 gpios = <&qcom_pinmux 41 GPIO_ACTIVE_LOW>;
59 linux,input-type = <EV_SW>;
60 debounce-interval = <60>;
66 compatible = "gpio-leds";
68 pinctrl-0 = <&leds_pins>;
69 pinctrl-names = "default";
71 led_power_green: power_green {
72 label = "green:power";
73 gpios = <&qcom_pinmux 14 GPIO_ACTIVE_HIGH>;
76 led_power_red: power_red {
78 gpios = <&qcom_pinmux 35 GPIO_ACTIVE_HIGH>;
82 label = "green:active";
83 gpios = <&qcom_pinmux 42 GPIO_ACTIVE_HIGH>;
88 gpios = <&qcom_pinmux 38 GPIO_ACTIVE_HIGH>;
92 label = "green:wlan2g";
93 gpios = <&qcom_pinmux 55 GPIO_ACTIVE_HIGH>;
94 linux,default-trigger = "phy1tpt";
99 gpios = <&qcom_pinmux 56 GPIO_ACTIVE_HIGH>;
103 label = "green:wlan5g";
104 gpios = <&qcom_pinmux 57 GPIO_ACTIVE_HIGH>;
105 linux,default-trigger = "phy0tpt";
109 label = "red:wlan5g";
110 gpios = <&qcom_pinmux 58 GPIO_ACTIVE_HIGH>;
115 gpios = <&qcom_pinmux 46 GPIO_ACTIVE_HIGH>;
120 gpios = <&qcom_pinmux 36 GPIO_ACTIVE_HIGH>;
124 label = "green:converter";
125 gpios = <&qcom_pinmux 43 GPIO_ACTIVE_HIGH>;
129 label = "red:converter";
130 gpios = <&qcom_pinmux 15 GPIO_ACTIVE_HIGH>;
135 /* nand_pins are used for leds_pins, empty the node
139 /delete-property/ disable;
140 /delete-property/ pullups;
141 /delete-property/ hold;
145 pinctrl-0 = <&akro_pins>;
146 pinctrl-names = "default";
150 pins = "gpio18", "gpio19", "gpio21";
156 pins = "gpio18", "gpio19";
157 drive-strength = <10>;
162 drive-strength = <10>;
167 drive-strength = <12>;
171 buttons_pins: buttons_pins {
173 pins = "gpio22", "gpio24", "gpio40",
176 drive-strength = <2>;
181 leds_pins: leds_pins {
183 pins = "gpio14", "gpio15", "gpio35",
184 "gpio36", "gpio38", "gpio42",
185 "gpio43", "gpio46", "gpio55",
186 "gpio56", "gpio57", "gpio58";
192 pins = "gpio15", "gpio35", "gpio38",
193 "gpio42", "gpio43", "gpio46",
194 "gpio55", "gpio56", "gpio57",
196 drive-strength = <2>;
200 pins = "gpio14", "gpio36";
201 drive-strength = <4>;
206 * Stock firmware has the following settings, so let's do the same.
207 * I don't sure why these are required.
209 akro_pins: akro_pinmux {
211 pins = "gpio17", "gpio26", "gpio47";
213 drive-strength = <2>;
220 drive-strength = <2>;
228 drive-strength = <8>;
236 qcom,mode = <GSBI_PROT_SPI>;
241 pinctrl-0 = <&spi_pins>;
242 pinctrl-names = "default";
244 cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
247 compatible = "jedec,spi-nor";
249 spi-max-frequency = <50000000>;
253 compatible = "fixed-partitions";
254 #address-cells = <1>;
259 reg = <0x0000000 0x0020000>;
265 reg = <0x0020000 0x0020000>;
271 reg = <0x0040000 0x0040000>;
277 reg = <0x0080000 0x0080000>;
283 reg = <0x0100000 0x0010000>;
289 reg = <0x0110000 0x0010000>;
295 reg = <0x0120000 0x0080000>;
301 reg = <0x01a0000 0x0080000>;
307 reg = <0x0220000 0x0080000>;
313 reg = <0x02a0000 0x0010000>;
317 factory: partition@2b0000 {
318 label = "PRODUCTDATA";
319 reg = <0x02b0000 0x0030000>;
325 reg = <0x02e0000 0x0040000>;
327 compatible = "nvmem-cells";
328 #address-cells = <1>;
331 precal_ART_1000: precal@1000 {
332 reg = <0x1000 0x2f20>;
335 precal_ART_5000: precal@5000 {
336 reg = <0x5000 0x2f20>;
342 reg = <0x0320000 0x0040000>;
348 reg = <0x0360000 0x0500000>;
353 compatible = "denx,uimage";
355 reg = <0x0860000 0x17a0000>;
370 reg = <0x00000000 0 0 0 0>;
371 #address-cells = <3>;
376 compatible = "qcom,ath10k";
377 reg = <0x00010000 0 0 0 0>;
379 qcom,ath10k-calibration-variant = "NEC-Platforms-WG2600HP3";
381 nvmem-cells = <&macaddr_PRODUCTDATA_12>, <&precal_ART_1000>;
382 nvmem-cell-names = "mac-address", "pre-calibration";
392 reg = <0x00000000 0 0 0 0>;
393 #address-cells = <3>;
398 compatible = "qcom,ath10k";
399 reg = <0x00010000 0 0 0 0>;
401 ieee80211-freq-limit = <2400000 2483000>;
402 qcom,ath10k-calibration-variant = "NEC-Platforms-WG2600HP3";
404 nvmem-cells = <&macaddr_PRODUCTDATA_c>, <&precal_ART_5000>;
405 nvmem-cell-names = "mac-address", "pre-calibration";
413 pinctrl-0 = <&mdio0_pins>;
414 pinctrl-names = "default";
417 compatible = "qca,qca8337";
418 #address-cells = <1>;
423 #address-cells = <1>;
431 tx-internal-delay-ps = <1000>;
442 phy-mode = "internal";
443 phy-handle = <&phy_port1>;
449 phy-mode = "internal";
450 phy-handle = <&phy_port2>;
456 phy-mode = "internal";
457 phy-handle = <&phy_port3>;
463 phy-mode = "internal";
464 phy-handle = <&phy_port4>;
470 phy-mode = "internal";
471 phy-handle = <&phy_port5>;
490 #address-cells = <1>;
519 pinctrl-0 = <&rgmii2_pins>;
520 pinctrl-names = "default";
525 nvmem-cells = <&macaddr_factory_0>;
526 nvmem-cell-names = "mac-address";
539 nvmem-cells = <&macaddr_factory_6>;
540 nvmem-cell-names = "mac-address";
549 compatible = "nvmem-cells";
550 #address-cells = <1>;
553 macaddr_factory_0: macaddr@0 {
557 macaddr_factory_6: macaddr@6 {
561 macaddr_PRODUCTDATA_c: macaddr@c {
565 macaddr_PRODUCTDATA_12: macaddr@12 {