diff --git a/docs/components/fconf/index.rst b/docs/components/fconf/index.rst index 029f324dc..b8b4519e3 100644 --- a/docs/components/fconf/index.rst +++ b/docs/components/fconf/index.rst @@ -147,3 +147,4 @@ Properties binding information fconf_properties amu-bindings mpmm-bindings + tb_fw_bindings diff --git a/docs/components/fconf/tb_fw_bindings.rst b/docs/components/fconf/tb_fw_bindings.rst new file mode 100644 index 000000000..aee3b8da5 --- /dev/null +++ b/docs/components/fconf/tb_fw_bindings.rst @@ -0,0 +1,159 @@ +Trusted Boot Firmware Configuration bindings +============================================ + +This document defines the nodes and properties used to define the Trusted-Boot +firmware configuration. Platform owners are advised to define shared bindings +here. If a binding does not generalize, they should be documented +alongside platform documentation. There is no guarantee of backward +compatibility with the nodes and properties outlined in this context. + +Trusted Boot Firmware Configuration +----------------------------------- + +- compatible [mandatory] + - value type: + - Should be the string ``",tb_fw"``, where ```` is the name of the + platform (i.e. ``"arm,tb_fw"``). + +- disable_auth [mandatory] + - value type: + - Flag used to dynamically disable authentication for development purposes. + Has two possible values: 0 or 1. Setting the flag to 1 disables + authentication. + +- mbedtls_heap_addr [mandatory] + - value type: + - Base address of the dynamically allocated Mbed TLS heap. This is given as a placeholder. + +- mbedtls_heap_size [mandatory] + - value type: + - Size of the Mbed TLS heap. + +IO FIP Handles +-------------- + +- compatible [mandatory] + - value type: + - Should be the string ``",io-fip-handle"``, where ```` is the name of the + platform (i.e. ``"arm,io-fip-handle"``). + +- scp_bl2_uuid [mandatory] + - value type: + - SCP Firmware SCP_BL2 UUID + +- bl31_uuid [mandatory] + - value type: + - EL3 Runtime Firmware BL31 UUID + +- bl32_uuid [mandatory] + - value type: + - Secure Payload BL32 (Trusted OS) UUID + +- bl32_extra1_uuid [mandatory] + - value type: + - Secure Payload BL32_EXTRA1 (Trusted OS Extra1) UUID + +- bl32_extra2_uuid [mandatory] + - value type: + - Secure Payload BL32_EXTRA2 (Trusted OS Extra2) UUID + +- bl33_uuid [mandatory] + - value type: + - Non-Trusted Firmware BL33 UUID + +- hw_cfg_uuid [mandatory] + - value type: + - HW_CONFIG (e.g. Kernel DT) UUID + +- soc_fw_cfg_uuid [mandatory] + - value type: + - SOC Firmware Configuration SOC_FW_CONFIG UUID + +- tos_fw_cfg_uuid [mandatory] + - value type: + - Trusted OS Firmware Configuration TOS_FW_CONFIG UUID + +- nt_fw_cfg_uuid [mandatory] + - value type: + - Non-Trusted Firmware Configuration NT_FW_CONFIG UUID + +- cca_cert_uuid [optional] + - value type: + - CCA Content Certificate UUID + +- core_swd_cert_uuid [optional] + - value type: + - Core SWD Key Certificate UUID + +- plat_cert_uuid [optional] + - value type: + - Core SWD Key Certificate UUID + +- t_key_cert_uuid [optional] + - value type: + - Trusted Key Certificate UUID + +- scp_fw_key_uuid [optional] + - value type: + - SCP Firmware Key UUID + +- soc_fw_key_uuid [optional] + - value type: + - SOC Firmware Key UUID + +- tos_fw_key_cert_uuid [optional] + - value type: + - TOS Firmware Key UUID + +- nt_fw_key_cert_uuid [optional] + - value type: + - Non-Trusted Firmware Key UUID + +- scp_fw_content_cert_uuid [optional] + - value type: + - SCP Firmware Content Certificate UUID + +- soc_fw_content_cert_uuid [optional] + - value type: + - SOC Firmware Content Certificate UUID + +- tos_fw_content_cert_uuid [optional] + - value type: + - TOS Firmware Content Certificate UUID + +- nt_fw_content_cert_uuid [optional] + - value type: + - Non-Trusted Firmware Content Certificate UUID + +- plat_sp_content_cert_uuid [optional] + - value type: + - Platform Secure Partition Content Certificate UUID + + +Secure Partitions +----------------- + +- compatible [mandatory] + - value type: + - Should be the string ``",sp"``, where ```` is the name of the + platform (i.e. ``"arm,sp"``). + +- uuid [mandatory] + - value type: + - A string identifying the UUID of the service implemented by this partition. + The UUID format is described in RFC 4122. + +- load-address [mandatory] + - value type: + - Physical base address of the partition in memory. Absence of this field + indicates that the partition is position independent and can be loaded at + any address chosen at boot time. + +- owner [optional] + - value type: + - A string property representing the name of the owner of the secure + partition, which may be the silicon or platform provider. + +-------------- + +*Copyright (c) 2024, Arm Limited and Contributors. All rights reserved.*