Programming the FPGA Through U-Boot

The Critical Link port of the uBoot bootloader for the MitySOM-AM57x includes support for programming the FPGA using a generated binary image of the bitstream.

Critical Link recommends users plan to load the FPGA during the uBoot phase, prior to loading Linux. This is especially important for users wishing to leverage the PCIe interconnect between the FPGA and the AM57xx processor, as the PCIe device needs to be present when Linux boots.

When the MitySOM-AM57xx is powered on, the FPGA will not be programmed. The FPGA "DONE" LED will be off (the only LED lit will be the power-good LED) as shown in the picture below. Note: the pictures show a JTAG debugging pod connected, the pod is not required to program the FPGA from uBoot.

U-boot can load the FPGA bitstream from any storage peripherals that it can access. Some common examples would be sd card, USB flash drive, network (tftp/nfs), and on-SOM QSPI.

The below commands will load the devkit.bin FPGA bitstream from the first FAT partition on the sd card over the mmc0 interface into RAM address 0x82000000 and then transfer it into the FPGA.

  • In order to load the FPGA, the bitstream should be loaded into memory from the sd card.
    => load mmc 0 0x82000000 devkit.bin
  • Load into the FPGA using the "fpga load" uBoot command.
    => fpga load 0 0x82000000 $filesize
  • If the bitstream load is successful, you should see the FPGA "DONE" LED light as shown in the figure.

Go to top
Add picture from clipboard (Maximum size: 1 GB)