[RFC PATCH v1 5/5] ARM64: verdin-imx8mm: use regulator power domain to model sleep-moci
Max Krummenacher
max.oss.09 at gmail.com
Wed Jun 15 08:32:43 PDT 2022
Hi
On Tue, Jun 14, 2022 at 9:29 AM Geert Uytterhoeven <geert at linux-m68k.org> wrote:
>
> Hi Max,
>
> On Thu, Jun 9, 2022 at 5:16 PM Max Krummenacher <max.oss.09 at gmail.com> wrote:
> > From: Max Krummenacher <max.krummenacher at toradex.com>
> >
> > 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 at toradex.com>
>
> 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.
I fully agree.
I wanted to send along the implementation commits for the power
domain controller something which actually uses it and which
did work in my testing.
That is why I marked this as RFC and I know that more
work is needed.
Cheers
Max
>
> > + 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 at linux-m68k.org
>
> 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
More information about the linux-arm-kernel
mailing list