[PATCH v3 1/2] dt-bindings: arm: Add OP-TEE transport for SCMI
Rob Herring
robh at kernel.org
Mon Oct 18 10:40:21 PDT 2021
On Mon, Oct 18, 2021 at 01:40:45PM +0200, Etienne Carriere wrote:
> Introduce compatible "linaro,scmi-optee" for SCMI transport channel
> based on an OP-TEE service invocation. The compatible mandates a
> channel ID defined with property "linaro,optee-channel-id".
>
> Cc: devicetree at vger.kernel.org
> Cc: Rob Herring <robh+dt at kernel.org>
> Signed-off-by: Etienne Carriere <etienne.carriere at linaro.org>
> ---
> Changes since v2:
> - Define mandatory property linaro,optee-channel-id
> - Rebased on yaml description file
>
> Changes since v1:
> - Removed modification regarding mboxes property description.
> ---
> .../bindings/firmware/arm,scmi.yaml | 44 +++++++++++++++++++
> 1 file changed, 44 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> index 5c4c6782e052..12154ecc081b 100644
> --- a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> +++ b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> @@ -38,6 +38,9 @@ properties:
> The virtio transport only supports a single device.
> items:
> - const: arm,scmi-virtio
> + - description: SCMI compliant firmware with OP-TEE transport
> + items:
> + - const: linaro,scmi-optee
>
> interrupts:
> description:
> @@ -83,6 +86,11 @@ properties:
> description:
> SMC id required when using smc or hvc transports
>
> + linaro,optee-channel-id:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description:
> + Channel id required when using OP-TEE transports
> +
> protocol at 11:
> type: object
> properties:
> @@ -195,6 +203,9 @@ patternProperties:
> minItems: 1
> maxItems: 2
>
> + linaro,optee-channel-id:
> + maxItems: 1
Why is the same property in 2 different spots? That doesn't seem ideal.
Unfortunately, you have to duplicate the definition.
> +
> required:
> - reg
>
> @@ -226,6 +237,16 @@ else:
> - arm,smc-id
> - shmem
>
> + else:
> + if:
> + properties:
> + compatible:
> + contains:
> + const: linaro,scmi-optee
> + then:
> + required:
> + - linaro,optee-channel-id
> +
> examples:
> - |
> firmware {
> @@ -340,7 +361,30 @@ examples:
> reg = <0x11>;
> #power-domain-cells = <1>;
> };
> + };
> + };
> +
> + - |
> + firmware {
> + scmi {
> + compatible = "linaro,scmi-optee";
> + linaro,optee-channel = <0>;
> +
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + scmi_clk: protocol at 14 {
> + reg = <0x14>;
> + #clock-cells = <1>;
> + };
> +
> + scmi_dvfs: protocol at 13 {
> + reg = <0x13>;
>
> + #clock-cells = <1>;
> + linaro,optee-channel = <1>;
> + shmem = <&cpu_scp_hpri0>;
> + };
> };
> };
>
> --
> 2.17.1
>
>
More information about the linux-arm-kernel
mailing list