[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