Fix booting from serial dataflash on AT91RM9200
Patch by Peter Menzebach, 29 Aug 2005
diff --git a/CHANGELOG b/CHANGELOG
index f558718..802f5d3 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,9 @@
Changes for U-Boot 1.1.4:
======================================================================
+* Fix booting from serial dataflash on AT91RM9200
+ Patch by Peter Menzebach, 29 Aug 2005
+
* Add JFFS2 support for TRAB board
Patch by Martin Krause, 25 Aug 2005
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index c200fd8..ab6ccbb 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -204,19 +204,21 @@
}
SHOW_BOOT_PROGRESS (3);
+#ifdef CONFIG_HAS_DATAFLASH
+ if (addr_dataflash(addr)){
+ len = ntohl(hdr->ih_size) + sizeof(image_header_t);
+ read_dataflash(addr, len, (char *)CFG_LOAD_ADDR);
+ addr = CFG_LOAD_ADDR;
+ }
+#endif
+
+
/* for multi-file images we need the data part, too */
print_image_hdr ((image_header_t *)addr);
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) {
puts (" Verifying Checksum ... ");
if (crc32 (0, (char *)data, len) != ntohl(hdr->ih_dcrc)) {