[openwrt/openwrt] ipq806x: utilize nvmem-cells for pre-calibration data
LEDE Commits
lede-commits at lists.infradead.org
Sat Feb 5 05:01:57 PST 2022
chunkeey pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/20470580cd271de1e6017c88261b577ed4773476
commit 20470580cd271de1e6017c88261b577ed4773476
Author: Christian Lamparter <chunkeey at gmail.com>
AuthorDate: Tue Dec 28 00:30:13 2021 +0100
ipq806x: utilize nvmem-cells for pre-calibration data
converts extraction entries from 11-ath10k-caldata into
nvmem-cells in the individual board's device-tree file.
The patch also moves previously existing referenced
nvmem-cells data nodes which were placed at the end
back into the partitions node. As well as removing
some duplicated properties from qcom-ipq8065-xr500.dts's
art (the included nighthawk.dtsi defines those already).
Signed-off-by: Christian Lamparter <chunkeey at gmail.com>
---
.../etc/hotplug.d/firmware/11-ath10k-caldata | 32 ------------
.../arch/arm/boot/dts/qcom-ipq8062-wg2600hp3.dts | 19 +++++--
.../arm/boot/dts/qcom-ipq8064-ad7200-c2600.dtsi | 19 +++++--
.../files/arch/arm/boot/dts/qcom-ipq8064-d7800.dts | 43 +++++++++-------
.../arch/arm/boot/dts/qcom-ipq8064-r7500v2.dts | 43 +++++++++-------
.../arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts | 20 ++++++--
.../arch/arm/boot/dts/qcom-ipq8064-wg2600hp.dts | 19 +++++--
.../arch/arm/boot/dts/qcom-ipq8064-wxr-2533dhp.dts | 60 ++++++++++++----------
.../arch/arm/boot/dts/qcom-ipq8065-nighthawk.dtsi | 33 +++++++-----
.../files/arch/arm/boot/dts/qcom-ipq8065-r7800.dts | 8 +--
.../files/arch/arm/boot/dts/qcom-ipq8065-xr500.dts | 12 ++---
11 files changed, 169 insertions(+), 139 deletions(-)
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 78315d4516..4a474766d5 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
@@ -23,12 +23,6 @@ case "$FIRMWARE" in
asrock,g10)
caldata_extract "0:art" 0x1000 0x2f20
;;
- buffalo,wxr-2533dhp |\
- nec,wg2600hp |\
- nec,wg2600hp3 |\
- tplink,vr2600v)
- caldata_extract "ART" 0x1000 0x2f20
- ;;
linksys,ea7500-v1 |\
linksys,ea8500)
caldata_extract "art" 0x1000 0x2f20
@@ -38,16 +32,6 @@ case "$FIRMWARE" in
CI_UBIPART=art
caldata_extract_ubi "ART" 0x1000 0x2f20
;;
- netgear,d7800 |\
- netgear,r7500v2 |\
- netgear,r7800 |\
- netgear,xr500)
- caldata_extract "art" 0x1000 0x2f20
- ;;
- tplink,ad7200 |\
- tplink,c2600)
- caldata_extract "radio" 0x1000 0x2f20
- ;;
zyxel,nbg6817)
caldata_extract "0:art" 0x1000 0x2f20
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii 0:appsblenv ethaddr) 1)
@@ -62,12 +46,6 @@ case "$FIRMWARE" in
asrock,g10)
caldata_extract "0:art" 0x5000 0x2f20
;;
- buffalo,wxr-2533dhp |\
- nec,wg2600hp |\
- nec,wg2600hp3 |\
- tplink,vr2600v)
- caldata_extract "ART" 0x5000 0x2f20
- ;;
edgecore,ecw5410)
caldata_extract "0:art" 0x1000 0x2f20
;;
@@ -81,16 +59,6 @@ case "$FIRMWARE" in
CI_UBIPART=art
caldata_extract_ubi "ART" 0x5000 0x2f20
;;
- netgear,d7800 |\
- netgear,r7500v2 |\
- netgear,r7800 |\
- netgear,xr500)
- caldata_extract "art" 0x5000 0x2f20
- ;;
- tplink,ad7200 |\
- tplink,c2600)
- caldata_extract "radio" 0x5000 0x2f20
- ;;
zyxel,nbg6817)
caldata_extract "0:art" 0x5000 0x2f20
ath10k_patch_mac $(mtd_get_mac_ascii 0:appsblenv ethaddr)
diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8062-wg2600hp3.dts b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8062-wg2600hp3.dts
index 8f1bb74540..c1c21856ca 100644
--- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8062-wg2600hp3.dts
+++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8062-wg2600hp3.dts
@@ -317,6 +317,17 @@
label = "ART";
reg = <0x02e0000 0x0040000>;
read-only;
+ compatible = "nvmem-cells";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ precal_ART_1000: precal at 1000 {
+ reg = <0x1000 0x2f20>;
+ };
+
+ precal_ART_5000: precal at 5000 {
+ reg = <0x5000 0x2f20>;
+ };
};
partition at 320000 {
@@ -360,8 +371,8 @@
qcom,ath10k-calibration-variant = "NEC-Platforms-WG2600HP3";
- nvmem-cells = <&macaddr_PRODUCTDATA_12>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_PRODUCTDATA_12>, <&precal_ART_1000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
};
};
};
@@ -383,8 +394,8 @@
ieee80211-freq-limit = <2400000 2483000>;
qcom,ath10k-calibration-variant = "NEC-Platforms-WG2600HP3";
- nvmem-cells = <&macaddr_PRODUCTDATA_c>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_PRODUCTDATA_c>, <&precal_ART_5000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
};
};
};
diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-ad7200-c2600.dtsi b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-ad7200-c2600.dtsi
index 5842c34c16..115c6d43d2 100644
--- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-ad7200-c2600.dtsi
+++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-ad7200-c2600.dtsi
@@ -151,6 +151,17 @@
label = "radio";
reg = <0x1b0000 0x40000>;
read-only;
+ compatible = "nvmem-cells";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ precal_radio_1000: precal at 1000 {
+ reg = <0x1000 0x2f20>;
+ };
+
+ precal_radio_5000: precal at 5000 {
+ reg = <0x5000 0x2f20>;
+ };
};
partition at 1f0000 {
@@ -266,8 +277,8 @@
compatible = "pci168c,0040";
reg = <0x00010000 0 0 0 0>;
- nvmem-cells = <&macaddr_defaultmac_8>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_defaultmac_8>, <&precal_radio_1000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
mac-address-increment = <(-1)>;
};
};
@@ -287,8 +298,8 @@
compatible = "pci168c,0040";
reg = <0x00010000 0 0 0 0>;
- nvmem-cells = <&macaddr_defaultmac_8>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_defaultmac_8>, <&precal_radio_5000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
};
};
};
diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-d7800.dts b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-d7800.dts
index 16a6ca0076..b8314a6bd0 100644
--- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-d7800.dts
+++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-d7800.dts
@@ -193,8 +193,8 @@
compatible = "pci168c,0040";
reg = <0x00010000 0 0 0 0>;
- nvmem-cells = <&macaddr_art_6>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_art_6>, <&precal_art_1000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
mac-address-increment = <(1)>;
};
};
@@ -217,8 +217,8 @@
compatible = "pci168c,0040";
reg = <0x00010000 0 0 0 0>;
- nvmem-cells = <&macaddr_art_6>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_art_6>, <&precal_art_5000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
mac-address-increment = <(2)>;
};
};
@@ -274,10 +274,29 @@
read-only;
};
- art: art at 1200000 {
+ art at 1200000 {
label = "art";
reg = <0x1200000 0x0140000>;
read-only;
+ compatible = "nvmem-cells";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ macaddr_art_0: macaddr at 0 {
+ reg = <0x0 0x6>;
+ };
+
+ macaddr_art_6: macaddr at 6 {
+ reg = <0x6 0x6>;
+ };
+
+ precal_art_1000: precal at 1000 {
+ reg = <0x1000 0x2f20>;
+ };
+
+ precal_art_5000: precal at 5000 {
+ reg = <0x5000 0x2f20>;
+ };
};
artbak: art at 1340000 {
@@ -369,17 +388,3 @@
&adm_dma {
status = "okay";
};
-
-&art {
- compatible = "nvmem-cells";
- #address-cells = <1>;
- #size-cells = <1>;
-
- macaddr_art_0: macaddr at 0 {
- reg = <0x0 0x6>;
- };
-
- macaddr_art_6: macaddr at 6 {
- reg = <0x6 0x6>;
- };
-};
diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-r7500v2.dts b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-r7500v2.dts
index f2bd1705b5..b3181d8857 100644
--- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-r7500v2.dts
+++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-r7500v2.dts
@@ -197,8 +197,8 @@
compatible = "pci168c,0040";
reg = <0x00010000 0 0 0 0>;
- nvmem-cells = <&macaddr_art_6>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_art_6>, <&precal_art_1000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
mac-address-increment = <(1)>;
};
};
@@ -221,8 +221,8 @@
compatible = "pci168c,0040";
reg = <0x00010000 0 0 0 0>;
- nvmem-cells = <&macaddr_art_6>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_art_6>, <&precal_art_5000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
mac-address-increment = <(2)>;
};
};
@@ -268,10 +268,29 @@
read-only;
};
- art: art at 1200000 {
+ art at 1200000 {
label = "art";
reg = <0x1200000 0x0140000>;
read-only;
+ compatible = "nvmem-cells";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ macaddr_art_0: macaddr at 0 {
+ reg = <0x0 0x6>;
+ };
+
+ macaddr_art_6: macaddr at 6 {
+ reg = <0x6 0x6>;
+ };
+
+ precal_art_1000: precal at 1000 {
+ reg = <0x1000 0x2f20>;
+ };
+
+ precal_art_5000: precal at 5000 {
+ reg = <0x5000 0x2f20>;
+ };
};
artbak: art at 1340000 {
@@ -353,17 +372,3 @@
full-duplex;
};
};
-
-&art {
- compatible = "nvmem-cells";
- #address-cells = <1>;
- #size-cells = <1>;
-
- macaddr_art_0: macaddr at 0 {
- reg = <0x0 0x6>;
- };
-
- macaddr_art_6: macaddr at 6 {
- reg = <0x6 0x6>;
- };
-};
diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts
index a671202dc9..3aec856823 100644
--- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts
+++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts
@@ -269,6 +269,18 @@
label = "ART";
reg = <0xfc0000 0x40000>;
read-only;
+
+ compatible = "nvmem-cells";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ precal_ART_1000: precal at 1000 {
+ reg = <0x1000 0x2f20>;
+ };
+
+ precal_ART_5000: precal at 5000 {
+ reg = <0x5000 0x2f20>;
+ };
};
};
};
@@ -295,8 +307,8 @@
compatible = "pci168c,0040";
reg = <0x00010000 0 0 0 0>;
- nvmem-cells = <&macaddr_defaultmac_0>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_defaultmac_0>, <&precal_ART_1000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
mac-address-increment = <(-1)>;
};
};
@@ -316,8 +328,8 @@
compatible = "pci168c,0040";
reg = <0x00010000 0 0 0 0>;
- nvmem-cells = <&macaddr_defaultmac_0>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_defaultmac_0>, <&precal_ART_5000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
};
};
};
diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-wg2600hp.dts b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-wg2600hp.dts
index 45da4a2b11..998dad55c5 100644
--- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-wg2600hp.dts
+++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-wg2600hp.dts
@@ -283,6 +283,17 @@
label = "ART";
reg = <0x2e0000 0x40000>;
read-only;
+ compatible = "nvmem-cells";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ precal_ART_1000: precal at 1000 {
+ reg = <0x1000 0x2f20>;
+ };
+
+ precal_ART_5000: precal at 5000 {
+ reg = <0x5000 0x2f20>;
+ };
};
TP at 320000 {
@@ -331,8 +342,8 @@
compatible = "pci168c,0040";
reg = <0x00010000 0 0 0 0>;
- nvmem-cells = <&macaddr_PRODUCTDATA_12>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_PRODUCTDATA_12>, <&precal_ART_1000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
};
};
};
@@ -351,8 +362,8 @@
compatible = "pci168c,0040";
reg = <0x00010000 0 0 0 0>;
- nvmem-cells = <&macaddr_PRODUCTDATA_c>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_PRODUCTDATA_c>, <&precal_ART_5000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
};
};
};
diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-wxr-2533dhp.dts b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-wxr-2533dhp.dts
index 4b4e8736d4..e7ae1a25b2 100644
--- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-wxr-2533dhp.dts
+++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-wxr-2533dhp.dts
@@ -340,10 +340,38 @@
read-only;
};
- ART: ART at 180000 {
+ ART at 180000 {
label = "ART";
reg = <0x180000 0x40000>;
read-only;
+
+ compatible = "nvmem-cells";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ macaddr_ART_0: macaddr at 0 {
+ reg = <0x0 0x6>;
+ };
+
+ macaddr_ART_6: macaddr at 6 {
+ reg = <0x6 0x6>;
+ };
+
+ macaddr_ART_18: macaddr at 18 {
+ reg = <0x18 0x6>;
+ };
+
+ macaddr_ART_1e: macaddr at 1e {
+ reg = <0x1e 0x6>;
+ };
+
+ precal_ART_1000: precal at 1000 {
+ reg = <0x1000 0x2f20>;
+ };
+
+ precal_ART_5000: precal at 5000 {
+ reg = <0x5000 0x2f20>;
+ };
};
BOOTCONFIG at 1c0000 {
@@ -406,8 +434,8 @@
compatible = "pci168c,0040";
reg = <0x00010000 0 0 0 0>;
- nvmem-cells = <&macaddr_ART_1e>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_ART_1e>, <&precal_ART_1000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
};
};
};
@@ -426,8 +454,8 @@
compatible = "pci168c,0040";
reg = <0x00010000 0 0 0 0>;
- nvmem-cells = <&macaddr_ART_18>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_ART_18>, <&precal_ART_5000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
};
};
};
@@ -496,25 +524,3 @@
};
};
};
-
-&ART {
- compatible = "nvmem-cells";
- #address-cells = <1>;
- #size-cells = <1>;
-
- macaddr_ART_0: macaddr at 0 {
- reg = <0x0 0x6>;
- };
-
- macaddr_ART_6: macaddr at 6 {
- reg = <0x6 0x6>;
- };
-
- macaddr_ART_18: macaddr at 18 {
- reg = <0x18 0x6>;
- };
-
- macaddr_ART_1e: macaddr at 1e {
- reg = <0x1e 0x6>;
- };
-};
diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-nighthawk.dtsi b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-nighthawk.dtsi
index a1fde4d698..fc869c9ec0 100644
--- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-nighthawk.dtsi
+++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-nighthawk.dtsi
@@ -255,6 +255,25 @@
label = "art";
reg = <0x1200000 0x0140000>;
read-only;
+ compatible = "nvmem-cells";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ macaddr_art_0: macaddr at 0 {
+ reg = <0x0 0x6>;
+ };
+
+ macaddr_art_6: macaddr at 6 {
+ reg = <0x6 0x6>;
+ };
+
+ precal_art_1000: precal at 1000 {
+ reg = <0x1000 0x2f20>;
+ };
+
+ precal_art_5000: precal at 5000 {
+ reg = <0x5000 0x2f20>;
+ };
};
partition at 1340000 {
@@ -423,17 +442,3 @@
};
};
};
-
-&art {
- compatible = "nvmem-cells";
- #address-cells = <1>;
- #size-cells = <1>;
-
- macaddr_art_0: macaddr at 0 {
- reg = <0x0 0x6>;
- };
-
- macaddr_art_6: macaddr at 6 {
- reg = <0x6 0x6>;
- };
-};
diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-r7800.dts b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-r7800.dts
index 48beaf313e..bf7c963944 100644
--- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-r7800.dts
+++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-r7800.dts
@@ -36,13 +36,13 @@
};
&wifi0 {
- nvmem-cells = <&macaddr_art_6>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_art_6>, <&precal_art_1000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
mac-address-increment = <(1)>;
};
&wifi1 {
- nvmem-cells = <&macaddr_art_6>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_art_6>, <&precal_art_5000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
mac-address-increment = <(2)>;
};
diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-xr500.dts b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-xr500.dts
index b7f00a7a6f..f584735e15 100644
--- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-xr500.dts
+++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-xr500.dts
@@ -34,20 +34,16 @@
};
&wifi0 {
- nvmem-cells = <&macaddr_art_c>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_art_c>, <&precal_art_1000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
};
&wifi1 {
- nvmem-cells = <&macaddr_art_0>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_art_0>, <&precal_art_5000>;
+ nvmem-cell-names = "mac-address", "pre-calibration";
};
&art {
- compatible = "nvmem-cells";
- #address-cells = <1>;
- #size-cells = <1>;
-
macaddr_art_c: macaddr at c {
reg = <0xc 0x6>;
};
More information about the lede-commits
mailing list