On Tue, 12 Jul 2022 at 13:58, Peng Fan <peng....@oss.nxp.com> wrote: > > > > On 7/12/2022 1:53 PM, Sumit Garg wrote: > > Hi Peng, > > > > On Tue, 12 Jul 2022 at 06:27, Peng Fan <peng....@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. >
Currently this u-boot port is targeted for embedded use-cases. > > > > 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. No currently u-boot is loaded by ABL (EFI application). So it's a direct access to the various media. -Sumit > > 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 > >>>