[PATCH v3 00/14] spl: ufs: add UFS boot support for Qualcomm Snapdragon in SPL

Balaji Selvanathan balaji.selvanathan at oss.qualcomm.com
Mon Jun 15 08:59:56 CEST 2026


This series adds UFS boot support in SPL for Qualcomm Snapdragon
platforms, along with the necessary driver and infrastructure
changes to support it.

Patch 1 renames SPL_UFS_SUPPORT to SPL_UFS for naming consistency.
Patch 2 renames SPL_UFS_SUPPORT to SPL_UFS for defconfigs.
Patch 3 adds a Kconfig choice for U-Boot location: sector or partition.
Patch 4 refactors spl_ufs.c to add partition-based U-Boot loading.
Patch 5 enables part_get_info_ptr() in SPL for UFS partition boot.
Patch 6 adds UFS_MODE_RAW and UFS_MODE_FS defines to spl.h.
Patch 7 adds SPL_UFS_QCOM to enable the Qualcomm UFS HC driver in SPL.
Patch 8 adds SPL_PHY_QCOM_QMP_UFS to enable the QMP UFS PHY in SPL.
Patch 9 adds SPL_CLK_STUB Kconfig for the stub clock driver in SPL.
Patch 10 updates charset.o build rule to use SPL_UFS after the rename.
Patch 11 adds SPL_QCOM_GENI Kconfig and $(PHASE_) support for GENI.
Patch 12 adds SPL_PINCTRL_QCOM_* symbols and $(PHASE_) Makefile
support for all Qualcomm pinctrl drivers.
Patch 13 adds SPL_MSM_SERIAL and SPL_MSM_GENI_SERIAL Kconfig and
$(PHASE_) support for Qualcomm serial drivers.
Patch 14 updates Qualcomm PMIC and SPMI Makefiles to use $(PHASE_).

Signed-off-by: Balaji Selvanathan <balaji.selvanathan at oss.qualcomm.com>
---
Changes in v3:
- Simplified partition selection logic in ufs_load_image_raw_partition
- Removed spl: ufs: add SPL_UFS_FS Kconfig and filesystem boot stub
- Link to v2: https://lore.kernel.org/u-boot/20260606-spl_ufs-v2-0-72fed24ef01b@oss.qualcomm.com/

Changes in v2:
- Renamed SPL_UFS_SUPPORT to SPL_UFS for naming consistency.
- Added SPL_UFS_RAW_U_BOOT_USE_SECTOR config to clearly choose between
  sector or partition
- Refactored the codes in common/spl/spl_ufs.c to use helper functions
  to make the codes readable and clear
- Add the filesystem support in SPL UFS as a seperate patch
- Correct SPL_UFS_SUPPORT config name in lib/Makefile
- Added SPL_QCOM_GENI Kconfig and $(PHASE_) support for GENI
- Added SPL_PINCTRL_QCOM_* symbols and $(PHASE_) Makefile
- Added SPL_MSM_SERIAL and SPL_MSM_GENI_SERIAL Kconfig
- Updated Qualcomm PMIC and SPMI Makefiles to use $(PHASE_)
- Link to v1: https://lore.kernel.org/u-boot/20260409-spl_ufs_only-v1-0-f7e0e243d805@oss.qualcomm.com/

Signed-off-by: Balaji Selvanathan <balaji.selvanathan at oss.qualcomm.com>

---
Balaji Selvanathan (14):
      spl: ufs: rename SPL_UFS_SUPPORT config to SPL_UFS
      configs: rename SPL_UFS_SUPPORT to SPL_UFS
      spl: ufs: add Kconfig choice for U-Boot location method
      spl: ufs: add partition-based U-Boot loading support
      part: enable part_get_info_ptr for SPL UFS partition boot
      spl: add UFS boot mode defines to spl.h
      ufs: qcom: add SPL_UFS_QCOM Kconfig and SPL build support
      phy: qcom: add SPL_PHY_QCOM_QMP_UFS for SPL UFS boot
      clk: stub: Add Kconfig option for SPL stub driver
      lib: update charset.o build rule to use SPL_UFS
      misc: qcom_geni: add SPL support for Qualcomm GENI driver
      pinctrl: qcom: add SPL support for Qualcomm pinctrl drivers
      serial: msm: add SPL support for Qualcomm serial drivers
      power: spmi: use $(PHASE_) macro for Qualcomm PMIC and SPMI

 common/spl/Kconfig                 |  51 ++++++++--
 common/spl/Makefile                |   2 +-
 common/spl/spl_ufs.c               | 151 ++++++++++++++++++++++++----
 configs/nanopi-m5-rk3576_defconfig |   2 +-
 configs/rock-4d-rk3576_defconfig   |   2 +-
 drivers/Makefile                   |   2 +-
 drivers/clk/Kconfig                |   7 ++
 drivers/misc/Kconfig               |  10 ++
 drivers/misc/Makefile              |   2 +-
 drivers/phy/qcom/Kconfig           |   7 ++
 drivers/phy/qcom/Makefile          |   2 +-
 drivers/pinctrl/qcom/Kconfig       | 201 ++++++++++++++++++++++++++++++++++++-
 drivers/pinctrl/qcom/Makefile      |  46 ++++-----
 drivers/power/pmic/Makefile        |   2 +-
 drivers/scsi/Makefile              |   2 +-
 drivers/serial/Kconfig             |  20 ++++
 drivers/serial/Makefile            |   4 +-
 drivers/spmi/Makefile              |   4 +-
 drivers/ufs/Kconfig                |  12 ++-
 drivers/ufs/Makefile               |   5 +-
 include/part.h                     |   3 +-
 include/spl.h                      |   4 +
 lib/Makefile                       |   2 +-
 23 files changed, 472 insertions(+), 71 deletions(-)
---
base-commit: 1e80ee41441c612f05787a93bbef4e6e422e29d1
change-id: 20260615-spl_ufs-5c2c4eb327aa

Best regards,
-- 
Balaji Selvanathan <balaji.selvanathan at oss.qualcomm.com>



More information about the U-Boot mailing list