Follow these steps to update the DPAA1 FMan ucode image on the SD card.
Obtaining DPAA1 FMan ucode image
Clone the qoriq-fm-ucode repository.
- $ git clone https://github.com/NXP/qoriq-fm-ucode.git
- $ cd qoriq-fm-ucode
- $ git checkout LSDK-<LSDK version>. For example, $ git checkout LSDK-18.12
The prebuilt FMan ucode images, fsl_fman_ucode_ls1046_r1.0_<microcode version>.bin, are at qoriq-fm-ucode/. In the binary file, ls1046_r1.0 refers to the LS1046A silicon revision 1.0. See qoriq-fm-ucode/readme for a description of the ucode version numbers.
SD card start block number for DPAA1 FMan ucode image
| Image | SD card start block number |
|---|
DPAA1 FMan ucode image | 0x04800 = 18432 |
Refer Flash layout for new boot flow with TF-A for complete listing of the SD card start block numbers for all LSDK firmware images.
Programming DPAA1 FMan ucode image to SD card
- Plug the SD card into the Linux host.
- Run the following command on the Linux host:
- $ sudo dd if=fsl_fman_ucode_ls1046_r1.0_<ucode version>.bin of=/dev/sdX bs=512 seek=18432 conv=fsync
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 SDHC 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 your Linux host machine supports read/write SDHC card directly without an extra SDHC card reader device, the device name of SDHC card is typically mmcblk0.
- Remove the SD card from the Linux host machine.
- Plug the SD card into LS1046ARDB and boot the board to Ubuntu using the SD card. You can boot the board using the SD card either by:
- setting the switches: SW3[1:8] = 01001110 and SW5 [1:8] = 00100000, or
- boot switching to SD card => cpld reset sd
In boot log, you’ll see:
Board: LS1046ARDB, boot from SD
You can check the following code line in the boot log to confirm that the DPAA1 FMan ucode image on the SD card is updated.
Fman1: Uploading microcode version 106.4.18
If U-Boot does not find LSDK on the SD card, it will boot TinyDistro from lsdk_linux_arm64_ tiny.itb stored on the SD card.