diff options
| author | wdenk <wdenk> | 2003-06-16 23:50:08 +0000 | 
|---|---|---|
| committer | wdenk <wdenk> | 2003-06-16 23:50:08 +0000 | 
| commit | 2abbe0754759f94c79125a2534fbc4be74f416bc (patch) | |
| tree | 98c52ea3bade5efef565044ede183d6c2b30629b /lib_arm/armlinux.c | |
| parent | 71f9511803de65a3b98d2f592d418da1d1539f13 (diff) | |
| download | olio-uboot-2014.01-2abbe0754759f94c79125a2534fbc4be74f416bc.tar.xz olio-uboot-2014.01-2abbe0754759f94c79125a2534fbc4be74f416bc.zip | |
* Patch by Nicolas Lacressonniere, 11 Jun 2003:
  Modifications for Atmel AT91RM9200DK ARM920T based development kit
  - Add Atmel DataFlash support for reading and writing.
  - Add possibility to boot a Linux from DataFlash with BOOTM command.
  - Add Flash detection on Atmel AT91RM9200DK
    (between Atmel AT49BV1614 and AT49BV1614A flashes)
  - Replace old Ethernet PHY layer functions
  - Change link address
* Patch by Frank Smith, 9 Jun 2003:
  use CRIT_EXCEPTION for machine check on 4xx
* Patch by Detlev Zundel, 13 Jun 2003:
  added implementation of the "carinfo" command in cmd_immap.c
Diffstat (limited to 'lib_arm/armlinux.c')
| -rw-r--r-- | lib_arm/armlinux.c | 15 | 
1 files changed, 15 insertions, 0 deletions
| diff --git a/lib_arm/armlinux.c b/lib_arm/armlinux.c index 2fb8db871..03058033f 100644 --- a/lib_arm/armlinux.c +++ b/lib_arm/armlinux.c @@ -27,6 +27,9 @@  #include <image.h>  #include <zlib.h>  #include <asm/byteorder.h> +#ifdef CONFIG_HAS_DATAFLASH +#include <dataflash.h> +#endif  #include <asm/setup.h>  #define tag_size(type)  ((sizeof(struct tag_header) + sizeof(struct type)) >> 2) @@ -94,6 +97,11 @@ void do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],  	printf ("## Loading Ramdisk Image at %08lx ...\n", addr);  	/* Copy header so we can blank CRC field for re-calculation */ +#ifdef CONFIG_HAS_DATAFLASH +	if (addr_dataflash(addr)){ +		read_dataflash(addr, sizeof(image_header_t), (char *)&header); +	} else +#endif	  	memcpy (&header, (char *)addr, sizeof(image_header_t));  	if (ntohl(hdr->ih_magic) != IH_MAGIC) { @@ -121,6 +129,13 @@ void do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],  	data = addr + sizeof(image_header_t);  	len  = ntohl(hdr->ih_size); +#ifdef CONFIG_HAS_DATAFLASH +	if (addr_dataflash(addr)){ +		read_dataflash(data, len, (char *)CFG_LOAD_ADDR); +		data = CFG_LOAD_ADDR; +	} +#endif +  	if (verify) {  	    ulong csum = 0; |