public inbox for linux-wireless@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 00/17] wifi: cc33xx: Add driver for new TI CC33xx wireless device family
@ 2024-05-12 18:32 michael.nemanov
  2024-05-12 18:32 ` [RFC PATCH 01/17] Add cc33xx.h, cc33xx_i.h michael.nemanov
                   ` (17 more replies)
  0 siblings, 18 replies; 20+ messages in thread
From: michael.nemanov @ 2024-05-12 18:32 UTC (permalink / raw)
  To: kvalo, linux-wireless; +Cc: sabeeh-khan, Michael Nemanov

From: Michael Nemanov <michael.nemanov@ti.com>

This series adds support for CC33xx which is a new family of WLAN IEEE802.11 a/b/g/n/ax
and BLE 5.4 transceivers by Texas Instruments. These devices are 20MHz single spatial stream
enabling STA (IEEE802.11ax) and AP (IEEE802.11n only) roles as well as both roles simultaneously.
Communication to the CC33xx is done via 4-bit SDIO with two extra GPIOs: Enable and Interrupt.

Data sheet: https://www.ti.com/lit/gpn/cc3301

This driver's architecture is a soft-MAC and derivative of existing wl18xx + wlcore code [1].
It has been tested with the AM335x, AM625x, and i.MX8-MP evaluation kits.

All code passes sparse and checkpatch with very few pragmatic exceptions.

Known gaps to be addressed in following patches:
1. Device tree binding documentation
2. BLE support

This work is presented as an RFC with the intention of being made into a patch after initial 
feedback is addressed.

[1] It was considered implementing CC33xx as another user of wlcore but The
differences in HW, host interface, IRQ functionality, Rx/Tx behavior and supported features
were too significant so this was abandoned.

Michael Nemanov, Sabeeh Khan
Texas Instruments

Michael Nemanov (17):
  Add cc33xx.h, cc33xx_i.h
  Add debug.h
  Add sdio.c, io.c, io.h
  Add cmd.c, cmd.h
  Add acx.c, acx.h
  Add event.c, event.h
  Add boot.c, boot.h
  Add main.c
  Add rx.c, rx.h
  Add tx.c, tx.h
  Add init.c, init.h
  Add debugfs.c, debugfs.h
  Add scan.c, scan.h
  Add conf.h
  Add ps.c, ps.h
  Add testmode.c, testmode.h
  Add Kconfig, Makefile and integrate into wireless/ti folder

 drivers/net/wireless/ti/Kconfig           |    1 +
 drivers/net/wireless/ti/Makefile          |    1 +
 drivers/net/wireless/ti/cc33xx/Kconfig    |   24 +
 drivers/net/wireless/ti/cc33xx/Makefile   |   10 +
 drivers/net/wireless/ti/cc33xx/acx.c      | 1295 +++++
 drivers/net/wireless/ti/cc33xx/acx.h      |  961 ++++
 drivers/net/wireless/ti/cc33xx/boot.c     |  362 ++
 drivers/net/wireless/ti/cc33xx/boot.h     |   23 +
 drivers/net/wireless/ti/cc33xx/cc33xx.h   |  480 ++
 drivers/net/wireless/ti/cc33xx/cc33xx_i.h |  458 ++
 drivers/net/wireless/ti/cc33xx/cmd.c      | 2037 +++++++
 drivers/net/wireless/ti/cc33xx/cmd.h      |  699 +++
 drivers/net/wireless/ti/cc33xx/conf.h     | 1245 +++++
 drivers/net/wireless/ti/cc33xx/debug.h    |   91 +
 drivers/net/wireless/ti/cc33xx/debugfs.c  | 2201 ++++++++
 drivers/net/wireless/ti/cc33xx/debugfs.h  |   91 +
 drivers/net/wireless/ti/cc33xx/event.c    |  391 ++
 drivers/net/wireless/ti/cc33xx/event.h    |   70 +
 drivers/net/wireless/ti/cc33xx/init.c     |  241 +
 drivers/net/wireless/ti/cc33xx/init.h     |   14 +
 drivers/net/wireless/ti/cc33xx/io.c       |  130 +
 drivers/net/wireless/ti/cc33xx/io.h       |   25 +
 drivers/net/wireless/ti/cc33xx/main.c     | 6013 +++++++++++++++++++++
 drivers/net/wireless/ti/cc33xx/ps.c       |  116 +
 drivers/net/wireless/ti/cc33xx/ps.h       |   15 +
 drivers/net/wireless/ti/cc33xx/rx.c       |  394 ++
 drivers/net/wireless/ti/cc33xx/rx.h       |   85 +
 drivers/net/wireless/ti/cc33xx/scan.c     |  763 +++
 drivers/net/wireless/ti/cc33xx/scan.h     |  363 ++
 drivers/net/wireless/ti/cc33xx/sdio.c     |  576 ++
 drivers/net/wireless/ti/cc33xx/testmode.c |  358 ++
 drivers/net/wireless/ti/cc33xx/testmode.h |   11 +
 drivers/net/wireless/ti/cc33xx/tx.c       | 1419 +++++
 drivers/net/wireless/ti/cc33xx/tx.h       |  159 +
 34 files changed, 21122 insertions(+)
 create mode 100644 drivers/net/wireless/ti/cc33xx/Kconfig
 create mode 100644 drivers/net/wireless/ti/cc33xx/Makefile
 create mode 100644 drivers/net/wireless/ti/cc33xx/acx.c
 create mode 100644 drivers/net/wireless/ti/cc33xx/acx.h
 create mode 100644 drivers/net/wireless/ti/cc33xx/boot.c
 create mode 100644 drivers/net/wireless/ti/cc33xx/boot.h
 create mode 100644 drivers/net/wireless/ti/cc33xx/cc33xx.h
 create mode 100644 drivers/net/wireless/ti/cc33xx/cc33xx_i.h
 create mode 100644 drivers/net/wireless/ti/cc33xx/cmd.c
 create mode 100644 drivers/net/wireless/ti/cc33xx/cmd.h
 create mode 100644 drivers/net/wireless/ti/cc33xx/conf.h
 create mode 100644 drivers/net/wireless/ti/cc33xx/debug.h
 create mode 100644 drivers/net/wireless/ti/cc33xx/debugfs.c
 create mode 100644 drivers/net/wireless/ti/cc33xx/debugfs.h
 create mode 100644 drivers/net/wireless/ti/cc33xx/event.c
 create mode 100644 drivers/net/wireless/ti/cc33xx/event.h
 create mode 100644 drivers/net/wireless/ti/cc33xx/init.c
 create mode 100644 drivers/net/wireless/ti/cc33xx/init.h
 create mode 100644 drivers/net/wireless/ti/cc33xx/io.c
 create mode 100644 drivers/net/wireless/ti/cc33xx/io.h
 create mode 100644 drivers/net/wireless/ti/cc33xx/main.c
 create mode 100644 drivers/net/wireless/ti/cc33xx/ps.c
 create mode 100644 drivers/net/wireless/ti/cc33xx/ps.h
 create mode 100644 drivers/net/wireless/ti/cc33xx/rx.c
 create mode 100644 drivers/net/wireless/ti/cc33xx/rx.h
 create mode 100644 drivers/net/wireless/ti/cc33xx/scan.c
 create mode 100644 drivers/net/wireless/ti/cc33xx/scan.h
 create mode 100644 drivers/net/wireless/ti/cc33xx/sdio.c
 create mode 100644 drivers/net/wireless/ti/cc33xx/testmode.c
 create mode 100644 drivers/net/wireless/ti/cc33xx/testmode.h
 create mode 100644 drivers/net/wireless/ti/cc33xx/tx.c
 create mode 100644 drivers/net/wireless/ti/cc33xx/tx.h


base-commit: 83127ecada257e27f4740dbca9644dd0e838bc36
-- 
2.25.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2024-05-13 11:27 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-12 18:32 [RFC PATCH 00/17] wifi: cc33xx: Add driver for new TI CC33xx wireless device family michael.nemanov
2024-05-12 18:32 ` [RFC PATCH 01/17] Add cc33xx.h, cc33xx_i.h michael.nemanov
2024-05-12 18:32 ` [RFC PATCH 02/17] Add debug.h michael.nemanov
2024-05-12 18:32 ` [RFC PATCH 03/17] Add sdio.c, io.c, io.h michael.nemanov
2024-05-12 18:32 ` [RFC PATCH 04/17] Add cmd.c, cmd.h michael.nemanov
2024-05-12 18:32 ` [RFC PATCH 05/17] Add acx.c, acx.h michael.nemanov
2024-05-12 18:32 ` [RFC PATCH 06/17] Add event.c, event.h michael.nemanov
2024-05-12 18:32 ` [RFC PATCH 07/17] Add boot.c, boot.h michael.nemanov
2024-05-12 18:32 ` [RFC PATCH 08/17] Add main.c michael.nemanov
2024-05-12 18:32 ` [RFC PATCH 09/17] Add rx.c, rx.h michael.nemanov
2024-05-12 18:32 ` [RFC PATCH 10/17] Add tx.c, tx.h michael.nemanov
2024-05-12 18:32 ` [RFC PATCH 11/17] Add init.c, init.h michael.nemanov
2024-05-12 18:32 ` [RFC PATCH 12/17] Add debugfs.c, debugfs.h michael.nemanov
2024-05-12 18:32 ` [RFC PATCH 13/17] Add scan.c, scan.h michael.nemanov
2024-05-12 18:32 ` [RFC PATCH 14/17] Add conf.h michael.nemanov
2024-05-12 18:32 ` [RFC PATCH 15/17] Add ps.c, ps.h michael.nemanov
2024-05-12 18:32 ` [RFC PATCH 16/17] Add testmode.c, testmode.h michael.nemanov
2024-05-12 18:32 ` [RFC PATCH 17/17] Add Kconfig, Makefile and integrate into wireless/ti folder michael.nemanov
2024-05-13  6:42 ` [RFC PATCH 00/17] wifi: cc33xx: Add driver for new TI CC33xx wireless device family Kalle Valo
2024-05-13 11:27   ` Nemanov, Michael

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox