This patch series introduces FIT-based capsule updates alongside the
existing RAW capsule implementation, enabling atomic multi-partition
firmware updates. The implementation automatically discovers all
partitions across SCSI/UFS and eMMC devices, applies A/B slot
selection based on GPT vendor attributes, and generates a single
ESRT entry representing all partitions for simplified management.

The series also improves ESRT reporting by tracking last attempt status
for both FIT and RAW capsules.

Patch 1 adds the core FIT capsule infrastructure with comprehensive
partition discovery, A/B selection logic, and multi-partition DFU
string generation for both UFS and eMMC storage.

Patch 2 implements last attempt status tracking for FIT capsules,
enabling proper ESRT reporting with version and status information.

Patch 3 extends last attempt tracking to RAW capsules for consistent
ESRT behavior across both capsule types.

Patch 4 ensures firmware version extraction even when capsule
authentication fails, improving error reporting accuracy.

Patch 5 switches the default Qualcomm configuration from RAW to FIT
capsule support.

Patch 6 provides fvupdate_to_fit.py, a Python tool for end-to-end
conversion from XML files to deployable capsules,
with support for board-specific GUIDs, versioning, and signing.

Patch 7 adds comprehensive documentation and example XML files for
the conversion tool.

Signed-off-by: Balaji Selvanathan <[email protected]>
---
Balaji Selvanathan (7):
      qcom: capsule: add FIT capsule support with multi-partition
      efi_loader: firmware: track last attempt status for ESRT reporting
      efi_loader: firmware: add last attempt tracking for RAW capsules
      efi_loader: Extract FW version even on authentication failure
      configs: qcom: enable FIT capsule support by default
      tools: add fvupdate_to_fit.py for FIT capsule generation
      doc: add fvupdate_to_fit.py documentation and example XML

 arch/arm/mach-snapdragon/capsule_update.c        | 740 +++++++++++++++++++++--
 arch/arm/mach-snapdragon/qcom-priv.h             |  23 +
 configs/qcom_defconfig                           |   2 +-
 doc/develop/fvupdate_to_fit.rst                  | 487 +++++++++++++++
 doc/develop/fvupdate_to_fit/example_FvUpdate.xml |  43 ++
 lib/efi_loader/efi_firmware.c                    | 176 +++++-
 tools/fvupdate_to_fit.py                         | 605 ++++++++++++++++++
 7 files changed, 2006 insertions(+), 70 deletions(-)
---
base-commit: 744cf5d4e398c5f657e5c3eeb44d00fa5175dc85
change-id: 20260522-capsule-90a61c84ffb8

Best regards,
-- 
Balaji Selvanathan <[email protected]>

Reply via email to