--- /dev/null
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+#include "qca956x.dtsi"
+
+/ {
+ model = "NEC Aterm WG800HP";
+ compatible = "nec,wg800hp", "qca,qca9563";
+
+ chosen {
+ bootargs = "console=ttyS0,115200n8";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_red;
+ led-running = &power_green;
+ led-upgrade = &power_green;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ pinctrl-names = "default";
+ pinctrl-0 = <&jtag_disable_pins>;
+
+ wlan2g_red {
+ label = "wg800hp:red:wlan2g";
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+ };
+
+ active_red {
+ label = "wg800hp:red:active";
+ gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
+ };
+
+ active_green {
+ label = "wg800hp:green:active";
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+ };
+
+ power_red: power_red {
+ label = "wg800hp:red:power";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ };
+
+ power_green: power_green {
+ label = "wg800hp:green:power";
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ };
+
+ wlan5g_red {
+ label = "wg800hp:red:wlan5g";
+ gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
+ };
+
+ wlan5g_green {
+ label = "wg800hp:green:wlan5g";
+ gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "phy0tpt";
+ };
+
+ wlan2g_green {
+ label = "wg800hp:green:wlan2g";
+ gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy1tpt";
+ };
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ br {
+ label = "br";
+ gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
+ linux,code = <BTN_0>;
+ linux,input-type = <EV_SW>;
+ debounce-interval = <60>;
+ };
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ debounce-interval = <60>;
+ };
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ debounce-interval = <60>;
+ };
+ };
+};
+
+&spi {
+ status = "okay";
+ num-cs = <1>;
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <25000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x000000 0x040000>;
+ read-only;
+ };
+
+ partition@40000 {
+ label = "u-boot-env";
+ reg = <0x040000 0x010000>;
+ read-only;
+ };
+
+ partition@50000 {
+ compatible = "denx,uimage";
+ label = "firmware";
+ reg = <0x050000 0x6f0000>;
+ };
+
+ partition@740000 {
+ label = "user_data";
+ reg = <0x740000 0x0a0000>;
+ read-only;
+ };
+
+ partition@7e0000 {
+ label = "board_data";
+ reg = <0x7e0000 0x010000>;
+ read-only;
+ };
+
+ art: partition@7f0000 {
+ label = "art";
+ reg = <0x7f0000 0x010000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&mdio0 {
+ status = "okay";
+
+ phy0: ethernet-phy@0 {
+ reg = <0>;
+
+ qca,ar8327-initvals = <
+ 0x04 0x00000080 /* PORT0 PAD MODE CTRL */
+ 0x50 0xcc35cc35 /* LED_CTRL0 */
+ 0x54 0xca35ca35 /* LED_CTRL1 */
+ 0x58 0xc935c935 /* LED_CTRL2 */
+ 0x5c 0x03ffff00 /* LED_CTRL3 */
+ 0x7c 0x0000007e /* PORT0_STATUS */
+ >;
+ };
+};
+
+ð0 {
+ status = "okay";
+
+ phy-mode = "sgmii";
+ phy-handle = <&phy0>;
+};
+
+&pcie {
+ status = "okay";
+};
+
+&uart {
+ status = "okay";
+};
+
+&wmac {
+ status = "okay";
+ qca,no-eeprom;
+};
endef
+define Build/nec-fw
+ ( stat -c%s $@ | tr -d "\n" | dd bs=16 count=1 conv=sync; ) >> $@
+ ( \
+ echo -n -e "$(1)" | dd bs=16 count=1 conv=sync; \
+ echo -n "0.0.00" | dd bs=16 count=1 conv=sync; \
+ dd if=$@; \
+ ) > $@.new
+ mv $@.new $@
+endef
+
define Device/avm_fritz300e
ATH_SOC := ar7242
DEVICE_TITLE := AVM FRITZ!WLAN Repeater 300E
endef
TARGET_DEVICES += iodata_wn-ag300dgr
+define Device/nec_wg800hp
+ ATH_SOC := qca9563
+ DEVICE_TITLE := NEC Aterm WG800HP
+ IMAGE_SIZE := 7104k
+ IMAGES += factory.bin
+ IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
+ append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
+ xor-image -p 6A57190601121E4C004C1E1201061957 -x | \
+ nec-fw LASER_ATERM
+ DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct-htt
+endef
+TARGET_DEVICES += nec_wg800hp
+
define Device/ocedo_koala
ATH_SOC := qca9558
DEVICE_TITLE := OCEDO Koala