diff --git a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index e8934b8306..256f3d129c 100644 --- a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -32,10 +32,6 @@ case "$FIRMWARE" in tplink,onhub) base64_extract /sys/firmware/vpd/ro/wifi_base64_calibration0 ;; - meraki,mr52) - CI_UBIPART=art - caldata_extract_ubi "ART" 0x1000 0x844 - ;; esac ;; "ath10k/pre-cal-pci-0000:01:00.0.bin") @@ -43,10 +39,6 @@ case "$FIRMWARE" in asrock,g10) caldata_extract "0:art" 0x1000 0x2f20 ;; - meraki,mr42) - CI_UBIPART=art - caldata_extract_ubi "ART" 0x1000 0x2f20 - ;; esac ;; "ath10k/cal-pci-0001:01:00.0.bin") @@ -65,11 +57,6 @@ case "$FIRMWARE" in edgecore,ecw5410) caldata_extract "0:art" 0x1000 0x2f20 ;; - meraki,mr42|\ - meraki,mr52) - CI_UBIPART=art - caldata_extract_ubi "ART" 0x5000 0x2f20 - ;; esac ;; "ath10k/cal-pci-0002:01:00.0.bin") @@ -78,10 +65,6 @@ case "$FIRMWARE" in tplink,onhub) base64_extract /sys/firmware/vpd/ro/wifi_base64_calibration2 ;; - meraki,mr42) - CI_UBIPART=art - caldata_extract_ubi "ART" 0x9000 0x844 - ;; esac ;; "ath10k/pre-cal-pci-0002:01:00.0.bin") @@ -89,10 +72,6 @@ case "$FIRMWARE" in edgecore,ecw5410) caldata_extract "0:art" 0x5000 0x2f20 ;; - meraki,mr52) - CI_UBIPART=art - caldata_extract_ubi "ART" 0x9000 0x2f20 - ;; esac ;; *) diff --git a/target/linux/ipq806x/dts/qcom-ipq8068-cryptid-common.dtsi b/target/linux/ipq806x/dts/qcom-ipq8068-cryptid-common.dtsi index c38ded86ee..69b39a3afe 100644 --- a/target/linux/ipq806x/dts/qcom-ipq8068-cryptid-common.dtsi +++ b/target/linux/ipq806x/dts/qcom-ipq8068-cryptid-common.dtsi @@ -194,6 +194,22 @@ partition@36c0000 { label = "ubi"; reg = <0x36c0000 0x46c0000>; + + volumes { + ubi-volume-art { + volname = "ART"; + + art_nvmem: nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + precal_art_5000: pre-calibration@5000 { + reg = <0x5000 0x2f20>; + }; + }; + }; + }; }; partition@7d80000 { diff --git a/target/linux/ipq806x/dts/qcom-ipq8068-mr42.dts b/target/linux/ipq806x/dts/qcom-ipq8068-mr42.dts index 7ec11de56b..82ccfd2b74 100644 --- a/target/linux/ipq806x/dts/qcom-ipq8068-mr42.dts +++ b/target/linux/ipq806x/dts/qcom-ipq8068-mr42.dts @@ -193,19 +193,29 @@ }; }; +&art_nvmem { + precal_art_1000: pre-calibration@1000 { + reg = <0x1000 0x2f20>; + }; + + cal_art_9000: calibration@9000 { + reg = <0x9000 0x844>; + }; +}; + &wifi0 { - nvmem-cells = <&mac_address 1>; - nvmem-cell-names = "mac-address"; + nvmem-cells = <&precal_art_1000>, <&mac_address 1>; + nvmem-cell-names = "pre-calibration", "mac-address"; }; &wifi1 { - nvmem-cells = <&mac_address 2>; - nvmem-cell-names = "mac-address"; + nvmem-cells = <&precal_art_5000>, <&mac_address 2>; + nvmem-cell-names = "pre-calibration", "mac-address"; }; &wifi2 { - nvmem-cells = <&mac_address 3>; - nvmem-cell-names = "mac-address"; + nvmem-cells = <&cal_art_9000>, <&mac_address 3>; + nvmem-cell-names = "calibration", "mac-address"; }; &hs_phy_0 { diff --git a/target/linux/ipq806x/dts/qcom-ipq8068-mr52.dts b/target/linux/ipq806x/dts/qcom-ipq8068-mr52.dts index 97b280e201..479f66686e 100644 --- a/target/linux/ipq806x/dts/qcom-ipq8068-mr52.dts +++ b/target/linux/ipq806x/dts/qcom-ipq8068-mr52.dts @@ -218,19 +218,29 @@ }; }; +&art_nvmem { + cal_art_1000: calibration@1000 { + reg = <0x1000 0x844>; + }; + + precal_art_9000: pre-calibration@9000 { + reg = <0x9000 0x2f20>; + }; +}; + &wifi0 { - nvmem-cells = <&mac_address 4>; - nvmem-cell-names = "mac-address"; + nvmem-cells = <&cal_art_1000>, <&mac_address 4>; + nvmem-cell-names = "calibration", "mac-address"; }; &wifi1 { - nvmem-cells = <&mac_address 3>; - nvmem-cell-names = "mac-address"; + nvmem-cells = <&precal_art_5000>, <&mac_address 3>; + nvmem-cell-names = "pre-calibration", "mac-address"; }; &wifi2 { - nvmem-cells = <&mac_address 2>; - nvmem-cell-names = "mac-address"; + nvmem-cells = <&precal_art_9000>, <&mac_address 2>; + nvmem-cell-names = "pre-calibration", "mac-address"; }; &hs_phy_0 {