Re: [PATCH do not merge 4/4] wifi: mwifiex: add iw61x support

Francesco Dolcini
2025-03-27T09:33:20Z

On Wed, Mar 26, 2025 at 02:54:35PM +0100, Sascha Hauer wrote:
> On Wed, Mar 26, 2025 at 01:23:35PM +0100, Francesco Dolcini wrote:
> > On Wed, Mar 26, 2025 at 01:18:34PM +0100, Sascha Hauer wrote:
> > > This adds iw61x aka SD9177 support to the mwifiex driver. It is named
> > > SD9177 in the downstream driver, I deliberately chose the NXP name in
> > > the driver.
> > >
> > > Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
> > > ---
> > > drivers/net/wireless/marvell/mwifiex/sdio.c | 79 +++++++++++++++++++++++++++++
> > > drivers/net/wireless/marvell/mwifiex/sdio.h | 3 ++
> > > include/linux/mmc/sdio_ids.h | 3 ++
> > > 3 files changed, 85 insertions(+)
> > >
> > > diff --git a/drivers/net/wireless/marvell/mwifiex/sdio.c b/drivers/net/wireless/marvell/mwifiex/sdio.c
> > > index cbcb5674b8036..7b4045a40df57 100644
> > > --- a/drivers/net/wireless/marvell/mwifiex/sdio.c
> > > +++ b/drivers/net/wireless/marvell/mwifiex/sdio.c
> >
> > ...
> >
> > > @@ -3212,3 +3289,5 @@ MODULE_FIRMWARE(SD8978_SDIOUART_FW_NAME);
> > > MODULE_FIRMWARE(SD8987_DEFAULT_FW_NAME);
> > > MODULE_FIRMWARE(SD8997_DEFAULT_FW_NAME);
> > > MODULE_FIRMWARE(SD8997_SDIOUART_FW_NAME);
> > > +MODULE_FIRMWARE(IW612_DEFAULT_FW_NAME);
> > > +MODULE_FIRMWARE(IW612_SDIOUART_FW_NAME);
> > > diff --git a/drivers/net/wireless/marvell/mwifiex/sdio.h b/drivers/net/wireless/marvell/mwifiex/sdio.h
> > > index 65d142286c46e..97759456314b0 100644
> > > --- a/drivers/net/wireless/marvell/mwifiex/sdio.h
> > > +++ b/drivers/net/wireless/marvell/mwifiex/sdio.h
> > > @@ -29,6 +29,9 @@
> > > #define SD8987_DEFAULT_FW_NAME "mrvl/sd8987_uapsta.bin"
> > > #define SD8997_DEFAULT_FW_NAME "mrvl/sdsd8997_combo_v4.bin"
> > > #define SD8997_SDIOUART_FW_NAME "mrvl/sdiouart8997_combo_v4.bin"
> > > +#define IW612_DEFAULT_FW_NAME "nxp/sdsd_nw61x.bin"
> > > +#define IW612_SDIOUART_FW_NAME "nxp/sd_w61x.bin"
> >
> > Is there a way to have BT over SDIO with iw61x? I was sure only sd-uart was
> > possible.
>
> The communication to the Bluetooth module indeed is UART only.
>
> I think nxp/sdsd_nw61x.bin contains firmwares for both the WiFi and
> Bluetooth chip. When using this you can use the Bluetooth UART directly
> without uploading a separate Bluetooth firmware.
>
> nxp/sd_w61x.bin only contains the WiFi firmware, so you have to
> upload a separate Bluetooth firmware over the UART interface.

If that the case what you did here is not correct.

The 2 firmware files here are used file depending on the BT host interface used
on the Wi-Fi/BT chip, and this is read from some strapping register. See commit
255ca28a659d ("mwifiex: Select firmware based on strapping").

BTW, this name sdsd_nw61x.bin is confusing, I would have expected this to be
something like sduart_nw61x.bin.

Francesco