
Hi Simon,
On Tue, 29 Aug 2023 at 03:39, Simon Glass sjg@chromium.org wrote:
Hi Peter,
On Mon, 28 Aug 2023 at 14:24, Peter Robinson pbrobinson@gmail.com wrote:
On Mon, Aug 28, 2023 at 6:55 PM Simon Glass sjg@chromium.org wrote:
Hi Sumit,
On Thu, 24 Aug 2023 at 04:44, Sumit Garg sumit.garg@linaro.org wrote:
Hi Simon,
On Thu, 24 Aug 2023 at 05:29, Simon Glass sjg@chromium.org wrote:
Hi Sumit,
On Tue, 12 Jul 2022 at 01:12, Sumit Garg sumit.garg@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@linaro.org Reviewed-by: Ramon Fried rfried.dev@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.
At the time of writing this doc, I thought it was understood how to flash boot.img on db845c. But I will make that more explicit. Since u-boot has to be chain loaded by ABL, the command to flash boot.img (containing u-boot) is as follows:
sudo fastboot flash boot boot.img
Also, is it possible to flash U-Boot as a first-stage bootloader?
That's not possible currently due to Qcom proprietary bootloader being used. But there were plans to replace atleast ABL with u-boot (See slide 9 from this Linaro connect Qcom keynote [1]). I hope that will materialize soon.
[1] https://resources.linaro.org/en/resource/necH5bQcfrhCCkjSGHXJyA
Thank you for the link. I am pleased to hear it and hope it plays out as that slide seems to indicate.
I would like to suggest that 96 boards should use open-source firmware when they launch. Once they launch there is little incentive to clean things up.
It's something that has been suggested from the outset but the fact is there is no way to enforce it.
Er, the board is listed on Linaros web site and has presumably been blessed by Linaro. So don't bless it until the patches are send and/or landed?
I see the reasoning behind your thoughts but I would suggest you read through [1]. It should provide you with enough background thinking.
[1] https://www.96boards.org/compliance/
-Sumit
Regards, Simon