[U-Boot] Loading u-boot from SD/MMC (was Re: [PATCH v3] AT91: MCI: add SD/MMC driver using mmc framework)
William C. Landolina
wcl at techatl.com
Wed Sep 8 03:21:38 CEST 2010
Running U-Boot from the SDCard on an Atmel 9G20 is certainly doable. I have recently booted U-Boot and Linux from an SDCard on an Atmel AT91SAM9G45-EKES with no other non-volatile memories and the process is the same with some minor limitations.
The process I used:
1. SAM Boot loader loads "boot.bin" from the first FAT partition
2. Boot.bin loads U-Boot from "uboot.bin" into high DRAM
3. Boot.bin loads a uImage file lower into DRAM
4. Boot.bin jumps into U-Boot
4. U-Boot's boot command boots the image my boot.bin leaves lying around in DRAM.
I started with Atmel's SDCard bootstrap example and modified it to load both U-Boot and a Linux image into RAM then jump to U-Boot. The U-Boot and the Linux uImage were "stock" builds with no special features. Once the SD/MMC U-Boot patches make it into the mainline I expect to let U-Boot read the Linux image from the SDCard.
The 9G20 has two limitations that I know of:
1. 9G20's boot ROM doesn't support SDHC cards (> 2GB)
2. 9G20's SRAM that boot.bin loads into is 16K which may be too tight for a full FAT handler.
The 9G45 has 64K of SRAM so the boot.bin program I used has a full FAT file system handler. Start by looking at the 9G20 "AT91 Software package" at http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4343 and dive into the SD/MMC examples.
The SD/MMC patches for AT91 will make this a lot simpler.
Enjoy,
Bill.
> -----Original Message-----
> From: u-boot-bounces at lists.denx.de [mailto:u-boot-
> bounces at lists.denx.de] On Behalf Of Reinhard Meyer
> Sent: Tuesday, September 07, 2010 6:40 PM
> To: Will Tucker; u-boot at lists.denx.de
> Subject: [U-Boot] Loading u-boot from SD/MMC (was Re: [PATCH v3] AT91:
> MCI: add SD/MMC driver using mmc framework)
>
> Dear Will Tucker,
> > Hi,
> >
> > I'm trying to get the ATSAM9G20-EK booting from SD/MMC on MCI A, with
> the Nand > and Dataflash disabled, with no luck.
> >
> > I have gotten the latest u-boot-atmel compiled and placed boot.bin on a
> FAT 16 > formatted. When I turn power on I only get RomBoot on the debug
> uart.
> >
> > 1) Do I need to use the latest AT91Bootstrap, I have v1.16 but do not see
> any > way to enable the mci > > If I need an update where can I get the
> latest version?
> >
> > Any help would be appreciated,
> >
> > Will Tucker
> >
>
> First, please observe the following:
> 1. Start a new thread for comments/questions unrelated to the existing
> thread.
> 2. Always post the u-boot mailing list as well.
> 3. Please make your lines wrap at less than 80 characters.
>
> To give a brief answer to your issue:
>
> Please study sections 8 and 13 of the 9G20 datasheet. As a result you will see
> that the ROM will try to load "boot.bin" to internal SRAM. This will limit the
> image size to 16K. Apparently that cannot be u-boot itself. This 16k code
> would need to initialize SDRAM and load another, larger file (e.g. u-boot.bin)
> from SD/MMC into SDRAM. I don't know whether AT91Bootstrap sources
> already handle such a situation. Latest Versions you will find on the Atmel
> Website.
>
> Please note that this is not an u-boot issue.
>
> The patch "SD/MMC support" for u-boot enables to access SD/MMC from u-
> boot ONCE it is running.
>
> Best Regards,
> Reinhard
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
More information about the U-Boot
mailing list