Hi Rob, thanks for all the comments.
Am 25.05.2017 um 14:48 schrieb Rob Herring robh+dt@kernel.org:
On Tue, May 23, 2017 at 8:49 AM, H. Nikolaus Schaller hns@goldelico.com wrote:
Hi Rob,
Am 23.05.2017 um 15:10 schrieb Rob Herring robh+dt@kernel.org:
+Marcel
Good!
Hm. Well:
root@letux:~# hciconfig hci0 up Can't get device info: No such device root@letux:~#
I wonder how I can tell hciconfig about the UART port if not by running hciattach /dev/ttyBT0?
You don't create a tty device. Instead you call hci_uart_register_device from the serdev probe.
I see. That is also brand new API in 4.12.
Or do you have a link to what you think about?
Look at the nokia BT or TI (HCI_LL) BT drivers. Those both have f/w downloading and some GPIO controls. Given that this module is based on Marvell chipset, I'd expect you need to add serdev support to hci_mrvl.c.
The w2cb003 has a Marvell WiFi (libertas) but a CSR Bluetooth side.
It has built-in firmware and already talks serial HCI over simple UART right after power-on. This is why our serdev driver has no firmware download.
Okay, then probably add serdev support to hci_bcsp. In any case, hci_uart_register_device just needs to register the correct protocol.
Hm. I have tried to understand the hci_bcsp stuff but I must admit that we lack quick enough understanding of such magic, to be able to add serdev support with reasonable efforts. Is there a good description how hci_bcsp it works?
And I found:
BCSP (BlueCore Serial Protocol) is serial protocol for communication between Bluetooth device and host. This protocol is required for non USB Bluetooth devices based on CSR BlueCore chip, including PCMCIA and CF cards.
It appears as if the w2cbw003 bluetooth is really based on a BlueCore chip (there are 2 references in http://www.wi2wi.com/mgr/docs/W2CBW003_Datasheet_Rev1.8.pdf ).
Therefore it might be possible to use BCSP but that are completely new horizons. But so far we have simply used "hciattach any" mode for years.
We also know that the Gumstix Storm uses the same w2cbw wifi/bluetooth combo (omap3-overo-base.dtsi) but there also appears to be no BCSP support in the kernel.
BTW: it looks as if they simply turn on bluetooth as soon as WiFi is configured up. So they could be interested in a more precise power management driver like what we propose.
Maybe someone who owns an older Gumstix with the same chip (they were phased out in 2015 and replaced by TI modules) can help or jump into this discussion.
Thanks and BR, Nikolaus