[U-Boot-Users] CFI driver problems on MPC8260 and 440EPx systems

Wolfgang Denk wd at denx.de
Thu Dec 27 00:09:25 CET 2007


Hi Stefan,

even after pulling the latest CFI updates from the u-boot-cfi-flash
repository, I still see the following issues:

a) on MPC8260:

[Stefan: for testing please use the TQM8260_AD board in the xpert VL.]

The CFI driver returns from an "erase" operation with the flash still
in a undefined state; immediate reads after an erase do not show 0xFF
patterns. If you wait a few  milliseconds,  the  flash  will  finally
change into the expected erased state.

Example:

=> era 40280000 +1 ; md 40280000 10 ; sleep 1 ; md 40280000

. done
Erased 1 sectors
40280000: 004c004c 00080008 004c004c 00080008    .L.L.....L.L....	<= bad
40280010: 004c004c 00080008 004c004c 00080008    .L.L.....L.L....	<= bad
40280020: 004c004c 00080008 004c004c 00080008    .L.L.....L.L....	<= bad
40280030: 004c004c 00080008 004c004c 00080008    .L.L.....L.L....	<= bad
40280000: ffffffff ffffffff ffffffff ffffffff    ................	<- good
40280010: ffffffff ffffffff ffffffff ffffffff    ................	<- good
40280020: ffffffff ffffffff ffffffff ffffffff    ................	<- good
40280030: ffffffff ffffffff ffffffff ffffffff    ................	<- good

Playing with CFI paramaters (like manually increasing  write  timeout
and/or  erase  timeout) does not change anything. Neither does adding
sync()  instructions  to   the   flash_read?()   and   flash_write?()
functions.

b) on 440EPx:

[Stefan: for testing please use the Sequoia board in the pollux VL.]

The CFI driver does not detect that it's writing to flash that is not
(sufficiently) erased:

=> md FC000000 10
fc000000: 00000000 00000000 00000000 00000000    ................
fc000010: 00000000 00000000 00000000 00000000    ................
fc000020: 00000000 00000000 00000000 00000000    ................
fc000030: 00000000 00000000 00000000 00000000    ................
=> mw.b 0 FF 400
=> md 0
00000000: ffffffff ffffffff ffffffff ffffffff    ................
00000010: ffffffff ffffffff ffffffff ffffffff    ................
00000020: ffffffff ffffffff ffffffff ffffffff    ................
00000030: ffffffff ffffffff ffffffff ffffffff    ................
=> cp.b 0 FC000000 400
Copy to Flash... done		<= should issue error message here!!!!
=> md FC000000
fc000000: 00000000 00000000 00000000 00000000    ................
fc000010: 00000000 00000000 00000000 00000000    ................
fc000020: 00000000 00000000 00000000 00000000    ................
fc000030: 00000000 00000000 00000000 00000000    ................
=> 

I consider this a major bug.


Any ideas what might cause such effects?

Best regards,
Viele Grüße,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Today is the yesterday you worried about tomorrow.




More information about the U-Boot mailing list