[PATCH v5 1/2] dt-bindings: Update scmi node description

From: Oleksii Moisieiev
Date: Wed Oct 26 2022 - 13:52:10 EST


Add '#feature-domain-cells' property description to the scmi node.
This property makes scmi node as feature-domain-controller provider, which
allows consumers to provide scmi node with the device_ids of the devices, which
are using scmi protocols to control clocks/resets/power-domains etc.
The device_ids could be used to set the device permissions for the
Fimware using BASE_SET_DEVICE_PERMISSIONS message (see 4.2.2.10 of [0]).
Device permissions management described in DEN 0056, Section 4.2.2.10 [0].

For SCMI this property is used by Trusted Agent to set the device permissions
for the Non-Trusted Agents.
Trusted and non-trusted Agent terms described in Section 4.1.1 [0].

[0] https://developer.arm.com/documentation/den0056/latest

Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@xxxxxxxx>
---
Changes v1 -> V2:
- update parameter name, made it xen-specific
- add xen vendor bindings

Changes V2 -> V3:
- update parameter name, make it generic
- update parameter format, add link to controller
- do not include xen vendor bindings as already upstreamed

Changes V3 -> V4:
- introduce domain controller provider/consumer device tree bindings
- making scmi node to act as domain controller provider when the
device permissions should be configured

Changes V4 -> V5:
- rename domain-controller to feature-domain-controller
- feature-domains format fixes
---
.../bindings/firmware/arm,scmi.yaml | 28 +++++++++++++++++++
1 file changed, 28 insertions(+)

diff --git a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
index 1c0388da6721..bb5aa49e88fd 100644
--- a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
+++ b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
@@ -89,6 +89,16 @@ properties:
atomic mode of operation, even if requested.
default: 0

+ '#feature-domain-cells':
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Number of cells in a domain controller specifier.
+ Set const to 1 here for nodes providing the device id, needed for
+ the BASE_SET_DEVICE_PERMISSIONS message (see 4.2.2.10 of [0]).
+ const: 1
+
+ feature-domain-controller: true
+
arm,smc-id:
$ref: /schemas/types.yaml#/definitions/uint32
description:
@@ -429,4 +439,22 @@ examples:
};
};

+ - |
+ firmware {
+ scmi_link: scmi {
+ compatible = "arm,scmi-smc";
+ shmem = <&cpu_scp_lpri0 &cpu_scp_lpri1>;
+ arm,smc-id = <0xc3000001>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+ feature-domain-controller;
+ #feature-domain-cells = <1>;
+ };
+ };
+
+ foo@0 {
+ reg = <0x0 0x10>;
+ feature-domains = <&scmi_link 1>;
+ };
...
--
2.34.1