U-Boot for the Toradex Colibri iMX8QXP V1.0B Module

Quick Start
===========

- Build the ARM trusted firmware binary
- Get scfw_tcm.bin and ahab-container.img
- Build U-Boot
- Load U-Boot binary using uuu
- Flash U-Boot binary into the eMMC
- Boot

Get and Build the ARM Trusted Firmware
======================================

$ git clone -b imx_4.14.78_1.0.0_ga https://source.codeaurora.org/external/imx/imx-atf
$ cd imx-atf/
$ make PLAT=imx8qxp bl31

Get scfw_tcm.bin and ahab-container.img
=======================================

$ wget https://github.com/toradex/meta-fsl-bsp-release/blob/toradex-sumo-4.14.78-1.0.0_ga-bringup/imx/meta-bsp/recipes-bsp/imx-sc-firmware/files/mx8qx-colibri-scfw-tcm.bin?raw=true
$ mv mx8qx-colibri-scfw-tcm.bin\?raw\=true mx8qx-colibri-scfw-tcm.bin
$ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.0.bin
$ chmod +x firmware-imx-8.0.bin
$ ./firmware-imx-8.0.bin

Copy the following binaries to the U-Boot folder:

$ cp imx-atf/build/imx8qxp/release/bl31.bin .
$ cp u-boot/u-boot.bin .

Copy the following firmware to the U-Boot folder:

$ cp firmware-imx-8.0/firmware/seco/ahab-container.img .

Build U-Boot
============

$ make colibri-imx8qxp_defconfig
$ make u-boot-dtb.imx

Load the U-Boot Binary Using UUU
================================

Get the latest version of the universal update utility (uuu) aka mfgtools 3.0:

https://community.nxp.com/external-link.jspa?url=https%3A%2F%2Fgithub.com%2FNXPmicro%2Fmfgtools%2Freleases

Put the module into USB recovery aka serial downloader mode, connect USB device
to your host and execute uuu:

sudo ./uuu u-boot/u-boot-dtb.imx

Flash the U-Boot Binary into the eMMC
=====================================

Burn the u-boot-dtb.imx binary to the primary eMMC hardware boot area partition:

load mmc 1:1 $loadaddr u-boot-dtb.imx
setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt ${blkcnt} / 0x200
mmc dev 0 1
mmc write ${loadaddr} 0x0 ${blkcnt}

Boot
