xref: /arm-trusted-firmware/docs/plat/imx9.rst (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700SchasingluluNXP i.MX 9 Series
2*91f16700Schasinglulu==================
3*91f16700Schasinglulu
4*91f16700SchasingluluBuilding on the market-proven i.MX 6 and i.MX 8 series, i.MX 9 series applications
5*91f16700Schasingluluprocessors bring together higher performance applications cores, an independent
6*91f16700SchasingluluMCU-like real-time domain, Energy Flex architecture, state-of-the-art security
7*91f16700Schasingluluwith EdgeLock® secure enclave and dedicated multi-sensory data processing engines
8*91f16700Schasinglulu(graphics, image, display, audio and voice). The i.MX 9 series, part of the EdgeVerse™
9*91f16700Schasingluluedge computing platform, integrates hardware neural processing units across many
10*91f16700Schasinglulumembers of the series for acceleration of machine learning applications at the edge
11*91f16700Schasinglulu`i.MX9 Applications Processors`_.
12*91f16700Schasinglulu
13*91f16700SchasingluluBoot Sequence
14*91f16700Schasinglulu-------------
15*91f16700Schasinglulu
16*91f16700SchasingluluBootROM --> SPL --> BL31 --> BL33(u-boot) --> Linux kernel
17*91f16700Schasinglulu
18*91f16700SchasingluluHow to build
19*91f16700Schasinglulu------------
20*91f16700Schasinglulu
21*91f16700SchasingluluBuild Procedure
22*91f16700Schasinglulu~~~~~~~~~~~~~~~
23*91f16700Schasinglulu
24*91f16700Schasinglulu-  Prepare AARCH64 toolchain.
25*91f16700Schasinglulu
26*91f16700Schasinglulu- Get the ELE FW image from NXP linux SDK package
27*91f16700Schasinglulu
28*91f16700Schasinglulu-  Build SPL and u-boot firstly, and get binary images: u-boot-spl.bin,
29*91f16700Schasinglulu   u-boot.bin and dtb
30*91f16700Schasinglulu
31*91f16700Schasinglulu-  Build TF-A
32*91f16700Schasinglulu
33*91f16700Schasinglulu   Build bl31:
34*91f16700Schasinglulu
35*91f16700Schasinglulu   .. code:: shell
36*91f16700Schasinglulu
37*91f16700Schasinglulu       CROSS_COMPILE=aarch64-linux-gnu- make PLAT=<Target_SoC> bl31
38*91f16700Schasinglulu
39*91f16700Schasinglulu   Target_SoC should be "imx93" for i.MX93 SoC.
40*91f16700Schasinglulu
41*91f16700SchasingluluDeploy TF-A Images
42*91f16700Schasinglulu~~~~~~~~~~~~~~~~~~
43*91f16700Schasinglulu
44*91f16700SchasingluluTF-A binary(bl31.bin), u-boot-spl.bin u-boot.bin, ELE FW image are combined
45*91f16700Schasinglulutogether to generate a binary file called flash.bin, the imx-mkimage tool is
46*91f16700Schasingluluused to generate flash.bin, and flash.bin needs to be flashed into SD card
47*91f16700Schasingluluwith certain offset for BOOT ROM.
48*91f16700Schasinglulu
49*91f16700SchasingluluReference Documentation
50*91f16700Schasinglulu~~~~~~~~~~~~~~~~~~~~~~~
51*91f16700Schasinglulu
52*91f16700SchasingluluDetails on how to prepare, generate & deploy the boot image be found in following documents:
53*91f16700Schasinglulu
54*91f16700Schasinglulu- i.MX Linux User's Guide
55*91f16700Schasinglulu  `link <https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX>`__
56*91f16700Schasinglulu- i.MX Linux Reference Manual
57*91f16700Schasinglulu  `link <https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX>`__
58*91f16700Schasinglulu
59*91f16700Schasinglulu.. _i.MX9 Applications Processors: https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors/i-mx-9-processors:IMX9-PROCESSORS
60*91f16700Schasinglulu
61