RE: [PATCH V8 06/13] arm: dts: imx6qdl: Add Root Port node and PERST property

From: Sherry Sun

Date: Fri Mar 13 2026 - 03:18:12 EST


> On Fri, Mar 13, 2026 at 10:08 AM Sherry Sun <sherry.sun@xxxxxxx> wrote:
> >
> > Since describing the PCIe PERST# property under Host Bridge node is
> > now deprecated, it is recommended to add it to the Root Port node, so
> > creating the Root Port node and add the reset-gpios property in Root
> > Port.
> >
> > Signed-off-by: Sherry Sun <sherry.sun@xxxxxxx>
> > ---
> > arch/arm/boot/dts/nxp/imx/imx6qdl-sabresd.dtsi | 5 +++++
> > arch/arm/boot/dts/nxp/imx/imx6qdl.dtsi | 11 +++++++++++
> > arch/arm/boot/dts/nxp/imx/imx6qp-sabreauto.dts | 5 +++++
> > 3 files changed, 21 insertions(+)
> >
> > diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-sabresd.dtsi
> > b/arch/arm/boot/dts/nxp/imx/imx6qdl-sabresd.dtsi
> > index ba29720e3f72..fe9046c03ddd 100644
> > --- a/arch/arm/boot/dts/nxp/imx/imx6qdl-sabresd.dtsi
> > +++ b/arch/arm/boot/dts/nxp/imx/imx6qdl-sabresd.dtsi
> > @@ -754,11 +754,16 @@ lvds0_out: endpoint { &pcie {
> > pinctrl-names = "default";
> > pinctrl-0 = <&pinctrl_pcie>;
> > + /* This property is deprecated, use reset-gpios from the Root
> > + Port node. */
> > reset-gpio = <&gpio7 12 GPIO_ACTIVE_LOW>;
>
> I'd say just remove the old description.
>
> You're asking for trouble by describing the same thing in two different places.

Hi Chen-Yu,
Thanks for the comments, actually this topic has been discussed in V1 and V3, the
conclusion is to add a comment here to avoid confusion, will remove the deprecated
reset-gpio property together with this comment after the pci part driver merged.
https://lore.kernel.org/linux-devicetree/aW+x9eA1I%2FnGdAL9@lizhi-Precision-Tower-5810/
https://lore.kernel.org/linux-devicetree/aYNkDWt89b26wJWf@lizhi-Precision-Tower-5810/

>
> > vpcie-supply = <&reg_pcie>;
>
> I would probably also take this chance to just convert to the proper PCI slot
> supply, and just add pwrctrl support into your PCIe driver.

Yes, this is my initial idea, you can find these info and my next step plan in the
patch set cover letter. This patch set adds the basic implementation to parse
Root Port device tree nodes first. Once the patches are accepted, I will start
work on the pwrctrl support. Thanks!

Best Regards
Sherry

>
>
> > status = "okay";
> > };
> >
> > +&pcie_port0 {
> > + reset-gpios = <&gpio7 12 GPIO_ACTIVE_LOW>; };
> > +
> > &pwm1 {
> > pinctrl-names = "default";
> > pinctrl-0 = <&pinctrl_pwm1>;
> > diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl.dtsi
> > b/arch/arm/boot/dts/nxp/imx/imx6qdl.dtsi
> > index 4dc2c410cf61..9438862b9927 100644
> > --- a/arch/arm/boot/dts/nxp/imx/imx6qdl.dtsi
> > +++ b/arch/arm/boot/dts/nxp/imx/imx6qdl.dtsi
> > @@ -302,6 +302,17 @@ pcie: pcie@1ffc000 {
> > <&clks IMX6QDL_CLK_PCIE_REF_125M>;
> > clock-names = "pcie", "pcie_bus", "pcie_phy";
> > status = "disabled";
> > +
> > + pcie_port0: pcie@0 {
> > + compatible = "pciclass,0604";
> > + device_type = "pci";
> > + reg = <0x0 0x0 0x0 0x0 0x0>;
> > + bus-range = <0x01 0xff>;
> > +
> > + #address-cells = <3>;
> > + #size-cells = <2>;
> > + ranges;
> > + };
> > };
> >
> > aips1: bus@2000000 { /* AIPS1 */ diff --git
> > a/arch/arm/boot/dts/nxp/imx/imx6qp-sabreauto.dts
> > b/arch/arm/boot/dts/nxp/imx/imx6qp-sabreauto.dts
> > index c5b220aeaefd..6b12cab7175f 100644
> > --- a/arch/arm/boot/dts/nxp/imx/imx6qp-sabreauto.dts
> > +++ b/arch/arm/boot/dts/nxp/imx/imx6qp-sabreauto.dts
> > @@ -45,10 +45,15 @@ MX6QDL_PAD_GPIO_6__ENET_IRQ 0x000b1
> > };
> >
> > &pcie {
> > + /* This property is deprecated, use reset-gpios from the Root
> > + Port node. */
> > reset-gpio = <&max7310_c 5 GPIO_ACTIVE_LOW>;
> > status = "okay";
> > };
> >
> > +&pcie_port0 {
> > + reset-gpios = <&max7310_c 5 GPIO_ACTIVE_LOW>; };
> > +
> > &sata {
> > status = "okay";
> > };
> > --
> > 2.37.1
> >
> >