Hi Simon, On Tue, 29 Aug 2023 at 03:39, Simon Glass <s...@chromium.org> wrote: > > Hi Peter, > > On Mon, 28 Aug 2023 at 14:24, Peter Robinson <pbrobin...@gmail.com> wrote: > > > > On Mon, Aug 28, 2023 at 6:55 PM Simon Glass <s...@chromium.org> wrote: > > > > > > Hi Sumit, > > > > > > On Thu, 24 Aug 2023 at 04:44, Sumit Garg <sumit.g...@linaro.org> wrote: > > > > > > > > Hi Simon, > > > > > > > > On Thu, 24 Aug 2023 at 05:29, Simon Glass <s...@chromium.org> wrote: > > > > > > > > > > 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. > > > > > > > > > > > > > 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