[U-Boot-Users] Problem with the ST Microlectronics M29W320B flash and the CFI driver.

Tolunay Orkun listmember at orkun.us
Thu Nov 30 21:44:34 CET 2006


Txema Lopez wrote:
> Hi all,
> 
> We have a MPC5200B based custom board with a ST Microelectronics 
> M29W320B (x8/x16 flash in x8 mode) as boot flash. We are able to program 

You using M29W320DB (bottom boot) chip right?

http://www.st.com/stonline/products/literature/ds/7876/m29w320db.pdf

> the flash using a BDI2000 and start up U-Boot. But U-Boot is unable to 
> detect the boot flash using the CFI driver. With the same hardware (but

What is the flash configuration that you are using with BDI2000? Can you 
paste that part of BDI config file?

> other board) and a flash from other vendor (Spansion S29GL32A) the CFI 
> driver works properly. Has anyone tested the CFI driver for the M29W320B 
> flash?

Are you using the CFI driver from top of the tree? If not can you please 
use the one from top of tree? Also it would be great if you provided 
"flinfo" command output as well.

> This is the BDI2000 output when we write a CFI Query command

What exactly was your command?

> ffc00000 : 2000 5722 FFFF FFFF FFFF FFFF FFFF FFFF   .W"............
> ffc00010 : FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  ................
> ffc00020 : 5100 5200 5900 0200 0000 4000 0000 0000  Q.R.Y..... at .....
> ffc00030 : 0000 0000 0000 2700 3600 b500 c500 0400  ......'.6.......
> ffc00040 : 0000 0a00 0000 0400 0000 0300 0000 1600  ................
> ffc00050 : 0200 0000 0000 0000 0200 0700 0000 2000  .............. .
> ffc00060 : 0000 3e00 0000 0000 0100 0000 0000 8000  ..>.............
> ffc00070 : 0000 3e00 0000 0000 0100 FFFF FFFF FFFF  ..>.............
> ffc00080 : 5000 5200 4900 3100 3000 0000 0200 0100  P.R.I.1.0.......
> ffc00090 : 0100 0400 0000 0000 0000 b500 c500 0200  ................
> ffc000a0 : FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  ................
> ffc000b0 : FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  ................
> ffc000c0 : FFFF 6012 4e3b f07d 9b54 3500 2002 2003  ..`.N;.}.T5. . .
> ffc000d0 : 1200 2700 3a00 0100 0000 0000 0000 0000  ..'.:...........
> ffc000e0 : 0000 0f00 0700 0200 0000 0100 0100 0000  ................
> ffc000f0 : 0000 0000 0000 0100 0000 0000 0000 0000  ................

This output is looking like for x16 but byte reversed. Is it possible 
that hardware designer reversed the data bus? If not your CS 
programming/logic for the flash might not be correct... Also check BYTE 
pin of your flash parts. For x8 mode it should be pulled low.

> AFAIK the CFI driver is waiting an output like this for a x8/x16 device 
> in x8 mode:
> ffc00020 : 5151 5252 5959   QQRRYY
> Am I wrong?
> 

You would normally see QQRRYY pattern if there are two x8 devices side 
by side in a 16 bit bus interface.

Tolunay




More information about the U-Boot mailing list