mbox series

[0/4] Bluetooth: hci_bcm: Improve FW load time on CYW55572

Message ID cover.1655723462.git.hakan.jansson@infineon.com
Headers show
Series Bluetooth: hci_bcm: Improve FW load time on CYW55572 | expand

Message

Hakan Jansson June 20, 2022, 12:01 p.m. UTC
These patches add an optional device specific data member to specify max
baudrate of a device when in autobaud mode. This allows the host to set a
first baudrate higher than "init speed" to improve FW load time.

The host baudrate will later be changed to "init speed" (as usual) once FW
loading is complete and the device has been reset to begin normal
operation.

Hakan Jansson (4):
  dt-bindings: net: broadcom-bluetooth: Add CYW55572 DT binding
  Bluetooth: hci_bcm: Add DT compatible for CYW55572
  Bluetooth: hci_bcm: Prevent early baudrate setting in autobaud mode
  Bluetooth: hci_bcm: Increase host baudrate for CYW55572 in autobaud
    mode

 .../bindings/net/broadcom-bluetooth.yaml      |  1 +
 drivers/bluetooth/hci_bcm.c                   | 24 +++++++++++++------
 2 files changed, 18 insertions(+), 7 deletions(-)


base-commit: 0b537674e072a37dec2fcefef4df2317b58aaa3f

Comments

Krzysztof Kozlowski June 20, 2022, 12:32 p.m. UTC | #1
On 20/06/2022 14:01, Hakan Jansson wrote:
> CYW55572 is a Wi-Fi + Bluetooth combo device from Infineon.
> Extend the binding with its DT compatible.
> 
> Signed-off-by: Hakan Jansson <hakan.jansson@infineon.com>
> ---
>  Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml b/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml
> index df59575840fe..71fe9b17f8f1 100644
> --- a/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml
> +++ b/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml
> @@ -24,6 +24,7 @@ properties:
>        - brcm,bcm43540-bt
>        - brcm,bcm4335a0
>        - brcm,bcm4349-bt
> +      - infineon,cyw55572-bt

Patch is okay, but just to be sure - is it entirely different device
from Infineon or some variant of Broadcom block? Are all existing
properties applicable to it as well?


Best regards,
Krzysztof
Hakan Jansson June 20, 2022, 2:06 p.m. UTC | #2
Hi Krzysztof,

Thanks for replying.

On 6/20/2022 2:32 PM, Krzysztof Kozlowski wrote:
>> CYW55572 is a Wi-Fi + Bluetooth combo device from Infineon.
>> Extend the binding with its DT compatible.
>>
>> Signed-off-by: Hakan Jansson <hakan.jansson@infineon.com>
>> ---
>>   Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml b/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml
>> index df59575840fe..71fe9b17f8f1 100644
>> --- a/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml
>> +++ b/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml
>> @@ -24,6 +24,7 @@ properties:
>>         - brcm,bcm43540-bt
>>         - brcm,bcm4335a0
>>         - brcm,bcm4349-bt
>> +      - infineon,cyw55572-bt
> Patch is okay, but just to be sure - is it entirely different device
> from Infineon or some variant of Broadcom block?

CYW55572 is a new device from Infineon. It is not the same as any 
Broadcom device.

>   Are all existing
> properties applicable to it as well?

Yes, all existing properties are applicable.


Regards,
Håkan
Krzysztof Kozlowski June 20, 2022, 3:57 p.m. UTC | #3
On 20/06/2022 14:01, Hakan Jansson wrote:
> CYW55572 is a Wi-Fi + Bluetooth combo device from Infineon.
> Extend the binding with its DT compatible.
> 
> Signed-off-by: Hakan Jansson <hakan.jansson@infineon.com>
> ---
>  Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 


Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>


Best regards,
Krzysztof
Rob Herring June 27, 2022, 5:34 p.m. UTC | #4
On Mon, Jun 20, 2022 at 04:06:25PM +0200, Hakan Jansson wrote:
> Hi Krzysztof,
> 
> Thanks for replying.
> 
> On 6/20/2022 2:32 PM, Krzysztof Kozlowski wrote:
> > > CYW55572 is a Wi-Fi + Bluetooth combo device from Infineon.
> > > Extend the binding with its DT compatible.
> > > 
> > > Signed-off-by: Hakan Jansson <hakan.jansson@infineon.com>
> > > ---
> > >   Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml | 1 +
> > >   1 file changed, 1 insertion(+)
> > > 
> > > diff --git a/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml b/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml
> > > index df59575840fe..71fe9b17f8f1 100644
> > > --- a/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml
> > > +++ b/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml
> > > @@ -24,6 +24,7 @@ properties:
> > >         - brcm,bcm43540-bt
> > >         - brcm,bcm4335a0
> > >         - brcm,bcm4349-bt
> > > +      - infineon,cyw55572-bt
> > Patch is okay, but just to be sure - is it entirely different device
> > from Infineon or some variant of Broadcom block?
> 
> CYW55572 is a new device from Infineon. It is not the same as any Broadcom
> device.
> 
> >   Are all existing
> > properties applicable to it as well?
> 
> Yes, all existing properties are applicable.

Including 'brcm,bt-pcm-int-params'? I don't see a BT reset signal 
either, but maybe that's not pinned out in the AzureWave module which 
was the only documentation details I could find[1].

I think a separate doc will be better as it can be more precise as to 
what's allowed or not. It's fine to reuse the same property names 
though.

Rob

[1] https://www.azurewave.com/img/infineon/AW-XH316_DS_DF_A_STD.pdf
Hakan Jansson June 29, 2022, 10:29 a.m. UTC | #5
On 6/29/2022 12:41 AM, Rob Herring wrote:
> On Tue, Jun 28, 2022 at 04:03:57PM +0200, Hakan Jansson wrote:
>> Hi Rob,
>>
>> On 6/27/2022 7:34 PM, Rob Herring wrote:
>>> On Mon, Jun 20, 2022 at 04:06:25PM +0200, Hakan Jansson wrote:
>>>> Hi Krzysztof,
>>>>
>>>> Thanks for replying.
>>>>
>>>> On 6/20/2022 2:32 PM, Krzysztof Kozlowski wrote:
>>>>>> CYW55572 is a Wi-Fi + Bluetooth combo device from Infineon.
>>>>>> Extend the binding with its DT compatible.
>>>>>>
>>>>>> Signed-off-by: Hakan Jansson <hakan.jansson@infineon.com>
>>>>>> ---
>>>>>>     Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml | 1 +
>>>>>>     1 file changed, 1 insertion(+)
>>>>>>
>>>>>> diff --git a/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml b/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml
>>>>>> index df59575840fe..71fe9b17f8f1 100644
>>>>>> --- a/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml
>>>>>> +++ b/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml
>>>>>> @@ -24,6 +24,7 @@ properties:
>>>>>>           - brcm,bcm43540-bt
>>>>>>           - brcm,bcm4335a0
>>>>>>           - brcm,bcm4349-bt
>>>>>> +      - infineon,cyw55572-bt
>>>>> Patch is okay, but just to be sure - is it entirely different device
>>>>> from Infineon or some variant of Broadcom block?
>>>> CYW55572 is a new device from Infineon. It is not the same as any Broadcom
>>>> device.
>>>>
>>>>>     Are all existing
>>>>> properties applicable to it as well?
>>>> Yes, all existing properties are applicable.
>>> Including 'brcm,bt-pcm-int-params'?
>> Yes, 'brcm,bt-pcm-int-params' is also applicable to CYW55572.
>>
>>> I don't see a BT reset signal
>>> either, but maybe that's not pinned out in the AzureWave module which
>>> was the only documentation details I could find[1].
>> That's correct, CYW55572 does not have a BT reset signal. Most of the
>> existing listed compatible devices does not seem to have a BT reset signal
>> either so I think this is in line with the intention of the existing
>> document and driver implementation.
>>
>>> I think a separate doc will be better as it can be more precise as to
>>> what's allowed or not. It's fine to reuse the same property names
>>> though.
>> I don't really see anything besides the optional BT reset property that
>> would be changed in a separate doc.  As a separate doc would mean a
>> duplication of data that would need to be maintained in two more or less
>> identical docs, perhaps it would be better to modify the existing doc to
>> clarify for which compatible devices that the BT reset property applies?
>> (Which I believe are only these three: bcm20702a1, bcm4329-bt and
>> bcm4330-bt)
> Okay, I guess this is fine in the same doc. Any conditionals to tighten
> up the constraints would be welcome.
>
> Rob

Ok, I'll add a patch with conditionals and resubmit a new rev of the 
patch series.

/Håkan