Project

General

Profile

Carrier Board eMMC Usage

Typically customers utilize the MMC0 interface, 4-bit mode, from the MitySOM-5CSx module with an SD or Micro SD card that is removable. This allows for programming the SD card in a Linux PC, Windows PC or SD Card duplicator for mass producing SD cards.

Alternatively a custom carrier board can interface an eMMC device to the MMC0 interface, up to 8 data bits are available, typically connected with 4-bits, and it should be noted that the BootROM in the Cyclone V SoC initially loads in 1-bit mode. In this case the eMMC either needs to be pre-programmed prior to assembly of the carrier board or the module needs to be booted into UBoot to allow for remote programming of the eMMC.

The recommended way to do this would be to store the preloader and U-Boot in the QSPI NOR flash that is on the SOM, 16MB or greater is available on each module. All the other components (FPGA, kernel, rootfs, DTB) can be stored on the MMC device. The reason why the preloader and U-Boot would go into NOR flash is because Altera has a command line utility called quartus_hps, which allows for loading an image into the QSPI flash over JTAG. Another option would be to program the QSPI NOR in another baseboard that boots from a valid SD card and have that program the NOR flash.

Once the QSPI NOR is programmed and you can get to U-Boot, programming the eMMC from U-Boot would be fairly straight forward. At the U-Boot level you would have access to network or the console port to get the second image with the FPGA/DTB/kernel/rootfs and copy those into the eMMC.

Here are some notes:
  • BSEL (boot select pin) must be set to boot from QSPI
  • The preloader must be built to boot U-Boot from QSPI not MMC
  • The MitySOM-5CSE-L2-3Y8 has 16MB of QSPI NOR, which is way more than needed for the preloader and U-Boot but not really enough to store all the other components
  • Using quartus_hps and JTAG is fairly slow at programming U-Boot/preloader, this usually takes ~6 minutes

Here are some references:
Utilizing QSPI NOR Memory
Building u-Boot and Preloader
First (CS0) Bootable NOR Flash Memory Map

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