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;
};