
Hi,
using BDI telnet session to issue the unprotect command works fine. Here some hints that have to be considered: - use command mmh to do a 16 bit access on a 16 bit wide flash - on a 16 bit wide flash the LSB address line is usually not connected (A0 of flash is connected to A1 of the host on a little endian machine). Thus the addresses required to enter flash command mode (see flash data sheet) have to be adapted (shift left by 1, 0x555 becomes 0xAAA, 0x2AA becomes 0x554) Regards Georg
-----Ursprüngliche Nachricht----- Von: Stefan Roese [mailto:sr@denx.de] Gesendet: Freitag, 11. Januar 2013 10:31 An: Waibel Georg Cc: 'u-boot@lists.denx.de' Betreff: Re: [U-Boot] BDI3000 - Unprotect flash sectors
Hi Georg,
On 01/11/2013 08:41 AM, Waibel Georg wrote:
i'm not sure if this is the right place for this question...however, here it is:
i'm using a BDI3000 to program uboot to the flash (Spansion S29GL512P) on a MPC5200B base board. Erasing / Programming works fine as long as the flash sectors are not protected (via PPB bit). On a protected sector the erase command fails (what makes sense). I thought I can use the unlock command to unprotect the sectors, but this command seems not to work:
unlock 0xfff00000 1000
Unlocking flash at 0xfff00000 # Invalid parameter for flash programming
Any ideas what I'm doing wrong?
Flash configuration: [FLASH] CHIPTYPE MIRRORX16 CHIPSIZE 0x04000000 BUSWIDTH 16 WORKSPACE 0x00000000
Yes, the BDI doesn't support the unlocking of the Advanced Locking Bits (PPB) of these Spansion (and other manufacturers) type chips. You need to manually unlock the sectors in the telnet BDI session by writing the unlocking sequence to the sector(s). Or use U-Boot to do this (if possible).
Please note that some patches to better support this PPB locking have been applied to mainline just now. And I also have some patches to support this PPB (un)-locking in Linux a short while ago which are still pending:
http://lists.infradead.org/pipermail/linux-mtd/2012-December/045295.html
Hope this helps.
Thanks, Stefan