This series adds support for running U-Boot in snagboot mode on Qualcomm Snapdragon platforms, targeting the Lemans-EVK board.
In snagboot mode, XBL loads U-Boot directly without initializing PSCI firmware or populating the Command DB. U-Boot then enters fastboot immediately, enabling partition flashing for manufacturing and recovery use cases. Patch 1 changes SYSRESET_PSCI from 'select' to 'imply' so it can be disabled on platforms where PSCI firmware is unavailable. Patch 2 guards show_psci_version() and qcom_psci_fixup() with CONFIG_ARM_SMCCC to prevent build failures when SMCCC is disabled. Patch 3 disables the MMU and invalidates TLBs at the earliest entry point to clear stale page tables left by previous bootloader before U-Boot sets up its own MMU. Patch 4 adds QCOM_COMMAND_DB_OPTIONAL to allow the CMD DB driver to bind successfully when CMD DB data is not populated by XBL, logging a warning instead of failing. Patch 5 adds qcom_lemans_snagboot_defconfig for Lemans-EVK, based on qcom_defconfig with snagboot-specific settings: SCSI-backed environment, optional CMD DB, PSCI reset disabled, and a bootcmd that auto-enters fastboot over USB with zero boot delay. Patch 6 adds the new defconfig to the ARM SNAPDRAGON section in MAINTAINERS. Signed-off-by: Balaji Selvanathan <[email protected]> --- Changes in v2: - Changed SYSRESET_PSCI from 'select' to 'imply' - Guard show_psci_version() and qcom_psci_fixup() with CONFIG_ARM_SMCCC - Disables the MMU and invalidates TLBs at the earliest entry point - Add qcom_lemans_snagboot_defconfig for Lemans-EVK - Link to v1: https://lore.kernel.org/u-boot/[email protected]/ --- Balaji Selvanathan (6): arm: snapdragon: Make SYSRESET_PSCI optional arm: snapdragon: Guard PSCI functions with CONFIG_ARM_SMCCC arm: snapdragon: Disable MMU early before U-Boot reset vector soc: qcom: cmd-db: Allow boot without CMD DB data configs: add qcom_lemans_snagboot_defconfig for Lemans-EVK MAINTAINERS: add qcom_lemans_snagboot_defconfig to ARM SNAPDRAGON MAINTAINERS | 1 + arch/arm/Kconfig | 2 +- arch/arm/mach-snapdragon/board.c | 14 ++++++++ arch/arm/mach-snapdragon/include/mach/boot0.h | 46 +++++++++++++++++++++++++ configs/qcom_lemans_snagboot_defconfig | 49 +++++++++++++++++++++++++++ drivers/soc/qcom/Kconfig | 16 +++++++++ drivers/soc/qcom/cmd-db.c | 10 ++++++ 7 files changed, 137 insertions(+), 1 deletion(-) --- base-commit: 26fe27b4eaddcf73e4472368a71703a68e2f67d9 change-id: 20260608-snagboot-df4b6a79a086 Best regards, -- Balaji Selvanathan <[email protected]>

