Commit b7d2cf7c authored by Etienne Carriere's avatar Etienne Carriere Committed by Sudeep Holla

dt-bindings: arm: Add OP-TEE transport for SCMI

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".

Link: https://lore.kernel.org/r/20211028140009.23331-1-etienne.carriere@linaro.org
Cc: devicetree@vger.kernel.org
Cc: Rob Herring <robh+dt@kernel.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Reviewed-by: default avatarCristian Marussi <cristian.marussi@arm.com>
Signed-off-by: default avatarEtienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
parent dfa25e9f
...@@ -38,6 +38,9 @@ properties: ...@@ -38,6 +38,9 @@ properties:
The virtio transport only supports a single device. The virtio transport only supports a single device.
items: items:
- const: arm,scmi-virtio - const: arm,scmi-virtio
- description: SCMI compliant firmware with OP-TEE transport
items:
- const: linaro,scmi-optee
interrupts: interrupts:
description: description:
...@@ -83,6 +86,11 @@ properties: ...@@ -83,6 +86,11 @@ properties:
description: description:
SMC id required when using smc or hvc transports SMC id required when using smc or hvc transports
linaro,optee-channel-id:
$ref: /schemas/types.yaml#/definitions/uint32
description:
Channel specifier required when using OP-TEE transport.
protocol@11: protocol@11:
type: object type: object
properties: properties:
...@@ -195,6 +203,12 @@ patternProperties: ...@@ -195,6 +203,12 @@ patternProperties:
minItems: 1 minItems: 1
maxItems: 2 maxItems: 2
linaro,optee-channel-id:
$ref: /schemas/types.yaml#/definitions/uint32
description:
Channel specifier required when using OP-TEE transport and
protocol has a dedicated communication channel.
required: required:
- reg - reg
...@@ -226,6 +240,16 @@ else: ...@@ -226,6 +240,16 @@ else:
- arm,smc-id - arm,smc-id
- shmem - shmem
else:
if:
properties:
compatible:
contains:
const: linaro,scmi-optee
then:
required:
- linaro,optee-channel-id
examples: examples:
- | - |
firmware { firmware {
...@@ -340,7 +364,48 @@ examples: ...@@ -340,7 +364,48 @@ examples:
reg = <0x11>; reg = <0x11>;
#power-domain-cells = <1>; #power-domain-cells = <1>;
}; };
};
};
- |
firmware {
scmi {
compatible = "linaro,scmi-optee";
linaro,optee-channel-id = <0>;
#address-cells = <1>;
#size-cells = <0>;
scmi_dvfs1: protocol@13 {
reg = <0x13>;
linaro,optee-channel-id = <1>;
shmem = <&cpu_optee_lpri0>;
#clock-cells = <1>;
};
scmi_clk0: protocol@14 {
reg = <0x14>;
#clock-cells = <1>;
};
};
};
soc {
#address-cells = <2>;
#size-cells = <2>;
sram@51000000 {
compatible = "mmio-sram";
reg = <0x0 0x51000000 0x0 0x10000>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0x0 0x51000000 0x10000>;
cpu_optee_lpri0: optee-sram-section@0 {
compatible = "arm,scmi-shmem";
reg = <0x0 0x80>;
};
}; };
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment