[openwrt/openwrt] ipq806x: convert TP-Link Archer VR2600v to denx,uimage

LEDE Commits lede-commits at lists.infradead.org
Sun Feb 6 08:14:53 PST 2022


chunkeey pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/f6a01d7f5c3d945f031cf24ab66066806dd62db3

commit f6a01d7f5c3d945f031cf24ab66066806dd62db3
Author: Christian Lamparter <chunkeey at gmail.com>
AuthorDate: Sun Feb 6 14:24:32 2022 +0100

    ipq806x: convert TP-Link Archer VR2600v to denx,uimage
    
    The recent device-tree modification that added pre-cal
    nvmem-cells pushed the device's kernel+dtb over the
    allotted 3072k KERNEL_SIZE.
    
    > WARNING: Image file tplink_vr2600v-uImage is too big: 3147214 > 3145728
    
    There was a previous kernel partition size upgrade:
    commit 0c967d92b3d9 ("ipq806x: increase kernel partition size for the TP-Link Archer VR2600v")
    It has been seemingly upgraded from a 2048k KERNEL_SIZE in the past.
    The commit talks about using the MTD_SPLIT_TPLINK_FW. But looking at
    the image make recipe, there is no code that adds a TPLINK header.
    So instead the board will use "denx,umimage". This requires
    MTD_SPLIT_UIMAGE_FW, but this is present thanks to some NEC devices.
    
    (Maybe the MTD_CONFIG_ARGS can be removed as well? But it could be
    there because of the padding at the beginning. This needs testing.)
    
    Signed-off-by: Christian Lamparter <chunkeey at gmail.com>
---
 target/linux/ipq806x/base-files/lib/upgrade/platform.sh      |  1 -
 .../ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts | 12 +++++-------
 target/linux/ipq806x/image/generic.mk                        |  5 ++---
 3 files changed, 7 insertions(+), 11 deletions(-)

diff --git a/target/linux/ipq806x/base-files/lib/upgrade/platform.sh b/target/linux/ipq806x/base-files/lib/upgrade/platform.sh
index 3d96457dbd..84ffcd8a15 100644
--- a/target/linux/ipq806x/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ipq806x/base-files/lib/upgrade/platform.sh
@@ -57,7 +57,6 @@ platform_do_upgrade() {
 		default_do_upgrade "$1"
 		;;
 	tplink,vr2600v)
-		PART_NAME="kernel:rootfs"
 		MTD_CONFIG_ARGS="-s 0x200000"
 		default_do_upgrade "$1"
 		;;
diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts
index 3aec856823..23fe3c9f78 100644
--- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts
+++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts
@@ -249,15 +249,13 @@
 				read-only;
 			};
 
-			kernel at 320000 {
-				label = "kernel";
-				reg = <0x320000 0x300000>;
+			partition at 320000 {
+				label = "firmware";
+				reg = <0x320000 0xc60000>;
+				compatible = "denx,uimage";
 			};
 
-			rootfs at 620000 {
-				label = "rootfs";
-				reg = <0x620000 0x960000>;
-			};
+			/* hole 0xf80000 - 0xfaf100 */
 
 			defaultmac: default-mac at 0xfaf100 {
 				label = "default-mac";
diff --git a/target/linux/ipq806x/image/generic.mk b/target/linux/ipq806x/image/generic.mk
index 524eb98226..4fdf656b4b 100644
--- a/target/linux/ipq806x/image/generic.mk
+++ b/target/linux/ipq806x/image/generic.mk
@@ -408,7 +408,7 @@ define Device/tplink_vr2600v
 	KERNEL_SUFFIX := -uImage
 	KERNEL = kernel-bin | append-dtb | uImage none
 	KERNEL_NAME := zImage
-	KERNEL_SIZE := 3072k
+	IMAGE_SIZE := 12672k
 	SOC := qcom-ipq8064
 	BLOCKSIZE := 128k
 	PAGESIZE := 2048
@@ -416,8 +416,7 @@ define Device/tplink_vr2600v
 	SUPPORTED_DEVICES += vr2600v
 	DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
 	IMAGE/sysupgrade.bin := pad-extra 512 | append-kernel | \
-		pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | \
-		append-metadata
+		append-rootfs | pad-rootfs | append-metadata
 endef
 TARGET_DEVICES += tplink_vr2600v
 



More information about the lede-commits mailing list