[PATCH v3 0/8] qcom: implement capsule updates

Sumit Garg sumit.garg at linaro.org
Wed Jun 5 07:31:55 CEST 2024


Hi Caleb,

On Mon, 3 Jun 2024 at 18:19, Caleb Connolly <caleb.connolly at linaro.org> wrote:
>
> 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.

It's good to see capsule updates support coming up for Qualcomm
platforms. AFAICS, with this series we only update U-Boot on the
current active partition. IOW, real A/B support is still not
supported. Do you think it is possible for U-Boot to update metadata
in GPT headers and for proprietary bootloaders to pick up the U-Boot
from the updated partition?

-Sumit

>
> 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