* [PATCH v6 1/2] dt-bindings: arm: Add OP-TEE transport for SCMI
@ 2021-10-26 15:21 Etienne Carriere
2021-10-27 20:28 ` Rob Herring
0 siblings, 1 reply; 2+ messages in thread
From: Etienne Carriere @ 2021-10-26 15:21 UTC (permalink / raw)
To: linux-kernel
Cc: linux-arm-kernel, Sudeep Holla, Cristian Marussi, Vincent Guittot,
Etienne Carriere, devicetree, Rob Herring
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@vger.kernel.org
Cc: Rob Herring <robh+dt@kernel.org>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
---
No change since v5
Changes since v4:
- Fix sram node name in DTS example: s/-shm-/-sram-/
Changes since v3:
- Add description for linaro,optee-channel-id in patternProperties
specifying protocol can optionaly define a dedicated channel id.
- Fix DTS example (duplicated phandles issue, subnodes ordering)
- Fix typo in DTS example and description comments.
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 | 66 +++++++++++++++++++
1 file changed, 66 insertions(+)
diff --git a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
index 5c4c6782e052..d09ebc80e713 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 specifier required when using OP-TEE transport.
+
protocol@11:
type: object
properties:
@@ -195,6 +203,13 @@ patternProperties:
minItems: 1
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.
+ maxItems: 1
+
required:
- reg
@@ -226,6 +241,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 +365,48 @@ examples:
reg = <0x11>;
#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>;
+ };
};
};
--
2.17.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v6 1/2] dt-bindings: arm: Add OP-TEE transport for SCMI
2021-10-26 15:21 [PATCH v6 1/2] dt-bindings: arm: Add OP-TEE transport for SCMI Etienne Carriere
@ 2021-10-27 20:28 ` Rob Herring
0 siblings, 0 replies; 2+ messages in thread
From: Rob Herring @ 2021-10-27 20:28 UTC (permalink / raw)
To: Etienne Carriere
Cc: linux-kernel, linux-arm-kernel, Sudeep Holla, Cristian Marussi,
Vincent Guittot, devicetree
On Tue, Oct 26, 2021 at 05:21:27PM +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@vger.kernel.org
> Cc: Rob Herring <robh+dt@kernel.org>
> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
> ---
> No change since v5
>
> Changes since v4:
> - Fix sram node name in DTS example: s/-shm-/-sram-/
>
> Changes since v3:
> - Add description for linaro,optee-channel-id in patternProperties
> specifying protocol can optionaly define a dedicated channel id.
> - Fix DTS example (duplicated phandles issue, subnodes ordering)
> - Fix typo in DTS example and description comments.
>
> 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 | 66 +++++++++++++++++++
> 1 file changed, 66 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> index 5c4c6782e052..d09ebc80e713 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 specifier required when using OP-TEE transport.
> +
> protocol@11:
> type: object
> properties:
> @@ -195,6 +203,13 @@ patternProperties:
> minItems: 1
> 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.
> + maxItems: 1
Don't need maxItems.
> +
> required:
> - reg
>
> @@ -226,6 +241,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 +365,48 @@ examples:
> reg = <0x11>;
> #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>;
> + };
> };
> };
>
> --
> 2.17.1
>
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-10-27 20:28 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-10-26 15:21 [PATCH v6 1/2] dt-bindings: arm: Add OP-TEE transport for SCMI Etienne Carriere
2021-10-27 20:28 ` Rob Herring
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).