2015-01-21 07:59:52

by Jesse Sung

[permalink] [raw]
Subject: [PATCH resend 1/5] Bluetooth: Add BTUSB_BCM_PATCHRAM to Broadcom devices 13d3:*

It is known that at least 13d3:3388, 13d3:3389, and 13d3:3404 require
external firmwares to work properly. Since the firmware loading
procedure is skipped if there's no firmware file provided, it is safe to
set BTUSB_BCM_PATCHRAM for 13d3:* instead of adding each module one by
one.

Signed-off-by: Wen-chien Jesse Sung <[email protected]>
---
drivers/bluetooth/btusb.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 19cf2cf..fd3ac5b 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -106,8 +106,6 @@ static const struct usb_device_id btusb_table[] = {
{ USB_DEVICE(0x0b05, 0x17b5) },
{ USB_DEVICE(0x0b05, 0x17cb) },
{ USB_DEVICE(0x413c, 0x8197) },
- { USB_DEVICE(0x13d3, 0x3404),
- .driver_info = BTUSB_BCM_PATCHRAM },

/* Foxconn - Hon Hai */
{ USB_VENDOR_AND_INTERFACE_INFO(0x0489, 0xff, 0x01, 0x01),
@@ -124,7 +122,8 @@ static const struct usb_device_id btusb_table[] = {
{ USB_VENDOR_AND_INTERFACE_INFO(0x050d, 0xff, 0x01, 0x01) },

/* IMC Networks - Broadcom based */
- { USB_VENDOR_AND_INTERFACE_INFO(0x13d3, 0xff, 0x01, 0x01) },
+ { USB_VENDOR_AND_INTERFACE_INFO(0x13d3, 0xff, 0x01, 0x01),
+ .driver_info = BTUSB_BCM_PATCHRAM },

/* Intel Bluetooth USB Bootloader (RAM module) */
{ USB_DEVICE(0x8087, 0x0a5a),
--
2.1.0



2015-01-22 03:50:32

by Jesse Sung

[permalink] [raw]
Subject: Re: [PATCH resend 3/5] Bluetooth: Add support for Broadcom 413c:8143

Hi Marcel,

On Wed, Jan 21, 2015 at 4:26 PM, Marcel Holtmann <[email protected]>
wrote:

> Hi Wein-chien,
>
> > From: Gavin Guo <[email protected]>
> >
> > The device require external patchram firmware to work and need to
> > add corresponding id in the btusb.c.
> >
> > T: Bus=03 Lev=01 Prnt=01 Port=08 Cnt=03 Dev#= 2 Spd=12 MxCh= 0
> > D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
> > P: Vendor=413c ProdID=8143 Rev=01.12
> > S: Manufacturer=Broadcom Corp
> > S: Product=BCM20702A0
> > S: SerialNumber=20689D1FAF94
> > 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
> > I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
> > I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
> > I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
> >
> > Signed-off-by: Gavin Guo <[email protected]>
> > Signed-off-by: Wen-chien Jesse Sung <[email protected]>
> > ---
> > drivers/bluetooth/btusb.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
> > index cde222b..83cc221 100644
> > --- a/drivers/bluetooth/btusb.c
> > +++ b/drivers/bluetooth/btusb.c
> > @@ -107,6 +107,8 @@ static const struct usb_device_id btusb_table[] = {
> > { USB_DEVICE(0x0b05, 0x17cb) },
> > { USB_DEVICE(0x413c, 0x8197),
> > .driver_info = BTUSB_BCM_PATCHRAM },
> > + { USB_DEVICE(0x413c, 0x8143),
> > + .driver_info = BTUSB_BCM_PATCHRAM },
>
> please stop doing line-breaks here. This can fit easily on a single line.
>

Will fix this and send again.


> And I really prefer the section from /sys/kernel/debug/usb/devices instead
> of the usb-devices script.
>

Humm... Since these patches are generated a while ago, I may not have
access to these modules now.
Is it okay to go with usb-devices info for this time?


Thanks,
Jesse

2015-01-21 08:26:53

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH resend 3/5] Bluetooth: Add support for Broadcom 413c:8143

Hi Wein-chien,

> From: Gavin Guo <[email protected]>
>
> The device require external patchram firmware to work and need to
> add corresponding id in the btusb.c.
>
> T: Bus=03 Lev=01 Prnt=01 Port=08 Cnt=03 Dev#= 2 Spd=12 MxCh= 0
> D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
> P: Vendor=413c ProdID=8143 Rev=01.12
> S: Manufacturer=Broadcom Corp
> S: Product=BCM20702A0
> S: SerialNumber=20689D1FAF94
> 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
> I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
> I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
> I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
>
> Signed-off-by: Gavin Guo <[email protected]>
> Signed-off-by: Wen-chien Jesse Sung <[email protected]>
> ---
> drivers/bluetooth/btusb.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
> index cde222b..83cc221 100644
> --- a/drivers/bluetooth/btusb.c
> +++ b/drivers/bluetooth/btusb.c
> @@ -107,6 +107,8 @@ static const struct usb_device_id btusb_table[] = {
> { USB_DEVICE(0x0b05, 0x17cb) },
> { USB_DEVICE(0x413c, 0x8197),
> .driver_info = BTUSB_BCM_PATCHRAM },
> + { USB_DEVICE(0x413c, 0x8143),
> + .driver_info = BTUSB_BCM_PATCHRAM },

please stop doing line-breaks here. This can fit easily on a single line.

And I really prefer the section from /sys/kernel/debug/usb/devices instead of the usb-devices script.

Regards

Marcel


2015-01-21 07:59:56

by Jesse Sung

[permalink] [raw]
Subject: [PATCH resend 5/5] Bluetooth: Add support for 105b:e065

From: Adam Lee <[email protected]>

BugLink: https://launchpad.net/bugs/1161261

These devices require external patchram firmware to work.

T: Bus=01 Lev=02 Prnt=02 Port=02 Cnt=01 Dev#= 9 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=105b ProdID=e065 Rev=01.12
S: Manufacturer=Broadcom Corp
S: Product=BCM43142A0
S: SerialNumber=0090A295B4C6
C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)

Signed-off-by: Adam Lee <[email protected]>
Signed-off-by: Wen-chien Jesse Sung <[email protected]>
---
drivers/bluetooth/btusb.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index b847549..a5fc520 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -113,6 +113,8 @@ static const struct usb_device_id btusb_table[] = {
/* Broadcom BCM43142A0 */
{ USB_DEVICE(0x04ca, 0x2007),
.driver_info = BTUSB_BCM_PATCHRAM },
+ { USB_DEVICE(0x105b, 0xe065),
+ .driver_info = BTUSB_BCM_PATCHRAM },

/* Foxconn - Hon Hai */
{ USB_VENDOR_AND_INTERFACE_INFO(0x0489, 0xff, 0x01, 0x01),
--
2.1.0


2015-01-21 07:59:55

by Jesse Sung

[permalink] [raw]
Subject: [PATCH resend 4/5] Bluetooth: Add support for 04ca:2007

From: Adam Lee <[email protected]>

BugLink: https://launchpad.net/bugs/1153448

These devices require external patchram firmware to work.

T: Bus=01 Lev=02 Prnt=02 Port=02 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=04ca ProdID=2007 Rev=01.12
S: Manufacturer=Broadcom Corp
S: Product=BCM43142A0
S: SerialNumber=20689DD16A22
C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)

Signed-off-by: Adam Lee <[email protected]>
Signed-off-by: Bruce Ma <[email protected]>
Signed-off-by: Wen-chien Jesse Sung <[email protected]>
---
drivers/bluetooth/btusb.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 83cc221..b847549 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -110,6 +110,10 @@ static const struct usb_device_id btusb_table[] = {
{ USB_DEVICE(0x413c, 0x8143),
.driver_info = BTUSB_BCM_PATCHRAM },

+ /* Broadcom BCM43142A0 */
+ { USB_DEVICE(0x04ca, 0x2007),
+ .driver_info = BTUSB_BCM_PATCHRAM },
+
/* Foxconn - Hon Hai */
{ USB_VENDOR_AND_INTERFACE_INFO(0x0489, 0xff, 0x01, 0x01),
.driver_info = BTUSB_BCM_PATCHRAM },
--
2.1.0


2015-01-21 07:59:53

by Jesse Sung

[permalink] [raw]
Subject: [PATCH resend 2/5] Bluetooth: Add BTUSB_BCM_PATCHRAM to Broadcom 413c:8197

This device needs an external firmware to make HSP and HFP work.

Signed-off-by: Wen-chien Jesse Sung <[email protected]>
---
drivers/bluetooth/btusb.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index fd3ac5b..cde222b 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -105,7 +105,8 @@ static const struct usb_device_id btusb_table[] = {
{ USB_DEVICE(0x04ca, 0x2003) },
{ USB_DEVICE(0x0b05, 0x17b5) },
{ USB_DEVICE(0x0b05, 0x17cb) },
- { USB_DEVICE(0x413c, 0x8197) },
+ { USB_DEVICE(0x413c, 0x8197),
+ .driver_info = BTUSB_BCM_PATCHRAM },

/* Foxconn - Hon Hai */
{ USB_VENDOR_AND_INTERFACE_INFO(0x0489, 0xff, 0x01, 0x01),
--
2.1.0


2015-01-21 07:59:54

by Jesse Sung

[permalink] [raw]
Subject: [PATCH resend 3/5] Bluetooth: Add support for Broadcom 413c:8143

From: Gavin Guo <[email protected]>

The device require external patchram firmware to work and need to
add corresponding id in the btusb.c.

T: Bus=03 Lev=01 Prnt=01 Port=08 Cnt=03 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=413c ProdID=8143 Rev=01.12
S: Manufacturer=Broadcom Corp
S: Product=BCM20702A0
S: SerialNumber=20689D1FAF94
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
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)

Signed-off-by: Gavin Guo <[email protected]>
Signed-off-by: Wen-chien Jesse Sung <[email protected]>
---
drivers/bluetooth/btusb.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index cde222b..83cc221 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -107,6 +107,8 @@ static const struct usb_device_id btusb_table[] = {
{ USB_DEVICE(0x0b05, 0x17cb) },
{ USB_DEVICE(0x413c, 0x8197),
.driver_info = BTUSB_BCM_PATCHRAM },
+ { USB_DEVICE(0x413c, 0x8143),
+ .driver_info = BTUSB_BCM_PATCHRAM },

/* Foxconn - Hon Hai */
{ USB_VENDOR_AND_INTERFACE_INFO(0x0489, 0xff, 0x01, 0x01),
--
2.1.0