Bluetooth: hci_bcm: Add support for FW loading in autobaud mode
authorHakan Jansson <hakan.jansson@infineon.com>
Mon, 30 May 2022 15:02:18 +0000 (17:02 +0200)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Fri, 22 Jul 2022 00:04:38 +0000 (17:04 -0700)
commitaf35e28f0fea877832fa27802bc862b2a912f32a
treead726766d10991dcb4a10157f421cdda59c10d0f
parent0b4de2523f281b0492de3427da82495bfca6f263
Bluetooth: hci_bcm: Add support for FW loading in autobaud mode

Use the presence of a DT property, "brcm,requires-autobaud-mode", to enable
startup in autobaud mode. If the property is present, the device is started
in autobaud mode by asserting RTS (BT_UART_CTS_N) prior to powering on the
device.

Also prevent the use of unsupported commands for devices started in
autobaud mode. Only a limited subset of HCI commands are supported in
autobaud mode.

Some devices (e.g. CYW5557x) require autobaud mode to enable FW loading.
Autobaud mode can also be required on some boards where the controller
device is using a non-standard baud rate in normal mode when first powered
on.

Signed-off-by: Hakan Jansson <hakan.jansson@infineon.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/btbcm.c
drivers/bluetooth/btbcm.h
drivers/bluetooth/hci_bcm.c