u-boot-brain/board/toradex/colibri-imx8x
Marcel Ziswiler 7ce134b7c3 board: toradex: add colibri imx8qxp 2gb wb it v1.0b module support
This commit adds initial support for the Toradex Colibri iMX8QXP 2GB WB
IT V1.0B module. Unlike the V1.0A early access samples exclusively
booting from SD card, they are now strapped to boot from eFuses which
are factory fused to properly boot from their on-module eMMC. U-Boot
supports either booting from the on-module eMMC or may be used for
recovery purpose using the universal update utility (uuu) aka mfgtools
3.0.

Functionality wise the following is known to be working:
- eMMC and MMC/SD card
- Ethernet
- GPIOs
- I2C

Unfortunately, there is no USB functionality for the i.MX 8QXP as of
yet.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2019-06-11 10:42:48 +02:00
..
colibri-imx8qxp-imximage.cfg board: toradex: add colibri imx8qxp 2gb wb it v1.0b module support 2019-06-11 10:42:48 +02:00
colibri-imx8x.c board: toradex: add colibri imx8qxp 2gb wb it v1.0b module support 2019-06-11 10:42:48 +02:00
Kconfig board: toradex: add colibri imx8qxp 2gb wb it v1.0b module support 2019-06-11 10:42:48 +02:00
MAINTAINERS board: toradex: add colibri imx8qxp 2gb wb it v1.0b module support 2019-06-11 10:42:48 +02:00
Makefile board: toradex: add colibri imx8qxp 2gb wb it v1.0b module support 2019-06-11 10:42:48 +02:00
README board: toradex: add colibri imx8qxp 2gb wb it v1.0b module support 2019-06-11 10:42:48 +02:00

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