circuitpython/drivers/cyw43
iabdalkader a453b4f31d drivers/cyw43: Make the CYW43 Bluetooth HCI driver more portable.
This commit allows other ports to reuse the CYW43 HCI driver, by replacing
all Bluetooth UART and control named pins with defines in config files and
using `mpbthci` abstract functions (i.e. `mp_bluetooth_hci_*`) instead of
the STM32 specific UART functions.

Note: the function `cywbt_wait_cts_low` does not need to switch the CTS
pin from alternate function to GPIO to read it.  At least on stm32, mimxrt
it's possible to just read the pin input.  For example, see the STM32F7
RM0410 section 6.3.11, and the `SION` for IMXRT.  So this function can
also be available for other ports if the pin mode switching is removed.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2023-09-01 00:02:00 +10:00
..
README.md drivers: Add driver for CYW43xx WiFi SoCs. 2019-06-03 16:47:35 +10:00
cywbt.c drivers/cyw43: Make the CYW43 Bluetooth HCI driver more portable. 2023-09-01 00:02:00 +10:00

README.md

CYW43xx WiFi SoC driver

This is a driver for the CYW43xx WiFi SoC.

There are four layers to the driver:

  1. SDIO bus interface, provided by the host device/system.

  2. Low-level CYW43xx interface, managing the bus, control messages, Ethernet frames and asynchronous events. Includes download of SoC firmware. The header file cyw43_ll.h defines the interface to this layer.

  3. Mid-level CYW43xx control, to control and set WiFi parameters and manage events. See cyw43_ctrl.c.

  4. TCP/IP bindings to lwIP. See cyw43_lwip.c.