summaryrefslogtreecommitdiffstats
path: root/dediprog.c
diff options
context:
space:
mode:
authorNico Huber <nico.huber@secunet.com>2012-06-16 00:02:27 +0000
committerCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2012-06-16 00:02:27 +0000
commit4099a8a891cabc3f38f6c7dc60bc71a1fd76ec8a (patch)
tree8faa91383e0fb7d0634830e5d73cdd1fd0dc8f27 /dediprog.c
parent7bca126561b80f626dea269d7a6284a7cde0a8ed (diff)
downloadflashrom-4099a8a891cabc3f38f6c7dc60bc71a1fd76ec8a.tar.gz
flashrom-4099a8a891cabc3f38f6c7dc60bc71a1fd76ec8a.tar.bz2
flashrom-4099a8a891cabc3f38f6c7dc60bc71a1fd76ec8a.zip
Add voltage change delays to dediprog driver
Some investigations have shown that the original dediprog driver waits about 200ms after setting voltage up and before setting voltage down. This patch adds those delays. It helps flash chips to come up in time. Corresponding to flashrom svn r1544. Signed-off-by: Nico Huber <nico.huber@secunet.com> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Diffstat (limited to 'dediprog.c')
-rw-r--r--dediprog.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/dediprog.c b/dediprog.c
index df8af6155..cdd27b099 100644
--- a/dediprog.c
+++ b/dediprog.c
@@ -131,6 +131,10 @@ static int dediprog_set_spi_voltage(int millivolt)
msg_pdbg("Setting SPI voltage to %u.%03u V\n", millivolt / 1000,
millivolt % 1000);
+ if (voltage_selector == 0) {
+ /* Wait some time as the original driver does. */
+ programmer_delay(200 * 1000);
+ }
ret = usb_control_msg(dediprog_handle, 0x42, 0x9, voltage_selector,
0xff, NULL, 0x0, DEFAULT_TIMEOUT);
if (ret != 0x0) {
@@ -138,6 +142,10 @@ static int dediprog_set_spi_voltage(int millivolt)
voltage_selector);
return 1;
}
+ if (voltage_selector != 0) {
+ /* Wait some time as the original driver does. */
+ programmer_delay(200 * 1000);
+ }
return 0;
}