1*0bc18309SAnson HuangDescription 2*0bc18309SAnson Huang=========== 3*0bc18309SAnson Huang 4*0bc18309SAnson HuangThe i.MX 8 series of applications processors is a feature- and 5*0bc18309SAnson Huangperformance-scalable multi-core platform that includes single-, 6*0bc18309SAnson Huangdual-, and quad-core families based on the Arm® Cortex® 7*0bc18309SAnson Huangarchitecture—including combined Cortex-A72 + Cortex-A53, 8*0bc18309SAnson HuangCortex-A35, and Cortex-M4 based solutions for advanced graphics, 9*0bc18309SAnson Huangimaging, machine vision, audio, voice, video, and safety-critical 10*0bc18309SAnson Huangapplications. 11*0bc18309SAnson Huang 12*0bc18309SAnson HuangThe i.MX8QX is with 4 Cortex-A35 ARM core and 1 Cortex-M4 system 13*0bc18309SAnson Huangcontroller. 14*0bc18309SAnson Huang 15*0bc18309SAnson HuangThe System Controller (SC) represents the evolution of centralized 16*0bc18309SAnson Huangcontrol for system-level resources on i.MX8. The heart of the system 17*0bc18309SAnson Huangcontroller is a Cortex-M4 that executes system controller firmware. 18*0bc18309SAnson Huang 19*0bc18309SAnson HuangBoot Sequence 20*0bc18309SAnson Huang============= 21*0bc18309SAnson Huang 22*0bc18309SAnson HuangBootrom --> BL31 --> BL33(u-boot) --> Linux kernel 23*0bc18309SAnson Huang 24*0bc18309SAnson HuangHow to build 25*0bc18309SAnson Huang============ 26*0bc18309SAnson Huang 27*0bc18309SAnson HuangBuild Procedure 28*0bc18309SAnson Huang--------------- 29*0bc18309SAnson Huang 30*0bc18309SAnson Huang- Prepare AARCH64 toolchain. 31*0bc18309SAnson Huang 32*0bc18309SAnson Huang- Build System Controller Firmware and u-boot firstly, and get binary images: scfw_tcm.bin and u-boot.bin 33*0bc18309SAnson Huang 34*0bc18309SAnson Huang- Build TF-A 35*0bc18309SAnson Huang 36*0bc18309SAnson Huang Build bl31: 37*0bc18309SAnson Huang 38*0bc18309SAnson Huang .. code:: shell 39*0bc18309SAnson Huang 40*0bc18309SAnson Huang CROSS_COMPILE=aarch64-linux-gnu- make PLAT=<Target_SoC> bl31 41*0bc18309SAnson Huang 42*0bc18309SAnson Huang Target_SoC should be "imx8qx" for i.MX8QX SoC. 43*0bc18309SAnson Huang 44*0bc18309SAnson HuangDeploy TF-A Images 45*0bc18309SAnson Huang----------------- 46*0bc18309SAnson Huang 47*0bc18309SAnson HuangTF-A binary(bl31.bin), scfw_tcm.bin and u-boot.bin are combined together 48*0bc18309SAnson Huangto generate a binary file called flash.bin, the imx-mkimage tool is used 49*0bc18309SAnson Huangto generate flash.bin, and flash.bin needs to be flashed into SD card 50*0bc18309SAnson Huangwith certain offset for BOOT ROM. The system controller firmware, 51*0bc18309SAnson Huangu-boot and imx-mkimage will be upstreamed soon, this doc will be updated 52*0bc18309SAnson Huangonce they are ready, and the link will be posted. 53*0bc18309SAnson Huang 54*0bc18309SAnson 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 55