[PATCH v4 00/13] Qualcomm IPQ5210 SoC bringup
Varadarajan Narayanan
varadarajan.narayanan at oss.qualcomm.com
Thu Jun 4 11:31:19 CEST 2026
Add pinctrl, clock drivers and SPL to support the IPPQ5210 SoC in U-Boot.
The relevant DT files are available in linux-next [1].
Working features, as tested on RDP504:
* Serial console
* UART
* MMC
* Boot sequence transitions from Boot ROM to U-Boot SPL, proprietary
binaries (a.k.a QCLib) load and execute as appropriate and eventual
jump to U-Boot.
* The QCLib handles
- DDR initialization
- Clock setup
1 - https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm64/boot/dts/qcom/ipq5210.dtsi
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm64/boot/dts/qcom/ipq5210-rdp504.dts
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/include/dt-bindings/clock/qcom,ipq5210-gcc.h
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/include/dt-bindings/reset/qcom,ipq5210-gcc.h
v4: - Add binman based image creation support instead of special scripts
- Identify boot media based on PBL shared info instead of CONFIG_xxx
- Address v3 feedback (see individual patch for details)
v3: - Move stack range
- Split spl.c patch
- Move documentation towards the end of the series
- Pick couple of R-b
- https://lore.kernel.org/u-boot/20260416053928.2834699-1-varadarajan.narayanan@oss.qualcomm.com/
v2: - Add QCOM_GENI_MINICORE config option
- Move minicore register settings to separate file and include
if QCOM_GENI_MINICORE is enabled
- Remove bootph-all from override dts and moved them to kernel
DT - https://lore.kernel.org/linux-arm-msm/20260409-add_bootph-v1-1-cb2b5093f7d7@oss.qualcomm.com/T/#u
- https://lore.kernel.org/u-boot/20260410091154.1001021-1-varadarajan.narayanan@oss.qualcomm.com/
v1: https://lore.kernel.org/u-boot/20260408091136.2794546-1-varadarajan.narayanan@oss.qualcomm.com/
Varadarajan Narayanan (13):
binman: Ignore noload segments for image numbering
binman: qcom: Add type definitions for Qualcomm binaries
dts: ipq5210-rdp504-u-boot: add override dtsi
clk/qcom: add initial clock driver for ipq5210
pinctrl: qcom: Add ipq5210 pinctrl driver
misc: qcom_geni: Add minicore support
mach-snapdragon: Add PBL shared data defines
spl: Include SMEM driver in SPL
mach-snapdragon: Add initial support for IPQ5210 SPL
mach-snapdragon: spl: Update SMEM with boot details
mach-snapdragon: Add commands to create wrapper ELF
configs: add qcom_ipq5210_mmc_defconfig
doc: board/qualcomm: Update RDP build instructions
arch/arm/Kconfig | 5 +-
arch/arm/dts/ipq5210-rdp504-u-boot.dtsi | 128 +++
arch/arm/mach-snapdragon/Kconfig | 7 +
arch/arm/mach-snapdragon/Makefile | 3 +
.../mach-snapdragon/ipq5210-spl-wrap-elf.lds | 18 +
arch/arm/mach-snapdragon/qcom-priv.h | 52 ++
arch/arm/mach-snapdragon/spl.c | 749 ++++++++++++++++++
common/spl/Kconfig | 8 +
configs/qcom_ipq5210_mmc_defconfig | 106 +++
doc/board/qualcomm/rdp.rst | 83 +-
drivers/Makefile | 1 +
drivers/clk/qcom/Kconfig | 8 +
drivers/clk/qcom/Makefile | 1 +
drivers/clk/qcom/clock-ipq5210.c | 98 +++
drivers/misc/Kconfig | 6 +
drivers/misc/Makefile | 1 +
drivers/misc/qcom_geni-minicore.c | 102 +++
drivers/misc/qcom_geni.c | 100 ++-
drivers/pinctrl/qcom/Kconfig | 8 +
drivers/pinctrl/qcom/Makefile | 1 +
drivers/pinctrl/qcom/pinctrl-ipq5210.c | 349 ++++++++
include/smem.h | 3 +
include/soc/qcom/geni-se.h | 5 +
include/soc/qcom/qup-fw-load.h | 12 +
scripts/Makefile.xpl | 24 +
tools/binman/elf.py | 4 +-
tools/binman/etype/qcom_appsbl.py | 18 +
tools/binman/etype/qcom_config.py | 21 +
tools/binman/etype/qcom_lib.py | 21 +
29 files changed, 1926 insertions(+), 16 deletions(-)
create mode 100644 arch/arm/dts/ipq5210-rdp504-u-boot.dtsi
create mode 100644 arch/arm/mach-snapdragon/ipq5210-spl-wrap-elf.lds
create mode 100644 arch/arm/mach-snapdragon/spl.c
create mode 100644 configs/qcom_ipq5210_mmc_defconfig
create mode 100644 drivers/clk/qcom/clock-ipq5210.c
create mode 100644 drivers/misc/qcom_geni-minicore.c
create mode 100644 drivers/pinctrl/qcom/pinctrl-ipq5210.c
create mode 100644 tools/binman/etype/qcom_appsbl.py
create mode 100644 tools/binman/etype/qcom_config.py
create mode 100644 tools/binman/etype/qcom_lib.py
--
2.34.1
More information about the U-Boot
mailing list