1 .. SPDX-License-Identifier: GPL-2.0+
9 This document describes the information about Qualcomm QCS404 evaluation board
12 U-Boot can be used as a replacement for Qualcomm's original ABL (UEFI) bootloader.
13 It is loaded as an Android boot image through ABL
19 Setup ``CROSS_COMPILE`` for aarch64 and build U-Boot for your board::
21 $ export CROSS_COMPILE=<aarch64 toolchain prefix>
22 $ make qcs404evb_defconfig
25 This will build ``u-boot.bin`` in the configured output directory.
29 A ``qcs404.its`` file can be found in ``board/qualcomm/qcs404-evb/`` directory.
30 It expects a folder as ``qcs404_imgs/`` in the main directory containing
31 pre-built kernel, dts and ramdisk images. See ``qcs404.its`` for full path to
36 mkimage -f qcs404-evb.its qcs404-evb.itb
38 Pack android boot image
39 ^^^^^^^^^^^^^^^^^^^^^^^
40 We'll assemble android boot image with ``u-boot.bin`` instead of linux kernel,
41 and FIT image instead of ``initramfs``. Android bootloader expect gzipped kernel
42 with appended dtb, so let's mimic linux to satisfy stock bootloader:
46 workdir=/tmp/prepare_payload
49 mock_dtb="$workdir"/payload_mock.dtb
51 dtc -I dts -O dtb -o "$mock_dtb" << EOF
54 model = "Qualcomm Technologies, Inc. QCS404 EVB 4000";
55 compatible = "qcom,qcs404-evb-4000", "qcom,qcs404-evb", "qcom,qcs404";
61 device_type = "memory";
62 /* We expect the bootloader to fill in the size */
63 reg = <0 0x80000000 0 0>;
70 - gzip u-boot ``gzip u-boot.bin``
71 - append dtb to gzipped u-boot: ``cat u-boot.bin.gz "$mock_dtb" > u-boot.bin.gz-dtb``
73 Now we've got everything to build android boot image:::
75 mkbootimg --kernel u-boot.bin.gz-dtb \
76 --ramdisk qcs404-evb.itb --pagesize 4096 \
77 --base 0x80000000 --output boot.img
79 Flash image on qcs404-evb using fastboot method.