Re: [PATCH 2/4] dt-bindings: clock: Convert ti,sci-clk to json schema
From: Nishanth Menon
Date: Thu Apr 22 2021 - 10:09:54 EST
On 17:31-20210421, Rob Herring wrote:
[...]
> > > > +allOf:
> > > > + - $ref: /schemas/clock/clock.yaml#
> > >
> > > Is this needed?
>
> No. It is already applied to every node.
>
> > https://github.com/devicetree-org/dt-schema/blob/master/schemas/clock/clock.yaml
> > This standardizes provider properties like '#clock-cells' etc, allowing
> > you to add more stricter checks or controls in the future if necessary.
> >
> > while:
> >
> > https://github.com/devicetree-org/dt-schema/blob/master/meta-schemas/clocks.yaml
> > is more a consumer node description.
>
> No, the meta-schema is what checks the schemas just as the schemas check
> dts files.
I will drop and respin. thanks for explaining.
>
> > Should I have picked a different yaml as base for a standard clock-controller
> > base?
> >
> > >
> > > > +
> > > > +description: |
> > > > + Some TI SoCs contain a system controller (like the Power Management Micro
> > > > + Controller (PMMC) on Keystone 66AK2G SoC) that are responsible for controlling
> > > > + the state of the various hardware modules present on the SoC. Communication
> > > > + between the host processor running an OS and the system controller happens
> > > > + through a protocol called TI System Control Interface (TI-SCI protocol).
> > > > +
> > > > + This clock controller node uses the TI SCI protocol to perform various clock
> > > > + management of various hardware modules (devices) present on the SoC. This
> > > > + node must be a child node of the associated TI-SCI system controller node.
> > > > +
> > > > +properties:
> > > > + $nodename:
> > > > + pattern: "^clock-controller$"
> > >
> > > Is this nodename pattern check required?
> >
> > I'd like the definition on rails and not subject to interpretation, and
> > restrict the kind of subnodes under TISCI controller node.
>
> If this schema was standalone and not defined as part of another, then
> yes it would be required. In your case, you can enforce the node name
> from the parent schema. For consistency though, it would be better to
> just always require $nodename.
>
> Actually, this schema will be applied twice. On it's own matching the
> compatible string and by the parent schema. You can prevent that with
> 'select: false'. I don't mind the double validation as if the parent
> node had a compatible typo you'd get zero validation.
Sure. I will keep nodename.
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D)/Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D