* [PATCH v4 0/2] PCI: imx6: Enable the vaux regulator when fetch it
@ 2025-08-19 7:16 Richard Zhu
2025-08-19 7:16 ` [PATCH v4 1/2] dt-bindings: PCI: dwc: Add vaux regulator Richard Zhu
2025-08-19 7:16 ` [PATCH v4 2/2] PCI: imx6: Enable the vaux regulator when fetch it Richard Zhu
0 siblings, 2 replies; 9+ messages in thread
From: Richard Zhu @ 2025-08-19 7:16 UTC (permalink / raw)
To: frank.li, l.stach, lpieralisi, kwilczynski, mani, robh, krzk+dt,
conor+dt, bhelgaas, shawnguo, s.hauer, kernel, festevam
Cc: linux-pci, linux-arm-kernel, devicetree, imx, linux-kernel
Refer to PCIe CEM r6.0, sec 2.3 WAKE# Singal, WAKE# signal is only
asserted by the Add-in Card when all its functions are in D3Cold state
and at least one of its functions is enabled for wakeup generation. The
3.3V auxiliary power (+3.3Vaux) must be present and used for wakeup
process. Since the main power supply would be gated off to let Add-in
Card to be in D3Cold, get the vaux and keep it enabled to power up WAKE#
circuit for the entire PCIe controller lifecycle when it's present.
v4 changes:
Move the dt-binding to snps,dw-pcie-common.yaml.
v3 changes:
Add a new vaux power supply used to specify the regulator powered up the
WAKE# circuit on the connector when WAKE# is supported.
v2 changes:
Update the commit message, and add reviewed-by from Frank.
https://patchwork.kernel.org/project/linux-pci/patch/20250619072438.125921-1-hongxing.zhu@nxp.com/
[PATCH v4 1/2] dt-bindings: PCI: dwc: Add vaux regulator
[PATCH v4 2/2] PCI: imx6: Enable the vaux regulator when fetch it
Documentation/devicetree/bindings/pci/snps,dw-pcie-common.yaml | 6 ++++++
drivers/pci/controller/dwc/pci-imx6.c | 15 +++++++++++++++
2 files changed, 21 insertions(+)
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v4 1/2] dt-bindings: PCI: dwc: Add vaux regulator
2025-08-19 7:16 [PATCH v4 0/2] PCI: imx6: Enable the vaux regulator when fetch it Richard Zhu
@ 2025-08-19 7:16 ` Richard Zhu
2025-08-19 8:30 ` Rob Herring (Arm)
2025-08-19 8:45 ` Manivannan Sadhasivam
2025-08-19 7:16 ` [PATCH v4 2/2] PCI: imx6: Enable the vaux regulator when fetch it Richard Zhu
1 sibling, 2 replies; 9+ messages in thread
From: Richard Zhu @ 2025-08-19 7:16 UTC (permalink / raw)
To: frank.li, l.stach, lpieralisi, kwilczynski, mani, robh, krzk+dt,
conor+dt, bhelgaas, shawnguo, s.hauer, kernel, festevam
Cc: linux-pci, linux-arm-kernel, devicetree, imx, linux-kernel,
Richard Zhu
Refer to PCIe CEM r6.0, sec 2.3 WAKE# Signal, WAKE# signal is only
asserted by the Add-in Card when all its functions are in D3Cold state
and at least one of its functions is enabled for wakeup generation.
The 3.3V auxiliary power (+3.3Vaux) must be present and used for wakeup
process. Since the main power supply would be gated off to let Add-in
Card to be in D3Cold, add the vaux and keep it enabled to power up WAKE#
circuit for the entire PCIe controller lifecycle when WAKE# is supported.
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
---
.../devicetree/bindings/pci/snps,dw-pcie-common.yaml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/bindings/pci/snps,dw-pcie-common.yaml b/Documentation/devicetree/bindings/pci/snps,dw-pcie-common.yaml
index 34594972d8dbe..5283f51388584 100644
--- a/Documentation/devicetree/bindings/pci/snps,dw-pcie-common.yaml
+++ b/Documentation/devicetree/bindings/pci/snps,dw-pcie-common.yaml
@@ -262,6 +262,12 @@ properties:
dma-coherent: true
+ vaux-supply:
+ description: Should specify the regulator in charge of power source
+ of the WAKE# generation on the PCIe connector. When the WAKE# is
+ enabled, this regualor would be always on and used to power up
+ WAKE# circuit.
+
additionalProperties: true
...
--
2.37.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v4 2/2] PCI: imx6: Enable the vaux regulator when fetch it
2025-08-19 7:16 [PATCH v4 0/2] PCI: imx6: Enable the vaux regulator when fetch it Richard Zhu
2025-08-19 7:16 ` [PATCH v4 1/2] dt-bindings: PCI: dwc: Add vaux regulator Richard Zhu
@ 2025-08-19 7:16 ` Richard Zhu
2025-08-19 8:41 ` Sherry Sun
2025-08-19 8:52 ` Manivannan Sadhasivam
1 sibling, 2 replies; 9+ messages in thread
From: Richard Zhu @ 2025-08-19 7:16 UTC (permalink / raw)
To: frank.li, l.stach, lpieralisi, kwilczynski, mani, robh, krzk+dt,
conor+dt, bhelgaas, shawnguo, s.hauer, kernel, festevam
Cc: linux-pci, linux-arm-kernel, devicetree, imx, linux-kernel,
Richard Zhu
Enable the vaux regulator at probe time and keep it enabled for the
entire PCIe controller lifecycle. This ensures support for outbound
wake-up mechanism such as WAKE# signaling.
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
---
drivers/pci/controller/dwc/pci-imx6.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
index 5a38cfaf989b1..1c1dce2d87e44 100644
--- a/drivers/pci/controller/dwc/pci-imx6.c
+++ b/drivers/pci/controller/dwc/pci-imx6.c
@@ -159,6 +159,7 @@ struct imx_pcie {
u32 tx_deemph_gen2_6db;
u32 tx_swing_full;
u32 tx_swing_low;
+ struct regulator *vaux;
struct regulator *vpcie;
struct regulator *vph;
void __iomem *phy_base;
@@ -1739,6 +1740,20 @@ static int imx_pcie_probe(struct platform_device *pdev)
pci->max_link_speed = 1;
of_property_read_u32(node, "fsl,max-link-speed", &pci->max_link_speed);
+ /*
+ * Refer to PCIe CEM r6.0, sec 2.3 WAKE# Signal, WAKE# signal is only
+ * asserted by the Add-in Card when all its functions are in D3Cold
+ * state and at least one of its functions is enabled for wakeup
+ * generation. The 3.3V auxiliary power (+3.3Vaux) must be present and
+ * used for wakeup process. Since the main power supply would be gated
+ * off to let Add-in Card to be in D3Cold, get the vaux and keep it
+ * enabled to power up WAKE# circuit for the entire PCIe controller
+ * lifecycle when WAKE# is supported.
+ */
+ ret = devm_regulator_get_enable_optional(&pdev->dev, "vaux");
+ if (ret < 0 && ret != -ENODEV)
+ return dev_err_probe(dev, ret, "failed to enable vaux");
+
imx_pcie->vpcie = devm_regulator_get_optional(&pdev->dev, "vpcie");
if (IS_ERR(imx_pcie->vpcie)) {
if (PTR_ERR(imx_pcie->vpcie) != -ENODEV)
--
2.37.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v4 1/2] dt-bindings: PCI: dwc: Add vaux regulator
2025-08-19 7:16 ` [PATCH v4 1/2] dt-bindings: PCI: dwc: Add vaux regulator Richard Zhu
@ 2025-08-19 8:30 ` Rob Herring (Arm)
2025-08-19 8:45 ` Manivannan Sadhasivam
1 sibling, 0 replies; 9+ messages in thread
From: Rob Herring (Arm) @ 2025-08-19 8:30 UTC (permalink / raw)
To: Richard Zhu
Cc: festevam, linux-pci, devicetree, krzk+dt, s.hauer, lpieralisi,
shawnguo, frank.li, l.stach, bhelgaas, mani, conor+dt, kernel,
kwilczynski, linux-arm-kernel, imx, linux-kernel
On Tue, 19 Aug 2025 15:16:29 +0800, Richard Zhu wrote:
> Refer to PCIe CEM r6.0, sec 2.3 WAKE# Signal, WAKE# signal is only
> asserted by the Add-in Card when all its functions are in D3Cold state
> and at least one of its functions is enabled for wakeup generation.
>
> The 3.3V auxiliary power (+3.3Vaux) must be present and used for wakeup
> process. Since the main power supply would be gated off to let Add-in
> Card to be in D3Cold, add the vaux and keep it enabled to power up WAKE#
> circuit for the entire PCIe controller lifecycle when WAKE# is supported.
>
> Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
> ---
> .../devicetree/bindings/pci/snps,dw-pcie-common.yaml | 6 ++++++
> 1 file changed, 6 insertions(+)
>
My bot found errors running 'make dt_binding_check' on your patch:
yamllint warnings/errors:
dtschema/dtc warnings/errors:
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250819071630.1813134-2-hongxing.zhu@nxp.com
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH v4 2/2] PCI: imx6: Enable the vaux regulator when fetch it
2025-08-19 7:16 ` [PATCH v4 2/2] PCI: imx6: Enable the vaux regulator when fetch it Richard Zhu
@ 2025-08-19 8:41 ` Sherry Sun
2025-08-19 8:52 ` Manivannan Sadhasivam
1 sibling, 0 replies; 9+ messages in thread
From: Sherry Sun @ 2025-08-19 8:41 UTC (permalink / raw)
To: Hongxing Zhu, Frank Li, l.stach@pengutronix.de,
lpieralisi@kernel.org, kwilczynski@kernel.org, mani@kernel.org,
robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
bhelgaas@google.com, shawnguo@kernel.org, s.hauer@pengutronix.de,
kernel@pengutronix.de, festevam@gmail.com
Cc: linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
devicetree@vger.kernel.org, imx@lists.linux.dev,
linux-kernel@vger.kernel.org, Hongxing Zhu
> -----Original Message-----
> From: Richard Zhu <hongxing.zhu@nxp.com>
> Sent: Tuesday, August 19, 2025 3:17 PM
> To: Frank Li <frank.li@nxp.com>; l.stach@pengutronix.de;
> lpieralisi@kernel.org; kwilczynski@kernel.org; mani@kernel.org;
> robh@kernel.org; krzk+dt@kernel.org; conor+dt@kernel.org;
> bhelgaas@google.com; shawnguo@kernel.org; s.hauer@pengutronix.de;
> kernel@pengutronix.de; festevam@gmail.com
> Cc: linux-pci@vger.kernel.org; linux-arm-kernel@lists.infradead.org;
> devicetree@vger.kernel.org; imx@lists.linux.dev; linux-
> kernel@vger.kernel.org; Hongxing Zhu <hongxing.zhu@nxp.com>
> Subject: [PATCH v4 2/2] PCI: imx6: Enable the vaux regulator when fetch it
>
> Enable the vaux regulator at probe time and keep it enabled for the entire
> PCIe controller lifecycle. This ensures support for outbound wake-up
> mechanism such as WAKE# signaling.
>
> Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
> ---
> drivers/pci/controller/dwc/pci-imx6.c | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/drivers/pci/controller/dwc/pci-imx6.c
> b/drivers/pci/controller/dwc/pci-imx6.c
> index 5a38cfaf989b1..1c1dce2d87e44 100644
> --- a/drivers/pci/controller/dwc/pci-imx6.c
> +++ b/drivers/pci/controller/dwc/pci-imx6.c
> @@ -159,6 +159,7 @@ struct imx_pcie {
> u32 tx_deemph_gen2_6db;
> u32 tx_swing_full;
> u32 tx_swing_low;
> + struct regulator *vaux;
Hi Richard, this seems defined but not used?
Best Regards
Sherry
> struct regulator *vpcie;
> struct regulator *vph;
> void __iomem *phy_base;
> @@ -1739,6 +1740,20 @@ static int imx_pcie_probe(struct platform_device
> *pdev)
> pci->max_link_speed = 1;
> of_property_read_u32(node, "fsl,max-link-speed", &pci-
> >max_link_speed);
>
> + /*
> + * Refer to PCIe CEM r6.0, sec 2.3 WAKE# Signal, WAKE# signal is only
> + * asserted by the Add-in Card when all its functions are in D3Cold
> + * state and at least one of its functions is enabled for wakeup
> + * generation. The 3.3V auxiliary power (+3.3Vaux) must be present
> and
> + * used for wakeup process. Since the main power supply would be
> gated
> + * off to let Add-in Card to be in D3Cold, get the vaux and keep it
> + * enabled to power up WAKE# circuit for the entire PCIe controller
> + * lifecycle when WAKE# is supported.
> + */
> + ret = devm_regulator_get_enable_optional(&pdev->dev, "vaux");
> + if (ret < 0 && ret != -ENODEV)
> + return dev_err_probe(dev, ret, "failed to enable vaux");
> +
> imx_pcie->vpcie = devm_regulator_get_optional(&pdev->dev,
> "vpcie");
> if (IS_ERR(imx_pcie->vpcie)) {
> if (PTR_ERR(imx_pcie->vpcie) != -ENODEV)
> --
> 2.37.1
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v4 1/2] dt-bindings: PCI: dwc: Add vaux regulator
2025-08-19 7:16 ` [PATCH v4 1/2] dt-bindings: PCI: dwc: Add vaux regulator Richard Zhu
2025-08-19 8:30 ` Rob Herring (Arm)
@ 2025-08-19 8:45 ` Manivannan Sadhasivam
2025-08-19 9:01 ` Hongxing Zhu
1 sibling, 1 reply; 9+ messages in thread
From: Manivannan Sadhasivam @ 2025-08-19 8:45 UTC (permalink / raw)
To: Richard Zhu
Cc: frank.li, l.stach, lpieralisi, kwilczynski, robh, krzk+dt,
conor+dt, bhelgaas, shawnguo, s.hauer, kernel, festevam,
linux-pci, linux-arm-kernel, devicetree, imx, linux-kernel
On Tue, Aug 19, 2025 at 03:16:29PM GMT, Richard Zhu wrote:
> Refer to PCIe CEM r6.0, sec 2.3 WAKE# Signal, WAKE# signal is only
> asserted by the Add-in Card when all its functions are in D3Cold state
> and at least one of its functions is enabled for wakeup generation.
>
> The 3.3V auxiliary power (+3.3Vaux) must be present and used for wakeup
> process. Since the main power supply would be gated off to let Add-in
> Card to be in D3Cold, add the vaux and keep it enabled to power up WAKE#
> circuit for the entire PCIe controller lifecycle when WAKE# is supported.
>
> Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
> ---
> .../devicetree/bindings/pci/snps,dw-pcie-common.yaml | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/pci/snps,dw-pcie-common.yaml b/Documentation/devicetree/bindings/pci/snps,dw-pcie-common.yaml
> index 34594972d8dbe..5283f51388584 100644
> --- a/Documentation/devicetree/bindings/pci/snps,dw-pcie-common.yaml
> +++ b/Documentation/devicetree/bindings/pci/snps,dw-pcie-common.yaml
> @@ -262,6 +262,12 @@ properties:
>
> dma-coherent: true
>
> + vaux-supply:
> + description: Should specify the regulator in charge of power source
> + of the WAKE# generation on the PCIe connector. When the WAKE# is
> + enabled, this regualor would be always on and used to power up
> + WAKE# circuit.
3.3Vaux supply is already documented in the dtschema:
https://github.com/devicetree-org/dt-schema/blob/main/dtschema/schemas/pci/pci-bus-common.yaml#L179
So you should use that instead.
- Mani
--
மணிவண்ணன் சதாசிவம்
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v4 2/2] PCI: imx6: Enable the vaux regulator when fetch it
2025-08-19 7:16 ` [PATCH v4 2/2] PCI: imx6: Enable the vaux regulator when fetch it Richard Zhu
2025-08-19 8:41 ` Sherry Sun
@ 2025-08-19 8:52 ` Manivannan Sadhasivam
2025-08-19 9:01 ` Hongxing Zhu
1 sibling, 1 reply; 9+ messages in thread
From: Manivannan Sadhasivam @ 2025-08-19 8:52 UTC (permalink / raw)
To: Richard Zhu
Cc: frank.li, l.stach, lpieralisi, kwilczynski, robh, krzk+dt,
conor+dt, bhelgaas, shawnguo, s.hauer, kernel, festevam,
linux-pci, linux-arm-kernel, devicetree, imx, linux-kernel
On Tue, Aug 19, 2025 at 03:16:30PM GMT, Richard Zhu wrote:
> Enable the vaux regulator at probe time and keep it enabled for the
> entire PCIe controller lifecycle. This ensures support for outbound
> wake-up mechanism such as WAKE# signaling.
>
> Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
> ---
> drivers/pci/controller/dwc/pci-imx6.c | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
> index 5a38cfaf989b1..1c1dce2d87e44 100644
> --- a/drivers/pci/controller/dwc/pci-imx6.c
> +++ b/drivers/pci/controller/dwc/pci-imx6.c
> @@ -159,6 +159,7 @@ struct imx_pcie {
> u32 tx_deemph_gen2_6db;
> u32 tx_swing_full;
> u32 tx_swing_low;
> + struct regulator *vaux;
> struct regulator *vpcie;
> struct regulator *vph;
> void __iomem *phy_base;
> @@ -1739,6 +1740,20 @@ static int imx_pcie_probe(struct platform_device *pdev)
> pci->max_link_speed = 1;
> of_property_read_u32(node, "fsl,max-link-speed", &pci->max_link_speed);
>
> + /*
> + * Refer to PCIe CEM r6.0, sec 2.3 WAKE# Signal, WAKE# signal is only
> + * asserted by the Add-in Card when all its functions are in D3Cold
> + * state and at least one of its functions is enabled for wakeup
> + * generation. The 3.3V auxiliary power (+3.3Vaux) must be present and
> + * used for wakeup process. Since the main power supply would be gated
> + * off to let Add-in Card to be in D3Cold, get the vaux and keep it
> + * enabled to power up WAKE# circuit for the entire PCIe controller
> + * lifecycle when WAKE# is supported.
> + */
This comment implies that the presence of Vaux is dependent on WAKE#. But there
is no such check present in the code. Maybe you are referring to the fact that
the platform will only supply Vaux if it intends to support WAKE#?
But I guess you can just drop the comment altogether and move it to patch
description.
- Mani
--
மணிவண்ணன் சதாசிவம்
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH v4 1/2] dt-bindings: PCI: dwc: Add vaux regulator
2025-08-19 8:45 ` Manivannan Sadhasivam
@ 2025-08-19 9:01 ` Hongxing Zhu
0 siblings, 0 replies; 9+ messages in thread
From: Hongxing Zhu @ 2025-08-19 9:01 UTC (permalink / raw)
To: Manivannan Sadhasivam
Cc: Frank Li, l.stach@pengutronix.de, lpieralisi@kernel.org,
kwilczynski@kernel.org, robh@kernel.org, krzk+dt@kernel.org,
conor+dt@kernel.org, bhelgaas@google.com, shawnguo@kernel.org,
s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com,
linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
devicetree@vger.kernel.org, imx@lists.linux.dev,
linux-kernel@vger.kernel.org
> -----Original Message-----
> From: Manivannan Sadhasivam <mani@kernel.org>
> Sent: 2025年8月19日 16:46
> To: Hongxing Zhu <hongxing.zhu@nxp.com>
> Cc: Frank Li <frank.li@nxp.com>; l.stach@pengutronix.de;
> lpieralisi@kernel.org; kwilczynski@kernel.org; robh@kernel.org;
> krzk+dt@kernel.org; conor+dt@kernel.org; bhelgaas@google.com;
> shawnguo@kernel.org; s.hauer@pengutronix.de; kernel@pengutronix.de;
> festevam@gmail.com; linux-pci@vger.kernel.org;
> linux-arm-kernel@lists.infradead.org; devicetree@vger.kernel.org;
> imx@lists.linux.dev; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH v4 1/2] dt-bindings: PCI: dwc: Add vaux regulator
>
> On Tue, Aug 19, 2025 at 03:16:29PM GMT, Richard Zhu wrote:
> > Refer to PCIe CEM r6.0, sec 2.3 WAKE# Signal, WAKE# signal is only
> > asserted by the Add-in Card when all its functions are in D3Cold state
> > and at least one of its functions is enabled for wakeup generation.
> >
> > The 3.3V auxiliary power (+3.3Vaux) must be present and used for
> > wakeup process. Since the main power supply would be gated off to let
> > Add-in Card to be in D3Cold, add the vaux and keep it enabled to power
> > up WAKE# circuit for the entire PCIe controller lifecycle when WAKE# is
> supported.
> >
> > Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
> > ---
> > .../devicetree/bindings/pci/snps,dw-pcie-common.yaml | 6
> ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git
> > a/Documentation/devicetree/bindings/pci/snps,dw-pcie-common.yaml
> > b/Documentation/devicetree/bindings/pci/snps,dw-pcie-common.yaml
> > index 34594972d8dbe..5283f51388584 100644
> > --- a/Documentation/devicetree/bindings/pci/snps,dw-pcie-common.yaml
> > +++ b/Documentation/devicetree/bindings/pci/snps,dw-pcie-common.yaml
> > @@ -262,6 +262,12 @@ properties:
> >
> > dma-coherent: true
> >
> > + vaux-supply:
> > + description: Should specify the regulator in charge of power source
> > + of the WAKE# generation on the PCIe connector. When the WAKE#
> is
> > + enabled, this regualor would be always on and used to power up
> > + WAKE# circuit.
>
> 3.3Vaux supply is already documented in the dtschema:
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.
> com%2Fdevicetree-org%2Fdt-schema%2Fblob%2Fmain%2Fdtschema%2Fsche
> mas%2Fpci%2Fpci-bus-common.yaml%23L179&data=05%7C02%7Chongxing.z
> hu%40nxp.com%7C010fb118c1384dfa2b1a08dddefcd0ff%7C686ea1d3bc2b4c
> 6fa92cd99c5c301635%7C0%7C0%7C638911899600090830%7CUnknown%7CT
> WFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXa
> W4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=%2Bh
> CgrwfHFGY2D5%2B8dS4XRl4hoQWG0JpUmG5BZhRyW%2B8%3D&reserved=0
>
> So you should use that instead.
Okay, got that, thanks.
Best Regards
Richard Zhu
>
> - Mani
>
> --
> மணிவண்ணன் சதாசிவம்
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH v4 2/2] PCI: imx6: Enable the vaux regulator when fetch it
2025-08-19 8:52 ` Manivannan Sadhasivam
@ 2025-08-19 9:01 ` Hongxing Zhu
0 siblings, 0 replies; 9+ messages in thread
From: Hongxing Zhu @ 2025-08-19 9:01 UTC (permalink / raw)
To: Manivannan Sadhasivam
Cc: Frank Li, l.stach@pengutronix.de, lpieralisi@kernel.org,
kwilczynski@kernel.org, robh@kernel.org, krzk+dt@kernel.org,
conor+dt@kernel.org, bhelgaas@google.com, shawnguo@kernel.org,
s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com,
linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
devicetree@vger.kernel.org, imx@lists.linux.dev,
linux-kernel@vger.kernel.org
> -----Original Message-----
> From: Manivannan Sadhasivam <mani@kernel.org>
> Sent: 2025年8月19日 16:52
> To: Hongxing Zhu <hongxing.zhu@nxp.com>
> Cc: Frank Li <frank.li@nxp.com>; l.stach@pengutronix.de;
> lpieralisi@kernel.org; kwilczynski@kernel.org; robh@kernel.org;
> krzk+dt@kernel.org; conor+dt@kernel.org; bhelgaas@google.com;
> shawnguo@kernel.org; s.hauer@pengutronix.de; kernel@pengutronix.de;
> festevam@gmail.com; linux-pci@vger.kernel.org;
> linux-arm-kernel@lists.infradead.org; devicetree@vger.kernel.org;
> imx@lists.linux.dev; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH v4 2/2] PCI: imx6: Enable the vaux regulator when fetch
> it
>
> On Tue, Aug 19, 2025 at 03:16:30PM GMT, Richard Zhu wrote:
> > Enable the vaux regulator at probe time and keep it enabled for the
> > entire PCIe controller lifecycle. This ensures support for outbound
> > wake-up mechanism such as WAKE# signaling.
> >
> > Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
> > ---
> > drivers/pci/controller/dwc/pci-imx6.c | 15 +++++++++++++++
> > 1 file changed, 15 insertions(+)
> >
> > diff --git a/drivers/pci/controller/dwc/pci-imx6.c
> > b/drivers/pci/controller/dwc/pci-imx6.c
> > index 5a38cfaf989b1..1c1dce2d87e44 100644
> > --- a/drivers/pci/controller/dwc/pci-imx6.c
> > +++ b/drivers/pci/controller/dwc/pci-imx6.c
> > @@ -159,6 +159,7 @@ struct imx_pcie {
> > u32 tx_deemph_gen2_6db;
> > u32 tx_swing_full;
> > u32 tx_swing_low;
> > + struct regulator *vaux;
> > struct regulator *vpcie;
> > struct regulator *vph;
> > void __iomem *phy_base;
> > @@ -1739,6 +1740,20 @@ static int imx_pcie_probe(struct
> platform_device *pdev)
> > pci->max_link_speed = 1;
> > of_property_read_u32(node, "fsl,max-link-speed",
> > &pci->max_link_speed);
> >
> > + /*
> > + * Refer to PCIe CEM r6.0, sec 2.3 WAKE# Signal, WAKE# signal is only
> > + * asserted by the Add-in Card when all its functions are in D3Cold
> > + * state and at least one of its functions is enabled for wakeup
> > + * generation. The 3.3V auxiliary power (+3.3Vaux) must be present and
> > + * used for wakeup process. Since the main power supply would be
> gated
> > + * off to let Add-in Card to be in D3Cold, get the vaux and keep it
> > + * enabled to power up WAKE# circuit for the entire PCIe controller
> > + * lifecycle when WAKE# is supported.
> > + */
>
> This comment implies that the presence of Vaux is dependent on WAKE#.
> But there is no such check present in the code. Maybe you are referring to
> the fact that the platform will only supply Vaux if it intends to support
> WAKE#?
Yes, it is. The Vaux power supply would be present if the WAKE# is supported
by the board.
>
> But I guess you can just drop the comment altogether and move it to patch
> description.
Okay.
Best Regards
Richard Zhu
>
> - Mani
>
> --
> மணிவண்ணன் சதாசிவம்
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2025-08-19 9:01 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-19 7:16 [PATCH v4 0/2] PCI: imx6: Enable the vaux regulator when fetch it Richard Zhu
2025-08-19 7:16 ` [PATCH v4 1/2] dt-bindings: PCI: dwc: Add vaux regulator Richard Zhu
2025-08-19 8:30 ` Rob Herring (Arm)
2025-08-19 8:45 ` Manivannan Sadhasivam
2025-08-19 9:01 ` Hongxing Zhu
2025-08-19 7:16 ` [PATCH v4 2/2] PCI: imx6: Enable the vaux regulator when fetch it Richard Zhu
2025-08-19 8:41 ` Sherry Sun
2025-08-19 8:52 ` Manivannan Sadhasivam
2025-08-19 9:01 ` Hongxing Zhu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).