Thread (1 message) 1 message, 1 author, 2017-04-19

Re: [PATCH v3 3/4] bluetooth: hci_uart: add LL protocol serdev driver support

From: Rob Herring <hidden>
Date: 2017-04-19 20:47:23
Also in: linux-arm-kernel, linux-bluetooth, linux-devicetree

On Mon, Apr 17, 2017 at 3:11 PM, Adam Ford [off-list ref] wrote:
On Thu, Apr 13, 2017 at 10:03 AM, Rob Herring [off-list ref] wrote:
quoted
Turns out that the LL protocol and the TI-ST are the same thing AFAICT.
The TI-ST adds firmware loading, GPIO control, and shared access for
NFC, FM radio, etc. For now, we're only implementing what is needed for
BT. This mirrors other drivers like BCM and Intel, but uses the new
serdev bus.

The firmware loading is greatly simplified by using existing
infrastructure to send commands. It may be a bit slower than the
original code using synchronous functions, but the real bottleneck is
likely doing firmware load at 115.2kbps.
I am using pdata-quirks to drive my wl1283 Bluetooth on a DM3730.  I
have the Bluetooth set to 3000000 baud in pdata quirks.  Looking at
the binding, I don't see an option to set the baudrate.  Is there (or
will there) be a way to set the baud rate of the Bluetooth?
If you read hci_ti_probe, you will see it is already there. The
default is 3Mbps and the DT can override that with "max-speed". The
intent is that 3Mbps is the max the device can do and max-speed is
only for board or host limitations. Though I just checked the
datasheet on the 1835 and it can go up to 4364kbps. No datasheets for
wl1283, so I have no idea what the max is.
quoted
+static int hci_ti_probe(struct serdev_device *serdev)
+{
+       struct hci_uart *hu;
+       struct ll_device *lldev;
+       u32 max_speed = 3000000;
[...]
quoted
+       of_property_read_u32(serdev->dev.of_node, "max-speed", &max_speed);
+       hci_uart_set_speeds(hu, 115200, max_speed);
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help