16. NXP QorIQ® LS1043A

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.

16.1. 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

  • XFI 10G port

  • QSGMII with 4x 1G ports

  • Two RGMII ports

  • 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.

16.2. 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

16.3. How to build

16.3.1. 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:

    CROSS_COMPILE=aarch64-linux-gnu- make PLAT=ls1043 bl1

    Build fip:

    CROSS_COMPILE=aarch64-linux-gnu- make PLAT=ls1043 fip \
    BL33=u-boot.bin NEED_BL32=yes BL32=tee.bin SPD=opteed

16.3.2. Deploy TF-A Images

  • Deploy TF-A images on Nor flash Alt Bank.

    => 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:

    => cpld reset altbank