Re: [RESEND PATCHv4 01/14] dt-bindings: remoteproc: Add OMAP remoteproc bindings

From: Rob Herring
Date: Tue Jan 07 2020 - 10:48:52 EST


On Tue, Jan 7, 2020 at 5:01 AM Tero Kristo <t-kristo@xxxxxx> wrote:
>
> On 04/01/2020 01:38, Rob Herring wrote:
> > On Thu, Jan 02, 2020 at 03:25:12PM +0200, Tero Kristo wrote:
> >> From: Suman Anna <s-anna@xxxxxx>
> >>
> >> Add the device tree bindings document for the IPU and DSP
> >> remote processor devices on OMAP4+ SoCs.
> >>
> >> Cc: Rob Herring <robh@xxxxxxxxxx>
> >> Cc: devicetree@xxxxxxxxxxxxxxx
> >> Signed-off-by: Suman Anna <s-anna@xxxxxx>
> >> [t-kristo@xxxxxx: converted to schema]
> >> Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
> >> ---
> >> v4: added ti,bootreg-shift and ti,autosuspend-delay properties
> >>
> >> .../remoteproc/ti,omap-remoteproc.yaml | 329 ++++++++++++++++++
> >> 1 file changed, 329 insertions(+)
> >> create mode 100644 Documentation/devicetree/bindings/remoteproc/ti,omap-remoteproc.yaml


> >> + reg:
> >> + description: |
> >> + Address space for any remoteproc memories present on
> >> + the SoC. Should contain an entry for each value in
> >> + 'reg-names'. These are mandatory for all DSP and IPU
> >> + processors that have them (OMAP4/OMAP5 DSPs do not have
> >> + any RAMs)
> >> +
> >> + reg-names:
> >> + description: |
> >> + Required names for each of the address spaces defined in
> >> + the 'reg' property. Should contain a string from among
> >> + the following names, each representing the corresponding
> >> + internal RAM memory region.
> >
> > The schema is more constrained than 'a string from among the following
> > names'. 'l2ram' is the only valid 1st entry for example.
>
> Right, I wasn't able to figure out a way to make the schema more
> flexible, so I will just modify the description above.

The goal is somewhat to not be flexible as we want the possible
combinations defined. If it is a manageable number of combinations,
just list them out under a 'oneOf'.

Not encouraged, but it is possible to define any length and order of
values (note 'items' is not a list here):

items:
enum: [ ... ]

Rob