diff options
Diffstat (limited to 'drivers/mci/imx-esdhc.c')
-rw-r--r-- | drivers/mci/imx-esdhc.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/drivers/mci/imx-esdhc.c b/drivers/mci/imx-esdhc.c index d78cc01a05..7c12eba5da 100644 --- a/drivers/mci/imx-esdhc.c +++ b/drivers/mci/imx-esdhc.c @@ -331,7 +331,7 @@ esdhc_send_cmd(struct mci_host *mci, struct mci_cmd *cmd, struct mci_data *data) esdhc_write32(®s->irqstat, -1); /* Wait for the bus to be idle */ - ret = wait_on_timeout(100 * MSECOND, + ret = wait_on_timeout(SECOND, !(esdhc_read32(®s->prsstat) & (PRSSTAT_CICHB | PRSSTAT_CIDHB))); if (ret) { @@ -563,16 +563,28 @@ static int fsl_esdhc_probe(struct device_d *dev) return 0; } +static __maybe_unused struct of_device_id fsl_esdhc_compatible[] = { + { + .compatible = "fsl,imx51-esdhc", + }, { + .compatible = "fsl,imx53-esdhc", + }, { + .compatible = "fsl,imx6q-usdhc", + }, { + /* sentinel */ + } +}; + static struct driver_d fsl_esdhc_driver = { - .name = "imx-esdhc", - .probe = fsl_esdhc_probe, + .name = "imx-esdhc", + .probe = fsl_esdhc_probe, + .of_compatible = DRV_OF_COMPAT(fsl_esdhc_compatible), }; static int fsl_esdhc_init_driver(void) { - register_driver(&fsl_esdhc_driver); - return 0; + register_driver(&fsl_esdhc_driver); + return 0; } device_initcall(fsl_esdhc_init_driver); - |