User`s guide
i.MX53 System Development User’s Guide, Rev. 1
Freescale Semiconductor 15-1
Chapter 15
Adding Support for the i.MX53 ESDHC
This chapter explains how to add support for the i.MX53 ESDHCV2-1/2/4 and ESDHCV3-3 controller.
The multimedia card (MMC)/secure digital (SD)/secure digital input output (SDIO) host driver
implements a standard Linux driver interface for the enhanced MMC/SD host controller (ESDHC). The
host driver is part of the Linux kernel MMC framework.
The MMC driver has the following features:
• 1-bit or 4-bit operation for SD and SDIO cards
• Supports card insertion and removal detections
• Supports the standard MMC commands
• PIO and DMA data transfers
• Power management
• Supports 1/4/8-bit operations for MMC cards
• Support eMMC4.4 SDR and DDR mode
15.1 Including Support for SD2 and SD4
The following features are required for SD card support in the i.MX53 BSP.
• Card detection.
• Write protection
• Max clock frequency
• Min clock frequency
These settings are configured with the mxc_mmc_platform_data structure defined at
/<ltib>/rpm/BUILD/linux/arch/arm/plat-mxc/include/mach/mmc.h. The structure is shown below
struct mxc_mmc_platform_data {
unsigned int ocr_mask; /* available voltages */
unsigned int vendor_ver;
unsigned int caps;
unsigned int min_clk;
unsigned int max_clk;
unsigned int clk_flg; /* 1 clock enable, 0 not */
unsigned int reserved:16;
unsigned int card_fixed:1;
unsigned int card_inserted_state:1;
unsigned int (*status) (struct device *);
int (*wp_status) (struct device *);
char *power_mmc;
char *clock_mmc;
};