* [PATCH V4 1/7] arm: dts: imx6qdl-sabresd: Move power supply property to Root Port node
2026-06-30 6:07 [PATCH V4 0/7] PCI: imx6: Integrate pwrctrl API and update device trees Sherry Sun (OSS)
@ 2026-06-30 6:07 ` Sherry Sun (OSS)
2026-06-30 6:27 ` sashiko-bot
2026-06-30 6:07 ` [PATCH V4 2/7] arm: dts: imx6sx-sdb: " Sherry Sun (OSS)
` (6 subsequent siblings)
7 siblings, 1 reply; 24+ messages in thread
From: Sherry Sun (OSS) @ 2026-06-30 6:07 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, Frank.Li, s.hauer, kernel, festevam,
lpieralisi, kwilczynski, mani, bhelgaas, hongxing.zhu, l.stach
Cc: imx, linux-pci, linux-arm-kernel, devicetree, linux-kernel,
sherry.sun
From: Sherry Sun <sherry.sun@nxp.com>
Move the power supply property from the PCIe controller node to the Root
Port child node to support the new PCI pwrctrl framework.
Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
---
arch/arm/boot/dts/nxp/imx/imx6qdl-sabresd.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/nxp/imx/imx6qdl-sabresd.dtsi
index fe9046c03ddd..c52b8897f999 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6qdl-sabresd.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx6qdl-sabresd.dtsi
@@ -756,12 +756,12 @@ &pcie {
pinctrl-0 = <&pinctrl_pcie>;
/* This property is deprecated, use reset-gpios from the Root Port node. */
reset-gpio = <&gpio7 12 GPIO_ACTIVE_LOW>;
- vpcie-supply = <®_pcie>;
status = "okay";
};
&pcie_port0 {
reset-gpios = <&gpio7 12 GPIO_ACTIVE_LOW>;
+ vpcie3v3-supply = <®_pcie>;
};
&pwm1 {
--
2.50.1
^ permalink raw reply related [flat|nested] 24+ messages in thread* Re: [PATCH V4 1/7] arm: dts: imx6qdl-sabresd: Move power supply property to Root Port node
2026-06-30 6:07 ` [PATCH V4 1/7] arm: dts: imx6qdl-sabresd: Move power supply property to Root Port node Sherry Sun (OSS)
@ 2026-06-30 6:27 ` sashiko-bot
2026-06-30 8:29 ` Sherry Sun
0 siblings, 1 reply; 24+ messages in thread
From: sashiko-bot @ 2026-06-30 6:27 UTC (permalink / raw)
Cc: linux-pci, conor+dt, devicetree, imx, robh, Frank.Li
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] Removing the legacy `vpcie-supply` property breaks PCIe initialization on older kernels and non-pwrctrl environments.
- [Medium] Adding `vpcie3v3-supply` to the Root Port node without documenting it in the binding schema causes a schema validation failure.
--
commit 1190644448a0f1a3780ae7b3d2a75e1606ab6017
Author: Sherry Sun <sherry.sun@nxp.com>
arm: dts: imx6qdl-sabresd: Move power supply property to Root Port node
This commit moves the power supply property from the PCIe controller node
to the Root Port child node. This change aims to support the new PCI pwrctrl
framework.
> diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/nxp/imx/imx6qdl-sabresd.dtsi
> index fe9046c03ddd6..c52b8897f9995 100644
> --- a/arch/arm/boot/dts/nxp/imx/imx6qdl-sabresd.dtsi
> +++ b/arch/arm/boot/dts/nxp/imx/imx6qdl-sabresd.dtsi
> @@ -756,12 +756,12 @@ &pcie {
> pinctrl-0 = <&pinctrl_pcie>;
> /* This property is deprecated, use reset-gpios from the Root Port node. */
> reset-gpio = <&gpio7 12 GPIO_ACTIVE_LOW>;
> - vpcie-supply = <®_pcie>;
[Severity: High]
Will removing the legacy vpcie-supply property break backward compatibility
with older drivers?
Older drivers, such as pci-imx6.c, looking for this property via
devm_regulator_get_optional("vpcie") in the host bridge node will receive
an error code and silently skip enabling the PCIe regulator. Because the
regulator lacks an always-on constraint, it will remain off, which can cause
PCIe link failures on older kernels or when booting with the generic PCI power
control framework disabled.
Device trees generally act as stable hardware descriptions. Can this property
be kept in the parent node while adding vpcie3v3-supply to the child node,
since the regulator core can safely handle multiple consumers?
> status = "okay";
> };
>
> &pcie_port0 {
> reset-gpios = <&gpio7 12 GPIO_ACTIVE_LOW>;
> + vpcie3v3-supply = <®_pcie>;
[Severity: Medium]
Could adding vpcie3v3-supply here without documenting it in the binding
schema cause a schema validation failure?
The pcie@0 node definition in the fsl,imx6q-pcie.yaml binding schema
uses "unevaluatedProperties: false", meaning all properties must be explicitly
documented. Since vpcie3v3-supply is not documented in that file or in the
core PCI schemas, the schema validator will likely reject it.
> };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260630060710.3294811-1-sherry.sun@oss.nxp.com?part=1
^ permalink raw reply [flat|nested] 24+ messages in thread* RE: [PATCH V4 1/7] arm: dts: imx6qdl-sabresd: Move power supply property to Root Port node
2026-06-30 6:27 ` sashiko-bot
@ 2026-06-30 8:29 ` Sherry Sun
0 siblings, 0 replies; 24+ messages in thread
From: Sherry Sun @ 2026-06-30 8:29 UTC (permalink / raw)
To: sashiko-reviews@lists.linux.dev
Cc: linux-pci@vger.kernel.org, conor+dt@kernel.org,
devicetree@vger.kernel.org, imx@lists.linux.dev, robh@kernel.org,
Frank.Li@kernel.org
> Thank you for your contribution! Sashiko AI review found 2 potential issue(s)
> to consider:
> - [High] Removing the legacy `vpcie-supply` property breaks PCIe initialization
> on older kernels and non-pwrctrl environments.
> - [Medium] Adding `vpcie3v3-supply` to the Root Port node without
> documenting it in the binding schema causes a schema validation failure.
> --
>
> commit 1190644448a0f1a3780ae7b3d2a75e1606ab6017
> Author: Sherry Sun <sherry.sun@nxp.com>
> arm: dts: imx6qdl-sabresd: Move power supply property to Root Port node
>
> This commit moves the power supply property from the PCIe controller node
> to the Root Port child node. This change aims to support the new PCI pwrctrl
> framework.
>
> > diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-sabresd.dtsi
> > b/arch/arm/boot/dts/nxp/imx/imx6qdl-sabresd.dtsi
> > index fe9046c03ddd6..c52b8897f9995 100644
> > --- a/arch/arm/boot/dts/nxp/imx/imx6qdl-sabresd.dtsi
> > +++ b/arch/arm/boot/dts/nxp/imx/imx6qdl-sabresd.dtsi
> > @@ -756,12 +756,12 @@ &pcie {
> > pinctrl-0 = <&pinctrl_pcie>;
> > /* This property is deprecated, use reset-gpios from the Root Port
> node. */
> > reset-gpio = <&gpio7 12 GPIO_ACTIVE_LOW>;
> > - vpcie-supply = <®_pcie>;
>
> [Severity: High]
> Will removing the legacy vpcie-supply property break backward compatibility
> with older drivers?
>
> Older drivers, such as pci-imx6.c, looking for this property via
> devm_regulator_get_optional("vpcie") in the host bridge node will receive an
> error code and silently skip enabling the PCIe regulator. Because the regulator
> lacks an always-on constraint, it will remain off, which can cause PCIe link
> failures on older kernels or when booting with the generic PCI power control
> framework disabled.
>
> Device trees generally act as stable hardware descriptions. Can this property
> be kept in the parent node while adding vpcie3v3-supply to the child node,
> since the regulator core can safely handle multiple consumers?
>
As documented in Documentation/devicetree/bindings/ABI.rst, "a stable
binding means that a newer kernel will not break on an older device
tree, but that doesn't mean the binding is frozen for all time." The
compatibility guarantee is one-directional: new kernels must support
old DTS files, but old kernels are not required to work with new DTS
files.
The driver already preserves the legacy fallback path for this:
/* Legacy regulator handling for DT backward compatibility. */
if (imx_pcie->vpcie) {
ret = regulator_enable(imx_pcie->vpcie);
...
}
So a new kernel running with an old DTS that still has vpcie-supply on
the controller node will continue to work correctly.
Users are not expected to pair a new DTS with an old kernel. Doing so
would break in many other ways beyond this single property.
> > status = "okay";
> > };
> >
> > &pcie_port0 {
> > reset-gpios = <&gpio7 12 GPIO_ACTIVE_LOW>;
> > + vpcie3v3-supply = <®_pcie>;
>
> [Severity: Medium]
> Could adding vpcie3v3-supply here without documenting it in the binding
> schema cause a schema validation failure?
>
> The pcie@0 node definition in the fsl,imx6q-pcie.yaml binding schema uses
> "unevaluatedProperties: false", meaning all properties must be explicitly
> documented. Since vpcie3v3-supply is not documented in that file or in the
> core PCI schemas, the schema validator will likely reject it.
vpcie3v3-supply is documented in dt-schema:
https://github.com/devicetree-org/dt-schema/blob/main/dtschema/schemas/pci/pci-bus-common.yaml
Best Regards
Sherry
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH V4 2/7] arm: dts: imx6sx-sdb: Move power supply property to Root Port node
2026-06-30 6:07 [PATCH V4 0/7] PCI: imx6: Integrate pwrctrl API and update device trees Sherry Sun (OSS)
2026-06-30 6:07 ` [PATCH V4 1/7] arm: dts: imx6qdl-sabresd: Move power supply property to Root Port node Sherry Sun (OSS)
@ 2026-06-30 6:07 ` Sherry Sun (OSS)
2026-06-30 6:25 ` sashiko-bot
2026-06-30 6:07 ` [PATCH V4 3/7] arm64: dts: imx8mm-evk: " Sherry Sun (OSS)
` (5 subsequent siblings)
7 siblings, 1 reply; 24+ messages in thread
From: Sherry Sun (OSS) @ 2026-06-30 6:07 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, Frank.Li, s.hauer, kernel, festevam,
lpieralisi, kwilczynski, mani, bhelgaas, hongxing.zhu, l.stach
Cc: imx, linux-pci, linux-arm-kernel, devicetree, linux-kernel,
sherry.sun
From: Sherry Sun <sherry.sun@nxp.com>
Move the power supply property from the PCIe controller node to the Root
Port child node to support the new PCI pwrctrl framework.
Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
---
arch/arm/boot/dts/nxp/imx/imx6sx-sdb.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/nxp/imx/imx6sx-sdb.dtsi b/arch/arm/boot/dts/nxp/imx/imx6sx-sdb.dtsi
index 338de4d144b2..41a69fe83be8 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6sx-sdb.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx6sx-sdb.dtsi
@@ -284,12 +284,12 @@ &pcie {
pinctrl-0 = <&pinctrl_pcie>;
/* This property is deprecated, use reset-gpios from the Root Port node. */
reset-gpio = <&gpio2 0 GPIO_ACTIVE_LOW>;
- vpcie-supply = <®_pcie_gpio>;
status = "okay";
};
&pcie_port0 {
reset-gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
+ vpcie3v3-supply = <®_pcie_gpio>;
};
&lcdif1 {
--
2.50.1
^ permalink raw reply related [flat|nested] 24+ messages in thread* Re: [PATCH V4 2/7] arm: dts: imx6sx-sdb: Move power supply property to Root Port node
2026-06-30 6:07 ` [PATCH V4 2/7] arm: dts: imx6sx-sdb: " Sherry Sun (OSS)
@ 2026-06-30 6:25 ` sashiko-bot
2026-06-30 8:29 ` Sherry Sun
0 siblings, 1 reply; 24+ messages in thread
From: sashiko-bot @ 2026-06-30 6:25 UTC (permalink / raw)
Cc: linux-pci, Frank.Li, devicetree, robh, conor+dt, imx
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] Removing `vpcie-supply` from the host controller node breaks DT backward compatibility, as older kernels will fail to enable the regulator and initialize PCIe.
- [Low] Adding `vpcie3v3-supply` to the Root Port node without updating the corresponding binding schema causes `dtbs_check` validation failures.
--
commit 9019771c92c02473e9f2657166c7dc76a65b606d
Author: Sherry Sun <sherry.sun@nxp.com>
arm: dts: imx6sx-sdb: Move power supply property to Root Port node
Move the power supply property from the PCIe controller node to the Root
Port child node to support the new PCI pwrctrl framework.
> diff --git a/arch/arm/boot/dts/nxp/imx/imx6sx-sdb.dtsi b/arch/arm/boot/dts/nxp/imx/imx6sx-sdb.dtsi
> index 338de4d144b2a..41a69fe83be85 100644
> --- a/arch/arm/boot/dts/nxp/imx/imx6sx-sdb.dtsi
> +++ b/arch/arm/boot/dts/nxp/imx/imx6sx-sdb.dtsi
> @@ -284,12 +284,12 @@ &pcie {
> pinctrl-0 = <&pinctrl_pcie>;
> /* This property is deprecated, use reset-gpios from the Root Port node. */
> reset-gpio = <&gpio2 0 GPIO_ACTIVE_LOW>;
> - vpcie-supply = <®_pcie_gpio>;
[Severity: High]
Does removing this property break device tree backward compatibility for
older kernels?
Older kernels using the pci-imx6.c driver expect the vpcie-supply property
in the host controller node to find and enable the regulator. If this is
removed instead of being left as a deprecated fallback (similar to the
reset-gpio property above), will PCIe initialization fail on older kernels
booted with this new device tree?
> status = "okay";
> };
>
> &pcie_port0 {
> reset-gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
> + vpcie3v3-supply = <®_pcie_gpio>;
[Severity: Low]
Does adding this property to the Root Port node without a corresponding
schema update cause dtbs_check validation failures?
The fsl,imx6q-pcie.yaml binding schema defines the root port node with
unevaluatedProperties: false, but it does not appear to document the newly
added vpcie3v3-supply property.
[ ... ]
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260630060710.3294811-1-sherry.sun@oss.nxp.com?part=2
^ permalink raw reply [flat|nested] 24+ messages in thread* RE: [PATCH V4 2/7] arm: dts: imx6sx-sdb: Move power supply property to Root Port node
2026-06-30 6:25 ` sashiko-bot
@ 2026-06-30 8:29 ` Sherry Sun
0 siblings, 0 replies; 24+ messages in thread
From: Sherry Sun @ 2026-06-30 8:29 UTC (permalink / raw)
To: sashiko-reviews@lists.linux.dev
Cc: linux-pci@vger.kernel.org, Frank.Li@kernel.org,
devicetree@vger.kernel.org, robh@kernel.org, conor+dt@kernel.org,
imx@lists.linux.dev
> Subject: Re: [PATCH V4 2/7] arm: dts: imx6sx-sdb: Move power supply
> property to Root Port node
>
> Thank you for your contribution! Sashiko AI review found 2 potential issue(s)
> to consider:
> - [High] Removing `vpcie-supply` from the host controller node breaks DT
> backward compatibility, as older kernels will fail to enable the regulator and
> initialize PCIe.
> - [Low] Adding `vpcie3v3-supply` to the Root Port node without updating the
> corresponding binding schema causes `dtbs_check` validation failures.
> --
>
> commit 9019771c92c02473e9f2657166c7dc76a65b606d
> Author: Sherry Sun <sherry.sun@nxp.com>
>
> arm: dts: imx6sx-sdb: Move power supply property to Root Port node
>
> Move the power supply property from the PCIe controller node to the Root
> Port child node to support the new PCI pwrctrl framework.
>
> > diff --git a/arch/arm/boot/dts/nxp/imx/imx6sx-sdb.dtsi
> > b/arch/arm/boot/dts/nxp/imx/imx6sx-sdb.dtsi
> > index 338de4d144b2a..41a69fe83be85 100644
> > --- a/arch/arm/boot/dts/nxp/imx/imx6sx-sdb.dtsi
> > +++ b/arch/arm/boot/dts/nxp/imx/imx6sx-sdb.dtsi
> > @@ -284,12 +284,12 @@ &pcie {
> > pinctrl-0 = <&pinctrl_pcie>;
> > /* This property is deprecated, use reset-gpios from the Root Port
> node. */
> > reset-gpio = <&gpio2 0 GPIO_ACTIVE_LOW>;
> > - vpcie-supply = <®_pcie_gpio>;
>
> [Severity: High]
> Does removing this property break device tree backward compatibility for
> older kernels?
>
> Older kernels using the pci-imx6.c driver expect the vpcie-supply property in
> the host controller node to find and enable the regulator. If this is removed
> instead of being left as a deprecated fallback (similar to the reset-gpio
> property above), will PCIe initialization fail on older kernels booted with this
> new device tree?
As documented in Documentation/devicetree/bindings/ABI.rst, "a stable
binding means that a newer kernel will not break on an older device
tree, but that doesn't mean the binding is frozen for all time." The
compatibility guarantee is one-directional: new kernels must support
old DTS files, but old kernels are not required to work with new DTS
files.
The driver already preserves the legacy fallback path for this:
/* Legacy regulator handling for DT backward compatibility. */
if (imx_pcie->vpcie) {
ret = regulator_enable(imx_pcie->vpcie);
...
}
So a new kernel running with an old DTS that still has vpcie-supply on
the controller node will continue to work correctly.
Users are not expected to pair a new DTS with an old kernel. Doing so
would break in many other ways beyond this single property.
>
> > status = "okay";
> > };
> >
> > &pcie_port0 {
> > reset-gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
> > + vpcie3v3-supply = <®_pcie_gpio>;
>
> [Severity: Low]
> Does adding this property to the Root Port node without a corresponding
> schema update cause dtbs_check validation failures?
>
> The fsl,imx6q-pcie.yaml binding schema defines the root port node with
> unevaluatedProperties: false, but it does not appear to document the newly
> added vpcie3v3-supply property.
>
vpcie3v3-supply is documented in dt-schema:
https://github.com/devicetree-org/dt-schema/blob/main/dtschema/schemas/pci/pci-bus-common.yaml
Best Regards
Sherry
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH V4 3/7] arm64: dts: imx8mm-evk: Move power supply property to Root Port node
2026-06-30 6:07 [PATCH V4 0/7] PCI: imx6: Integrate pwrctrl API and update device trees Sherry Sun (OSS)
2026-06-30 6:07 ` [PATCH V4 1/7] arm: dts: imx6qdl-sabresd: Move power supply property to Root Port node Sherry Sun (OSS)
2026-06-30 6:07 ` [PATCH V4 2/7] arm: dts: imx6sx-sdb: " Sherry Sun (OSS)
@ 2026-06-30 6:07 ` Sherry Sun (OSS)
2026-06-30 6:12 ` sashiko-bot
2026-06-30 6:07 ` [PATCH V4 4/7] arm64: dts: imx8mp-evk: Move power supply properties " Sherry Sun (OSS)
` (4 subsequent siblings)
7 siblings, 1 reply; 24+ messages in thread
From: Sherry Sun (OSS) @ 2026-06-30 6:07 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, Frank.Li, s.hauer, kernel, festevam,
lpieralisi, kwilczynski, mani, bhelgaas, hongxing.zhu, l.stach
Cc: imx, linux-pci, linux-arm-kernel, devicetree, linux-kernel,
sherry.sun
From: Sherry Sun <sherry.sun@nxp.com>
Move the power supply property from the PCIe controller node to the Root
Port child node to support the new PCI pwrctrl framework.
Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
---
arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
index e03aba825c18..3205798614a3 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
@@ -542,7 +542,6 @@ &pcie0 {
assigned-clock-rates = <10000000>, <250000000>;
assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_50M>,
<&clk IMX8MM_SYS_PLL2_250M>;
- vpcie-supply = <®_pcie0>;
supports-clkreq;
status = "okay";
};
@@ -562,6 +561,7 @@ &pcie0_ep {
&pcie0_port0 {
reset-gpios = <&gpio4 21 GPIO_ACTIVE_LOW>;
+ vpcie3v3-supply = <®_pcie0>;
};
&sai2 {
--
2.50.1
^ permalink raw reply related [flat|nested] 24+ messages in thread* [PATCH V4 4/7] arm64: dts: imx8mp-evk: Move power supply properties to Root Port node
2026-06-30 6:07 [PATCH V4 0/7] PCI: imx6: Integrate pwrctrl API and update device trees Sherry Sun (OSS)
` (2 preceding siblings ...)
2026-06-30 6:07 ` [PATCH V4 3/7] arm64: dts: imx8mm-evk: " Sherry Sun (OSS)
@ 2026-06-30 6:07 ` Sherry Sun (OSS)
2026-06-30 6:19 ` sashiko-bot
2026-06-30 6:07 ` [PATCH V4 5/7] arm64: dts: imx8mq-evk: " Sherry Sun (OSS)
` (3 subsequent siblings)
7 siblings, 1 reply; 24+ messages in thread
From: Sherry Sun (OSS) @ 2026-06-30 6:07 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, Frank.Li, s.hauer, kernel, festevam,
lpieralisi, kwilczynski, mani, bhelgaas, hongxing.zhu, l.stach
Cc: imx, linux-pci, linux-arm-kernel, devicetree, linux-kernel,
sherry.sun
From: Sherry Sun <sherry.sun@nxp.com>
Move the power supply properties from the PCIe controller node to the
Root Port child node to support the new PCI pwrctrl framework.
Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
---
arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
index a7f3acdc36d1..0c6829966f6a 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
@@ -772,8 +772,6 @@ &pcie0 {
pinctrl-0 = <&pinctrl_pcie0>;
/* This property is deprecated, use reset-gpios from the Root Port node. */
reset-gpio = <&gpio2 7 GPIO_ACTIVE_LOW>;
- vpcie-supply = <®_pcie0>;
- vpcie3v3aux-supply = <®_pcie0>;
supports-clkreq;
status = "disabled";
};
@@ -786,6 +784,8 @@ &pcie0_ep {
&pcie0_port0 {
reset-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>;
+ vpcie3v3-supply = <®_pcie0>;
+ vpcie3v3aux-supply = <®_pcie0>;
};
&pwm1 {
--
2.50.1
^ permalink raw reply related [flat|nested] 24+ messages in thread* Re: [PATCH V4 4/7] arm64: dts: imx8mp-evk: Move power supply properties to Root Port node
2026-06-30 6:07 ` [PATCH V4 4/7] arm64: dts: imx8mp-evk: Move power supply properties " Sherry Sun (OSS)
@ 2026-06-30 6:19 ` sashiko-bot
2026-06-30 8:34 ` Sherry Sun
0 siblings, 1 reply; 24+ messages in thread
From: sashiko-bot @ 2026-06-30 6:19 UTC (permalink / raw)
Cc: Frank.Li, devicetree, robh, imx, linux-pci, conor+dt
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Critical] Removing power supply properties from the PCIe host controller node breaks backward compatibility with older kernels.
--
commit d2930da890ce2314f11817b05c9728d18176f34c
Author: Sherry Sun <sherry.sun@nxp.com>
arm64: dts: imx8mp-evk: Move power supply properties to Root Port node
This commit moves the power supply properties from the PCIe controller
node to the Root Port child node to support the new PCI pwrctrl framework.
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
> --- a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
> @@ -772,8 +772,6 @@ &pcie0 {
> pinctrl-0 = <&pinctrl_pcie0>;
> /* This property is deprecated, use reset-gpios from the Root Port node. */
> reset-gpio = <&gpio2 7 GPIO_ACTIVE_LOW>;
> - vpcie-supply = <®_pcie0>;
> - vpcie3v3aux-supply = <®_pcie0>;
[Severity: Critical]
Does removing these power supply properties from the host controller node
break backward compatibility with older kernels?
Older kernels (prior to the introduction of the new PCI pwrctrl framework)
rely on the pci-imx6.c host controller driver to parse the vpcie and
vpcie3v3aux regulators directly from the host controller node (&pcie0).
If these are removed, older kernels booting with this new device tree
will silently fail to enable these regulators because
devm_regulator_get_optional() safely ignores -ENODEV. As a result, the
PCIe slot will remain unpowered and endpoint enumeration will fail.
To maintain ABI stability, should these properties remain in the host
controller node as deprecated properties, just as the reset-gpio property
was retained above?
> supports-clkreq;
> status = "disabled";
> };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260630060710.3294811-1-sherry.sun@oss.nxp.com?part=4
^ permalink raw reply [flat|nested] 24+ messages in thread* RE: [PATCH V4 4/7] arm64: dts: imx8mp-evk: Move power supply properties to Root Port node
2026-06-30 6:19 ` sashiko-bot
@ 2026-06-30 8:34 ` Sherry Sun
0 siblings, 0 replies; 24+ messages in thread
From: Sherry Sun @ 2026-06-30 8:34 UTC (permalink / raw)
To: sashiko-reviews@lists.linux.dev
Cc: Frank.Li@kernel.org, devicetree@vger.kernel.org, robh@kernel.org,
imx@lists.linux.dev, linux-pci@vger.kernel.org,
conor+dt@kernel.org
> Subject: Re: [PATCH V4 4/7] arm64: dts: imx8mp-evk: Move power supply
> properties to Root Port node
>
> Thank you for your contribution! Sashiko AI review found 1 potential issue(s)
> to consider:
> - [Critical] Removing power supply properties from the PCIe host controller
> node breaks backward compatibility with older kernels.
> --
>
> commit d2930da890ce2314f11817b05c9728d18176f34c
> Author: Sherry Sun <sherry.sun@nxp.com>
>
> arm64: dts: imx8mp-evk: Move power supply properties to Root Port node
>
> This commit moves the power supply properties from the PCIe controller
> node to the Root Port child node to support the new PCI pwrctrl framework.
>
> > diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
> > b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
> > --- a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
> > +++ b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
> > @@ -772,8 +772,6 @@ &pcie0 {
> > pinctrl-0 = <&pinctrl_pcie0>;
> > /* This property is deprecated, use reset-gpios from the Root Port
> node. */
> > reset-gpio = <&gpio2 7 GPIO_ACTIVE_LOW>;
> > - vpcie-supply = <®_pcie0>;
> > - vpcie3v3aux-supply = <®_pcie0>;
>
> [Severity: Critical]
> Does removing these power supply properties from the host controller node
> break backward compatibility with older kernels?
>
> Older kernels (prior to the introduction of the new PCI pwrctrl framework)
> rely on the pci-imx6.c host controller driver to parse the vpcie and
> vpcie3v3aux regulators directly from the host controller node (&pcie0).
>
> If these are removed, older kernels booting with this new device tree will
> silently fail to enable these regulators because
> devm_regulator_get_optional() safely ignores -ENODEV. As a result, the PCIe
> slot will remain unpowered and endpoint enumeration will fail.
>
> To maintain ABI stability, should these properties remain in the host controller
> node as deprecated properties, just as the reset-gpio property was retained
> above?
As documented in Documentation/devicetree/bindings/ABI.rst, "a stable
binding means that a newer kernel will not break on an older device
tree, but that doesn't mean the binding is frozen for all time." The
compatibility guarantee is one-directional: new kernels must support
old DTS files, but old kernels are not required to work with new DTS
files.
The driver already preserves the legacy fallback path for this:
/* Legacy regulator handling for DT backward compatibility. */
if (imx_pcie->vpcie) {
ret = regulator_enable(imx_pcie->vpcie);
...
}
So a new kernel running with an old DTS that still has vpcie-supply on
the controller node will continue to work correctly.
Users are not expected to pair a new DTS with an old kernel. Doing so
would break in many other ways beyond this single property.
The reset-gpio property was kept to avoid build break if pci patch and
dts patch are not merged together, will remove this deprecated reset-gpio
property later.
Best Regards
Sherry
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH V4 5/7] arm64: dts: imx8mq-evk: Move power supply properties to Root Port node
2026-06-30 6:07 [PATCH V4 0/7] PCI: imx6: Integrate pwrctrl API and update device trees Sherry Sun (OSS)
` (3 preceding siblings ...)
2026-06-30 6:07 ` [PATCH V4 4/7] arm64: dts: imx8mp-evk: Move power supply properties " Sherry Sun (OSS)
@ 2026-06-30 6:07 ` Sherry Sun (OSS)
2026-06-30 6:20 ` sashiko-bot
2026-06-30 6:07 ` [PATCH V4 6/7] arm64: dts: imx8dxl/qm/qxp: " Sherry Sun (OSS)
` (2 subsequent siblings)
7 siblings, 1 reply; 24+ messages in thread
From: Sherry Sun (OSS) @ 2026-06-30 6:07 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, Frank.Li, s.hauer, kernel, festevam,
lpieralisi, kwilczynski, mani, bhelgaas, hongxing.zhu, l.stach
Cc: imx, linux-pci, linux-arm-kernel, devicetree, linux-kernel,
sherry.sun
From: Sherry Sun <sherry.sun@nxp.com>
Move the power supply properties from the PCIe controller node to the
Root Port child node to support the new PCI pwrctrl framework.
Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
---
arch/arm64/boot/dts/freescale/imx8mq-evk.dts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
index b9b03416aa39..383a0976d457 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
@@ -403,8 +403,6 @@ &pcie1 {
<&pcie0_refclk>,
<&clk IMX8MQ_CLK_PCIE2_PHY>,
<&clk IMX8MQ_CLK_PCIE2_AUX>;
- vpcie-supply = <®_pcie1>;
- vpcie3v3aux-supply = <®_pcie1>;
vph-supply = <&vgen5_reg>;
supports-clkreq;
status = "okay";
@@ -422,6 +420,8 @@ &pcie1_ep {
&pcie1_port0 {
reset-gpios = <&gpio5 12 GPIO_ACTIVE_LOW>;
+ vpcie3v3-supply = <®_pcie1>;
+ vpcie3v3aux-supply = <®_pcie1>;
};
&pgc_gpu {
--
2.50.1
^ permalink raw reply related [flat|nested] 24+ messages in thread* Re: [PATCH V4 5/7] arm64: dts: imx8mq-evk: Move power supply properties to Root Port node
2026-06-30 6:07 ` [PATCH V4 5/7] arm64: dts: imx8mq-evk: " Sherry Sun (OSS)
@ 2026-06-30 6:20 ` sashiko-bot
2026-06-30 8:40 ` Sherry Sun
0 siblings, 1 reply; 24+ messages in thread
From: sashiko-bot @ 2026-06-30 6:20 UTC (permalink / raw)
Cc: robh, imx, linux-pci, devicetree, Frank.Li, conor+dt
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
New issues:
- [Critical] DT ABI breakage: Removing `vpcie-supply` and `vpcie3v3aux-supply` from the PCIe controller node breaks PCIe functionality on older kernels.
Pre-existing issues:
- [High] Resource and memory leak of regulators and `slot->supplies` array in `slot_pwrctrl_probe` error paths and driver teardown.
--
commit 331966289ddb574974fd80a80b3f1214ffc7055f
Author: Sherry Sun <sherry.sun@nxp.com>
arm64: dts: imx8mq-evk: Move power supply properties to Root Port node
This commit moves the vpcie-supply and vpcie3v3aux-supply properties from the
PCIe controller node to the Root Port child node. The change is intended to
support the new PCI pwrctrl framework.
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
> index e7d87ea81b697..541f6d5e9cefb 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
> @@ -403,8 +403,6 @@ &pcie1 {
> <&pcie0_refclk>,
> <&clk IMX8MQ_CLK_PCIE2_PHY>,
> <&clk IMX8MQ_CLK_PCIE2_AUX>;
> - vpcie-supply = <®_pcie1>;
> - vpcie3v3aux-supply = <®_pcie1>;
[Severity: Critical]
Does removing these properties break DT ABI compatibility for older kernels?
If an older kernel lacks the new PCI pwrctrl framework, its pci-imx6.c driver
will look for vpcie-supply and vpcie3v3aux-supply in the parent PCIe controller
node.
Without pci-pwrctrl to enable the child node's supplies, the regulators might
never be turned on, causing PCIe devices to fail probing.
> vph-supply = <&vgen5_reg>;
> supports-clkreq;
> status = "okay";
> @@ -422,6 +420,8 @@ &pcie1_ep {
>
> &pcie1_port0 {
> reset-gpios = <&gpio5 12 GPIO_ACTIVE_LOW>;
> + vpcie3v3-supply = <®_pcie1>;
> + vpcie3v3aux-supply = <®_pcie1>;
> };
[ ... ]
[Severity: High]
This is a pre-existing issue, but while reviewing the PCI pwrctrl framework
that this DT change supports, I noticed a potential resource leak in the
probing path.
In drivers/pci/pwrctrl/generic.c:slot_pwrctrl_probe():
slot->clk = devm_clk_get_optional(dev, NULL);
if (IS_ERR(slot->clk))
return dev_err_probe(dev, PTR_ERR(slot->clk),
"Failed to enable slot clock\n");
If devm_clk_get_optional() fails (e.g., returns -EPROBE_DEFER), does this
return path leak the slot->supplies array allocated by
of_regulator_bulk_get_all(), as well as the regulator references?
Since devm_add_action_or_reset() has not yet been registered at this point, it
appears the cleanup is skipped entirely on this failure path.
Additionally, looking at the driver teardown path:
drivers/pci/pwrctrl/generic.c:devm_slot_pwrctrl_release() {
struct slot_pwrctrl *slot = data;
regulator_bulk_free(slot->num_supplies, slot->supplies);
}
Does regulator_bulk_free() actually free the dynamically allocated array
itself, or does it only drop the regulator references, leaving the
slot->supplies array memory permanently leaked on unbind?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260630060710.3294811-1-sherry.sun@oss.nxp.com?part=5
^ permalink raw reply [flat|nested] 24+ messages in thread* RE: [PATCH V4 5/7] arm64: dts: imx8mq-evk: Move power supply properties to Root Port node
2026-06-30 6:20 ` sashiko-bot
@ 2026-06-30 8:40 ` Sherry Sun
0 siblings, 0 replies; 24+ messages in thread
From: Sherry Sun @ 2026-06-30 8:40 UTC (permalink / raw)
To: sashiko-reviews@lists.linux.dev
Cc: robh@kernel.org, imx@lists.linux.dev, linux-pci@vger.kernel.org,
devicetree@vger.kernel.org, Frank.Li@kernel.org,
conor+dt@kernel.org
> Subject: Re: [PATCH V4 5/7] arm64: dts: imx8mq-evk: Move power supply
> properties to Root Port node
>
> Thank you for your contribution! Sashiko AI review found 2 potential issue(s)
> to consider:
>
> New issues:
> - [Critical] DT ABI breakage: Removing `vpcie-supply` and `vpcie3v3aux-
> supply` from the PCIe controller node breaks PCIe functionality on older
> kernels.
>
> Pre-existing issues:
> - [High] Resource and memory leak of regulators and `slot->supplies` array in
> `slot_pwrctrl_probe` error paths and driver teardown.
> --
>
> commit 331966289ddb574974fd80a80b3f1214ffc7055f
> Author: Sherry Sun <sherry.sun@nxp.com>
>
> arm64: dts: imx8mq-evk: Move power supply properties to Root Port node
>
> This commit moves the vpcie-supply and vpcie3v3aux-supply properties from
> the PCIe controller node to the Root Port child node. The change is intended
> to support the new PCI pwrctrl framework.
>
> > diff --git a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
> > b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
> > index e7d87ea81b697..541f6d5e9cefb 100644
> > --- a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
> > +++ b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
> > @@ -403,8 +403,6 @@ &pcie1 {
> > <&pcie0_refclk>,
> > <&clk IMX8MQ_CLK_PCIE2_PHY>,
> > <&clk IMX8MQ_CLK_PCIE2_AUX>;
> > - vpcie-supply = <®_pcie1>;
> > - vpcie3v3aux-supply = <®_pcie1>;
>
> [Severity: Critical]
> Does removing these properties break DT ABI compatibility for older kernels?
>
> If an older kernel lacks the new PCI pwrctrl framework, its pci-imx6.c driver
> will look for vpcie-supply and vpcie3v3aux-supply in the parent PCIe
> controller node.
>
> Without pci-pwrctrl to enable the child node's supplies, the regulators might
> never be turned on, causing PCIe devices to fail probing.
As documented in Documentation/devicetree/bindings/ABI.rst, "a stable
binding means that a newer kernel will not break on an older device
tree, but that doesn't mean the binding is frozen for all time." The
compatibility guarantee is one-directional: new kernels must support
old DTS files, but old kernels are not required to work with new DTS
files.
The driver already preserves the legacy fallback path for this:
/* Legacy regulator handling for DT backward compatibility. */
if (imx_pcie->vpcie) {
ret = regulator_enable(imx_pcie->vpcie);
...
}
So a new kernel running with an old DTS that still has vpcie-supply on
the controller node will continue to work correctly.
Users are not expected to pair a new DTS with an old kernel. Doing so
would break in many other ways beyond this single property.
Best Regards
Sherry
>
> > vph-supply = <&vgen5_reg>;
> > supports-clkreq;
> > status = "okay";
> > @@ -422,6 +420,8 @@ &pcie1_ep {
> >
> > &pcie1_port0 {
> > reset-gpios = <&gpio5 12 GPIO_ACTIVE_LOW>;
> > + vpcie3v3-supply = <®_pcie1>;
> > + vpcie3v3aux-supply = <®_pcie1>;
> > };
>
> [ ... ]
>
> [Severity: High]
> This is a pre-existing issue, but while reviewing the PCI pwrctrl framework that
> this DT change supports, I noticed a potential resource leak in the probing
> path.
>
> In drivers/pci/pwrctrl/generic.c:slot_pwrctrl_probe():
>
> slot->clk = devm_clk_get_optional(dev, NULL);
> if (IS_ERR(slot->clk))
> return dev_err_probe(dev, PTR_ERR(slot->clk),
> "Failed to enable slot clock\n");
>
> If devm_clk_get_optional() fails (e.g., returns -EPROBE_DEFER), does this
> return path leak the slot->supplies array allocated by
> of_regulator_bulk_get_all(), as well as the regulator references?
>
> Since devm_add_action_or_reset() has not yet been registered at this point, it
> appears the cleanup is skipped entirely on this failure path.
>
> Additionally, looking at the driver teardown path:
>
> drivers/pci/pwrctrl/generic.c:devm_slot_pwrctrl_release() {
> struct slot_pwrctrl *slot = data;
>
> regulator_bulk_free(slot->num_supplies, slot->supplies); }
>
> Does regulator_bulk_free() actually free the dynamically allocated array itself,
> or does it only drop the regulator references, leaving the
> slot->supplies array memory permanently leaked on unbind?
>
> --
> Sashiko AI
> review * https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2
> Fsashiko.dev%2F%23%2Fpatchset%2F20260630060710.3294811-1-
> sherry.sun%40oss.nxp.com%3Fpart%3D5&data=05%7C02%7Csherry.sun%40
> nxp.com%7C5311d8c218154e8ffbe308ded66fc10f%7C686ea1d3bc2b4c6fa92c
> d99c5c301635%7C0%7C0%7C639183972638984127%7CUnknown%7CTWFpb
> GZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zM
> iIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=7QYi3LVOLx
> ie4fyAVD9bNp2FqeXTE%2F%2FtGorcdG1mVaI%3D&reserved=0
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH V4 6/7] arm64: dts: imx8dxl/qm/qxp: Move power supply properties to Root Port node
2026-06-30 6:07 [PATCH V4 0/7] PCI: imx6: Integrate pwrctrl API and update device trees Sherry Sun (OSS)
` (4 preceding siblings ...)
2026-06-30 6:07 ` [PATCH V4 5/7] arm64: dts: imx8mq-evk: " Sherry Sun (OSS)
@ 2026-06-30 6:07 ` Sherry Sun (OSS)
2026-06-30 6:24 ` sashiko-bot
2026-06-30 6:07 ` [PATCH V4 7/7] arm64: dts: imx95: " Sherry Sun (OSS)
2026-06-30 15:31 ` [PATCH V4 0/7] PCI: imx6: Integrate pwrctrl API and update device trees Frank.Li
7 siblings, 1 reply; 24+ messages in thread
From: Sherry Sun (OSS) @ 2026-06-30 6:07 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, Frank.Li, s.hauer, kernel, festevam,
lpieralisi, kwilczynski, mani, bhelgaas, hongxing.zhu, l.stach
Cc: imx, linux-pci, linux-arm-kernel, devicetree, linux-kernel,
sherry.sun
From: Sherry Sun <sherry.sun@nxp.com>
Move the power supply properties from the PCIe controller nodes to the
Root Port child nodes to support the new PCI pwrctrl framework.
Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
---
arch/arm64/boot/dts/freescale/imx8dxl-evk.dts | 4 ++--
arch/arm64/boot/dts/freescale/imx8qm-mek.dts | 4 ++--
arch/arm64/boot/dts/freescale/imx8qxp-mek.dts | 4 ++--
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts b/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
index 78e8d41e6791..59d9fe687aaf 100644
--- a/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
@@ -677,8 +677,6 @@ &pcie0 {
pinctrl-names = "default";
/* This property is deprecated, use reset-gpios from the Root Port node. */
reset-gpio = <&lsio_gpio4 0 GPIO_ACTIVE_LOW>;
- vpcie-supply = <®_pcieb>;
- vpcie3v3aux-supply = <®_pcieb>;
status = "okay";
};
@@ -692,6 +690,8 @@ &pcie0_ep {
&pcieb_port0 {
reset-gpios = <&lsio_gpio4 0 GPIO_ACTIVE_LOW>;
+ vpcie3v3-supply = <®_pcieb>;
+ vpcie3v3aux-supply = <®_pcieb>;
};
&sai0 {
diff --git a/arch/arm64/boot/dts/freescale/imx8qm-mek.dts b/arch/arm64/boot/dts/freescale/imx8qm-mek.dts
index f706c86137c0..d23313bd547c 100644
--- a/arch/arm64/boot/dts/freescale/imx8qm-mek.dts
+++ b/arch/arm64/boot/dts/freescale/imx8qm-mek.dts
@@ -812,14 +812,14 @@ &pciea {
pinctrl-names = "default";
/* This property is deprecated, use reset-gpios from the Root Port node. */
reset-gpio = <&lsio_gpio4 29 GPIO_ACTIVE_LOW>;
- vpcie-supply = <®_pciea>;
- vpcie3v3aux-supply = <®_pciea>;
supports-clkreq;
status = "okay";
};
&pciea_port0 {
reset-gpios = <&lsio_gpio4 29 GPIO_ACTIVE_LOW>;
+ vpcie3v3-supply = <®_pciea>;
+ vpcie3v3aux-supply = <®_pciea>;
};
&pcieb {
diff --git a/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts b/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts
index 2af32eca612a..5ec4082bd43e 100644
--- a/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts
+++ b/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts
@@ -732,8 +732,6 @@ &pcie0 {
pinctrl-names = "default";
/* This property is deprecated, use reset-gpios from the Root Port node. */
reset-gpios = <&lsio_gpio4 0 GPIO_ACTIVE_LOW>;
- vpcie-supply = <®_pcieb>;
- vpcie3v3aux-supply = <®_pcieb>;
supports-clkreq;
status = "okay";
};
@@ -748,6 +746,8 @@ &pcie0_ep {
&pcieb_port0 {
reset-gpios = <&lsio_gpio4 0 GPIO_ACTIVE_LOW>;
+ vpcie3v3-supply = <®_pcieb>;
+ vpcie3v3aux-supply = <®_pcieb>;
};
&scu_key {
--
2.50.1
^ permalink raw reply related [flat|nested] 24+ messages in thread* Re: [PATCH V4 6/7] arm64: dts: imx8dxl/qm/qxp: Move power supply properties to Root Port node
2026-06-30 6:07 ` [PATCH V4 6/7] arm64: dts: imx8dxl/qm/qxp: " Sherry Sun (OSS)
@ 2026-06-30 6:24 ` sashiko-bot
2026-06-30 8:38 ` Sherry Sun
0 siblings, 1 reply; 24+ messages in thread
From: sashiko-bot @ 2026-06-30 6:24 UTC (permalink / raw)
Cc: conor+dt, linux-pci, robh, imx, devicetree, Frank.Li
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] Moving `vpcie3v3aux-supply` to the Root Port node delegates its lifecycle to the generic `pci-pwrctrl` framework, causing auxiliary power to be disabled during system suspend, breaking Wake-on-PCIe.
- [High] Removal of `vpcie-supply` and `vpcie3v3aux-supply` from the host node breaks Devicetree forward compatibility for older kernels.
--
commit 5e5016406a44aded0d05f19605180a501f38ea48
Author: Sherry Sun <sherry.sun@nxp.com>
arm64: dts: imx8dxl/qm/qxp: Move power supply properties to Root Port node
This commit moves the power supply properties from the PCIe controller nodes
to the Root Port child nodes to support the new PCI pwrctrl framework.
> diff --git a/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts b/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
> index 78e8d41e67916..59d9fe687aaf0 100644
> --- a/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
> @@ -677,8 +677,6 @@ &pcie0 {
> pinctrl-names = "default";
> /* This property is deprecated, use reset-gpios from the Root Port node. */
> reset-gpio = <&lsio_gpio4 0 GPIO_ACTIVE_LOW>;
> - vpcie-supply = <®_pcieb>;
> - vpcie3v3aux-supply = <®_pcieb>;
[Severity: High]
Will removing these properties break Devicetree forward compatibility for
older kernels?
Older kernels lacking the new pci-pwrctrl framework rely on finding the
vpcie-supply property in the host controller node to power the PCIe physical
slots. Because these regulators are not marked regulator-always-on, older
kernels might fail to enable them, resulting in unpowered slots and complete
device enumeration failure.
Could these properties be kept in the host node as deprecated fallbacks,
similar to how reset-gpio is handled here? The kernel regulator framework
uses reference counting, which should safely handle multiple driver
consumers.
> status = "okay";
> };
>
> @@ -692,6 +690,8 @@ &pcie0_ep {
>
> &pcieb_port0 {
> reset-gpios = <&lsio_gpio4 0 GPIO_ACTIVE_LOW>;
> + vpcie3v3-supply = <®_pcieb>;
> + vpcie3v3aux-supply = <®_pcieb>;
[Severity: High]
Does moving vpcie3v3aux-supply to the Root Port node break Wake-on-PCIe
during system suspend?
By delegating the lifecycle to the generic pci-pwrctrl framework, the
regulator might be turned off during suspend. Looking at the pci-imx6.c
driver, during system suspend dw_pcie_suspend_noirq() delegates to the host
controller's deinit callback imx_pcie_host_exit().
This unconditionally calls pci_pwrctrl_power_off_devices(pci->dev) without
checking pci->pp.skip_pwrctrl_off, unlike other DWC drivers like pcie-qcom.
If the pci-pwrctrl framework takes ownership and turns the regulator off, it
would violate the PCIe hardware requirement to maintain Vaux for Wake-on-PCIe
(PME from D3cold). Can we ensure the auxiliary supply remains active during
suspend events?
[ ... ]
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260630060710.3294811-1-sherry.sun@oss.nxp.com?part=6
^ permalink raw reply [flat|nested] 24+ messages in thread* RE: [PATCH V4 6/7] arm64: dts: imx8dxl/qm/qxp: Move power supply properties to Root Port node
2026-06-30 6:24 ` sashiko-bot
@ 2026-06-30 8:38 ` Sherry Sun
0 siblings, 0 replies; 24+ messages in thread
From: Sherry Sun @ 2026-06-30 8:38 UTC (permalink / raw)
To: sashiko-reviews@lists.linux.dev
Cc: conor+dt@kernel.org, linux-pci@vger.kernel.org, robh@kernel.org,
imx@lists.linux.dev, devicetree@vger.kernel.org,
Frank.Li@kernel.org
> Subject: Re: [PATCH V4 6/7] arm64: dts: imx8dxl/qm/qxp: Move power supply
> properties to Root Port node
>
> Thank you for your contribution! Sashiko AI review found 2 potential issue(s)
> to consider:
> - [High] Moving `vpcie3v3aux-supply` to the Root Port node delegates its
> lifecycle to the generic `pci-pwrctrl` framework, causing auxiliary power to be
> disabled during system suspend, breaking Wake-on-PCIe.
> - [High] Removal of `vpcie-supply` and `vpcie3v3aux-supply` from the host
> node breaks Devicetree forward compatibility for older kernels.
> --
>
> commit 5e5016406a44aded0d05f19605180a501f38ea48
> Author: Sherry Sun <sherry.sun@nxp.com>
>
> arm64: dts: imx8dxl/qm/qxp: Move power supply properties to Root Port
> node
>
> This commit moves the power supply properties from the PCIe controller
> nodes to the Root Port child nodes to support the new PCI pwrctrl
> framework.
>
> > diff --git a/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
> > b/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
> > index 78e8d41e67916..59d9fe687aaf0 100644
> > --- a/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
> > +++ b/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
> > @@ -677,8 +677,6 @@ &pcie0 {
> > pinctrl-names = "default";
> > /* This property is deprecated, use reset-gpios from the Root Port
> node. */
> > reset-gpio = <&lsio_gpio4 0 GPIO_ACTIVE_LOW>;
> > - vpcie-supply = <®_pcieb>;
> > - vpcie3v3aux-supply = <®_pcieb>;
>
> [Severity: High]
> Will removing these properties break Devicetree forward compatibility for
> older kernels?
>
> Older kernels lacking the new pci-pwrctrl framework rely on finding the vpcie-
> supply property in the host controller node to power the PCIe physical slots.
> Because these regulators are not marked regulator-always-on, older kernels
> might fail to enable them, resulting in unpowered slots and complete device
> enumeration failure.
>
> Could these properties be kept in the host node as deprecated fallbacks,
> similar to how reset-gpio is handled here? The kernel regulator framework
> uses reference counting, which should safely handle multiple driver
> consumers.
As documented in Documentation/devicetree/bindings/ABI.rst, "a stable
binding means that a newer kernel will not break on an older device
tree, but that doesn't mean the binding is frozen for all time." The
compatibility guarantee is one-directional: new kernels must support
old DTS files, but old kernels are not required to work with new DTS
files.
The driver already preserves the legacy fallback path for this:
/* Legacy regulator handling for DT backward compatibility. */
if (imx_pcie->vpcie) {
ret = regulator_enable(imx_pcie->vpcie);
...
}
So a new kernel running with an old DTS that still has vpcie-supply on
the controller node will continue to work correctly.
Users are not expected to pair a new DTS with an old kernel. Doing so
would break in many other ways beyond this single property.
>
> > status = "okay";
> > };
> >
> > @@ -692,6 +690,8 @@ &pcie0_ep {
> >
> > &pcieb_port0 {
> > reset-gpios = <&lsio_gpio4 0 GPIO_ACTIVE_LOW>;
> > + vpcie3v3-supply = <®_pcieb>;
> > + vpcie3v3aux-supply = <®_pcieb>;
>
> [Severity: High]
> Does moving vpcie3v3aux-supply to the Root Port node break Wake-on-PCIe
> during system suspend?
>
> By delegating the lifecycle to the generic pci-pwrctrl framework, the regulator
> might be turned off during suspend. Looking at the pci-imx6.c driver, during
> system suspend dw_pcie_suspend_noirq() delegates to the host controller's
> deinit callback imx_pcie_host_exit().
>
> This unconditionally calls pci_pwrctrl_power_off_devices(pci->dev) without
> checking pci->pp.skip_pwrctrl_off, unlike other DWC drivers like pcie-qcom.
>
> If the pci-pwrctrl framework takes ownership and turns the regulator off, it
> would violate the PCIe hardware requirement to maintain Vaux for Wake-on-
> PCIe (PME from D3cold). Can we ensure the auxiliary supply remains active
> during suspend events?
This has been handled in this patch: https://lore.kernel.org/all/20260626023126.2189931-2-sherry.sun@oss.nxp.com/
Best Regards
Sherry
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH V4 7/7] arm64: dts: imx95: Move power supply properties to Root Port node
2026-06-30 6:07 [PATCH V4 0/7] PCI: imx6: Integrate pwrctrl API and update device trees Sherry Sun (OSS)
` (5 preceding siblings ...)
2026-06-30 6:07 ` [PATCH V4 6/7] arm64: dts: imx8dxl/qm/qxp: " Sherry Sun (OSS)
@ 2026-06-30 6:07 ` Sherry Sun (OSS)
2026-06-30 6:23 ` sashiko-bot
2026-06-30 15:31 ` [PATCH V4 0/7] PCI: imx6: Integrate pwrctrl API and update device trees Frank.Li
7 siblings, 1 reply; 24+ messages in thread
From: Sherry Sun (OSS) @ 2026-06-30 6:07 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, Frank.Li, s.hauer, kernel, festevam,
lpieralisi, kwilczynski, mani, bhelgaas, hongxing.zhu, l.stach
Cc: imx, linux-pci, linux-arm-kernel, devicetree, linux-kernel,
sherry.sun
From: Sherry Sun <sherry.sun@nxp.com>
Move the power supply properties from the PCIe controller nodes to the
Root Port child nodes to support the new PCI pwrctrl framework.
Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
---
arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts | 4 ++--
arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts b/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts
index 7d820a0f80b2..6aedcbbe915a 100644
--- a/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts
@@ -555,8 +555,6 @@ &pcie0 {
pinctrl-names = "default";
/* This property is deprecated, use reset-gpios from the Root Port node. */
reset-gpio = <&gpio5 13 GPIO_ACTIVE_LOW>;
- vpcie-supply = <®_m2_pwr>;
- vpcie3v3aux-supply = <®_m2_pwr>;
supports-clkreq;
status = "disabled";
};
@@ -570,6 +568,8 @@ &pcie0_ep {
&pcie0_port0 {
reset-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
+ vpcie3v3-supply = <®_m2_pwr>;
+ vpcie3v3aux-supply = <®_m2_pwr>;
};
&sai1 {
diff --git a/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts b/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts
index 2e463bc7c601..340ab0253ec2 100644
--- a/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts
@@ -542,8 +542,6 @@ &pcie0 {
pinctrl-names = "default";
/* This property is deprecated, use reset-gpios from the Root Port node. */
reset-gpio = <&i2c7_pcal6524 5 GPIO_ACTIVE_LOW>;
- vpcie-supply = <®_pcie0>;
- vpcie3v3aux-supply = <®_pcie0>;
supports-clkreq;
status = "okay";
};
@@ -557,6 +555,8 @@ &pcie0_ep {
&pcie0_port0 {
reset-gpios = <&i2c7_pcal6524 5 GPIO_ACTIVE_LOW>;
+ vpcie3v3-supply = <®_pcie0>;
+ vpcie3v3aux-supply = <®_pcie0>;
};
&pcie1 {
@@ -564,8 +564,6 @@ &pcie1 {
pinctrl-names = "default";
/* This property is deprecated, use reset-gpios from the Root Port node. */
reset-gpio = <&i2c7_pcal6524 16 GPIO_ACTIVE_LOW>;
- vpcie-supply = <®_slot_pwr>;
- vpcie3v3aux-supply = <®_slot_pwr>;
status = "okay";
};
@@ -578,6 +576,8 @@ &pcie1_ep {
&pcie1_port0 {
reset-gpios = <&i2c7_pcal6524 16 GPIO_ACTIVE_LOW>;
+ vpcie3v3-supply = <®_slot_pwr>;
+ vpcie3v3aux-supply = <®_slot_pwr>;
};
&sai1 {
--
2.50.1
^ permalink raw reply related [flat|nested] 24+ messages in thread* Re: [PATCH V4 7/7] arm64: dts: imx95: Move power supply properties to Root Port node
2026-06-30 6:07 ` [PATCH V4 7/7] arm64: dts: imx95: " Sherry Sun (OSS)
@ 2026-06-30 6:23 ` sashiko-bot
2026-06-30 8:44 ` Sherry Sun
0 siblings, 1 reply; 24+ messages in thread
From: sashiko-bot @ 2026-06-30 6:23 UTC (permalink / raw)
Cc: conor+dt, Frank.Li, imx, linux-pci, robh, devicetree
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Removing legacy power supply properties from the PCIe controller nodes breaks backwards compatibility for older kernels booting with the updated Device Tree.
--
commit 332f451afbc5374b9f81acdbad51ee15f1b90088
Author: Sherry Sun <sherry.sun@nxp.com>
arm64: dts: imx95: Move power supply properties to Root Port node
This commit moves power supply properties from the PCIe controller nodes to
the Root Port child nodes. This change is made to support the new PCI
pwrctrl framework.
> diff --git a/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts b/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts
> index 7d820a0f80b22..6aedcbbe915a5 100644
> --- a/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts
> +++ b/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts
> @@ -555,8 +555,6 @@ &pcie0 {
> pinctrl-names = "default";
> /* This property is deprecated, use reset-gpios from the Root Port node. */
> reset-gpio = <&gpio5 13 GPIO_ACTIVE_LOW>;
> - vpcie-supply = <®_m2_pwr>;
> - vpcie3v3aux-supply = <®_m2_pwr>;
[Severity: High]
Does removing these legacy power supply properties break backwards
compatibility for older kernels booting with this updated Device Tree?
Since older kernels lack the pwrctrl framework to handle the new Root Port
properties, they rely on finding vpcie-supply and vpcie3v3aux-supply in the
PCIe host node. Without them, the legacy pci-imx6 driver silently skips
enabling the power regulators, and PCIe initialization will fail because the
slot remains unpowered.
The reset-gpio property was intentionally left to preserve backward
compatibility, but removing the power supplies appears to defeat that
effort. Keeping the legacy regulator properties (even if marked as
deprecated) should be safe, as the kernel regulator framework uses reference
counting and allows both the legacy driver and the new pwrctrl framework to
concurrently enable the same regulator without conflict.
[ ... ]
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260630060710.3294811-1-sherry.sun@oss.nxp.com?part=7
^ permalink raw reply [flat|nested] 24+ messages in thread* RE: [PATCH V4 7/7] arm64: dts: imx95: Move power supply properties to Root Port node
2026-06-30 6:23 ` sashiko-bot
@ 2026-06-30 8:44 ` Sherry Sun
0 siblings, 0 replies; 24+ messages in thread
From: Sherry Sun @ 2026-06-30 8:44 UTC (permalink / raw)
To: sashiko-reviews@lists.linux.dev
Cc: conor+dt@kernel.org, Frank.Li@kernel.org, imx@lists.linux.dev,
linux-pci@vger.kernel.org, robh@kernel.org,
devicetree@vger.kernel.org
> Subject: Re: [PATCH V4 7/7] arm64: dts: imx95: Move power supply properties
> to Root Port node
>
> Thank you for your contribution! Sashiko AI review found 1 potential issue(s)
> to consider:
> - [High] Removing legacy power supply properties from the PCIe controller
> nodes breaks backwards compatibility for older kernels booting with the
> updated Device Tree.
> --
>
> commit 332f451afbc5374b9f81acdbad51ee15f1b90088
> Author: Sherry Sun <sherry.sun@nxp.com>
>
> arm64: dts: imx95: Move power supply properties to Root Port node
>
> This commit moves power supply properties from the PCIe controller nodes
> to the Root Port child nodes. This change is made to support the new PCI
> pwrctrl framework.
>
> > diff --git a/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts
> > b/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts
> > index 7d820a0f80b22..6aedcbbe915a5 100644
> > --- a/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts
> > +++ b/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts
> > @@ -555,8 +555,6 @@ &pcie0 {
> > pinctrl-names = "default";
> > /* This property is deprecated, use reset-gpios from the Root Port
> node. */
> > reset-gpio = <&gpio5 13 GPIO_ACTIVE_LOW>;
> > - vpcie-supply = <®_m2_pwr>;
> > - vpcie3v3aux-supply = <®_m2_pwr>;
>
> [Severity: High]
> Does removing these legacy power supply properties break backwards
> compatibility for older kernels booting with this updated Device Tree?
>
> Since older kernels lack the pwrctrl framework to handle the new Root Port
> properties, they rely on finding vpcie-supply and vpcie3v3aux-supply in the
> PCIe host node. Without them, the legacy pci-imx6 driver silently skips
> enabling the power regulators, and PCIe initialization will fail because the slot
> remains unpowered.
>
> The reset-gpio property was intentionally left to preserve backward
> compatibility, but removing the power supplies appears to defeat that effort.
> Keeping the legacy regulator properties (even if marked as
> deprecated) should be safe, as the kernel regulator framework uses reference
> counting and allows both the legacy driver and the new pwrctrl framework to
> concurrently enable the same regulator without conflict.
As documented in Documentation/devicetree/bindings/ABI.rst, "a stable
binding means that a newer kernel will not break on an older device
tree, but that doesn't mean the binding is frozen for all time." The
compatibility guarantee is one-directional: new kernels must support
old DTS files, but old kernels are not required to work with new DTS
files.
The driver already preserves the legacy fallback path for this:
/* Legacy regulator handling for DT backward compatibility. */
if (imx_pcie->vpcie) {
ret = regulator_enable(imx_pcie->vpcie);
...
}
So a new kernel running with an old DTS that still has vpcie-supply on
the controller node will continue to work correctly.
Users are not expected to pair a new DTS with an old kernel. Doing so
would break in many other ways beyond this single property.
The reset-gpio property was kept to avoid build break if pci patch and
dts patch are not merged together, this deprecated reset-gpio property
will be removed later.
Best Regards
Sherry
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH V4 0/7] PCI: imx6: Integrate pwrctrl API and update device trees
2026-06-30 6:07 [PATCH V4 0/7] PCI: imx6: Integrate pwrctrl API and update device trees Sherry Sun (OSS)
` (6 preceding siblings ...)
2026-06-30 6:07 ` [PATCH V4 7/7] arm64: dts: imx95: " Sherry Sun (OSS)
@ 2026-06-30 15:31 ` Frank.Li
2026-06-30 15:52 ` Frank Li
7 siblings, 1 reply; 24+ messages in thread
From: Frank.Li @ 2026-06-30 15:31 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, s.hauer, kernel, festevam, lpieralisi,
kwilczynski, mani, bhelgaas, hongxing.zhu, l.stach,
Sherry Sun (OSS)
Cc: Frank Li, imx, linux-pci, linux-arm-kernel, devicetree,
linux-kernel, sherry.sun
From: Frank Li <Frank.Li@nxp.com>
On Tue, 30 Jun 2026 14:07:03 +0800, Sherry Sun (OSS) wrote:
> From: Sherry Sun <sherry.sun@nxp.com>
>
> This series integrates the PCI pwrctrl framework into the pci-imx6
> driver and updates i.MX EVK board device trees to support it.
>
> Patches 2-8 update device trees for i.MX EVK boards which maintained
> by NXP to move power supply properties from the PCIe controller node
> to the Root Port child node, which is required for pwrctrl framework.
> Affected boards:
> - i.MX6Q/DL SABRESD
> - i.MX6SX SDB
> - i.MX8MM EVK
> - i.MX8MP EVK
> - i.MX8MQ EVK
> - i.MX8DXL/QM/QXP EVK
> - i.MX95 15x15/19x19 EVK
>
> [...]
Applied, thanks!
[1/7] arm: dts: imx6qdl-sabresd: Move power supply property to Root Port node
commit: b16fded592305f04ae40764f5fa91d5ac6f02a65
[2/7] arm: dts: imx6sx-sdb: Move power supply property to Root Port node
commit: a1af6cf5a6ce526ea41d4686fa14580a48b2e768
[3/7] arm64: dts: imx8mm-evk: Move power supply property to Root Port node
commit: b6a38d70bcbf0893ce5493f3daf0cb19e5102269
[4/7] arm64: dts: imx8mp-evk: Move power supply properties to Root Port node
commit: fde093c386a64c820a704abaab9ffd9ec738cd4d
[5/7] arm64: dts: imx8mq-evk: Move power supply properties to Root Port node
commit: 78610987333b0811a456f9a4782472fad00f4a19
[6/7] arm64: dts: imx8dxl/qm/qxp: Move power supply properties to Root Port node
commit: 240950f3ad76761066ffe399f62670321c1be1f1
[7/7] arm64: dts: imx95: Move power supply properties to Root Port node
commit: 6e53e8b854bc6f8330d07905b73e53ad02aff62b
Best regards,
--
Frank Li <Frank.Li@nxp.com>
^ permalink raw reply [flat|nested] 24+ messages in thread* Re: [PATCH V4 0/7] PCI: imx6: Integrate pwrctrl API and update device trees
2026-06-30 15:31 ` [PATCH V4 0/7] PCI: imx6: Integrate pwrctrl API and update device trees Frank.Li
@ 2026-06-30 15:52 ` Frank Li
2026-07-01 8:44 ` Sherry Sun
0 siblings, 1 reply; 24+ messages in thread
From: Frank Li @ 2026-06-30 15:52 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, s.hauer, kernel, festevam, lpieralisi,
kwilczynski, mani, bhelgaas, hongxing.zhu, l.stach,
Sherry Sun (OSS)
Cc: Frank Li, imx, linux-pci, linux-arm-kernel, devicetree,
linux-kernel, sherry.sun
On Tue, Jun 30, 2026 at 11:31:10AM -0400, Frank.Li@oss.nxp.com wrote:
> From: Frank Li <Frank.Li@nxp.com>
>
>
> On Tue, 30 Jun 2026 14:07:03 +0800, Sherry Sun (OSS) wrote:
> > From: Sherry Sun <sherry.sun@nxp.com>
> >
> > This series integrates the PCI pwrctrl framework into the pci-imx6
> > driver and updates i.MX EVK board device trees to support it.
> >
> > Patches 2-8 update device trees for i.MX EVK boards which maintained
> > by NXP to move power supply properties from the PCIe controller node
> > to the Root Port child node, which is required for pwrctrl framework.
> > Affected boards:
> > - i.MX6Q/DL SABRESD
> > - i.MX6SX SDB
> > - i.MX8MM EVK
> > - i.MX8MP EVK
> > - i.MX8MQ EVK
> > - i.MX8DXL/QM/QXP EVK
> > - i.MX95 15x15/19x19 EVK
> >
> > [...]
>
> Applied, thanks!
>
> [1/7] arm: dts: imx6qdl-sabresd: Move power supply property to Root Port node
> commit: b16fded592305f04ae40764f5fa91d5ac6f02a65
> [2/7] arm: dts: imx6sx-sdb: Move power supply property to Root Port node
> commit: a1af6cf5a6ce526ea41d4686fa14580a48b2e768
> [3/7] arm64: dts: imx8mm-evk: Move power supply property to Root Port node
> commit: b6a38d70bcbf0893ce5493f3daf0cb19e5102269
> [4/7] arm64: dts: imx8mp-evk: Move power supply properties to Root Port node
> commit: fde093c386a64c820a704abaab9ffd9ec738cd4d
> [5/7] arm64: dts: imx8mq-evk: Move power supply properties to Root Port node
> commit: 78610987333b0811a456f9a4782472fad00f4a19
> [6/7] arm64: dts: imx8dxl/qm/qxp: Move power supply properties to Root Port node
> commit: 240950f3ad76761066ffe399f62670321c1be1f1
> [7/7] arm64: dts: imx95: Move power supply properties to Root Port node
> commit: 6e53e8b854bc6f8330d07905b73e53ad02aff62b
Sorry, I have to drop again because miss consider back compatible problem.
All old platform, 1 - 6, need keep both under pcie and root port.
iMX95, you can move under root becasue it is new platform, it should be
fine to break compatible since development phase.
Frank
>
> Best regards,
> --
> Frank Li <Frank.Li@nxp.com>
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* RE: [PATCH V4 0/7] PCI: imx6: Integrate pwrctrl API and update device trees
2026-06-30 15:52 ` Frank Li
@ 2026-07-01 8:44 ` Sherry Sun
0 siblings, 0 replies; 24+ messages in thread
From: Sherry Sun @ 2026-07-01 8:44 UTC (permalink / raw)
To: Frank Li (OSS), robh@kernel.org, krzk+dt@kernel.org,
conor+dt@kernel.org, s.hauer@pengutronix.de,
kernel@pengutronix.de, festevam@gmail.com, lpieralisi@kernel.org,
kwilczynski@kernel.org, mani@kernel.org, bhelgaas@google.com,
Hongxing Zhu, l.stach@pengutronix.de, Sherry Sun (OSS)
Cc: Frank Li, imx@lists.linux.dev, linux-pci@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
> Subject: Re: [PATCH V4 0/7] PCI: imx6: Integrate pwrctrl API and update device
> trees
>
> On Tue, Jun 30, 2026 at 11:31:10AM -0400, Frank.Li@oss.nxp.com wrote:
> > From: Frank Li <Frank.Li@nxp.com>
> >
> >
> > On Tue, 30 Jun 2026 14:07:03 +0800, Sherry Sun (OSS) wrote:
> > > From: Sherry Sun <sherry.sun@nxp.com>
> > >
> > > This series integrates the PCI pwrctrl framework into the pci-imx6
> > > driver and updates i.MX EVK board device trees to support it.
> > >
> > > Patches 2-8 update device trees for i.MX EVK boards which maintained
> > > by NXP to move power supply properties from the PCIe controller node
> > > to the Root Port child node, which is required for pwrctrl framework.
> > > Affected boards:
> > > - i.MX6Q/DL SABRESD
> > > - i.MX6SX SDB
> > > - i.MX8MM EVK
> > > - i.MX8MP EVK
> > > - i.MX8MQ EVK
> > > - i.MX8DXL/QM/QXP EVK
> > > - i.MX95 15x15/19x19 EVK
> > >
> > > [...]
> >
> > Applied, thanks!
> >
> > [1/7] arm: dts: imx6qdl-sabresd: Move power supply property to Root Port
> node
> > commit: b16fded592305f04ae40764f5fa91d5ac6f02a65
> > [2/7] arm: dts: imx6sx-sdb: Move power supply property to Root Port node
> > commit: a1af6cf5a6ce526ea41d4686fa14580a48b2e768
> > [3/7] arm64: dts: imx8mm-evk: Move power supply property to Root Port
> node
> > commit: b6a38d70bcbf0893ce5493f3daf0cb19e5102269
> > [4/7] arm64: dts: imx8mp-evk: Move power supply properties to Root Port
> node
> > commit: fde093c386a64c820a704abaab9ffd9ec738cd4d
> > [5/7] arm64: dts: imx8mq-evk: Move power supply properties to Root Port
> node
> > commit: 78610987333b0811a456f9a4782472fad00f4a19
> > [6/7] arm64: dts: imx8dxl/qm/qxp: Move power supply properties to Root
> Port node
> > commit: 240950f3ad76761066ffe399f62670321c1be1f1
> > [7/7] arm64: dts: imx95: Move power supply properties to Root Port node
> > commit: 6e53e8b854bc6f8330d07905b73e53ad02aff62b
>
> Sorry, I have to drop again because miss consider back compatible problem.
>
> All old platform, 1 - 6, need keep both under pcie and root port.
>
> iMX95, you can move under root becasue it is new platform, it should be fine
> to break compatible since development phase.
>
Hi Frank,
Ok. Will keep the old vpcie-supply and vpcie3v3aux-supply in the parent PCIe
controller node for patch 1-6.
Best Regards
Sherry
^ permalink raw reply [flat|nested] 24+ messages in thread