From 961d4230f4a5ebf79ff350d4ee4593a21f8bb4ec Mon Sep 17 00:00:00 2001 From: INAGAKI Hiroshi Date: Wed, 19 Oct 2022 23:57:34 +0900 Subject: [PATCH] ath79: use NVMEM for wlan caldata on ELECOM devices Use NVMEM "calibration" implementation for ath9k/ath10k(-ct) on ELECOM WRC-300GHBK2-I and WRC-1750GHBK2-I/C instead of mtd-cal-data property or user-space script. Signed-off-by: INAGAKI Hiroshi --- .../dts/qca9563_elecom_wrc-1750ghbk2-i.dts | 36 +++++++++++++------ .../dts/qca9563_elecom_wrc-300ghbk2-i.dts | 25 +++++++------ .../etc/hotplug.d/firmware/11-ath10k-caldata | 3 -- 3 files changed, 39 insertions(+), 25 deletions(-) diff --git a/target/linux/ath79/dts/qca9563_elecom_wrc-1750ghbk2-i.dts b/target/linux/ath79/dts/qca9563_elecom_wrc-1750ghbk2-i.dts index 510b577d19..f7358891b0 100644 --- a/target/linux/ath79/dts/qca9563_elecom_wrc-1750ghbk2-i.dts +++ b/target/linux/ath79/dts/qca9563_elecom_wrc-1750ghbk2-i.dts @@ -44,11 +44,34 @@ label = "art"; reg = <0xff0000 0x010000>; read-only; + + compatible = "nvmem-cells"; + #address-cells = <1>; + #size-cells = <1>; + + cal_art_1000: cal@1000 { + reg = <0x1000 0x440>; + }; + + macaddr_art_1002: macaddr@1002 { + reg = <0x1002 0x6>; + }; + + cal_art_5000: cal@5000 { + reg = <0x5000 0x844>; + }; }; }; &pcie { status = "okay"; + + wifi@0,0 { + compatible = "qcom,ath10k"; + reg = <0x0 0 0 0 0>; + nvmem-cells = <&cal_art_5000>; + nvmem-cell-names = "calibration"; + }; }; ð0 { @@ -58,15 +81,6 @@ }; &wmac { - mtd-cal-data = <&art 0x1000>; -}; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_1002: macaddr@1002 { - reg = <0x1002 0x6>; - }; + nvmem-cells = <&cal_art_1000>; + nvmem-cell-names = "calibration"; }; diff --git a/target/linux/ath79/dts/qca9563_elecom_wrc-300ghbk2-i.dts b/target/linux/ath79/dts/qca9563_elecom_wrc-300ghbk2-i.dts index 28ffce6434..5ffff57b48 100644 --- a/target/linux/ath79/dts/qca9563_elecom_wrc-300ghbk2-i.dts +++ b/target/linux/ath79/dts/qca9563_elecom_wrc-300ghbk2-i.dts @@ -38,6 +38,18 @@ label = "art"; reg = <0x7f0000 0x010000>; read-only; + + compatible = "nvmem-cells"; + #address-cells = <1>; + #size-cells = <1>; + + cal_art_1000: cal@1000 { + reg = <0x1000 0x440>; + }; + + macaddr_art_1002: macaddr@1002 { + reg = <0x1002 0x6>; + }; }; }; @@ -48,15 +60,6 @@ }; &wmac { - mtd-cal-data = <&art 0x1000>; -}; - -&art { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_art_1002: macaddr@1002 { - reg = <0x1002 0x6>; - }; + nvmem-cells = <&cal_art_1000>; + nvmem-cell-names = "calibration"; }; 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 57e59a89d6..8783b137ca 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 @@ -74,9 +74,6 @@ case "$FIRMWARE" in caldata_extract "art" 0x5000 0x844 ath10k_patch_mac $(mtd_get_mac_ascii devdata "wlan5mac") ;; - elecom,wrc-1750ghbk2-i) - caldata_extract "art" 0x5000 0x844 - ;; engenius,ecb1200|\ engenius,ecb1750) caldata_extract "art" 0x5000 0x844