[PATCH v3 0/8] qcom: implement capsule updates
Caleb Connolly
caleb.connolly at linaro.org
Mon Jun 3 14:49:15 CEST 2024
Hook up support for capsule updates loaded from disk on Qualcomm
platforms.
Most Qualcomm devices have an A/B partition layout, with most partitions
duplicated. The metadata on which slot is active is stored in the GPT
headers in the vendor-specific attribute bits of each partition.
Add support for reading this attributes via the disk_partition struct
and using them to determine which boot partition U-Boot is flashed to
and generate the appropriate DFU string.
This logic is gated behind a check to ensure that U-Boot is actually
being chainloaded and not run via some other mechanism.
SCSI support for most Qualcomm platforms is not yet enabled upstream,
but will follow in future patches.
This series enables capsule updates on the RB2, however [1] is required
for it to work properly (as otherwise MMC won't be available).
[1]: https://lore.kernel.org/u-boot/20240527-b4-clk-stub-v2-0-29013855e343@linaro.org/
To: Tom Rini <trini at konsulko.com>
To: Simon Glass <sjg at chromium.org>
To: Lukasz Majewski <lukma at denx.de>
To: Mattijs Korpershoek <mkorpershoek at baylibre.com>
To: Caleb Connolly <caleb.connolly at linaro.org>
To: Neil Armstrong <neil.armstrong at linaro.org>
To: Sumit Garg <sumit.garg at linaro.org>
Cc: Ilias Apalodimas <ilias.apalodimas at linaro.org>
Cc: u-boot at lists.denx.de
Cc: u-boot-qcom at groups.io
Changes in v3:
- Address comments in scsi dfu support
- enable CONFIG_DFU_SCSI for qcom
- Link to v2: https://lore.kernel.org/r/20240527-b4-qcom-capsule-updates-v2-0-47583d7ad428@linaro.org
Changes in v2:
- Add qcom capsule update support patches
- Link to v1: https://lore.kernel.org/r/20240409-b4-dfu-scsi-v1-0-3e1441a60376@linaro.org
---
Caleb Connolly (8):
dfu: add scsi backend
disk: expose partition type flags
mmc: msm_sdhci: work around a bug when writing
mach-snapdragon: implement capsule update support
qcom_defconfig: savedefconfig
mach-snapdragon: use SYSRESET_PSCI
mach-snapdragon: bump up heap size
qcom_defconfig: enable capsule update support
arch/arm/Kconfig | 2 +
arch/arm/mach-snapdragon/Kconfig | 3 +
arch/arm/mach-snapdragon/Makefile | 1 +
arch/arm/mach-snapdragon/board.c | 8 +-
arch/arm/mach-snapdragon/capsule_update.c | 147 ++++++++++
arch/arm/mach-snapdragon/qcom-priv.h | 6 +
configs/qcom_defconfig | 19 +-
disk/part_efi.c | 1 +
doc/usage/dfu.rst | 32 +++
drivers/dfu/Kconfig | 7 +
drivers/dfu/Makefile | 1 +
drivers/dfu/dfu.c | 5 +-
drivers/dfu/dfu_scsi.c | 435 ++++++++++++++++++++++++++++++
drivers/mmc/msm_sdhci.c | 7 +
include/configs/qcom.h | 5 +
include/dfu.h | 26 ++
include/part.h | 1 +
17 files changed, 695 insertions(+), 11 deletions(-)
---
change-id: 20240523-b4-qcom-capsule-updates-ea2e4f8f0ff0
base-commit: 5d8881a0801241d68701e8644d495f1d535506f0
// Caleb (they/them)
More information about the U-Boot
mailing list