From 845be4c1d38ad5972bc2e62282484e4af5f5332b Mon Sep 17 00:00:00 2001 From: "Peter A. Bigot" Date: Thu, 29 Dec 2011 05:27:38 -0600 Subject: [PATCH] u-boot 2011.12: OMAP MMC: Add delay before waiting for status Pending upstream patch from http://patchwork.ozlabs.org/patch/132795/ is required to successfully boot on xM. Signed-off-by: Peter A. Bigot Acked-by: Tom Rini Signed-off-by: Koen Kooi --- ...-Add-delay-before-waiting-for-status.patch | 45 +++++++++++++++++++ recipes-bsp/u-boot/u-boot_2011.12.bb | 3 +- 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 recipes-bsp/u-boot/u-boot/2011.12/U-Boot-OMAP-MMC-Add-delay-before-waiting-for-status.patch diff --git a/recipes-bsp/u-boot/u-boot/2011.12/U-Boot-OMAP-MMC-Add-delay-before-waiting-for-status.patch b/recipes-bsp/u-boot/u-boot/2011.12/U-Boot-OMAP-MMC-Add-delay-before-waiting-for-status.patch new file mode 100644 index 00000000..b334639f --- /dev/null +++ b/recipes-bsp/u-boot/u-boot/2011.12/U-Boot-OMAP-MMC-Add-delay-before-waiting-for-status.patch @@ -0,0 +1,45 @@ +From patchwork Thu Dec 22 09:56:35 2011 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 8bit +Subject: [U-Boot] OMAP MMC: Add delay before waiting for status +Date: Wed, 21 Dec 2011 23:56:35 -0000 +From: =?utf-8?q?Andreas_M=C3=BCller_=3Cschnitzeltony=40gmx=2Ede=3E?= +X-Patchwork-Id: 132795 +Message-Id: <1324547795-19678-1-git-send-email-schnitzeltony@gmx.de> +To: u-boot@lists.denx.de + +Loading kernel from MMC created the following error message reproducable: + +| reading uImage +| mmc_send_cmd: timedout waiting for stat! +| +| 2860468 bytes read + +Tested on overo with OMAP3530: +* OMAP3530-GP ES3.1, CPU-OPP2, L3-165MHz, Max CPU Clock 720 mHz + Die ID #470e000400000000040398d31402100c +* OMAP3530-GP ES3.1, CPU-OPP2, L3-165MHz, Max CPU Clock 600 mHz + Die ID #112000040000000004035c140101b011 + +Signed-off-by: Andreas Müller + +--- +drivers/mmc/omap_hsmmc.c | 4 ++++ + 1 files changed, 4 insertions(+), 0 deletions(-) + +diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c +index c38b9e6..ac91e5d 100644 +--- a/drivers/mmc/omap_hsmmc.c ++++ b/drivers/mmc/omap_hsmmc.c +@@ -197,6 +197,10 @@ static int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, + unsigned int flags, mmc_stat; + ulong start; + ++ /* Delay added before checking the status */ ++ if (cmd->cmdidx == MMC_CMD_SEND_STATUS) ++ udelay(1); /* wait 1 us */ ++ + start = get_timer(0); + while ((readl(&mmc_base->pstate) & DATI_MASK) == DATI_CMDDIS) { + if (get_timer(0) - start > MAX_RETRY_MS) { diff --git a/recipes-bsp/u-boot/u-boot_2011.12.bb b/recipes-bsp/u-boot/u-boot_2011.12.bb index 5a19066f..d776c38c 100644 --- a/recipes-bsp/u-boot/u-boot_2011.12.bb +++ b/recipes-bsp/u-boot/u-boot_2011.12.bb @@ -6,7 +6,7 @@ UBOOT_IMAGE = "u-boot-${MACHINE}-${PV}-${PR}.img" UBOOT_SYMLINK = "u-boot-${MACHINE}.img" PV = "2011.12" -PR = "r0" +PR = "r1" # No patches for other machines yet COMPATIBLE_MACHINE = "(beagleboard|pandaboard|hawkboard|am3517-evm|am37x-evm|omap3evm)" @@ -17,6 +17,7 @@ SRC_URI = "git://www.denx.de/git/u-boot.git;protocol=git \ file://2011.12/0003-beagleboard-add-support-for-scanning-loop-through-ex.patch \ file://2011.12/0004-omap4-common-mount-root-RO.patch \ file://2011.12/0005-omap4-common-use-ext4-by-default.patch \ + file://2011.12/U-Boot-OMAP-MMC-Add-delay-before-waiting-for-status.patch \ " # v2011.12 tag