From c12fc71f74530902c04ea3a2c158d872d2b4ffea Mon Sep 17 00:00:00 2001 From: Sean Nelson <audiohacked@gmail.com> Date: Thu, 17 Dec 2009 04:22:40 +0000 Subject: [PATCH] Skip all delays in probe_jedec() if probe_delay is 0 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. Corresponding to flashrom svn r805. Signed-off-by: Sean Nelson <audiohacked@gmail.com> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> --- jedec.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/jedec.c b/jedec.c index 83a0b83..8ba7b06 100644 --- a/jedec.c +++ b/jedec.c @@ -96,11 +96,14 @@ int probe_jedec(struct flashchip *flash) /* 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 @@ int probe_jedec(struct flashchip *flash) /* 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)) -- GitLab