Follow these steps to update the DPAA2 MC firmware, DPC, and DPL images in NOR flash.
qixis_reset boots the board from NOR bank 0 and qixis_reset altbank boots the board from NOR bank 4.
Clone the qoriq-mc-binary repository.
The prebuilt MC firmware image, mc_10.18.0_ls2088a.itb, is available at /qoriq-mc-binary/ls2088a/.
Note that the name of the MC firmware image may vary depending on the release version used.
Clone the mc-utils repository and compile the DPC and DPL images.
The compiled dpc.0x2A_0x41.dtb and dpl-eth.0x2A_0x41.dtb images are available at /mc-utils/config/ls2088a/RDB/.
Note that the name of the DPC and DPL images may vary depending on the release version used.
For LS2088ARDB, in boot log, you'll see:
Board: LS2088AE Rev1.1-RDB, Board Arch: V1, Board version: F, boot from vBank: 0
The images can be loaded to the LS2088ARDB 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@xgmii, DPMAC4@xgmii, DPMAC5@xgmii, DPMAC6@xgmii, DPMAC7@xgmii, DPMAC8@xgmii
=> setenv serverip <ipaddress1>
Set ethact and ethprime as the Ethernet interface connected to the TFTP server.
See LS2088ARDB 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 DPMAC1@xgmii
=> setenv ethact <name of interface connected to TFTP server>
For example:
=> setenv ethact DPMAC1@xgmii
Static IP address assignment:
=> setenv ipaddr <ipaddress2>
=> setenv netmask <subnet mask>
Dynamic IP address assignment:
=> dhcp
=> ping $serverip
Using DPMAC1@xgmii device
host 192.168.1.1 is alive
Address 0x584A0000 is the location of MC firmware in alternate NOR bank. Refer Flash layout for new boot flow with TF-A for the complete flash memory layout.
Address 0x584D00000 is the location of DPL image in alternate NOR bank. Refer Flash layout for new boot flow with TF-A for the complete flash memory layout.
Address 0x584E00000 is the location of DPC image in alternate NOR bank. Refer Flash layout for new boot flow with TF-A for the complete flash memory layout.
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 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
If the ls command fails to run, check that U-Boot in NOR bank 0 supports the command by typing ls at the U-Boot prompt:
=> ls ls - Lists files in a directory (default)
Usage: ls <interface> [<dev[:part]> [directory]] - Lists files in directory [directory] of partition [part] on device type [interface] and instance [dev].
If U-Boot does not support this command, then update the composite firmware image in NOR bank 0.
For steps to update composite firmware image in NOR bank, see Layerscape Software Development Kit User Guide .
Use the following command if the SD card is formatted/created using LSDK flex-installer command:
=> load <interface> [<dev[:part]> [<addr> [<filename> [bytes [pos]]]]] For example:
=> load mmc 0:2 $load_addr mc_10.18.0_ls2088a.itb Use the following command if the SD card is formatted/created on a Windows PC:
=> fatload <interface> [<dev[:part]> [<addr> [<filename> [bytes [pos]]]]] For example:
=> fatload mmc 0:2 $load_addr mc_10.18.0_ls2088a.itb Use the following command if the SD card is formatted/created on a Linux PC:
=> ext2load <interface> [<dev[:part]> [<addr> [<filename> [bytes [pos]]]]] For example:
=>ext2load mmc 0:2 $load_addr mc_10.18.0_ls2088a.itb Also note that LSDK flex-installer command puts the images on the IInd 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.
=> load mmc 0:2 80000000 <mc firmware>
For example:
=> load mmc 0:2 80000000 mc_10.18.0_ls2088a.itb
=> print filesize
Or
=> load usb 0:2 80000000 <image name>
=> print filesize
Or
=> load scsi 0:2 80000000 <image name>
=> print filesize
Program MC firmware image to NOR bank 4 (after booting from NOR bank 0): => erase 0x584A00000 +$filesize;cp.b 80000000 0x584A00000 $filesize
Address 0x584A00000 is the location of MC firmware in alternate NOR bank. Refer Flash layout for new boot flow with TF-A for the complete flash memory layout.
Flash DPL image:
=> load mmc 0:2 80000000 <dpl image>
For example:
=> load mmc 0:2 80000000 dpl-eth.0x2A_0x41.dtb
=> print filesize
Or
=> load usb 0:2 80000000 <image name>
=> print filesize
Or
=> load scsi 0:2 80000000 <image name>
=> print filesize
Program DPL image to NOR bank 4 (after booting from NOR bank 0): => erase 0x584D00000 +$filesize;cp.b 80000000 0x584D00000 $filesize
Address 0x584D00000 is the location of DPL image in alternate NOR flash. Refer Flash layout for new boot flow with TF-A for the complete flash memory layout.
Flash DPC image:
=> load mmc 0:2 80000000 <dpc image>
For example:
=> load mmc 0:2 80000000 dpc.0x2A_0x41.dtb
=> print filesize
Or
=> load usb 0:2 80000000 <image name>
=> print filesize
Or
=> load scsi 0:2 80000000 <image name>
=> print filesize
Program DPC image to NOR bank 4 (after booting from NOR bank 0): => erase 0x584E00000 +$filesize;cp.b 80000000 0x584E00000 $filesize
Address 0x584E00000 is the location of DPC image in alternate NOR flash. Refer Flash layout for new boot flow with TF-A for the complete flash memory layout.
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 NOR flash.