Re: [PATCH v4 3/3] dt-bindings: firmware: convert Qualcomm SCM binding to the yaml

From: Krzysztof Kozlowski
Date: Sun Jun 26 2022 - 16:00:27 EST


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