Add MediaTek new mac80211 driver mt7996 for Wi-Fi 7 (802.11be) devices. The driver first supports Filogic 680 PCI device, which is a Wi-Fi 7 chipset supporting concurrent tri-band operation at 6 GHz, 5 GHz, and 2.4 GHz with 4x4 antennas on each band. Currently, mt7996 only supports tri-band HE or older mode. EHT mode and more variants of Filogic 680 support will be introduced in further patches. Reviewed-by: Ryder Lee <ryder.lee@xxxxxxxxxxxx> Co-developed-by: Peter Chiu <chui-hao.chiu@xxxxxxxxxxxx> Signed-off-by: Peter Chiu <chui-hao.chiu@xxxxxxxxxxxx> Co-developed-by: Bo Jiao <Bo.Jiao@xxxxxxxxxxxx> Signed-off-by: Bo Jiao <Bo.Jiao@xxxxxxxxxxxx> Co-developed-by: Howard Hsu <howard-yh.hsu@xxxxxxxxxxxx> Signed-off-by: Howard Hsu <howard-yh.hsu@xxxxxxxxxxxx> Co-developed-by: MeiChia Chiu <meichia.chiu@xxxxxxxxxxxx> Signed-off-by: MeiChia Chiu <meichia.chiu@xxxxxxxxxxxx> Co-developed-by: StanleyYP Wang <StanleyYP.Wang@xxxxxxxxxxxx> Signed-off-by: StanleyYP Wang <StanleyYP.Wang@xxxxxxxxxxxx> Co-developed-by: Money Wang <Money.Wang@xxxxxxxxxxxx> Signed-off-by: Money Wang <Money.Wang@xxxxxxxxxxxx> Co-developed-by: Evelyn Tsai <evelyn.tsai@xxxxxxxxxxxx> Signed-off-by: Evelyn Tsai <evelyn.tsai@xxxxxxxxxxxx> Signed-off-by: Shayne Chen <shayne.chen@xxxxxxxxxxxx> ----------------[commit message cut here]---------------- This series is based on the following series with fixes folded: - https://patchwork.kernel.org/project/linux-wireless/cover/20221110093525.29649-1-shayne.chen@xxxxxxxxxxxx/ For easier review, the big patch has been splitted into multiple patches per functionality. These patches will be folded into a single patch in the final version. Shayne Chen (9): wifi: mt76: mt7996: add PCI support wifi: mt76: mt7996: add DMA support wifi: mt76: mt7996: add MCU support wifi: mt76: mt7996: add EEPROM support wifi: mt76: mt7996: add MAC support wifi: mt76: mt7996: add ieee80211_ops wifi: mt76: mt7996: add debugfs support wifi: mt76: mt7996: add module support wifi: mt76: add mt7996 module support drivers/net/wireless/mediatek/mt76/Kconfig | 1 + drivers/net/wireless/mediatek/mt76/Makefile | 1 + .../net/wireless/mediatek/mt76/mt7996/Kconfig | 12 + .../wireless/mediatek/mt76/mt7996/Makefile | 6 + .../wireless/mediatek/mt76/mt7996/debugfs.c | 851 ++++ .../net/wireless/mediatek/mt76/mt7996/dma.c | 360 ++ .../wireless/mediatek/mt76/mt7996/eeprom.c | 229 ++ .../wireless/mediatek/mt76/mt7996/eeprom.h | 75 + .../net/wireless/mediatek/mt76/mt7996/init.c | 816 ++++ .../net/wireless/mediatek/mt76/mt7996/mac.c | 2468 ++++++++++++ .../net/wireless/mediatek/mt76/mt7996/mac.h | 398 ++ .../net/wireless/mediatek/mt76/mt7996/main.c | 1325 +++++++ .../net/wireless/mediatek/mt76/mt7996/mcu.c | 3429 +++++++++++++++++ .../net/wireless/mediatek/mt76/mt7996/mcu.h | 662 ++++ .../net/wireless/mediatek/mt76/mt7996/mmio.c | 385 ++ .../wireless/mediatek/mt76/mt7996/mt7996.h | 516 +++ .../net/wireless/mediatek/mt76/mt7996/pci.c | 222 ++ .../net/wireless/mediatek/mt76/mt7996/regs.h | 533 +++ 18 files changed, 12289 insertions(+) create mode 100644 drivers/net/wireless/mediatek/mt76/mt7996/Kconfig create mode 100644 drivers/net/wireless/mediatek/mt76/mt7996/Makefile create mode 100644 drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7996/dma.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7996/eeprom.h create mode 100644 drivers/net/wireless/mediatek/mt76/mt7996/init.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7996/mac.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7996/mac.h create mode 100644 drivers/net/wireless/mediatek/mt76/mt7996/main.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7996/mcu.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7996/mcu.h create mode 100644 drivers/net/wireless/mediatek/mt76/mt7996/mmio.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h create mode 100644 drivers/net/wireless/mediatek/mt76/mt7996/pci.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7996/regs.h -- 2.25.1