cfi_probe geometry problem
David H. Lynch Jr.
dhlii at dlasys.net
Thu Nov 20 12:02:23 EST 2008
I am having difficulty getting cfi_probe working for the flash in my
board.
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");
else
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 dlasys.net http://www.dlasys.net
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