NXP Semiconductors LS1012ARDB Layerscape Linux Distribution POC User Guide

May 15, 2024
NXP Semiconductors

NXP-logo

NXP Semiconductors LS1012ARDB Layerscape Linux Distribution POC

Specifications

  • Product Name: LLDPUG
  • Product Type: Linux enablement software
  • Manufacturer: NXP Semiconductors
  • Compatible Processors: Layerscape processors
  • Version: Rev. L6.1.1_1.0.0
  • Release Date: 10 May 2023

Overview

Layerscape Linux Distribution POC (LDP) is a Linux enablement software designed for NXP’s ARM core-based Layerscape processors. It includes drivers, tools, and libraries necessary to enable the features of the Layerscape processors. The software uses a Yocto-based meta layer to generate a Proof of Concept (POC) image. The Layerscape LDP provides a fully operational bootloader, a Linux kernel, and board-specific modules that are ready for usage on specific hardware reference platforms. It has been tested and qualified by NXP.

Accessing Layerscape LDP

Layerscape LDP is distributed through Git. To build the Yocto component, you need to clone the manifest and install Layerscape LDP onto a mass storage device for integration. This integrated version can be used on an NXP reference or evaluation board. You can build the NXP components from source using the “bitbake” script or install them from NXP binaries using flex- installer. For more details on accessing and building Layerscape LDP, refer to the links provided below.

Building Host Package

To build the host package for Yocto build, you need to install essential host packages on your build host. Use the following command to install the required packages:

Git Tags
Layerscape LDP Git repositories use Git tags to indicate component revisions that are release tested together. You can use the “git tag” command to examine the available tags and choose a specific tag to checkout.

Product Usage Instructions

Step 1: Accessing Layerscape LDP

  1. Clone the Layerscape LDP manifest from Git.
  2. Install Layerscape LDP onto a mass storage device for integration.

Step 2: Building Host Package

  1. Open a terminal on your build host.
  2. Run the following command to install the required host packages:
    $ sudo apt install gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint3 xterm python3-subunit mesa-common-dev zstd liblz4-tool

Step 3: Building Layerscape LDP

  1. Choose the desired Git tag for Layerscape LDP.
  2. Checkout the chosen tag using the “git tag” command.
  3. Build Layerscape LDP using the appropriate build script or installer.

Step 4: Usage on NXP Reference/Evaluation Board

  1. Install the built Layerscape LDP onto the NXP reference or evaluation board.
  2. Follow the specific hardware reference platform instructions for further usage and configuration.

LLDPUG
Layerscape Linux Distribution POC User Guide
Rev. L6.1.1_1.0.0 — 10 May 2023

User guide
Document Information

Information
Content

Keywords
LLDPUG, Layerscape, LDP, LS1012ARDB, FRWY-LS1012A, TWR-LS1021A, LS1028ARDB, LS1043ARDB, LS1046ARDB, FRWY-LS1046A, LS1088ARDB, LS2088ARDB, LX2160ARDB Rev. 2, LX2162AQDS

Abstract
Layerscape Linux Distribution POC (LDP) is an industry-standard Linux enablement software for NXP’s ARM core based Layerscape processors.

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

1 Layerscape LDP overview
Layerscape Linux Distribution POC (LDP) is a Linux enablement software for NXP’s ARM core based Layerscape processors. It provides the necessary drivers, tools, and libraries for enabling the features of the Layerscape processors. The Layerscape LDP build uses a Yocto-based meta layer to generate a Proof of Concept (POC) image.
Layerscape LDP provides fully operational bootloader, a Linux kernel, and board-specific modules that are ready for usage together in a flexible configuration, for specific hardware reference platforms. The Layerscape LDP has been tested and qualified at NXP. The Layerscape LDP is a complete Linux system with the following major components:
· NXP firmware components including: ­ Trusted Firmware-A (TF-A), a reference implementation of secure world software for Armv7-A and Armv8-A ­ NXP peripheral firmware components for DPAA1, DPAA2, and PPFE
· NXP bootloaders. Two are offered: ­ U-Boot, based on denx.de plus patches
· NXP Linux kernel, based on kernel.org upstream plus patches · NXP added user space components · Linux distro standard user space file set (userland), including compilers and cross compiler
The benefit of using NXP Layerscape LDP userland is the easy availability of thousands of standard Linux user space packages. The experience of using the Layerscape LDP is similar to using Ubuntu, but the kernel, firmware, and some special NXP packages are managed separately. Note: To brief how to help modify/update individual Layerscape LDP components, such as U-Boot, Linux kernel, DPL, DPC, on a reference design board when booting the board from a specific boot source, such as QSPI or SD, see Section 4.7 at NXP community.

Accessing Layerscape LDP
Layerscape LDP is distributed through Git. To build the yocto component, you must clone the manifest and install Layerscape LDP onto a mass storage device as an integration which is ready for usage on an NXP reference or evaluation board. You can build the NXP components either from the source using a script called bitbake or install from binaries of NXP components using flex- installer.
For more details, see the links given below:
· Building NXP components: Section 4. · Yocto project: Yocto projects. · NXP Linux Yocto project: NXP Linux Yocto Project BSP for Desktop PoC.
Build host package
Yocto build requires installation of essential host packages on your host build.
To buid the host, use the following command:
$ sudo apt install gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint3 xterm python3-subunit mesa-common-dev zstd liblz4-tool
For more information about how to build Layerscape LDP, see Section 4.5.
Layerscape LDP Git tags
Layerscape LDP Git repositories use the Git tags to indicate component revisions that are release tested together. Use the git tag command to examine them and chose a tag to checkout.

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
2 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

2 Acronyms and abbreviations

Table 1 below lists and explains the acronyms and abbreviations used in this document.

Table 1.Acronyms and abbreviations

Term

Definition

ACL

Access Control List

AH

Authentication Header (RFC 4302) ­ a network protocol designed to provide

authentication services in IPv4 and IPv6.

AMP

Asynchronous multiprocessing, running multiple operating system images on different processors of the same machine without virtualization.

API

Application Programming Interface

ARP

Address Resolution Protocol

CAAM

Cryptographic Acceleration and Assurance Module

BE

Big Endian

CCSR

Configuration and Control Status Register

CoT

Chain of Trust

CPU

Central Processing Unit, also known more generally as “Processor”

DCD

Device Configuration Data

DCE

Data Compression/Decompression Engine

DCU

Display Control Unit

DMA

Direct Memory Access

DPAA

Data Path Acceleration Architecture

DPDK

Data Plane Development Kit

DSK

Device Secret Key

DTB

Device Tree Blob–the binary representation of device trees

DTS

Device Tree Syntax–the textual representation of device trees

DUT

Device Under Test

EDAC

Error Detection and Correction

eSDHC

Enhaced Secured Digital Host Controller

ESP

Encapsulating Security Payload (RFC 4303) ­ a network protocol designed to

provide a mix of security services in IPv4 and IPv6.

EVB

Edge Virtual Bridge

FDB

Forwarding Data Base

FUID

Freescale Unique ID

GPIO

General Purpose Input/Output

GPP

General Purpose Processor

GPU

Graphics Processing Unit

GUEST_CONSOLE_TELNET_PORT Telnet port for accessing guest console of VM.

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
3 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Table 1.Acronyms and abbreviations…continued

Term

Definition

Guest/VM

The term `Guest’ is used for Linux running inside the virtual machine(s) that are in turn running over Host Linux operating system. VM and Guest have been used interchangeably in this guide.

HAL

Hardware Abstraction Library

HIF

Host Interface

HSM

Hardware security modules

IBR

Internal Boot ROM

IFC

Integrated Flash Chip

inbound (traffic)

Encrypted traffic which is coming from an unprotected interface. This traffic is terminated on the CPU.

IP_ADDR_BRD

This term is used for LS1088ARDB and LS2088ARDB IP address.

IP_ADDR_IMAGE_SERVER

This term is used for IP address of the machine on which all the software images are kept.

IPC

Inter-Process Communication, can be interpreted as being communication

between distinct application execution flows or between distinct hardware

processing units.

IPFwd

IPv4 Forward

IPSec

IP Security, it is a communication standard defined and refined by several public RFCs (such as RFC-2401 and RFC-4301) where hosts exchange encrypted IP data packets.

IPSec Tunnel

A communication convention between two network gateways to IPSec process certain network traffic in a particular way. An IPSec tunnel has two endpoints (which are the gateways), a clearly delimited set of encryption and authentication methods, keys, encapsulation headers and security policies, which define the traffic that is sent through the tunnel.

ISBC

Internal Secure Boot Code

ISR

Interrupt Status Register

ITF

Intent to Fail

ITS

Intent to Secure

KASLR

Kernel Address Space Layout Randomization

KVM

Kernel-based Virtual Machine – A Linux kernel module that allows a user space program access to the hardware virtualization features of NXP processors.

LDP

Linux Distribution POC

LE

Little Endian

LIODN

Logical I/O Device Number

LPUART

Low Power Universal Asynchronous Receiver Transmitter

LSTA

LS Series Trust Architecture

LXC

LLinux Containers

MC

Management Complex

NAT

Network Address Translation

OEM

Original Equipment Manufacturer

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
4 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Table 1.Acronyms and abbreviations…continued

Term

Definition

OP-TEE

Open Portable Trust Execution Environment

OS

Operating System

OUID

OEM Unique ID

outbound (traffic)

Clear traffic which is coming from a software application which generates traffic that must be encrypted and forwarded via an unprotected interface.

PAMU

Peripheral Access Management Unit

PBL

Pre-Boot Loader

PCD

Parse, Classify, Distribute ­ a software architecture concept in NXP DPAA drivers which allows the user to configure the DPAA hardware (FMan) to do frame parsing, classification or distribution on a series of frame queues.

PCIe

Peripheral Component Interconnect Express

PDCP

Packet Data Convergence Protocol ­ It is one of the layers of the Radio Traffic Stack in UMTS/LTE and performs IP header compression and decompression, transfer of user data and maintenance of sequence numbers for Radio Bearers which are configured for lossless serving radio network subsystem (SRNS) relocation.

PFE

Packet Acceleration Engine

PKCS

Public-Key Cryptography Standards

PME

Pattern Matcher Engine

POC

Proof of Concept

QDS

Qonverge Development System

QEMU

Quick EMUlator – A hosted hypervisor that performs hardware virtualization.

QSPI

Quad Serial Peripheral Interface

RC

Route Cache

RCW

Reset Configuration Word

RDB

Reference Design Board

RFC

Request for Comments ­ a public document which describes a software standard.

SA

Security Association ­ a data record, defined by RFC 4301, which stores the

information related to the IPSec processing needed for a specific network traffic

type (such as encryption/decryption keys and algorithms, traffic endpoints

description, authentication algorithms, and so on).

SAD

Security Association Database ­ the database holding all the valid SAs in a system.

SAI

Serial Audio Interface

SATA

Serial Advanced Technology Attachment

SDK

Software Development Kit

SEC

Security Engine Coprocessor ­ a DPAA hardware block performing cryptographic acceleration and offloading hardware.

SFP

Secure Fuse Processor

SIP DIP

Source Internet Protocol and Destination Internal Protocol

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
5 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Table 1.Acronyms and abbreviations…continued

Term

Definition

SMMU

System Memory Management Unit

SMP

Symmetric Multi-Processing, running an operating system image on multiple CPUs simultaneously.

SNVS

Secure Non-Volatile Storage

SoC

System on a Chip, a chip integrating one or more processors and on-chip

peripherals.

SP

Security Policy ­ a set of rules that network traffic must comply with in order to be

eligible for IPSec processing.

SPD

Security Policy Database ­ the database storing all the SPs in a system.

SRE

Stateful Rule Engine

SRK

Super Root Key

SRKH

Super Root Key Hash

STP

Spanning Tree Protocol

SUI

String Under Inspection

TA

Trust Architecture

TF-A

Trusted Firmware-A

TFTP_BASE_DIR

Base directory of TFTP server where all the images are kept.

TLB

Translation Lookaside Buffer

TSN

Time-Sensitive Networking

TTL

Time To Live

UDP

User Datagram Protocol

UID

Unique Device ID

UIO

User space I/O

USB

Universal Serial Bus

VEB

Virtual Ethernet Bridge

VEPA

Virtual Ethernet Port Aggregator

VFIO

Virtual Function Input/Output

VID

Voltage IDentifier

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
6 / 1056

NXP Semiconductors
3 Release notes

LLDPUG
Layerscape Linux Distribution POC User Guide

3.1 What is new in this release

3.1.1 List of changes
· NXP Layerscape LDP userland: ­ NXP Layerscape LDP, including Linux distro main packages and NXP packages ­ Toolchain: gcc-11.2, glibc-2.36,binutils-2.38, gdb-12.1
· Linux kernel core and virtualization: ­ LTS kernel 6.1.1 update
· Linux kernel drivers: · Data Plane Development Kit (DPDK):
­ Virtualization – OVS-DPDK · Trust Firmware – A (TF-A): · U-Boot bootloader:
­ U-Boot v2022.04 update ­ AQR113C on TWR-LS1021A, LS1088ARDB, and LX2162AQDS · Other tools and utilities: ­ AQR113C firmware ­ Yocto bitbake

3.2 Feature support matrix

The following tables show the features that are supported in this release. Refer to the legend below to decipher the entries.
Legend:
· Y – Feature is supported by software · / – Feature is not supported by software · na – Hardware feature is not available

Table 2.Key features Feature

LS1012A LS1021A LS1028A LS1043A LS1046A LS1088A LS2088A LX2160A LX2162A

64-bit User space, BE

/

na

/

/

/

/

/

/

/

32-bit User space, LE

/

Y

/

/

/

/

/

/

/

64-bit User space, LE

Y

na

Y

Y

Y

Y

Y

Y

Y

36b phys mem

na

Y

na

na

na

na

na

na

na

40b phys mem

Y

na

Y

Y

Y

Y

Y

Y

Y

Data Plane Development Kit Y

/

Y

Y

Y

Y

Y

Y

Y

(DPDK)

– VPP excluded

Hugetlbfs

Y

Y

Y

Y

Y

Y

Y

Y

Y

Management Complex

na

na

na

na

na

Y

Y

Y

Y

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
7 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Table 2.Key features…continued

Open Portable Trust Y

/

Y

Y

Y

Y

Y

Y

Y

Execution Environment (OP-

TEE)

Secure boot (NXP CoT)

Y

Y

Y

Y

Y

Y

Y

Y

Y

Secure boot (Arm CoT)

na

na

na

na

na

na

na

Y

Y

Time Sensitive Network (TSN) na

na

Y

na

na

na

na

na

na

USDPAA Applications

na

na

na

/

/

na

na

na

na

Trusted Firmware-A (TF-A)

Y

na

Y

Y

Y

Y

Y

Y

Y

Verified boot

na

na

na

na

na

na

na

na

Y

Warm reset

na

na

na

na

na

na

na

na

Y

Table 3.Virtualization, Containers and Isolation

Feature

LS1012A LS1021A LS1028A LS1043A LS1046A LS1088A LS2088A LX2160A LX2162A

KVM/QEMU

Y

na

Y

Y

Y

Y

Y

Y

Y

On-chip networking interfaces /

na

Y

na

na

Y

Y

Y

Y

Direct Assignment

PCI

Devices

Direct /

na

Y

/

Assignment

/

Y

Y

Y

Y

LXC

Y

Y

Y

Y

Y

Y

Y

Y

Y

Libvirt

Y

Y

Y

Y

Y

Y

Y

Y

Y

SMMU – default config

na

/

Y

/

/

Y

Y

Y

Y

VFIO for Network Resources

/

na

Y

na

na

Y

Y

Y

Y

Docker

Y

/

Y

Y

Y

Y

Y

Y

Y

Table 4.Linux kernel drivers

Feature

LS1012A LS1021A LS1028A LS1043A LS1046A LS1088A LS2088A LX2160A LX2162A

Audio – I2S, SAI

Y

Y

Y

na

na

na

na

na

na

CAAM DMA

Y

/

/

/

/

/

/

/

/

DCE

na

na

na

na

na

na

Y

Y

Y

DCU

na

Y

na

na

na

na

na

na

na

Display – eDP/DP, LCD

na

na

Y

na

na

na

na

na

na

DMA

Y

Y

Y

Y

Y

Y

Y

Y

Y

DPAA1 – Ethernet, FMan, na

na

na

Y

QMan, BMan

Y

na

na

na

na

DPAA2 – Ethernet, L2 na

na

na

na

na

Y

Y

Y

Y

Switching, QBMan

eSDHC

Y

Y

Y

Y

Y

Y

Y

Y

Y

ENETC

na

na

Y

na

na

na

na

na

na

FlexCAN

na

/

Y

na

na

na

na

Y

Y

FlexSPI

na

na

Y

na

na

na

na

Y

Y

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
8 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Table 4.Linux kernel drivers…continued

Feature

LS1012A LS1021A LS1028A LS1043A LS1046A LS1088A LS2088A LX2160A LX2162A

GPU

na

na

Y

na

na

na

na

na

na

I2C

Y

Y

Y

Y

Y

Y

Y

Y

Y

IEEE1588, linuxptp

na

Y

Y

Y

Y

Y

Y

Y

Y

IFC

na

Y

na

Y

Y

Y

Y

na

na

IMA-EVM

Y

/

/

Y

Y

Y

Y

/

/

TSN Ethernet Switch

na

na

Y

na

na

na

na

na

na

LPUART

na

Y

/

Y

Y

/

/

na

na

QSPI

Y

Y

na

Y

Y

Y

Y

na

na

PCIe RC

Y

Y

Y

Y

Y

Y

Y

Y

Y

PCIe EP

/

/

/

Y

Y

Y

Y

Y

Y

PFE

Y

na

na

na

na

na

na

na

na

Power Management

Y

Y

Y

Y

Y

Y

Y

Y

Y

Preempt Real-Time

/

/

Y

Y

Y

Y

Y

Y

Y

SATA

Y

Y

Y

Y

Y

Y

Y

Y

Y

SEC

Y

Y

Y

Y

Y

Y

Y

Y

Y

dSPI

/

Y

/

Y

Y

/

Y

na

Y

TDM (QE)

na

na

na

Y

na

na

na

na

na

TSN

na

na

Y

na

na

na

na

na

na

USB

Y

Y

Y

Y

Y

Y

Y

Y

Y

VeTSEC

na

Y

na

na

na

na

na

na

na

VFIO for network resources

/

na

Y

na

na

Y

Y

Y

Y

Watchdog

Y

Y

Y

Y

Y

Y

Y

Y

Y

GPIO

na

na

na

na

Y

Y

na

na

Y

EDAC

Y

Y

Y

Y

Y

Y

Y

Y

Y

3.3 Fixed, open, and closed issues

The types of issues handled in the Layerscape LDP release 6.1.1_1.0.0 are provided below: · Fixed issues: These issues have a software fix that has been integrated into the ‘Fixed In’ Release.

Table 5.Issues fixed in the Layerscape LDP release 6.1.1_1.0.0

ID

Description

DPDK-1827

ovs-host_20g_6c case fails with 100% load.

DPDK-2671

ICV check failures for AES-XCBC IPSec and PDCP alogs.

DPDK-3070

IPSEC ESN Checks fails with raw buffer implementation.

DPDK-3098

Ethernet pause frame is not supported in DPDK.

Disposition LSDK 19.09 LSDK 21.08
LSDK 21.08
LSDK 21.08

Opened in

Fixed in

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
9 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Table 5.Issues fixed in the Layerscape LDP release 6.1.1_1.0.0…continued

ID

Description

Disposition

DPDK-3599

There is no throughput data during DPDK OVS testing on dpaa2 platform

5.15.32-2.0.0

DPDK-3607

IPSEC event mode does not work on LS1046ARDB

5.15.32-2.0.0

DPDK-3666

L3 forwarding performance degrades on 1 core and 2G throughputs on LS1028ARDB

5.15.52-2.1.0

DPDK-3718

QDMA hangs on PCIe read on LS1046 ARDB.

5.15.5-1.0.0

DPDK-3719

Incorrect mbuf offload flags for L3/L4 checksum

LF-2403

The linux_ipv4_fwd_performance results get degradation from 64 to 1518 frame size on DPAA2 platforms

Fixed

LF-2595

tsn_switch_802_1qav_performance test fails 5.10.72-2.2.0 on LS1028ARDB

LF-2852

The second kernel with kexec cannot boot up on LX2160A.

Fixed

LF-3792

Kexec fails to switch to second kernel on LX2160ARDB

5.10.72-2.2.0

LF-3954

In kdump, usb device cannot be probed in the second kernel.

LSDK 21.08

LF-4266

IMA EVM fix and enforce mode are not supported.

LSDK 20.12

LF-4505

No secure composite firmware image is provided on LX2160ARDB and LX2162 QQDS. For secure boot feature, see “Secure boot” section.

LSDK 21.08

LF-4650

Fuse provisioning build fails on LS1043A and LS1046A.

LSDK 21.08

LF-5105

Probing PCIe EPs behind PCIe switch fails with u-boot.

LSDK 21.08

LF-5134

Display firmware does not work on LS1028 ARDB

5.10.72-2.2.0

LF-5284

Correct HNF-SNF mapping and measure DDR performance improvement on LX2160 ARDB

LSDK 21.08

LF-5365

DPAA2 1588 SINGLE_STEP performance degrades

LSDK 21.08

LF-6222

Audio does not work on LS1028ARDB

5.15.5-1.0.0

LF-6294

LX2120A does not boot up

5.15.32-2.0.0

LF-6322

IFC-NOR secure-boot fails for error “BL2: Failed to load image” on LS2088ARDB

5.15.32-2.0.0

LF-6323

SD secure boot fails on LX2160ARDB

5.15.32-2.0.0

Opened in
5.15.32_2.0.0 LSDK 20.12 LSDK 20.04

Fixed in
5.15.52-2.1.0 5.15.52-2.1.0

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
10 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Table 5.Issues fixed in the Layerscape LDP release 6.1.1_1.0.0…continued

ID

Description

Disposition

Opened in

Fixed in

LF-7599

Weston service cannot start automatically when system boots up on LS1028ARDB.

5.15.32-2.0.0

LFU-155

On LS1012AFRWY, the Ethernet PHY driver LSDK 21.08 does not work well in U-Boot.

LFU-340

In secure boot, kernel itb validation crashes 5.15.32-2.0.0 during booting.

LFU-346

In secure boot, pfe firmware validation crashes on LS1012ARDB.

5.15.32-2.0.0

LFU-350

SD secure boot fails on TWR-LS1021A

5.15.32-2.0.0

QSDK-7971

The header esbc_validate fails in MC and DPC when secure boot starting on LS1088 ARDB

LSDK 21.08

· Open Issues: Open issues do not currently have a resolution. Workaround suggestions are provided whereever possible.

Table 6.Open issues in the Layerscape LDP release 6.1.1_1.0.0

ID

Description

Disposition Opened Workarounds in

DPDK-2671 ICV check failures for AES-XCBC IPSec and PDCP alogs.

Open

5.15. 522.1.0

DPDK-3070 IPSEC ESN Checks fails with raw buffer implementation

Open

5.15. 522.1.0

DPDK-3098 Ethernet pause frame is not supported in DPDK

Open

5.15. 522.1.0

DPDK-3719 Incorrect mbuf offload flags for L3/L4 checksum

5.15. 32_ 2.0.0

LF-2893

Functionalities that require PCI reset, such as VFIO, will work only with PCI endpoints that support Function Level Reset (FLR).

Open

5.15. 522.1.0

LF-2893/LF- Functionalities that require PCI reset, such as

2260

VFIO, will work only with PCI endpoints that

support Function Level Reset (FLR).

Open

5.15. 522.1.0

LF-3076

It is recommended to run Linux IPSec performance at core frequency 2100MHz on LS2088ARDB.

Open

5.15. 522.1.0

LF-385

Linux IPSec performance degrades on LS2088A RDB on LTS 5.4.

Open

LSDK 20.04

LF-3360

Functionalities that require PCI reset, such as VFIO, will work only with PCI endpoints that support Function Level Reset (FLR).

Open

5.15. 522.1.0

LF-3981

On LX2160ARDB, there is kernel panic when unbinding dpni during Linux qos testing.

5.10. 35_ 2.0.0

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
11 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Table 6.Open issues in the Layerscape LDP release 6.1.1_1.0.0…continued

ID

Description

Disposition

Opened Workarounds in

LF-4151

On LS1028ARDB and DPAA2 platforms, the system may randomly reset after sleep.

Open

LSDK 21.08

LF-4162

There is kexec-tools 2.0.18 in Ubuntu 20.04. With this version, the second kernel booting fails.

Open

5.15. Install kexec-tools 2.0.21 in 52- Ubuntu 22.04. 2.1.0

LF-4222

Except the following single-pass ciphers, no other ciphers does not get offloaded to CAAM on the DPAA1 platforms:
– AES128-SHA1- AES128-SHA256- AES256SHA1- AES256-SHA256

Open

5.15. 522.1.0

LF-4266

IMA EVM fix and enforce mode are not supported.

Open

LSDK 20.12

LF-4291

Changes made in the upstream kernel to the pfifo_fast qdisc impact the performance of networking scenarios, introducing a 10% to 14% IP forwarding performance degradation on DPAA1 platforms. These changes were made to prevent out-of-order frames.

Open

5.15. 522.1.0

The offending upstream commit is “Revert “net: dev: introduce support for sch BYPASS for lockless qdisc””. By reintroducing the original commit (“net: dev: introduce support for sch BYPASS for lockless qdisc”), the performance degradation is reverted. On the other hand, this change can introduce out-of- order frames in some scenarios. A second workaround for recovering the performance is changing the queueing discipline from the default pfifo_fast to another qdisc, such as fq_codel. Further configurations of the qdisc might be needed.

LF-4505

No secure composite firmware image is provided on LX2160ARDB and LX2162QQDS. For secure boot feature, see the “Secure boot” section.

Open

5.15. 522.1.0

LF-6686

Openssl job ring interrupt does not increase after openssl testing.

5.15. 32_ 2.0.0

LF-8092

Iperf server has call trace after setting MTU on LS1028ARDB

Open

5.15. 712.2.0

LF-8753

On LS043ARDB and LS1046ARDB, kexec_ kdump: fail to switch to the new kernel with default image or custom build image.

6.1.1 1.0.0 LDP

LF-8837

On LS1012ARDB, Display: desktop can’t display normally on specific monitor after login system.

6.1.1 1.0.0 LDP

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
12 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Table 6.Open issues in the Layerscape LDP release 6.1.1_1.0.0…continued

ID

Description

Disposition

Opened Workarounds in

LFU-155

On LS1012AFRWY, the Ethernet PHY driver does not work well in U-Boot.

Open

5.15. 522.1.0

LFU-205

Support for all SerDes protocol variations is not on added under DM_ETH.For use of the SGMII/ QSGMII based protocols on LS1088AQDS please disable DM_ETH and related configs.

Open

5.15. 522.1.0

QLINUX11792

On LS1043A and LS1046A, there is call trace on the optical port while testing parallel tcp with DPAA1 upstream driver.

Open

LSDK 19.06

Add the ‘iommu. passthrough=1′ boot parameter when using the upstream driver

QLINUX11797

There is no Kexec support on LS1021A (Armv7) platform.

Open

LSDK 19.06

QSDK-7956

The LS1028A Felix switch suffers from the A-050484 erratum (“Ethernet flowcontrol not functional on L2 switch NPI port when XFH is used”). In the default configuration, where the control interface is configured to be the 2.5 Gbps eno2/swp4 port pair, and when the external ports are running at 1 Gbps, the switch enters congestion for traffic sent to switch ports from the CPU. Traffic streams such as iperf3 TCP see low throughput (~300 Mbps) due to burstypacket drops under congestion inside the switch which trigger the TCPcongestion control algorithms.

Open

5.15. 522.1.0

The workaround for the A-050484 erratum is not available in the v5.10 kernel, so to avoid the low TCP throughput issue for scenarios where this is desirable, the recommendation is to move the switch control interface from the 2.5Gbps port pair eno2/swp4 to the 1Gbps port pair eno3/swp5, and use the 2.5Gbps port pair eno2/ swp4 as a plain data port. Under this configuration, flow control can be enabled on the 2.5Gbps port pair, which avoids congestion drops inside the switch.
For more details, see “ENETC Ethernet and Felix switch drivers”, and “ENETC Ethernet and Felix switch drivers” for the detailed changes.

QSDK-7971 The header esbc_validate fails in MC and DPC when secure boot starting on LS1088ARDB

Open

5.15. 522.1.0

Build images for secure boot without bitbake. All the images including DPC and MC binaries should be signed using the cst application.

QSDK-8014

In case of repetitive create/destroy/reset operations on dpdmai object, the MC firmware may enter into an unresponsive state in which no further commands can be issued making the networking applications non-functional until reboot.

Open

LSDK 21.08

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
13 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Table 6.Open issues in the Layerscape LDP release 6.1.1_1.0.0…continued

ID

Description

Disposition

Opened Workarounds in

QUEFI1950/2033

USXGMII is not supported with UEFI ACPI

Open

LSDK 20.12

QUEFI-1951 QDMA is not supported with UEFI ACPI

Open

LSDK 20.12

QUEFI-2025 AQR113C is not supported in UEFI shell on LX2160ARDB revC.

Open

5.15. 522.1.0

· Closed issues: Closed issues are issues where the root cause and fix are outside the scope of the Layerscape LDP.
There are no closed issues in the Layerscape LDP release 6.1.1_1.0.0.

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
14 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

4 Getting started with Layerscape LDP
4.1 Host system requirements
Set up the host system as given below:
1. Install Ubuntu 20.04 LTS on the host machine: a. Obtain sudo permission by running the command: sudoedit /etc/sudoers b. Add a line: ALL=(ALL:ALL) NOPASSWD: ALL
2. To build the target NXP Layerscape LDP userland for arm64/armhf arch, the user network environment must have access to the remote Ubuntu official server.
4.1.1 How to set HTTP proxy in Ubuntu
If your Linux host machine is in a subnet that needs HTTP(s) proxy to access external Internet, set the environment variable http_proxy and https_proxy as below:
1. Set proxy in ~/.bashrc (for current user) or in /etc/profile.d/proxy.sh (for global users), then run source ~/.bashrc or source /etc/profile.d/proxy.sh to validate the settings. export http_proxy=”http://:@:” export https_proxy=”https://:@:
2. Set proxy in /etc/apt/apt.conf Acquire::http::Proxy “http://:@:”; Acquire::https::Proxy “https://:@:”;

4.2 Download and deploy Layerscape LDP images in Linux environment using flexinstaller

You can build Layerscape LDP easily from source by using Yocto bitbake. It is a generic task execution engine that allows to run the shell and Python tasks efficiently, while working within complex inter-task dependency constraints.
To build Layerscape LDP from source, see Section 4.5.
Table 7 lists and explains the command options used in the flex-installer commands.

Table 7.flex-installer command options Command option Description

-m

Refers to board name.

-f -b
-B, –bootpart

Refers to firmware image.
Refers to bootpartition image. There is a set of bootpartition images for each of the Linux kernel versions and platform (64-bit) supported by Layerscape LDP.
Specify boot partition number to override default (default boot partition is the 2nd one)

Supported values ls1012afrwy, ls1021atwr, ls1028ardb, ls1043ardb, ls1046ardb, ls1046afrwy, ls1088ardb, ls2088ardb, lx2160ardbrev2, lx2162aqds firmware_.img boot_LS_arm64lts.tgz
For example, -B 1 or

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
15 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Table 7.flex-installer command options…continued Command option Description

Supported values –bootpart=1

-r

Refers to NXP Layerscape LDP userland. There are different rootfs images for default userland and Edgescale userland.

ls-image-main-.tar.gz For example, = ls1028ardb: ls-image- desktop-ls1028ardb.tar.gz

-R, –rootpart Specify root partition number to override the default (default root partition is the 4th partition)

For example, specify the third partition as root partition:
-R 3 or
–rootpart=3

-d

Refers to storage device (SD, USB, or SATA)

/dev/

Note:

· Use the command cat /proc/partitions to see a list of devices and their sizes to make sure that the
correct device names have been chosen.

· The SD/USB/SATA storage drive in the Linux PC is detected as /dev/sdX, where X is a letter such as a, b, c. Make sure to choose the correct device name, because data on this device will be replaced.

· If the Linux host machine supports read/write SD card directly without an extra SD card reader device,
the device name of SD card is typically mmcblk0.

-e

`-e dtb’ option is used for UEFI in DTB way. This parameter installs grub.cfg, efi.fd

dtb, no need this option in case of U-Boot as bootloader

There is no need to add ‘-e’ option in case of U-Boot as bootloader by default

-u

Specifies URL of distro web server to override the default one for automatically downloading distro.

URL of distro web server

Note:
· The U-Boot based composite firmware must be programmed in flash device (not in SD card) on LS2088ARDB/LS1012ARDB/LS1012AFRWY, no limitation on the other Layerscape boards.
· Users can install distro rootfs and bootpartition tarball into SD card (or USB/SATA disk) on all Layerscape boards.
· To run flex-installer command on the target storage drive connected to a reference board, you must boot the board with TinyLinux and bring up network interface. For details, refer to To deploy Layerscape LDP images on a reference board running TinyLinux.
· To deploy locally custom Layerscape LDP images to the target storage drive connected to a Linux host machine or a reference board. Usage:
$ flex-installer -b -r -f -d
For list of supported values for , , , and

, see Table 7. Example: For ls1043ardb: $ flex-installer -b boot_ls1043ardb_lts_6.1.tgz -r ls- imagemainls1043ardb.tar.gz -f firmware_ls1043ardb_sdboot.img -d /dev/sdX

· To deploy custom Layerscape LDP images on a reference board running TinyLinux
1. After the reference board boots automatically, check whether the reference board boots TinyLinux or whether it boots Layerscape LDP userland based distribution. TinyLinux is a non-customizable ramdisk

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
16 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

rootfs deployed in flash media on the reference board. This rootfs fits into the firmware image on flash and is therefore called tiny.
­ If the reference board boots TinyLinux, proceed to step #3.
­ If the reference board boots Layerscape LDP – based distribution, it means that an older Yocto based distribution may already be present on the storage device that is plugged into the reference board. In this case, go to step #2 first, to force the board to boot TinyLinux.
2. Force the reference board to boot TinyLinux.
­ Reboot the board and stop autoboot to enter U-Boot prompt.
­ Set Ethernet Interface
=>pri bootcmd bootcmd=env exists mcinitcmd && mmcinfo; mmc read 0x80001000 0x6800 0x800;
env exists mcinitcmd && env exists secureboot && mmc read 0x806C0000 0x3600 0x20 && esbc_validate 0x806C0000;env exists mcinitcmd && fsl_mc lazyapply dpl 0x80001000;run distro_bootcmd;run sd_bootcmd;env exists secureboot && esbc_halt; 2, run bootcmd (from the info above) =>mmc read 0x80001000 0x6800 0x800 => fsl_mc lazyapply dpl 0x80001000

­ Enter following command at the U-Boot prompt to boot the board to the TinyLinux environment for executing flex-installer:
=> run sd_bootcmd (for SD/eMMC boot) => run nor_bootcmd (for IFC-NOR boot) => run qspi_bootcmd (for QSPI-NOR boot) => run xspi_bootcmd (for FlexSPI-NOR boot)

3. Log in to TinyLinux as root and bring up a network interface. Dynamic IP address assignment:

: ifconfig -a #: udhcpc -i eth0 ( or eth1 ,etc.) c

Static IP address assignment:
$ ifconfig netmask up

The port name in Linux TinyLinux corresponding to each of the ports on the reference board chassis is given in section “ reference information” in the board-specific Quick start guide section. 4. Use flex-installer to create and format the partitions for storage device (USB/SATA/SD).
$ flex-installer -i pf -d # use default partition_list

Or
$ flex-installer -i pf -d -p # specify custom partition_list

For list of supported values for , see Table 7. 5. Change current path to the Partition 4 of target storage device.
$ cd /mnt/mmcblk0p4 (or /mnt/sdx4)

6. Download bootpartition.tgz and rootfs .tgz using the wget or scp command.
7. Deploy bootpartition and Layerscape LDP userland to the target device using the command given below:
flex-installer -f -b -r -d

For the list of supported values for , , and , see Table 7.

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
17 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Example:
$ flex-installer -b boot_ls1043ardb_lts_6.1.tgz -r ls- imagemainls1043ardb.tar.gz -f firmware_ls1043ardb_sdboot.img -d /dev/sdX
· To only install composite firmware to the target storage drive on a Linux host machine or a reference board. Usage:
$ flex-installer -f -d
For the list of supported values for , , see Table 7. Example:
$ flex-installer -f firmware_ls1046ardb_sdboot.img -d /dev/sdx
· To partition and format target storage device with specified number and size of partitions instead of using the default partitions. Usage:
flex-installer -i pf -p -d
For the list of supported values for , see Table 7. Example:
$ flex-installer -f firmware_ls1043ardb_sdboot.img -b boot_ls1043ardb_lts_6.1.tgz -r ls-image-
main-ls1043ardb.tar.gz -d /dev/sdX

4.3 Download and deploy Layerscape LDP composite firmware in Windows environment
To download and deploy the Layerscape LDP composite firmware in Windows environment, perform the following steps:
Note: The following steps are verified on Windows 10.
1. Download the DD for Windows tool and install it. http://download.si- linux.co.jp/dd_for_windows/DDWin_Ver0998.zip
2. Create a folder (for example, C:/Layerscape_LDP) and copy the composite firmware you built in Windows Subsystem Linux (WSL).
3. Run the Windows cmd command and change the current work directory to the created folder.
C:WindowsSystem32> cd C:/LDP C:LDP> dir
4. Run Windows command copy /b sd_pt_4k.img +

to combine the partition table image with the composite firmware. C:LDP> copy /b sd_pt_4k.img + firmware_ls1028ardb_sdboot.img firmware_ls1028ardb_sdboot_4k.img The new image firmware_ls1028ardb_sdboot_4k.img is generated. 5. Run the tool DD for Windows as administrator. 6. Click Choose disk Choose file , and then Restore to program the newly generated composite firmware into the target SD card. 7. Unplug the SD card from Windows host machine and plug it on the target board. 8. Set the DIP switch for SD boot or run run sd_bootcmd at the U-Boot prompt. 9. Log in to TinyDistro as root and install Layerscape LDP distro using flex-installer.

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
18 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

For more instructions, see Section 4.6.
4.4 Deploying Layerscape LDP images to a board using flex-installer
Perform the following steps to deploy the Layerscape LDP images to a board using a removable storage device, which can be connected to a local Linux host machine:
1. Connect the removable storage device to the Linux host machine. 2. Install flex-installer to deploy Layerscape LDP images (this is a one-time activity):
$ git clone https://github.com/nxp-imx/meta-nxp-desktop.git -b lf-6.1.1-1.0.0-langdale
$ cp meta-nxp-desktop/scripts/flex-installer_1.14.2110.lf /usr/bin/flexinstaller $ sudo chmod a+x /usr/bin/flex-installer $ which flex- installer
3. Execute the following flex-installer command to install Layerscape LDP:
$ flex-installer -i pf -d ; $ flex-installer -f <firmware_xxx.img> -b

-r -d Note: · Use the command cat /proc/partitions to view the list of devices and their sizes to ensure that the correct device names are chosen. · The SD/USB/SATA storage drive in the Linux PC is detected as /dev/sdX, where X is a letter such as a, b, c. Ensure to choose the correct device name, as the data on this device is replaceable. · If the Linux host machine supports read/write SD card directly without an extra SD card reader device, the device name of SD card is typically mmcblk0. 4. Unplug removable storage device from the Linux host and plug into the reference board. Ensure that the DIP switch settings on the board are correct to boot from the desired boot medium. 5. Power on the board. The system automatically boots up to the Layerscape distro system. Use the following default credentials to log on to the Layerscape distro system: ­ user/user

4.5 Build Layerscape LDP with Yocto bitbake
This section introduces detailed steps to build Layerscape LDP with Yocto bitbake. The Layerscape LDP build uses a Yocto-based meta layer to generate a Proof of Concept (POC) image and it works together with Layerscape release layer (meta-qoriq). It reuses the Linux BSP release framework to manage and generate the U-Boot bootloader, Linux kernel image, and Layerscape root file system in the image build. Note: The release version is managed by the Layerscape Yocto SDK Manifest.
The Layerscape LDP build include main and desktop builds. The main build is applicable for all the Layerscape SoCs and the desktop build is applicable for LS1028ARDB only.
4.5.1 Host packages
A Yocto Project build requires some packages that must be installed for the Yocto Project build.
To set up the Yocto Project build, navigate to the Yocto Project Quick Start and check for the packages that must be installed for your build machine.

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
19 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

The essential Yocto project host packages are given below:
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat cpio python python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa
libsdl1.2-dev pylint3 xterm rsync curl

4.5.2 Download Yocto bitbake
The Yocto project uses OpenEmbedded (OE) to build hosts, and the project uses bitbake to build a complete Linux image. The bitbake and OE components are combined to form the reference build host, formerly known as poky. Repo is a tool built on top of Git. To avail poky, and bitbake tools, download the poky repository and bitbake tools using the repo tool.
$ repo init -u https://github.com/nxp-qoriq/yocto-sdk -b langdale -m ls-6.1.1-1.0.0_distro.xml $ repo sync ./-setup-env -m Supported boards ================ ls1012ardb ls1012afrwy ls1021atwr ls1043ardb ls1046ardb ls1046afrwy ls1088ardb-pb ls1028ardb ls2088ardb lx2160ardb-rev2 lx2162aqds
4.5.3 Build Layerscape LDP image using bitbake
To build custom images with different configurations instead of the default settings, you can directly deploy the prebuilt Layerscape LDP composite firmware and distro userland to storage device on target board by Yocto bitbake.
To build the Layerscape LDP image, run the following command:
$ bitbkake ls-image-lite $ bitbake ls-image-main # (if machine=ls1028ardb, should bitbake ls-image-desktop )

4.5.4 bitbake commands

The following table lists commands to build Layerscape LDP using bitbake.

Table 8.bitbake commands
S. Build Command No. object

Automated $ DISTRO=fsl-qoriq-distro MACHINE= source distro-setup-env

build for

$ bitbake

specific For example: board

$ DISTRO=fsl-qoriq-distro MACHINE=ls1028ardb source distro-setup-env

1

$ bitbake ls-image-main

Description
Automatically builds Kernel, and app components for the specific board.

can be ls1012ardb, ls1012afrwy, ls1021atwr, ls1028ardb, ls1043ardb, ls1046ardb, ls1088ardb_ pb, ls2088ardb, lx2160ardb_rev2, lx2162aqds can be bitbake ls-image-main bitbake ls-image-desktop

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
20 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Table 8.bitbake commands…continued
S. Build Command No. object

Description
bitbake ls-image-lite bitbake ls-image-tiny

Builds bitbake qoriq-atf 2 ATF and
U-Boot

Builds bitbake

specific For example:

component

bitbake dpdk

bitbake vpp

3

bitbake perf

bitbake ovs-dpdk

bitbake fmc

bitbake openssl

bitbake opencv

Automatically builds ATF image with dependent RCW and bootloader (UBoot or UEFI).
To build single or multiple components, run the command:
bitbake

Builds bitbake

multiple For example:

app

bitbake packagegroup-fsl-tools-core

4 components

for

specific

subsystem

User can modify or add custom component in the corresponding files, for example, meta-qoriq/recipesfsl/packagegroups/packag
egroup-fsl-tools-core.bb

Builds various distro userland

bitbake bitbake ls-image-lite

Generates distro rootfs as per the specified distro type and scale.
Build lite image with the optimized config.

5

bitbake ls-image-main

Build main image for networking feature.

bitbake ls-image-desktop

Build desktop image for a specific board only.

bitbake fsl-image-mfgtool

Build yocto tiny image with limited tools.

Cleans bitbake -c clean <recipe_name/target_name> various images bitbake -c cleanall <recipe_name/target_name>
6

Removes all the output files for a target.
Removes all the output files, shared state cache, and downloaded sources files for a target.

bitbake -c cleansstate <recipe_name/target_name> Removes all the output files and shared state cache for a target.

4.5.5 Generate Layerscape LDP composite firmware
Layerscape LDP composite firmware consists of RCW/PBL, ATF, Bootloader (U-Boot or UEFI), secure headers, Ethernet MAC/PHY firmware, dtb, kernel and tiny initrd RFS. The composite firmware can be programmed at offset 0x0 in flash device or at offset block# 8 in SD/eMMC card. Note: Arm CoT is supported only for LX2160ARDB Rev2 and LX2162AQDS platforms.

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
21 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Usage: $ bitbake qoriq-composite-firmware

4.5.6 Generate tarball In this tar ball, the boot image puts dtb, image, secure-boot header, and the kernel module. boottgz writes in boot part2. Use this command below to generate this tar ball in Yocto bitbake. Usage:
$ bitbake generate-boottgz

4.5.7 Build TF-A with RCW and U-Boot/UEFI
Layerscape platforms support TF-A (Trusted Firmware-A) which provides a reference implementation of secure world software for Armv7-A and Armv8-A. bitbake can automatically build the dependent RCW, U-Boot/UEFI, OPTEE, and CST to generate TF-A binaries, bl2.pbl and fip.bin images for Layerscape platforms. Use the commands below to build ATF with RCW and U-Boot/UEFI in Yocto bitbake. Note: Arm CoT is supported only for LX2160ARDB Rev2 and LX2162AQDS platforms. Usage:
Usage: bitbake qoriq-atf
Note: If you want to use different RCW instead of the default one, you can reconfigure rcw_ variable in sources/meta-qoriq/recipes-bsp/secure- boot/secure-boot-qoriq//manifest, then run bitbake linux-firmware -c cleanall; bitbake qoriq-atf to generate new ATF image with the specified RCW, if you modified U-Boot, RCW or ATF source code, bitbake can automatically recompile them with the modified source.
4.5.8 Build Linux kernel with bitbake
Besides building Layerscape LDP kernel in standalone way (see Section 7.4), it is easy to automatically build Layerscape LDP kernel with the bitbake command. To build kernel, use the following command:
bitbake linux-qoriq

4.5.9 Build application components in Yocto bitbake The following commands are some examples of building application components. Usage:
$ bitbake

Example:

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
22 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Usage:
bitbake dpdk bitbake pktgen-dpdkbitbake vppbitbake fmcbitbake restoolbitbake tsntool bitbake opencv
System reboots and automatically boot to Layerscape Linux system with the newly custom kernel.
4.5.10 Deploy new images after modifying the source code of NXP components locally
1. Clean the old apps images using the command: $ bitbake -c cleanall
2. Modify component bitbake files in directory components/apps/<subsystem

/ according to demand. This step is optional.
3. Build the component and generate the compressed app component tarball. You can find the compiled images in build-desktop/tmp/deploy/images directory: $ bitbake -c compile -f

4.5.11 Build various userlands with custom packages
Layerscape LDP supports different types of distro userlands in various scales to adapt a variety of use cases, you can select the appropriate distro userland as per your need.
· Layerscape LDP Main Userland. · Layerscape LDP Lite Userland. · Layerscape LDP Desktop Userland.
Layerscape LDP Main Userland
The Layerscape LDP default main userland consists of Linux distro-based main packages and NXP’s packages, which can be generated by the following command:

$ bitbake ls-image-main
Layerscape LDP Lite Userland The Layerscape LDP lite userland consists of Linux distro packages and a few NXP’s packages, which can be generated by the following command:
$ bitbake ls-image-lite
Layerscape LDP Desktop Userland The Layerscape LDP desktop userland consists of Linux distro GNOME desktop packages and some NXP’s packages for platforms with GPU (for example, LS1028A and i.MX platform). The GOME desktop is launched automatically by default, it needs to manually launch weston in case weston is needed. Users can generate and deploy Linux distro desktop userland by the following command:

$ bitbake ls-image-desktop

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
23 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

4.5.12 Add a custom machine in Yocto bitbake based on Layerscape LDP release To add a custom machine, perform the steps given below: For example, LS1043AXX based on the LS1043A SoC. 1. Run repo init and repo sync to fetch all Git repositories of Layerscape LDP components for the first
time. 2. Add configs in yocto bitbake for new machine:
Add ls1043axx node in conf/machine/ls1043axx.conf.
4.5.13 Upgrade the existing Layerscape LDP distro with Yocto bitbake on host To only update boot partition (with customized kernel and modules) on SD card connected to host machine or target Arm board:
$ flex-installer -b boot__lts_6.1.tgz -d /dev/mmcblk0 (or /dev/sdx)
To only update rootfs tarball on SD card connected to host machine or target Arm board:
$ flex-installer -r ls-image-main-.tar.gz -d /dev/mmcblk0 (or /dev/sdx)
To update both bootpartition and rootfs on SD card connected to host machine or target Arm board:
$ flex-installer -b -r -d /dev/mmcblk0 (or /dev/sdx)

4.6 Downloading a TinyDistro image to a Layerscape board using flex-installer
Perform the following steps to download the TinyDistro image to a Layerscape board using flex-installer:
1. Connect the removable storage device to the Linux host machine. 2. Install flex-installer to deploy TinyDistro images (this is a one-time activity):
$ git clone https://github.com/nxp-imx/meta-nxp-desktop.git -b lf-6.1.1-1.0.0-langdale
$ cp meta-nxp-desktop/scripts/flex-installer_1.14.2110.lf /usr/bin/flexinstaller $ sudo chmod a+x /usr/bin/flex-installer $ which flex- installer
3. Execute the following flex-installer command to install TinyDistro image:
$ flex-installer -i pf -d ; $ flex-installer -f <firmware_xxx.img> -d

4\. Unplug removable storage device from the Linux host and plug into the reference board. 5. Make sure that the DIP switch settings on the board are correct to boot from the desired boot medium. 6. Power on the board and enter into U-Boot to allocate the Ethernet interface: => pri bootcmd bootcmd=env exists mcinitcmd && mmcinfo; mmc read 0x80001000 0x6800 0x800; env exists mcinitcmd && env exists secureboot && mmc read 0x806C0000 0x3600 0x20 && esbc_validate 0x806C0000;env exists mcinitcmd && fsl_mc lazyapply dpl 0x80001000;run distro_bootcmd;run sd_bootcmd;env exists secureboot && esbc_halt; => mmc read 0x80001000 0x6800 0x800

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
24 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

=> fsl_mc lazyapply dpl 0x80001000
7. Run one of the following commands as applicable: · => run sd_bootcmd (for SD/eMMC boot)
· => run nor_bootcmd (for IFC-NOR boot)
· => run qspi_bootcmd (for QSPI-NOR boot)
· => run xspi_bootcmd (for FlexSPI-NOR boot)
8. Log in to TinyDistro as “root/root” and bring up a network interface:
$ ifgonfig -a # Dynamic IP address assignment: $ udhcpc -i

# Static IP address assignment: $ ifconfig netmask up 9\. Download the board image: $ wget /flex-installer.sh && chmod a+x flex-installer.sh && sudo mv flex-installer.sh /usr/bin/flex-installer $ wget / $ wget / 10\. Execute the following flex-installer command to install the Layerscape image: $ fdisk -l $ flex-installer -i pf -d ; $ flex-installer -f -b -r -d 11\. Reboot in the TinyDistro system. $ reboot

4.7 Quick start guides for Layerscape boards
This section describes:
· Quick start guide for FRWY-LS1012A · Quick start guide for LS1012ARDB · Quick start guide for TWR-LS1021A · Quick start guide for LS1028ARDB · Quick start guide for LS1043ARDB · Quick start guide for FRWY-LS1046A · Quick start guide for LS1046ARDB · Quick start guide for LS1088ARDB · Quick start guide for LS2088ARDB · Quick start guide for LX2160ARDB Rev2 · Quick start guide for LX2162AQDS

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
25 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

4.7.1 Quick start guide for FRWY-LS1012A
This section explains:
· Introduction · FRWY-LS1012A reference information · Program Layerscape LDP composite firmware image

4.7.1.1 Introduction
The following sections describe the procedure to program the Layerscape LDP composite firmware for FRWY-LS1012A. Also, this section explains the most common use case procedure to download and deploy Layerscape LDP default images to FRWY-LS1012A using flex-installer. For more information, see Section 4.2.
For more information on the different components of the board, and on how to configure and boot the board, see Layerscape LS1012A Freeway Board Getting Started Guide.

4.7.1.2 FRWY-LS1012A reference information
This section provides general information about FRWY-LS1012A which may come in handy as a reference while completing steps for deploying Layerscape LDP that follow.

4.7.1.2.1 Ethernet port map

The table below shows the mapping between the labels on the FRWY-LS1012A, port in U-Boot and port in Linux.

Table 9. Ethernet port mapping Label on board ETH1 ETH2

Port in U-Boot pfe_eth0 pfe_eth1

Port in Linux eth0 eth1

4.7.1.2.2 System memory map
In 64-bit U-Boot, there is a 1:1 mapping of physical address and effective address. After system startup, the bootloader maps physical address and effective address as shown in the following table:

Start Physical Address 0x00_0000_0000 0x00_0100_0000 0x00_1000_0000 0x00_1001_0000 0x00_4000_0000 0x00_8000_0000 0x40_0000_0000

End Physical Address 0x00_000F_FFFF 0x00_0FFF_FFFF 0x00_1000_FFFF 0x00_1001_FFFF 0x00_47FF_FFFF 0x00_FFFF_FFFF 0x47_FFFF_FFFF

Memory Type Secure boot ROM CCSR OCRAM1 OCRAM2 QSPI DRAM PCI Express1

Size 1 MB 240 MB 64 KB 64 KB 128 MB 2 GB 32G

4.7.1.2.3 Supported boot options

FRWY-LS1012A supports the following boot options:

· QSPI NOR Flash

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
26 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Note: QSPI NOR flash is the only boot option available on the FRWY-LS1012A.
The FRWY-LS1012A supports onboard Winbond W25M161AWEIT single/dual/quad-SPI serial flash memory with 16 Mbit NOR and 1 Gbit NAND space in a single chip.
U-Boot 2020.04-21450-gbde1a7f (Sep 18 2020 – 21:55:22 +0800) SoC: LS1012AE Rev2.0 (0x87040020) Clock Configuration:
CPU0(A53):1000 MHz Bus: 250 MHz DDR: 1000 MT/s Reset Configuration Word (RCW): 00000000: 0800000a 00000000 00000000 00000000 00000010: 33050000 c000000c 40000000 00001800 00000020: 00000000 00000000 00000000 000c47f2 00000030: 00000000 1082a120 00000096 00000000 DRAM: 958 MiB Using SERDES1 Protocol: 13061 (0x3305) MMC: FSL_SDHC: 0, FSL_SDHC: 1 Loading Environment from SPI Flash… SF: Detected w25q16dw with page size 256 Bytes, erase size 4 KiB, total 2 MiB OK In: serial Out: serial Err: serial Model: FRWY-LS1012A Board Board: FRWY-LS1012A Version: RevC Net: SF: Detected w25q16dw with page size 256 Bytes, erase size 4 KiB, total 2 MiB PFE class pe firmware for Linux PFE tmu pe firmware for Linux PFE class pe firmware for u-boot PFE tmu pe firmware for u-boot eth0: pfe_eth0, eth1: pfe_eth1

4.7.1.3 Program Layerscape LDP composite firmware image
To program Layerscape LDP composite firmware image in QSPI NOR flash on FRWY- LS1012A: 1. Copy firmware on host machine to TFTP server.
cp /tmp/deploy/image/ls1021afrwy/firmware_ls1012afrwy_qspiboot.img ~/ tftp/
2. Under U-Boot, download the firmware to the reference board using one of the following options: · Load firmware from the TFTP server => tftp $load_addr firmware_ls1012afrwy_qspiboot.img
· Load firmware image from partition on mass storage device (SD, USB, or SATA) => load mmc $load_addr firmware_ls1012afrwy_qspiboot.img
For example: => load mmc 0:2 $load_addr firmware_ls1012afrwy_qspiboot.img
Or => load usb $load_addr firmware_ls1012afrwy_qspiboot.img
Or => load scsi $load_addr firmware_ls1012afrwy_qspiboot.img

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
27 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Note: Use the following command if the SD card is formatted/created using Layerscape LDP flex-installer command:
=> load [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> load mmc 0:2 $load_addr firmware_ls1012afrwy_qspiboot.img Use the following command if the SD card is formatted/created on a Windows PC:
=> fatload [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> fatload mmc 0:2 $load_addr firmware_ls1012afrwy_qspiboot.img Use the following command if the SD card is formatted/created on a Linux PC:
=> ext2load [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> ext2load mmc 0:2 $load_addr firmware_ls1012afrwy_qspiboot.img The Layerscape LDP flex-installer command puts the images on the second partition, so that 0:2 is used in the load command. If the SD card is formatted on Windows PC or Linux PC for single partition only, then 0 should be used instead of 0:2 in the fatload/ext2load command. 3. Program the firmware to QSPI NOR flash.
=> sf probe 0:0 => sf erase 0 +$filesize && sf write $load_addr 0 $filesize
4. Reset and boot the board from QSPI NOR flash. The system will automatically boot up TinyDistro (log in using root/root) or Layerscape LDP distro (log in using user/user) available on the removable storage device.
=> reset

4.7.1.4 Downloading a TinyDistro image to a Layerscape board using flex- installer
Perform the following steps to download the TinyDistro image to a Layerscape board using flex-installer:
1. Connect the removable storage device to the Linux host machine. 2. Install flex-installer to deploy TinyDistro images (this is a one-time activity):
$ git clone https://github.com/nxp-imx/meta-nxp-desktop.git -b lf-6.1.1-1.0.0-langdale
$ cp meta-nxp-desktop/scripts/flex-installer_1.14.2110.lf /usr/bin/flexinstaller $ sudo chmod a+x /usr/bin/flex-installer $ which flex- installer
3. Execute the following flex-installer command to install TinyDistro image:
$ flex-installer -i pf -d ; $ flex-installer -f <firmware_xxx.img> -d

4\. Unplug removable storage device from the Linux host and plug into the reference board. 5. Make sure that the DIP switch settings on the board are correct to boot from the desired boot medium.

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
28 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

6. Power on the board and enter into U-Boot to allocate the Ethernet interface:
=> pri bootcmd bootcmd=env exists mcinitcmd && mmcinfo; mmc read 0x80001000 0x6800 0x800;
env exists mcinitcmd && env exists secureboot && mmc read 0x806C0000 0x3600 0x20 && esbc_validate 0x806C0000;env exists mcinitcmd &&
fsl_mc lazyapply dpl 0x80001000;run distro_bootcmd;run sd_bootcmd;env exists secureboot && esbc_halt; => mmc read 0x80001000 0x6800 0x800 => fsl_mc lazyapply dpl 0x80001000
7. Run one of the following commands as applicable: · => run sd_bootcmd (for SD/eMMC boot)
· => run nor_bootcmd (for IFC-NOR boot)
· => run qspi_bootcmd (for QSPI-NOR boot)
· => run xspi_bootcmd (for FlexSPI-NOR boot)
8. Log in to TinyDistro as “root/root” and bring up a network interface:
$ ifgonfig -a # Dynamic IP address assignment: $ udhcpc -i

# Static IP address assignment: $ ifconfig netmask up 9\. Download the board image: $ wget /flex-installer.sh && chmod a+x flex-installer.sh && sudo mv flex-installer.sh /usr/bin/flex-installer $ wget / $ wget / 10\. Execute the following flex-installer command to install the Layerscape image: $ fdisk -l $ flex-installer -i pf -d ; $ flex-installer -f -b -r -d 11\. Reboot in the TinyDistro system. $ reboot

4.7.2 Quick start guide for LS1012ARDB
This section explains:
· Introduction · LS1012ARDB reference information · Program Layerscape LDP composite firmware image

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
29 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

4.7.2.1 Introduction
The following sections describe the procedure to program Layerscape LDP composite firmware for LS1012ARDB. Also, this section explains the most common use case procedure to download and deploy Layerscape LDP default images to LS1012ARDB using flex-installer. For more information, see Section 4.2.
For more information on the different components of the board, and on how to configure and boot the board, see LS1012A Reference Design Board Getting Started Guide.

4.7.2.2 LS1012ARDB reference information
This section provides general information about LS1012ARDB which may come in handy as a reference while completing steps for deploying Layerscape LDP that follow.

4.7.2.2.1 Ethernet port map The table below shows how the Ethernet ports can be mapped to Linux, U-Boot, and labels on the 1U box.

Label on 1U box
ETH_1 ETH_2

Port name in U-Boot
pfe_eth0 pfe_eth1

Port name in Linux based userland
eth0
eth1

Comments
1G SGMII 1G RGMII

The following figures show the LS1012ARDB chassis front and rear views:

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
30 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

4.7.2.2.2 System memory map

Start physical address 0x00_0000_0000 0x00_0100_0000 0x00_1000_0000 0x00_1001_0000 0x00_4000_0000 0x00_8000_0000 0x08_8000_0000 0x40_0000_0000

End physical address 0x00_000F_FFFF 0x00_0FFF_FFFF 0x00_1000_FFFF 0x00_1001_FFFF 0x00_5FFF_FFFF 0x00_FFFF_FFFF 0x0F_FFFF_FFFF 0x47_FFFF_FFFF

Memory type Secure Boot ROM CCSR OCRAM1 OCRAM2 QSPI DRAM DRAM2 PCI Express1

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

Size 1 MB 240 MB 64 KB 64 KB 512 MB 2 GB 30G 32G
© 2023 NXP B.V. All rights reserved.
31 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

4.7.2.2.3 Supported boot options LS1012ARDB supports the following boot options: · QSPI NOR flash

4.7.2.2.4 Onboard switch options

The RDB has user selectable switches for evaluating different boot options for the LS1012A device as given in the table below (‘0’ is OFF, ‘1’ is ON).

Table 10.Booting from QSPI NOR flash bank1

1

2

3

4

5

6

7

8

SW1

1

0

1

0

0

1

1

0

SW2

0

0

0

0

0

0

0

0

Table 11.Booting from QSPI NOR flash bank2

1

2

3

4

5

6

7

8

SW1

1

0

1

0

0

1

1

0

SW2

0

0

0

0

0

0

1

0

4.7.2.2.5 Flash bank usage
The LS1012ARDB supports onboard Spansion S25FS512SAGMFI011 quad-SPI serial flash memory with 64 MB space. There are two virtual banks on the RDB that can be selected through DIP switch settings (see Table 1 and Table 2 above).
To protect the default U-Boot in QSPI NOR flash bank1, it is a convention employed by NXP to deploy work images into QSPI NOR flash bank2, and then switch to QSPI NOR flash bank2 for testing. Switching to flash2 can be done in software using I2C commands and effectively swaps QSPI NOR flash bank1 with QSPI NOR flash bank2. This protects QSPI NOR flash bank1 and keeps the board bootable under all circumstances.

U-Boot 2020.04-21450-gbde1a7f (Sep 18 2020 – 21:58:27 +0800)

SoC: LS1012AE Rev2.0 (0x87040020)

Clock Configuration:

CPU0(A53):1000 MHz

Bus:

250 MHz DDR:

1000 MT/s

Reset Configuration Word (RCW):

00000000: 0800000a 00000000 00000000 00000000

00000010: 35080000 c000000c 40000000 00001800

00000020: 00000000 00000000 00000000 00014571

00000030: 00000000 18c2a120 00000096 00000000

DRAM: 958 MiB

Using SERDES1 Protocol: 13576 (0x3508)

MMC: FSL_SDHC: 0, FSL_SDHC: 1

Loading Environment from SPI Flash… SF: Detected s25fs512s with page size 256

Bytes, erase size 256 KiB, total 64 MiB

OK

In: serial

Out: serial

Err: serial

Model: LS1012A RDB Board

Board: LS1012ARDB Version: RevE, boot from QSPI: bank2

Net: SF: Detected s25fs512s with page size 256 Bytes, erase size 256 KiB,

total 64 MiB

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
32 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

PFE class pe firmware for Linux PFE tmu pe firmware for Linux PFE class pe firmware for u-boot PFE tmu pe firmware for u-boot eth0: pfe_eth0, eth1: pfe_eth1 =>

How to boot from QSPI NOR flash bank2
Note:
The I2C IO-expander can be used to override the onboard DIP switch settings.
1. To check which bank booted, refer to the U-Boot log. You will see either “QSPI: bank 1” or “QSPI: bank2″ printed in the log. For example: Board: LS1012ARDB Version: unknown, boot from QSPI: bank1
2. i2C command to switch from QSPI NOR flash bank1 to QSPI NOR flash bank2 ” i2c mw 0x24 0x7 0xfc; i2c mw 0x24 0x3 0xf5 ”
3. Program QSPI flash as per flash layout 4. To boot from QSPI NOR flash bank2 give “reset” command. 5. To move back to QSPI NOR flash bank1 from QSPI NOR flash bank2, power on/off the board or use “i2c
mw 0x24 0x3 0xf4 ” and then enter “reset” command.

4.7.2.3 Program Layerscape LDP composite firmware image
To program Layerscape LDP composite firmware image in QSPI NOR flash on LS1012ARDB: 1. Copy firmware on host machine to TFTP server.
cp /tmp/deploy/image/ls1012ardb/firmware_ls1012ardb_qspiboot.img ~/ tftp/
2. Reset the board to boot from QSPI NOR flash 1. Check U-Boot log for message. Board: LS1012ARDB Version: unknown, boot from QSPI: bank1
3. Switch from QSPI NOR flash 1 to flash 2: => i2c mw 0x24 0x7 0xfc => i2c mw 0x24 0x3 0xf5
4. Under U-Boot, download the firmware to the reference board using one of the following options: · Load firmware from the TFTP server => tftp $load_addr firmware_ls1012ardb_qspiboot.img
· Load firmware image from partition on mass storage device (SD, USB, or SATA) => load mmc $load_addr firmware_ls1012ardb_qspiboot.img
For example: => load mmc 0:2 $load_addr firmware_ls1012ardb_qspiboot.img
Or => load usb $load_addr firmware_ls1012ardb_qspiboot.img
Or => load scsi $load_addr firmware_ls1012ardb_qspiboot.img
Note:

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
33 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Use the following command if the SD card is formatted/created using Layerscape LDP flex-installer command:
=> load [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> load mmc 0:2 $load_addr firmware_ls1012ardb_qspiboot.img Use the following command if the SD card is formatted/created on a Windows PC:
=> fatload [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> fatload mmc 0:2 $load_addr firmware_ls1012ardb_qspiboot.img Use the following command if the SD card is formatted/created on a Linux PC:
=> ext2load [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> ext2load mmc 0:2 $load_addr firmware_ls1012ardb_qspiboot.img Also note that Layerscape LDP flex-installer command puts the images on the second partition, so 0:2 is used in the load command. If the SD card is formatted on Windows PC or Linux PC for single partition only, then 0 should be used instead of 0:2 in the fatload/ext2load command. 5. Program the firmware to QSPI NOR flash 2.
=> sf probe 0:0 => sf erase 0 +$filesize && sf write $load_addr 0 $filesize
6. Reset and boot the board from QSPI NOR flash 2. The system will automatically boot up TinyDistro (log in using root/root) or Layerscape LDP distro (log in using user/user) available on the removable storage device.
=> reset

4.7.3 Quick start guide for TWR-LS1021A
This section explains: · Introduction · TWR-LS1021A reference information · Program Layerscape LDP composite firmware image
4.7.3.1 Introduction
The following sections describe the procedure to program Layerscape LDP composite firmware for TWRLS1021A. Also, this section explains the most common use case procedure to download and deploy Layerscape LDP default images to to TWR-LS1021A using flex-installer. For more information, see Section 4.2. For more information on the different components of the board, and on how to configure and boot the board, see TWR-LS1021A Reference Design Board Getting Started Guide.
4.7.3.2 TWR-LS1021A reference information
This section provides general information about TWR-LS1021A which may come in handy as a reference while completing steps for deploying Layerscape LDP that follow.

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
34 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

4.7.3.2.1 Port map The table below shows the mapping between U-Boot port name and Linux TinyDistro port name.

Port name in U-Boot eTSEC1 eTSEC2 eTSEC3

Port name in TinyDistro eth0 eth1 eth2

4.7.3.2.2 System memory map

Start Physical Address 0x0100_0000

End Physical Address 0x0FFF_FFFF

0x1000_0000

0x1000_FFFF

0x1001_0000

0x1001_FFFF

0x2000_0000

0x20FF_FFFF

0x4000_0000

0x5FFF_FFFF

0x6000_0000

0x67FF_FFFF

0x7FB0_0000

0x7FB0_0FFF

0x8000_0000

0xFFFF_FFFF

Memory Type CCSR OCRAM0 OCRAM1 DCSR QSPI NOR Flash Board CPLD DDR

Size 240 MB 64 KB 64 KB 16 MB 512 MB 128 MB 4 KB 2 GB

4.7.3.2.3 Supported boot options
TWR-LS1021A supports the following boot options: · NOR · SD

4.7.3.2.4 Onboard switch options
The RDB has user selectable switches for evaluating different boot options for the TWR-LS1021A device as given in the table below (‘0’ is OFF, ‘1’ is ON).

Boot source NOR bank 0 (default) NOR bank 1 SD card

SW2[1:8] 10001111 10001111 00101111

SW3[1:8] 01100101 01101101 01100101

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
35 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Note that changing the boot device configuration from the default setting may require additional changes in the RCW or in other code images. For information on RCW naming convention for TWR-LS1021A, see https:// github.com/nxp- qoriq/rcw/blob/master/ls1021atwr/README.
4.7.3.2.5 Flash Bank usage
TWR-LS1021A provides a special feature that allows a single NOR flash to be divided into multiple parts called “banks”. This is done by board-level logic that modifies address signals. As there is only one NOR flash physically, the banks are sometimes called “virtual” banks. The benefit of this feature is that it allows more than one set of images to be independently deployed to one NOR flash. This is very helpful during development because the U-Boot image in one bank can be used to program an image set into a different bank. If the new images are flawed, the old images are still functional. The NOR flash on TWR- LS1021A is divided into two banks. The banks are called bank 0 and bank 1. To determine the current bank, refer to the example U-Boot log given below:
U-Boot 2020.04-gbde1a7f952 (Sep 27 2020 – 17:36:54 +0800) CPU: Freescale LayerScape LS1021E, Version: 2.0, (0x87081120) Clock Configuration:
CPU0(ARMV7):1200 MHz, Bus:300 MHz, DDR:800 MHz (1600 MT/s data rate), Reset Configuration Word (RCW): 00000000: 0608000c 00000000 00000000 00000000 00000010: 30000000 00007900 e0025a00 21046000 00000020: 00000000 00000000 00000000 18000000 00000030: 00080000 481b7340 00000000 00000000 Model: LS1021A TWR Board Board: LS1021ATWR CPLD: V3.2 PCBA: V2.0 VBank: 1 DRAM: 1 GiB Using SERDES1 Protocol: 48 (0x30) Firmware ‘Microcode version 0.0.1 for LS1021a r1.0’ for 1021 V1.0 QE: uploading microcode ‘Microcode for LS1021a r1.0’ version 0.0.1 Flash: 128 MiB MMC: FSL_SDHC: 0 Loading Environment from Flash… OK EEPROM: NXID v16777216 In: serial Out: serial Err: serial SEC0: RNG instantiated Net: eth0: ethernet@2d10000, eth1: ethernet@2d50000, eth2: ethernet@2d90000 =>

4.7.3.2.6 Boot option switching Boot option switching can be performed in U-Boot using the following commands: · Switch to NOR bank 0 (default):
=>boot_bank 0
· Switch to NOR bank 1: =>boot_bank 1

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
36 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

4.7.3.3 Program Layerscape LDP composite firmware image
This topic explains steps to program NOR firmware image to IFC NOR flash on TWR-LS1021A and SD firmware image to SD card on TWR-LS1021A.
To program Layerscape LDP composite NOR firmware image to IFC NOR flash on TWR-LS1021A, perform the following steps:
1. Copy firmware on host machine to TFTP server. $ cp

/tmp/deploy/image/ls1021atwr/firmware_ls1021atwr_norboot.img ~/ tftp/ 2\. Reboot the board from NOR bank 0 and stop autoboot to enter U-Boot prompt. 3. Under U-Boot, download the firmware to the reference board using one of the following options: · Load firmware from the TFTP server => tftp $load_addr firmware_ls1021atwr_norboot.img · Load firmware image from partition on mass storage device (SD, USB, or SATA) => load mmc $load_addr firmware_ls1021atwr_norboot.img For example: => load mmc 0:2 $load_addr firmware_ls1021atwr_norboot.img or => load usb $load_addr firmware_ls1021atwr_norboot.img or => load scsi $load_addr firmware_ls1021atwr_norboot.img Note: Use the following command if the SD card is formatted/created using Layerscape LDP flex-installer command: => load [ [ [ [bytes [pos]]]]] For example: => load mmc 0:2 $load_addr firmware_ls1021atwr_norboot.img Use the following command if the SD card is formatted/created on a Windows PC: => fatload [ [ [ [bytes [pos]]]]] For example: => fatload mmc 0:2 $load_addr firmware_ls1021atwr_norboot.img Use the following command if the SD card is formatted/created on a Linux PC: => ext2load [ [ [ [bytes [pos]]]]] For example: => ext2load mmc 0:2 $load_addr firmware_ls1021atwr_norboot.img

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
37 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

The Layerscape LDP flex-installer command puts the images on the second partition, so 0:2 is used in the load command. If the SD card is formatted on Windows PC or Linux PC for single partition only, then 0 should be used instead of 0:2 in the fatload/ext2load command. 4. To program the composite firmware into IFC NOR flash, perform the following steps: · To program alternate bank:
=> protect off 64000000 +$filesize && erase 64000000 +$filesize && cp.b $load_addr 64000000 $filesize
· To program current bank: => protect off 60000000 +$filesize && erase 60000000 +$filesize && cp.b $load_addr 60000000 $filesize
5. Reset and boot the board from IFC NOR flash. The system will automatically boot up TinyDistro (log in using root/root) or Layerscape LDP distro (log in using user/user) available on the removable storage device. · To boot from NOR flash bank 1. => boot_bank 1
· To boot from NOR flash bank 0. => boot_bank 0
To program Layerscape LDP composite SD firmware image to SD card on TWR- LS1021A, perform the following steps: 1. Copy firmware on host machine to TFTP server.
cp /tmp/deploy/image/ls1021atwr/firmware_ls1021atwr_sdboot.img ~/tftp/
2. Reboot the board from NOR bank 0 and stop autoboot to enter U-Boot prompt. 3. Under U-Boot, download the firmware to the reference board using one of the following options:
· Load firmware from the TFTP server => tftp $load_addr firmware_ls1021atwr_sdboot.img
· Load firmware image from partition on mass storage device (SD, USB, or SATA) => load mmc $load_addr firmware_ls1021atwr_sdboot.img
For example: => load mmc 0:2 $load_addr firmware_ls1021atwr_sdboot.img
or => load usb $load_addr firmware_ls1021atwr_sdboot.img
or => load scsi $load_addr firmware_ls1021atwr_sdboot.img
Note: Use the following command if the SD card is formatted/created using Layerscape LDP flex-installer command:
=> load [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> load mmc 0:2 $load_addr firmware_ls1021atwr_sdboot.img

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
38 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Use the following command if the SD card is formatted/created on a Windows PC: => fatload [<dev[:part]> [ [ [bytes [pos]]]]] For example: => fatload mmc 0:2 $load_addr firmware_ls1021atwr_sdboot.img
Use the following command if the SD card is formatted/created on a Linux PC: => ext2load [<dev[:part]> [ [ [bytes [pos]]]]] For example: => ext2load mmc 0:2 $load_addr firmware_ls1021atwr_sdboot.img
Also note that Layerscape LDP flex-installer command puts the images on the second partition, so 0:2 is used in the load command. If the SD card is formatted on Windows PC or Linux PC for single partition only, then 0 should be used instead of 0:2 in the fatload/ext2load command. 4. Write the firmware to SD card.
=> mmc dev 0; mmc write $load_addr 8 1f000
5. Make sure the DIP switch settings on the board are for SD card. 6. Reset and boot the board from SD card. The system will automatically boot up TinyDistro (log in using root/
root) or Layerscape LDP distro (log in using user/user) available on the removable storage device.

4.7.4 Quick start guide for LS1028ARDB
This section explains:
· Introduction · LS1028ARDB reference information · Program Layerscape LDP composite firmware image

4.7.4.1 Introduction
The following sections describe the procedure to program Layerscape LDP composite firmware for LS1028ARDB. Also, this section explains the most common use case procedure to download and deploy Layerscape LDP default images to LS1028ARDB using flex-installer. For more information, see Section 4.2.
For more information on the different components of the board, and on how to configure and boot the board, see LS1028A Reference Design Board Getting Started Guide.

4.7.4.2 LS1028ARDB reference information
This section provides general information about LS1028ARDB which may come in handy as a reference while completing steps for deploying Layerscape LDP images that are mentioned in sections that follow.

4.7.4.2.1 Ethernet port map

Port name in chassis Port name in U-Boot

1G MAC1

enetc-0

Port name in Yocto based TinyDistro
eno0

1G SWP0

swp0

swp0

Port name in Linux based userland eno0
swp0

Description
ENETC PF 0 connected over SGMII on SoC lane A Ethernet switch port 0

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
39 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

1G SWP1 1G SWP2 1G SWP3

swp1 swp2 swp3

swp1 swp2 swp3

4.7.4.2.2 System memory map

Table 12.System memory map

Start address

End address

0x0000_0000_0000 0x0000_000F_FFFF

0x0000_0010_0000 0x0000_00FF_FFFF

0x0000_0100_0000 0x0000_0FFF_FFFF

0x0000_1000_0000 0x0000_10FF_FFFF

0x0000_1100_0000 0x0000_11FF_FFFF

0x0000_1200_0000 0x0000_13FF_FFFF

0x0000_1400_0000 0x0000_17FF_FFFF

0x0000_1800_0000 0x0000_181F_FFFF

0x0000_1820_0000 0x0000_182F_FFFF

0x0000_1830_0000 0x0000_18FF_FFFF

0x0000_1900_0000 0x0000_19FF_FFFF

0x0000_1A00_0000 0x0000_1BFF_FFFF

0x0000_1C00_0000 0x0000_1CFF_FFFF

0x0000_1D00_0000 0x0000_1FFF_FFFF

0x0000_2000_0000 0x0000_2FFF_FFFF

Size 1 MB 15 MB 240 MB 16 MB 16 MB 32 MB 64 MB 2 MB 1 MB 13 MB 16 MB 32 MB 16 MB 48 MB 256 MB

0x0000_3000_0000 0x0000_4000_0000 0x0000_6000_0000 0x0000_8000_0000

0x0000_3FFF_FFFF 0x0000_5FFF_FFFF 0x0000_7FFF_FFFF 0x0000_9FFF_FFFF

256 MB 512 MB 512 MB 512 MB

0x0000_A000_0000 0x0000_C000_0000 0x0000_E000_0000 0x0001_0000_0000 0x0001_F000_0000

0x0000_BFFF_FFFF 0x0000_DFFF_FFFF 0x0000_FFFF_FFFF 0x0001_EFFF_FFFF 0x0001_F07F_FFFF

512 MB 512 MB 512 MB 3.75 GB 8 MB

0x0001_F080_0000 0x0001_F0A0_0000

0x0001_F09F_FFFF 0x0001_F7FF_FFFF

2 MB 118 MB

swp1 swp2 swp3

Switch front panel ports are all connected over QSGMII on SoC lane B
Ethernet switch port 1
Ethernet switch port 2
Ethernet switch port 3

Allocation CCSR – Boot ROM Reserved CCSR Reserved Reserved Reserved Reserved OCRAM Reserved Reserved CoreSight STM Reserved Reserved Reserved FlexSPI Region #1
Reserved Reserved Reserved GPP DRAM Region #1(0-2 GB)

Comment 64 KB
128 KB 16 MB
More FlexSPI space below

Reserved ECAM config space
Register block space Reserved

Embedded RC +EPECAM (256 MB)

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
40 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Table 12.System memory map…continued

Start address

End address

0x0001_F800_0000 0x0001_F83F_FFFF

0x0001_F840_0000 0x0001_FBFF_FFFF

0x0001_FC00_0000 0x0001_FC3F_FFFF

0x0001_FC40_0000 0x0001_FFFF_FFFF

0x0002_0000_0000 0x0003_FFFF_FFFF

0x0004_0000_0000 0x0004_0FFF_FFFF

0x0004_1000_0000 0x0004_FFFF_FFFF

Size 4 MB 60 MB 4 MB 60 MB 8 GB 256 MB 3.75 GB

0x0005_0000_0000 0x0006_0000_0000 0x0007_0000_0000 0x0007_4000_0000 0x0008_0000_0000 0x0008_2000_0000 0x000C_0000_0000 0x0010_0000_0000 0x0020_0000_0000 0x0020_8000_0000 0x0040_0000_0000 0x0060_0000_0000 0x0080_0000_0000

0x0005_FFFF_FFFF 0x0006_FFFF_FFFF 0x0007_3FFF_FFFF 0x0007_FFFF_FFFF 0x0008_1FFF_FFFF 0x000B_FFFF_FFFF 0x000F_FFFF_FFFF 0x001F_FFFF_FFFF 0x0020_7FFF_FFFF 0x003F_FFFF_FFFF 0x005F_FFFF_FFFF 0x007F_FFFF_FFFF 0x0087_FFFF_FFFF

4 GB 4 GB 1 GB 3 GB 512 MB 15.5 GB 16 GB 64 GB 2 GB 126 GB 128 GB 128 GB 32 GB

0x0088_0000_0000 0x008F_FFFF_FFFF 32 GB

Allocation

Comment

Reserved

Reserved

Reserved

Reserved

Reserved

SPI Hole

FlexSPI Region #2 (256 MB – 4 GB)

3.75 GB

Reserved

Reserved

DCSR

Reserved

Reserved

Reserved

Reserved

Reserved

Reserved

GPP DRAM Region #2

Reserved

GPP DRAM Region #3

PCI Express 1

High-speed I/O (0x0080_0000_0000 0x00FF_FFFF_FFFF)

PCI Express 2

4.7.4.2.3 Supported boot options
LS1028ARDB supports the following boot options:
· FlexSPI NOR flash (referred to as “FSPI” or “FSPI flash” in the following sections). CS refers to Chip Select. · eMMC · SD card (SDHC1)

4.7.4.2.4 Onboard switch options
The LS1028ARDB board supports user selectable switches for evaluating different boot options for the LS1028A device as given in the table below (‘0’ is OFF, ‘1’ is ON).

Boot source FSPI NOR (default) SD Card (SDHC1) eMMC
LLDPUG
User guide

SW2[1:8] 1111_1000 1000_1000 1001_1000

SW3[1:8] 1111_0000 1111_0000 1111_0000

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

SW5[1:8] 0011_1001 0011_1001 0011_1001
© 2023 NXP B.V. All rights reserved.
41 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

In addition to the above switch settings, make sure the following jumper settings are correct.

Table 13.LS1028ARDB jumper settings

Jumper

Type

Name/function

J6

1×2-pin connector TA_BB_EN enable

J7

1×2-pin connector VBAT_EN

J27

1×2-pin connector PROG_MTR voltage control (for

NXP use only)

J28

1×2-pin connector TA_PROG_SFP voltage control

(for NXP use only)

Description
Open: TA_BB_TMP_DETECT_B pin is High (default value) Shorted: TA_BB_TMP_DETECT_B pin is Low
Open: Disable battery backup for TA_BB_VDD (default value) Shorted: Enable battery backup for TABB VDD
Open: PROG_MTR pin is powered off (default value) Shorted: PROG_MTR pin is powered by OVDD (1.8 V)
Open: TA_PROG_SFP pin is powered off (default value) Shorted: TA_PROG_SFP pin is powered by OVDD (1.8 V)

4.7.4.2.5 FlexSPI NOR Flash Chip-select
FlexSPI NOR flash is a simple and convenient destination for deploying images so it is frequently used.
The benefit of this feature is that it allows more than one set of images to be independently deployed to the one NOR flash. This is very helpful during development because you can use the U-Boot image in one chipselect to program an image set into a different chip-select. If the new images are flawed, the old images are still functional to let you deploy corrected images.
The logic on the board usually allows the NOR flash to be accessed from different CS (chip select) option. Each CS is connected to dedicated flash devices. U-Boot prints which CS is loaded from. The output looks like following.

=> NOTICE: Fixed DDR on board

NOTICE: 4 GB DDR4, 32-bit, CL=11, ECC on

NOTICE: BL2: v1.5(release):LSDK-20.12-Internal

NOTICE: BL2: Built : 07:04:31, Nov 14 2020

NOTICE: BL2: Booting BL31

NOTICE: BL31: v1.5(release):LSDK-20.12-Internal

NOTICE: BL31: Built : 07:04:34, Nov 14 2020

NOTICE: Welcome to LS1028 BL31 Phase

U-Boot 2020.04-gc7ec91b1f4 (Nov 14 2020 – 07:04:19 +0800)

SoC: LS1028AE Rev1.0 (0x870b0010)

Clock Configuration:

CPU0(A72):1500 MHz CPU1(A72):1500 MHz

Bus:

400 MHz DDR:

1600 MT/s

Reset Configuration Word (RCW):

00000000: 3c004010 00000030 00000000 00000000

00000010: 00000000 018f0000 0030c000 00000000

00000020: 020031a0 00002580 00000000 00003296

00000030: 00000000 00000010 00000000 00000000

00000040: 00000000 00000000 00000000 00000000

00000050: 00000000 00000000 00000000 00000000

00000060: 00000000 00000000 200e705a 00000000

00000070: bb580000 00000000

Model: NXP Layerscape 1028a RDB Board

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
42 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Board: LS1028AE Rev1.0-RDB, Version: C, boot from NOR FPGA: v5 (RDB) SERDES1 Reference : Clock1 = 100.00MHz Clock2 = 100.00MHz DRAM: 3.9 GiB DDR 3.9 GiB (DDR4, 32-bit, CL=11, ECC on) Using SERDES1 Protocol: 47960 (0xbb58) PCIe1: pcie@3400000 Root Complex: no link PCIe2: pcie@3500000 Root Complex: no link WDT: Started with servicing (60s timeout) MMC: FSL_SDHC: 0, FSL_SDHC: 1 Loading Environment from SPI Flash… SF: Detected mt35xu02g with page size 256
Bytes, erase size 128 KiB, total 256 MiB OK EEPROM: NXID v1 In: serial Out: serial Err: serial Net: eth0: enetc-0, eth2: enetc-2, eth4: swp0, eth5: swp1, eth6: swp2, eth7:
swp3 =>
Boot option switching can be performed in U-Boot using the following statements.
· Switch to FlexSPI NOR flash (default):
=>qixis_reset
· Switch to SD:
=>qixis_reset sd
· Switch to eMMC:
=>qixis_reset emmc

4.7.4.3 Program Layerscape LDP composite firmware image
This topic explains steps to program FlexSPI NOR firmware image to FlexSPI NOR flash on LS1028ARDB and SD/eMMC firmware image to SD/eMMC card on LS1028ARDB. To program Layerscape LDP composite firmware image to FlexSPI NOR flash on LS1028ARDB: 1. Copy firmware on host machine to TFTP server.
$ cp /tmp/deploy/image/ls1028ardb/firmware_ls1028ardb_xspiboot.img ~/ tftp/
2. Reboot the board from FlexSPI NOR flash and stop autoboot to enter U-Boot prompt. 3. Under U-Boot, download the firmware to the reference board using one of the following options:
· Load firmware from the TFTP server => tftp $load_addr firmware_ls1028ardb_xspiboot.img
· Load firmware image from partition on mass storage device (SD, USB, or SATA) => load mmc $load_addr firmware_ls1028ardb_xspiboot.img
For example: => load mmc 0:2 $load_addr firmware_ls1028ardb_xspiboot.img

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
43 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Or
=> load usb $load_addr firmware_ls1028ardb_xspiboot.img
Or
=> load scsi $load_addr firmware_ls1028ardb_xspiboot.img
Note: Use the following command if the SD card is formatted/created using Layerscape LDP flex-installer command:
=> load [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> load mmc 0:2 $load_addr firmware_ls1028ardb_xspiboot.img Use the following command if the SD card is formatted/created on a Windows PC:
=> fatload [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> fatload mmc 0:2 $load_addr firmware_ls1028ardb_xspiboot.img Use the following command if the SD card is formatted/created on a Linux PC:
=> ext2load [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> ext2load mmc 0:2 $load_addr firmware_ls1028ardb_xspiboot.img Also note that Layerscape LDP flex-installer command puts the images on the second partition, so 0:2 is used in the load command. If the SD card is formatted on Windows PC or Linux PC for single partition only, then 0 should be used instead of 0:2 in the fatload/ext2load command. 4. Program the firmware to FlexSPI NOR flash.
=> sf probe 0:0 => sf erase 0 +$filesize && sf write $load_addr 0 $filesize
5. Reset and boot the board from FlexSPI NOR flash. The system will automatically boot up TinyDistro (log in using root/root) or Layerscape LDP distro (log in using user/user) available on the removable storage device.
=> qixis_reset
To program Layerscape LDP composite firmware image to SD/eMMC on LS1028ARDB:
1. Copy firmware on host machine to TFTP server. · For SD boot: $ cp

/tmp/deploy/image/ls1028ardb/firmware_ls1028ardb_sdboot.img ~/ tftp/ · For eMMC boot: cp /tmp/deploy/image/ls1028ardb/firmware_ls1028ardb_emmcboot.img ~/ tftp/ 2\. Reboot the board from FlexSPI NOR flash and stop autoboot to enter U-Boot prompt. 3. Under U-Boot, download the firmware to the reference board using one of the following options: · Load firmware from the TFTP server

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
44 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

For SD boot: => tftp $load_addr firmware_ls1028ardb_sdboot.img
For eMMC boot: => tftp $load_addr firmware_ls1028ardb_emmcboot.img
· Load firmware image from partition on mass storage device (SD, USB, or SATA) For SD boot: => load mmc $load_addr firmware_ls1028ardb_sdboot.img
For example: => load mmc 0:2 $load_addr firmware_ls1028ardb_sdboot.img
or => load usb $load_addr firmware_ls1028ardb_sdboot.img
or => load scsi $load_addr firmware_ls1028ardb_sdboot.img
For eMMC boot: => load mmc $load_addr firmware_ls1028ardb_emmcboot.img
For example: => load mmc 0:2 $load_addr firmware_ls1028ardb_emmcboot.img
or => load usb $load_addr firmware_ls1028ardb_emmcboot.img
or => load scsi $load_addr firmware_ls1028ardb_emmcboot.img
Note: Use the following command if the SD card is formatted/created using Layerscape LDP flex-installer command:
=> load [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> load mmc 0:2 $load_addr firmware_ls1028ardb_emmcboot.img Use the following command if the SD card is formatted/created on a Windows PC:
=> fatload [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> fatload mmc 0:2 $load_addr firmware_ls1028ardb_emmcboot.img Use the following command if the SD card is formatted/created on a Linux PC:
=> ext2load [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> ext2load mmc 0:2 $load_addr firmware_ls1028ardb_emmcboot.img

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
45 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Also note that Layerscape LDP flex-installer command puts the images on the second partition, so 0:2 is used in the load command. If the SD card is formatted on Windows PC or Linux PC for single partition only, then 0 should be used instead of 0:2 in the fatload/ext2load command. 4. Program the firmware to SD card. => mmc dev 0;mmc write $load_addr 8 1fff8
5. Program the firmware to eMMC card. => mmc dev 1;mmc write $load_addr 8 1fff8
6. Reset and boot the board from SD/eMMC card. The system will automatically boot up TinyDistro (log in using root/root) or Layerscape LDP distro (log in using user/user) available on the removable storage device. · For SD boot: => qixis_reset sd
· For eMMC boot: => qixis_reset emmc

4.7.5 Quick start guide for LS1043ARDB
This section explains: · Introduction · LS1043ARDB reference information · LS1043ARDB recovery information · Program Layerscape LDP composite firmware image · Frame Manager Configuration (FMC) tool
4.7.5.1 Introduction
The following sections describe the procedure to program Layerscape LDP composite firmware for LS1043ARDB. Also, this section explains the most common use case procedure to download and deploy Layerscape LDP default images to LS1043ARDB using flex-installer. For more information, see Section 4.2. For more information on the different components of the board, and on how to configure and boot the board, see LS1043A Reference Design Board Getting Started Guide. For a list of brief how-tos to help you modify/update individual Layerscape LDP components such as, TF-A binaries, Linux kernel, DPAA1 FMan microcode on LS1043ARDB when booting the board from a specific boot source, such as NOR, NAND, or SD, see NXP community.
4.7.5.2 LS1043ARDB reference information
This section provides general information about LS1043ARDB which may come in handy as a reference while completing steps for deploying Layerscape LDP that follow.
4.7.5.2.1 Port map
The port name in Linux TinyDistro corresponding to each of the six ports on the reference board chassis is given in the table below.

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
46 / 1056

NXP Semiconductors

Port name on chassis QSGMII.P0 QSGMII.P1 QSGMII.P2 QSGMII.P3 RGMII1 RGMII2 10G Copper

Port name in U-Boot FM1@DTSEC1 FM1@DTSEC2 FM1@DTSEC3 FM1@DTSEC4 FM1@DTSEC5 FM1@DTSEC6 FM1@TGEC1

LLDPUG
Layerscape Linux Distribution POC User Guide

Port name in Tinydistro eth0 eth1 eth2 eth3 eth4 eth5 eth6

Port name in Linux fm1-mac1 fm1-mac2 fm1-mac5 fm1-mac6 fm1-mac3 fm1-mac4 fm1-mac9

4.7.5.2.2 System memory map

Start Physical Address 0x00_0000_0000 0x00_0100_0000 0x00_1000_0000 0x00_1001_0000 0x00_2000_0000 0x00_6000_0000 0x00_7E80_0000 0x00_7FB0_0000 0x00_8000_0000

End Physical Address 0x00_000F_FFFF 0x00_0FFF_FFFF 0x00_1000_FFFF 0x00_1001_FFFF 0x00_20FF_FFFF 0x00_67FF_FFFF 0x00_7E80_FFFF 0x00_7FB0_0FFF 0x00_FFFF_FFFF

Memory Type Secure Boot ROM CCSRBAR OCRAM0 OCRAM1 DCSR IFC – NOR Flash IFC – NAND Flash IFC – FPGA DRAM1

Size 1 MB 240 MB 64 KB 64 KB 16 MB 128 MB 64 KB 4 KB 2 GB

4.7.5.2.3 Supported boot options
LS1043ARDB supports the following boot options: · NOR · NAND · SD
4.7.5.2.4 Onboard switch options
The RDB has user selectable switches for evaluating different boot options for the LS1043A device as given in the table below (‘0’ is OFF, ‘1’ is ON).

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
47 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Boot source NOR bank 0 (default) NOR bank 4 SD card NAND

SW3[1:8] 10110011 10110011 10110011 10110011

SW4[1:8] 00010010 00010010 00100000 10000010

SW5[1:8] 10100010 10100110 00100010 10100110

4.7.5.2.5 NOR Flash (Virtual) Banks
LS1043ARDB provides a special feature that allows a single NOR flash to be divided into multiple parts called “banks”. This is done by board-level logic that modifies address signals. As there is only one NOR flash physically, the banks are sometimes called “virtual” banks. The benefit of this feature is that it allows more than one set of images to be independently deployed to one NOR flash. This is very helpful during development because the U-Boot image in one bank can be used to program an image set into a different bank. If the new images are flawed, the old images are still functional. The logic on the board usually allows the NOR flash to be divided into up to 8 banks, but the NOR flash on LS1043ARDB is divided into two halves. The halves are called bank 0 and bank 4. Bank switching can be done in in software using cpld commands. To determine the current bank, refer to the example U-Boot log given below:
U-Boot 2020.04-gc7ec91b1f4 (Nov 12 2020 – 06:46:07 +0800) SoC: LS1043AE Rev1.1 (0x87920011) Clock Configuration:
CPU0(A53):1600 MHz CPU1(A53):1600 MHz CPU2(A53):1600 MHz CPU3(A53):1600 MHz Bus: 400 MHz DDR: 1600 MT/s FMAN: 500 MHz Reset Configuration Word (RCW): 00000000: 08100010 0a000000 00000000 00000000 00000010: 14550002 80004012 e0025000 c1002000 00000020: 00000000 00000000 00000000 00038800 00000030: 00000000 00001101 00000096 00000001 Model: LS1043A RDB Board Board: LS1043ARDB, boot from vBank 4 CPLD: V2.0 PCBA: V6.0 SERDES Reference Clocks: SD1_CLK1 = 156.25MHZ, SD1_CLK2 = 100.00MHZ DRAM: 1.9 GiB (DDR4, 32-bit, CL=11, ECC off) Using SERDES1 Protocol: 5205 (0x1455) SEC0: RNG instantiated Firmware ‘Microcode version 0.0.1 for LS1021a r1.0’ for 1021 V1.0 QE: uploading microcode ‘Microcode for LS1021a r1.0’ version 0.0.1 Flash: 128 MiB NAND: 512 MiB MMC: FSL_SDHC: 0 Loading Environment from Flash… OK EEPROM: NXID v1 In: serial Out: serial Err: serial Net: Fman1: Uploading microcode version 106.4.18 PCIe1: pcie@3400000 disabled PCIe2: pcie@3500000 Root Complex: no link PCIe3: pcie@3600000 Root Complex: x1 gen1 e1000: 00:15:17:5c:63:d5

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
48 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

FM1@DTSEC1, FM1@DTSEC2, FM1@DTSEC3, FM1@DTSEC4, FM1@DTSEC5, FM1@DTSEC6, FM1@TGEC1, e1000#0 [PRIME] Warning: e1000#0 MAC addresses don’t match: Address in SROM is 00:15:17:5c:63:d5 Address in environment is 00:e0:0c:00:22:07 Warning: e1000#0 failed to set MAC address => =>

4.7.5.2.6 Boot option switching Boot switching can be performed in U-Boot using the following commands: · Switch to NOR bank 0 (default):
=>cpld reset · Switch to NOR bank 4:
=>cpld reset altbank
· Switch to NAND: =>cpld reset nand
· Switch to SD: =>cpld reset sd

4.7.5.3 LS1043ARDB recovery information
If LS1043ARDB board fails to boot from NOR bank 0, you can recover NOR bank 0 from NOR bank 4 by following these steps: 1. Run the command:
$ cp /tmp/deploy/image/ls1043ardb/firmware_ls1043ardb_norboot.img ~/ tftp
2. Boot LS1043ARDB from NOR bank 4 with the following switch settings: SW3 = 10110011, SW4 = 00010010, SW5 = 10100110
3. Program NOR bank 0 from NOR bank 4: => tftp $load_addr firmware_ls1043ardb_norboot.img => protect off 64000000 + $filesize && erase 64000000 +$filesize && cp.b $load_addr 64000000 $filesize
4. Reset and boot the board from NOR bank 0: => cpld reset
Note: If LS1043ARDB fails to boot from both the NOR banks, you need to recover the board using CodeWarrior for LS Series, Arm v8 ISA. For steps to recover the board using the CodeWarrior tool, see section “8.6 Board Recovery” in ARM V8 ISA, Targeting Manual
4.7.5.4 Program Layerscape LDP composite firmware image
This topic explains steps to program NOR firmware image to IFC NOR flash on LS1043ARDB and SD firmware image to SD card on LS1043ARDB.

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
49 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

To program Layerscape LDP composite NOR firmware image to IFC NOR flash on LS1043ARDB: 1. Copy firmware on host machine to TFTP server.
$ cp /tmp/deploy/image/ls1043ardb/firmware_ls1043ardb_norboot.img ~/ tftp
2. Reboot the board from NOR flash bank 0 and stop autoboot to enter U-Boot prompt. 3. Under U-Boot, download the firmware to the reference board using one of the following options:
· Load firmware from the TFTP server => tftp $load_addr firmware_ls1043ardb_norboot.img
· Load firmware image from partition on mass storage device (SD, USB, or SATA) => load mmc $load_addr firmware_ls1043ardb_norboot.img
For example: => load mmc 0:2 $load_addr firmware_ls1043ardb_norboot.img
or => load usb $load_addr firmware_ls1043ardb_norboot.img
or => load scsi $load_addr firmware_ls1043ardb_norboot.img
Note: Use the following command if the SD card is formatted/created using Layerscape LDP flex-installer command:
=> load [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> load mmc 0:2 $load_addr firmware_ls1043ardb_norboot.img Use the following command if the SD card is formatted/created on a Windows PC:
=> fatload [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> fatload mmc 0:2 $load_addr firmware_ls1043ardb_norboot.img Use the following command if the SD card is formatted/created on a Linux PC:
=> ext2load [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> ext2load mmc 0:2 $load_addr firmware_ls1043ardb_norboot.img

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
50 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Also note that Layerscape LDP flex-installer command puts the images on the second partition, so 0:2 is used in the load command. If the SD card is formatted on Windows PC or Linux PC for single partition only, then 0 should be used instead of 0:2 in the fatload/ext2load command. 4. Program the composite firmware into IFC NOR flash. · To program alternate bank:
=> protect off 64000000 +$filesize && erase 64000000 +$filesize && cp.b $load_addr 64000000 $filesize
· To program current bank:
=> protect off 60000000 +$filesize && erase 60000000 +$filesize && cp.b $load_addr 60000000 $filesize
5. Reset and boot the board from IFC NOR flash. The system will automatically boot up TinyDistro (log in using root/root) or Layerscape LDP distro (log in using user/user) available on the removable storage device. · To boot from NOR flash bank 0.
=> cpld reset
· To boot from NOR flash bank 4.
=> cpld reset altbank

To program Layerscape LDP composite SD firmware image to SD card on LS1043ARDB: 1. Copy firmware on host machine to TFTP server.
$ cp /tmp/deploy/image/ls1043ardb/firmware_ls1043ardb_sdboot.img ~/ tftp/
2. Reboot the board from NOR flash bank 0 and stop autoboot to enter U-Boot prompt. 3. Under U-Boot, download the firmware to the reference board using one of the following options:
· Load firmware from the TFTP server => tftp $load_addr firmware_ls1043ardb_sdboot.img
· Load firmware image from partition on mass storage device (SD, USB, or SATA) => load mmc $load_addr firmware_ls1043ardb_sdboot.img
For example: => load mmc 0:2 $load_addr firmware_ls1043ardb_sdboot.img
or => load usb $load_addr firmware_ls1043ardb_sdboot.img
or => load scsi $load_addr firmware_ls1043ardb_sdboot.img
Note: Use the following command if the SD card is formatted/created using Layerscape LDP flex-installer command:
=> load [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> load mmc 0:2 $load_addr firmware_ls1043ardb_sdboot.img

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
51 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Use the following command if the SD card is formatted/created on a Windows PC: => fatload [<dev[:part]> [ [ [bytes [pos]]]]] For example: => fatload mmc 0:2 $load_addr firmware_ls1043ardb_sdboot.img
Use the following command if the SD card is formatted/created on a Linux PC: => ext2load [<dev[:part]> [ [ [bytes [pos]]]]] For example: => ext2load mmc 0:2 $load_addr firmware_ls1043ardb_sdboot.img
Also note that Layerscape LDP flex-installer command puts the images on the second partition, so 0:2 is used in the load command. If the SD card is formatted on Windows PC or Linux PC for single partition only, then 0 should be used instead of 0:2 in the fatload/ext2load command. 4. Write the firmware to SD card.
=> mmc dev 0; mmc write $load_addr 8 1f000
5. Reset and boot the board from SD card. The system will automatically boot up TinyDistro (log in using root/ root) or Layerscape LDP distro (log in using user/user) available on the removable storage device.
=> cpld reset sd

4.7.5.5 Frame Manager Configuration (FMC) tool
By default, FMan has been configured for Parse-Classify-Distribute (PCD). This means that without any further action from the user, FMan enqueues received frames from a particular flow to the same receive queue. This prevents Rx packet reorder issues and improves performance.
This default FMan configuration uses configuration and policy files that are provided in NXP Layerscape LDP to perform PCD. These files are in xml format and are created with the objective of preserving packet ordering per flow. For LS1043ARDB, these files are available at the following path:
/etc/fmc/config/private/ls1043ardb/RR_FQPP_1455
However, if a user wants to apply a configuration other than the one which is applied by default, the user needs to run following command after the board boots to Linux.
1. Change directory to the parent directory of the user’s custom configuration and policy files 2. Run the FMC tool command:
$ fmc ­c <config.xml> ­p <policy.xml> ­a

4.7.6 Quick start guide for FRWY-LS1046A
This section explains:
· Introduction · FRWY-LS1046A reference information · Program Layerscape LDP composite firmware image

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
52 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

4.7.6.1 Introduction
The following sections describe the procedure to program Layerscape LDP composite firmware for FRWYLS1046A. Also, this section explains the most common use case procedure to download and deploy Layerscape LDP default images to FRWY-LS1046A using flex-installer. For more information, see Section 4.2.
For more information on the different components of the board, and on how to configure and boot the board, see Layerscape FRWY-LS1046A Board Getting Started Guide.

4.7.6.2 FRWY-LS1046A reference information
This section provides general information about FRWY-LS1046A. The information may come in handy as a reference while performing steps for deploying Layerscape LDP images that are mentioned in sections that follow.

4.7.6.2.1 Ethernet port map

Port name in chassis
1G PORT1

Port name in U-Boot FM1@DTSEC1

1G PORT2 FM1@DTSEC5

1G PORT3 FM1@DTSEC6

1G PORT4 FM1@DTSEC10

Port name in Tinydistro fm1-mac1
fm1-mac5
fm1-mac6
fm1-mac10

Port name in Linux Description

eth1

QSGMII copper

interface

eth2

QSGMII copper

interface

eth3

QSGMII copper

interface

eth4

QSGMII copper

interface

4.7.6.2.2 System memory map

Table 14.System memory map

Start address (Hex)

Module name

Size

00_0000_0000 00_0010_0000
00_0100_0000
00_1000_0000 00_1001_0000 00_1004_0000 00_1100_0000 00_1200_0000 00_1300_0000 00_2000_0000 00_2400_0000 00_4000_0000

Secure Boot ROM 1 MB

Extended Boot ROM

15 MB

CCSR Register Space

240 MB

OCRAM1

64 KB

OCRAM2

64 KB

Reserved

65408 KB

Reserved

16 MB

STM

16 MB

Reserved

208 MB

DCSR

64 MB

Reserved

448 MB

QuadSPI

512 MB

Accessible with x-bit addressing

32

36

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

40 Y Y
Y
Y Y Y Y Y Y Y Y Y
© 2023 NXP B.V. All rights reserved.
53 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Table 14.System memory map…continued

Start address (Hex)

Module name

Size

Accessible with x-bit addressing

32

36

40

00_6000_0000 IFC region 1(0 – 512 MB

Y

Y

Y

512 MB)

00_8000_0000 DRAM1 (0 – 2 GB) 2 GB

Y

Y

Y

01_0000_0000 Reserved

0.0625 GB

N

Y

Y

01_0400_0000 Reserved

3.9375 GB

N

Y

Y

02_0000_0000 Reserved

1 GB

N

Y

Y

02_4000_0000 Reserved

7 GB

N

Y

Y

04_0000_0000 Reserved

0.25 GB

N

Y

Y

04_1000_0000 Reserved

0.25 GB

N

Y

Y

04_2000_0000 Reserved

0.25 GB

N

Y

Y

04_3000_0000 Reserved

1.25 GB

N

Y

Y

04_8000_0000 Reserved

2 GB

N

Y

Y

05_0000_0000 QMan S/W Portal 128 MB

N

Y

Y

05_0800_0000 BMan S/W Portal 128 MB

N

Y

Y

05_1000_0000 Reserved

4 GB – 256 MB

N

Y

Y

06_0000_0000 Reserved

0.5 GB

N

Y

Y

06_2000_0000 IFC region 2 (512 3.5 GB

N

Y

Y

MB – 4 GB)

07_0000_0000 Reserved

4 GB

N

Y

Y

08_0000_0000 Reserved

2 GB

N

Y

Y

08_8000_0000 DRAM2

30 GB

N

Y

Y

10_0000_0000 Reserved

64 GB

N

Y

Y

20_0000_0000 Reserved

128 GB

N

N

Y

40_0000_0000 PCI Express 1

32 GB

N

N

Y

48_0000_0000 PCI Express 2

32 GB

N

N

Y

50_0000_0000 PCI Express 3

32 GB

N

N

Y

58_0000_0000 Reserved

160 GB

N

N

Y

80_0000_0000 Reserved

32 GB

N

N

Y

88_0000_0000 DRAM3 (32 – 512 480 GB

N

N

Y

GB)

4.7.6.2.3 Supported boot options
The FRWY-LS1046A board supports the following boot options: · QSPI NOR flash (referred to as “QSPI” or “QSPI flash” in the following sections). CS refers to chip select. · Micro-SD card (SDHC1)

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
54 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

4.7.6.2.4 Onboard switch options
The FRWY-LS1046A board has user selectable switches for evaluating different boot options for the LS1046A device as given in the table below (‘0’ is OFF, ‘1’ is ON).

Boot source QSPI NOR (default) Micro-SD card (SDHC1)

SW1[1:10] 0_0100_0100_0 0_0100_0000_0

Note: User can only switch between QSPI NOR to Micro-SD and vice versa using switch settings, there is no command to switch between them.
In addition to the above switch settings, ensure that the following jumper settings are correct.

Table 15.FRWY-LS1046A jumper settings

Part identifier

Jumper type

Description

J72

1×2 connector

UART selection header

J8

1×2 connector

J14

1×2 connector

J11

1×2 connector

J9

1×2 connector

VDD voltage selection header Reset mode selection header
PROG_MTR voltage control header (NXP use only)
TA_BB_VDD voltage control header

Jumper settings
· Open: UART1 port is accessed remotely through a 1×4 header (J73)
· Shorted: A USB 2.0 micro AB connector (J58) is connected to UART1 port through a USB-to-UART bridge (default setting)
· Open: VDD = 0.9 V · Shorted: VDD = 1 V (default setting)
· Open: RESET_REQ_B pin of the processor is disconnected
· Shorted: RESET_REQ_B pin triggers system reset when asserted (default setting)
· Open: PROG_MTR pin of the processor is powered off (default setting)
· Shorted: PROG_MTR pin is powered by OVDD (1.8 V)
· Open: TA_BB_VDD pin of the processor is powered off
· Shorted: TA_BB_VDD pin is powered by VDD (1/0.9 V) (default setting)

4.7.6.2.5 QSPI NOR flash
QSPI NOR flash is a simple and convenient destination for deploying images; therefore, it is most common medium for deploying images. When the board boots from QSPI, the U-Boot log looks as follows:

U-Boot 2020.04-gc7ec91b1f4 (Nov 17 2020 – 15:26:56 +0800)

SoC: LS1046AE Rev1.0 (0x87070010)

Clock Configuration:

CPU0(A72):1600 MHz CPU1(A72):1600 MHz CPU2(A72):1600 MHz

CPU3(A72):1600 MHz

Bus:

600 MHz DDR:

2100 MT/s FMAN:

700 MHz

Reset Configuration Word (RCW):

00000000: 0c150010 0e000000 00000000 00000000

00000010: 30400506 00800012 40025000 c1000000

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
55 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

00000020: 00000000 00000000 00000000 00038800 00000030: 20044100 24003101 00000096 00000001 Model: LS1046A FRWY Board Board: LS1046AFRWY, Rev: A, boot from QSPI SD1_CLK1 = 100.00MHZ, SD1_CLK2 = 100.00MHZ DRAM: 3.9 GiB (DDR4, 64-bit, CL=15, ECC on) SEC0: RNG instantiated Using SERDES1 Protocol: 12352 (0x3040) Using SERDES2 Protocol: 1286 (0x506) NAND: 512 MiB MMC: FSL_SDHC: 0 Loading Environment from SPI Flash… SF: Detected mt25qu512a with page size 256 Bytes, erase size 64 KiB, total 64 MiB OK EEPROM: NXID v1 In: serial Out: serial Err: serial Net: SF: Detected mt25qu512a with page size 256 Bytes, erase size 64 KiB, total 64 MiB Fman1: Uploading microcode version 106.4.18 PCIe1: pcie@3400000 disabled PCIe2: pcie@3500000 Root Complex: no link PCIe3: pcie@3600000 Root Complex: no link FM1@DTSEC1, FM1@DTSEC5, FM1@DTSEC6, FM1@DTSEC10 =>

4.7.6.3 Program Layerscape LDP composite firmware image
This topic explains steps to program QSPI NOR firmware image to QSPI NOR flash on FRWY-LS1046A and SD firmware image to SD card on FRWY-LS1046A. To program Layerscape LDP composite firmware image to QSPI NOR flash on FRWY-LS1046A: 1. Copy firmware on host machine to tftp server.
$ cp /tmp/deploy/image/ls1046frwy/firmware_ls11046afrwy_qspiboot.img ~/tftp/
2. Reboot the board from QSPI NOR flash and stop autoboot to enter U-Boot prompt. 3. Under U-Boot, download the firmware to the reference board using one of the following options:
· Load firmware from the TFTP server => tftp $load_addr firmware_ls1046afrwy_qspiboot.img
· Load firmware image from partition on mass storage device (SD or USB) => load mmc $load_addr firmware_ls1046afrwy_qspiboot.img
For example: => load mmc 0:2 $load_addr firmware_ls1046afrwy_qspiboot.img
Or => load usb $load_addr firmware_ls1046afrwy_qspiboot.img
Note:

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
56 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Use the following command if the SD card is formatted/created using Layerscape LDP flex-installer command:
=> load [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> load mmc 0:2 $load_addr firmware_ls1046afrwy_qspiboot.img Use the following command if the SD card is formatted/created on a Windows PC:
=> fatload [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> fatload mmc 0:2 $load_addr firmware_ls1046afrwy_qspiboot.img Use the following command if the SD card is formatted/created on a Linux PC:
=> ext2load [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> ext2load mmc 0:2 $load_addr firmware_ls1046afrwy_qspiboot.img Also note that Layerscape LDP flex-installer command puts the images on the second partition, so 0:2 is used in the load command. If the SD card is formatted on Windows PC or Linux PC for single partition only, then 0 should be used instead of 0:2 in the fatload/ext2load command. 4. Program the firmware to QSPI NOR flash. => sf probe 0:0 => sf erase 0 +$filesize && sf write $load_addr 0 $filesize
5. Ensure that switch settings on the board are for QSPI NOR flash and power cycle the board. The system will automatically boot up TinyDistro (log in using root/root) or Layerscape LDP distro (log in using user/ user) available on the removable storage device.
To program Layerscape LDP composite firmware image to SD card on FRWY-LS1046A:
1. Copy firmware on host machine to tftp server. $ cp

/tmp/deploy/image/ls1046afrwy/firmware_ls1046afrwy_sdboot.img ~/ tftp/ 2\. Reboot the board from QSPI NOR flash and stop autoboot to enter U-Boot prompt. 3. Under U-Boot, download the firmware to the reference board using one of the following options: · Load firmware from the TFTP server => tftp $load_addr firmware_ls1046afrwy_sdboot.img · Load firmware image from partition on mass storage device (SD or USB) => load mmc $load_addr firmware_ls1046afrwy_sdboot.img For example: => load mmc 0:2 $load_addr firmware_ls1046afrwy_sdboot.img or => load usb $load_addr firmware_ls1046afrwy_sdboot.img Note:

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
57 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

Use the following command if the SD card is formatted/created using Layerscape LDP flex-installer command:
=> load [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> load mmc 0:2 $load_addr firmware_ls1046afrwy_sdboot.img Use the following command if the SD card is formatted/created on a Windows PC:
=> fatload [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> fatload mmc 0:2 $load_addr firmware_ls1046afrwy_sdboot.img Use the following command if the SD card is formatted/created on a Linux PC:
=> ext2load [<dev[:part]> [ [ [bytes [pos]]]]] For example:
=> ext2load mmc 0:2 $load_addr firmware_ls1046afrwy_sdboot.img Also note that Layerscape LDP flex-installer command puts the images on the second partition, so 0:2 is used in the load command. If the SD card is formatted on Windows PC or Linux PC for single partition only, then 0 should be used instead of 0:2 in the fatload/ext2load command. 4. Program the firmware to SD card. => mmc dev 0; mmc write $load_addr 8 1f000
5. Ensure that switch settings on the board are for SD boot and power cycle the board. The system will automatically boot up TinyDistro (log in using root/root) or Layerscape LDP distro (log in using user/user) available on the removable storage device.
4.7.6.4 Frame Manager Configuration (FMC) tool
By default, FMan has been configured for Parse-Classify-Distribute (PCD). This means that without any further action from the user, FMan enqueues received frames from a particular flow to the same receive queue. This prevents Rx packet reorder issues and improves performance.
This default FMan configuration uses configuration and policy files that are provided in NXP Layerscape LDP to perform PCD. These files are in xml format and are created with the objective of preserving packet ordering per flow. For FRWY-LS1046A, these files are available at the following path:
/etc/fmc/config/private/ls1046afrwy/NN_NNQNNPNP_3040_0506
However, if a user wants to apply a configuration other than the one which is applied by default, the user needs to run following command after the board boots to Linux.
1. Change directory to the parent directory of the user’s custom configuration and policy files. 2. Run the FMC tool command:
$ fmc ­c <config.xml> ­p <policy.xml> ­a

4.7.7 Quick start guide for LS1046ARDB This section explains: · Introduction

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
58 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

· LS1046ARDB reference information · LS1046ARDB recovery information · Program Layerscape LDP composite firmware image · Frame Manager Configuration (FMC) tool

4.7.7.1 Introduction
The following sections describe the procedure to program Layerscape LDP composite firmware for LS1046A. Also, this section explains the most common use case procedure to download and deploy Layerscape LDP default images to LS1046A using flex-installer. For more information, see Section 4.2.
For more information on the different components of the board, and on how to configure and boot the board, see LS1046A Reference Design Board Getting Started Guide.
For a list of brief how-tos to help you modify/update individual Layerscape LDP components such as, U-Boot, Linux kernel, DPAA1 FMan microcode on LS1046ARDB when booting the board from a specific boot source, such as QSPI or SD, see NXP community.

4.7.7.2 LS1046ARDB reference information
This section provides general information about LS1046ARDB which may come in handy as a reference while completing steps for deploying Layerscape LDP that follow.

4.7.7.2.1 Ethernet port map
The port name in Linux TinyDistro corresponding to each of the six ports on the reference board chassis is given in the table below.

Port name on chassis
RGMII1 RGMII2 SGMII1 SGMII2 10G Copper 10G SEP+

Port name in U-Boot
FM1@DTSEC3 FM1@DTSEC4 FM1@DTSEC5 FM1@DTSEC6 FM1@TGEC1 FM1@TGEC2

Port name in Linux (Tiny Distro) eth0 eth1 eth2 eth3 eth4 eth5

Port name in Linux (NXP Layerscape LDP userland) fm1-mac3 fm1-mac4 fm1-mac5 fm1-mac6 fm1-mac9 fm1-mac10

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
59 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

4.7.7.2.2 System memory map

Start Physical Address 0x00_0000_0000 0x00_0100_0000 0x00_1000_0000 0x00_1001_0000 0x00_2000_0000 0x00_7E80_0000 0x00_7FB0_0000 0x00_8000_0000 0x05_0000_0000 0x05_0800_0000 0x08_8000_0000 0x40_0000_0000 0x48_0000_0000 0x50_0000_0000

End Physical Address 0x00_000F_FFFF 0x00_0FFF_FFFF 0x00_1000_FFFF 0x00_1001_FFFF 0x00_20FF_FFFF 0x00_7E80_FFFF 0x00_7FB0_0FFF 0x00_FFFF_FFFF 0x05_07FF_FFFF 0x05_0FFF_FFFF 0x09_FFFF_FFFF 0x47_FFFF_FFFF 0x4F_FFFF_FFFF 0x57_FFFF_FFFF

Memory Type Secure Boot ROM CCSRBAR OCRAM0 OCRAM1 DCSR IFC – NAND Flash IFC – CPLD DRAM1 QMan S/W Portal BMan S/W Portal DRAM2 PCI Express1 PCI Express2 PCI Express3

Size 1 MB 240 MB 64 KB 64 KB 16 MB 64 KB 4 KB 2 GB 128 M 128 M 6 GB 32G 32G 32G

4.7.7.2.3 Supported boot options
LS1046ARDB supports the following boot options: · SD · QSPI NOR flash

4.7.7.2.4 Onboard switch options
The RDB has user selectable switches for evaluating different boot options for the LS1046A device as given in the table below (‘0’ is OFF, ‘1’ is ON).

Boot source QSPI NOR flash0 (default) QSPI NOR flash1 SD card

SW3[1:8] 01000110 01001110 01000110

SW4[1:8] 00111011 00111011 00111011

SW5[1:8] 00100010 00100010 00100000

Note: Changing the boot device configuration from the default setting may require additional changes in the RCW or in other code images.
For information on RCW naming convention for LS1046ARDB, see https://github.com/nxp-qoriq/rcw/blob/ master/ls1046ardb/README.

4.7.7.2.5 QSPI NOR flash banks
LS1046ARDB has two QSPI NOR flash connected over QSPI controller. Only one QSPI NOR flash is available at a time depending upon the board switch settings as given in preceding topic. These switch settings can also be overridden by CPLD commands. To protect the default U-Boot in flash0, it is a convention employed by NXP to deploy work images into the flash1, and then switch to the flash1 for testing. Switching to the flash1 can be done in software using CPLD command that effectively swaps the flash0 with the flash1. This protects flash0

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
60 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

and keeps the board bootable under all circumstances. To determine the current bank, refer to the example U-
Boot log given below (flash0 is displayed as vBank 0 and flash1 is displayed as vBank 4).
U-Boot 2020.04-21450-gbde1a7f (Sep 18 2020 – 22:10:28 +0800) SoC: LS1046AE Rev1.0 (0x87070010) Clock Configuration:
CPU0(A72):1800 MHz CPU1(A72):1800 MHz CPU2(A72):1800 MHz CPU3(A72):1800 MHz Bus: 700 MHz DDR: 2100 MT/s FMAN: 800 MHz Reset Configuration Word (RCW): 00000000: 0e150012 10000000 00000000 00000000 00000010: 11335559 40005012 40025000 c1000000 00000020: 00000000 00000000 00000000 00238800 00000030: 20124000 00003101 00000096 00000001 Model: LS1046A RDB Board Board: LS1046ARDB, boot from QSPI vBank 4 CPLD: V2.2 PCBA: V2.0 SERDES Reference Clocks: SD1_CLK1 = 156.25MHZ, SD1_CLK2 = 100.00MHZ DRAM: 15.9 GiB (DDR4, 64-bit, CL=15, ECC on) DDR Chip-Select Interleaving Mode: CS0+CS1 SEC0: RNG instantiated Using SERDES1 Protocol: 4403 (0x1133) Using SERDES2 Protocol: 21849 (0x5559) NAND: 512 MiB MMC: FSL_SDHC: 0 Loading Environment from SPI Flash… SF: Detected s25fs512s with page size 256 Bytes, erase size 256 KiB, total 64 MiB OK EEPROM: NXID v1 In: serial Out: serial Err: serial Net: SF: Detected s25fs512s with page size 256 Bytes, erase size 256 KiB, total 64 MiB Fman1: Uploading microcode version 106.4.18 PCIe1: pcie@3400000 Root Complex: no link PCIe2: pcie@3500000 Root Complex: no link PCIe3: pcie@3600000 Root Complex: x1 gen1 e1000: 00:15:17:8a:c6:5b FM1@DTSEC3, FM1@DTSEC4, FM1@DTSEC5, FM1@DTSEC6, FM1@TGEC1, FM1@TGEC2, e1000#0 [PRIME] Warning: e1000#0 MAC addresses don’t match: Address in SROM is 00:15:17:8a:c6:5b Address in environment is 00:e0:0c:00:8e:06 Warning: e1000#0 failed to set MAC address => =>

4.7.7.2.6 Boot option switching Boot switching can be performed in U-Boot using the following commands: · Switch to QSPI NOR flash0 (default):
=>cpld reset

LLDPUG
User guide

All information provided in this document is subject to legal disclaimers.
Rev. L6.1.1_1.0.0 — 10 May 2023

© 2023 NXP B.V. All rights reserved.
61 / 1056

NXP Semiconductors

LLDPUG
Layerscape Linux Distribution POC User Guide

· Switch to QSPI NOR flash1: =>cpld reset altbank
· Switch to SD: =>cpld reset sd

4.7.7.3 LS1046ARDB recovery information
If LS1046ARDB board fails to boot from QSPI NOR flash 0, you can recover QSPI NOR flash 0 from QSPI NOR flash 1 by following these steps: 1. Download the prebuilt composite firmware image:
$ cp /tmp/deploy/images/ls1043ardb/firmware_ls1046ardb_qspiboot.img ~/ tftp
2. Boot LS1046ARDB from QSPI NOR flash1 with the following switch settings: SW3 = 01001110, SW4 = 00111011, SW5 = 00100010
3. Program QSPI NOR flash0 from QSPI NOR flash1: => tftp $load_addr firmware_ls1046ardb_qspiboot.img => sf probe 0:1 => sf erase 0 +$filesize && sf write $load_addr 0 $filesize
4. Reset and boot the board from QSPI NOR flash0: => cpld reset
Note: If LS1046ARDB fails to boot from both the QSPI NOR flash banks, you need to recover the board using CodeWarrior for LS Series, Arm v8 ISA. For steps to recover the board using the CodeWarrior tool, see section “8.6 Board Recovery” in ARM V8 ISA, Targeting Manual
4.7.7.4 Program Layerscape LDP composite firmware image
This topic explains steps to program QSPI NOR firmware image to QSPI NOR flash on LS1046ARDB and SD firmware image to SD card on LS1046ARDB. To program Layerscape LDP composite firmware image to QSPI NOR flash on LS1046ARDB: 1. Copy firmware on host machine to tftp server.
$ cp /tmp/deploy/image/ls1046ardb/firmware_ls1046ard

Read User Manual Online (PDF format)

Loading......

Download This Manual (PDF format)

Download this manual  >>

NXP Semiconductors User Manuals

Related Manuals