<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/bluetooth/hci_ll.c, branch linux-4.16.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.16.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.16.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2017-12-13T08:38:34Z</updated>
<entry>
<title>Bluetooth: hci_ll: add "ti,cc2560" compatible string</title>
<updated>2017-12-13T08:38:34Z</updated>
<author>
<name>David Lechner</name>
<email>david@lechnology.com</email>
</author>
<published>2017-12-13T00:29:31Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=4166493c97c0c70e8d7678422c2214dc5ec6e9d3'/>
<id>urn:sha1:4166493c97c0c70e8d7678422c2214dc5ec6e9d3</id>
<content type='text'>
This adds the "ti,cc2560" compatible string for a TI CC2560 chip.

Signed-off-by: David Lechner &lt;david@lechnology.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: hci_ll: Add optional nvmem BD address source</title>
<updated>2017-12-13T08:21:20Z</updated>
<author>
<name>David Lechner</name>
<email>david@lechnology.com</email>
</author>
<published>2017-12-12T23:54:12Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=0e58d0cdb3eb6e06416bcc1af3605993c6a07656'/>
<id>urn:sha1:0e58d0cdb3eb6e06416bcc1af3605993c6a07656</id>
<content type='text'>
This adds an optional nvmem consumer to get a BD address from an external
source. The BD address is then set in the Bluetooth chip after the
firmware has been loaded.

This has been tested working with a TI CC2560A chip (in a LEGO MINDSTORMS
EV3).

Signed-off-by: David Lechner &lt;david@lechnology.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: hci_ll: add support for setting public address</title>
<updated>2017-12-12T23:28:42Z</updated>
<author>
<name>David Lechner</name>
<email>david@lechnology.com</email>
</author>
<published>2017-12-12T21:59:16Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=aa0993986932fe0ac7694b22c26c84e67abec53d'/>
<id>urn:sha1:aa0993986932fe0ac7694b22c26c84e67abec53d</id>
<content type='text'>
This adds support for setting the public address on Texas Instruments
Bluetooth chips using a vendor-specific command.

This has been tested on a CC2560A chip. The TI wiki also indicates that
this command should work on TI WL17xx/WL18xx Bluetooth chips.

During review, there was some question as to the correctness of the byte
swapping since TI's documentation is not clear on this matter. This can
be tested with the btmgmt utility from bluez. The adapter must be powered
off to change the address. If the baswap() is omitted, address is reversed.

In case there is a issue in the future, here is the output of btmon during
the command `btmgmt public-addr 00:11:22:33:44:55`:

Bluetooth monitor ver 5.43
= Note: Linux version 4.15.0-rc2-08561-gcb132a1-dirty (armv5tejl)      0.707043
= Note: Bluetooth subsystem version 2.22                               0.707091
= New Index: 00:17:E7:BD:1C:8E (Primary,UART,hci0)              [hci0] 0.707106
@ MGMT Open: btmgmt (privileged) version 1.14                 {0x0002} 0.707124
@ MGMT Open: bluetoothd (privileged) version 1.14             {0x0001} 0.707137
@ MGMT Open: btmon (privileged) version 1.14                  {0x0003} 0.707540
@ MGMT Command: Set Public Address (0x0039) plen 6    {0x0002} [hci0] 11.167991
        Address: 00:11:22:33:44:55 (CIMSYS Inc)
@ MGMT Event: Command Complete (0x0001) plen 7        {0x0002} [hci0] 11.175681
      Set Public Address (0x0039) plen 4
        Status: Success (0x00)
        Missing options: 0x00000000
@ MGMT Event: Index Removed (0x0005) plen 0           {0x0003} [hci0] 11.175757
@ MGMT Event: Index Removed (0x0005) plen 0           {0x0002} [hci0] 11.175757
@ MGMT Event: Index Removed (0x0005) plen 0           {0x0001} [hci0] 11.175757
= Open Index: 00:17:E7:BD:1C:8E                                [hci0] 11.176807
&lt; HCI Command: Vendor (0x3f|0x0006) plen 6                     [hci0] 11.176975
        00 11 22 33 44 55                                .."3DU
&gt; HCI Event: Command Complete (0x0e) plen 4                    [hci0] 11.188260
      Vendor (0x3f|0x0006) ncmd 1
        Status: Success (0x00)
...
&lt; HCI Command: Read Local Version Info.. (0x04|0x0001) plen 0  [hci0] 11.189859
&gt; HCI Event: Command Complete (0x0e) plen 12                   [hci0] 11.190732
      Read Local Version Information (0x04|0x0001) ncmd 1
        Status: Success (0x00)
        HCI version: Bluetooth 2.1 (0x04) - Revision 0 (0x0000)
        LMP version: Bluetooth 2.1 (0x04) - Subversion 6431 (0x191f)
        Manufacturer: Texas Instruments Inc. (13)
&lt; HCI Command: Read BD ADDR (0x04|0x0009) plen 0               [hci0] 11.191027
&gt; HCI Event: Command Complete (0x0e) plen 10                   [hci0] 11.192101
      Read BD ADDR (0x04|0x0009) ncmd 1
        Status: Success (0x00)
        Address: 00:11:22:33:44:55 (CIMSYS Inc)
...

Signed-off-by: David Lechner &lt;david@lechnology.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: hci_ll: Add endianness conversion when setting baudrate</title>
<updated>2017-12-12T23:28:41Z</updated>
<author>
<name>David Lechner</name>
<email>david@lechnology.com</email>
</author>
<published>2017-12-08T02:22:19Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=c30b93eade2ad1d77695669f25ddeb3833588d3b'/>
<id>urn:sha1:c30b93eade2ad1d77695669f25ddeb3833588d3b</id>
<content type='text'>
This adds an endianness conversion when setting the baudrate using a
vendor-specific command. Otherwise, bad things might happen on a big-
endian system.

Suggested-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: David Lechner &lt;david@lechnology.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: hci_ll: add constant for vendor-specific command</title>
<updated>2017-12-12T23:28:41Z</updated>
<author>
<name>David Lechner</name>
<email>david@lechnology.com</email>
</author>
<published>2017-12-04T03:21:21Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=7c6ca1201e5e87513b27196138f06df9cbd09a7a'/>
<id>urn:sha1:7c6ca1201e5e87513b27196138f06df9cbd09a7a</id>
<content type='text'>
This adds a #define for the vendor-specific HCI command to set the
baudrate instead of using the bare 0xff36 multiple times.

Signed-off-by: David Lechner &lt;david@lechnology.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: serdev: hci_ll: Wait for CTS instead of using msleep</title>
<updated>2017-12-12T23:28:41Z</updated>
<author>
<name>David Lechner</name>
<email>david@lechnology.com</email>
</author>
<published>2017-12-03T02:43:55Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d54fdcf9244ceca3e2768878b7512f12725437d1'/>
<id>urn:sha1:d54fdcf9244ceca3e2768878b7512f12725437d1</id>
<content type='text'>
When a TI Bluetooth chip is reset, it takes about 100ms for the RTS line of
the chip to deassert. For my use case with a TI CC2560A chip, this delay
was not long enough and caused the local UART to never transmit at all (TI
AM1808 SoC UART2).

We can wait for the CTS signal using serdev_device_wait_for_cts() instead
of trying to guess using msleep().

Also changed the comment to be more informative while we are touching this
code.

Signed-off-by: David Lechner &lt;david@lechnology.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: hci_ll: remove \n from kernel messages</title>
<updated>2017-12-12T23:28:41Z</updated>
<author>
<name>David Lechner</name>
<email>david@lechnology.com</email>
</author>
<published>2017-12-03T03:01:58Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=059fb8230732d101950ae1d435238d78545cf46b'/>
<id>urn:sha1:059fb8230732d101950ae1d435238d78545cf46b</id>
<content type='text'>
The bt_* printk macros include a \n already, so we don't need extra ones
here.

Signed-off-by: David Lechner &lt;david@lechnology.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: mark expected switch fall-throughs</title>
<updated>2017-10-14T07:25:51Z</updated>
<author>
<name>Gustavo A. R. Silva</name>
<email>garsilva@embeddedor.com</email>
</author>
<published>2017-10-12T22:24:02Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=fac72b243cc789bb209e6eca824919b42d98cfe2'/>
<id>urn:sha1:fac72b243cc789bb209e6eca824919b42d98cfe2</id>
<content type='text'>
In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

In this particular case, notice that I replaced the
"deliberate fall-through..." comment with a "fall through"
comment, which is what GCC is expecting to find.

Signed-off-by: Gustavo A. R. Silva &lt;garsilva@embeddedor.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: Style fix - align block comments</title>
<updated>2017-07-22T06:39:39Z</updated>
<author>
<name>Derek Robson</name>
<email>robsonde@gmail.com</email>
</author>
<published>2017-07-22T01:47:07Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d98422cb6619408f1779457fefc5da983fc6bc3b'/>
<id>urn:sha1:d98422cb6619408f1779457fefc5da983fc6bc3b</id>
<content type='text'>
Fixed alignment of all block comments.
Found using checkpatch

Signed-off-by: Derek Robson &lt;robsonde@gmail.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: hci_ll: Use new hci_uart_unregister_device() function</title>
<updated>2017-07-20T09:18:36Z</updated>
<author>
<name>Ian Molton</name>
<email>ian@mnementh.co.uk</email>
</author>
<published>2017-07-08T16:37:43Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=37f5258d1cde34e73a5ce3dfe00a80274e299c72'/>
<id>urn:sha1:37f5258d1cde34e73a5ce3dfe00a80274e299c72</id>
<content type='text'>
Convert hci_ll to use hci_uart_unregister_device().

This simplifies the _remove() handler as well as fixes a
potential race condition on unload.

Signed-off-by: Ian Molton &lt;ian@mnementh.co.uk&gt;
Reviewed-by: Sebastian Reichel &lt;sebastian.reichel@collabor.co.uk&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
</feed>
