xref: /rk3399_ARM-atf/docs/plat/imx8.rst (revision d11a6057a475da6a48a639a90b3f69890c252e0c)
124dba2b3SPaul BeesleyNXP i.MX 8 Series
224dba2b3SPaul Beesley=================
30bc18309SAnson Huang
40bc18309SAnson HuangThe i.MX 8 series of applications processors is a feature- and
50bc18309SAnson Huangperformance-scalable multi-core platform that includes single-,
60bc18309SAnson Huangdual-, and quad-core families based on the Arm® Cortex®
70bc18309SAnson Huangarchitecture—including combined Cortex-A72 + Cortex-A53,
80bc18309SAnson HuangCortex-A35, and Cortex-M4 based solutions for advanced graphics,
90bc18309SAnson Huangimaging, machine vision, audio, voice, video, and safety-critical
100bc18309SAnson Huangapplications.
110bc18309SAnson Huang
12baa7650bSAnson HuangThe i.MX8QM is with 2 Cortex-A72 ARM core, 4 Cortex-A53 ARM core
13baa7650bSAnson Huangand 1 Cortex-M4 system controller.
14baa7650bSAnson Huang
150bc18309SAnson HuangThe i.MX8QX is with 4 Cortex-A35 ARM core and 1 Cortex-M4 system
160bc18309SAnson Huangcontroller.
170bc18309SAnson Huang
180bc18309SAnson HuangThe System Controller (SC) represents the evolution of centralized
190bc18309SAnson Huangcontrol for system-level resources on i.MX8. The heart of the system
200bc18309SAnson Huangcontroller is a Cortex-M4 that executes system controller firmware.
210bc18309SAnson Huang
220bc18309SAnson HuangBoot Sequence
2324dba2b3SPaul Beesley-------------
240bc18309SAnson Huang
250bc18309SAnson HuangBootrom --> BL31 --> BL33(u-boot) --> Linux kernel
260bc18309SAnson Huang
270bc18309SAnson HuangHow to build
2824dba2b3SPaul Beesley------------
290bc18309SAnson Huang
300bc18309SAnson HuangBuild Procedure
3124dba2b3SPaul Beesley~~~~~~~~~~~~~~~
320bc18309SAnson Huang
330bc18309SAnson Huang-  Prepare AARCH64 toolchain.
340bc18309SAnson Huang
350bc18309SAnson Huang-  Build System Controller Firmware and u-boot firstly, and get binary images: scfw_tcm.bin and u-boot.bin
360bc18309SAnson Huang
370bc18309SAnson Huang-  Build TF-A
380bc18309SAnson Huang
390bc18309SAnson Huang   Build bl31:
400bc18309SAnson Huang
410bc18309SAnson Huang   .. code:: shell
420bc18309SAnson Huang
43*650a435cSMark Dykes       CROSS_COMPILE=aarch64-linux-gnu- make PLAT=<Target_SoC> bl31
440bc18309SAnson Huang
45baa7650bSAnson Huang   Target_SoC should be "imx8qm" for i.MX8QM SoC.
460bc18309SAnson Huang   Target_SoC should be "imx8qx" for i.MX8QX SoC.
470bc18309SAnson Huang
480bc18309SAnson HuangDeploy TF-A Images
4924dba2b3SPaul Beesley~~~~~~~~~~~~~~~~~~
500bc18309SAnson Huang
510bc18309SAnson HuangTF-A binary(bl31.bin), scfw_tcm.bin and u-boot.bin are combined together
520bc18309SAnson Huangto generate a binary file called flash.bin, the imx-mkimage tool is used
530bc18309SAnson Huangto generate flash.bin, and flash.bin needs to be flashed into SD card
540bc18309SAnson Huangwith certain offset for BOOT ROM. The system controller firmware,
550bc18309SAnson Huangu-boot and imx-mkimage will be upstreamed soon, this doc will be updated
560bc18309SAnson Huangonce they are ready, and the link will be posted.
570bc18309SAnson Huang
580bc18309SAnson Huang.. _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
59