On 26/06/2022 20:32, David Heidelberg wrote: > Convert Qualcomm SCM firmware binding to the yaml format. > > This commit also: > - adds qcom,scm-mdm9607 into list which has only core clock > - adds qcom,scm-sm6125, qcom,scm-ipq6018 > - #reset-cells, because the property is already used > > Signed-off-by: David Heidelberg <david@xxxxxxx> > -- > v4: > - added clocks minItems and maxItems > - removed quotes from $id and $schema > - adjusted description of TCSR HW block Thank you for your patch. There is something to discuss/improve. > +properties: > + compatible: > + items: > + - enum: > + - qcom,scm-apq8064 > + - qcom,scm-apq8084 > + - qcom,scm-ipq4019 > + - qcom,scm-ipq6018 > + - qcom,scm-ipq806x > + - qcom,scm-ipq8074 > + - qcom,scm-mdm9607 > + - qcom,scm-msm8226 > + - qcom,scm-msm8660 > + - qcom,scm-msm8916 > + - qcom,scm-msm8953 > + - qcom,scm-msm8960 > + - qcom,scm-msm8974 > + - qcom,scm-msm8976 > + - qcom,scm-msm8994 > + - qcom,scm-msm8996 > + - qcom,scm-msm8998 > + - qcom,scm-sc7180 > + - qcom,scm-sc7280 > + - qcom,scm-sdm845 > + - qcom,scm-sdx55 > + - qcom,scm-sm6125 > + - qcom,scm-sm6350 > + - qcom,scm-sm8150 > + - qcom,scm-sm8250 > + - qcom,scm-sm8350 > + - qcom,scm-sm8450 > + - qcom,scm-qcs404 > + - const: qcom,scm > + > + clocks: > + minItems: 1 > + maxItems: 3 > + > + clock-names: > + minItems: 1 > + maxItems: 3 > + > + '#reset-cells': > + const: 1 > + > + qcom,dload-mode: > + $ref: /schemas/types.yaml#/definitions/phandle-array > + items: > + - items: > + - description: phandle to TCSR hardware block > + - description: offset of the download mode control register > + description: TCSR hardware block > + > +allOf: > + - if: > + properties: > + compatible: > + contains: > + enum: > + - qcom,scm-apq8064 > + - qcom,scm-mdm9607 > + - qcom,scm-msm8660 > + - qcom,scm-msm8960 > + then: > + properties: > + clock-names: > + items: > + - const: core > + > + clocks: > + maxItems: 1 > + > + required: > + - clocks > + - clock-names > + > + - if: > + properties: > + compatible: > + contains: > + enum: > + - qcom,scm-apq8084 > + - qcom,scm-msm8916 > + - qcom,scm-msm8953 > + - qcom,scm-msm8974 > + - qcom,scm-msm8976 > + then: > + properties: > + clock-names: > + items: > + - const: core > + - const: bus > + - const: iface > + > + clocks: > + minItems: 3 > + maxItems: 3 > + > + Just one blank line. > + required: > + - clocks > + - clock-names > + > +required: > + - compatible > + > +additionalProperties: false > + > +examples: > + - | > + include <dt-bindings/clock/qcom,gcc-msm8916.h> > + > + firmware { > + scm { > + compatible = "qcom,msm8916", "qcom,scm"; > + clocks = <&gcc GCC_CRYPTO_CLK>, > + <&gcc GCC_CRYPTO_AXI_CLK>, > + <&gcc GCC_CRYPTO_AHB_CLK>; > + clock-names = "core", "bus", "iface"; > + }; > + }; Best regards, Krzysztof