2nd CFI chip detection fails sometimes

Stephane Laroche stephane.laroche at colubris.com
Mon Aug 7 12:21:51 EDT 2000


You could try to reset the chip before starting a CFI probe.

Eg.
#if defined(CFIDEV_INTERLEAVE_2)
		ofs = cfi_send_cmd(0xFF, base, map, CFIDEV_INTERLEAVE_2,
CFI_DEVICETYPE_X8, &tmp);
		cfi_send_cmd(0x98, base, map, CFIDEV_INTERLEAVE_2, CFI_DEVICETYPE_X8,
NULL);

This should put the chips in the right state.

-Stephane

-----Original Message-----
From: owner-mtd at infradead.org [mailto:owner-mtd at infradead.org]On Behalf
Of David Vrabel
Sent: Monday, August 07, 2000 10:31
To: mtd at infradead.org
Subject: 2nd CFI chip detection fails sometimes


Hi,

In cfi_probe.c (line 189)

		/* put back previous value, in case we're operating on RAM... */
		map->write16(map, tmp, base+ofs); <-- error here
#endif /* CFIDEV_INTERLEAVE_1 */
#if defined(CFIDEV_INTERLEAVE_2)
		ofs = cfi_send_cmd(0x98, base, map, CFIDEV_INTERLEAVE_2,
CFI_DEVICETYPE_X8, &tmp);

The line marked error causes problems because it can put the flash chip
into an error state preventing correct detection.  We need some way of
knowing if it's RAM before we do the write.  Suggestions welcome!

David Vrabel



To unsubscribe, send "unsubscribe mtd" to majordomo at infradead.org



To unsubscribe, send "unsubscribe mtd" to majordomo at infradead.org



More information about the linux-mtd mailing list