MPC85xx: TQM85xx: fix flash protection for boot loader
authorWolfgang Grandegger <wg@grandegger.com>
Wed, 11 Feb 2009 17:38:19 +0000 (18:38 +0100)
committerAndy Fleming <afleming@freescale.com>
Tue, 17 Feb 2009 00:05:58 +0000 (18:05 -0600)
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 <wg@grandegger.com>
board/tqc/tqm85xx/tqm85xx.c

index cda8208eec270f14462f34cd43919fadb67f76fb..c414344c8edf690b4f4ffe135373ea3fbc2f2034 100644 (file)
@@ -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 */