@ -1,5 +1,5 @@
FF-A manifest binding to device tree
FF-A manifest binding to device tree
========================================
====================================
This document defines the nodes and properties used to define a partition,
This document defines the nodes and properties used to define a partition,
according to the FF-A specification.
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
the partition. Absence of this field indicates that the entry point is at
offset 0x0 from the base of the partition's binary.
offset 0x0 from the base of the partition's binary.
- xlat-granule [mandatory]
- xlat-granule
- value type: <u32>
- value type: <u32>
- Translation granule used with the partition:
- Translation granule used with the partition:
@ -91,10 +91,10 @@ Partition Properties
- 0x2: 64k
- 0x2: 64k
- boot-order
- boot-order
- value type: <u16 >
- value type: <u32 >
- A unique number amongst all partitions that specifies if this partition
- A unique number amongst all partitions that specifies if this partition
must be booted before others. The partition with the smaller number will be
must be booted before others. The partition with the smaller number will be
booted first.
booted first. Highest vlue allowed for this field is 0xFFFF.
- rx-tx-buffer
- rx-tx-buffer
- value type: "memory-regions" node
- value type: "memory-regions" node
@ -103,13 +103,15 @@ Partition Properties
The "compatible" must be the string "arm,ffa-manifest-rx_tx-buffer".
The "compatible" must be the string "arm,ffa-manifest-rx_tx-buffer".
- messaging-method [mandatory]
- messaging-method [mandatory]
- value type: <u8 >
- value type: <u32 >
- Specifies which messaging methods are supported by the partition, set bit
- Specifies which messaging methods are supported by the partition, set bit
means the feature is supported, clear bit - not supported:
means the feature is supported, clear bit - not supported:
- Bit[0]: partition can receive 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 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[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
- managed-exit
- value type: <empty>
- value type: <empty>
@ -117,6 +119,11 @@ Partition Properties
- This field is deprecated in favor of ns-interrupts-action field in the FF-A
- This field is deprecated in favor of ns-interrupts-action field in the FF-A
v1.1 EAC0 spec.
v1.1 EAC0 spec.
- managed-exit-virq
- value type: <empty>
- Indicates if the partition needs managed exit, if supported, to be signaled
through vFIQ signal.
- ns-interrupts-action [mandatory]
- ns-interrupts-action [mandatory]
- value type: <u32>
- value type: <u32>
- Specifies the action that the SPMC must take in response to a Non-secure
- 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
- 0x0: Other-Secure interrupt is queued
- 0x1: Other-Secure interrupt is signaled
- 0x1: Other-Secure interrupt is signaled
- runtime-model
- value type: <u32>
- 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
- has-primary-scheduler
- value type: <empty>
- value type: <empty>
- Presence of this field indicates that the partition implements the primary
- 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
the FF-A boot information blob to be passed in the specified general purpose
register.
register.
- stream-endpoint-ids
- value type: <prop-encoded-array>
- List of <u32> tuples, identifying the IDs this partition is acting as
proxy for.
- power-management-messages
- power-management-messages
- value type: <u32>
- value type: <u32>
- Specifies which power management messages a partition subscribes to.
- Specifies which power management messages a partition subscribes to.
@ -172,6 +180,17 @@ Partition Properties
- Bit[1]: CPU_SUSPEND
- Bit[1]: CPU_SUSPEND
- Bit[2]: CPU_SUSPEND_RESUME
- Bit[2]: CPU_SUSPEND_RESUME
- vm-availability-messages
- value type: <u32>
- Specifies which VM availability messages a partition subscribes to. A set
bit means the partition should be informed of the event, clear bit - should
not be informed of event:
- Bit[0]: VM created
- Bit[1]: VM destroyed
.. _memory_region_node:
Memory Regions
Memory Regions
--------------
--------------
@ -209,6 +228,25 @@ Memory Regions
then communicate the region properties (including the base address chosen
then communicate the region properties (including the base address chosen
by the partition manager) to the partition.
by the partition manager) to the partition.
- stream-ids
- value type: <prop-encoded-array>
- 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: <u32>
- 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: <prop-encoded-array>
- 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
Device Regions
--------------
--------------
@ -251,11 +289,10 @@ Device Regions
- stream-ids
- stream-ids
- value type: <prop-encoded-array>
- value type: <prop-encoded-array>
- A list of (id, mem-manage) pair, where:
- List of IDs where an ID is a unique <u32> value amongst all devices assigned
to the partition.
- id: A unique <u32> value amongst all devices assigned to the partition.
- interrupts [mandatory]
- interrupts
- value type: <prop-encoded-array>
- value type: <prop-encoded-array>
- A list of (id, attributes) pair describing the device interrupts, where:
- A list of (id, attributes) pair describing the device interrupts, where:
@ -306,4 +343,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.*