Re: [PATCH 1/2] dt-bindings: net: bluetooth: nxp: add support for supply and reset

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

 



On 24-10-28, Sherry Sun wrote:
> 
> > From: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>
> > 
> > On 24-10-28, Sherry Sun wrote:
> > >
> > > > From: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>
> > > >
> > > > Hi,
> > > >
> > > > On 24-10-28, Sherry Sun wrote:
> > > > >
> > > > > > From: POPESCU Catalin <catalin.popescu@xxxxxxxxxxxxxxxxxxxx>
> > > > > >
> > > > > > We use the NXP downstream driver mwifiex which doesn't have
> > > > > > support for regulator or PDn.
> > > > > >
> > > > > > However, regulator is already supported by the MMC core (vmmc-
> > supply).
> > > > > >
> > > > > > For PDn, we use mmc pwrseq simple driver that has been patched
> > > > > > to add support for reset-control.
> > > > >
> > > > > Ok, thanks, the mmc change looks good for me, so there is no
> > > > > problem with the NXP SDIO wifi.
> > > > >
> > > > > But how do you plan to handle the NXP PCIe wifi? We also need to
> > > > > make sure the BT patch won't break the PCIe wifi function.
> > > >
> > > > Can you please elaborate how this could break the PCIe use-case?
> > >
> > > Similar to the SDIO wifi, if no corresponding reset control for the
> > > PDn pin in PCIe wifi driver, the wifi part will be unexpectedly
> > > powered off when removing the BT driver.
> > 
> > Nope it's not that easy for PCIe case since the phy + link layer handling is
> > much more complex compared to the MMC case. For the PCIe case the intial
> > handling is very strict according to the PCIe spec and we can't handle the BT
> > device independently.
> > 
> > _BUT_ this patch doesn't cause any regression for the PCIe use-case since the
> > support added by Catalin is optional which means that the user don't have to
> > use these options.
> > 
> > To sum up:
> > 
> > WLAN (PCIe) used + BT (UART) used -> no independent handling
> >                                      possible. BT depends on WLAN.
> > 
> > WLAN (PCIe) not used + BT (UART) used -> This patchset allow us to
> >                                          handle BT. Without the patchset
> > 					 this is not possible.
> > 
> > WLAN (SDIO) + BT (UART) -> This patchset and the mmc-power-seq patchset
> >                            allow us to handle WLAN and BT independently
> > 			   regardless if BT or WLAN is used or not.
> 
> If we add the reset-gpios property in the BT dts node when using the
> SDIO wifi chip, my concern is for some host platforms, taking
> i.MX95-19x19-EVK as an example, it supports both SDIO and PCIe
> interface wifi chip through the M.2 connector, when customers want to
> plug in the PCIe wifi chip, they have to remove the reset-gpios in the
> BT dts node to avoid the PCIe WLAN been affected by BT, right?

I don't know the i.MX95-19x19-EVK platform since it is not upstream. If
you want to support both:

> > WLAN (PCIe) used + BT (UART) used -> no independent handling
> >                                      possible. BT depends on WLAN.

and

> > WLAN (SDIO) + BT (UART) -> This patchset and the mmc-power-seq patchset
> >                            allow us to handle WLAN and BT independently
> > 			   regardless if BT or WLAN is used or not.

you need to stick with the dependent handling which is no problem once
this patchset get applied if your system support hot-plug. If hot-plug
is not possible you could consider unsing overlays.

However, this patchset does _NOT_ cause any regression neither for the
MMC nor the PCIe use-case, and you don't have to touch your DTS files. It
would be an improvement for platforms (not speaking of NXP EVK
platforms) which utilize the MMC+UART interfaces only.

> And it looks strange that we can only add the reset-gpios BT property
> to the hosts that only support SDIO WLAN, we hope there is a solution
> for the PCIe WLAN too.

"We hope there is a solution" <-- This is not how upstream work.

Also as said: The WLAN PCIe interface must/should be compatible with the
PCIe Spec. There is no way that we can handle both devices
independent since the PCIe spec specifies the power-up-sequence very
strict.

If for example, we do handle it independent and the BT part brings the
device out-of-reset while the PCIe bus is not yet ready, the device's
WLAN PCIe subsystem may get confused.

There are two solution NXP could provide:

 - The PCIe WLAN/BT devices exposes all devices WLAN + BT via PCIe, this
   would eliminate the UART part.
 - All new WLAN/BT devices do have a separate hw reset line for each
   radio the device supports.

Regards,
  Marco




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux