[U-Boot] multichannel mmc strangeness on omap
Tom Rini
trini at ti.com
Mon Jul 30 16:27:48 CEST 2012
On Mon, Jul 30, 2012 at 06:36:24AM -0700, Steve Sakoman wrote:
> Does anyone have any experience enabling the second or third mmc
> channels in u-boot on an omap3 board?
>
> I used the feature successfully a couple of years ago on Overo, but of
> course there have been many changes in the mmc code since then.
>
> Here's what I tried for overo with the current head of tree:
>
> diff --git a/board/overo/overo.c b/board/overo/overo.c
> index f973870..51315b3 100644
> --- a/board/overo/overo.c
> +++ b/board/overo/overo.c
> @@ -404,6 +404,7 @@ int board_eth_init(bd_t *bis)
> int board_mmc_init(bd_t *bis)
> {
> omap_mmc_init(0, 0, 0);
> + omap_mmc_init(2, 0, 0);
> return 0;
> }
> #endif
>
> The result is a hang after printing: MMC: OMAP SD/MMC 0, SD/MMC 1
>
> After adding a few printf's, it seems that the crash/hang is occurring
> when calling env_relocate_spec in env_nand.c, which of course is
> completely unrelated code!
I've spent some time scratching my head against a hang in the same spot,
on am335x. I only have seen it when booting from NAND (same image from
MMC or UART is fine). Further, it only showed up when a change was made
in another driver which isn't even entered before the hang.
--
Tom
More information about the U-Boot
mailing list