AN 763: Intel® Arria® 10 SoC Device Design Guidelines

ID 683192
Date 5/17/2022
Document Table of Contents

4.5.4. SD/MMC and eMMC Card Interface Design Guidelines

GUIDELINE: If the SD/MMC power enable is used in the design, implement one of the required workarounds to ensure that your power enable functions properly.

The SD/MMC power enable is intended to function such that a logic high enables power to the SD/MMC card and a logic low disables the power. However, the SD/MMC power enable (SDMMC_PWR_ENA_HPS) signal and the BSEL[1]signal share the same dedicated I/O pin. When booting from the SD/MMC card, BSEL[1] is pulled low during a power-on reset and prevents the boot ROM from copying the second-stage boot loader from flash into on-chip RAM.

There are three workaround options for this issue:
  • Force the power enable high on the board
  • Use a GPIO to control the power enable
  • Invert the power enable line on the board so that when software disables the power (SDMMC_PWR_ENA_HPS is high), the board inverts the signal to turn off the card

GUIDELINE: Ensure that voltage translation transceivers are properly implemented if using 1.8V SD card operation.

SD cards initially operate at 3V, and some cards can switch to 1.8V after initialization. In addition, some MMC cards can operate at both 1.8V as well as 3.3V. Since the HPS I/O use a fixed voltage level and cannot be changed dynamically, transceivers are required to support level-shifting and isolation for cards that can operate at 1.8 V.

Follow the guidelines in the Voltage Switching chapter of the "SD/MMC Controller" section in the Intel® Arria® 10 Hard Processor System Technical Reference Manual. Some MMC cards can operate with only 1.8V I/O operation and initial operation at 3.0V is not required. In this situation, a level shifter is not needed.

Table 9.  SD Card Implementations Requiring a Level Shifter
HPS I/O Bank Voltage SD Card Voltage Level Shifter Needed
3.0 V 3.0 V No
3.0 V 1.8 V Yes
1.8 V 3.0 V Yes
1.8 V 1.8 V Yes

GUIDELINE: Ensure that timing is considered for initial ID mode and data transfer mode as well as normal operation.

SD cards initially operate at a maximum of 400 KHz frequency during the ID process. After the device has been identified, the Boot ROM switches to data transfer mode where the clock can operate up to 12.5 MHz. Typically, the second stage bootloader increases the interface speed further up to a maximum operating frequency of 50 MHz.

For more information, refer to the “SD/MMC Controller Clock Options Based on CSEL and HPS_CLK fuse settings” table in the "Booting and Configuration" appendix of the Intel® Arria® 10 Hard Processor System Technical Reference Manual.

GUIDELINE: Ensure that the SD/MMC card is reset when the HPS is reset

To allow the system to boot from SD/MMC, whenever the HPS is reset, ensure that the SD/MMC card is also reset, so that the memory card is in the state expected by the boot code.