[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.
- 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

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@lists.denx.de [mailto:u-boot- bounces@lists.denx.de] On Behalf Of Reinhard Meyer Sent: Tuesday, September 07, 2010 6:40 PM To: Will Tucker; u-boot@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.
- 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:
- 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@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
participants (2)
-
Reinhard Meyer
-
William C. Landolina