[PATCH v3 1/2] dt-bindings: arm: Add OP-TEE transport for SCMI

Etienne Carriere etienne.carriere at linaro.org
Mon Oct 18 04:40:45 PDT 2021


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
+
     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