aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorAnson Huang <Anson.Huang@nxp.com>2018-06-05 16:13:45 +0800
committerAnson Huang <Anson.Huang@nxp.com>2018-06-19 10:24:32 +0800
commit0bc1830928616c850ce377c837f883bffe4caa3e (patch)
treea5b2fdbc663bcf8b62d384a0924da9e8a3249c43 /docs
parentbd08def3c9b67a3b95cebdc4ad6433948fd2abbe (diff)
downloadplatform_external_arm-trusted-firmware-0bc1830928616c850ce377c837f883bffe4caa3e.tar.gz
platform_external_arm-trusted-firmware-0bc1830928616c850ce377c837f883bffe4caa3e.tar.bz2
platform_external_arm-trusted-firmware-0bc1830928616c850ce377c837f883bffe4caa3e.zip
Support for NXP's i.MX8QX SoC
NXP's i.MX8QX is an ARMv8 SoC with 4 Cortex-A35 cores and system controller (Cortex-M4) inside, documentation can be found in below link: https://www.nxp.com/products/processors-and-microcontrollers/ applications-processors/i.mx-applications-processors/i.mx-8-processors:IMX8-SERIES This patch adds support for booting up SMP linux kernel (v4.9). Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/plat/imx8.rst54
1 files changed, 54 insertions, 0 deletions
diff --git a/docs/plat/imx8.rst b/docs/plat/imx8.rst
new file mode 100644
index 000000000..a56d0f14a
--- /dev/null
+++ b/docs/plat/imx8.rst
@@ -0,0 +1,54 @@
+Description
+===========
+
+The i.MX 8 series of applications processors is a feature- and
+performance-scalable multi-core platform that includes single-,
+dual-, and quad-core families based on the Arm® Cortex®
+architecture—including combined Cortex-A72 + Cortex-A53,
+Cortex-A35, and Cortex-M4 based solutions for advanced graphics,
+imaging, machine vision, audio, voice, video, and safety-critical
+applications.
+
+The i.MX8QX is with 4 Cortex-A35 ARM core and 1 Cortex-M4 system
+controller.
+
+The System Controller (SC) represents the evolution of centralized
+control for system-level resources on i.MX8. The heart of the system
+controller is a Cortex-M4 that executes system controller firmware.
+
+Boot Sequence
+=============
+
+Bootrom --> BL31 --> BL33(u-boot) --> Linux kernel
+
+How to build
+============
+
+Build Procedure
+---------------
+
+- Prepare AARCH64 toolchain.
+
+- Build System Controller Firmware and u-boot firstly, and get binary images: scfw_tcm.bin and u-boot.bin
+
+- Build TF-A
+
+ Build bl31:
+
+ .. code:: shell
+
+ CROSS_COMPILE=aarch64-linux-gnu- make PLAT=<Target_SoC> bl31
+
+ Target_SoC should be "imx8qx" for i.MX8QX SoC.
+
+Deploy TF-A Images
+-----------------
+
+TF-A binary(bl31.bin), scfw_tcm.bin and u-boot.bin are combined together
+to generate a binary file called flash.bin, the imx-mkimage tool is used
+to generate flash.bin, and flash.bin needs to be flashed into SD card
+with certain offset for BOOT ROM. The system controller firmware,
+u-boot and imx-mkimage will be upstreamed soon, this doc will be updated
+once they are ready, and the link will be posted.
+
+.. _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