* [PATCH v2 0/5] Bluetooth: hci_bcm: Improve FW load time on CYW55572
@ 2022-06-30 12:45 Hakan Jansson
2022-06-30 12:45 ` [PATCH v2 1/5] dt-bindings: net: broadcom-bluetooth: Add CYW55572 DT binding Hakan Jansson
` (5 more replies)
0 siblings, 6 replies; 12+ messages in thread
From: Hakan Jansson @ 2022-06-30 12:45 UTC (permalink / raw)
Cc: Hakan Jansson, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Rob Herring, Krzysztof Kozlowski, Linus Walleij,
netdev, devicetree, linux-kernel, Marcel Holtmann, Johan Hedberg,
Luiz Augusto von Dentz, linux-bluetooth
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.
Changes v1 -> v2:
- Add patch to tighten DT binding constraints after feedback in:
https://lore.kernel.org/linux-devicetree/174363bc-e8e5-debd-f8f6-a252d2bbddb9@infineon.com/
- Add actual baud rates and example FW load time in commit message:
https://lore.kernel.org/linux-devicetree/72cd312f-f843-6a85-b9e7-db8fcb952af8@infineon.com/
Hakan Jansson (5):
dt-bindings: net: broadcom-bluetooth: Add CYW55572 DT binding
dt-bindings: net: broadcom-bluetooth: Add conditional constraints
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 | 17 +++++++++++++
drivers/bluetooth/hci_bcm.c | 24 +++++++++++++------
2 files changed, 34 insertions(+), 7 deletions(-)
base-commit: 681ec6abcd7f051f7fc318068a3ac09772ebef7e
--
2.25.1
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v2 1/5] dt-bindings: net: broadcom-bluetooth: Add CYW55572 DT binding
2022-06-30 12:45 [PATCH v2 0/5] Bluetooth: hci_bcm: Improve FW load time on CYW55572 Hakan Jansson
@ 2022-06-30 12:45 ` Hakan Jansson
2022-07-11 8:31 ` Linus Walleij
2022-06-30 12:45 ` [PATCH v2 2/5] dt-bindings: net: broadcom-bluetooth: Add conditional constraints Hakan Jansson
` (4 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: Hakan Jansson @ 2022-06-30 12:45 UTC (permalink / raw)
Cc: Hakan Jansson, Krzysztof Kozlowski, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Rob Herring,
Krzysztof Kozlowski, Linus Walleij, netdev, devicetree,
linux-kernel, Marcel Holtmann, Johan Hedberg,
Luiz Augusto von Dentz, linux-bluetooth
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>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
V1 -> V2:
- No changes, submitted as part of updated patch series
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
shutdown-gpios:
maxItems: 1
--
2.25.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v2 2/5] dt-bindings: net: broadcom-bluetooth: Add conditional constraints
2022-06-30 12:45 [PATCH v2 0/5] Bluetooth: hci_bcm: Improve FW load time on CYW55572 Hakan Jansson
2022-06-30 12:45 ` [PATCH v2 1/5] dt-bindings: net: broadcom-bluetooth: Add CYW55572 DT binding Hakan Jansson
@ 2022-06-30 12:45 ` Hakan Jansson
2022-07-01 20:13 ` Rob Herring
2022-07-11 8:32 ` Linus Walleij
2022-06-30 12:45 ` [PATCH v2 3/5] Bluetooth: hci_bcm: Add DT compatible for CYW55572 Hakan Jansson
` (3 subsequent siblings)
5 siblings, 2 replies; 12+ messages in thread
From: Hakan Jansson @ 2022-06-30 12:45 UTC (permalink / raw)
Cc: Hakan Jansson, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Rob Herring, Krzysztof Kozlowski, Linus Walleij,
netdev, devicetree, linux-kernel, Marcel Holtmann, Johan Hedberg,
Luiz Augusto von Dentz, linux-bluetooth
Add conditional constraint to make property "reset-gpios" available only
for compatible devices acually having the reset pin.
Make property "brcm,requires-autobaud-mode" depend on property
"shutdown-gpios" as the shutdown pin is required to enter autobaud mode.
I looked at all compatible devices and compiled the matrix below before
formulating the conditional constraint. This was a pure paper exercise and
no verification testing has been performed.
d
e
v h
i o
c s
s e t
h - -
u w w v
t r a a v d
d e k k b d
o s e e a i
w e u u t o
n t p p - -
- - - - s s
g g g g u u
p p p p t p p
i i i i x l p p
o o o o c p l l
s s s s o o y y
---------------------------------------
brcm,bcm20702a1 X X X X X X X X
brcm,bcm4329-bt X X X X X X X X
brcm,bcm4330-bt X X X X X X X X
brcm,bcm4334-bt X - X X X X X X
brcm,bcm43438-bt X - X X X X X X
brcm,bcm4345c5 X - X X X X X X
brcm,bcm43540-bt X - X X X X X X
brcm,bcm4335a0 X - X X X X X X
brcm,bcm4349-bt X - X X X X X X
infineon,cyw55572-bt X - X X X X X X
Signed-off-by: Hakan Jansson <hakan.jansson@infineon.com>
---
V1 -> V2:
- New patch added to series
.../bindings/net/broadcom-bluetooth.yaml | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml b/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml
index 71fe9b17f8f1..445b2a553625 100644
--- a/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml
+++ b/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml
@@ -117,6 +117,22 @@ properties:
required:
- compatible
+dependencies:
+ brcm,requires-autobaud-mode: [ 'shutdown-gpios' ]
+
+if:
+ not:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - brcm,bcm20702a1
+ - brcm,bcm4329-bt
+ - brcm,bcm4330-bt
+then:
+ properties:
+ reset-gpios: false
+
additionalProperties: false
examples:
--
2.25.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v2 3/5] Bluetooth: hci_bcm: Add DT compatible for CYW55572
2022-06-30 12:45 [PATCH v2 0/5] Bluetooth: hci_bcm: Improve FW load time on CYW55572 Hakan Jansson
2022-06-30 12:45 ` [PATCH v2 1/5] dt-bindings: net: broadcom-bluetooth: Add CYW55572 DT binding Hakan Jansson
2022-06-30 12:45 ` [PATCH v2 2/5] dt-bindings: net: broadcom-bluetooth: Add conditional constraints Hakan Jansson
@ 2022-06-30 12:45 ` Hakan Jansson
2022-07-11 8:33 ` Linus Walleij
2022-06-30 12:45 ` [PATCH v2 4/5] Bluetooth: hci_bcm: Prevent early baudrate setting in autobaud mode Hakan Jansson
` (2 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: Hakan Jansson @ 2022-06-30 12:45 UTC (permalink / raw)
Cc: Hakan Jansson, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Rob Herring, Krzysztof Kozlowski, Linus Walleij,
netdev, devicetree, linux-kernel, Marcel Holtmann, Johan Hedberg,
Luiz Augusto von Dentz, linux-bluetooth
CYW55572 is a Wi-Fi + Bluetooth combo device from Infineon.
Signed-off-by: Hakan Jansson <hakan.jansson@infineon.com>
---
V1 -> V2:
- No changes, submitted as part of updated patch series
drivers/bluetooth/hci_bcm.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c
index 6f834ff1b44b..9a129867a4c0 100644
--- a/drivers/bluetooth/hci_bcm.c
+++ b/drivers/bluetooth/hci_bcm.c
@@ -1557,6 +1557,7 @@ static const struct of_device_id bcm_bluetooth_of_match[] = {
{ .compatible = "brcm,bcm4349-bt", .data = &bcm43438_device_data },
{ .compatible = "brcm,bcm43540-bt", .data = &bcm4354_device_data },
{ .compatible = "brcm,bcm4335a0" },
+ { .compatible = "infineon,cyw55572-bt" },
{ },
};
MODULE_DEVICE_TABLE(of, bcm_bluetooth_of_match);
--
2.25.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v2 4/5] Bluetooth: hci_bcm: Prevent early baudrate setting in autobaud mode
2022-06-30 12:45 [PATCH v2 0/5] Bluetooth: hci_bcm: Improve FW load time on CYW55572 Hakan Jansson
` (2 preceding siblings ...)
2022-06-30 12:45 ` [PATCH v2 3/5] Bluetooth: hci_bcm: Add DT compatible for CYW55572 Hakan Jansson
@ 2022-06-30 12:45 ` Hakan Jansson
2022-06-30 12:53 ` [PATCH v2 5/5] Bluetooth: hci_bcm: Increase host baudrate for CYW55572 " Hakan Jansson
2022-07-20 16:20 ` [PATCH v2 0/5] Bluetooth: hci_bcm: Improve FW load time on CYW55572 patchwork-bot+bluetooth
5 siblings, 0 replies; 12+ messages in thread
From: Hakan Jansson @ 2022-06-30 12:45 UTC (permalink / raw)
Cc: Hakan Jansson, Linus Walleij, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
netdev, devicetree, linux-kernel, Marcel Holtmann, Johan Hedberg,
Luiz Augusto von Dentz, linux-bluetooth
Always prevent trying to set device baudrate before calling setup() when
using autobaud mode.
This was previously happening for devices which had device specific data
with member no_early_set_baudrate set to 0.
Signed-off-by: Hakan Jansson <hakan.jansson@infineon.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
---
V1 -> V2:
- No changes, submitted as part of updated patch series
drivers/bluetooth/hci_bcm.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c
index 9a129867a4c0..0ae627c293c5 100644
--- a/drivers/bluetooth/hci_bcm.c
+++ b/drivers/bluetooth/hci_bcm.c
@@ -484,7 +484,7 @@ static int bcm_open(struct hci_uart *hu)
/* If oper_speed is set, ldisc/serdev will set the baudrate
* before calling setup()
*/
- if (!bcm->dev->no_early_set_baudrate)
+ if (!bcm->dev->no_early_set_baudrate && !bcm->dev->use_autobaud_mode)
hu->oper_speed = bcm->dev->oper_speed;
err = bcm_gpio_set_power(bcm->dev, true);
@@ -1204,9 +1204,6 @@ static int bcm_of_probe(struct bcm_device *bdev)
{
bdev->use_autobaud_mode = device_property_read_bool(bdev->dev,
"brcm,requires-autobaud-mode");
- if (bdev->use_autobaud_mode)
- bdev->no_early_set_baudrate = true;
-
device_property_read_u32(bdev->dev, "max-speed", &bdev->oper_speed);
device_property_read_u8_array(bdev->dev, "brcm,bt-pcm-int-params",
bdev->pcm_int_params, 5);
--
2.25.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v2 5/5] Bluetooth: hci_bcm: Increase host baudrate for CYW55572 in autobaud mode
2022-06-30 12:45 [PATCH v2 0/5] Bluetooth: hci_bcm: Improve FW load time on CYW55572 Hakan Jansson
` (3 preceding siblings ...)
2022-06-30 12:45 ` [PATCH v2 4/5] Bluetooth: hci_bcm: Prevent early baudrate setting in autobaud mode Hakan Jansson
@ 2022-06-30 12:53 ` Hakan Jansson
2022-07-11 8:34 ` Linus Walleij
2022-07-20 16:20 ` [PATCH v2 0/5] Bluetooth: hci_bcm: Improve FW load time on CYW55572 patchwork-bot+bluetooth
5 siblings, 1 reply; 12+ messages in thread
From: Hakan Jansson @ 2022-06-30 12:53 UTC (permalink / raw)
Cc: Hakan Jansson, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Rob Herring, Krzysztof Kozlowski, Linus Walleij,
netdev, devicetree, linux-kernel, Marcel Holtmann, Johan Hedberg,
Luiz Augusto von Dentz, linux-bluetooth
Add device specific data for max baudrate in autobaud mode. This allows the
host to use a baudrate higher than "init speed" when loading FW in autobaud
mode.
The device specific max baudrate in autobaud mode for CYW55572 is set to
921600 bps. Devices without device specific max baudrate in autobaud mode
will use init speed as before. If no device specific init speed has been
specified, it will default to the bcm_proto default 115200 bps.
The increased baud rate improves FW load time. The exact load time will
depend on the specific system and FW being used. As a rough indication,
the FW load time dropped from ~9s @ 115.2kbps to ~1.7s @ 921.6kbps in one
test.
Signed-off-by: Hakan Jansson <hakan.jansson@infineon.com>
---
V1 -> V2:
- Add actual baud rates and example FW load time in commit message
drivers/bluetooth/hci_bcm.c | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c
index 0ae627c293c5..d7e0b75db8a6 100644
--- a/drivers/bluetooth/hci_bcm.c
+++ b/drivers/bluetooth/hci_bcm.c
@@ -53,10 +53,12 @@
* struct bcm_device_data - device specific data
* @no_early_set_baudrate: Disallow set baudrate before driver setup()
* @drive_rts_on_open: drive RTS signal on ->open() when platform requires it
+ * @max_autobaud_speed: max baudrate supported by device in autobaud mode
*/
struct bcm_device_data {
bool no_early_set_baudrate;
bool drive_rts_on_open;
+ u32 max_autobaud_speed;
};
/**
@@ -100,6 +102,7 @@ struct bcm_device_data {
* @drive_rts_on_open: drive RTS signal on ->open() when platform requires it
* @pcm_int_params: keep the initial PCM configuration
* @use_autobaud_mode: start Bluetooth device in autobaud mode
+ * @max_autobaud_speed: max baudrate supported by device in autobaud mode
*/
struct bcm_device {
/* Must be the first member, hci_serdev.c expects this. */
@@ -139,6 +142,7 @@ struct bcm_device {
bool drive_rts_on_open;
bool use_autobaud_mode;
u8 pcm_int_params[5];
+ u32 max_autobaud_speed;
};
/* generic bcm uart resources */
@@ -479,7 +483,10 @@ static int bcm_open(struct hci_uart *hu)
else if (bcm->dev->drive_rts_on_open)
hci_uart_set_flow_control(hu, true);
- hu->init_speed = bcm->dev->init_speed;
+ if (bcm->dev->use_autobaud_mode && bcm->dev->max_autobaud_speed)
+ hu->init_speed = min(bcm->dev->oper_speed, bcm->dev->max_autobaud_speed);
+ else
+ hu->init_speed = bcm->dev->init_speed;
/* If oper_speed is set, ldisc/serdev will set the baudrate
* before calling setup()
@@ -585,8 +592,8 @@ static int bcm_setup(struct hci_uart *hu)
return 0;
/* Init speed if any */
- if (hu->init_speed)
- speed = hu->init_speed;
+ if (bcm->dev && bcm->dev->init_speed)
+ speed = bcm->dev->init_speed;
else if (hu->proto->init_speed)
speed = hu->proto->init_speed;
else
@@ -1519,6 +1526,7 @@ static int bcm_serdev_probe(struct serdev_device *serdev)
data = device_get_match_data(bcmdev->dev);
if (data) {
+ bcmdev->max_autobaud_speed = data->max_autobaud_speed;
bcmdev->no_early_set_baudrate = data->no_early_set_baudrate;
bcmdev->drive_rts_on_open = data->drive_rts_on_open;
}
@@ -1542,6 +1550,10 @@ static struct bcm_device_data bcm43438_device_data = {
.drive_rts_on_open = true,
};
+static struct bcm_device_data cyw55572_device_data = {
+ .max_autobaud_speed = 921600,
+};
+
static const struct of_device_id bcm_bluetooth_of_match[] = {
{ .compatible = "brcm,bcm20702a1" },
{ .compatible = "brcm,bcm4329-bt" },
@@ -1554,7 +1566,7 @@ static const struct of_device_id bcm_bluetooth_of_match[] = {
{ .compatible = "brcm,bcm4349-bt", .data = &bcm43438_device_data },
{ .compatible = "brcm,bcm43540-bt", .data = &bcm4354_device_data },
{ .compatible = "brcm,bcm4335a0" },
- { .compatible = "infineon,cyw55572-bt" },
+ { .compatible = "infineon,cyw55572-bt", .data = &cyw55572_device_data },
{ },
};
MODULE_DEVICE_TABLE(of, bcm_bluetooth_of_match);
--
2.25.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v2 2/5] dt-bindings: net: broadcom-bluetooth: Add conditional constraints
2022-06-30 12:45 ` [PATCH v2 2/5] dt-bindings: net: broadcom-bluetooth: Add conditional constraints Hakan Jansson
@ 2022-07-01 20:13 ` Rob Herring
2022-07-11 8:32 ` Linus Walleij
1 sibling, 0 replies; 12+ messages in thread
From: Rob Herring @ 2022-07-01 20:13 UTC (permalink / raw)
To: Hakan Jansson
Cc: devicetree, linux-kernel, Rob Herring, Eric Dumazet,
Johan Hedberg, Linus Walleij, Krzysztof Kozlowski,
Luiz Augusto von Dentz, netdev, linux-bluetooth, Marcel Holtmann,
David S. Miller, Jakub Kicinski, Paolo Abeni
On Thu, 30 Jun 2022 14:45:21 +0200, Hakan Jansson wrote:
> Add conditional constraint to make property "reset-gpios" available only
> for compatible devices acually having the reset pin.
>
> Make property "brcm,requires-autobaud-mode" depend on property
> "shutdown-gpios" as the shutdown pin is required to enter autobaud mode.
>
> I looked at all compatible devices and compiled the matrix below before
> formulating the conditional constraint. This was a pure paper exercise and
> no verification testing has been performed.
>
> d
> e
> v h
> i o
> c s
> s e t
> h - -
> u w w v
> t r a a v d
> d e k k b d
> o s e e a i
> w e u u t o
> n t p p - -
> - - - - s s
> g g g g u u
> p p p p t p p
> i i i i x l p p
> o o o o c p l l
> s s s s o o y y
> ---------------------------------------
> brcm,bcm20702a1 X X X X X X X X
> brcm,bcm4329-bt X X X X X X X X
> brcm,bcm4330-bt X X X X X X X X
> brcm,bcm4334-bt X - X X X X X X
> brcm,bcm43438-bt X - X X X X X X
> brcm,bcm4345c5 X - X X X X X X
> brcm,bcm43540-bt X - X X X X X X
> brcm,bcm4335a0 X - X X X X X X
> brcm,bcm4349-bt X - X X X X X X
> infineon,cyw55572-bt X - X X X X X X
>
> Signed-off-by: Hakan Jansson <hakan.jansson@infineon.com>
> ---
> V1 -> V2:
> - New patch added to series
>
> .../bindings/net/broadcom-bluetooth.yaml | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
Reviewed-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/5] dt-bindings: net: broadcom-bluetooth: Add CYW55572 DT binding
2022-06-30 12:45 ` [PATCH v2 1/5] dt-bindings: net: broadcom-bluetooth: Add CYW55572 DT binding Hakan Jansson
@ 2022-07-11 8:31 ` Linus Walleij
0 siblings, 0 replies; 12+ messages in thread
From: Linus Walleij @ 2022-07-11 8:31 UTC (permalink / raw)
To: Hakan Jansson
Cc: Krzysztof Kozlowski, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
netdev, devicetree, linux-kernel, Marcel Holtmann, Johan Hedberg,
Luiz Augusto von Dentz, linux-bluetooth
On Thu, Jun 30, 2022 at 2:46 PM Hakan Jansson
<hakan.jansson@infineon.com> 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>
> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 2/5] dt-bindings: net: broadcom-bluetooth: Add conditional constraints
2022-06-30 12:45 ` [PATCH v2 2/5] dt-bindings: net: broadcom-bluetooth: Add conditional constraints Hakan Jansson
2022-07-01 20:13 ` Rob Herring
@ 2022-07-11 8:32 ` Linus Walleij
1 sibling, 0 replies; 12+ messages in thread
From: Linus Walleij @ 2022-07-11 8:32 UTC (permalink / raw)
To: Hakan Jansson
Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Rob Herring, Krzysztof Kozlowski, netdev, devicetree,
linux-kernel, Marcel Holtmann, Johan Hedberg,
Luiz Augusto von Dentz, linux-bluetooth
On Thu, Jun 30, 2022 at 2:46 PM Hakan Jansson
<hakan.jansson@infineon.com> wrote:
> Add conditional constraint to make property "reset-gpios" available only
> for compatible devices acually having the reset pin.
>
> Make property "brcm,requires-autobaud-mode" depend on property
> "shutdown-gpios" as the shutdown pin is required to enter autobaud mode.
>
> I looked at all compatible devices and compiled the matrix below before
> formulating the conditional constraint. This was a pure paper exercise and
> no verification testing has been performed.
>
> d
> e
> v h
> i o
> c s
> s e t
> h - -
> u w w v
> t r a a v d
> d e k k b d
> o s e e a i
> w e u u t o
> n t p p - -
> - - - - s s
> g g g g u u
> p p p p t p p
> i i i i x l p p
> o o o o c p l l
> s s s s o o y y
> ---------------------------------------
> brcm,bcm20702a1 X X X X X X X X
> brcm,bcm4329-bt X X X X X X X X
> brcm,bcm4330-bt X X X X X X X X
> brcm,bcm4334-bt X - X X X X X X
> brcm,bcm43438-bt X - X X X X X X
> brcm,bcm4345c5 X - X X X X X X
> brcm,bcm43540-bt X - X X X X X X
> brcm,bcm4335a0 X - X X X X X X
> brcm,bcm4349-bt X - X X X X X X
> infineon,cyw55572-bt X - X X X X X X
>
> Signed-off-by: Hakan Jansson <hakan.jansson@infineon.com>
A job well done!
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 3/5] Bluetooth: hci_bcm: Add DT compatible for CYW55572
2022-06-30 12:45 ` [PATCH v2 3/5] Bluetooth: hci_bcm: Add DT compatible for CYW55572 Hakan Jansson
@ 2022-07-11 8:33 ` Linus Walleij
0 siblings, 0 replies; 12+ messages in thread
From: Linus Walleij @ 2022-07-11 8:33 UTC (permalink / raw)
To: Hakan Jansson
Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Rob Herring, Krzysztof Kozlowski, netdev, devicetree,
linux-kernel, Marcel Holtmann, Johan Hedberg,
Luiz Augusto von Dentz, linux-bluetooth
On Thu, Jun 30, 2022 at 2:46 PM Hakan Jansson
<hakan.jansson@infineon.com> wrote:
> CYW55572 is a Wi-Fi + Bluetooth combo device from Infineon.
>
> Signed-off-by: Hakan Jansson <hakan.jansson@infineon.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 5/5] Bluetooth: hci_bcm: Increase host baudrate for CYW55572 in autobaud mode
2022-06-30 12:53 ` [PATCH v2 5/5] Bluetooth: hci_bcm: Increase host baudrate for CYW55572 " Hakan Jansson
@ 2022-07-11 8:34 ` Linus Walleij
0 siblings, 0 replies; 12+ messages in thread
From: Linus Walleij @ 2022-07-11 8:34 UTC (permalink / raw)
To: Hakan Jansson
Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Rob Herring, Krzysztof Kozlowski, netdev, devicetree,
linux-kernel, Marcel Holtmann, Johan Hedberg,
Luiz Augusto von Dentz, linux-bluetooth
On Thu, Jun 30, 2022 at 2:55 PM Hakan Jansson
<hakan.jansson@infineon.com> wrote:
> Add device specific data for max baudrate in autobaud mode. This allows the
> host to use a baudrate higher than "init speed" when loading FW in autobaud
> mode.
>
> The device specific max baudrate in autobaud mode for CYW55572 is set to
> 921600 bps. Devices without device specific max baudrate in autobaud mode
> will use init speed as before. If no device specific init speed has been
> specified, it will default to the bcm_proto default 115200 bps.
>
> The increased baud rate improves FW load time. The exact load time will
> depend on the specific system and FW being used. As a rough indication,
> the FW load time dropped from ~9s @ 115.2kbps to ~1.7s @ 921.6kbps in one
> test.
>
> Signed-off-by: Hakan Jansson <hakan.jansson@infineon.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 0/5] Bluetooth: hci_bcm: Improve FW load time on CYW55572
2022-06-30 12:45 [PATCH v2 0/5] Bluetooth: hci_bcm: Improve FW load time on CYW55572 Hakan Jansson
` (4 preceding siblings ...)
2022-06-30 12:53 ` [PATCH v2 5/5] Bluetooth: hci_bcm: Increase host baudrate for CYW55572 " Hakan Jansson
@ 2022-07-20 16:20 ` patchwork-bot+bluetooth
5 siblings, 0 replies; 12+ messages in thread
From: patchwork-bot+bluetooth @ 2022-07-20 16:20 UTC (permalink / raw)
To: Hakan Jansson
Cc: davem, edumazet, kuba, pabeni, robh+dt, krzysztof.kozlowski+dt,
linus.walleij, netdev, devicetree, linux-kernel, marcel,
johan.hedberg, luiz.dentz, linux-bluetooth
Hello:
This series was applied to bluetooth/bluetooth-next.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:
On Thu, 30 Jun 2022 14:45:19 +0200 you wrote:
> 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.
>
> [...]
Here is the summary with links:
- [v2,1/5] dt-bindings: net: broadcom-bluetooth: Add CYW55572 DT binding
https://git.kernel.org/bluetooth/bluetooth-next/c/c6480829cda7
- [v2,2/5] dt-bindings: net: broadcom-bluetooth: Add conditional constraints
https://git.kernel.org/bluetooth/bluetooth-next/c/f5d25901c5cc
- [v2,3/5] Bluetooth: hci_bcm: Add DT compatible for CYW55572
https://git.kernel.org/bluetooth/bluetooth-next/c/7386459d24b3
- [v2,4/5] Bluetooth: hci_bcm: Prevent early baudrate setting in autobaud mode
https://git.kernel.org/bluetooth/bluetooth-next/c/31e65c6d44a2
- [v2,5/5] Bluetooth: hci_bcm: Increase host baudrate for CYW55572 in autobaud mode
https://git.kernel.org/bluetooth/bluetooth-next/c/719a11a62d19
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2022-07-20 16:20 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-30 12:45 [PATCH v2 0/5] Bluetooth: hci_bcm: Improve FW load time on CYW55572 Hakan Jansson
2022-06-30 12:45 ` [PATCH v2 1/5] dt-bindings: net: broadcom-bluetooth: Add CYW55572 DT binding Hakan Jansson
2022-07-11 8:31 ` Linus Walleij
2022-06-30 12:45 ` [PATCH v2 2/5] dt-bindings: net: broadcom-bluetooth: Add conditional constraints Hakan Jansson
2022-07-01 20:13 ` Rob Herring
2022-07-11 8:32 ` Linus Walleij
2022-06-30 12:45 ` [PATCH v2 3/5] Bluetooth: hci_bcm: Add DT compatible for CYW55572 Hakan Jansson
2022-07-11 8:33 ` Linus Walleij
2022-06-30 12:45 ` [PATCH v2 4/5] Bluetooth: hci_bcm: Prevent early baudrate setting in autobaud mode Hakan Jansson
2022-06-30 12:53 ` [PATCH v2 5/5] Bluetooth: hci_bcm: Increase host baudrate for CYW55572 " Hakan Jansson
2022-07-11 8:34 ` Linus Walleij
2022-07-20 16:20 ` [PATCH v2 0/5] Bluetooth: hci_bcm: Improve FW load time on CYW55572 patchwork-bot+bluetooth
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).