On Tue, Sep 17, 2024 at 08:39:37AM +0200, Krzysztof Kozlowski wrote: > On Mon, Sep 16, 2024 at 10:23:09PM +0000, Haylen Chu wrote: > > Add definition for the clock controllers of Spacemit K1 SoC. The clock > > tree is managed by several SoC parts, thus different compatible strings > > are added for each. > > > > spacemit,k1-syscon.yaml is updated as well to allow clock controller > > being its subnode. > > > > Signed-off-by: Haylen Chu <heylenay@xxxxxxxxxxx> > > Please order patches correctly. First this, then the parent so you will > not submit incomplete binding. > > You still must test it, though :( Thanks for the tip. > > --- > > .../bindings/clock/spacemit,k1-ccu.yaml | 71 +++++++ > > .../soc/spacemit/spacemit,k1-syscon.yaml | 4 + > > include/dt-bindings/clock/spacemit,k1-ccu.h | 198 ++++++++++++++++++ > > 3 files changed, 273 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/clock/spacemit,k1-ccu.yaml > > create mode 100644 include/dt-bindings/clock/spacemit,k1-ccu.h > > > > diff --git a/Documentation/devicetree/bindings/clock/spacemit,k1-ccu.yaml b/Documentation/devicetree/bindings/clock/spacemit,k1-ccu.yaml > > new file mode 100644 > > index 000000000000..0186722cfd87 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/clock/spacemit,k1-ccu.yaml > > @@ -0,0 +1,71 @@ > > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/clock/spacemit,k1-ccu.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Spacemit K1 SoC Clock Controller > > + > > +maintainers: > > + - Haylen Chu <heylenay@xxxxxxxxxxx> > > + > > +properties: > > + compatible: > > + enum: > > + - spacemit,k1-ccu-apbs > > + - spacemit,k1-ccu-mpmu > > + - spacemit,k1-ccu-apbc > > + - spacemit,k1-ccu-apmu > > + > > + clocks: > > + minItems: 4 > > Drop > > > + maxItems: 4 > > + > > + clock-names: > > + items: > > + - const: clk_32k > > + - const: vctcxo_1 > > + - const: vctcxo_24 > > + - const: vctcxo_3 > > + > > + spacemit,mpmu: > > + $ref: /schemas/types.yaml#/definitions/phandle > > + description: > > + Phandle to the syscon managing "Main PMU (MPMU)" registers. It is used to > > + check PLL lock status. > > + > > + "#clock-cells": > > + const: 1 > > + description: > > + See <dt-bindings/clock/spacemit,k1-ccu.h> for valid indices. > > + > > +required: > > + - compatible > > + - "#clock-cells" > > + > > +additionalProperties: false > > Move it after allOf block > > > + > > +allOf: > > + - if: > > + properties: > > + compatible: > > + contains: > > + const: spacemit,k1-ccu-apbs > > + then: > > + required: > > + - compatible > > + - "#clock-cells" > > Drop both, redundant > > > > + - spacemit,mpmu > > + > > +examples: > > + - | > > + syscon_apbs: system-control@d4090000 { > > Only one example, keep it in parent node. Should I drop the example block in this binding completely and move it to its parent's binding (the syscon) or just drop the parent here? > > + compatible = "spacemit,k1-apbs-syscon", "syscon", "simple-mfd"; > > + reg = <0x0 0xd4090000 0x0 0x1000>; > > + > > + clk_apbs: clock-controller { > > + compatible = "spacemit,k1-ccu-apbs"; > > + #clock-cells = <1>; > > + spacemit,mpmu = <&syscon_mpmu>; > > + }; > > + }; > > diff --git a/Documentation/devicetree/bindings/soc/spacemit/spacemit,k1-syscon.yaml b/Documentation/devicetree/bindings/soc/spacemit/spacemit,k1-syscon.yaml > > index 4e3a72b48aff..08efda207101 100644 > > --- a/Documentation/devicetree/bindings/soc/spacemit/spacemit,k1-syscon.yaml > > +++ b/Documentation/devicetree/bindings/soc/spacemit/spacemit,k1-syscon.yaml > > @@ -27,6 +27,10 @@ properties: > > reg: > > maxItems: 1 > > > > + clock-controller: > > + $ref: /schemas/clock/spacemit,k1-ccu.yaml# > > + type: object > > + > > This MUST be part of other patch. > > Best regards, > Krzysztof > I will adapt all the comments in next version. Best regards, Haylen Chu