Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
d2b67fa
arm: dts: qcom: nord-ride: add qcom-hwinfo node
aswinm94 Sep 7, 2026
15e729d
Revert "mach-snapdragon: skip redundant SCSI rescan for capsule updates"
aswinm94 Sep 6, 2026
c22b01a
scsi: Add scsi_scan_new() to scan only new devices
aswinm94 Sep 6, 2026
a362d4b
arm: qcom: rescan only newly added SCSI devices for capsule update
aswinm94 Sep 6, 2026
e7fc299
Revert "[qcom-next] SPL Lemans Fixes" (PR #85)
balajiselvanathan Sep 2, 2026
f458f6b
Revert "[qcom-next] Add U-Boot SPL support for Lemans EVK" (PR #79)
balajiselvanathan Sep 2, 2026
49d2451
Revert "[qcom-next] Add SPL support for Qualcomm Snapdragon SoCs" (PR…
balajiselvanathan Sep 2, 2026
9bc36de
config.mk: support vendor generic includes
kcxt May 11, 2026
198dbcc
tools: qcom: introduce mkmbn library
kcxt May 11, 2026
d2668ad
tools: qcom: add mkmbn.py
kcxt May 11, 2026
1d03898
doc: board/qualcomm: update docs for new u-boot.mbn target
kcxt May 11, 2026
edb6951
mach-snapdragon: add kconfig infra for building MBN files
kcxt May 11, 2026
4c8505b
configs: qcom: use mkmbn and stop building ELF files
kcxt May 11, 2026
9cc5a3c
Makefile: add SPL_REMAKE_ELF_LDSCRIPT feature
Mis012 May 21, 2026
d76f2af
of_live: support in SPL
Mis012 May 21, 2026
ffa8586
drivers: allow clk_stub and spmi in SPL
Mis012 May 21, 2026
d3d8399
mach-snapdragon: boot0.h: split out msm8916_boot0.h
Mis012 May 21, 2026
65cacef
qualcomm: add u-boot-spl-elf-sdm845.lds
Mis012 May 21, 2026
e40f45c
mach-snapdragon: Kconfig: fix duplicate SYS_MALLOC_LEN
Mis012 May 21, 2026
ca723b1
mach-snapdragon: Kconfig: changes / additions to support SPL
Mis012 May 21, 2026
5ca4990
mach-snapdragon: boot0.h: add sdm845_spl_boot0.h
Mis012 May 21, 2026
e7d20c8
mach-snapdragon: move board_usb_init to dragonboard410c.c
Mis012 May 21, 2026
c3a7e8b
mach-snapdragon: add board_spl.c and split out common code
Mis012 May 21, 2026
246b6fc
qualcomm: add defconfig, env and docs for SPL on sdm845
Mis012 May 21, 2026
ea50dba
dts: add u-boot specific sdm845 .dtsi and a .dtsi for shift-axolotl
Mis012 May 21, 2026
da54e12
misc: qcom_geni: Add minicore support
varada-qcom Jul 16, 2026
57ff847
mach-snapdragon: Kconfig: Auto select options based on configs
varada-qcom Jul 16, 2026
2cbd836
mach-snapdragon: Add PBL shared data defines
varada-qcom Jun 30, 2026
54bac9a
mach-snapdragon: spl: Update boot device information in SMEM
varada-qcom Jul 16, 2026
8dc38c8
mach-snapdragon: spl: Add support for MMC booting in SPL
varada-qcom Jul 16, 2026
d3f7a0f
mach-snapdragon: Kconfig: Add rules to create SPL images
varada-qcom Jul 15, 2026
70c1d0a
mach-snapdragon: spl: Load next stage FIT image
varada-qcom Jul 16, 2026
ad563a6
mach-snapdragon: spl: Add DDR initialization support
varada-qcom Jul 16, 2026
43cbce2
mach-snapdragon: Add Qclib handling support
varada-qcom Aug 25, 2026
def85c6
dts: ipq5210-rdp504-u-boot: add override dtsi
varada-qcom Jun 30, 2026
49e9b6a
clk/qcom: add clock driver for ipq5210
varada-qcom Jun 30, 2026
e9e4027
pinctrl: qcom: Add ipq5210 pinctrl driver
varada-qcom Jun 30, 2026
54b513b
mach-snapdragon: spl: ipq5210: Add SPL support
varada-qcom Jul 16, 2026
7d4b66d
configs: Add qcom_ipq5210_mmc_defconfig
varada-qcom Jul 16, 2026
9ee9ea6
doc: board/qualcomm: Update RDP build instructions
varada-qcom Jun 30, 2026
1ebc3e5
configs: qcom_ipq5210_mmc: fix SPL build
Sep 3, 2026
b703a8b
mach-snapdragon: Kconfig: Add SPL_QCOM_BOOT_FROM_PBL and SPL_WRAPPER_…
smadhesu Sep 8, 2026
6fa4b4c
mach-snapdragon: pbl-shared-data: Gate boot-device detection on SPL_Q…
smadhesu Sep 8, 2026
020145a
pinctrl: qcom: Add SPL_PINCTRL_QCOM_NORD Kconfig option
smadhesu Sep 8, 2026
9d868fa
configs: qcom: Add qcom_nord_ride_spl_defconfig
smadhesu Sep 3, 2026
7736b96
board: qualcomm: nord: Add SPL board support for Nord-Ride
smadhesu Sep 8, 2026
c50c6f8
mach-snapdragon: fit-handler: Pass TOC FDT load address to BL32
smadhesu Sep 8, 2026
beabbfd
configs: qcom_nord_ride_spl: Disable SPL_MMC
smadhesu Sep 8, 2026
14515d7
common: spl: Add progress prints for FIT image loading and BL31 entry
smadhesu Sep 8, 2026
9b5e7ea
arm64: dts: qcom: nord-ride: Tag SPL-required nodes with bootph-all
smadhesu Sep 8, 2026
8896d72
mach-snapdragon: Makefile.xpl: Use 4K page size for nord wrap-elf
smadhesu Sep 8, 2026
99cfcf9
misc: qcom_geni: add QCOM_GENI_FW_LOAD to gate late fw init
aswinm94 Aug 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -580,6 +580,7 @@ config BUILD_TARGET
default "u-boot.itb" if !BINMAN && SPL_LOAD_FIT && (ARCH_ROCKCHIP || \
RISCV || ARCH_ZYNQMP)
default "u-boot.kwb" if (ARCH_KIRKWOOD || ARMADA_32BIT) && !SPL
default "u-boot.mbn" if ARCH_SNAPDRAGON && QCOM_GENERATE_MBN
help
Some SoCs need special image types (e.g. U-Boot binary
with a special header) as build targets. By defining
Expand Down
11 changes: 7 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2012,15 +2012,18 @@ u-boot.elf: u-boot.bin u-boot-elf.lds FORCE
quiet_cmd_u-boot-spl-elf ?= LD $@
cmd_u-boot-spl-elf ?= $(LD) spl/u-boot-spl-elf.o -o $@ \
$(if $(CONFIG_SYS_BIG_ENDIAN),-EB,-EL) \
-T u-boot-elf.lds --defsym=$(CONFIG_PLATFORM_ELFENTRY)=$(CONFIG_SPL_TEXT_BASE) \
-T spl/u-boot-spl-elf.lds --defsym=$(CONFIG_PLATFORM_ELFENTRY)=$(CONFIG_SPL_TEXT_BASE) \
-Ttext=$(CONFIG_SPL_TEXT_BASE)
spl/u-boot-spl.elf: spl/u-boot-spl.bin u-boot-elf.lds
spl/u-boot-spl.elf: spl/u-boot-spl.bin spl/u-boot-spl-elf.lds FORCE
$(Q)$(OBJCOPY) -I binary $(PLATFORM_ELFFLAGS) $< spl/u-boot-spl-elf.o
$(call if_changed,u-boot-spl-elf)

REMAKE_ELF_LDSCRIPT := $(addprefix $(srctree)/,$(CONFIG_REMAKE_ELF_LDSCRIPT:"%"=%))
SPL_REMAKE_ELF_LDSCRIPT := $(addprefix $(srctree)/,$(CONFIG_SPL_REMAKE_ELF_LDSCRIPT:"%"=%))

u-boot-elf.lds: $(REMAKE_ELF_LDSCRIPT) prepare FORCE
spl/u-boot-spl-elf.lds: $(SPL_REMAKE_ELF_LDSCRIPT) prepare FORCE
$(call if_changed_dep,cpp_lds)

u-boot-elf.lds: arch/u-boot-elf.lds prepare FORCE
$(call if_changed_dep,cpp_lds)

PHONY += prepare0
Expand Down
32 changes: 31 additions & 1 deletion arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1139,6 +1139,7 @@ config ARCH_SNAPDRAGON
select DM_GPIO
select DM_SERIAL
select DM_RESET
select EVENT
select POWER_DOMAIN
select GPIO_EXTRA_HEADER
select OF_CONTROL
Expand All @@ -1149,10 +1150,39 @@ config ARCH_SNAPDRAGON
select SAVE_PREV_BL_FDT_ADDR if !ENABLE_ARM_SOC_BOOT0_HOOK && !SPL
select LINUX_KERNEL_IMAGE_HEADER if !ENABLE_ARM_SOC_BOOT0_HOOK && !SPL
select SYSRESET
select SYSRESET_PSCI if !QCOM_SNAGBOOT_MODE
select SYSRESET_PSCI if !QCOM_SNAGBOOT_MODE || !SPL
select ANDROID_BOOT_IMAGE_IGNORE_BLOB_ADDR
select MMU_PGPROT
select SUPPORT_SPL

select OF_LIVE
select SPL_OF_LIVE if SPL
select ARMV8_SPL_EXCEPTION_VECTORS if SPL
select ENABLE_ARM_SOC_BOOT0_HOOK if SPL
select SPL_DM if SPL
select SPL_DM_GPIO if SPL
select SPL_DM_PMIC if SPL && DM_PMIC
select SPL_DM_USB_GADGET if SPL && USB
select SPL_ENV_SUPPORT if SPL
select SPL_EVENT if SPL
select SPL_GPIO if SPL
select SPL_HAS_BSS_LINKER_SECTION if SPL && SPL_SEPARATE_BSS
select SPL_LIBCOMMON_SUPPORT if SPL
select SPL_LIBDISK_SUPPORT if SPL
select SPL_LIBGENERIC_SUPPORT if SPL
select SPL_OF_CONTROL if SPL
select SPL_PINCONF if SPL
select SPL_PINCTRL if SPL
select SPL_PINCTRL_FULL if SPL
select SPL_PINCTRL_GENERIC if SPL
select SPL_PINCONF_RECURSIVE if SPL
select SPL_PINMUX if SPL
select SPL_SPMI if SPL
select SPL_SPMI_MSM if SPL
select SPL_SPRINTF if SPL
select SPL_STRTO if SPL
select SPL_USB_GADGET if SPL && USB
imply SPL_MMC if SPL
imply OF_UPSTREAM
imply CMD_DM
imply DM_USB_GADGET
Expand Down
120 changes: 2 additions & 118 deletions arch/arm/dts/ipq5210-rdp504-u-boot.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -6,123 +6,7 @@
*/

/ {
/* Will be removed when SMEM parsing is updated */
memory@80000000 {
bootph-all;
device_type = "memory";
reg = <0x0 0x80000000 0x0 0x20000000>;
};

binman: binman {
description = "IPQ5210 boot loader";
fit {
description = "IPQ5210 Boot Loader FIT";
fit,fdt-list = "of-list";
fit,external-offset = <0x0>;

images {
@qcom-config-SEQ {
fit,operation = "split-elf";
description = "QC Config";
type = "qcom-config";
arch = "arm64";
os = "elf";
compression = "none";
fit,load;
fit,entry;
fit,data;

qcom-config {
};
};

@qcom-lib-SEQ {
fit,operation = "split-elf";
description = "QC Lib";
arch = "arm64";
os = "elf";
type = "qcom-lib";
compression = "none";
fit,load;
fit,entry;
fit,data;

qcom-lib {
};
};

@atf-SEQ {
fit,operation = "split-elf";
description = "ARM Trusted Firmware";
type = "atf_bl31";
arch = "arm64";
os = "arm-trusted-firmware";
compression = "none";
fit,load;
fit,entry;
fit,data;

atf-bl31 {
};
};

@qcom-appsbl-SEQ {
fit,operation = "split-elf";
type = "qcom-appsbl";
os = "U-Boot";
arch = "arm64";
compression = "none";
fit,load;
fit,entry;
fit,data;

qcom-appsbl {
};
};

@tee-SEQ {
fit,operation = "split-elf";
description = "TEE";
type = "tee_os";
arch = "arm64";
os = "tee";
compression = "none";
fit,load;
fit,entry;
fit,data;

tee-os {
};
};
};

configurations {
default = "pre-ddr";

pre-ddr {
description = "pre-ddr";
loadables = "qcom-config-1",
"qcom-config-2",
"qcom-config-3",
"qcom-config-4",
"qcom-lib-1",
"qcom-lib-2",
"qcom-lib-3",
"qcom-lib-4";
};

post-ddr {
description = "post-ddr";
loadables = "atf-1",
"atf-2",
"atf-3",
"atf-4",
"atf-5",
"atf-6",
"qcom-appsbl-1",
"tee-1";
};
};
};
reserved-memory {
/delete-node/ bootloader@87800000;
};
};
54 changes: 13 additions & 41 deletions arch/arm/dts/lemans-evk-u-boot.dtsi
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
* Copyright (c) 2026, Qualcomm Innovation Center, Inc. All rights reserved.
*/

/ {
clocks {
/* Fixed clocks needed by GCC */
xo_board_clk {
bootph-all;
};

sleep_clk {
bootph-all;
};
/* Will be removed when bootloader updates later */
memory@80000000 {
device_type = "memory";
reg = <0x0 0x80000000 0x0 0x3ee00000>,
<0x0 0xc0000000 0x0 0x0fd00000>,
<0xD 0x00000000 0x2 0x54100000>,
<0xA 0x80000000 0x1 0x80000000>,
<0x9 0x00000000 0x1 0x80000000>,
<0x1 0x00000000 0x3 0x00000000>,
<0x0 0xd0000000 0x0 0x01900000>,
<0x0 0xd3500000 0x0 0x2cb00000>;
};

/* IMEM boot cookie + TCSR HW version offsets */
Expand All @@ -27,40 +29,10 @@
};
};

&ufs_mem_hc {
bootph-all; /* Enable UFS for SPL */
};

&ufs_mem_phy {
bootph-all;
};

&gcc {
bootph-all; /* Enable GCC for SPL */
};

/* RPMH clock controller - required by GCC */
&rpmhcc {
bootph-all;
};

/* Apps RSC - parent of rpmhcc and rpmhpd */
&apps_rsc {
bootph-all;
};

/* UART10 - console serial port */
&uart10 {
bootph-all;
};

&tlmm {
bootph-all; /* Make TLMM GPIO controller available in SPL */
};

/* Enter Qualcomm EDL/download mode via "reset -edl". */
&{/psci} {
reboot-mode {
mode-edl = <0x80000000 0x00000001>;
};
};

41 changes: 41 additions & 0 deletions arch/arm/dts/nord-ride-u-boot.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,22 @@

#include <dt-bindings/clock/qcom,nord-negcc.h>

&xo_board_clk {
bootph-all;
};

&sleep_clk {
bootph-all;
};

/ {
negcc: clock-controller@8900000 {
compatible = "qcom,nord-negcc";
reg = <0x0 0x08900000 0x0 0xf4200>;
#clock-cells = <1>;
#reset-cells = <1>;
#power-domain-cells = <1>;
bootph-all;
};

ufs_mem_phy: phy@1d40000 {
Expand All @@ -38,21 +47,49 @@
#phy-cells = <0>;

status = "okay";
bootph-all;
};

smem {
compatible = "qcom,smem";
memory-region = <&smem_region>;
bootph-all;
};

sram: sram@146d8000 {
compatible = "qcom,nord-imem", "syscon", "simple-mfd";
reg = <0x0 0x146d8000 0x0 0x1000>;
ranges = <0x0 0x0 0x146d8000 0x1000>;

#address-cells = <1>;
#size-cells = <1>;
};

/* IMEM boot cookie + TCSR HW version offsets */
qcom_hwinfo: qcom-hwinfo {
compatible = "qcom,hwinfo";

imem = <&sram>;
imem-boot-cookie-offset = <0x0>;

tcsr = <&tcsr>;
tcsr-hw-version-offset = <0x68000>;
};

};

&reserved_memory {
smem_region: smem-region@89b00000 {
reg = <0x0 0x89b00000 0x0 0x400000>;
no-map;
bootph-all;
};
};

&tlmm {
bootph-all;
};

&ufs_mem_hc {
compatible = "qcom,sa8797p-ufshc",
"qcom,sa8255p-ufshc",
Expand Down Expand Up @@ -80,6 +117,8 @@

phys = <&ufs_mem_phy>;
phy-names = "ufsphy";

bootph-all;
};

&uart4 {
Expand All @@ -92,12 +131,14 @@
compatible = "qcom,sa8797p-geni-debug-uart",
"qcom,sa8255p-geni-debug-uart",
"qcom,geni-debug-uart";
bootph-all;
};

&qupv3_0 {
compatible = "qcom,sa8797p-geni-se-qup",
"qcom,sa8255p-geni-se-qup",
"qcom,geni-se-qup";
bootph-all;
};

&qupv3_1 {
Expand Down
2 changes: 2 additions & 0 deletions arch/arm/dts/sdm845-shift-axolotl-u-boot.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
// SPDX-License-Identifier: GPL-2.0
#include "sdm845-u-boot.dtsi"
16 changes: 16 additions & 0 deletions arch/arm/dts/sdm845-u-boot.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// SPDX-License-Identifier: GPL-2.0
&gcc {
bootph-all;
};

&usb_1_hsphy {
bootph-all;
};

&usb_1_dwc3 {
bootph-all;
};

&rpmhcc {
bootph-all;
};
Loading