mbox series

[v1,0/3] Add support for NXP bluetooth chipsets

Message ID 20230124174714.2775680-1-neeraj.sanjaykale@nxp.com (mailing list archive)
Headers show
Series Add support for NXP bluetooth chipsets | expand

Message

Neeraj Sanjay Kale Jan. 24, 2023, 5:47 p.m. UTC
This patch adds a driver for NXP bluetooth chipsets.
The driver is based on H4 protocol, and uses serdev
APIs. It supports host to chip power save feature,
which is signalled by the host by asserting break
over UART TX lines, to put the chip into sleep state.

To support this feature, break_ctl has also been
added to serdev-tty along with a new serdev API
serdev_device_break_ctl().

This driver is capable of downloading chip specific
firmware, where user can either define the firmware
file name in DTS file, or in the user-space config
file. Each chip has a unique bootloader signature,
and the driver is capable of selecting firmware file
based on the signature received.

The document specifying device tree bindings for
this driver is also included in this patch series.

Neeraj Sanjay Kale (3):
  serdev: Add method to assert break
  dt-bindings: net: bluetooth: Add NXP bluetooth support
  Bluetooth: NXP: Add protocol support for NXP Bluetooth chipsets

 .../bindings/net/bluetooth/nxp-bluetooth.yaml |  45 +
 MAINTAINERS                                   |   6 +
 drivers/bluetooth/Kconfig                     |  11 +
 drivers/bluetooth/Makefile                    |   1 +
 drivers/bluetooth/btnxp.c                     | 947 ++++++++++++++++++
 drivers/bluetooth/btnxp.h                     | 188 ++++
 drivers/tty/serdev/core.c                     |  11 +
 drivers/tty/serdev/serdev-ttyport.c           |  12 +
 include/linux/serdev.h                        |   6 +
 9 files changed, 1227 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/bluetooth/nxp-bluetooth.yaml
 create mode 100644 drivers/bluetooth/btnxp.c
 create mode 100644 drivers/bluetooth/btnxp.h