From 33d4af47b04f09c5b34f9e6f5f69eca5f506f714 Mon Sep 17 00:00:00 2001 From: Jiafei Pan Date: Fri, 2 Mar 2018 07:23:30 +0000 Subject: layerscape: Initial TF-A support for LS1043ardb This patch introduce TF-A support for NXP's ls1043a platform. more details information of ls1043a chip and ls1043ardb board can be found at docs/plat/ls1043a.rst. Boot sequence on ls1043a is: bootrom loads bl1 firstly, then bl1 loads bl2, bl2 will load bl31, bl32 and bl33, bl31 will boot bl32(tee os) and bl33(u-boot or uefi), bl33 boot Linux kernel. Now TF-A on ls1043ardb platform has the following features in this patch: * Support boot from Nor flash. * TF-A can boot bl33 which runs in el2 of non-secure world. * TF-A boot OPTee OS. * Support PSCI Signed-off-by: Jiafei Pan Signed-off-by: Chenyin.Ha Signed-off-by: Chenhui Zhao Signed-off-by: jiaheng.fan Signed-off-by: Wen He --- docs/plat/ls1043a.rst | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 docs/plat/ls1043a.rst (limited to 'docs') diff --git a/docs/plat/ls1043a.rst b/docs/plat/ls1043a.rst new file mode 100644 index 000000000..0d604aaeb --- /dev/null +++ b/docs/plat/ls1043a.rst @@ -0,0 +1,91 @@ +Description +=========== + +The QorIQ® LS1043A processor is NXP's first quad-core, 64-bit Arm®-based +processor for embedded networking. The LS1023A (two core version) and the +LS1043A (four core version) deliver greater than 10 Gbps of performance +in a flexible I/O package supporting fanless designs. This SoC is a +purpose-built solution for small-form-factor networking and industrial +applications with BOM optimizations for economic low layer PCB, lower cost +power supply and single clock design. The new 0.9V versions of the LS1043A +and LS1023A deliver addition power savings for applications such as Wireless +LAN and to Power over Ethernet systems. + +LS1043ARDB Specification: +------------------------- +Memory subsystem: + * 2GByte DDR4 SDRAM (32bit bus) + * 128 Mbyte NOR flash single-chip memory + * 512 Mbyte NAND flash + * 16 Mbyte high-speed SPI flash + * SD connector to interface with the SD memory card + +Ethernet: + * XFI 10G port + * QSGMII with 4x 1G ports + * Two RGMII ports + +PCIe: + * PCIe2 (Lanes C) to mini-PCIe slot + * PCIe3 (Lanes D) to PCIe slot + +USB 3.0: two super speed USB 3.0 type A ports + +UART: supports two UARTs up to 115200 bps for console + +More information are listed in `ls1043`_. + +Boot Sequence +============= + + +Bootrom --> TF-A BL1 --> TF-A BL2 --> TF-A BL1 --> TF-A BL31 +--> BL32(Tee OS) --> TF-A BL31 --> BL33(u-boot) --> Linux kernel + + +How to build +============ + +Build Procedure +--------------- + +- Prepare AARCH64 toolchain. + +- Build u-boot and OPTee firstly, and get binary images: u-boot.bin and tee.bin + +- Build TF-A for Nor boot + + Build bl1: + + .. code:: shell + + CROSS_COMPILE=aarch64-linux-gnu- make PLAT=ls1043 bl1 + + Build fip: + + .. code:: shell + + CROSS_COMPILE=aarch64-linux-gnu- make PLAT=ls1043 fip \ + BL33=u-boot.bin NEED_BL32=yes BL32=tee.bin SPD=opteed + +Deploy TF-A Images +----------------- + +- Deploy TF-A images on Nor flash Alt Bank. + + .. code:: shell + + => tftp 82000000 bl1.bin + => pro off all;era 64100000 +$filesize;cp.b 82000000 64100000 $filesize + + => tftp 82000000 fip.bin + => pro off all;era 64120000 +$filesize;cp.b 82000000 64120000 $filesize + + Then change to Alt bank and boot up TF-A: + + .. code:: shell + + => cpld reset altbank + + +.. _ls1043: https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/qoriq-layerscape-arm-processors/qoriq-layerscape-1043a-and-1023a-multicore-communications-processors:LS1043A?lang_cd=en -- cgit v1.2.3