9
0
Fork 0

MMC: IMX: Reset MMC_BOOT register after controller reset.

This helps with EMMC detection when booting from EMMC directly.
Taken from u-boot.

Signed-off-by: Andrey Panov <rockford@yandex.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Andrey Panov 2015-01-17 15:54:35 +03:00 committed by Sascha Hauer
parent 78582e53dc
commit 58475f4599
2 changed files with 4 additions and 0 deletions

View File

@ -471,6 +471,9 @@ static int esdhc_init(struct mci_host *mci, struct device_d *dev)
esdhc_write32(regs + SDHCI_CLOCK_CONTROL__TIMEOUT_CONTROL__SOFTWARE_RESET,
SYSCTL_HCKEN | SYSCTL_IPGEN);
/* RSTA doesn't reset MMC_BOOT register, so manually reset it */
esdhc_write32(regs + SDHCI_MMC_BOOT, 0);
/* Set the initial clock speed */
set_sysctl(mci, 400000);

View File

@ -18,6 +18,7 @@
#define SDHCI_SIGNAL_ENABLE 0x38
#define SDHCI_ACMD12_ERR__HOST_CONTROL2 0x3C
#define SDHCI_CAPABILITIES 0x40
#define SDHCI_MMC_BOOT 0xC4
#define COMMAND_CMD(x) ((x & 0x3f) << 24)
#define COMMAND_CMDTYP_NORMAL 0x0