summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShik Chen <shik@chromium.org>2012-09-17 00:40:54 +0000
committerStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>2012-09-17 00:40:54 +0000
commit14fbc4b40045c6fcb345da52ab048d961fc15c6c (patch)
treea1a39f7057203e00122fba8868097a0a2d246a88
parent5bfef9d3211cc8a6d3ea3fae058c704f8ace4368 (diff)
downloadast2050-flashrom-14fbc4b40045c6fcb345da52ab048d961fc15c6c.zip
ast2050-flashrom-14fbc4b40045c6fcb345da52ab048d961fc15c6c.tar.gz
Allow to select FTDI device by serial number
Requires libftdi > 0.5 (2004, commit ID a8f46ddc1595b1b07abfcce613acdafe5b8ddf9d). Idea stolen from chromiumos commit 5eb5624aeb7e2ee483e2fa0823c4e634c8ea3e68: http://git.chromium.org/gitweb/?p=chromiumos/third_party/flashrom.git;a=commit;h=5eb5624aeb7e2ee483e2fa0823c4e634c8ea3e68 Corresponding to flashrom svn r1599. Signed-off-by: Shik Chen <shik@chromium.org> Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
-rw-r--r--flashrom.89
-rw-r--r--ft2232_spi.c4
2 files changed, 12 insertions, 1 deletions
diff --git a/flashrom.8 b/flashrom.8
index bf671c2..cf07ccf 100644
--- a/flashrom.8
+++ b/flashrom.8
@@ -573,6 +573,15 @@ The default model is
and the default interface is
.BR B .
.sp
+If there is more than one ft2232_spi-compatible device connected, you can select which one should be used by
+specifying its serial number with the
+.sp
+.B " flashrom \-p ft2232_spi:serial=number"
+.sp
+syntax where
+.B number
+is the serial number of the device (which can be found for example in the output of lsusb -v).
+.sp
All models supported by the ft2232_spi driver can configure the SPI clock rate by setting a divisor. The
expressible divisors are all even numbers between 2 and 2^17 (=131072) resulting in SPI clock frequencies of
6 MHz down to about 92 Hz for 12 MHz inputs. The default divisor is set to 2, but you can use another one by
diff --git a/ft2232_spi.c b/ft2232_spi.c
index edea1e6..1b80674 100644
--- a/ft2232_spi.c
+++ b/ft2232_spi.c
@@ -283,7 +283,9 @@ int ft2232_spi_init(void)
msg_perr("Unable to select interface: %s\n", ftdic->error_str);
}
- f = ftdi_usb_open(ftdic, ft2232_vid, ft2232_type);
+ arg = extract_programmer_param("serial");
+ f = ftdi_usb_open_desc(ftdic, ft2232_vid, ft2232_type, NULL, arg);
+ free(arg);
if (f < 0 && f != -5) {
msg_perr("Unable to open FTDI device: %d (%s)\n", f,
OpenPOWER on IntegriCloud