ath79: switch TP-Link RE355 v1, RE450 v1 and RE450 v2 to mtd-concat

This patch utilizes unused and empty flash space in the original partition
layout and increase maximum image size by 1664 KiB.

Tested on RE450v1 by running sysupgrade with build of size 5697 KiB and
checking that df shows 1988 1K-blocks for "/overlay".

Inspired by commit ebd5e5fb53 ("ramips: switched TP-Link RE305 v1 to new
partition layout").

Signed-off-by: Radek Dostál <rd@radekdostal.com>
Link: https://github.com/openwrt/openwrt/pull/20709
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Radek Dostál 2025-11-09 18:31:47 +01:00 committed by Hauke Mehrtens
parent a03bd9d9a8
commit e768731dc8
4 changed files with 59 additions and 8 deletions

View file

@ -98,6 +98,21 @@
reset-gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
};
};
virtual_flash {
compatible = "mtd-concat";
devices = <&fwconcat0>, <&fwconcat1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
compatible = "tplink,firmware";
label = "firmware";
reg = <0x0 0x0>;
};
};
};
};
&pcie0 {
@ -130,9 +145,8 @@
read-only;
};
partition@20000 {
compatible = "tplink,firmware";
label = "firmware";
fwconcat0: partition@20000 {
label = "fwconcat0";
reg = <0x020000 0x5e0000>;
};
@ -166,6 +180,11 @@
read-only;
};
fwconcat1: partition@650000 {
label = "fwconcat1";
reg = <0x650000 0x1a0000>;
};
partition@7f0000 {
label = "art";
reg = <0x7f0000 0x010000>;

View file

@ -9,6 +9,21 @@
aliases {
label-mac-device = &eth0;
};
virtual_flash {
compatible = "mtd-concat";
devices = <&fwconcat0>, <&fwconcat1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
compatible = "tplink,firmware";
label = "firmware";
reg = <0x0 0x0>;
};
};
};
};
&partitions {
@ -18,9 +33,8 @@
read-only;
};
partition@20000 {
compatible = "tplink,firmware";
label = "firmware";
fwconcat0: partition@20000 {
compatible = "fwconcat0";
reg = <0x020000 0x5e0000>;
};
@ -54,6 +68,11 @@
read-only;
};
fwconcat1: partition@650000 {
label = "fwconcat1";
reg = <0x650000 0x1a0000>;
};
partition@7f0000 {
label = "art";
reg = <0x7f0000 0x010000>;

View file

@ -3,8 +3,12 @@ include ./common-tp-link.mk
define Device/tplink_rex5x-v1
$(Device/tplink-safeloader)
SOC := qca9558
IMAGE_SIZE := 6016k
IMAGE_SIZE := 7680k
KERNEL_SIZE := 6016k
DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct
DEVICE_COMPAT_VERSION := 2.0
DEVICE_COMPAT_MESSAGE := Partition layout has changed compared to older versions by utilizing unused flash. \
Upgrade via sysupgrade mechanism (-F) will only work if flashed image still fits to the size of old partition (6016 KiB).
DEFAULT := n
endef
@ -29,10 +33,14 @@ TARGET_DEVICES += tplink_re450-v1
define Device/tplink_re450-v2
$(Device/tplink-safeloader)
SOC := qca9563
IMAGE_SIZE := 6016k
IMAGE_SIZE := 7680k
KERNEL_SIZE := 6016k
DEVICE_MODEL := RE450
DEVICE_VARIANT := v2
DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct
DEVICE_COMPAT_VERSION := 2.0
DEVICE_COMPAT_MESSAGE := Partition layout has changed compared to older versions by utilizing unused flash. \
Upgrade via sysupgrade mechanism (-F) will only work if flashed image still fits to the size of old partition (6016 KiB).
TPLINK_BOARD_ID := RE450-V2
LOADER_TYPE := elf
DEFAULT := n

View file

@ -13,6 +13,11 @@ case "$(board_name)" in
tplink,tl-wpa8630p-v2.1-eu)
ucidef_set_compat_version "2.0"
;;
tplink,re355-v1|\
tplink,re450-v1|\
tplink,re450-v2)
ucidef_set_compat_version "2.0"
;;
esac
board_config_flush