2022-05-06 10:19:01

by Oleksii Moisieiev

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

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 <[email protected]>
---
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 <[email protected]>
+
+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


2022-05-30 18:59:06

by Oleksii Moisieiev

[permalink] [raw]
Subject: Re: [PATCH v3 1/1] dt-bindings: Add device-perms property description

Hello Rob,

Did you have a chance to take a look on the patch?

--
Oleksii.

On Thu, May 05, 2022 at 11:23:50AM +0000, Oleksii Moisieiev wrote:
> 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 <[email protected]>
> ---
> 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 <[email protected]>
> +
> +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