LS1046ARDB - How to update DPAA1 FMan microcode (ucode) image on SD card

Document created by Swati Gupta Employee on Dec 7, 2018Last modified by Swati Gupta Employee on Apr 16, 2019
Version 13Show Document
  • View in full screen mode

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.

  1. git clone
  2. $ cd qoriq-fm-ucode
  3. $ 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

  1. Plug the SD card into the Linux host.
  2. 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.

  3. Remove the SD card from the Linux host machine.
  4. 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.