Hello Rob, On Fri, Nov 1, 2024 at 6:39 PM Rob Herring <robh@xxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxx> > > --- > > > > .../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@xxxxxxxxxxxxxxxxxxxx __________________________________ Amarula Solutions SRL Via Le Canevare 30, 31100 Treviso, Veneto, IT T. +39 042 243 5310 info@xxxxxxxxxxxxxxxxxxxx www.amarulasolutions.com