From 00ed75f47f4726dff17c6d63d6847bc4f7a74970 Mon Sep 17 00:00:00 2001 From: Dmitry Tunin Date: Wed, 7 Aug 2019 23:07:33 +0300 Subject: [PATCH] ath79: add support of Netgear WNDR3800CH Add support for the ar71xx supported Netgear WNDR3800CH to ath79. The device is identical to WNDR3800 except NETGEAR_BOARD_ID. Signed-off-by: Dmitry Tunin Reviewed-by: Adrian Schmutzler --- .../ath79/base-files/etc/board.d/02_network | 3 +- .../etc/hotplug.d/firmware/10-ath9k-eeprom | 6 ++-- .../ath79/dts/ar7161_netgear_wndr3800ch.dts | 36 +++++++++++++++++++ target/linux/ath79/image/generic.mk | 11 ++++++ 4 files changed, 53 insertions(+), 3 deletions(-) create mode 100644 target/linux/ath79/dts/ar7161_netgear_wndr3800ch.dts diff --git a/target/linux/ath79/base-files/etc/board.d/02_network b/target/linux/ath79/base-files/etc/board.d/02_network index 2ed4ee010c..0608a1fc43 100755 --- a/target/linux/ath79/base-files/etc/board.d/02_network +++ b/target/linux/ath79/base-files/etc/board.d/02_network @@ -194,7 +194,8 @@ ath79_setup_interfaces() ;; netgear,wndr3700|\ netgear,wndr3700v2|\ - netgear,wndr3800) + netgear,wndr3800|\ + netgear,wndr3800ch) ucidef_set_interfaces_lan_wan "eth0" "eth1" ucidef_add_switch "switch0" \ "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5u@eth0" diff --git a/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom index 63879cca47..25d82a5f0d 100644 --- a/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom +++ b/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom @@ -208,7 +208,8 @@ case "$FIRMWARE" in buffalo,wzr-hp-ag300h|\ netgear,wndr3700|\ netgear,wndr3700v2|\ - netgear,wndr3800) + netgear,wndr3800|\ + netgear,wndr3800ch) ath9k_eeprom_extract "art" 0x1000 0xeb8 ;; dlink,dir-825-b1) @@ -225,7 +226,8 @@ case "$FIRMWARE" in buffalo,wzr-hp-ag300h|\ netgear,wndr3700|\ netgear,wndr3700v2|\ - netgear,wndr3800) + netgear,wndr3800|\ + netgear,wndr3800ch) ath9k_eeprom_extract "art" 0x5000 0xeb8 ;; dlink,dir-825-b1) diff --git a/target/linux/ath79/dts/ar7161_netgear_wndr3800ch.dts b/target/linux/ath79/dts/ar7161_netgear_wndr3800ch.dts new file mode 100644 index 0000000000..84a859b8ca --- /dev/null +++ b/target/linux/ath79/dts/ar7161_netgear_wndr3800ch.dts @@ -0,0 +1,36 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "ar7161_netgear_wndr3700.dtsi" + +/ { + compatible = "netgear,wndr3800ch", "qca,ar7161"; + model = "Netgear WNDR3800CH"; +}; + +&partitions { + partition@0 { + label = "u-boot"; + reg = <0x000000 0x050000>; + read-only; + }; + + partition@50000 { + label = "u-boot-env"; + reg = <0x050000 0x020000>; + read-only; + }; + + partition@70000 { + label = "firmware"; + reg = <0x070000 0xf80000>; + compatible = "netgear,uimage"; + }; + + art: partition@ff0000 { + label = "art"; + reg = <0xff0000 0x010000>; + read-only; + }; +}; + diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index 9ffb724c5f..3ae771b665 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -773,6 +773,17 @@ define Device/netgear_wndr3800 endef TARGET_DEVICES += netgear_wndr3800 +define Device/netgear_wndr3800ch + $(Device/netgear_wndr3x00) + DEVICE_MODEL := WNDR3800CH + NETGEAR_KERNEL_MAGIC := 0x33373031 + NETGEAR_BOARD_ID := WNDR3800CH + NETGEAR_HW_ID := 29763654+16+128 + IMAGE_SIZE := 15872k + SUPPORTED_DEVICES += wndr3800ch +endef +TARGET_DEVICES += netgear_wndr3800ch + define Device/ocedo_koala ATH_SOC := qca9558 DEVICE_VENDOR := Ocedo