From c698b3d4eeb959dbaa0b62a82c4987fb8e355eb4 Mon Sep 17 00:00:00 2001 From: David Bauer Date: Sun, 9 Aug 2020 00:33:00 +0200 Subject: [PATCH] ath79: add QCA9888 BDF for Archer C58 v1 Add the correct BDF for the Archer C58 v1. The BDF originates from the vendor firmware, obtainable from TP-Links website. Without this BDF, TX power was way to high. Signed-off-by: David Bauer --- package/firmware/ipq-wifi/Makefile | 4 +++- .../board-tp-link_archer-c58-v1.qca9888 | Bin 0 -> 12168 bytes .../ath79/dts/qca9561_tplink_archer-c58-v1.dts | 4 ++++ .../ath79/dts/qca9561_tplink_archer-c5x.dtsi | 5 +++++ .../etc/hotplug.d/firmware/11-ath10k-caldata | 5 ++++- target/linux/ath79/image/generic-tp-link.mk | 3 ++- 6 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 package/firmware/ipq-wifi/board-tp-link_archer-c58-v1.qca9888 diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile index 423740cc28..e2e3796144 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -49,7 +49,8 @@ ALLWIFIBOARDS:= \ nec_wg2600hp3 \ plasmacloud_pa1200 \ plasmacloud_pa2200 \ - qxwlan_e2600ac + qxwlan_e2600ac \ + tp-link_archer-c58-v1 ALLWIFIPACKAGES:=$(foreach BOARD,$(ALLWIFIBOARDS),ipq-wifi-$(BOARD)) @@ -135,5 +136,6 @@ $(eval $(call generate-ipq-wifi-package,nec_wg2600hp3,NEC Platforms WG2600HP3)) $(eval $(call generate-ipq-wifi-package,plasmacloud_pa1200,Plasma Cloud PA1200)) $(eval $(call generate-ipq-wifi-package,plasmacloud_pa2200,Plasma Cloud PA2200)) $(eval $(call generate-ipq-wifi-package,qxwlan_e2600ac,Qxwlan E2600AC)) +$(eval $(call generate-ipq-wifi-package,tp-link_archer-c58-v1,TP-Link Archer C58 v1)) $(foreach PACKAGE,$(ALLWIFIPACKAGES),$(eval $(call BuildPackage,$(PACKAGE)))) diff --git a/package/firmware/ipq-wifi/board-tp-link_archer-c58-v1.qca9888 b/package/firmware/ipq-wifi/board-tp-link_archer-c58-v1.qca9888 new file mode 100644 index 0000000000000000000000000000000000000000..9d5afd618c6b658fd01f152f41b9bfc799be226d GIT binary patch literal 12168 zcmeHNeM}Q)7=Md=IL9VeiW|t@RYWOFN+~Y6C)=GDs2u7uOQfJE8D`{J=gbs z&-=X3$9umXN^DLd*m|CTRcrE18ri>U> zDl}_vQ~eR>p{Q?RpcJ8orXWxd(jXL+MwFnCSp=qv!9tN#2&JW^{ruyPDx)S0xm>PH zPn!h^9#96S#_T%DqjEpG-~WsOhh1?T3Uldt3WSBe|E{AxTNP#TXOA%+tK_Kw*l?#@SRVPNixZn)mLvwH`ip zw}R4Txfqb5#%jI#nwpBiG5Q!L0!L6!ViPv$P1j6R9?sL}FW$Zo)H1wG zzl<&fV$Sm|}}yAGmaV;_hOycE9|?PO+VD;wq|kbA{kM4L!J&nXBPc^@h?NEJR5yZJqADO)O>;RLphF4R3Mp5x!-_Lx_D z0upp+^o)3zZ{#XqN&^tkB30<+Y*1l^&ggIotz0!*L`%;Fqza>b;vuN;GRwl`-r<`` z1+kB}a?R$IbcUlxJiuGH60_btrGz9jdfahX*u`_)#*z1+)=q9KTkJR^2;2^K4Q(7g zF1{wzb46yI6mU8r0gd)J+JriOD_1<~6b}h4TsgbWaZ-34CRs=uM*1Cxgi3A&Ya{`^ zr<33qI)~fE7GXPAINI;%gj(P@+$-AnN^X;x9y#f-2^^Qt8r%W8M1p=xz!&05fIr+S zEGaDcU_d!Fd=R6U6$S!i;MMkZR$XQE#>ewIyEfQN{8O8wR(VTtqHFsBeRb?h5&1*C zI}X0^igv4}$eW+DbC0mBF1{?P@Mw3*o0)rJx2RWp^Sj);(Ux2tyNOzH#kpH7XiaIE z>ownzPS%>y41OywpDQ?!!q2y;OT6Xlc&A**;-A?OwdTV4-N#d2!}Sqm-u&J;TKqcQ zpsR>1{HVW4G_>GK^?Gl9109XF0^V4ue*WOm?Y8XZBrclu=BL;c1{4PV8w`YmJ^I*O zDl%&FJ=sKWx<}F1Rzn-Ev=kcgqDArWSs1rKyKupRxCLv`Yaper(7 zBM6UCZvc{uj+-*x0wixk4U%yXYn?{Ih+s+;wl74RjwqEWB=Ji!rihz?L6EmWdO$p! z1Y+~V{8Pvj!;h zb=gn!^*aX!FMaaa7uN$HK=BW|AZZDW>#9jEKlnWbn|*;~EmFW#|y0uE&6e?YJ_@Cw9_52H_ C|2~fZ literal 0 HcmV?d00001 diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c58-v1.dts b/target/linux/ath79/dts/qca9561_tplink_archer-c58-v1.dts index ea86b8f35e..b6d427e73a 100644 --- a/target/linux/ath79/dts/qca9561_tplink_archer-c58-v1.dts +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c58-v1.dts @@ -52,3 +52,7 @@ }; }; }; + +&ath10k { + qcom,ath10k-calibration-variant = "Archer-C58-v1"; +}; diff --git a/target/linux/ath79/dts/qca9561_tplink_archer-c5x.dtsi b/target/linux/ath79/dts/qca9561_tplink_archer-c5x.dtsi index 664032936c..63f2fe0706 100644 --- a/target/linux/ath79/dts/qca9561_tplink_archer-c5x.dtsi +++ b/target/linux/ath79/dts/qca9561_tplink_archer-c5x.dtsi @@ -119,6 +119,11 @@ &pcie { status = "okay"; + + ath10k: wifi@0,0 { + compatible = "qcom,ath10k"; + reg = <0 0 0 0 0>; + }; }; ð0 { 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 9e4b4496e5..24496dac35 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 @@ -215,7 +215,10 @@ case "$FIRMWARE" in 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-c58-v1) + caldata_extract "art" 0x5000 0x2f20 + ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary mac 0x8) -1) + ;; tplink,archer-c59-v1|\ tplink,archer-c59-v2|\ tplink,archer-c60-v1|\ diff --git a/target/linux/ath79/image/generic-tp-link.mk b/target/linux/ath79/image/generic-tp-link.mk index be6aa06b55..a0a7106ae0 100644 --- a/target/linux/ath79/image/generic-tp-link.mk +++ b/target/linux/ath79/image/generic-tp-link.mk @@ -55,7 +55,8 @@ define Device/tplink_archer-c58-v1 DEVICE_MODEL := Archer C58 DEVICE_VARIANT := v1 TPLINK_BOARD_ID := ARCHER-C58-V1 - DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9888-ct + DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9888-ct \ + ipq-wifi-tp-link_archer-c58-v1 SUPPORTED_DEVICES += archer-c58-v1 endef TARGET_DEVICES += tplink_archer-c58-v1 -- 2.30.2