RE: [PATCH V2 2/4] dt-bindings: imx6q-pcie: Add wake-gpios property

From: Sherry Sun
Date: Mon Apr 07 2025 - 03:23:22 EST




> -----Original Message-----
> From: Francesco Dolcini <francesco@xxxxxxxxxx>
> Sent: Friday, April 4, 2025 5:42 PM
> To: Sherry Sun <sherry.sun@xxxxxxx>
> Cc: Hongxing Zhu <hongxing.zhu@xxxxxxx>; l.stach@xxxxxxxxxxxxxx;
> lpieralisi@xxxxxxxxxx; kw@xxxxxxxxx; robh@xxxxxxxxxx;
> bhelgaas@xxxxxxxxxx; krzysztof.kozlowski+dt@xxxxxxxxxx;
> conor+dt@xxxxxxxxxx; shawnguo@xxxxxxxxxx; s.hauer@xxxxxxxxxxxxxx;
> kernel@xxxxxxxxxxxxxx; festevam@xxxxxxxxx; dl-linux-imx <linux-
> imx@xxxxxxx>; linux-pci@xxxxxxxxxxxxxxx; linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH V2 2/4] dt-bindings: imx6q-pcie: Add wake-gpios property
>
> Hello
>
> On Wed, Dec 13, 2023 at 05:28:48PM +0800, Sherry Sun wrote:
> > Add wake-gpios property that can be used to wakeup the host processor.
> >
> > Signed-off-by: Sherry Sun <sherry.sun@xxxxxxx>
> > Reviewed-by: Richard Zhu <hongxing.zhu@xxxxxxx>
> > ---
> > Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml
> > b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml
> > index 81bbb8728f0f..fba757d937e1 100644
> > --- a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml
> > +++ b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml
> > @@ -72,6 +72,12 @@ properties:
> > L=operation state) (optional required).
> > type: boolean
> >
> > + wake-gpios:
> > + description: If present this property specifies WAKE# sideband signaling
> > + to implement wakeup functionality. This is an input GPIO pin for the
> Root
> > + Port mode here. Host drivers will wakeup the host using the IRQ
> > + corresponding to the passed GPIO.
> > +
>
> From what I know it is possible to share the same WAKE# signal for multiple
> root ports. Is this going to work fine with this binding? Same question on the
> driver.
>
> We do have design exactly like that, so it's not a theoretical question.
>

Hi Francesco,
The current design doesn't support such case, maybe some changes in the driver could achieve that (mark the wake-gpio as GPIOD_FLAGS_BIT_NONEXCLUSIVE and the interrupt as IRQF_SHARED, etc.).
But usually each RC has its own WAKE# pin assigned. We have not come across a case where multiple RC share the same WAKE# pin.

Best Regards
Sherry