[PATCH v3 1/1] dt-bindings: Add device-perms property description

From: Oleksii Moisieiev
Date: Thu May 05 2022 - 12:03:21 EST


Document device-perms property which is intended to set the device
permissions for the System Management interfaces.
An example of this interface is SCMI (System Control and Management
Interface) which controls clocks/power-domains/resets etc from the
Firmware. This property sets the device_id 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
---
.../bindings/firmware/device-perms.yaml | 43 +++++++++++++++++++
1 file changed, 43 insertions(+)
create mode 100644 Documentation/devicetree/bindings/firmware/device-perms.yaml

diff --git a/Documentation/devicetree/bindings/firmware/device-perms.yaml b/Documentation/devicetree/bindings/firmware/device-perms.yaml
new file mode 100644
index 000000000000..5cf45f7f26d3
--- /dev/null
+++ b/Documentation/devicetree/bindings/firmware/device-perms.yaml
@@ -0,0 +1,43 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+# Copyright 2022 EPAM Systems.
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/firmware/device-perms.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Device Permission settings for the Firmware
+
+maintainers:
+ - Oleksii Moisieiev <oleksii_moisieiev@xxxxxxxx>
+
+select: true
+
+description: |
+ The provided property is intendend to set the device permissions for the
+ System Management interfaces.
+ An expample of such interface is SCMI (System Control and Management
+ Interface) which manages the device permissions via SCMI protocol in the
+ Firmware. Binding provides ID for each related device which should match
+ device ids, defined in the Firmware so the device permissions
+ can be requested by sending BASE_SET_DEVICE_PERMISSIONS (see 4.2.2.10 of [0]).
+
+ For SCMI this property is used by Trusted Agent to set the device permissions
+ for the Non-Trusted Agents.
+
+ [0] https://developer.arm.com/documentation/den0056/latest
+
+properties:
+ device-perms:
+ description: Link to DT node, which should set the device permissions,
+ device unique identifier should be set as the parameter.
+
+additionalProperties: true
+
+examples:
+ - |
+ ohci1: usb@ee0a0000 {
+ /* ... */
+ reg = <0xee0a0000 0x100>;
+ device-perms = <&scmi 11>;
+ clocks = <&scmi_clock 4>;
+ };
--
2.27.0