FWU: Add support for the FWU Multi Bank Update feature
authorSughosh Ganu <sughosh.ganu@linaro.org>
Fri, 21 Oct 2022 12:46:03 +0000 (18:16 +0530)
committerTom Rini <trini@konsulko.com>
Mon, 31 Oct 2022 18:47:32 +0000 (14:47 -0400)
commit86794052418b7aa15d94025add3082cd357a0b12
treef41630f0e51fb7f25db164009d8af79ad4c25267
parent7e9814cc6c1dcda8cb8028e1d34483387889e149
FWU: Add support for the FWU Multi Bank Update feature

The FWU Multi Bank Update feature supports updating firmware images
to one of multiple sets(also called banks) of images. The firmware
images are clubbed together in banks, with the system booting images
from the active bank. Information on the images such as which bank
they belong to is stored as part of the metadata structure, which is
stored on the same storage media as the firmware images on a dedicated
partition.

At the time of update, the metadata is read to identify the bank to
which the images need to be flashed(update bank). On a successful
update, the metadata is modified to set the updated bank as active
bank to subsequently boot from.

Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
drivers/Kconfig
drivers/Makefile
include/fwu.h
lib/Kconfig
lib/Makefile
lib/efi_loader/efi_capsule.c
lib/efi_loader/efi_firmware.c
lib/fwu_updates/Kconfig [new file with mode: 0644]
lib/fwu_updates/Makefile [new file with mode: 0644]
lib/fwu_updates/fwu.c