On 3/27/23 23:14, jassisinghb...@gmail.com wrote:
From: Jassi Brar <jaswinder.si...@linaro.org>
Introduce support for mtd backed storage for FWU feature and enable it on
Synquacer platform based DeveloperBox.
This revision is rebased onto patchset that trims the FWU api
https://lore.kernel.org/u-boot/20230306231747.1888513-1-jassisinghb...@gmail.com/
Changes since v3:
* Fix and Update documentation to also build optee for FWU FIP image.
* Fixed checkpatch warnings
* Made local functions static.
* Split config changes to a separate patch
* Fix authorship of three patches.
Jassi Brar (3):
dt: fwu: developerbox: enable fwu banks and mdata regions
configs: move to new flash layout and boot flow
fwu: DeveloperBox: add support for FWU
Masami Hiramatsu (3):
FWU: Add FWU metadata access driver for MTD storage regions
FWU: mtd: Add helper functions for accessing FWU metadata
tools: Add mkfwumdata tool for FWU metadata image
.../synquacer-sc2a11-developerbox-u-boot.dtsi | 49 ++-
board/socionext/developerbox/Makefile | 1 +
board/socionext/developerbox/developerbox.c | 8 +
board/socionext/developerbox/fwu_plat.c | 57 +++
configs/synquacer_developerbox_defconfig | 12 +-
doc/board/socionext/developerbox.rst | 155 +++++++-
drivers/fwu-mdata/Kconfig | 15 +
drivers/fwu-mdata/Makefile | 1 +
drivers/fwu-mdata/raw_mtd.c | 272 ++++++++++++++
include/configs/synquacer.h | 10 +
include/fwu.h | 34 ++
lib/fwu_updates/Makefile | 1 +
lib/fwu_updates/fwu_mtd.c | 164 +++++++++
tools/Kconfig | 9 +
tools/Makefile | 4 +
tools/mkfwumdata.c | 334 ++++++++++++++++++
16 files changed, 1115 insertions(+), 11 deletions(-)
create mode 100644 board/socionext/developerbox/fwu_plat.c
create mode 100644 drivers/fwu-mdata/raw_mtd.c
create mode 100644 lib/fwu_updates/fwu_mtd.c
create mode 100644 tools/mkfwumdata.c
I have played with this more and I found other things.
Ilias:
mkeficapsule is accepting only guid and mkfwumdata is accepting only uuid or
guids. And DT is having uuids only.
I think it will be good to sync it up because you need to have both version for
images generation which is a little bit painful. It should be possible to list
only guids or uuids.
And it is not clear to me how u-boot is talking to boot firmware about next boot
index. fwu_plat_get_bootidx() returns index which booted but I can't see any
hoook to tell from u-boot to boot firmware what should be image/index to boot
after capsule update.
I expect it should work like this.
Boot to u-boot - let's say index 0.
Run capsule update which will update index 1.
Inform boot firmware to boot index 1 (this step I am missing)
Call reset
Boot to u-boot index 1.
Apply accept capsule to confirm that image at index 1 is correct
in case of error (watchdog for example)
boot to u-boot index 0
apply revert capsule and disable index 1 image.
Thanks,
Michal