[openwrt/openwrt] qualcommax: ipq50xx: load Linksys partition tables from SMEM

LEDE Commits lede-commits at lists.infradead.org
Sun Jan 4 10:07:43 PST 2026


robimarko pushed a commit to openwrt/openwrt.git, branch openwrt-25.12:
https://git.openwrt.org/facaa3d904614cffb826a44b5fb609ba3c763924

commit facaa3d904614cffb826a44b5fb609ba3c763924
Author: George Moussalem <george.moussalem at outlook.com>
AuthorDate: Tue Dec 9 15:04:56 2025 +0400

    qualcommax: ipq50xx: load Linksys partition tables from SMEM
    
    The partition table on Linksys devices with a Qualcomm AX IPQ SoC is
    stored in SMEM. As such, load partition table from SMEM rather than
    statically defining them in their respective device trees. This helps
    generalize the base template and requires less maintenance.
    
    Signed-off-by: George Moussalem <george.moussalem at outlook.com>
    Link: https://github.com/openwrt/openwrt/pull/21038
    Link: https://github.com/openwrt/openwrt/pull/21273
    Signed-off-by: Robert Marko <robimarko at gmail.com>
---
 .../arch/arm64/boot/dts/qcom/ipq5018-mx-base.dtsi  | 103 +--------------------
 .../etc/hotplug.d/firmware/11-ath11k-caldata       |   6 +-
 2 files changed, 5 insertions(+), 104 deletions(-)

diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq5018-mx-base.dtsi b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq5018-mx-base.dtsi
index a69385e17f..76c0384617 100644
--- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq5018-mx-base.dtsi
+++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq5018-mx-base.dtsi
@@ -120,76 +120,10 @@
 		nand-bus-width = <8>;
 
 		partitions {
-			compatible = "fixed-partitions";
-			#address-cells = <1>;
-			#size-cells = <1>;
+			compatible = "qcom,smem-part";
 
-			partition at 0 {
-				label = "0:SBL1";
-				reg = <0x00000000 0x80000>;
-				read-only;
-			};
-
-			partition at 80000 {
-				label = "0:MIBIB";
-				reg = <0x00080000 0x80000>;
-				read-only;
-			};
-
-			partition at 100000 {
-				label = "0:QSEE";
-				reg = <0x00100000 0x100000>;
-				read-only;
-			};
-
-			partition at 200000 {
-				label = "0:DEVCFG";
-				reg = <0x00200000 0x40000>;
-				read-only;
-			};
-
-			partition at 240000 {
-				label = "0:CDT";
-				reg = <0x00240000 0x40000>;
-				read-only;
-			};
-
-			partition at 280000 {
-				label = "0:APPSBLENV";
-				reg = <0x00280000 0x80000>;
-			};
-
-			partition at 300000 {
-				label = "0:APPSBL";
-				reg = <0x00300000 0x140000>;
-				read-only;
-			};
-
-			partition at 440000 {
-				label = "0:ART";
-				reg = <0x00440000 0x100000>;
-				read-only;
-			};
-
-			partition at 540000 {
-				label = "0:TRAINING";
-				reg = <0x00540000 0x80000>;
-				read-only;
-			};
-
-			partition at 5c0000 {
-				label = "u_env";
-				reg = <0x005c0000 0x80000>;
-			};
-
-			partition at 640000 {
-				label = "s_env";
-				reg = <0x00640000 0x40000>;
-			};
-
-			partition at 680000 {
+			partition-devinfo {
 				label = "devinfo";
-				reg = <0x00680000 0x40000>;
 				read-only;
 
 				nvmem-layout {
@@ -199,43 +133,10 @@
 
 					hw_mac_addr: hw_mac_addr {
 						compatible = "mac-base";
-
 						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
-
-			partition at 6c0000 {
-				label = "kernel";
-				reg = <0x006c0000 0x5200000>;
-			};
-
-			partition at ec0000 {
-				label = "rootfs";
-				reg = <0x0ec0000 0x4a00000>;
-			};
-
-			partition at 58c0000 {
-				label = "alt_kernel";
-				reg = <0x058c0000 0x5200000>;
-			};
-
-			partition at 60c0000 {
-				label = "alt_rootfs";
-				reg = <0x060c0000 0x4a00000>;
-			};
-
-			partition at aac0000 {
-				label = "sysdiag";
-				reg = <0x0aac0000 0x200000>;
-				read-only;
-			};
-
-			partition at acc0000 {
-				label = "syscfg";
-				reg = <0x0acc0000 0x4400000>;
-				read-only;
-			};
 		};
 	};
 };
diff --git a/target/linux/qualcommax/ipq50xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata b/target/linux/qualcommax/ipq50xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata
index c34aadf7d4..6cd00bf53c 100644
--- a/target/linux/qualcommax/ipq50xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata
+++ b/target/linux/qualcommax/ipq50xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata
@@ -25,7 +25,7 @@ case "$FIRMWARE" in
 	linksys,mx2000|\
 	linksys,mx5500|\
 	linksys,spnmx56)
-		caldata_extract "0:ART" 0x1000 0x20000
+		caldata_extract "0:art" 0x1000 0x20000
 		label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
 		ath11k_patch_mac $(macaddr_add $label_mac 1) 0
 		ath11k_remove_regdomain
@@ -59,7 +59,7 @@ case "$FIRMWARE" in
 		ath11k_set_macflag
 		;;
 	linksys,mx2000)
-		caldata_extract "0:ART" 0x26800 0x20000
+		caldata_extract "0:art" 0x26800 0x20000
 		label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
 		ath11k_patch_mac $(macaddr_add $label_mac 2) 0
 		ath11k_remove_regdomain
@@ -79,7 +79,7 @@ case "$FIRMWARE" in
 	linksys,mr5500|\
 	linksys,mx5500|\
 	linksys,spnmx56)
-		caldata_extract "0:ART" 0x26800 0x20000
+		caldata_extract "0:art" 0x26800 0x20000
 		label_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
 		ath11k_patch_mac $(macaddr_add $label_mac 2) 0
 		ath11k_remove_regdomain




More information about the lede-commits mailing list