From 2f4b6d0f89f1e6874a6452962d165884fca3cf3b Mon Sep 17 00:00:00 2001 From: Jan Forman Date: Mon, 31 Oct 2022 22:15:56 +0100 Subject: [PATCH] ath79: Convert calibration data to nvmem For D-link DIR-859 and DIR-869 Replace the mtd-cal-data by an nvmem-cell. Add the PCIe node for the ath10k radio to the devicetree. Thanks to DragonBlue for this patch Signed-off-by: Jan Forman --- .../ath79/dts/qca9563_dlink_dir-8x9-a1.dtsi | 37 ++++++++++++++++++- .../etc/hotplug.d/firmware/10-ath9k-eeprom | 1 - .../etc/hotplug.d/firmware/11-ath10k-caldata | 4 -- 3 files changed, 35 insertions(+), 7 deletions(-) diff --git a/target/linux/ath79/dts/qca9563_dlink_dir-8x9-a1.dtsi b/target/linux/ath79/dts/qca9563_dlink_dir-8x9-a1.dtsi index 65948ecb2229..556ba604a6b1 100644 --- a/target/linux/ath79/dts/qca9563_dlink_dir-8x9-a1.dtsi +++ b/target/linux/ath79/dts/qca9563_dlink_dir-8x9-a1.dtsi @@ -26,6 +26,14 @@ &pcie { status = "okay"; + + wifi@0,0 { + compatible = "qcom,ath10k"; + reg = <0x0000 0 0 0 0>; + + nvmem-cells = <&calibration_ath10k>, <&macaddr_devdata_94>; + nvmem-cell-names = "calibration", "mac-address-ascii"; + }; }; &spi { @@ -57,6 +65,18 @@ label = "devdata"; reg = <0x050000 0x10000>; read-only; + + compatible = "nvmem-cells"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_devdata_94: macaddr@94 { + reg = <0x94 0x11>; + }; + + macaddr_devdata_b0: macaddr@b0 { + reg = <0xb0 0x11>; + }; }; partition@60000 { @@ -71,10 +91,22 @@ reg = <0x070000 0xf80000>; }; - art: partition@ff0000 { + partition@ff0000 { label = "art"; reg = <0xff0000 0x010000>; read-only; + + compatible = "nvmem-cells"; + #address-cells = <1>; + #size-cells = <1>; + + calibration_ath9k: calibration@1000 { + reg = <0x1000 0x440>; + }; + + calibration_ath10k: calibration@5000 { + reg = <0x5000 0x844>; + }; }; }; }; @@ -114,5 +146,6 @@ &wmac { status = "okay"; - qca,no-eeprom; + nvmem-cells = <&calibration_ath9k>, <&macaddr_devdata_b0>; + nvmem-cell-names = "calibration", "mac-address-ascii"; }; diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom index 022f5e294777..a57479b87cf9 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom @@ -30,7 +30,6 @@ case "$FIRMWARE" in dlink,dir-842-c1|\ dlink,dir-842-c2|\ dlink,dir-842-c3|\ - dlink,dir-859-a1|\ nec,wf1200cr|\ nec,wg1200cr|\ wd,mynet-n600|\ diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index 4db311fde0ab..f0a3755de910 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -68,10 +68,6 @@ case "$FIRMWARE" in caldata_extract "art" 0x5000 0x844 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) -1) ;; - dlink,dir-859-a1) - caldata_extract "art" 0x5000 0x844 - ath10k_patch_mac $(mtd_get_mac_ascii devdata "wlan5mac") - ;; engenius,ecb1200|\ engenius,ecb1750) caldata_extract "art" 0x5000 0x844 -- 2.30.2