From f07e572f6447465d8938679533d604e402b0f066 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Thu, 18 Feb 2021 18:04:33 +0100 Subject: bcm27xx: import latest patches from the RPi foundation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit bcm2708: boot tested on RPi B+ v1.2 bcm2709: boot tested on RPi 3B v1.2 and RPi 4B v1.1 4G bcm2710: boot tested on RPi 3B v1.2 bcm2711: boot tested on RPi 4B v1.1 4G Signed-off-by: Álvaro Fernández Rojas --- ...h-hci_bcm-Fix-RTS-handling-during-startup.patch | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 target/linux/bcm27xx/patches-5.4/950-0876-Bluetooth-hci_bcm-Fix-RTS-handling-during-startup.patch (limited to 'target/linux/bcm27xx/patches-5.4/950-0876-Bluetooth-hci_bcm-Fix-RTS-handling-during-startup.patch') 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 +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 +Signed-off-by: Marcel Holtmann +--- + 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; + } -- cgit v1.2.3