From 3b63eef9818294716a92d609893a189aa499512d Mon Sep 17 00:00:00 2001 From: Madhukar Pappireddy Date: Thu, 25 Jul 2024 17:40:23 -0500 Subject: [PATCH] docs: update ff-a manifest bindings Various SPMC projects within trustefirmware.org have decided to adhere to a common FF-A manifest binding document. The one hosted in the readthedocs portal of TF-A project will be considered as the reference. Hence, this binding document is updated to reflect new additions made to binding document hosted in Hafnium project. Eventually, all other binding document are going to be removed. Also, few fields were incorrectly identified as mandatory. Necessary corrections are made in this patch. Change-Id: I2eadd77487c770e49605285bbd72027c5e72e385 Signed-off-by: Madhukar Pappireddy --- docs/components/ffa-manifest-binding.rst | 58 ++++++++++++++++++------ 1 file changed, 43 insertions(+), 15 deletions(-) diff --git a/docs/components/ffa-manifest-binding.rst b/docs/components/ffa-manifest-binding.rst index ee322ac67..7761fddc0 100644 --- a/docs/components/ffa-manifest-binding.rst +++ b/docs/components/ffa-manifest-binding.rst @@ -1,5 +1,5 @@ FF-A manifest binding to device tree -======================================== +==================================== This document defines the nodes and properties used to define a partition, according to the FF-A specification. @@ -82,7 +82,7 @@ Partition Properties the partition. Absence of this field indicates that the entry point is at offset 0x0 from the base of the partition's binary. -- xlat-granule [mandatory] +- xlat-granule - value type: - Translation granule used with the partition: @@ -103,13 +103,15 @@ Partition Properties The "compatible" must be the string "arm,ffa-manifest-rx_tx-buffer". - messaging-method [mandatory] - - value type: + - value type: - Specifies which messaging methods are supported by the partition, set bit means the feature is supported, clear bit - not supported: - - Bit[0]: partition can receive direct requests if set - - Bit[1]: partition can send direct requests if set + - Bit[0]: partition can receive direct requests via FFA_MSG_SEND_DIRECT_REQ ABI if set + - Bit[1]: partition can send direct requests via FFA_MSG_SEND_DIRECT_REQ ABI if set - Bit[2]: partition can send and receive indirect messages + - Bit[9]: partition can receive direct requests via FFA_MSG_SEND_DIRECT_REQ2 ABI if set + - Bit[10]: partition can send direct requests via FFA_MSG_SEND_DIRECT_REQ2 ABI if set - managed-exit - value type: @@ -117,6 +119,11 @@ Partition Properties - This field is deprecated in favor of ns-interrupts-action field in the FF-A v1.1 EAC0 spec. +- managed-exit-virq + - value type: + - Indicates if the partition needs managed exit, if supported, to be signaled + through vFIQ signal. + - ns-interrupts-action [mandatory] - value type: - Specifies the action that the SPMC must take in response to a Non-secure @@ -136,6 +143,12 @@ Partition Properties - 0x0: Other-Secure interrupt is queued - 0x1: Other-Secure interrupt is signaled +- runtime-model + - value type: + - Indicates whether the SP execution can be preempted. + - This field is deprecated in favor of other-s-interrupts-action and + ns-interrupts-action fields in the FF-A v1.1 spec. + - has-primary-scheduler - value type: - Presence of this field indicates that the partition implements the primary @@ -157,11 +170,6 @@ Partition Properties the FF-A boot information blob to be passed in the specified general purpose register. -- stream-endpoint-ids - - value type: - - List of tuples, identifying the IDs this partition is acting as - proxy for. - - power-management-messages - value type: - Specifies which power management messages a partition subscribes to. @@ -172,6 +180,8 @@ Partition Properties - Bit[1]: CPU_SUSPEND - Bit[2]: CPU_SUSPEND_RESUME +.. _memory_region_node: + Memory Regions -------------- @@ -209,6 +219,25 @@ Memory Regions then communicate the region properties (including the base address chosen by the partition manager) to the partition. +- stream-ids + - value type: + - List of IDs belonging to a DMA capable peripheral device that has access to + the memory region represented by current node. + - Each ID must have been declared in exactly one device region node. + +- smmu-id + - value type: + - Identifies the SMMU IP that enforces the access control for the DMA device + that owns the above stream-ids. + +- stream-ids-access-permissions + - value type: + - List of attributes representing the instruction and data access permissions + used by the DMA device streams to access the memory region represented by + current node. + +.. _device_region_node: + Device Regions -------------- @@ -251,11 +280,10 @@ Device Regions - stream-ids - value type: - - A list of (id, mem-manage) pair, where: - - - id: A unique value amongst all devices assigned to the partition. + - List of IDs where an ID is a unique value amongst all devices assigned + to the partition. -- interrupts [mandatory] +- interrupts - value type: - A list of (id, attributes) pair describing the device interrupts, where: @@ -306,4 +334,4 @@ Device Regions -------------- -*Copyright (c) 2019-2022, Arm Limited and Contributors. All rights reserved.* +*Copyright (c) 2019-2024, Arm Limited and Contributors. All rights reserved.*