2022-05-14 03:07:06

by Wenli Looi

[permalink] [raw]
Subject: [PATCH v2 0/9] ath9k: add support for QCN550x

This patchset adds support for QCN550x. It is an attempt to write a
cleaner version of the following patch:

https://github.com/openwrt/openwrt/pull/9389

I'm definitely open to ideas on how to better implement this change.

Notes:

- While QCN5502 is a 4-stream device, ath9k only supports 3 streams, and
that is unchanged.
- The QCN550x EEPROM format is different from other AR9003 devices due
to the 4th stream. An abstraction layer has been added over the EEPROM
to support both formats.
- The QCN550x initvals here are a hacked version of the QCA956x
initvals, and have only been partially tested.
- This change has been tested on the following devices, which appear to
work as an access point:
- QCN5502: Netgear EX6400v2
- QCA9558: Netgear EX7300v1

Relevant links:

- QCN550x SoC support, which appears to be identical to QCA956x:
https://github.com/torvalds/linux/commit/a0b8cd5c223042efe764864b8dd9396ee127c763
- QSDK patch for QCN550x:
https://source.codeaurora.org/quic/qsdk/oss/system/openwrt/tree/target/linux/ar71xx/patches-3.3/9991-MIPS-ath79-add-SoC-detection-code-for-QCN550X.patch?h=aa/banana

v2:
1. fix empty commit logs and missing s-o-b

Wenli Looi (9):
ath9k: add QCN550x device IDs
ath9k: basic support for QCN550x
ath9k: add QCN550x initvals
ath9k: implement QCN550x rx
ath9k: implement QCN550x tx
ath9k: group some ar9300 eeprom functions at the top
ath9k: add abstractions over ar9300 eeprom
ath9k: rename ar9300_eeprom to ar9300_eeprom_v1
ath9k: add ar9300_eeprom_v2

drivers/net/wireless/ath/ath9k/ahb.c | 4 +
drivers/net/wireless/ath/ath9k/ani.c | 2 +-
.../net/wireless/ath/ath9k/ar550x_initvals.h | 1296 +++++++++++++++++
drivers/net/wireless/ath/ath9k/ar9003_calib.c | 4 +-
.../net/wireless/ath/ath9k/ar9003_eeprom.c | 949 ++++++++----
.../net/wireless/ath/ath9k/ar9003_eeprom.h | 144 +-
drivers/net/wireless/ath/ath9k/ar9003_hw.c | 59 +
drivers/net/wireless/ath/ath9k/ar9003_mac.c | 79 +-
drivers/net/wireless/ath/ath9k/ar9003_mac.h | 10 +
drivers/net/wireless/ath/ath9k/ar9003_paprd.c | 4 +-
drivers/net/wireless/ath/ath9k/ar9003_phy.c | 35 +-
drivers/net/wireless/ath/ath9k/ar9003_phy.h | 83 +-
drivers/net/wireless/ath/ath9k/hw.c | 38 +-
drivers/net/wireless/ath/ath9k/hw.h | 4 +-
drivers/net/wireless/ath/ath9k/mac.c | 2 +-
drivers/net/wireless/ath/ath9k/mac.h | 12 +
drivers/net/wireless/ath/ath9k/recv.c | 2 +-
drivers/net/wireless/ath/ath9k/reg.h | 11 +-
drivers/net/wireless/ath/ath9k/reg_aic.h | 6 +-
19 files changed, 2330 insertions(+), 414 deletions(-)
create mode 100644 drivers/net/wireless/ath/ath9k/ar550x_initvals.h

--
2.25.1