As the reset vector is located at 0xfffffffc, all flash sectors from the
beginning of the U-Boot binary to 0xffffffff must be protected. On the
TQM8548-AG having small sectors at the end of the flash it happened that
the last two sector were not protected and an "erase all" left an
un-bootable system behind:

Bank # 2: CFI conformant FLASH (32 x 16)  Size: 32 MB in 270 Sectors
  AMD Standard command set, Manufacturer ID: 0xEC, Device ID: 0x257E
  Erase timeout: 8192 ms, write timeout: 1 ms

  FFFA0000 E RO   FFFC0000   RO   FFFE0000   RO   FFFE4000   RO   FFFE8000   RO 
  FFFEC000   RO   FFFF0000   RO   FFFF4000   RO   FFFF8000 E      FFFFC000  

The same bug seems to be in drivers/mtd/cfi_flash.c:flash_init() and many
board BSPs as well.

Signed-off-by: Wolfgang Grandegger <w...@grandegger.com>
---
 board/tqc/tqm85xx/tqm85xx.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Index: u-boot/board/tqc/tqm85xx/tqm85xx.c
===================================================================
--- u-boot.orig/board/tqc/tqm85xx/tqm85xx.c
+++ u-boot/board/tqc/tqm85xx/tqm85xx.c
@@ -315,8 +315,7 @@ int misc_init_r (void)
 
        /* Monitor protection ON by default */
        flash_protect (FLAG_PROTECT_SET,
-                      CONFIG_SYS_MONITOR_BASE,
-                      CONFIG_SYS_MONITOR_BASE + monitor_flash_len - 1,
+                      CONFIG_SYS_MONITOR_BASE, 0xffffffff,
                       &flash_info[CONFIG_SYS_MAX_FLASH_BANKS - 1]);
 
        /* Environment protection ON by default */


_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to