[U-Boot-Users] CFI driver

Yuli Barcohen yuli at arabellasw.com
Wed Oct 20 22:19:44 CEST 2004


>>>>> York Sun writes:

    York> I am debugging flash driver for MPC8555CDS board. The driver
    York> is drivers/cfi_flash.c. I have two boards. One is rev 1.0,
    York> with AM29LV641D.  The other is rev 1.1, with AM29LV641M.

    York> The problem is polling DQ6 after programming. The current
    York> driver in U-boot 1.1.2 works well for AM29LV641M. As for
    York> AM29LV641D, the programming hangs after writing about 13KB. I
    York> track it down to "flash_is_busy()" function. When the problem
    York> occurs, the DQ6 keeps toggling. If I change the algorithm to
    York> polling DQ7, no problem occurs.

I'm working now with a board (Adder87x) having exactly the same flash
(AM29LV641DL) and the driver works perfectly. I suspect that the problem
is not in the chip but in specific configuration.

    York> Shawn has a similar problem
    York> http://lists.infradead.org/pipermail/linux-mtd/2004-March/009402.html.

Your board uses several chips in parallel to get wider bus. The same was
on Shawn's board. In older versions of Linux CFI driver I found a bug in
the polling algorithm when more than one chip is used. I just replaced
the driver with a newer version and now it works OK. It sounds like
similar (same?) bug in the U-Boot's CFI driver.

    York> Maybe we should use DQ7 rather than DQ6.

IMHO, no. Polling DQ6 is the standard for AMD-compatible flashes.

... 

-- 
========================================================================
 Yuli Barcohen       | Phone +972-9-765-1788 |  Software Project Leader
 yuli at arabellasw.com | Fax   +972-9-765-7494 | Arabella Software, Israel
========================================================================





More information about the U-Boot mailing list