RE: [PATCH v8 5/8] PCI: imx6: Refine the regulator usage

Hongxing Zhu
2022-03-04T08:44:59Z

> -----Original Message-----
> From: Francesco Dolcini <francesco.dolcini@toradex.com>
> Sent: 2022年3月4日 15:46
> To: Hongxing Zhu <hongxing.zhu@nxp.com>
> Cc: Francesco Dolcini <francesco.dolcini@toradex.com>;
> l.stach@pengutronix.de; bhelgaas@google.com; broonie@kernel.org;
> lorenzo.pieralisi@arm.com; jingoohan1@gmail.com; festevam@gmail.com;
> linux-pci@vger.kernel.org; linux-arm-kernel@lists.infradead.org;
> linux-kernel@vger.kernel.org; kernel@pengutronix.de; dl-linux-imx
> <linux-imx@nxp.com>
> Subject: Re: [PATCH v8 5/8] PCI: imx6: Refine the regulator usage
>
> On Mon, Feb 28, 2022 at 03:43:03AM +0000, Hongxing Zhu wrote:
> > > 2. We are playing around with vpcie during regulator during
> > > suspend/resume, why? We currently have issue with suspend/resume
> > > when a PCIe switch is there, with the final effect of PCIe being not
> > > usable afterward. I fear like this is related to our issue.
> > >
> > To my understands, the VPCIE is the abstract of the DIESABLE# signal.
> > Refer to the Chapter 3.1.12.3 W_DISABLE# Signal of PCI Express M.2 SPEC.
> > These signals are used to disable the Adapter's radio operation to
> > meet public Safety regulations or when otherwise desired.
> > It's reasonable to assert/de-assert W_DISABLE# signal during
> suspend/resume.
> >
> > > What about vpcie enable in probe, and vpcie disable in shutdown and
> > > that's all?
> > The W_DISABLE# Signal is used to control the radios on the Adapters.
> > I think you can do that, if the radios are always on in your system.
>
> According to the binding documentation (imx6q-pcie.yaml)
>
> vpcie-supply:
> description: Should specify the regulator in charge of PCIe port power.
> The regulator will be enabled when initializing the PCIe host and
> disabled either as part of the init process or when shutting down
> the host (optional required).
>
> This is how it's documented to be used, if this is used according to the
> documentation (and this is happening) what you are already doing (not
> changed in this patch, you are right) is not correct.
>
> Abusing this for the W_DISABLE# disable is new to me and does not look legit.
The vpcie-supply is one gpio regulator actually, used to control remote Endpoint
device, through the DISABLE# signal (defined in Mini CEM/M.2 SPEC) of the port.

Best Regards
Richard Zhu

>
> Francesco