summaryrefslogtreecommitdiffstats
path: root/target/linux/ipq806x
diff options
context:
space:
mode:
authorAndrzej Mialkowski <andrzej.mialkowski@gmail.com>2023-05-19 04:09:54 -0700
committerChristian Marangi <ansuelsmth@gmail.com>2023-05-25 23:53:00 +0200
commitf2e1d373817c05aa9feac7fd67262010b4064d23 (patch)
tree56a92cee8f24498f14baa528ccd002d52ce70a34 /target/linux/ipq806x
parentae8db3941ce90f4b00dfeb36a428425cdc53144d (diff)
downloadopenwrt-f2e1d373817c05aa9feac7fd67262010b4064d23.tar.gz
openwrt-f2e1d373817c05aa9feac7fd67262010b4064d23.tar.bz2
openwrt-f2e1d373817c05aa9feac7fd67262010b4064d23.zip
ipq806x: Add support for Netgear Nighthawk Pro Gaming XR450
Motivation: Firmware with platform ID "XR450" required for easy installation. Manufacturer pages: Product page: https://www.netgear.com/support/product/xr450 Product Data Sheet: https://www.netgear.com/images/datasheet/networking/wifirouter/XR450.pdf Current firmware: https://www.downloads.netgear.com/files/GDC/XR450/XR450-V2.3.2.134.zip Specifications: Almost identical to Netgear XR500(https://openwrt.org/toh/hwdata/netgear/netgear_xr500) Differences: Platform ID: XR450, utilized for firmware validation WLAN 2.4GHz: b/g/n Supports QAM64 (XR500 QAM256) SoC: Qualcomm Atheros IPQ8065 RAM: 512 MB Storage: 256 MiB Wireless: Qualcomm Atheros QCA9984 Switch: Qualcomm Atheros AR8337 rev. 2 Ethernet: 5x 1000/100/10 USB: 2x 3.0 Install via WEB GUI (recommended): 1. Navigate within GUI to firmware update section 2. Select openwrt-ipq806x-netgear_xr450-squashfs-factory.img 3. Dismiss downgrade warning Install via TFTP recovery (same as XR500/R7800): 1. Configure host PC to use static address 192.168.1.10 https://openwrt.org/toh/netgear/r7800#prerequisites_for_tftp_flashing 2. Flash openwrt-ipq806x-netgear_xr450-squashfs-factory.img using procedure https://openwrt.org/toh/netgear/r7800#tftp_flashing_process Revert to stock firmware 1. Download current manufacturer firmware, decompress zip file to obtain img file 2. Use TFTP recovery method flash img file (currently XR450-V2.3.2.134.img) ipq806x: add support to netgear_xr450 Signed-off-by: Andrzej Mialkowski <andrzej.mialkowski@gmail.com>
Diffstat (limited to 'target/linux/ipq806x')
-rw-r--r--target/linux/ipq806x/base-files/etc/board.d/01_leds1
-rw-r--r--target/linux/ipq806x/base-files/etc/board.d/02_network1
-rw-r--r--target/linux/ipq806x/base-files/lib/upgrade/platform.sh1
-rw-r--r--target/linux/ipq806x/files-5.15/arch/arm/boot/dts/qcom-ipq8065-xr450.dts50
-rw-r--r--target/linux/ipq806x/image/generic.mk14
5 files changed, 67 insertions, 0 deletions
diff --git a/target/linux/ipq806x/base-files/etc/board.d/01_leds b/target/linux/ipq806x/base-files/etc/board.d/01_leds
index 82ca270dd6..d4d40bd646 100644
--- a/target/linux/ipq806x/base-files/etc/board.d/01_leds
+++ b/target/linux/ipq806x/base-files/etc/board.d/01_leds
@@ -37,6 +37,7 @@ netgear,d7800 |\
netgear,r7500 |\
netgear,r7500v2 |\
netgear,r7800 |\
+netgear,xr450 |\
netgear,xr500)
ucidef_set_led_usbport "usb1" "USB 1" "white:usb1" "usb1-port1" "usb2-port1"
ucidef_set_led_usbport "usb2" "USB 2" "white:usb2" "usb3-port1" "usb4-port1"
diff --git a/target/linux/ipq806x/base-files/etc/board.d/02_network b/target/linux/ipq806x/base-files/etc/board.d/02_network
index 8dd52452b1..70812a1013 100644
--- a/target/linux/ipq806x/base-files/etc/board.d/02_network
+++ b/target/linux/ipq806x/base-files/etc/board.d/02_network
@@ -59,6 +59,7 @@ nec,wg2600hp3)
"2:lan" "3:lan" "4:lan" "5:lan" "0@eth1" "1:wan" "6@eth0"
;;
netgear,r7800 |\
+netgear,xr450 |\
netgear,xr500 |\
tplink,c2600 |\
tplink,vr2600v)
diff --git a/target/linux/ipq806x/base-files/lib/upgrade/platform.sh b/target/linux/ipq806x/base-files/lib/upgrade/platform.sh
index 5ec4f513bd..108b0b7630 100644
--- a/target/linux/ipq806x/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ipq806x/base-files/lib/upgrade/platform.sh
@@ -17,6 +17,7 @@ platform_do_upgrade() {
netgear,r7500 |\
netgear,r7500v2 |\
netgear,r7800 |\
+ netgear,xr450 |\
netgear,xr500 |\
nokia,ac400i |\
qcom,ipq8064-ap148 |\
diff --git a/target/linux/ipq806x/files-5.15/arch/arm/boot/dts/qcom-ipq8065-xr450.dts b/target/linux/ipq806x/files-5.15/arch/arm/boot/dts/qcom-ipq8065-xr450.dts
new file mode 100644
index 0000000000..4353aec7ac
--- /dev/null
+++ b/target/linux/ipq806x/files-5.15/arch/arm/boot/dts/qcom-ipq8065-xr450.dts
@@ -0,0 +1,50 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "qcom-ipq8065-nighthawk.dtsi"
+
+/ {
+ model = "Netgear Nighthawk XR450";
+ compatible = "netgear,xr450", "qcom,ipq8065", "qcom,ipq8064";
+
+};
+
+&leds {
+ usb1 {
+ label = "white:usb1";
+ gpios = <&qcom_pinmux 8 GPIO_ACTIVE_HIGH>;
+ };
+
+ usb2 {
+ label = "white:usb2";
+ gpios = <&qcom_pinmux 26 GPIO_ACTIVE_HIGH>;
+ };
+};
+
+&partitions {
+ partition@1880000 {
+ label = "ubi";
+ reg = <0x1880000 0xce00000>;
+ };
+
+ partition@e680000 {
+ label = "reserve";
+ reg = <0xe680000 0x0780000>;
+ read-only;
+ };
+};
+
+&wifi0 {
+ nvmem-cells = <&macaddr_art_c>, <&precal_art_1000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
+};
+
+&wifi1 {
+ nvmem-cells = <&macaddr_art_0>, <&precal_art_5000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
+};
+
+&art {
+ macaddr_art_c: macaddr@c {
+ reg = <0xc 0x6>;
+ };
+};
diff --git a/target/linux/ipq806x/image/generic.mk b/target/linux/ipq806x/image/generic.mk
index b83999dd00..7ed2b80847 100644
--- a/target/linux/ipq806x/image/generic.mk
+++ b/target/linux/ipq806x/image/generic.mk
@@ -320,6 +320,20 @@ define Device/netgear_r7800
endef
TARGET_DEVICES += netgear_r7800
+define Device/netgear_xr450
+ $(call Device/DniImage)
+ DEVICE_VENDOR := NETGEAR
+ DEVICE_MODEL := Nighthawk XR450
+ SOC := qcom-ipq8065
+ KERNEL_SIZE := 4096k
+ NETGEAR_BOARD_ID := XR450
+ NETGEAR_HW_ID := 29764958+0+256+512+4x4+4x4+cascade
+ BLOCKSIZE := 128k
+ PAGESIZE := 2048
+ DEVICE_PACKAGES := ath10k-firmware-qca9984-ct kmod-ramoops
+endef
+TARGET_DEVICES += netgear_xr450
+
define Device/netgear_xr500
$(call Device/DniImage)
DEVICE_VENDOR := NETGEAR