mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: David Heidelberg <david@ixit.cz>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: ~okias/devicetree@lists.sr.ht, linux-arm-msm@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	Andy Gross <agross@kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Das Srinagesh <quic_gurus@quicinc.com>,
	Robert Marko <robimarko@gmail.com>
Subject: Re: [PATCH v3 3/3] dt-bindings: firmware: convert Qualcomm SCM binding to the yaml
Date: Sun, 26 Jun 2022 19:13:54 +0200	[thread overview]
Message-ID: <8704fbd6-94a1-5692-5ccb-95f66ffaaf6f@ixit.cz> (raw)
In-Reply-To: <d00d6c3e-7d65-9021-7a26-486c705a16de@linaro.org>

On 26/06/2022 18:45, Krzysztof Kozlowski wrote:
> On 26/06/2022 13:46, 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
>>
>> Cc: Robert Marko <robimarko@gmail.com>
>> Cc: Guru Das Srinagesh <quic_gurus@quicinc.com>
>> Signed-off-by: David Heidelberg <david@ixit.cz>
>> ---
>> v3:
>>   - add preceding patches for ARM and arm64 adding missing compatible strings
>>   - extended with missing compatible strings
>>   - added two additional maintainers, see https://lkml.org/lkml/2022/6/23/1969
>> v2:
>>   - changed maintainer to Bjorn
>>   - document #reset-cells
>>
>>   .../devicetree/bindings/firmware/qcom,scm.txt |  57 --------
>>   .../bindings/firmware/qcom,scm.yaml           | 131 ++++++++++++++++++
>>   2 files changed, 131 insertions(+), 57 deletions(-)
>>   delete mode 100644 Documentation/devicetree/bindings/firmware/qcom,scm.txt
>>   create mode 100644 Documentation/devicetree/bindings/firmware/qcom,scm.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/firmware/qcom,scm.txt b/Documentation/devicetree/bindings/firmware/qcom,scm.txt
>> deleted file mode 100644
>> index 0f4e5ab26477..000000000000
>> --- a/Documentation/devicetree/bindings/firmware/qcom,scm.txt
>> +++ /dev/null
>> @@ -1,57 +0,0 @@
>> -QCOM Secure Channel Manager (SCM)
>> -
>> -Qualcomm processors include an interface to communicate to the secure firmware.
>> -This interface allows for clients to request different types of actions.  These
>> -can include CPU power up/down, HDCP requests, loading of firmware, and other
>> -assorted actions.
>> -
>> -Required properties:
>> -- compatible: must contain one of the following:
>> - * "qcom,scm-apq8064"
>> - * "qcom,scm-apq8084"
>> - * "qcom,scm-ipq4019"
>> - * "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-sm6350"
>> - * "qcom,scm-sm8150"
>> - * "qcom,scm-sm8250"
>> - * "qcom,scm-sm8350"
>> - * "qcom,scm-sm8450"
>> - and:
>> - * "qcom,scm"
>> -- clocks: Specifies clocks needed by the SCM interface, if any:
>> - * core clock required for "qcom,scm-apq8064", "qcom,scm-msm8660" and
>> -   "qcom,scm-msm8960"
>> - * core, iface and bus clocks required for "qcom,scm-apq8084",
>> -   "qcom,scm-msm8916", "qcom,scm-msm8953", "qcom,scm-msm8974" and "qcom,scm-msm8976"
>> -- clock-names: Must contain "core" for the core clock, "iface" for the interface
>> -  clock and "bus" for the bus clock per the requirements of the compatible.
>> -- qcom,dload-mode: phandle to the TCSR hardware block and offset of the
>> -		   download mode control register (optional)
>> -
>> -Example for MSM8916:
>> -
>> -	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";
>> -		};
>> -	};
>> diff --git a/Documentation/devicetree/bindings/firmware/qcom,scm.yaml b/Documentation/devicetree/bindings/firmware/qcom,scm.yaml
>> new file mode 100644
>> index 000000000000..17d06e75b82b
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/firmware/qcom,scm.yaml
>> @@ -0,0 +1,131 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: "http://devicetree.org/schemas/firmware/qcom,scm.yaml#"
>> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> No quotes here.
>
>> +
>> +title: QCOM Secure Channel Manager (SCM)
>> +
>> +description: |
>> +  Qualcomm processors include an interface to communicate to the secure firmware.
>> +  This interface allows for clients to request different types of actions.
>> +  These can include CPU power up/down, HDCP requests, loading of firmware,
>> +  and other assorted actions.
>> +
>> +maintainers:
>> +  - Bjorn Andersson <bjorn.andersson@linaro.org>
>> +  - Robert Marko <robimarko@gmail.com>
>> +  - Guru Das Srinagesh <quic_gurus@quicinc.com>
>> +
>> +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: true
> You should have constraints here - min/maxItems.
>
>> +
>> +  '#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:
>> +      Should be phandle/offset pair.
> This description is not helpful. Should be something closer to "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
> Missing constraints (maxItems:2) for clocks.

Why 2? I would put `maxItems: 1` there


>
>> +
>> +      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
> Missing constraints for clocks.
>
>> +
>> +      required:
>> +        - clocks
>> +        - clock-names
>> +
>> +required:
>> +  - compatible
>> +
>> +additionalProperties: false
>> +
> Best regards,
> Krzysztof

-- 
David Heidelberg
Consultant Software Engineer

Matrix: @okias:matrix.org


  reply	other threads:[~2022-06-26 17:14 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-26 11:46 [PATCH v3 1/3] ARM: dts: qcom: extend scm compatible to match dt-schema David Heidelberg
2022-06-26 11:46 ` [PATCH v3 2/3] arm64: dts: qcom: extend scm compatible strings David Heidelberg
2022-06-26 16:46   ` Krzysztof Kozlowski
2022-06-27 16:11   ` Guru Das Srinagesh
2022-06-26 11:46 ` [PATCH v3 3/3] dt-bindings: firmware: convert Qualcomm SCM binding to the yaml David Heidelberg
2022-06-26 16:45   ` Krzysztof Kozlowski
2022-06-26 17:13     ` David Heidelberg [this message]
2022-06-26 18:28       ` Krzysztof Kozlowski
2022-06-26 16:46 ` [PATCH v3 1/3] ARM: dts: qcom: extend scm compatible to match dt-schema Krzysztof Kozlowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8704fbd6-94a1-5692-5ccb-95f66ffaaf6f@ixit.cz \
    --to=david@ixit.cz \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=quic_gurus@quicinc.com \
    --cc=robh+dt@kernel.org \
    --cc=robimarko@gmail.com \
    --cc=~okias/devicetree@lists.sr.ht \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®