diff options
Diffstat (limited to 'drivers/mci/imx-esdhc.c')
-rw-r--r-- | drivers/mci/imx-esdhc.c | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/drivers/mci/imx-esdhc.c b/drivers/mci/imx-esdhc.c index 585cab9e54..7c12eba5da 100644 --- a/drivers/mci/imx-esdhc.c +++ b/drivers/mci/imx-esdhc.c @@ -19,10 +19,6 @@ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA */ #include <config.h> #include <common.h> @@ -335,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) { @@ -567,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); - |