[PATCH 01/10] dt-bindings: display: xlnx: Add Xilinx kms bindings
Hyun Kwon
hyunk at xilinx.com
Thu Jan 11 19:22:45 UTC 2018
Hi Rob,
> -----Original Message-----
> From: Rob Herring [mailto:robh at kernel.org]
> Sent: Thursday, January 11, 2018 6:43 AM
> To: Hyun Kwon <hyunk at xilinx.com>
> Cc: dri-devel at lists.freedesktop.org; devicetree at vger.kernel.org; Michal
> Simek <michal.simek at xilinx.com>
> Subject: Re: [PATCH 01/10] dt-bindings: display: xlnx: Add Xilinx kms
> bindings
>
> On Wed, Jan 10, 2018 at 8:04 PM, Hyun Kwon <hyunk at xilinx.com> wrote:
> > Hi Rob,
> >
> > Thanks for the feedback.
> >
> >> -----Original Message-----
> >> From: Rob Herring [mailto:robh at kernel.org]
> >> Sent: Monday, January 08, 2018 8:00 PM
> >> To: Hyun Kwon <hyunk at xilinx.com>
> >> Cc: dri-devel at lists.freedesktop.org; devicetree at vger.kernel.org; Michal
> >> Simek <michal.simek at xilinx.com>
> >> Subject: Re: [PATCH 01/10] dt-bindings: display: xlnx: Add Xilinx kms
> >> bindings
> >>
> >> On Thu, Jan 04, 2018 at 06:05:50PM -0800, Hyun Kwon wrote:
> >> > The dt binding for Xilinx DRM KMS driver.
> >>
> >> Bindings are for h/w, not drivers.
> >
> > I'll rephrase this.
> >
> >>
> >> >
> >> > Signed-off-by: Hyun Kwon <hyun.kwon at xilinx.com>
> >> > ---
> >> > .../devicetree/bindings/display/xlnx/xlnx,kms.txt | 20
> >> ++++++++++++++++++++
> >> > 1 file changed, 20 insertions(+)
> >> > create mode 100644
> >> Documentation/devicetree/bindings/display/xlnx/xlnx,kms.txt
> >> >
> >> > diff --git
> a/Documentation/devicetree/bindings/display/xlnx/xlnx,kms.txt
> >> b/Documentation/devicetree/bindings/display/xlnx/xlnx,kms.txt
> >> > new file mode 100644
> >> > index 0000000..8dcd552
> >> > --- /dev/null
> >> > +++ b/Documentation/devicetree/bindings/display/xlnx/xlnx,kms.txt
> >> > @@ -0,0 +1,20 @@
> >> > +Xilinx KMS Pipeline
> >> > +-------------------
> >> > +
> >> > +Xilinx display pipelines can be designed with hardened video IPs and
> soft
> >> video
> >> > +IPs in programmable logic. This KMS module provides the common
> >> functionality
> >> > +of individual subdevice drivers, and glue logics between them.
> >> > +
> >> > +Required properties:
> >> > +
> >> > +- compatible: Must be "xlnx,kms".
> >
> > I'll also rephrase the description and rename this to xlnx,display.
> >
> >> > +
> >> > +- ports: phandles for CRTC ports, using the DT bindings defined in
> >> > + Documentation/devicetree/bindings/graph.txt.
> >>
> >> This use of ports is not part of the graph binding.
> >
> > I'll add more details in the description.
> >
> >>
> >> > +
> >> > +Example:
> >> > +
> >> > + xlnx_drm: xlnx_drm {
> >> > + compatible = "xlnx,kms";
> >>
> >> drm and kms are Linuxisms.
> >
> > I agree. I'll remove linux subsystem specific terms.
> >
> >>
> >> Why do you need this node?
> >
> > This node is used to represent a display pipeline as a single entity, which
> can consist of multiple components / IPs. I'll elaborate more per your
> suggestion.
>
> You generally don't need that. Just have the DRM driver match with the
> first block in the display pipeline. Then use the OF graph to connect
> to the other components in the pipeline. It would help to have a block
> diagram showing the data pipelines and h/w blocks.
>
Some examples are as following. In simple case, a pipeline is linear with multiple blocks:
ZynqMP DisplayPort pipeline:
ZynqMP DMA -> ZynqMP Display controller -> ZynqMP DP encoder
FPGA display pipeline where each block comes as a separate device:
FPGA DMA -> FPGA mixer -> FPGA HDMI encoder
It gets more interesting as those can be mixed:
ZynqMP DMA -> ZynqMP Display controller -> ZynqMP DP encoder
|
FPAG DMA ->
or
ZynqMP DMA -> ZynqMP Display controller -> ZynqMP DP encoder
|
-> FPGA HDMI encoder
Or even,
ZynqMP DMA -> ZynqMP Display controller -> ZynqMP DP encoder
| |
FPAG DMA -> FPGA mixer -> -> FPGA HDMI encoder
This node is representation of such variations as a single pipeline device.
Thanks,
-hyun
> Rob
More information about the dri-devel
mailing list