xref: /rk3399_ARM-atf/docs/plat/imx8ulp.rst (revision 1c408d3c40abbe48064c1e2ef5224c1d6edca3cd)
1*c67057feSJacky BaiNXP i.MX 8ULP
2*c67057feSJacky Bai==================
3*c67057feSJacky Bai
4*c67057feSJacky Baii.MX 8ULP is part of the ULP family with emphasis on extreme low-power techniques
5*c67057feSJacky Baiusing the 28 nm fully depleted silicon on insulator process. Like i.MX 7ULP,
6*c67057feSJacky Baii.MX 8ULP continues to be based on asymmetric architecture.
7*c67057feSJacky Bai
8*c67057feSJacky BaiThe i.MX 8ULP family of processors features NXP’s advanced implementation of the
9*c67057feSJacky Baidual Arm Cortex-A35 cores alongside an Arm Cortex-M33. This combined architecture
10*c67057feSJacky Baienables the device to run a rich operating system (such as Linux) on the Cortex-A35
11*c67057feSJacky Baicore and an RTOS (such as FreeRTOS) on the Cortex-M33 core. It also includes a Cadence
12*c67057feSJacky BaiTensilica Fusion DSP for low-power audio and a HiFi4 DSP for advanced audio and machine
13*c67057feSJacky Bailearning applications.
14*c67057feSJacky Bai
15*c67057feSJacky BaiThe design enables clean separation between two processing domains, where each has
16*c67057feSJacky Baiseparate power, clocking and peripheral islands, but the bus fabric of each domain
17*c67057feSJacky Baiis tightly integrated for efficient communication. The part is streamlined to minimize
18*c67057feSJacky Baipin count, enabling small packages and simple system integration. This microprocessor
19*c67057feSJacky Baiis intended for applications where efficiency and simple system integration is important.
20*c67057feSJacky Bai`i.MX8ULP Applications Processors`_.
21*c67057feSJacky Bai
22*c67057feSJacky BaiBoot Sequence
23*c67057feSJacky Bai-------------
24*c67057feSJacky Bai
25*c67057feSJacky BaiBootROM --> SPL --> BL31 --> BL33(u-boot) --> Linux kernel
26*c67057feSJacky Bai
27*c67057feSJacky BaiHow to build
28*c67057feSJacky Bai------------
29*c67057feSJacky Bai
30*c67057feSJacky BaiBuild Procedure
31*c67057feSJacky Bai~~~~~~~~~~~~~~~
32*c67057feSJacky Bai
33*c67057feSJacky Bai-  Prepare AARCH64 toolchain.
34*c67057feSJacky Bai
35*c67057feSJacky Bai- Get the ELE FW image from NXP linux SDK package
36*c67057feSJacky Bai
37*c67057feSJacky Bai-  Build SPL and u-boot firstly, and get binary images: u-boot-spl.bin,
38*c67057feSJacky Bai   u-boot.bin and dtb
39*c67057feSJacky Bai
40*c67057feSJacky Bai-  Build TF-A
41*c67057feSJacky Bai
42*c67057feSJacky Bai   Build bl31:
43*c67057feSJacky Bai
44*c67057feSJacky Bai   .. code:: shell
45*c67057feSJacky Bai
46*c67057feSJacky Bai       CROSS_COMPILE=aarch64-linux-gnu- make PLAT=<Target_SoC> bl31
47*c67057feSJacky Bai
48*c67057feSJacky Bai   Target_SoC should be "imx8ulp" for i.MX8ULP SoC.
49*c67057feSJacky Bai
50*c67057feSJacky BaiDeploy TF-A Images
51*c67057feSJacky Bai~~~~~~~~~~~~~~~~~~
52*c67057feSJacky Bai
53*c67057feSJacky BaiTF-A binary(bl31.bin), u-boot-spl.bin u-boot.bin, ELE FW image are combined
54*c67057feSJacky Baitogether to generate a binary file called flash.bin, the imx-mkimage tool is
55*c67057feSJacky Baiused to generate flash.bin, and flash.bin needs to be flashed into SD card
56*c67057feSJacky Baiwith certain offset for BOOT ROM.
57*c67057feSJacky Bai
58*c67057feSJacky BaiReference Documentation
59*c67057feSJacky Bai~~~~~~~~~~~~~~~~~~~~~~~
60*c67057feSJacky Bai
61*c67057feSJacky BaiDetails on how to prepare, generate & deploy the boot image be found in following documents:
62*c67057feSJacky Bai
63*c67057feSJacky Bai- i.MX Linux User's Guide
64*c67057feSJacky Bai  `link <https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX>`__
65*c67057feSJacky Bai- i.MX Linux Reference Manual
66*c67057feSJacky Bai  `link <https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX>`__
67*c67057feSJacky Bai
68*c67057feSJacky Bai.. _i.MX8ULP Applications Processors: https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors/i-mx-8-applications-processors/i-mx-8ulp-applications-processor-family:i.MX8ULP
69*c67057feSJacky Bai
70