diff options
Diffstat (limited to 'package')
-rw-r--r-- | package/boot/uboot-envtools/files/ipq40xx | 3 | ||||
-rw-r--r-- | package/firmware/ipq-wifi/Makefile | 2 | ||||
-rw-r--r-- | package/firmware/ipq-wifi/board-linksys_whw03v2.qca4019 | bin | 0 -> 24324 bytes | |||
-rw-r--r-- | package/firmware/ipq-wifi/board-linksys_whw03v2.qca9888 | bin | 0 -> 12172 bytes | |||
-rw-r--r-- | package/kernel/ath10k-ct/patches/130-ath10k-read-qcom-coexist-support-as-a-u32.patch | 60 |
5 files changed, 64 insertions, 1 deletions
diff --git a/package/boot/uboot-envtools/files/ipq40xx b/package/boot/uboot-envtools/files/ipq40xx index 6c65ed752d..ff61488833 100644 --- a/package/boot/uboot-envtools/files/ipq40xx +++ b/package/boot/uboot-envtools/files/ipq40xx @@ -60,7 +60,8 @@ linksys,ea6350v3) ubootenv_add_uci_config "/dev/mtd7" "0x0" "0x20000" "0x20000" ;; linksys,ea8300|\ -linksys,mr8300) +linksys,mr8300|\ +linksys,whw03v2) ubootenv_add_uci_config "/dev/mtd7" "0x0" "0x40000" "0x20000" ;; linksys,whw01) diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile index 8db2185f61..56c799302e 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -34,6 +34,7 @@ ALLWIFIBOARDS:= \ glinet_gl-ap1300 \ glinet_gl-s1300 \ linksys_ea8300 \ + linksys_whw03v2 \ p2w_r619ac \ pakedge_wr-1 \ qxwlan_e2600ac-c1 \ @@ -113,6 +114,7 @@ $(eval $(call generate-ipq-wifi-package,glinet_gl-a1300,GL.iNet GL-A1300)) $(eval $(call generate-ipq-wifi-package,glinet_gl-ap1300,GL.iNet GL-AP1300)) $(eval $(call generate-ipq-wifi-package,glinet_gl-s1300,GL.iNet GL-S1300)) $(eval $(call generate-ipq-wifi-package,linksys_ea8300,Linksys EA8300)) +$(eval $(call generate-ipq-wifi-package,linksys_whw03v2,Linksys WHW03 V2)) $(eval $(call generate-ipq-wifi-package,p2w_r619ac,P&W R619AC)) $(eval $(call generate-ipq-wifi-package,pakedge_wr-1,Pakedge WR-1)) $(eval $(call generate-ipq-wifi-package,qxwlan_e2600ac-c1,Qxwlan E2600AC C1)) diff --git a/package/firmware/ipq-wifi/board-linksys_whw03v2.qca4019 b/package/firmware/ipq-wifi/board-linksys_whw03v2.qca4019 Binary files differnew file mode 100644 index 0000000000..69ec31985a --- /dev/null +++ b/package/firmware/ipq-wifi/board-linksys_whw03v2.qca4019 diff --git a/package/firmware/ipq-wifi/board-linksys_whw03v2.qca9888 b/package/firmware/ipq-wifi/board-linksys_whw03v2.qca9888 Binary files differnew file mode 100644 index 0000000000..646f52c1b0 --- /dev/null +++ b/package/firmware/ipq-wifi/board-linksys_whw03v2.qca9888 diff --git a/package/kernel/ath10k-ct/patches/130-ath10k-read-qcom-coexist-support-as-a-u32.patch b/package/kernel/ath10k-ct/patches/130-ath10k-read-qcom-coexist-support-as-a-u32.patch new file mode 100644 index 0000000000..c835a33f49 --- /dev/null +++ b/package/kernel/ath10k-ct/patches/130-ath10k-read-qcom-coexist-support-as-a-u32.patch @@ -0,0 +1,60 @@ +From 630df9786fdaeb78c21f1e28c9b70ac83a1b482c Mon Sep 17 00:00:00 2001 +From: Vincent Tremblay <vincent@vtremblay.dev> +Date: Sat, 31 Dec 2022 09:24:00 -0500 +Subject: [PATCH] ath10k: read qcom,coexist-support as a u32 + +Read qcom,coexist-support as a u32 instead of a u8 + +When we set the property to <1> in the DT (as specified in the doc), +"of_property_read_u8" read 0 instead of 1. This is because of the data format. + +By default <1> is written with 32 bits. +The problem is that the driver is trying to read a u8. + +The difference can be visualized using hexdump in a running device: +Default 32 bits output: +======================= +0000000 0000 0100 +0000004 + +8 bits output: +============== +0000000 0001 +0000001 + +By changing "of_property_read_u8" by "of_property_read_u32", the driver +is aligned with the documentation and is able to read the value without +modifying the DT. + +The other solution would be to force the value in the DT to be saved as +an 8 bits value (qcom,coexist-support = /bits/ 8 <1>), +which is against the doc and less intuitive. + +Validation: +=========== +The patch was tested on a real device and we can see in the debug logs +that the feature is properly initialized: + +[ 109.102097] ath10k_ahb a000000.wifi: boot coex_support 1 coex_gpio_pin 52 + +Signed-off-by: Vincent Tremblay <vincent@vtremblay.dev> + +--- a/ath10k-5.15/core.c ++++ b/ath10k-5.15/core.c +@@ -2798,14 +2798,14 @@ done: + static void ath10k_core_fetch_btcoex_dt(struct ath10k *ar) + { + struct device_node *node; +- u8 coex_support = 0; ++ u32 coex_support = 0; + int ret; + + node = ar->dev->of_node; + if (!node) + goto out; + +- ret = of_property_read_u8(node, "qcom,coexist-support", &coex_support); ++ ret = of_property_read_u32(node, "qcom,coexist-support", &coex_support); + if (ret) { + ar->coex_support = true; + goto out; |