Follow these steps to update the composite firmware image in QSPI NOR flash.
qixis_reset boots the board from QSPI NOR flash0 and qixis_reset altbank boots the board from QSPI NOR flash1.
sf probe 0:1 means that the alternate bank will be written to. So, if the board boots from QSPI NOR flash0 and sf probe 0:1 is entered at the U-Boot prompt, the commands that follow will program QSPI NOR flash1.
LSDK includes pre-built firmware images for QSPI NOR flash. The LSDK composite firmware includes RCW+PBI, boot loader firmware, DPAA1 FMan ucode, QE/uQE firmware, Ethernet PHY firmware, DPAA2 MC firmware, DPAA2 DPL, DPAA2 DPC, device tree, and lsdk_linux_<arch>.itb images.
Refer the Layerscape Software Development Kit <version> Documention for the complete flash memory layout of the images.
On a Linux host machine, download composite firmware image from nxp.com.
$ wget http://www.nxp.com/lgfiles/sdk/lsdk<lsdk_version>/firmware_<RDB_name>_uboot_qspiboot.img
For example:
For LS1088ARDB:
$ wget http://www.nxp.com/lgfiles/sdk/lsdk1809/firmware_ls1088ardb_uboot_qspiboot.img
For LS1088ARDB-PB:
$ wget https://www.nxp.com/lgfiles/sdk/lsdk1809/firmware_ls1088ardb_pb_uboot_qspiboot.img
Flashing composite firmware images to QSPI NOR flash
For LS1088ARDB, in boot log, you’ll see:
Board: LS1088A-RDB, Board Arch: V1, Board version: C, boot from QSPI:0
For LS1088ARDB-PB, in boot log, you'll see:
Board: LS1088ARDB-PB, Board Arch: V1, Board version: A, boot from QSPI:0
Composite firmware image can be loaded to the LS1088ARDB/LS1088ARDB from a TFTP server or from a mass storage device (SD, USB, or SATA).
When board boots up, U-Boot prints a list of enabled Ethernet interfaces.
DPMAC1@xgmii, DPMAC2@xgmii, DPMAC3@qsgmii, DPMAC4@qsgmii, DPMAC5@qsgmii, DPMAC6@qsgmii, DPMAC7@qsgmii, DPMAC8@qsgmii, DPMAC9@qsgmii, DPMAC10@qsgmii
=> setenv serverip <ipaddress1>
Set ethact and ethprime as the ethernet interface connected to the TFTP server.
See LS1088ARDB/LS1088RDB-PB Ethernet port mapping for the mapping of Ethernet port names appearing on the chassis front panel with the port names in U-Boot and Linux.
=> setenv ethprime <name of interface connected to TFTP server>
For example:
=> setenv ethprime DPMAC3@qsgmii
=> setenv ethact <name of interface connected to TFTP server>
For example:
=> setenv ethact DPMAC3@qsgmii
Static IP address assignment:
=> setenv ipaddr <ipaddress2>
=> setenv netmask <subnet mask>
Dynamic IP address assignment:
=> dhcp
=> ping $serverip
Using DPMAC3@qsgmii device
host 192.168.1.1 is alive
Flash LS1088ARDB or LS1088ARDB-PB composite firmware image:
filesize=2351db0
filesize=2351db0
For LS1088ARDB, in boot log, you’ll see:
Board: LS1088A-RDB, Board Arch: V1, Board version: C, boot from QSPI:1
For LS1088ARDB-PB, in boot log, you'll see:
Board: LS1088ARDB-PB, Board Arch: V1, Board version: A, boot from QSPI:1
Ensure that SD card, USB flash drive, or SCSI hard disk installed with LSDK Ubuntu distribution is plugged into the board to boot the board to Ubuntu. If U-Boot does not find LSDK on a mass storage device, it will boot TinyDistro from lsdk_linux_arm64_ tiny.itb stored in QSPI NOR flash.
=> mmc rescan
=> mmc info
Or
=> usb start => usb info
Or
=> scsi scan
=> scsi info
=> ls mmc <device:partition>
For example:
=> ls mmc 0:2
Or
=> ls usb <device:partition>
For example:
=> ls usb 0:1
Or
=> ls scsi <device:partition>
For example:
=> ls scsi 0:2
=> load mmc 0:2 a0000000 <image name>
=> print filesize
For example, for LS1088ARDB:
=> load mmc 0:2 a0000000 firmware_ls1088ardb_uboot_qspiboot.img
=> print filesize
filesize=235bd40
For example, for LS1088ARDB-PB:
=> load mmc 0:2 a0000000 firmware_ls1088ardb_pb_uboot_qspiboot.img
=> print filesize
filesize=2351db0
Or
=> load usb 0:2 a0000000 <image name>
=> print filesize
Or
=> load scsi 0:2 a0000000 <image name>
=> print filesize
Program image to QSPI NOR flash: => sf erase 0x0 +$filesize && sf write 0xa0000000 0x0 $filesize
In boot log, you’ll see:
For LS1088ARDB, in boot log, you’ll see:
Board: LS1088A-RDB, Board Arch: V1, Board version: C, boot from QSPI:1
For LS1088ARDB-PB, in boot log, you'll see:
Board: LS1088ARDB-PB, Board Arch: V1, Board version: A, boot from QSPI:1
Ensure that SD card, USB flash drive, or SCSI hard disk installed with LSDK Ubuntu distribution is plugged into the board to boot the board to Ubuntu. If U-Boot does not find LSDK on a mass storage device, it will boot TinyDistro from lsdk_linux_arm64_ tiny.itb stored in QSPI NOR flash.