blob: a56d0f14abcfcd19f4998fa5c52eb352f7664ad2 [file] [log] [blame]
Anson Huang73b18532018-06-05 16:13:45 +08001Description
2===========
3
4The i.MX 8 series of applications processors is a feature- and
5performance-scalable multi-core platform that includes single-,
6dual-, and quad-core families based on the Arm® Cortex®
7architectureincluding combined Cortex-A72 + Cortex-A53,
8Cortex-A35, and Cortex-M4 based solutions for advanced graphics,
9imaging, machine vision, audio, voice, video, and safety-critical
10applications.
11
12The i.MX8QX is with 4 Cortex-A35 ARM core and 1 Cortex-M4 system
13controller.
14
15The System Controller (SC) represents the evolution of centralized
16control for system-level resources on i.MX8. The heart of the system
17controller is a Cortex-M4 that executes system controller firmware.
18
19Boot Sequence
20=============
21
22Bootrom --> BL31 --> BL33(u-boot) --> Linux kernel
23
24How to build
25============
26
27Build Procedure
28---------------
29
30- Prepare AARCH64 toolchain.
31
32- Build System Controller Firmware and u-boot firstly, and get binary images: scfw_tcm.bin and u-boot.bin
33
34- Build TF-A
35
36 Build bl31:
37
38 .. code:: shell
39
40 CROSS_COMPILE=aarch64-linux-gnu- make PLAT=<Target_SoC> bl31
41
42 Target_SoC should be "imx8qx" for i.MX8QX SoC.
43
44Deploy TF-A Images
45-----------------
46
47TF-A binary(bl31.bin), scfw_tcm.bin and u-boot.bin are combined together
48to generate a binary file called flash.bin, the imx-mkimage tool is used
49to generate flash.bin, and flash.bin needs to be flashed into SD card
50with certain offset for BOOT ROM. The system controller firmware,
51u-boot and imx-mkimage will be upstreamed soon, this doc will be updated
52once they are ready, and the link will be posted.
53
54.. _i.MX8: https://www.nxp.com/products/processors-and-microcontrollers/applications-processors/i.mx-applications-processors/i.mx-8-processors/i.mx-8-family-arm-cortex-a53-cortex-a72-virtualization-vision-3d-graphics-4k-video:i.MX8