mbox series

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

Message ID 20230130180504.2029440-1-neeraj.sanjaykale@nxp.com
Headers show
Series Add support for NXP bluetooth chipsets | expand

Message

Neeraj Sanjay Kale Jan. 30, 2023, 6:05 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 firmware into
the chip over UART.

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 |   42 +
 MAINTAINERS                                   |    7 +
 drivers/bluetooth/Kconfig                     |   11 +
 drivers/bluetooth/Makefile                    |    1 +
 drivers/bluetooth/btnxpuart.c                 | 1145 +++++++++++++++++
 drivers/bluetooth/btnxpuart.h                 |  227 ++++
 drivers/tty/serdev/core.c                     |   11 +
 drivers/tty/serdev/serdev-ttyport.c           |   12 +
 include/linux/serdev.h                        |    6 +
 9 files changed, 1462 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/bluetooth/nxp-bluetooth.yaml
 create mode 100644 drivers/bluetooth/btnxpuart.c
 create mode 100644 drivers/bluetooth/btnxpuart.h

Comments

Greg Kroah-Hartman Jan. 31, 2023, 9:50 a.m. UTC | #1
On Mon, Jan 30, 2023 at 11:35:02PM +0530, Neeraj Sanjay Kale wrote:
> Adds serdev_device_break_ctl() and an implementation for ttyport.

Please write a complete changelog text, as our documentation asks you
to.  This does not explain anything here :(

thanks,

greg k-h
Neeraj Sanjay Kale Feb. 1, 2023, 12:33 p.m. UTC | #2
Hi Rob,

Thank you for your feedback. I am working on all the review comments received.

> 
> On Mon, Jan 30, 2023 at 11:35:04PM +0530, Neeraj Sanjay Kale wrote:
> > This adds a driver based on serdev driver for the NXP BT serial
> > protocol based on running H:4, which can enable the built-in
> > Bluetooth device inside a generic NXP BT chip.
> 
> These are rebranded or descend from Marvell chips, right? Maybe this
> should be merged with the 88w8897. The firmware download seems to
> match
> the v1 protocol.
> 
The 88w8897 was a legacy Marvell chipset, while the newer chipsets we are trying to add here are branded under "NXP".
Most of the newer chipset download FW using V3 protocol and few of them use V1 protocol, which is still different from the V1 protocol seen for 8897 chip.

Initially we tried to add support for NXP chipsets in hci line-discipline, but Marcel Holtmann advised us to implement this standalone driver based on serdev.

Thanks,
Neeraj