doc: fwu: make changes to reflect support for FWU metadata v2

The FWU Update Agent in U-Boot supports both versions of the FWU
metadata. Make changes in the documentation to reflect this.

Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
Tested-by: Michal Simek <michal.simek@amd.com>
This commit is contained in:
Sughosh Ganu 2024-03-22 16:27:31 +05:30 committed by Tom Rini
parent cdc4b46502
commit 7ef8436970
2 changed files with 20 additions and 7 deletions

View file

@ -116,6 +116,7 @@ configs/synquacer_developerbox_defconfig enables default FWU configuration ::
CONFIG_FWU_NUM_BANKS=2 CONFIG_FWU_NUM_BANKS=2
CONFIG_FWU_NUM_IMAGES_PER_BANK=1 CONFIG_FWU_NUM_IMAGES_PER_BANK=1
CONFIG_CMD_FWU_METADATA=y CONFIG_CMD_FWU_METADATA=y
CONFIG_FWU_MDATA_V2=y
And build it:: And build it::
@ -129,7 +130,9 @@ And build it::
By default, the CONFIG_FWU_NUM_BANKS and CONFIG_FWU_NUM_IMAGES_PER_BANKS are By default, the CONFIG_FWU_NUM_BANKS and CONFIG_FWU_NUM_IMAGES_PER_BANKS are
set to 2 and 1 respectively. This uses FIP (Firmware Image Package) type image set to 2 and 1 respectively. This uses FIP (Firmware Image Package) type image
which contains TF-A, U-Boot and OP-TEE (the OP-TEE is optional). which contains TF-A, U-Boot and OP-TEE (the OP-TEE is optional).
You can use fiptool to compose the FIP image from those firmware images. You can use fiptool to compose the FIP image from those firmware
images. There are two versions of the FWU metadata, of which the
platform enables version 2 by default.
Rebuild SCP firmware Rebuild SCP firmware
-------------------- --------------------
@ -194,7 +197,7 @@ following UUIDs.
These UUIDs are used for making a FWU metadata image. These UUIDs are used for making a FWU metadata image.
u-boot$ ./tools/mkfwumdata -i 1 -b 2 \ u-boot$ ./tools/mkfwumdata -v 2 -i 1 -b 2 \
17e86d77-41f9-4fd7-87ec-a55df9842de5,10c36d7d-ca52-b843-b7b9-f9d6c501d108,5a66a702-99fd-4fef-a392-c26e261a2828,a8f868a1-6e5c-4757-878d-ce63375ef2c0 \ 17e86d77-41f9-4fd7-87ec-a55df9842de5,10c36d7d-ca52-b843-b7b9-f9d6c501d108,5a66a702-99fd-4fef-a392-c26e261a2828,a8f868a1-6e5c-4757-878d-ce63375ef2c0 \
../devbox-fwu-mdata.img ../devbox-fwu-mdata.img

View file

@ -46,6 +46,8 @@ The feature can be enabled by specifying the following configs::
CONFIG_FWU_NUM_BANKS=<val> CONFIG_FWU_NUM_BANKS=<val>
CONFIG_FWU_NUM_IMAGES_PER_BANK=<val> CONFIG_FWU_NUM_IMAGES_PER_BANK=<val>
CONFIG_FWU_MDATA_V1=y or CONFIG_FWU_MDATA_V2=y
in the .config file in the .config file
By enabling the CONFIG_CMD_FWU_METADATA config option, the By enabling the CONFIG_CMD_FWU_METADATA config option, the
@ -58,6 +60,14 @@ enable the FWU Multi Bank Update functionality. Please refer to the
section :ref:`uefi_capsule_update_ref` for more details on generation section :ref:`uefi_capsule_update_ref` for more details on generation
of the UEFI capsule. of the UEFI capsule.
FWU Metadata
------------
U-Boot supports both versions(1 and 2) of the FWU metadata defined in
the two revisions of the specification. Support can be enabled for
either of the two versions through a config flag. The mkfwumdata tool
can generate metadata for both the supported versions.
Setting up the device for GPT partitioned storage Setting up the device for GPT partitioned storage
------------------------------------------------- -------------------------------------------------
@ -94,12 +104,12 @@ of. Each GPT partition entry in the GPT header has two GUIDs::
* UniquePartitionGUID * UniquePartitionGUID
The PartitionTypeGUID value should correspond to the The PartitionTypeGUID value should correspond to the
``image_type_uuid`` field of the FWU metadata. This field is used to ``image_type_guid`` field of the FWU metadata. This field is used to
identify a given type of updatable firmware image, e.g. U-Boot, identify a given type of updatable firmware image, e.g. U-Boot,
OP-TEE, FIP etc. This GUID should also be used for specifying the OP-TEE, FIP etc. This GUID should also be used for specifying the
`--guid` parameter when generating the capsule. `--guid` parameter when generating the capsule.
The UniquePartitionGUID value should correspond to the ``image_uuid`` The UniquePartitionGUID value should correspond to the ``image_guid``
field in the FWU metadata. This GUID is used to identify images of a field in the FWU metadata. This GUID is used to identify images of a
given image type in different banks. given image type in different banks.
@ -108,8 +118,8 @@ metadata partitions. This would be the PartitionTypeGUID for the
metadata partitions. Similarly, the UEFI specification defines the ESP metadata partitions. Similarly, the UEFI specification defines the ESP
GUID to be be used. GUID to be be used.
When generating the metadata, the ``image_type_uuid`` and the When generating the metadata, the ``image_type_guid`` and the
``image_uuid`` values should match the *PartitionTypeGUID* and the ``image_guid`` values should match the *PartitionTypeGUID* and the
*UniquePartitionGUID* values respectively. *UniquePartitionGUID* values respectively.
Performing the Update Performing the Update
@ -181,5 +191,5 @@ empty capsule would be::
Links Links
----- -----
* [1] https://developer.arm.com/documentation/den0118/a/ - FWU Specification * [1] https://developer.arm.com/documentation/den0118/ - FWU Specification
* [2] https://git.codelinaro.org/linaro/dependable-boot/mbfw/uploads/6f7ddfe3be24e18d4319e108a758d02e/mbfw.pdf - Dependable Boot Specification * [2] https://git.codelinaro.org/linaro/dependable-boot/mbfw/uploads/6f7ddfe3be24e18d4319e108a758d02e/mbfw.pdf - Dependable Boot Specification