On Mon, Oct 06, 2014 at 03:53:58PM +0200, Boris Brezillon wrote: > On Mon, 6 Oct 2014 14:35:06 +0200 > Thierry Reding <thierry.reding@xxxxxxxxx> wrote: > > > On Mon, Oct 06, 2014 at 02:14:40PM +0200, Boris Brezillon wrote: > > > On Mon, 6 Oct 2014 12:54:34 +0200 > > > Thierry Reding <thierry.reding@xxxxxxxxx> wrote: > > > > > > > On Wed, Oct 01, 2014 at 04:53:03PM +0200, Boris Brezillon wrote: > > > > > From: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> > > > > > > > > > > The Atmel HLCDC (HLCD Controller) IP available on some Atmel SoCs (i.e. > > > > > at91sam9n12, at91sam9x5 family or sama5d3 family) provides a display > > > > > controller device. > > > > > > > > > > The HLCDC block provides a single RGB output port, and only supports LCD > > > > > panels connection to LCD panels for now. > > > > > > > > > > The atmel,panel property link the HLCDC RGB output with the LCD panel > > > > > connected on this port (note that the HLCDC RGB connector implementation > > > > > makes use of the DRM panel framework). > > > > > > > > > > Connection to other external devices (DRM bridges) might be added later by > > > > > mean of a new atmel,xxx (atmel,bridge) property. > > > > > > > > > > Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> > > > > > --- > > > > > .../devicetree/bindings/drm/atmel-hlcdc-dc.txt | 53 ++++++++++++++++++++++ > > > > > 1 file changed, 53 insertions(+) > > > > > create mode 100644 Documentation/devicetree/bindings/drm/atmel-hlcdc-dc.txt > > > > > > > > > > diff --git a/Documentation/devicetree/bindings/drm/atmel-hlcdc-dc.txt b/Documentation/devicetree/bindings/drm/atmel-hlcdc-dc.txt > > > > > new file mode 100644 > > > > > index 0000000..ebc1a91 > > > > > --- /dev/null > > > > > +++ b/Documentation/devicetree/bindings/drm/atmel-hlcdc-dc.txt > > > > > @@ -0,0 +1,53 @@ > > > > > +Device-Tree bindings for Atmel's HLCDC (High LCD Controller) DRM driver > > > > > + > > > > > +The Atmel HLCDC Display Controller is subdevice of the HLCDC MFD device. > > > > > +See ../mfd/atmel-hlcdc.txt for more details. > > > > > + > > > > > +Required properties: > > > > > + - compatible: value should be "atmel,hlcdc-display-controller" > > > > > + - pinctrl-names: the pin control state names. Should contain "default". > > > > > + - pinctrl-0: should contain the default pinctrl states. > > > > > + - #address-cells: should be set to 1. > > > > > + - #size-cells: should be set to 0. > > > > > + > > > > > +Required children nodes: > > > > > + Children nodes are encoding available output ports and their connections > > > > > + to external devices using the OF graph reprensentation (see ../graph.txt). > > > > > + At least one port node is required. > > > > > > > > Are the connections configurable at runtime? Does the SoC have IP blocks > > > > for HDMI or other types of outputs or does it provide only RGB output to > > > > external blocks? > > > > > > No, there's only one RGB output port, but you can connect more than one > > > device on the RGB port (should we call it DPI port ?). > > > Actually Atmel connected an HDMI encoder and an LCD panel connected on > > > the same port on their dev kit. > > > > This was discussed in some other thread if I remember correctly. I still > > think that the HLCDC node should only contain a single output, no matter > > how many encoders or panels get connected. > > > > So the output represents the set of signals that exit the IP block, but > > what's connected to them on the board is a board-level detail and > > therefore should go into the board DTS. > > > > In the above case of the Atmel devkit, is there any way to control where > > the signal goes or does it just go to both the panel and HDMI encoder at > > the same time and it's up to the user to properly configure the output > > in order to get either HDMI or panel to display anything? > > No there's no way to control where the signal goes. > What you can control though, is the activation of the associated > encoder/connectors connected on this bus (using dpms). But the bus is really only the CRTC, so using DPMS for this is not how it's usually done in DRM. Can't you model both outputs as separate encoders and then attach them to the CRTC? This should work automatically for the framebuffer console and any userspace that can talk KMS. Perhaps that's already what's being done and I misunderstand what you're saying. I should go back to reviewing the DRM driver. I started this morning, then got interrupted by other things. Thierry
Attachment:
pgpzJr6O4JxFb.pgp
Description: PGP signature