devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Rob Herring <robh+dt@kernel.org>
Cc: dri-devel <dri-devel@lists.freedesktop.org>,
	Michal Simek <michal.simek@xilinx.com>,
	Hyun Kwon <hyun.kwon@xilinx.com>,
	Satish Kumar Nagireddy <SATISHNA@xilinx.com>,
	devicetree@vger.kernel.org
Subject: Re: [PATCH v9 1/4] dt-bindings: display: xlnx: Add ZynqMP DP subsystem bindings
Date: Fri, 8 Nov 2019 16:07:33 +0200	[thread overview]
Message-ID: <20191108140733.GJ4866@pendragon.ideasonboard.com> (raw)
In-Reply-To: <CAL_JsqJTPzXkoyhTwWtc_Rsb5tkY-kggXhJj67EfcYgEk5tq=A@mail.gmail.com>

Hi Rob,

On Thu, Sep 26, 2019 at 09:57:29AM -0500, Rob Herring wrote:
> On Thu, Sep 26, 2019 at 9:23 AM Laurent Pinchart wrote:
> > 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@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@xilinx.com>
> > > > Signed-off-by: Laurent Pinchart <laurent.pinchart@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@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 ]

The above would make

	clock-names = "dp_apb_clk", "dp_vtc_pixel_clk_in", "dp_vtc_pixel_clk_in";

valid. I've investigated a little bit and found uniqueItems which solves
my issue.

Would the following simpler solution be acceptable ?

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

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

Speaking of which, there doesn't seem to be anything that validates the
size of clocks and clock-names being identical. Is that a known issue ?

-- 
Regards,

Laurent Pinchart

  reply	other threads:[~2019-11-08 14:07 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20190925235544.11524-1-laurent.pinchart@ideasonboard.com>
2019-09-25 23:55 ` [PATCH v9 1/4] dt-bindings: display: xlnx: Add ZynqMP DP subsystem bindings Laurent Pinchart
2019-09-26 14:15   ` Rob Herring
2019-09-26 14:23     ` Laurent Pinchart
2019-09-26 14:57       ` Rob Herring
2019-11-08 14:07         ` Laurent Pinchart [this message]
2019-11-08 14:10           ` Laurent Pinchart
2019-11-08 14:31             ` Laurent Pinchart
2019-11-08 15:57               ` Rob Herring
2019-11-08 16:01                 ` Laurent Pinchart
2019-11-08 16:12                   ` Laurent Pinchart
2019-11-08 16:15                     ` Laurent Pinchart
2019-11-08 17:11                       ` Rob Herring

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191108140733.GJ4866@pendragon.ideasonboard.com \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=SATISHNA@xilinx.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hyun.kwon@xilinx.com \
    --cc=michal.simek@xilinx.com \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).