Search Linux Wireless

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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Thank you for your work on this!

On 03-28 16:10, Sascha Hauer wrote:
> On Thu, Mar 27, 2025 at 10:33:17AM +0100, Francesco Dolcini wrote:
> > 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@xxxxxxxxxxxxxx>
> > > > > ---
> > > > >  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.
> 
> You are right, there seem to be some things mixed up. I'll have a look
> into it for the next round.
> 

Looking at downstream driver looks like based on chip revision firmware
files will be different. My best finding on the firmware files naming about
this chip was this thread [1] on the NXP forums.

Regards,
Ivan

[1] https://community.nxp.com/t5/Other-NXP-Products/NXP-IW612-Kernel-Integration-amp-Firmware-Flashing-Issues/m-p/2056699#M27741





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux