Re: [PATCH 2/4] dt-bindings: clock: Convert ti,sci-clk to json schema

Nishanth Menon
2021-04-19T13:41:07Z

Stephen,

On 07:51-20210417, Nishanth Menon wrote:
> On 16:55-20210416, Stephen Boyd wrote:
> > Quoting Nishanth Menon (2021-04-15 23:37:19)
> > > diff --git a/Documentation/devicetree/bindings/clock/ti,sci-clk.yaml b/Documentation/devicetree/bindings/clock/ti,sci-clk.yaml
> > > new file mode 100644
> > > index 000000000000..72633651f0c7
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/clock/ti,sci-clk.yaml
> > > @@ -0,0 +1,52 @@
> > > +# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/clock/ti,sci-clk.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: TI-SCI clock controller node bindings
> > > +
> > > +maintainers:
> > > + - Nishanth Menon <nm@ti.com>
> > > +
> > > +allOf:
> > > + - $ref: /schemas/clock/clock.yaml#
> >
> > Is this needed?
>
> 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.
>
> Should I have picked a different yaml as base for a standard clock-controller
> base?
>

Thinking again, I think your comment was to drop the clock.yaml
inclusion, and, as a result this schema can become more stringent..

Could you clarify?

> >
> > > +
> > > +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.
>
> >
> > > +
> > > + compatible:
> > > + const: ti,k2g-sci-clk
> >
> > I thought most things keyed off the compatible string.
>
> Yes, they are. I am not sure I understand your question here. Did you
> mean to indicate that having $nodename and compatible both are
> redundant?
>
> Redundancy was'nt the intent of this schema definition, rather, I'd like
> to make sure that it is not upto interpretation or debate as to what the
> node name should be: I believe clock-controller is the correct nodename
> (without @0x... since this does'nt use reg property) instead of using
> clocks, tisci-clock as the node names.
>
>
> Do you suggest something different?
>
> --
> Regards,
> Nishanth Menon
> Key (0xDDB5849D1736249D)/Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D

--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D