Add pinctrl, clock drivers and SPL to support the IPPQ5210 SoC in U-Boot.

The relevant DT files are available in linux-next [1] & [2]

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
2 - 
https://lore.kernel.org/linux-arm-msm/[email protected]/

v8:     - Rebased on 
https://source.denx.de/u-boot/custodians/u-boot-snapdragon.git
        - Address Casey's review comments on v6
        - Spin off GENI Minicore support and mkmbn support as separate patches
                [PATCH] misc: qcom_geni: Add minicore support - [a]
                [PATCH 0/3] tools: qcom: mkmbn: Updates to support ipq5210 - [b]
        - Re-organize the functions from spl.c into board_spl.c and 
fit-handler.c
          and remove spl.c
        - Retained R-b tags since the code just moved
        - Removed references to MBN and multi-elf creation steps in rdp.rst 
since
          mkmbn.py takes care of it
        - Add details about the interface table in 
doc/board/qualcomm/spl-qclib.rst
        - May need to update config.mk based on the final shape of mkmbn 
patches [b]

        a - https://patchwork.ozlabs.org/project/uboot/list/?series=514770
        b - 
https://lore.kernel.org/u-boot/[email protected]/

v7:     - Fix inadvertant typo in doc/board/qualcomm/rdp.rst
        - Pick multiple R-b tags
        - No code changes

v6:     - Move binman related changes to separate series, so that the
          SPL changes can move forward.
        - Restore v3 build steps for now
        - 
https://lore.kernel.org/u-boot/[email protected]/

v5:     - Reorganize SPL related code into common and SoC specific functions
          to allow SoCs to customize according to their boot flow
        - Fix documentation related build errors
        - Please see the patches for specific changes
        - 
https://lore.kernel.org/u-boot/[email protected]/

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)
        - 
https://lore.kernel.org/u-boot/[email protected]/

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/[email protected]/

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/[email protected]/T/#u
        - 
https://lore.kernel.org/u-boot/[email protected]/

v1: 
https://lore.kernel.org/u-boot/[email protected]/

Signed-off-by: Varadarajan Narayanan <[email protected]>
---
Varadarajan Narayanan (15):
      mach-snapdragon: Kconfig: Auto select options based on configs
      mach-snapdragon: Add PBL shared data defines
      mach-snapdragon: spl: Add support for boot device detection
      mach-snapdragon: spl: Update boot device information in SMEM
      mach-snapdragon: spl: Add support for MMC booting in SPL
      mach-snapdragon: spl: Setup malloc
      mach-snapdragon: Kconfig: Add rules to create SPL images
      mach-snapdragon: spl: Load next stage FIT image
      mach-snapdragon: spl: Add DDR initialization support
      dts: ipq5210-rdp504-u-boot: add override dtsi
      clk/qcom: add clock driver for ipq5210
      pinctrl: qcom: Add ipq5210 pinctrl driver
      mach-snapdragon: spl: ipq5210: Add SPL support
      configs: Add qcom_ipq5210_mmc_defconfig
      doc: board/qualcomm: Update RDP documentation

 arch/arm/Kconfig                                |  12 +-
 arch/arm/dts/ipq5210-rdp504-u-boot.dtsi         |  12 +
 arch/arm/mach-snapdragon/Kconfig                |   7 +
 arch/arm/mach-snapdragon/Makefile               |   1 +
 arch/arm/mach-snapdragon/board_spl.c            | 290 +++++++++++++++++++-
 arch/arm/mach-snapdragon/fit-handler.c          | 324 ++++++++++++++++++++++
 arch/arm/mach-snapdragon/include/mach/pbl.h     |  57 ++++
 arch/arm/mach-snapdragon/include/mach/spl.h     |  14 +
 board/qualcomm/config.mk                        |  23 ++
 board/qualcomm/ipq5210/Makefile                 |   3 +
 board/qualcomm/ipq5210/ipq5210-spl-wrap-elf.lds |  18 ++
 board/qualcomm/ipq5210/spl-ipq5210.c            |  96 +++++++
 configs/qcom_ipq5210_mmc_defconfig              | 113 ++++++++
 doc/board/qualcomm/index.rst                    |   1 +
 doc/board/qualcomm/rdp.rst                      |  79 +++++-
 doc/board/qualcomm/spl-qclib.rst                |  76 ++++++
 drivers/clk/qcom/Kconfig                        |   8 +
 drivers/clk/qcom/Makefile                       |   1 +
 drivers/clk/qcom/clock-ipq5210.c                |  93 +++++++
 drivers/pinctrl/qcom/Kconfig                    |   8 +
 drivers/pinctrl/qcom/Makefile                   |   1 +
 drivers/pinctrl/qcom/pinctrl-ipq5210.c          | 349 ++++++++++++++++++++++++
 include/configs/ipq5210.h                       |  11 +
 23 files changed, 1575 insertions(+), 22 deletions(-)
---
base-commit: e0ef25054db31fee49d031ac337099b12c67e5b8
change-id: 20260722-spl-v8-3cedfa6b90c5
prerequisite-message-id: [email protected]
prerequisite-patch-id: e06f4f15b24c0a2b5999530d2bd810e8d5d25bc4
prerequisite-message-id: [email protected]
prerequisite-patch-id: 285af4539961420776d05b9785fce0d2c6f59faf
prerequisite-patch-id: fca45ce71c1d698831fa90bfc90b2b00817a6bf2
prerequisite-patch-id: c060a5765abbaaf96aebb1925414796edd42ddb8

Best regards,
-- 
Varadarajan Narayanan <[email protected]>

Reply via email to