Hi Sumit, On Tue, 12 Jul 2022 at 01:12, Sumit Garg <sumit.g...@linaro.org> wrote: > > Add support for 96Boards Dragonboard 845C aka Robotics RB3 development > platform. This board complies with 96Boards Open Platform Specifications. > > Features: > - Qualcomm Snapdragon SDA845 SoC > - 4GiB RAM > - 64GiB UFS drive > > U-boot is chain loaded by ABL in 64-bit mode as part of boot.img. > For detailed build and boot instructions, refer to > doc/board/qualcomm/sdm845.rst, board: dragonboard845c. > > Signed-off-by: Sumit Garg <sumit.g...@linaro.org> > Reviewed-by: Ramon Fried <rfried....@gmail.com> > --- > arch/arm/dts/dragonboard845c-uboot.dtsi | 37 +++++++ > arch/arm/dts/dragonboard845c.dts | 44 ++++++++ > arch/arm/mach-snapdragon/Kconfig | 14 +++ > 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 ++ > configs/dragonboard845c_defconfig | 28 +++++ > doc/board/qualcomm/sdm845.rst | 100 +++++++++++++++--- > include/configs/dragonboard845c.h | 28 +++++ > 11 files changed, 337 insertions(+), 13 deletions(-) > create mode 100644 arch/arm/dts/dragonboard845c-uboot.dtsi > create mode 100644 arch/arm/dts/dragonboard845c.dts > 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 configs/dragonboard845c_defconfig > create mode 100644 include/configs/dragonboard845c.h > [..]
> diff --git a/doc/board/qualcomm/sdm845.rst b/doc/board/qualcomm/sdm845.rst > index b6642c9579..8ef4749287 100644 > --- a/doc/board/qualcomm/sdm845.rst > +++ b/doc/board/qualcomm/sdm845.rst > @@ -35,9 +35,25 @@ Pack android boot image > ^^^^^^^^^^^^^^^^^^^^^^^ > We'll assemble android boot image with ``u-boot.bin`` instead of linux > kernel, > and FIT image instead of ``initramfs``. Android bootloader expect gzipped > kernel > -with appended dtb, so let's mimic linux to satisfy stock bootloader: > +with appended dtb, so let's mimic linux to satisfy stock bootloader. > [..] > +The dragonboard845c is a Qualcomm Robotics RB3 Development Platform, based on > +the Qualcomm SDM845 SoC. > + > +Steps: > + > +- Build u-boot:: > + > + $ export CROSS_COMPILE=<aarch64 toolchain prefix> > + $ make dragonboard845c_defconfig > + $ make > + > +- Create dummy dtb:: > + > + workdir=/tmp/prepare_payload > + mkdir -p "$workdir" > + mock_dtb="$workdir"/payload_mock.dtb > + > + dtc -I dts -O dtb -o "$mock_dtb" << EOF > + /dts-v1/; > + / { > + #address-cells = <2>; > + #size-cells = <2>; > + > + memory@80000000 { > + device_type = "memory"; > + /* We expect the bootloader to fill in the size */ > + reg = <0 0x80000000 0 0>; > + }; > + > + chosen { }; > + }; > + EOF > + > +- gzip u-boot:: > + > + gzip u-boot.bin > + > +- Append dtb to gzipped u-boot:: > + > + cat u-boot.bin.gz "$mock_dtb" > u-boot.bin.gz-dtb > + > +- A ``db845c.its`` file can be found in ``board/qualcomm/dragonboard845c/`` > + directory. It expects a folder as ``db845c_imgs/`` in the main directory > + containing pre-built kernel, dts and ramdisk images. See ``db845c.its`` > + for full path to images:: > + > + mkimage -f db845c.its db845c.itb > + > +- Now we've got everything to build android boot image:: > + > + mkbootimg --kernel u-boot.bin.gz-dtb --ramdisk db845c.itb \ > + --output boot.img --pagesize 4096 --base 0x80000000 > + > +- Flash boot.img using db845c fastboot method. What command should be used here? I can run 'fastboot devices' but am not sure what command to use to flash U-Boot. Also, is it possible to flash U-Boot as a first-stage bootloader? > + > +More information can be found on the `DragonBoard 845c page`_. > > .. _Samsung S9 page: https://en.wikipedia.org/wiki/Samsung_Galaxy_S9 > +.. _DragonBoard 845c page: https://www.96boards.org/product/rb3-platform/ > diff --git a/include/configs/dragonboard845c.h > b/include/configs/dragonboard845c.h > new file mode 100644 > index 0000000000..108dde199b > --- /dev/null > +++ b/include/configs/dragonboard845c.h > @@ -0,0 +1,28 @@ > +/* SPDX-License-Identifier: GPL-2.0+ */ > +/* > + * Configuration file for Dragonboard 845c, based on Qualcomm SDA845 chip > + * > + * (C) Copyright 2022 Sumit Garg <sumit.g...@linaro.org> > + */ > + > +#ifndef __CONFIGS_SDM845_H > +#define __CONFIGS_SDM845_H > + > +#include <linux/sizes.h> > +#include <asm/arch/sysmap-sdm845.h> > + > +#define CONFIG_SYS_BAUDRATE_TABLE { 115200, 230400, 460800, 921600 } > + > +#define CONFIG_EXTRA_ENV_SETTINGS \ > + "bootm_size=0x5000000\0" \ > + "bootm_low=0x80000000\0" \ > + "bootcmd=bootm $prevbl_initrd_start_addr\0" > + > +/* Size of malloc() pool */ > +#define CONFIG_SYS_BOOTM_LEN SZ_64M > + > +/* Monitor Command Prompt */ > +#define CONFIG_SYS_CBSIZE 512 > +#define CONFIG_SYS_MAXARGS 64 > + > +#endif > -- > 2.25.1 > Regards, Simon