[PATCH v2 0/9] New boards support: db845c and qcs404-evb

Peng Fan peng.fan at oss.nxp.com
Tue Jul 12 10:28:22 CEST 2022



On 7/12/2022 1:53 PM, Sumit Garg wrote:
> Hi Peng,
> 
> On Tue, 12 Jul 2022 at 06:27, Peng Fan <peng.fan at oss.nxp.com> wrote:
>>
>>
>>
>> On 7/8/2022 9:13 PM, Sumit Garg wrote:
>>> Add support for two new boards db845c and qcs404-evb:
>>> - db845c is a 96boards compliant platform aka RB3 based on Qualcomm
>>>     SDM845 SoC.
>>> - qcs404-evb is an evaluation board from Qualcomm based on QCS404 SoC.
>>>
>>> Both these platforms have one thing in common that u-boot is chain-loaded
>>> in 64-bit mode via Android Boot Loader (ABL) which is an EFI application.
>>> For further details on chain-loading refer to platform specific
>>
>> Just curious about the flow:
>> ABL(an EFI applicaiton)->load U-Boot->start U-Boot? or you mean U-Boot
>> run as EFI application?
>>
> 
> Here you can think of u-boot as just a replacement of the kernel image
> within the boot.img. U-boot already has a provision for
> LINUX_KERNEL_IMAGE_HEADER [1] which makes it look like a kernel image.
> Boot chain:
> 
> XBL (edk2 proprietary source code) -> ABL(an EFI applicaiton) ->
> U-boot (part of boot.img as a replacement of kernel) -> FIT image
> (part of boot.img as a replacement of ramdisk)

Oh. This is complicated boot flow. Just guess this is easy to
support Windows ARM and Android both.

> 
> Also, the final stage is configurable as u-boot allows interactions
> with various media (eMMC, USB (WIP), network (WIP) etc.)

U-Boot through XBL to access the various media or directly access.
I guess it is as U-Boot runs as EFI application, through XBL to access
the various media.

Thanks,
Peng.

> 
> [1] https://source.denx.de/u-boot/u-boot/-/blob/master/arch/arm/Kconfig#L82
> 
> -Sumit
> 
>> THanks,
>> Peng.
>>
>>> documentation:
>>> - doc/board/qualcomm/sdm845.rst
>>> - doc/board/qualcomm/qcs404.rst
>>>
>>> Changes in v2:
>>> - Added patch #1 to fix DT node overrides in starqltechn-uboot.dtsi.
>>> - Updated patch #2 commit description.
>>> - Fixed a typo (s/96Board/96Boards/) in patch #5.
>>>
>>> Sumit Garg (9):
>>>     board: starqltechn: Align DT node overrides with sdm845.dtsi
>>>     arm64: dts: sdm845: Remove redundant u-boot DT properties
>>>     clocks: sdm845: Import qcom,gcc-sdm845.h
>>>     uart: sdm845: Fix debug UART pinmux
>>>     board: qualcomm: Add support for dragonboard845c
>>>     mmc: msm_sdhci: Add SDCC version 5.0.0 support
>>>     pinctrl: qcom: Add pinctrl driver for QCS404 SoC
>>>     clocks: qcom: Add clock driver for QCS404 SoC
>>>     board: qualcomm: Add support for QCS404 EVB
>>>
>>>    arch/arm/dts/Makefile                         |   1 +
>>>    arch/arm/dts/dragonboard845c-uboot.dtsi       |  37 +++
>>>    arch/arm/dts/dragonboard845c.dts              |  44 ++++
>>>    arch/arm/dts/qcs404-evb-uboot.dtsi            |  24 ++
>>>    arch/arm/dts/qcs404-evb.dts                   |  81 ++++++
>>>    arch/arm/dts/sdm845.dtsi                      |   8 +-
>>>    arch/arm/dts/starqltechn-uboot.dtsi           |  18 +-
>>>    arch/arm/dts/starqltechn.dts                  |   2 +-
>>>    arch/arm/mach-snapdragon/Kconfig              |  25 ++
>>>    arch/arm/mach-snapdragon/Makefile             |   3 +
>>>    arch/arm/mach-snapdragon/clock-qcs404.c       |  30 +++
>>>    arch/arm/mach-snapdragon/clock-sdm845.c       |   3 +-
>>>    arch/arm/mach-snapdragon/clock-snapdragon.c   |   1 +
>>>    .../include/mach/sysmap-qcs404.h              |  13 +
>>>    arch/arm/mach-snapdragon/pinctrl-qcs404.c     |  55 ++++
>>>    arch/arm/mach-snapdragon/pinctrl-snapdragon.c |   1 +
>>>    arch/arm/mach-snapdragon/pinctrl-snapdragon.h |   1 +
>>>    arch/arm/mach-snapdragon/sysmap-qcs404.c      |  31 +++
>>>    board/qualcomm/dragonboard845c/Kconfig        |  12 +
>>>    board/qualcomm/dragonboard845c/MAINTAINERS    |   6 +
>>>    board/qualcomm/dragonboard845c/Makefile       |   9 +
>>>    board/qualcomm/dragonboard845c/db845c.its     |  63 +++++
>>>    .../dragonboard845c/dragonboard845c.c         |   9 +
>>>    board/qualcomm/qcs404-evb/Kconfig             |  15 ++
>>>    board/qualcomm/qcs404-evb/MAINTAINERS         |   6 +
>>>    board/qualcomm/qcs404-evb/Makefile            |   6 +
>>>    board/qualcomm/qcs404-evb/qcs404-evb.c        |  33 +++
>>>    board/qualcomm/qcs404-evb/qcs404-evb.its      |  64 +++++
>>>    configs/dragonboard845c_defconfig             |  28 ++
>>>    configs/qcs404evb_defconfig                   |  39 +++
>>>    doc/board/qualcomm/index.rst                  |   1 +
>>>    doc/board/qualcomm/qcs404.rst                 |  79 ++++++
>>>    doc/board/qualcomm/sdm845.rst                 | 100 ++++++-
>>>    drivers/mmc/msm_sdhci.c                       |  96 ++++---
>>>    include/configs/dragonboard845c.h             |  28 ++
>>>    include/configs/qcs404-evb.h                  |  27 ++
>>>    include/dt-bindings/clock/qcom,gcc-qcs404.h   | 180 +++++++++++++
>>>    include/dt-bindings/clock/qcom,gcc-sdm845.h   | 246 ++++++++++++++++++
>>>    38 files changed, 1363 insertions(+), 62 deletions(-)
>>>    create mode 100644 arch/arm/dts/dragonboard845c-uboot.dtsi
>>>    create mode 100644 arch/arm/dts/dragonboard845c.dts
>>>    create mode 100644 arch/arm/dts/qcs404-evb-uboot.dtsi
>>>    create mode 100644 arch/arm/dts/qcs404-evb.dts
>>>    create mode 100644 arch/arm/mach-snapdragon/clock-qcs404.c
>>>    create mode 100644 arch/arm/mach-snapdragon/include/mach/sysmap-qcs404.h
>>>    create mode 100644 arch/arm/mach-snapdragon/pinctrl-qcs404.c
>>>    create mode 100644 arch/arm/mach-snapdragon/sysmap-qcs404.c
>>>    create mode 100644 board/qualcomm/dragonboard845c/Kconfig
>>>    create mode 100644 board/qualcomm/dragonboard845c/MAINTAINERS
>>>    create mode 100644 board/qualcomm/dragonboard845c/Makefile
>>>    create mode 100644 board/qualcomm/dragonboard845c/db845c.its
>>>    create mode 100644 board/qualcomm/dragonboard845c/dragonboard845c.c
>>>    create mode 100644 board/qualcomm/qcs404-evb/Kconfig
>>>    create mode 100644 board/qualcomm/qcs404-evb/MAINTAINERS
>>>    create mode 100644 board/qualcomm/qcs404-evb/Makefile
>>>    create mode 100644 board/qualcomm/qcs404-evb/qcs404-evb.c
>>>    create mode 100644 board/qualcomm/qcs404-evb/qcs404-evb.its
>>>    create mode 100644 configs/dragonboard845c_defconfig
>>>    create mode 100644 configs/qcs404evb_defconfig
>>>    create mode 100644 doc/board/qualcomm/qcs404.rst
>>>    create mode 100644 include/configs/dragonboard845c.h
>>>    create mode 100644 include/configs/qcs404-evb.h
>>>    create mode 100644 include/dt-bindings/clock/qcom,gcc-qcs404.h
>>>    create mode 100644 include/dt-bindings/clock/qcom,gcc-sdm845.h
>>>


More information about the U-Boot mailing list