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(a)gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006(a)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))