>> struct sdhci_of_data sdhci_esdhc = { >> .quirks = SDHCI_QUIRK_FORCE_BLK_SZ_2048 | >> SDHCI_QUIRK_BROKEN_CARD_DETECTION | >> SDHCI_QUIRK_NO_BUSY_IRQ | >> SDHCI_QUIRK_NONSTANDARD_CLOCK | >> SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK | >> SDHCI_QUIRK_PIO_NEEDS_DELAY | >> SDHCI_QUIRK_RESTORE_IRQS_AFTER_RESET | >> SDHCI_QUIRK_NO_CARD_NO_RESET, >> .ops = { >> >> Jon > > I made a test with these quirks enabled. But the result was the same. > Loading the module also ends in the known error "mmc0: Timeout waiting > for hardware interrupt". > I am a little bit confuced. Seems your freescale kernel uses another > mmc driver for your imx51? My kernel config, the one for imx35 > processors, includes "/drivers/mmc/host/sdhci-esdhc-imx.c" => > CONFIG_MMC_SDHCI_ESDHC_IMX and not "drivers/mmc/host/sdhci-of-esdhc.c" My bad. Still my driver is different. The kernel config defines CONFIG_MMC_IMX_ESDHCI=y which adds /drivers/mmc/host/mx_sdhci.c and has a bunch of quirks that are only defined locally. Are you using a freescale kernel or mainline kernel? freescale kernels change from one ltib to the next. My ltib that supports imx51 may have had the sdhci driver rewritten since the ltib that first supported imx35. Jon -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html