reg = <0x0 0x6>;
};
+ macaddr_art_6: macaddr@6 {
+ reg = <0x6 0x6>;
+ };
+
macaddr_art_1002: macaddr@1002 {
reg = <0x1002 0x6>;
};
+
+ precal_art_5000: pre-calibration@5000 {
+ reg = <0x5000 0x2f20>;
+ };
};
};
wifi@0,0 {
compatible = "qcom,ath10k";
reg = <0 0 0 0 0>;
+ nvmem-cells = <&precal_art_5000>, <&macaddr_art_6>;
+ nvmem-cell-names = "pre-calibration", "mac-address";
};
};
reg = <0x0 0x6>;
#nvmem-cell-cells = <1>;
};
+
+ precal_art_5000: pre-calibration@5000 {
+ reg = <0x5000 0x2f20>;
+ };
};
};
&pcie0 {
status = "okay";
+
+ wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0x0000 0 0 0 0>;
+ nvmem-cells = <&precal_art_5000>, <&macaddr_art_0 2>;
+ nvmem-cell-names = "pre-calibration", "mac-address";
+ };
};
&usb_phy {
&pcie0 {
status = "okay";
+
+ wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0x0000 0 0 0 0>;
+ nvmem-cells = <&precal_art_5000>, <&macaddr_art_0 2>;
+ nvmem-cell-names = "pre-calibration", "mac-address";
+ };
};
&spi {
reg = <0x0 0x6>;
#nvmem-cell-cells = <1>;
};
+
+ precal_art_5000: pre-calibration@5000 {
+ reg = <0x5000 0x2f20>;
+ };
};
};
&pcie0 {
status = "okay";
+
+ wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0x0000 0 0 0 0>;
+ nvmem-cells = <&precal_art_5000>, <&macaddr_art_0 2>;
+ nvmem-cell-names = "pre-calibration", "mac-address";
+ };
};
&spi {
reg = <0x0 0x6>;
#nvmem-cell-cells = <1>;
};
+
+ precal_art_5000: pre-calibration@5000 {
+ reg = <0x5000 0x2f20>;
+ };
};
};
};
};
+&pcie {
+ wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0x0000 0 0 0 0>;
+ nvmem-cells = <&precal_art_5000>, <&macaddr_info_8 (-1)>;
+ nvmem-cell-names = "pre-calibration", "mac-address";
+ };
+};
+
&spi {
status = "okay";
label = "art";
reg = <0x7f0000 0x010000>;
read-only;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ precal_art_5000: pre-calibration@5000 {
+ reg = <0x5000 0x2f20>;
+ };
+ };
};
};
};
status = "okay";
};
+&pcie {
+ wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0x0000 0 0 0 0>;
+ nvmem-cells = <&precal_art_5000>, <&macaddr_info_8 (-1)>;
+ nvmem-cell-names = "pre-calibration", "mac-address";
+ };
+};
+
&spi {
status = "okay";
label = "art";
reg = <0xff0000 0x010000>;
read-only;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ precal_art_5000: pre-calibration@5000 {
+ reg = <0x5000 0x2f20>;
+ };
+ };
};
};
};
status = "okay";
};
+&pcie {
+ wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0x0000 0 0 0 0>;
+ nvmem-cells = <&precal_art_5000>, <&macaddr_info_8 (-1)>;
+ nvmem-cell-names = "pre-calibration", "mac-address";
+ };
+};
+
&spi {
status = "okay";
label = "art";
reg = <0xff0000 0x010000>;
read-only;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ precal_art_5000: pre-calibration@5000 {
+ reg = <0x5000 0x2f20>;
+ };
+ };
};
};
};
};
};
+&pcie {
+ wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0x0000 0 0 0 0>;
+ nvmem-cells = <&precal_art_5000>, <&macaddr_info_8 (-1)>;
+ nvmem-cell-names = "pre-calibration", "mac-address";
+ };
+};
+
&spi {
status = "okay";
label = "art";
reg = <0x7f0000 0x010000>;
read-only;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ precal_art_5000: pre-calibration@5000 {
+ reg = <0x5000 0x2f20>;
+ };
+ };
};
};
};
};
};
+&pcie {
+ wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0x0000 0 0 0 0>;
+ nvmem-cells = <&precal_art_5000>, <&macaddr_info_8 (-1)>;
+ nvmem-cell-names = "pre-calibration", "mac-address";
+ };
+};
+
&spi {
status = "okay";
label = "art";
reg = <0x7f0000 0x010000>;
read-only;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ precal_art_5000: pre-calibration@5000 {
+ reg = <0x5000 0x2f20>;
+ };
+ };
};
};
};
};
};
+&pcie {
+ wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0x0000 0 0 0 0>;
+ nvmem-cells = <&precal_art_5000>, <&macaddr_info_8 (-1)>;
+ nvmem-cell-names = "pre-calibration", "mac-address";
+ };
+};
+
&spi {
status = "okay";
label = "art";
reg = <0x7f0000 0x010000>;
read-only;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ precal_art_5000: pre-calibration@5000 {
+ reg = <0x5000 0x2f20>;
+ };
+ };
};
};
};
&pcie {
status = "okay";
+
+ wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0x0000 0 0 0 0>;
+ nvmem-cells = <&precal_art_5000>, <&macaddr_art_0 2>;
+ nvmem-cell-names = "pre-calibration", "mac-address";
+ };
};
&spi {
reg = <0x0 0x6>;
#nvmem-cell-cells = <1>;
};
+
+ precal_art_5000: pre-calibration@5000 {
+ reg = <0x5000 0x2f20>;
+ };
};
};
};
};
+&pcie {
+ wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0x0000 0 0 0 0>;
+ nvmem-cells = <&precal_art_5000>, <&macaddr_info_8 (-1)>;
+ nvmem-cell-names = "pre-calibration", "mac-address";
+ };
+};
+
&spi {
status = "okay";
#size-cells = <1>;
macaddr_info_8: macaddr@8 {
+ compatible = "mac-base";
reg = <0x8 0x6>;
+ #nvmem-cell-cells = <1>;
};
};
};
label = "art";
reg = <0xff0000 0x010000>;
read-only;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ precal_art_5000: pre-calibration@5000 {
+ reg = <0x5000 0x2f20>;
+ };
+ };
};
};
};
};
ð0 {
- nvmem-cells = <&macaddr_info_8>;
+ nvmem-cells = <&macaddr_info_8 0>;
nvmem-cell-names = "mac-address";
};
&wmac {
mtd-cal-data = <&art 0x1000>;
- nvmem-cells = <&macaddr_info_8>;
+ nvmem-cells = <&macaddr_info_8 0>;
nvmem-cell-names = "mac-address";
};
};
};
+&pcie {
+ wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0x0000 0 0 0 0>;
+ nvmem-cells = <&precal_art_5000>, <&macaddr_info_8 (-1)>;
+ nvmem-cell-names = "pre-calibration", "mac-address";
+ };
+};
+
&spi {
status = "okay";
#size-cells = <1>;
macaddr_info_8: macaddr@8 {
+ compatible = "mac-base";
reg = <0x8 0x6>;
+ #nvmem-cell-cells = <1>;
};
};
};
label = "art";
reg = <0x7f0000 0x010000>;
read-only;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ precal_art_5000: pre-calibration@5000 {
+ reg = <0x5000 0x2f20>;
+ };
+ };
};
};
};
};
ð0 {
- nvmem-cells = <&macaddr_info_8>;
+ nvmem-cells = <&macaddr_info_8 0>;
nvmem-cell-names = "mac-address";
};
&wmac {
mtd-cal-data = <&art 0x1000>;
- nvmem-cells = <&macaddr_info_8>;
+ nvmem-cells = <&macaddr_info_8 0>;
nvmem-cell-names = "mac-address";
};
&pcie {
status = "okay";
+
+ wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0x0000 0 0 0 0>;
+ nvmem-cells = <&precal_art_5000>, <&macaddr_info_8>;
+ nvmem-cell-names = "pre-calibration", "mac-address";
+ };
};
&spi {
label = "art";
reg = <0xff0000 0x010000>;
read-only;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ precal_art_5000: pre-calibration@5000 {
+ reg = <0x5000 0x2f20>;
+ };
+ };
};
};
};
&pcie {
status = "okay";
+
+ wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0x0000 0 0 0 0>;
+ nvmem-cells = <&precal_art_5000>, <&macaddr_config_8 (-1)>;
+ nvmem-cell-names = "pre-calibration", "mac-address";
+ };
};
&mdio0 {
#size-cells = <1>;
macaddr_config_8: macaddr@8 {
+ compatible = "mac-base";
reg = <0x8 0x6>;
+ #nvmem-cell-cells = <1>;
};
};
};
label = "art";
reg = <0xff0000 0x010000>;
read-only;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ precal_art_5000: pre-calibration@5000 {
+ reg = <0x5000 0x2f20>;
+ };
+ };
};
};
};
phy-mode = "sgmii";
phy-handle = <&phy0>;
- nvmem-cells = <&macaddr_config_8>;
+ nvmem-cells = <&macaddr_config_8 0>;
nvmem-cell-names = "mac-address";
};
status = "okay";
mtd-cal-data = <&art 0x1000>;
- nvmem-cells = <&macaddr_config_8>;
+ nvmem-cells = <&macaddr_config_8 0>;
nvmem-cell-names = "mac-address";
};
&pcie {
status = "okay";
+
+ wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0x0000 0 0 0 0>;
+ nvmem-cells = <&precal_art_5000>, <&macaddr_info_8 (-1)>;
+ nvmem-cell-names = "pre-calibration", "mac-address";
+ };
};
ð0 {
phy-mode = "sgmii";
phy-handle = <&phy4>;
- nvmem-cells = <&macaddr_info_8>;
+ nvmem-cells = <&macaddr_info_8 0>;
nvmem-cell-names = "mac-address";
};
mtd-cal-data = <&art 0x1000>;
- nvmem-cells = <&macaddr_info_8>;
+ nvmem-cells = <&macaddr_info_8 0>;
nvmem-cell-names = "mac-address";
};
#size-cells = <1>;
macaddr_info_8: macaddr@8 {
+ compatible = "mac-base";
reg = <0x8 0x6>;
+ #nvmem-cell-cells = <1>;
};
};
};
label = "art";
reg = <0xff0000 0x010000>;
read-only;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ precal_art_5000: pre-calibration@5000 {
+ reg = <0x5000 0x2f20>;
+ };
+ };
};
};
};
#size-cells = <1>;
macaddr_info_8: macaddr@8 {
+ compatible = "mac-base";
reg = <0x8 0x6>;
+ #nvmem-cell-cells = <1>;
};
};
};
label = "art";
reg = <0x7f0000 0x010000>;
read-only;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ precal_art_5000: pre-calibration@5000 {
+ reg = <0x5000 0x2f20>;
+ };
+ };
};
};
ð0 {
- nvmem-cells = <&macaddr_info_8>;
+ nvmem-cells = <&macaddr_info_8 0>;
nvmem-cell-names = "mac-address";
};
+&pcie {
+ wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0x0000 0 0 0 0>;
+ nvmem-cells = <&precal_art_5000>, <&macaddr_info_8 1>;
+ nvmem-cell-names = "pre-calibration", "mac-address";
+ };
+};
+
&wmac {
mtd-cal-data = <&art 0x1000>;
- nvmem-cells = <&macaddr_info_8>;
+ nvmem-cells = <&macaddr_info_8 0>;
nvmem-cell-names = "mac-address";
};
#size-cells = <1>;
macaddr_info_8: macaddr@8 {
+ compatible = "mac-base";
reg = <0x8 0x6>;
+ #nvmem-cell-cells = <1>;
};
};
};
label = "art";
reg = <0x7f0000 0x010000>;
read-only;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ precal_art_5000: pre-calibration@5000 {
+ reg = <0x5000 0x2f20>;
+ };
+ };
};
};
ð0 {
- nvmem-cells = <&macaddr_info_8>;
+ nvmem-cells = <&macaddr_info_8 0>;
nvmem-cell-names = "mac-address";
};
+&pcie {
+ wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0x0000 0 0 0 0>;
+ nvmem-cells = <&precal_art_5000>, <&macaddr_info_8 1>;
+ nvmem-cell-names = "pre-calibration", "mac-address";
+ };
+};
+
&wmac {
mtd-cal-data = <&art 0x1000>;
- nvmem-cells = <&macaddr_info_8>;
+ nvmem-cells = <&macaddr_info_8 0>;
nvmem-cell-names = "mac-address";
};
#size-cells = <1>;
macaddr_info_8: macaddr@8 {
+ compatible = "mac-base";
reg = <0x8 0x6>;
+ #nvmem-cell-cells = <1>;
};
};
};
label = "art";
reg = <0x7f0000 0x010000>;
read-only;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ precal_art_5000: pre-calibration@5000 {
+ reg = <0x5000 0x2f20>;
+ };
+ };
+ };
+};
+
+&pcie {
+ wifi@0,0 {
+ compatible = "qcom,ath10k";
+ reg = <0x0000 0 0 0 0>;
+ nvmem-cells = <&precal_art_5000>, <&macaddr_info_8 1>;
+ nvmem-cell-names = "pre-calibration", "mac-address";
};
};
ð0 {
- nvmem-cells = <&macaddr_info_8>;
+ nvmem-cells = <&macaddr_info_8 0>;
nvmem-cell-names = "mac-address";
};
&wmac {
mtd-cal-data = <&art 0x1000>;
- nvmem-cells = <&macaddr_info_8>;
+ nvmem-cells = <&macaddr_info_8 0>;
nvmem-cell-names = "mac-address";
};
;;
"ath10k/pre-cal-pci-0000:00:00.0.bin")
case $board in
- comfast,cf-e313ac)
- caldata_extract "art" 0x5000 0x2f20
- ath10k_patch_mac $(mtd_get_mac_binary art 0x6)
- ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
- /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
- ;;
- comfast,cf-e375ac|\
- comfast,cf-e560ac|\
- comfast,cf-ew72|\
- comfast,cf-wr752ac-v1)
- caldata_extract "art" 0x5000 0x2f20
- ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) 2)
- ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
- /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
- ;;
dlink,dir-842-c1|\
dlink,dir-842-c2|\
dlink,dir-842-c3)
ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
;;
- tplink,archer-c58-v1|\
- tplink,archer-c59-v1|\
- tplink,archer-c59-v2|\
- tplink,archer-c60-v1|\
- tplink,archer-c60-v2|\
- tplink,archer-c60-v3|\
- tplink,archer-c6-v2|\
- tplink,archer-c6-v2-us|\
- tplink,tl-wa1201-v2)
- caldata_extract "art" 0x5000 0x2f20
- ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) -1)
- ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
- /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
- ;;
- tplink,cpe710-v1)
- caldata_extract "art" 0x5000 0x2f20
- ath10k_patch_mac $(mtd_get_mac_binary info 0x8)
- ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
- /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
- ;;
- tplink,deco-m4r-v1)
- caldata_extract "art" 0x5000 0x2f20
- ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary config 0x8) -1)
- ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
- /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
- ;;
tplink,deco-s4-v2)
caldata_extract "art" 0x5000 0x2f20
base_mac=$(mtd_get_mac_encrypted_deco $(find_mtd_part config))
+++ /dev/null
-#!/bin/sh
-
-[ -e /lib/firmware/$FIRMWARE ] && exit 0
-
-. /lib/functions/caldata.sh
-
-board=$(board_name)
-
-case "$FIRMWARE" in
-"ath10k/pre-cal-pci-0000:00:00.0.bin")
- case $board in
- tplink,tl-wpa8630p-v2-int|\
- tplink,tl-wpa8630p-v2.0-eu|\
- tplink,tl-wpa8630p-v2.1-eu)
- caldata_extract "art" 0x5000 0x2f20
- ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) 1)
- ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
- /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
- ;;
- esac
- ;;
-*)
- exit 1
- ;;
-esac