linux-stable/drivers/bluetooth
Fabio K a86c02ea38 Bluetooth: Add support for Broadcom BCM20702A1 variant
This variant requires the flag BTUSB_BCM_PATCHRAM to work.

Relevant details from /sys/kernel/debug/usb/devices:

T:  Bus=01 Lev=02 Prnt=02 Port=04 Cnt=01 Dev#=  3 Spd=12   MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=13d3 ProdID=3404 Rev= 1.12
S:  Manufacturer=Broadcom Corp
S:  Product=BCM20702A0
S:  SerialNumber=240A646F1XXX
C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
I:  If#= 1 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
I:  If#= 1 Alt= 2 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
I:  If#= 1 Alt= 3 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
I:  If#= 1 Alt= 4 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
I:  If#= 1 Alt= 5 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=84(I) Atr=02(Bulk) MxPS=  32 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS=  32 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)

The firmware was extracted from a Windows 8.1 64-bit installation
and converted from 'hex' to 'hcd' for use in Linux.

Under Windows it also identifies itself as BCM20702A0,
but the firmware is named "BCM20702A1_001.002.014.1315.1356.hex"
and is located in "%SYSTEMROOT%\system32\drivers\"
(md5 67cf6bfdae61c4bb819a66da984f7913)
(sha1 5f74cc6a9a3bf19ee0f8c3d01e4be34c609b188f)

The same firmware file is also available as a download at
http://www.asrock.com/mb/Intel/Z87E-ITX/?cat=Download&os=All
marked as "Bluetooth driver ver:12.0.0.7820"

'hcd' file should be placed at "brcm/BCM20702A0-13d3-3404.hcd"
inside the firmware directory (e.g. "/lib/firmware")

Signed-off-by: Fabio K <healthkit@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
2014-11-18 08:32:14 +01:00
..
ath3k.c Bluetooth: Add support for Acer [0489:e078] 2014-10-25 07:56:22 +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: Remove typedef bluecard_info_t 2014-08-14 08:49:25 +02:00
bpa10x.c Bluetooth: Declare bpa10x_table[] as const 2013-10-11 17:05:22 +02:00
bt3c_cs.c Bluetooth: Remove typedef bt3c_info_t 2014-08-14 08:49:26 +02:00
btmrvl_debugfs.c Bluetooth: replace strict_strtol() with kstrtol() 2013-07-25 14:15:25 +01:00
btmrvl_drv.h Bluetooth: btmrvl: add public address configuration support 2014-07-19 02:33:21 +02:00
btmrvl_main.c Bluetooth: Fix crash in the Marvell driver initialization codepath 2014-07-31 01:07:28 +02:00
btmrvl_sdio.c Bluetooth: btmrvl: support Marvell Bluetooth device SD8887 2014-09-30 14:13:29 +02:00
btmrvl_sdio.h Bluetooth: btmrvl: indicate pscan scheduling instant in a debug event 2014-07-03 17:42:54 +02: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 typedef btuart_info_t 2014-08-14 08:49:25 +02:00
btusb.c Bluetooth: Add support for Broadcom BCM20702A1 variant 2014-11-18 08:32:14 +01: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 typedefs nsh_t and dtl1_info_t 2014-08-14 08:49:26 +02:00
hci_ath.c Bluetooth: hci-uart-ath: Correct the comments in this driver 2014-11-11 00:21:18 +01: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: Switch HCI H5 driver to use hci_reset_dev() function 2014-11-02 10:03:51 +02:00
hci_ldisc.c Bluetooth: Fix HCIUARTGETDEVICE ioctl when UART is not registered 2014-07-12 18:37:34 +03: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 support for external configuration with UART driver 2014-07-11 13:59:50 +03:00
hci_vhci.c switch hci_vhci to ->write_iter() 2014-10-09 02:39:08 -04:00
Kconfig Bluetooth: btmrvl: support Marvell Bluetooth device SD8887 2014-09-30 14:13:29 +02:00
Makefile Bluetooth: Enable -D__CHECK_ENDIAN__ for sparse by default 2013-10-02 09:10:05 +03:00