blob: 545568c844a47e303548156e7e7a7e5a8ad4adfa [file] [log] [blame]
Igor Opaniuk505fb752020-02-12 17:14:31 +02001.. SPDX-License-Identifier: GPL-2.0+
2
Oleksandr Suvorov4f00f3c2021-07-23 09:39:47 +03003Colibri iMX8QXP V1.0D Module
Igor Opaniuk505fb752020-02-12 17:14:31 +02004============================
5
6Quick Start
7-----------
8
9- Build the ARM trusted firmware binary
10- Get scfw_tcm.bin and ahab-container.img
11- Build U-Boot
12- Load U-Boot binary using uuu
13- Flash U-Boot binary into the eMMC
14- Boot
15
16Get and Build the ARM Trusted Firmware
17--------------------------------------
18
19.. code-block:: bash
20
Oleksandr Suvorov4f00f3c2021-07-23 09:39:47 +030021 $ git clone -b toradex_imx_5.4.70_2.3.0 http://git.toradex.com/cgit/imx-atf.git/
22 $ make PLAT=imx8qx bl31 -C imx-atf
Igor Opaniuk505fb752020-02-12 17:14:31 +020023
24Get scfw_tcm.bin and ahab-container.img
25---------------------------------------
26.. code-block:: bash
27
Oleksandr Suvorov4f00f3c2021-07-23 09:39:47 +030028 $ wget https://github.com/toradex/i.MX-System-Controller-Firmware/raw/master/src/scfw_export_mx8qx_b0/build_mx8qx_b0/mx8qx-colibri-scfw-tcm.bin
29 $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/imx-seco-3.7.4.bin
30 $ sh imx-seco-3.7.4.bin --auto-accept
Igor Opaniuk505fb752020-02-12 17:14:31 +020031
32Copy the following firmware to the U-Boot folder:
33
34.. code-block:: bash
35
Oleksandr Suvorov4f00f3c2021-07-23 09:39:47 +030036 $ cp imx-atf/build/imx8qx/release/bl31.bin .
37 $ cp imx-seco-3.7.4/firmware/seco/mx8qxc0-ahab-container.img mx8qx-ahab-container.img
Igor Opaniuk505fb752020-02-12 17:14:31 +020038
39Build U-Boot
40------------
41
42.. code-block:: bash
43
Philippe Schenker336720f2020-08-28 21:08:05 +030044 $ make colibri-imx8x_defconfig
Igor Opaniuk505fb752020-02-12 17:14:31 +020045 $ make u-boot-dtb.imx
46
47Load the U-Boot Binary Using UUU
48--------------------------------
49
50Get the latest version of the universal update utility (uuu) aka ``mfgtools 3.0``:
51
52https://community.nxp.com/external-link.jspa?url=https%3A%2F%2Fgithub.com%2FNXPmicro%2Fmfgtools%2Freleases
53
54Put the module into USB recovery aka serial downloader mode, connect USB device
55to your host and execute ``uuu``:
56
57.. code-block:: bash
58
59 sudo ./uuu u-boot/u-boot-dtb.imx
60
61Flash the U-Boot Binary into the eMMC
62-------------------------------------
63
64Burn the ``u-boot-dtb.imx`` binary to the primary eMMC hardware boot area partition:
65
66.. code-block:: bash
67
68 load mmc 1:1 $loadaddr u-boot-dtb.imx
69 setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt ${blkcnt} / 0x200
70 mmc dev 0 1
71 mmc write ${loadaddr} 0x0 ${blkcnt}