Re: [PATCH v1] Bluetooth: btnxpuart: Add support for IW624 chipset

From: Francesco Dolcini
Date: Thu Aug 10 2023 - 12:47:07 EST


Hello,

On Thu, Aug 10, 2023 at 03:18:02PM +0530, Neeraj Sanjay Kale wrote:
> This adds support for NXP IW624 chipset in btnxpuart driver
> by adding FW name and bootloader signature. Based on the
> loader version bits 7:6 of the bootloader signature, the
> driver can choose between selecting secure and non-secure
> FW files.
> For cmd5 payload during FW download, this chip has addresses
> of few registers offset by 1, so added boot_reg_offset to
> handle the chip specific offset.
>
> Signed-off-by: Neeraj Sanjay Kale <neeraj.sanjaykale@xxxxxxx>
> ---
> drivers/bluetooth/btnxpuart.c | 44 ++++++++++++++++++++++++-----------
> 1 file changed, 31 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/bluetooth/btnxpuart.c b/drivers/bluetooth/btnxpuart.c
> index ee6f6c872a34..b42572ca63af 100644
> --- a/drivers/bluetooth/btnxpuart.c
> +++ b/drivers/bluetooth/btnxpuart.c
...
> @@ -547,7 +553,7 @@ static int nxp_download_firmware(struct hci_dev *hdev)
> serdev_device_set_flow_control(nxpdev->serdev, false);
> nxpdev->current_baudrate = HCI_NXP_PRI_BAUDRATE;
>
> - /* Wait till FW is downloaded and CTS becomes low */
> + /* Wait till FW is downloaded */
> err = wait_event_interruptible_timeout(nxpdev->fw_dnld_done_wait_q,
> !test_bit(BTNXPUART_FW_DOWNLOADING,
> &nxpdev->tx_state),
> @@ -558,16 +564,11 @@ static int nxp_download_firmware(struct hci_dev *hdev)
> }
>
> serdev_device_set_flow_control(nxpdev->serdev, true);
> - err = serdev_device_wait_for_cts(nxpdev->serdev, 1, 60000);
> - if (err < 0) {
> - bt_dev_err(hdev, "CTS is still high. FW Download failed.");
> - return err;
> - }
this seems like an unrelated change, and it's moving from a 60secs
timeout polling CTS to nothing.

What's the reason for this? Should be this a separate commit with a
proper explanation?

Francesco