[PATCH v3 5/9] board: qualcomm: Add support for dragonboard845c
Simon Glass
sjg at chromium.org
Thu Aug 24 01:57:59 CEST 2023
Hi Sumit,
On Tue, 12 Jul 2022 at 01:12, Sumit Garg <sumit.garg at 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.garg at linaro.org>
> Reviewed-by: Ramon Fried <rfried.dev at 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 at 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.garg at 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
More information about the U-Boot
mailing list