1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-27 15:12:36 +02:00

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>
This commit is contained in:
Sean Nelson 2009-12-17 04:22:40 +00:00 committed by Carl-Daniel Hailfinger
parent d3abc651bc
commit c12fc71f74

18
jedec.c
View File

@ -96,11 +96,14 @@ int probe_jedec(struct flashchip *flash)
/* Issue JEDEC Product ID Entry command */ /* Issue JEDEC Product ID Entry command */
chip_writeb(0xAA, bios + 0x5555); chip_writeb(0xAA, bios + 0x5555);
programmer_delay(10); if (probe_timing_enter)
programmer_delay(10);
chip_writeb(0x55, bios + 0x2AAA); chip_writeb(0x55, bios + 0x2AAA);
programmer_delay(10); if (probe_timing_enter)
programmer_delay(10);
chip_writeb(0x90, bios + 0x5555); chip_writeb(0x90, bios + 0x5555);
programmer_delay(probe_timing_enter); if (probe_timing_enter)
programmer_delay(probe_timing_enter);
/* Read product ID */ /* Read product ID */
id1 = chip_readb(bios); id1 = chip_readb(bios);
@ -122,11 +125,14 @@ int probe_jedec(struct flashchip *flash)
/* Issue JEDEC Product ID Exit command */ /* Issue JEDEC Product ID Exit command */
chip_writeb(0xAA, bios + 0x5555); chip_writeb(0xAA, bios + 0x5555);
programmer_delay(10); if (probe_timing_exit)
programmer_delay(10);
chip_writeb(0x55, bios + 0x2AAA); chip_writeb(0x55, bios + 0x2AAA);
programmer_delay(10); if (probe_timing_exit)
programmer_delay(10);
chip_writeb(0xF0, bios + 0x5555); 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); printf_debug("%s: id1 0x%02x, id2 0x%02x", __func__, largeid1, largeid2);
if (!oddparity(id1)) if (!oddparity(id1))