[PATCH v9 1/4] dt-bindings: display: xlnx: Add ZynqMP DP subsystem bindings

Rob Herring robh+dt at kernel.org
Thu Sep 26 14:57:29 UTC 2019


On Thu, Sep 26, 2019 at 9:23 AM Laurent Pinchart
<laurent.pinchart at ideasonboard.com> wrote:
>
> Hi Rob,
>
> On Thu, Sep 26, 2019 at 09:15:01AM -0500, Rob Herring wrote:
> > On Wed, Sep 25, 2019 at 6:56 PM Laurent Pinchart wrote:
> > >
> > > From: Hyun Kwon <hyun.kwon at xilinx.com>
> > >
> > > The bindings describe the ZynqMP DP subsystem. They don't support the
> > > interface with the programmable logic (FPGA) or audio yet.
> > >
> > > Signed-off-by: Hyun Kwon <hyun.kwon at xilinx.com>
> > > Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > > ---
> > > Changes since v8:
> > >
> > > - Convert to yaml
> > > - Rename aclk to dp_apb_clk
> >
> > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/xlnx/xlnx,zynqmp-dpsub.example.dt.yaml:
> > display at fd4a0000: clock-names:2: 'dp_vtc_pixel_clk_in' was expected
>
> If you allow me to steal a bit of your brain time, could you help me
> expressing the clocks constraint ?
>
>   clocks:
>     description:
>       The AXI clock and at least one video clock are mandatory, the audio clock
>       optional.
>     minItems: 2
>     maxItems: 4
>     items:
>       - description: AXI clock
>       - description: Audio clock
>       - description: Non-live video clock (from Processing System)
>       - description: Live video clock (from Programmable Logic)
>   clock-names:
>     minItems: 2
>     maxItems: 4
>     items:
>       - const: dp_apb_clk
>       - const: dp_aud_clk
>       - const: dp_vtc_pixel_clk_in
>       - const: dp_live_video_in_clk
>
> dp_apb_clk is required, dp_aud_clk is optional, and at least one of
> dp_vtc_pixel_clk_in and dp_live_video_in_clk is required.

I'm hoping people's inability to express the schema will prevent
complicated ones like this in the first place...

clock-names:
  oneOf:
    - minItems: 3
      maxItems: 4
      items:
        - const: dp_apb_clk
        - const: dp_aud_clk
        - enum: [ dp_vtc_pixel_clk_in, dp_live_video_in_clk ]
        - enum: [ dp_vtc_pixel_clk_in, dp_live_video_in_clk ]
    - minItems: 2
      maxItems: 3
      items:
        - const: dp_apb_clk
        - enum: [ dp_vtc_pixel_clk_in, dp_live_video_in_clk ]
        - enum: [ dp_vtc_pixel_clk_in, dp_live_video_in_clk ]

Strictly speaking, that leaves items clocks wrong, but 'description'
doesn't do anything. So I'd just leave it as is.

Rob


More information about the dri-devel mailing list