Message ID | 20230930134114.1816590-2-bryan.odonoghue@linaro.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add sc8280xp CAMCC bindings and driver | expand |
On 30/09/2023 15:41, Bryan O'Donoghue wrote: > Various of the camcc bindings are repeated serially. Aggregate the > common defintions into one place declaring common required in one place > also. > > Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> > --- > .../bindings/clock/qcom,camcc-common.yaml | 44 +++++++++++++++++++ > .../bindings/clock/qcom,camcc-sm8250.yaml | 32 ++------------ > .../bindings/clock/qcom,sc7180-camcc.yaml | 23 ++-------- > .../bindings/clock/qcom,sc7280-camcc.yaml | 23 ++-------- > .../bindings/clock/qcom,sdm845-camcc.yaml | 23 ++-------- > .../bindings/clock/qcom,sm6350-camcc.yaml | 13 ++---- > .../bindings/clock/qcom,sm8450-camcc.yaml | 33 ++------------ > 7 files changed, 67 insertions(+), 124 deletions(-) > create mode 100644 Documentation/devicetree/bindings/clock/qcom,camcc-common.yaml > > diff --git a/Documentation/devicetree/bindings/clock/qcom,camcc-common.yaml b/Documentation/devicetree/bindings/clock/qcom,camcc-common.yaml > new file mode 100644 > index 000000000000..ce0140985fe7 > --- /dev/null > +++ b/Documentation/devicetree/bindings/clock/qcom,camcc-common.yaml > @@ -0,0 +1,44 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/clock/qcom,camcc-common.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Qualcomm Camera Clock & Reset Controller common properties > + > +maintainers: > + - Bryan O'Donoghue <bryan.odonoghue@linaro.org> > + > +description: | > + Qualcomm camera clock control module provides the clocks, resets and power > + domains on Qualcomm SoCs. > + > +allOf: > + - $ref: qcom,gcc.yaml# > + > +properties: > + compatible: true Drop, not needed. > + > + clocks: > + minItems: 1 > + maxItems: 4 No real benefit of these in common schema. It's still not precise :/ > + > + clock-names: > + minItems: 1 > + maxItems: 4 The same. > + > + power-domains: > + maxItems: 1 > + description: > + A phandle and PM domain specifier for the MMCX power domain. Not all bindings have it, so again not much benefits to have it in common place. > + > + required-opps: > + maxItems: 1 > + description: > + OPP node describing required MMCX performance point. > + > +required: > + - compatible Drop > + - clocks As well... so this leads us to almost empty common binding. That's why I suggested to use qcom,gcc.yaml. Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/clock/qcom,camcc-common.yaml b/Documentation/devicetree/bindings/clock/qcom,camcc-common.yaml new file mode 100644 index 000000000000..ce0140985fe7 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/qcom,camcc-common.yaml @@ -0,0 +1,44 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/qcom,camcc-common.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Camera Clock & Reset Controller common properties + +maintainers: + - Bryan O'Donoghue <bryan.odonoghue@linaro.org> + +description: | + Qualcomm camera clock control module provides the clocks, resets and power + domains on Qualcomm SoCs. + +allOf: + - $ref: qcom,gcc.yaml# + +properties: + compatible: true + + clocks: + minItems: 1 + maxItems: 4 + + clock-names: + minItems: 1 + maxItems: 4 + + power-domains: + maxItems: 1 + description: + A phandle and PM domain specifier for the MMCX power domain. + + required-opps: + maxItems: 1 + description: + OPP node describing required MMCX performance point. + +required: + - compatible + - clocks + +additionalProperties: true diff --git a/Documentation/devicetree/bindings/clock/qcom,camcc-sm8250.yaml b/Documentation/devicetree/bindings/clock/qcom,camcc-sm8250.yaml index 426335a2841c..e31b20076643 100644 --- a/Documentation/devicetree/bindings/clock/qcom,camcc-sm8250.yaml +++ b/Documentation/devicetree/bindings/clock/qcom,camcc-sm8250.yaml @@ -15,6 +15,9 @@ description: | See also:: include/dt-bindings/clock/qcom,camcc-sm8250.h +allOf: + - $ref: qcom,camcc-common.yaml# + properties: compatible: const: qcom,sm8250-camcc @@ -33,37 +36,10 @@ properties: - const: bi_tcxo_ao - const: sleep_clk - '#clock-cells': - const: 1 - - '#reset-cells': - const: 1 - - '#power-domain-cells': - const: 1 - - power-domains: - items: - - description: MMCX power domain - - reg: - maxItems: 1 - - required-opps: - maxItems: 1 - description: - OPP node describing required MMCX performance point. - required: - - compatible - - reg - - clocks - clock-names - - '#clock-cells' - - '#reset-cells' - - '#power-domain-cells' -additionalProperties: false +unevaluatedProperties: false examples: - | diff --git a/Documentation/devicetree/bindings/clock/qcom,sc7180-camcc.yaml b/Documentation/devicetree/bindings/clock/qcom,sc7180-camcc.yaml index 2dfc2a4f1918..40cef12d67e0 100644 --- a/Documentation/devicetree/bindings/clock/qcom,sc7180-camcc.yaml +++ b/Documentation/devicetree/bindings/clock/qcom,sc7180-camcc.yaml @@ -15,6 +15,9 @@ description: | See also:: include/dt-bindings/clock/qcom,camcc-sc7180.h +allOf: + - $ref: qcom,camcc-common.yaml# + properties: compatible: const: qcom,sc7180-camcc @@ -31,28 +34,10 @@ properties: - const: iface - const: xo - '#clock-cells': - const: 1 - - '#reset-cells': - const: 1 - - '#power-domain-cells': - const: 1 - - reg: - maxItems: 1 - required: - - compatible - - reg - - clocks - clock-names - - '#clock-cells' - - '#reset-cells' - - '#power-domain-cells' -additionalProperties: false +unevaluatedProperties: false examples: - | diff --git a/Documentation/devicetree/bindings/clock/qcom,sc7280-camcc.yaml b/Documentation/devicetree/bindings/clock/qcom,sc7280-camcc.yaml index 01feef1cab0a..057f93b4971b 100644 --- a/Documentation/devicetree/bindings/clock/qcom,sc7280-camcc.yaml +++ b/Documentation/devicetree/bindings/clock/qcom,sc7280-camcc.yaml @@ -15,6 +15,9 @@ description: | See also:: include/dt-bindings/clock/qcom,camcc-sc7280.h +allOf: + - $ref: qcom,camcc-common.yaml# + properties: compatible: const: qcom,sc7280-camcc @@ -31,28 +34,10 @@ properties: - const: bi_tcxo_ao - const: sleep_clk - '#clock-cells': - const: 1 - - '#reset-cells': - const: 1 - - '#power-domain-cells': - const: 1 - - reg: - maxItems: 1 - required: - - compatible - - reg - - clocks - clock-names - - '#clock-cells' - - '#reset-cells' - - '#power-domain-cells' -additionalProperties: false +unevaluatedProperties: false examples: - | diff --git a/Documentation/devicetree/bindings/clock/qcom,sdm845-camcc.yaml b/Documentation/devicetree/bindings/clock/qcom,sdm845-camcc.yaml index 91d1f7918037..553fae55bc66 100644 --- a/Documentation/devicetree/bindings/clock/qcom,sdm845-camcc.yaml +++ b/Documentation/devicetree/bindings/clock/qcom,sdm845-camcc.yaml @@ -15,6 +15,9 @@ description: | See also:: include/dt-bindings/clock/qcom,camcc-sm845.h +allOf: + - $ref: qcom,camcc-common.yaml# + properties: compatible: const: qcom,sdm845-camcc @@ -27,28 +30,10 @@ properties: items: - const: bi_tcxo - '#clock-cells': - const: 1 - - '#reset-cells': - const: 1 - - '#power-domain-cells': - const: 1 - - reg: - maxItems: 1 - required: - - compatible - - reg - - clocks - clock-names - - '#clock-cells' - - '#reset-cells' - - '#power-domain-cells' -additionalProperties: false +unevaluatedProperties: false examples: - | diff --git a/Documentation/devicetree/bindings/clock/qcom,sm6350-camcc.yaml b/Documentation/devicetree/bindings/clock/qcom,sm6350-camcc.yaml index fd6658cb793d..5a004396659b 100644 --- a/Documentation/devicetree/bindings/clock/qcom,sm6350-camcc.yaml +++ b/Documentation/devicetree/bindings/clock/qcom,sm6350-camcc.yaml @@ -15,6 +15,9 @@ description: | See also:: include/dt-bindings/clock/qcom,sm6350-camcc.h +allOf: + - $ref: qcom,camcc-common.yaml# + properties: compatible: const: qcom,sm6350-camcc @@ -23,16 +26,6 @@ properties: items: - description: Board XO source - reg: - maxItems: 1 - -required: - - compatible - - clocks - -allOf: - - $ref: qcom,gcc.yaml# - unevaluatedProperties: false examples: diff --git a/Documentation/devicetree/bindings/clock/qcom,sm8450-camcc.yaml b/Documentation/devicetree/bindings/clock/qcom,sm8450-camcc.yaml index dc3c18e4ead7..5db7bd8424d8 100644 --- a/Documentation/devicetree/bindings/clock/qcom,sm8450-camcc.yaml +++ b/Documentation/devicetree/bindings/clock/qcom,sm8450-camcc.yaml @@ -17,6 +17,9 @@ description: | include/dt-bindings/clock/qcom,sm8450-camcc.h include/dt-bindings/clock/qcom,sm8550-camcc.h +allOf: + - $ref: qcom,camcc-common.yaml# + properties: compatible: enum: @@ -30,39 +33,11 @@ properties: - description: Board active XO source - description: Sleep clock source - power-domains: - maxItems: 1 - description: - A phandle and PM domain specifier for the MMCX power domain. - - required-opps: - maxItems: 1 - description: - A phandle to an OPP node describing required MMCX performance point. - - '#clock-cells': - const: 1 - - '#reset-cells': - const: 1 - - '#power-domain-cells': - const: 1 - - reg: - maxItems: 1 - required: - - compatible - - reg - - clocks - power-domains - required-opps - - '#clock-cells' - - '#reset-cells' - - '#power-domain-cells' -additionalProperties: false +unevaluatedProperties: false examples: - |
Various of the camcc bindings are repeated serially. Aggregate the common defintions into one place declaring common required in one place also. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> --- .../bindings/clock/qcom,camcc-common.yaml | 44 +++++++++++++++++++ .../bindings/clock/qcom,camcc-sm8250.yaml | 32 ++------------ .../bindings/clock/qcom,sc7180-camcc.yaml | 23 ++-------- .../bindings/clock/qcom,sc7280-camcc.yaml | 23 ++-------- .../bindings/clock/qcom,sdm845-camcc.yaml | 23 ++-------- .../bindings/clock/qcom,sm6350-camcc.yaml | 13 ++---- .../bindings/clock/qcom,sm8450-camcc.yaml | 33 ++------------ 7 files changed, 67 insertions(+), 124 deletions(-) create mode 100644 Documentation/devicetree/bindings/clock/qcom,camcc-common.yaml