Re: [PATCH 1/4] dt-bindings: remoteproc: qcom: adsp: document sm8550 adsp, cdsp & mpss compatible

From: Krzysztof Kozlowski
Date: Wed Nov 16 2022 - 07:29:50 EST


On 16/11/2022 11:20, Neil Armstrong wrote:
> This documents the compatible for the component used to boot the
> aDSP, cDSP and MPSS on the SM8550 SoC.
>
> The SM8550 boot process on SM8550 now requires a secondary "Devicetree"
> firmware to be passed along the main Firmware, and the cDSP a new power
> domain named "NSP".
>
> Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
> ---
> .../devicetree/bindings/remoteproc/qcom,adsp.yaml | 60 +++++++++++++++++++++-
> 1 file changed, 59 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml
> index db9e0f0c2bea..678cb73f10de 100644
> --- a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml
> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml
> @@ -55,6 +55,9 @@ properties:
> - qcom,sm8450-cdsp-pas
> - qcom,sm8450-mpss-pas
> - qcom,sm8450-slpi-pas
> + - qcom,sm8550-adsp-pas
> + - qcom,sm8550-cdsp-pas
> + - qcom,sm8550-mpss-pas
>
> reg:
> maxItems: 1
> @@ -116,8 +119,13 @@ properties:
> $ref: /schemas/types.yaml#/definitions/string
> description: Firmware name for the Hexagon core
>
> + qcom,dtb-firmware-name:
> + $ref: /schemas/types.yaml#/definitions/string
> + description: Devicetree Firmware name for the Hexagon core

Not sure about this one.

Rob,
Don't we want rather to have multiple items in firmware-name?


> +
> memory-region:
> - maxItems: 1
> + minItems: 1
> + maxItems: 2
> description: Reference to the reserved-memory for the Hexagon core
>
> qcom,qmp:
> @@ -212,6 +220,9 @@ allOf:
> - qcom,sm8450-cdsp-pas
> - qcom,sm8450-slpi-pas
> - qcom,sm8450-mpss-pas
> + - qcom,sm8550-adsp-pas
> + - qcom,sm8550-cdsp-pas
> + - qcom,sm8550-mpss-pas
> then:
> properties:
> clocks:
> @@ -327,6 +338,8 @@ allOf:
> - qcom,sm8450-adsp-pas
> - qcom,sm8450-cdsp-pas
> - qcom,sm8450-slpi-pas
> + - qcom,sm8550-adsp-pas
> + - qcom,sm8550-cdsp-pas
> then:
> properties:
> interrupts:
> @@ -347,6 +360,7 @@ allOf:
> - qcom,sm8150-mpss-pas
> - qcom,sm8350-mpss-pas
> - qcom,sm8450-mpss-pas
> + - qcom,sm8550-mpss-pas
> then:
> properties:
> interrupts:
> @@ -448,6 +462,7 @@ allOf:
> - qcom,sm8150-mpss-pas
> - qcom,sm8350-mpss-pas
> - qcom,sm8450-mpss-pas
> + - qcom,sm8550-mpss-pas
> then:
> properties:
> power-domains:
> @@ -475,6 +490,7 @@ allOf:
> - qcom,sm8350-slpi-pas
> - qcom,sm8450-adsp-pas
> - qcom,sm8450-slpi-pas
> + - qcom,sm8550-adsp-pas
> then:
> properties:
> power-domains:
> @@ -504,6 +520,25 @@ allOf:
> - const: cx
> - const: mxc
>
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - qcom,sm8550-cdsp-pas
> + then:
> + properties:
> + power-domains:
> + items:
> + - description: CX power domain
> + - description: MXC power domain
> + - description: NSP power domain
> + power-domain-names:
> + items:
> + - const: cx
> + - const: mxc
> + - const: nsp
> +

You also need to update entry for resets. I think it is missing.

> - if:
> properties:
> compatible:
> @@ -573,6 +608,29 @@ allOf:
> properties:
> qcom,qmp: false
>
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - qcom,sm8550-adsp-pas
> + - qcom,sm8550-cdsp-pas
> + - qcom,sm8550-mpss-pas
> + then:
> + properties:
> + memory-region:
> + minItems: 2
> + description:
> + First entry is a phandle for a reserved memory area that holds
> + the main Firmware for authentication, and second entry a phandle for a
> + reserved memory area that holds the Devicetree Firmware for authentication.

Instead of minItems and description:
items:
- description: Main Firmware for auth....
- description: Devicetree Firmware....

> + else:
> + properties:
> + qcom,dtb-firmware-name: false
> +
> + memory-region:
> + maxItems: 1
> +

Best regards,
Krzysztof