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

Reply via email to