diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0876-Bluetooth-hci_bcm-Fix-RTS-handling-during-startup.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-0876-Bluetooth-hci_bcm-Fix-RTS-handling-during-startup.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0876-Bluetooth-hci_bcm-Fix-RTS-handling-during-startup.patch b/target/linux/bcm27xx/patches-5.4/950-0876-Bluetooth-hci_bcm-Fix-RTS-handling-during-startup.patch new file mode 100644 index 0000000000..a288f5ed3c --- /dev/null +++ b/target/linux/bcm27xx/patches-5.4/950-0876-Bluetooth-hci_bcm-Fix-RTS-handling-during-startup.patch @@ -0,0 +1,33 @@ +From 44843cf006346751e42c0f4100eea7cefe61cbdf Mon Sep 17 00:00:00 2001 +From: Stefan Wahren <wahrenst@gmx.net> +Date: Sun, 6 Oct 2019 17:28:19 +0200 +Subject: [PATCH] Bluetooth: hci_bcm: Fix RTS handling during startup + +commit 3347a80965b38f096b1d6f995c00c9c9e53d4b8b upstream. + +The RPi 4 uses the hardware handshake lines for CYW43455, but the chip +doesn't react to HCI requests during DT probe. The reason is the inproper +handling of the RTS line during startup. According to the startup +signaling sequence in the CYW43455 datasheet, the hosts RTS line must +be driven after BT_REG_ON and BT_HOST_WAKE. + +Signed-off-by: Stefan Wahren <wahrenst@gmx.net> +Signed-off-by: Marcel Holtmann <marcel@holtmann.org> +--- + drivers/bluetooth/hci_bcm.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/drivers/bluetooth/hci_bcm.c ++++ b/drivers/bluetooth/hci_bcm.c +@@ -448,9 +448,11 @@ static int bcm_open(struct hci_uart *hu) + + out: + if (bcm->dev) { ++ hci_uart_set_flow_control(hu, true); + hu->init_speed = bcm->dev->init_speed; + hu->oper_speed = bcm->dev->oper_speed; + err = bcm_gpio_set_power(bcm->dev, true); ++ hci_uart_set_flow_control(hu, false); + if (err) + goto err_unset_hu; + } |