On Thu 17 Feb 17:56 CST 2022, Ansuel Smith wrote: > Split qcom,gcc.yaml to common and specific schema to use it as a > template for schema that needs to use the gcc bindings and require > to add additional bindings. > > Signed-off-by: Ansuel Smith <ansuelsmth@xxxxxxxxx> > --- > .../bindings/clock/qcom,gcc-other.yaml | 76 +++++++++++++++++++ > .../devicetree/bindings/clock/qcom,gcc.yaml | 63 ++------------- > 2 files changed, 82 insertions(+), 57 deletions(-) > create mode 100644 Documentation/devicetree/bindings/clock/qcom,gcc-other.yaml > > diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-other.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-other.yaml > new file mode 100644 > index 000000000000..824d80530683 > --- /dev/null > +++ b/Documentation/devicetree/bindings/clock/qcom,gcc-other.yaml This work for me. > @@ -0,0 +1,76 @@ > +# SPDX-License-Identifier: GPL-2.0-only > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/clock/qcom,gcc.yaml# But shouldn't this be qcom,gcc-other.yaml then? > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Qualcomm Global Clock & Reset Controller Binding > + > +maintainers: > + - Stephen Boyd <sboyd@xxxxxxxxxx> > + - Taniya Das <tdas@xxxxxxxxxxxxxx> > + > +description: > + Qualcomm global clock control module which supports the clocks, resets and > + power domains. > + > + See also: > + - dt-bindings/clock/qcom,gcc-apq8084.h > + - dt-bindings/reset/qcom,gcc-apq8084.h > + - dt-bindings/clock/qcom,gcc-ipq4019.h > + - dt-bindings/clock/qcom,gcc-ipq6018.h > + - dt-bindings/reset/qcom,gcc-ipq6018.h > + - dt-bindings/clock/qcom,gcc-ipq806x.h (qcom,gcc-ipq8064) > + - dt-bindings/reset/qcom,gcc-ipq806x.h (qcom,gcc-ipq8064) > + - dt-bindings/clock/qcom,gcc-msm8939.h > + - dt-bindings/clock/qcom,gcc-msm8953.h > + - dt-bindings/reset/qcom,gcc-msm8939.h > + - dt-bindings/clock/qcom,gcc-msm8660.h > + - dt-bindings/reset/qcom,gcc-msm8660.h > + - dt-bindings/clock/qcom,gcc-msm8974.h (qcom,gcc-msm8226 and qcom,gcc-msm8974) > + - dt-bindings/reset/qcom,gcc-msm8974.h (qcom,gcc-msm8226 and qcom,gcc-msm8974) > + - dt-bindings/clock/qcom,gcc-mdm9607.h > + - dt-bindings/clock/qcom,gcc-mdm9615.h > + - dt-bindings/reset/qcom,gcc-mdm9615.h > + - dt-bindings/clock/qcom,gcc-sdm660.h (qcom,gcc-sdm630 and qcom,gcc-sdm660) > + > +allOf: > + - $ref: "qcom,gcc.yaml#" > + > +properties: > + compatible: > + enum: > + - qcom,gcc-apq8084 > + - qcom,gcc-ipq4019 > + - qcom,gcc-ipq6018 > + - qcom,gcc-ipq8064 > + - qcom,gcc-mdm9607 > + - qcom,gcc-msm8226 > + - qcom,gcc-msm8660 > + - qcom,gcc-msm8916 > + - qcom,gcc-msm8939 > + - qcom,gcc-msm8953 > + - qcom,gcc-msm8960 > + - qcom,gcc-msm8974 > + - qcom,gcc-msm8974pro > + - qcom,gcc-msm8974pro-ac > + - qcom,gcc-mdm9615 > + - qcom,gcc-sdm630 > + - qcom,gcc-sdm660 > + > +required: > + - compatible > + > +unevaluatedProperties: false > + > +examples: > + # Example for GCC for MSM8960: > + - | > + clock-controller@900000 { > + compatible = "qcom,gcc-msm8960"; > + reg = <0x900000 0x4000>; > + #clock-cells = <1>; > + #reset-cells = <1>; > + #power-domain-cells = <1>; > + }; > +... > diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc.yaml > index f66d703bd913..ea1dd94d8bf1 100644 > --- a/Documentation/devicetree/bindings/clock/qcom,gcc.yaml > +++ b/Documentation/devicetree/bindings/clock/qcom,gcc.yaml > @@ -1,60 +1,20 @@ > -# SPDX-License-Identifier: GPL-2.0-only > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause We would need to double check with existing copyright holders. My suggestion is that we change that separately. > %YAML 1.2 > --- > -$id: http://devicetree.org/schemas/clock/qcom,gcc.yaml# > +$id: http://devicetree.org/schemas/clock/qcom,gcc-common.yaml# You forgot to change this back to just gcc.yaml. With those two things this looks good to me. Regards, Bjron > $schema: http://devicetree.org/meta-schemas/core.yaml# > > -title: Qualcomm Global Clock & Reset Controller Binding > +title: Qualcomm Global Clock & Reset Controller Binding Common Bindings > > maintainers: > - Stephen Boyd <sboyd@xxxxxxxxxx> > - Taniya Das <tdas@xxxxxxxxxxxxxx> > > description: | > - Qualcomm global clock control module which supports the clocks, resets and > - power domains. > - > - See also: > - - dt-bindings/clock/qcom,gcc-apq8084.h > - - dt-bindings/reset/qcom,gcc-apq8084.h > - - dt-bindings/clock/qcom,gcc-ipq4019.h > - - dt-bindings/clock/qcom,gcc-ipq6018.h > - - dt-bindings/reset/qcom,gcc-ipq6018.h > - - dt-bindings/clock/qcom,gcc-ipq806x.h (qcom,gcc-ipq8064) > - - dt-bindings/reset/qcom,gcc-ipq806x.h (qcom,gcc-ipq8064) > - - dt-bindings/clock/qcom,gcc-msm8939.h > - - dt-bindings/clock/qcom,gcc-msm8953.h > - - dt-bindings/reset/qcom,gcc-msm8939.h > - - dt-bindings/clock/qcom,gcc-msm8660.h > - - dt-bindings/reset/qcom,gcc-msm8660.h > - - dt-bindings/clock/qcom,gcc-msm8974.h (qcom,gcc-msm8226 and qcom,gcc-msm8974) > - - dt-bindings/reset/qcom,gcc-msm8974.h (qcom,gcc-msm8226 and qcom,gcc-msm8974) > - - dt-bindings/clock/qcom,gcc-mdm9607.h > - - dt-bindings/clock/qcom,gcc-mdm9615.h > - - dt-bindings/reset/qcom,gcc-mdm9615.h > - - dt-bindings/clock/qcom,gcc-sdm660.h (qcom,gcc-sdm630 and qcom,gcc-sdm660) > + Common bindings for Qualcomm global clock control module which supports > + the clocks, resets and power domains. > > properties: > - compatible: > - enum: > - - qcom,gcc-apq8084 > - - qcom,gcc-ipq4019 > - - qcom,gcc-ipq6018 > - - qcom,gcc-ipq8064 > - - qcom,gcc-mdm9607 > - - qcom,gcc-msm8226 > - - qcom,gcc-msm8660 > - - qcom,gcc-msm8916 > - - qcom,gcc-msm8939 > - - qcom,gcc-msm8953 > - - qcom,gcc-msm8960 > - - qcom,gcc-msm8974 > - - qcom,gcc-msm8974pro > - - qcom,gcc-msm8974pro-ac > - - qcom,gcc-mdm9615 > - - qcom,gcc-sdm630 > - - qcom,gcc-sdm660 > - > '#clock-cells': > const: 1 > > @@ -72,22 +32,11 @@ properties: > Protected clock specifier list as per common clock binding. > > required: > - - compatible > - reg > - '#clock-cells' > - '#reset-cells' > - '#power-domain-cells' > > -additionalProperties: false > +additionalProperties: true > > -examples: > - # Example for GCC for MSM8960: > - - | > - clock-controller@900000 { > - compatible = "qcom,gcc-msm8960"; > - reg = <0x900000 0x4000>; > - #clock-cells = <1>; > - #reset-cells = <1>; > - #power-domain-cells = <1>; > - }; > ... > -- > 2.34.1 >