U-boot is intended to replace linux kernel in android boot image(ABL), and it's FIT payload to replace initramfs file. The boot process is similar to boot image with linux: - android bootloader (ABL) unpacks android boot image - ABL sets `linux,initrd-start property` in chosen node in unpacked FDT - ABL sets x0 register to FDT address, and passes control to u-boot - u-boot reads x0 register, and stores it in `abl_fdt_addr` env variable - u-boot reads `linux,initrd-start` property, and stores it in `abl_initrd_start_addr`
In this way, u-boot bootcmd relies on `abl_initrd_start_addr` env variable, and boils down to `bootm $abl_initrd_start_addr`. If more control on boot process is desired, pack a boot script in FIT image, and put it to default configuration Dzmitry Sankouski (2): soc: sdm845: implement ABL info collecting, add bootcommand and usage doc board: starqltechn: get board usable - fix defconfig and strip config options arch/arm/mach-snapdragon/init_sdm845.c | 60 ++++++++++++++++++++---- configs/starqltechn_defconfig | 12 +++-- doc/board/qualcomm/sdm845.rst | 63 +++++++++++++++++++++++++- include/configs/sdm845.h | 5 ++ 4 files changed, 124 insertions(+), 16 deletions(-) -- 2.20.1