Hi Max, On Thu, Jun 9, 2022 at 5:16 PM Max Krummenacher <max.oss.09@xxxxxxxxx> wrote: > From: Max Krummenacher <max.krummenacher@xxxxxxxxxxx> > > The Verdin CTRL_SLEEP_MOCI# pin signals the carrier board that the module > is in sleep and it may switch off unneeded power. > > Control this pin with a regulator power domain controller which uses a > fixed regulator with a gpio enable. > > Signed-off-by: Max Krummenacher <max.krummenacher@xxxxxxxxxxx> Thanks for your patch! > --- a/arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi > +++ b/arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi > @@ -92,6 +92,7 @@ > > /* Verdin PCIE_1 */ > &pcie0 { > + power-domains = <&pd_sleep_moci>; This overrides "power-domains = <&pgc_pcie>;" from imx8mm.dtsi... > status = "okay"; > }; > --- a/arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi > +++ b/arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi > @@ -53,6 +53,14 @@ > }; > }; > > + pd_sleep_moci: power-domain-sleep-moci { > + compatible = "regulator-pm-pd"; > + label = "pd_sleep_moci"; > + power-domains = <&pgc_pcie>; ... and here you work around that by re-binding <&pgc_pcie>. I think you: 1. must not override the power-domains property for pcie0, as conceptually, the PCIe bus is still in the on-SoC power domain. What if some lanes are connected to devices in pd_sleep_moci, but other lanes are not? 2. should only use pd_sleep_moci for the off-chip devices that are actually controlled by the corresponding regulator. > + power-supply = <®_sleep_moci>; > + #power-domain-cells = <0>; > + }; > + > /* Carrier Board Supplies */ > reg_1p8v: regulator-1p8v { > compatible = "regulator-fixed"; Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds