Re: [PATCH 4/6] dt-bindings: display: armada: Add display subsystem binding

From: Lubomir Rintel
Date: Mon Jan 21 2019 - 10:46:32 EST


On Mon, 2019-01-21 at 09:35 -0600, Rob Herring wrote:
> On Sun, Jan 20, 2019 at 11:26 AM Lubomir Rintel <lkundrak@xxxxx> wrote:
> > The Marvell Armada DRM master device is a virtual device needed to list all
> > nodes that comprise the graphics subsystem.
> >
> > Signed-off-by: Lubomir Rintel <lkundrak@xxxxx>
> > ---
> > .../display/armada/marvell-armada-drm.txt | 24 +++++++++++++++++++
> > 1 file changed, 24 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/display/armada/marvell-armada-drm.txt b/Documentation/devicetree/bindings/display/armada/marvell-armada-drm.txt
> > index de4cca9432c8..3dbfa8047f0b 100644
> > --- a/Documentation/devicetree/bindings/display/armada/marvell-armada-drm.txt
> > +++ b/Documentation/devicetree/bindings/display/armada/marvell-armada-drm.txt
> > @@ -1,3 +1,27 @@
> > +Marvell Armada DRM master device
> > +================================
> > +
> > +The Marvell Armada DRM master device is a virtual device needed to list all
> > +nodes that comprise the graphics subsystem.
> > +
> > +Required properties:
> > +
> > + - compatible: value should be "marvell,dove-display-subsystem",
> > + "marvell,armada-display-subsystem"
> > + - ports: a list of phandles pointing to display interface ports of CRTC
> > + devices
> > + - memory-region: phandle to a node describing memory to be used for the
> > + framebuffer
> > +
> > +Example:
> > +
> > + display-subsystem {
> > + compatible = "marvell,dove-display-subsystem",
> > + "marvell,armada-display-subsystem";
> > + memory-region = <&display_reserved>;
> > + ports = <&lcd0_port>;
>
> If there is only one device, you don't need this virtual node.

By "one device" you mean one LCD controller (CRTC)?

I suppose in the (single CRTC) example case, the display-subsystem node
used to associate it with the memory region reserved for allocating the
frame buffers from. Could that be done differently?

Also, if the node is indeed made optional, then it's going to
complicate things on the DRM side. Currently the driver that binds to
the node creates the DRM device once it sees all the components
connected to the ports appear. If we loose it, then the LCD controller
driver would somehow need to find out that it's alone and create the
DRM device itself.

Thank you
Lubo

>
>
> > + };
> > +
> > Marvell Armada LCD controller
> > =============================
> >
> > --
> > 2.20.1
> >