Author: hailfinger Date: 2009-12-17 05:22:40 +0100 (Thu, 17 Dec 2009) New Revision: 805
Modified: trunk/jedec.c Log: probe_jedec() checks the delay value and issues programmer_delay based on the value except for delays between single chip_writeb. If a chip has zero probe_delay, delays between chip_writeb should be skipped as well.
Signed-off-by: Sean Nelson audiohacked@gmail.com Acked-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Modified: trunk/jedec.c =================================================================== --- trunk/jedec.c 2009-12-17 04:21:12 UTC (rev 804) +++ trunk/jedec.c 2009-12-17 04:22:40 UTC (rev 805) @@ -96,11 +96,14 @@
/* Issue JEDEC Product ID Entry command */ chip_writeb(0xAA, bios + 0x5555); - programmer_delay(10); + if (probe_timing_enter) + programmer_delay(10); chip_writeb(0x55, bios + 0x2AAA); - programmer_delay(10); + if (probe_timing_enter) + programmer_delay(10); chip_writeb(0x90, bios + 0x5555); - programmer_delay(probe_timing_enter); + if (probe_timing_enter) + programmer_delay(probe_timing_enter);
/* Read product ID */ id1 = chip_readb(bios); @@ -122,11 +125,14 @@
/* Issue JEDEC Product ID Exit command */ chip_writeb(0xAA, bios + 0x5555); - programmer_delay(10); + if (probe_timing_exit) + programmer_delay(10); chip_writeb(0x55, bios + 0x2AAA); - programmer_delay(10); + if (probe_timing_exit) + programmer_delay(10); chip_writeb(0xF0, bios + 0x5555); - programmer_delay(probe_timing_exit); + if (probe_timing_exit) + programmer_delay(probe_timing_exit);
printf_debug("%s: id1 0x%02x, id2 0x%02x", __func__, largeid1, largeid2); if (!oddparity(id1))