[U-Boot] Does U-boot supports Spansion S29GL512P NOR Flash?

Stefan Roese sr at denx.de
Tue Apr 13 10:34:11 CEST 2010


On Tuesday 13 April 2010 08:31:59 prakash bedge wrote:
> I did it. :)

Good. But what did you change to make it work?
 
> I am now able to detect the flash. So now I can run the uboot commnads i.e
> flinfo to check the flash information.
> For this I make use of ST fixup code for M29W128GH in which I changed the
> codition for chekcing chipwidth.

Are you not using the mainline version of cfi_flash.c? If not, which "fixup 
code" are you referring to (link)?

>  To detect the flash I used chipwidth 16 Bits and Portwidth 8 Bits.

Just checking to be sure: Are you using the Spansion chip in byte (8bit) or 
word (16bit) mode? All configurations I have used till now use the word mode 
with this chip.

And you really use 8 bit portwidth to access this chip in your SoC?
 
> But now I am getting the problem in erasing on flash. I gave the erase
> command to erase the sector but then the sector is not getting erased and I
> am getting the message as flash erased. Same is for chip erase command. See
> the log below

<snip>

> U-Boot $  *saveenv*
> Saving Environment to Flash...
> copy old content: sect_addr: FFFA0000  env_addr: FFFA0000  offset: 00000000
> Protect off FFFA0000 ... FFFBFFFF
> Un-Protecting sectors 509..509 in bank 1
> Un-Protected 1 sectors
> *Erasing Flash...Erase Flash from 0xfffa0000 to 0xfffbffff in Bank # 1*
> fwc addr fffa0aaa cmd aa aa 8bit x 8 bit
> fwc addr fffa0555 cmd 55 55 8bit x 8 bit
> fwc addr fffa0aaa cmd 80 80 8bit x 8 bit
> fwc addr fffa0aaa cmd aa aa 8bit x 8 bit
> fwc addr fffa0555 cmd 55 55 8bit x 8 bit
> fwc addr fffa0000 cmd 30 30 8bit x 8 bit
> *flash_is_busy: 0
>  done*
> *Erased 1 sectors
> Writing to Flash... Flash not Erased*
> Protecting sectors 509..509 in bank 1
> Protected 1 sectors
> U-Boot $
> 
> Also, even by using BDI 3000 Debugger, I am not able to erase the flash by
> giving the proper CFI erase command.
> 
> mmb 0xfc000000 0xf0
>  mmb 0xfc000aaa 0xaa
>  mmb 0xfc000555 0x55
> mmb 0xfc000aaa 0x80
> mmb 0xfc000aaa 0xaa
> mmb 0xfc000555 0x55
> mmb 0xff7c0000  0x30
> 
> But the data is still present.
> 
> What may be the reason that flash in not getting erased using U-boot as
> well as BDI debugger?

Hard to tell. Perhaps still a problem of a misconfigured external bus? Perhaps 
a problem of incorrect unlocking addresses (byte vs. word address)?

How did you program the U-Boot image into FLASH? Via the BDI3000 "prog" 
command? Is this working correctly?

Cheers,
Stefan

--
DENX Software Engineering GmbH,      MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office at denx.de


More information about the U-Boot mailing list