Messages in this thread | | | Date | Thu, 07 Mar 2019 12:19:44 +0530 | From | Balakrishna Godavarthi <> | Subject | Re: [PATCH v1] Bluetooth: hci_qca: Give enough time to ROME controller to bootup. |
| |
Hi Stepen,
On 2019-03-07 04:03, Stephen Boyd wrote: > Quoting Balakrishna Godavarthi (2019-03-06 08:21:13) >> This patch enables enough time to ROME controller to bootup >> after we bring the enable ping out of reset. >> >> Signed-off-by: Balakrishna Godavarthi <bgodavar@codeaurora.org> >> --- > > Any Fixes tag? And maybe some more explanation or background on where > 150 ms sleep comes from would be useful. Was it determined > experimentally or did it come from a datasheet somewhere? Does the time > differ between boards? > [Bala]: this was observed in our stress testing and even the CHIP firmware team confirmed that BT chip required at least 150 ms to boot up.
@Rocky to confirm my statement.
>> drivers/bluetooth/hci_qca.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c >> index 237aea34b69f..1953b13511e7 100644 >> --- a/drivers/bluetooth/hci_qca.c >> +++ b/drivers/bluetooth/hci_qca.c >> @@ -508,6 +508,8 @@ static int qca_open(struct hci_uart *hu) >> qcadev = serdev_device_get_drvdata(hu->serdev); >> if (qcadev->btsoc_type != QCA_WCN3990) { >> gpiod_set_value_cansleep(qcadev->bt_en, 1); >> + /* Controller needs time to bootup. */ >> + msleep(150); >> } else { >> hu->init_speed = qcadev->init_speed; >> hu->oper_speed = qcadev->oper_speed;
-- Regards Balakrishna.
| |