Hello Rob,
On Fri, Nov 1, 2024 at 6:39 PM Rob Herring <robh@kernel.org> wrote:
>
> On Mon, Oct 28, 2024 at 11:25:24AM +0100, Dario Binacchi wrote:
> > This property lists the state of the power domains, indicating whether
> > they have been left on or off by the bootloader/firmware.
> > This information becomes relevant, for example, in the case of supporting
> > the simple framebuffer.
> >
> > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> > ---
> >
> > .../bindings/soc/imx/fsl,imx8mn-disp-blk-ctrl.yaml | 9 +++++++++
> > 1 file changed, 9 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mn-disp-blk-ctrl.yaml b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mn-disp-blk-ctrl.yaml
> > index eeec9965b091..00aa0b8d8ea9 100644
> > --- a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mn-disp-blk-ctrl.yaml
> > +++ b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mn-disp-blk-ctrl.yaml
> > @@ -56,6 +56,15 @@ properties:
> > - const: csi-aclk
> > - const: csi-pclk
> >
> > + fsl,power-domains-boot-on:
> > + description: |
> > + Provide the on/off (1/0) status of the power domains. It allows
> > + specifying whether one or more power domains have already been
> > + initialized and left powered on by the bootloader.
>
> Sounds like a common problem *if* we wanted to fix it in DT.
>
> Why can't you just read the h/w registers to see which domains are
> powered on? Perhaps because some are on, but you want to turn them off.
I checked, but there is no register on this platform that indicates
the on/off status
of the power domain. So, I cannot readout the power domain state.
>
> Also, for simple-framebuffer, I think you can list the power-domains to
> keep on.
I did it; I added the power domains in the simple-framebuffer node, but this
doesn’t prevent the genpd.power_on() callback from being called. And when
this callback is called, the power domain is re-initialized, which does not
maintain the persistence of the image on the display. Adding this DTS property
prevents re-initialization that has already been performed by the bootloader.
Thanks and regards,
Dario
>
> Rob
>
>
--
Dario Binacchi
Senior Embedded Linux Developer
dario.binacchi@amarulasolutions.com
__________________________________
Amarula Solutions SRL
Via Le Canevare 30, 31100 Treviso, Veneto, IT
T. +39 042 243 5310
info@amarulasolutions.com
www.amarulasolutions.com