mbox series

[0/4] Add support for QCA9379 hw1.0 SDIO WiFi/BT

Message ID 20240805040131.450412-1-felix@kaechele.ca (mailing list archive)
Headers show
Series Add support for QCA9379 hw1.0 SDIO WiFi/BT | expand

Message

Felix Kaechele Aug. 5, 2024, 4:01 a.m. UTC
Add support for Qualcomm QCA9379-3 SDIO based adapters.

The Bluetooth part is straightforward. It simply adds a DT compatible
string to the existing driver.

The WiFi part is a followup to the RFC I sent back in February [0], that
didn't receive any comments.

Since then I aligned the patch closer to what the driver does for the
QCA6174 rather than the QCA9377, as the latter hasn't been touched in a
while.
With that the driver no longer throws errors for non-existent calibration
data.

The roaming and group re-keying issues still persist, but may not be
specific to this chipset, as this (or a similar issue) is apparently seen
on other chipsets as well [1].
The user impact of this issue is an intermittent loss of connectivity
while the adapter re-associates. Other than that the connection is
stable.

I have tested this patch on a Lenovo ThinkSmart View (CD-18781Y) that
comes with a LITEON WCBN3510A module. The firmware and boardfile used for
testing was pulled from the original Android image. A file at
/modem/verinfo/ver_info.txt on the Android image identifies the WiFi
part as "WLAN.NPL.1.6-00163-QCANPLSWPZ-1" and the Bluetooth part as
"BTFM.NPL.1.0.4-00002-QCABTFMSWPZ-1".

No firmware files are currently available from public repositories, but
they should available from the vendor website [2] for customers that have
the according access.

I can submit the boardfile to the ath10k list once this patch is
accepted. The one that is included with the Android system image has a
sha256sum of 65767cca6a1ff88a9899235acdeeed1e9447a2f16f41d38052202835d5bda7d4.

If someone from Qualcomm could add both the WiFi and BT firmwares to the
linux-firmware repositories that would be much appreciated.
I'm happy to test any firmware before submission, if desired.

Thanks,
Felix

[0]: https://lore.kernel.org/ath10k/20240229032700.414415-1-felix@kaechele.ca/T/
[1]: https://lore.kernel.org/ath10k/c407064a-1c2f-46ec-ac57-32bf9cf6f5c6@gmail.com/T/
[2]: https://www.qualcomm.com/products/technology/wi-fi/qca9379#Software

Felix Kaechele (4):
  mmc: sdio: add Qualcomm QCA9379-3 SDIO id
  wifi: ath10k: add support for QCA9379 hw1.0 SDIO
  dt-bindings: net: bluetooth: qualcomm: add QCA9379 compatible
  Bluetooth: hci_qca: add compatible for QCA9379

 .../net/bluetooth/qualcomm-bluetooth.yaml     |  2 +
 drivers/bluetooth/hci_qca.c                   |  1 +
 drivers/net/wireless/ath/ath10k/core.c        | 37 +++++++++++++++++++
 drivers/net/wireless/ath/ath10k/hw.h          | 10 +++++
 drivers/net/wireless/ath/ath10k/pci.c         |  2 +
 drivers/net/wireless/ath/ath10k/sdio.c        |  5 ++-
 drivers/net/wireless/ath/ath10k/targaddrs.h   |  3 ++
 include/linux/mmc/sdio_ids.h                  |  1 +
 8 files changed, 60 insertions(+), 1 deletion(-)


base-commit: aefacd7c75edfaf6690819c1990b851f4c7b50cf