aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/boot/uboot-envtools/files/ath792
-rw-r--r--target/linux/ath79/dts/qca9563_glinet_gl-ar750s-nor-nand.dts18
-rw-r--r--target/linux/ath79/dts/qca9563_glinet_gl-ar750s-nor.dts18
-rw-r--r--target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi (renamed from target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dts)104
-rwxr-xr-xtarget/linux/ath79/generic/base-files/etc/board.d/02_network4
-rw-r--r--target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata3
-rw-r--r--target/linux/ath79/image/generic.mk10
-rw-r--r--target/linux/ath79/image/nand.mk31
-rwxr-xr-xtarget/linux/ath79/nand/base-files/etc/board.d/02_network5
-rw-r--r--target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/11-ath10k-caldata5
-rw-r--r--target/linux/ath79/nand/base-files/lib/upgrade/platform.sh4
11 files changed, 148 insertions, 56 deletions
diff --git a/package/boot/uboot-envtools/files/ath79 b/package/boot/uboot-envtools/files/ath79
index d34469cbf4..e31100877e 100644
--- a/package/boot/uboot-envtools/files/ath79
+++ b/package/boot/uboot-envtools/files/ath79
@@ -20,6 +20,8 @@ glinet,gl-ar300m-lite|\
glinet,gl-ar300m-nand|\
glinet,gl-ar300m-nor|\
glinet,gl-ar300m16|\
+glinet,gl-ar750s-nor|\
+glinet,gl-ar750s-nor-nand|\
librerouter,librerouter-v1|\
netgear,ex6400|\
netgear,ex7300|\
diff --git a/target/linux/ath79/dts/qca9563_glinet_gl-ar750s-nor-nand.dts b/target/linux/ath79/dts/qca9563_glinet_gl-ar750s-nor-nand.dts
new file mode 100644
index 0000000000..92d1fb9ba2
--- /dev/null
+++ b/target/linux/ath79/dts/qca9563_glinet_gl-ar750s-nor-nand.dts
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+/dts-v1/;
+
+#include "qca9563_glinet_gl-ar750s.dtsi"
+
+/ {
+ compatible = "glinet,gl-ar750s-nor-nand", "qca,qca9563";
+ model = "GL.iNet GL-AR750S (NOR/NAND)";
+};
+
+&nor_kernel {
+ label = "kernel";
+};
+
+&nand_ubi {
+ label = "ubi";
+};
diff --git a/target/linux/ath79/dts/qca9563_glinet_gl-ar750s-nor.dts b/target/linux/ath79/dts/qca9563_glinet_gl-ar750s-nor.dts
new file mode 100644
index 0000000000..bb33abd630
--- /dev/null
+++ b/target/linux/ath79/dts/qca9563_glinet_gl-ar750s-nor.dts
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+/dts-v1/;
+
+#include "qca9563_glinet_gl-ar750s.dtsi"
+
+/ {
+ compatible = "glinet,gl-ar750s-nor", "qca,qca9563";
+ model = "GL.iNet GL-AR750S (NOR)";
+};
+
+/delete-node/ &nor_kernel;
+/delete-node/ &nor_reserved;
+
+&nor_firmware {
+ compatible = "denx,uimage";
+ label = "firmware";
+};
diff --git a/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dts b/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi
index 3f9a091824..8250db55ad 100644
--- a/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dts
+++ b/target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi
@@ -1,4 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
@@ -19,6 +20,7 @@
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
+ label-mac-device = &eth0;
};
keys {
@@ -50,13 +52,13 @@
default-state = "keep";
};
- wlan2g {
+ led_wlan2g: wlan2g {
label = "gl-ar750s:green:wlan2g";
gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
- wlan5g {
+ led_wlan5g: wlan5g {
label = "gl-ar750s:green:wlan5g";
gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "phy0tpt";
@@ -69,32 +71,20 @@
sda-gpios = <&gpio 5 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
scl-gpios = <&gpio 21 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
};
-
- usb_vbus: regulator-usb-vbus {
- compatible = "regulator-fixed";
-
- regulator-name = "USB_VBUS";
-
- regulator-min-microvolt = <5000000>;
- regulator-max-microvolt = <5000000>;
- regulator-always-on;
-
- gpio = <&gpio 7 GPIO_ACTIVE_HIGH>;
- enable-active-high;
- };
};
&spi {
status = "okay";
- num-cs = <0>;
+ num-cs = <2>;
+ cs-gpios = <0>, <0>;
- flash@0 {
+ flash_nor: flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
- partitions {
+ nor_partitions: partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
@@ -116,38 +106,55 @@
read-only;
};
- partition@60000 {
- compatible = "denx,uimage";
- label = "firmware";
+ nor_firmware: partition@60000 {
+ label = "nor_firmware";
reg = <0x060000 0xfa0000>;
};
+
+ nor_kernel: partition_alt@60000 {
+ label = "nor_kernel";
+ reg = <0x060000 0x400000>;
+ };
+
+ nor_reserved: parition_alt@460000 {
+ label = "nor_reserved";
+ reg = <0x460000 0xba0000>;
+ };
};
};
-};
-&pcie {
- status = "okay";
-};
+ flash_nand: flash@1 {
+ compatible = "spi-nand";
+ reg = <1>;
+ spi-max-frequency = <25000000>;
-&uart {
- status = "okay";
-};
+ nand_partitions: partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
-&usb0 {
- status = "okay";
- vbus-supply = <&usb_vbus>;
+ nand_ubi: partition@0 {
+ label = "nand_ubi";
+ reg = <0x000000 0x8000000>;
+ };
+ };
+ };
};
-&usb_phy0 {
+&eth0 {
status = "okay";
-};
-&usb1 {
- status = "okay";
+ phy-handle = <&phy0>;
+ mtd-mac-address = <&art 0x0>;
};
-&usb_phy1 {
- status = "okay";
+&gpio {
+ usb_vbus {
+ gpio-hog;
+ gpios = <7 GPIO_ACTIVE_HIGH>;
+ output-high;
+ line-name = "usb-vbus";
+ };
};
&mdio0 {
@@ -165,11 +172,28 @@
};
};
-&eth0 {
+&pcie {
status = "okay";
+};
- mtd-mac-address = <&art 0x0>;
- phy-handle = <&phy0>;
+&uart {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+};
+
+&usb1 {
+ status = "okay";
+};
+
+&usb_phy0 {
+ status = "okay";
+};
+
+&usb_phy1 {
+ status = "okay";
};
&wmac {
diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network
index 3a896b55b0..07f3c4e83c 100755
--- a/target/linux/ath79/generic/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network
@@ -144,10 +144,6 @@ ath79_setup_interfaces()
ucidef_add_switch "switch0" \
"0@eth0" "1:lan" "2:lan"
;;
- glinet,gl-ar750s)
- ucidef_add_switch "switch0" \
- "0@eth0" "2:lan:2" "3:lan:1" "1:wan"
- ;;
iodata,etg3-r|\
iodata,wn-ac1167dgr|\
iodata,wn-ac1600dgr|\
diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
index b2ec803a72..f128e8759f 100644
--- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
+++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -46,8 +46,7 @@ case "$FIRMWARE" in
caldata_extract "art" 0x5000 0x844
ath10k_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +1)
;;
- glinet,gl-ar750|\
- glinet,gl-ar750s)
+ glinet,gl-ar750)
caldata_extract "art" 0x5000 0x844
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) +1)
;;
diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk
index 6fc51ec647..f2c228926e 100644
--- a/target/linux/ath79/image/generic.mk
+++ b/target/linux/ath79/image/generic.mk
@@ -578,16 +578,6 @@ define Device/glinet_gl-ar750
endef
TARGET_DEVICES += glinet_gl-ar750
-define Device/glinet_gl-ar750s
- ATH_SOC := qca9563
- DEVICE_VENDOR := GL.iNet
- DEVICE_MODEL := GL-AR750S
- DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9887-ct block-mount
- IMAGE_SIZE := 16000k
- SUPPORTED_DEVICES += gl-ar750s
-endef
-TARGET_DEVICES += glinet_gl-ar750s
-
define Device/glinet_gl-x750
ATH_SOC := qca9531
DEVICE_VENDOR := GL.iNet
diff --git a/target/linux/ath79/image/nand.mk b/target/linux/ath79/image/nand.mk
index f9961840f0..614a693285 100644
--- a/target/linux/ath79/image/nand.mk
+++ b/target/linux/ath79/image/nand.mk
@@ -75,6 +75,37 @@ define Device/glinet_gl-ar300m-nor
endef
TARGET_DEVICES += glinet_gl-ar300m-nor
+define Device/glinet_gl-ar750s-common
+ ATH_SOC := qca9563
+ DEVICE_VENDOR := GL.iNet
+ DEVICE_MODEL := GL-AR750S
+ DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct \
+ kmod-usb2 kmod-usb-storage block-mount
+ KERNEL_SIZE := 4096k
+ IMAGE_SIZE := 16000k
+ PAGESIZE := 2048
+ VID_HDR_OFFSET := 2048
+endef
+
+define Device/glinet_gl-ar750s-nor-nand
+ $(Device/glinet_gl-ar750s-common)
+ DEVICE_VARIANT := NOR/NAND
+ BLOCKSIZE := 128k
+ IMAGES += factory.img
+ IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+ SUPPORTED_DEVICES += glinet,gl-ar750s-nor
+endef
+TARGET_DEVICES += glinet_gl-ar750s-nor-nand
+
+define Device/glinet_gl-ar750s-nor
+ $(Device/glinet_gl-ar750s-common)
+ DEVICE_VARIANT := NOR
+ BLOCKSIZE := 64k
+ SUPPORTED_DEVICES += gl-ar750s glinet,gl-ar750s glinet,gl-ar750s-nor-nand
+endef
+TARGET_DEVICES += glinet_gl-ar750s-nor
+
# fake rootfs is mandatory, pad-offset 129 equals (2 * uimage_header + 0xff)
define Device/netgear_ath79_nand
DEVICE_VENDOR := NETGEAR
diff --git a/target/linux/ath79/nand/base-files/etc/board.d/02_network b/target/linux/ath79/nand/base-files/etc/board.d/02_network
index 9d7a19c2eb..36ddb5e83a 100755
--- a/target/linux/ath79/nand/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/nand/base-files/etc/board.d/02_network
@@ -11,6 +11,11 @@ ath79_setup_interfaces()
aerohive,hiveap-121)
ucidef_set_interface_lan "eth0"
;;
+ glinet,gl-ar750s-nor|\
+ glinet,gl-ar750s-nor-nand)
+ ucidef_add_switch "switch0" \
+ "0@eth0" "2:lan:2" "3:lan:1" "1:wan"
+ ;;
netgear,wndr4300)
ucidef_add_switch "switch0" \
"0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan"
diff --git a/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
index 433d6475dd..9305f061fe 100644
--- a/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
+++ b/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -9,6 +9,11 @@ board=$(board_name)
case "$FIRMWARE" in
"ath10k/cal-pci-0000:00:00.0.bin")
case $board in
+ glinet,gl-ar750s-nor|\
+ glinet,gl-ar750s-nor-nand)
+ caldata_extract "art" 0x5000 0x844
+ ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) +1)
+ ;;
zyxel,nbg6716)
caldata_extract "art" 0x5000 0x844
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) +1)
diff --git a/target/linux/ath79/nand/base-files/lib/upgrade/platform.sh b/target/linux/ath79/nand/base-files/lib/upgrade/platform.sh
index 69105b1668..15d88a361e 100644
--- a/target/linux/ath79/nand/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ath79/nand/base-files/lib/upgrade/platform.sh
@@ -18,6 +18,10 @@ platform_do_upgrade() {
glinet,gl-ar300m-nor)
glinet_nand_nor_do_upgrade "$1"
;;
+ glinet,gl-ar750s-nor|\
+ glinet,gl-ar750s-nor-nand)
+ nand_nor_do_upgrade "$1"
+ ;;
*)
nand_do_upgrade "$1"
;;