linux/drivers/bluetooth
Petri Gynther 10d4c6736e Bluetooth: btusb: Add Broadcom patch RAM support
After hardware reset, some BCM Bluetooth adapters obtain their initial firmware
from OTPROM chip. Once this initial firmware is running, the firmware can be
further upgraded over HCI interface with .hcd files provided by Broadcom. This
is also known as "patch RAM" support. This change implements that.

If the .hcd file is not found in /lib/firmware, BCM Bluetooth adapter continues
to operate with the initial firmware. Sample kernel log:
  hotplug: sys=firmware act=add fw=brcm/BCM20702A0-0a5c-22be.hcd dev=...
  Bluetooth: hci0: BCM: patch brcm/BCM20702A0-0a5c-22be.hcd not found

If the .hcd file is found, btusb driver pushes it to the BCM Bluetooth adapter and
it starts using the new firmware. Sample kernel log:
  hotplug: sys=firmware act=add fw=brcm/BCM20702A0-0a5c-22be.hcd dev=...
  Bluetooth: hci0: BCM: patching hci_ver=06 hci_rev=1000 lmp_ver=06 lmp_subver=220e
  Bluetooth: hci0: BCM: firmware hci_ver=06 hci_rev=1389 lmp_ver=06 lmp_subver=220e

Above, we can see that hci_rev goes from 1000 to 1389 as a result of the upgrade.

Signed-off-by: Petri Gynther <pgynther@google.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
2014-05-08 16:12:57 -07:00
..
ath3k.c Bluetooth: Fix endianess issue in the ath3k driver 2014-03-07 20:09:40 +02:00
bcm203x.c Bluetooth: Use devm_kzalloc in bcm203x.c file. 2012-08-06 15:03:00 -03:00
bfusb.c Bluetooth: Remove assignments in if-statements 2014-03-05 20:52:17 +02:00
bluecard_cs.c Bluetooth: bluecard: Use del_timer_sync() in teardown path 2014-03-23 10:30:22 -07:00
bpa10x.c Bluetooth: Declare bpa10x_table[] as const 2013-10-11 17:05:22 +02:00
bt3c_cs.c Bluetooth: Remove assignments in if-statements 2014-03-05 20:52:17 +02:00
btmrvl_debugfs.c Bluetooth: replace strict_strtol() with kstrtol() 2013-07-25 14:15:25 +01:00
btmrvl_drv.h Bluetooth: btmrvl: Fix btmrvl_send_module_cfg_cmd() 2014-04-24 11:55:25 -03:00
btmrvl_main.c Bluetooth: btmrvl: Fix btmrvl_send_module_cfg_cmd() 2014-04-24 11:55:25 -03:00
btmrvl_sdio.c Bluetooth: btmrvl: implement read-to-clear for SD8897 interrupts 2014-03-28 19:37:06 -07:00
btmrvl_sdio.h Bluetooth: btmrvl: implement read-to-clear for SD8897 interrupts 2014-03-28 19:37:06 -07:00
btsdio.c Bluetooth: Use MD SET register for changing SDIO Type-B to Type-A 2013-12-29 21:31:07 +02:00
btuart_cs.c Bluetooth: Remove assignments in if-statements 2014-03-05 20:52:17 +02:00
btusb.c Bluetooth: btusb: Add Broadcom patch RAM support 2014-05-08 16:12:57 -07:00
btwilink.c Bluetooth: Add hdev parameter to hdev->send driver callback 2013-10-11 15:28:03 +02:00
dtl1_cs.c Bluetooth: Remove assignments in if-statements 2014-03-05 20:52:17 +02:00
hci_ath.c tty: move the termios object into the tty 2012-07-16 13:00:41 -07:00
hci_bcsp.c Bluetooth: Remove assignments in if-statements 2014-03-05 20:52:17 +02:00
hci_h4.c Bluetooth: Remove hci_h4 unused defines 2014-04-24 11:55:26 -03:00
hci_h5.c Bluetooth: Remove assignments in if-statements 2014-03-05 20:52:17 +02:00
hci_ldisc.c Bluetooth: Remove assignments in if-statements 2014-03-05 20:52:17 +02:00
hci_ll.c Bluetooth: Add hdev parameter to hdev->send driver callback 2013-10-11 15:28:03 +02:00
hci_uart.h Bluetooth: Add delayed init sequence support for UART controllers 2012-07-17 14:48:29 -03:00
hci_vhci.c Bluetooth: allocate static minor for vhci 2014-02-18 09:49:04 -08:00
Kconfig Bluetooth: btmrvl: support Marvell Bluetooth device SD8897 2013-06-12 10:20:54 -04:00
Makefile Bluetooth: Enable -D__CHECK_ENDIAN__ for sparse by default 2013-10-02 09:10:05 +03:00