[openwrt/openwrt] ipq40xx: utilize nvmem-cells for plasmacloud,pa1200

LEDE Commits lede-commits at lists.infradead.org
Sun Nov 13 06:41:30 PST 2022


hauke pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/b8bda645fcbd1b8c3aafdf2ebd4d54893fdddd65

commit b8bda645fcbd1b8c3aafdf2ebd4d54893fdddd65
Author: Sven Eckelmann <sven at narfation.org>
AuthorDate: Tue Oct 25 09:12:16 2022 +0200

    ipq40xx: utilize nvmem-cells for plasmacloud,pa1200
    
    The calibration data and mac addresses on this device are stored in the
    0:ART partition. It is therefore possible to move the code to handle them
    directly to the devicetree instead of the various scripts.
    
    But the actual relevant information about the partition layout is provided
    by the bootloader via bootargs (mtdparts) and not via the devicetree
    itself. Instead of using a fixed-partition template, the mtd dynamic
    partitions support from the upstream kernel is used.
    
    Reported-by: Robert Marko <robert.marko at sartura.hr>
    Signed-off-by: Sven Eckelmann <sven at narfation.org>
---
 .../etc/hotplug.d/firmware/11-ath10k-caldata       |  2 --
 .../arch/arm/boot/dts/qcom-ipq4018-pa1200.dts      | 31 ++++++++++++++++++++++
 2 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
index 9cdbaa3d4e..246bc6ca21 100644
--- a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
+++ b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -76,7 +76,6 @@ case "$FIRMWARE" in
 		/usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1")
 		;;
 	cellc,rtl30vw |\
-	plasmacloud,pa1200 |\
 	plasmacloud,pa2200)
 		caldata_extract "0:ART" 0x1000 0x2f20
 		;;
@@ -171,7 +170,6 @@ case "$FIRMWARE" in
 		/usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1")
 		;;
 	cellc,rtl30vw |\
-	plasmacloud,pa1200 |\
 	plasmacloud,pa2200)
 		caldata_extract "0:ART" 0x5000 0x2f20
 		;;
diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-pa1200.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-pa1200.dts
index 4e08dd39d0..dac4adbd5f 100644
--- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-pa1200.dts
+++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-pa1200.dts
@@ -140,7 +140,32 @@
 		compatible = "jedec,spi-nor";
 		reg = <0>;
 		spi-max-frequency = <24000000>;
+
 		/* partitions are passed via bootloader */
+		partitions {
+			partition-art {
+				compatible = "nvmem-cells";
+				#address-cells = <1>;
+				#size-cells = <1>;
+				label = "0:ART";
+
+				precal_art_1000: precal at 1000 {
+					reg = <0x1000 0x2f20>;
+				};
+
+				precal_art_5000: precal at 5000 {
+					reg = <0x5000 0x2f20>;
+				};
+
+				macaddr_gmac0: macaddr at 0 {
+					reg = <0x0 0x6>;
+				};
+
+				macaddr_gmac1: macaddr at 6 {
+					reg = <0x6 0x6>;
+				};
+			};
+		};
 	};
 };
 
@@ -161,9 +186,15 @@
 &wifi0 {
 	status = "okay";
 	qcom,ath10k-calibration-variant = "PlasmaCloud-PA1200";
+
+	nvmem-cell-names = "pre-calibration";
+	nvmem-cells = <&precal_art_1000>;
 };
 
 &wifi1 {
 	status = "okay";
 	qcom,ath10k-calibration-variant = "PlasmaCloud-PA1200";
+
+	nvmem-cell-names = "pre-calibration";
+	nvmem-cells = <&precal_art_5000>;
 };




More information about the lede-commits mailing list