[PATCH 0/7] qcom: Add FIT capsule support with multi-partition updates
Balaji Selvanathan
balaji.selvanathan at oss.qualcomm.com
Fri May 22 08:09:28 CEST 2026
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 <balaji.selvanathan at oss.qualcomm.com>
---
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 <balaji.selvanathan at oss.qualcomm.com>
More information about the U-Boot
mailing list