cfi_probe geometry problem

David H. Lynch Jr. dhlii at
Thu Nov 20 12:02:23 EST 2008

    I am having difficulty getting cfi_probe working for the flash in my

    I am trying to complete a map driver for Spansion S29GL512N NOR
flash in Pico cards.
    The flash shared between two CPU's so a mapping driver is required
to enable and disable it.

    I have most of the driver code working and after setting up data
structures in probe I can issue a QRY as

    d.x[0] = 0xf0;
    (map->write) (map, d, 0);
    d.x[0] = 0xff;
    (map->write) (map, d, 0);
    d.x[0] = 0x98;
    (map->write) (map, d, 0x55);
    pico_flash_copy_from(map, &buf, 0 , 64);
    if(buf[0x20] != 'Q' && buf[0x22] != 'R' && buf[0x24] != 'Y')
        DBG("Flash Error QRY failed\n");
        DBG("Flash QRY %d\n");

    However cfi_probe fails. this seems to be some type of geometry
issue. When I watch CFI probe it either sends the query request to the
wrong addresses, or it checks the wrong addresses for the results.

    A clue would be appreciated.


Dave Lynch 					  	    DLA Systems
Software Development:  				         Embedded Linux
717.627.3770 	       dhlii at
fax: 1.253.369.9244 			           Cell: 1.717.587.7774
Over 25 years' experience in platforms, languages, and technologies too numerous to list.

"Any intelligent fool can make things bigger and more complex... It takes a touch of genius - and a lot of courage to move in the opposite direction."
Albert Einstein

More information about the linux-mtd mailing list