From: Sven Eckelmann Date: Tue, 25 Oct 2022 07:12:16 +0000 (+0200) Subject: ipq40xx: utilize nvmem-cells for plasmacloud,pa1200 X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=b8bda645fcbd1b8c3aafdf2ebd4d54893fdddd65;p=openwrt%2Fstaging%2Fjow.git 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 Signed-off-by: Sven Eckelmann --- 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@1000 { + reg = <0x1000 0x2f20>; + }; + + precal_art_5000: precal@5000 { + reg = <0x5000 0x2f20>; + }; + + macaddr_gmac0: macaddr@0 { + reg = <0x0 0x6>; + }; + + macaddr_gmac1: macaddr@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>; };