[RFC 0/7] Nokia N9xx bluetooth driver

From: Sebastian Reichel
Date: Fri Aug 12 2016 - 23:15:13 EST


Hi,

This series (based von 4.8-rc1) adds support for bluetooth on the Nokia
N9xx devices. It has been tested on the Nokia N950, where it works
correctly. On Nokia N900 it currently fails during negotiation
(probably related to slightly incorrect serial settings/timings).
The N900's bcm2048 correctly answeres to alive check even before
negotiation (on N950 it does not work before negotiation), but replies
with an Hardware error event to the negotiation packet.

Apart from N900 support there are still two "features" missing in the
driver:

1. To save energy the bluetooth module can be put into sleep mode via a
GPIO. This gpio should be enabled before sending data via UART and
disabled once the transmission is done. I currently just keep the
GPIO always enabled.
2. It would be nice to have a bluetooth device exposed by the kernel
automatically without having to setup the tty disector first for
proper configurationless out of the box support. I could not find
a nice way to do this from the kernel, though.

On N950 the driver works with omap-serial and omap8250-serial drivers.

You can also find this series in the following branch:
https://git.kernel.org/cgit/linux/kernel/git/sre/linux-n900.git/log/?h=nokia-bluetooth

-- Sebastian

NeilBrown (1):
tty: add support for "tty slave" devices

Sebastian Reichel (6):
tty: serial: omap: add UPF_BOOT_AUTOCONF flag for DT init
dt: bindings: Add nokia-bluetooth
Bluetooth: hci_uart: Add support for word alignment
Bluetooth: hci_nokia: Introduce new driver
ARM: dts: OMAP3-N900: Add bluetooth
ARM: dts: OMAP3-N950: Add bluetooth

.../devicetree/bindings/net/nokia-bluetooth.txt | 43 ++
Documentation/devicetree/bindings/serial/8250.txt | 4 +
arch/arm/boot/dts/omap3-n900.dts | 22 +-
arch/arm/boot/dts/omap3-n950-n9.dtsi | 34 +
drivers/bluetooth/Kconfig | 10 +
drivers/bluetooth/Makefile | 1 +
drivers/bluetooth/hci_h4.c | 10 +
drivers/bluetooth/hci_ldisc.c | 6 +
drivers/bluetooth/hci_nokia.c | 734 +++++++++++++++++++++
drivers/bluetooth/hci_nokia.h | 140 ++++
drivers/bluetooth/hci_uart.h | 9 +-
drivers/tty/serial/omap-serial.c | 3 +
drivers/tty/tty_io.c | 6 +
13 files changed, 1020 insertions(+), 2 deletions(-)
create mode 100644 Documentation/devicetree/bindings/net/nokia-bluetooth.txt
create mode 100644 drivers/bluetooth/hci_nokia.c
create mode 100644 drivers/bluetooth/hci_nokia.h

--
2.8.1