User`s guide
Adding Support for the i.MX53 ESDHC
i.MX53 System Development User’s Guide, Rev. 1
Freescale Semiconductor 15-5
...
};
Then link GPIO interrupts with start and end functions in the resource structure of the SD interface in the
mx53_<board name>.c file located at
<ltib>/linux/arch/arm/mach-mx5/mx53_<board name>.c
static void __init mxc_board_init(void)
{
...
/* SD card detect irqs */
if (board_is_mx53_<board name>()) {
...
// SD2 Card support for i.MX53 custom board
mxcsdhc2_device.resource[2].start = IOMUX_TO_IRQ(MX53_PIN_GPIO_4);
mxcsdhc2_device.resource[2].end = IOMUX_TO_IRQ(MX53_PIN_GPIO_4);
mmc2_data.wp_status = NULL;
...
}
...
}
Interfaces without card detection pins do not require any GPIO configuration. However, they need card
detection forced to the kernel by setting the card_inserted_state field. An example is shown below:
static void __init mxc_board_init(void)
{
...
/* SD card detect irqs */
if (board_is_mx53_<custom board name>()) {
...
// SDHC4 Card support for i.MX53 custom board
mmc4_data.card_inserted_state = 1;
mmc4_data.status = NULL;
mmc4_data.wp_status = NULL;
...
}
...
}
NOTE
SD interfaces without card detection are intended to be used as a soldered
device, such as the MovieNAND. For this reason, SD without card_detect
is only loaded during driver load (boot up time) if they are present. Be sure
that you have inserted the card prior to the ESDHC driver initialization.
15.3 Additional Reference Information
This section describes the ESDHC interface features, explains the i.MX53 support for ESDHC, and shows
the interface layouts.