summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRuss Dill <Russ.Dill@gmail.com>2019-10-30 00:40:43 -0700
committerDavid Hendricks <david.hendricks@gmail.com>2019-12-01 22:23:08 +0000
commit7bd31a435b7c8f2b278b9e8233083ff2134abe2d (patch)
treea9f64423fa32bbb53adaa48eb08812d1274039b9
parente28d75ed7204d7fac2c0fac13978098530b0574e (diff)
downloadflashrom-7bd31a435b7c8f2b278b9e8233083ff2134abe2d.tar.gz
flashrom-7bd31a435b7c8f2b278b9e8233083ff2134abe2d.tar.bz2
flashrom-7bd31a435b7c8f2b278b9e8233083ff2134abe2d.zip
ft2232_spi: Add support for Tin Can Tools Flyswatter/Flyswatter 2
The Tin Can Tools Flyswatter and Flyswatter 2 have a FT2232H with a JTAG interface wired to port A. The buffers that drive the JTAG pins need to be enabled with an nOE signal from the FT2232H ADBUS6 and ADBUS7 pins. Flyswatter has an ARM-14 JTAG interface and Flyswatter 2 has an ARM-20 JTAG interface. Change-Id: I56b1fb76dcda32bb02980cd54a2853506bfc9dfd Signed-off-by: Russ Dill <Russ.Dill@gmail.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/36896 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
-rw-r--r--flashrom.8.tmpl3
-rw-r--r--ft2232_spi.c6
2 files changed, 8 insertions, 1 deletions
diff --git a/flashrom.8.tmpl b/flashrom.8.tmpl
index 27f38465a..8ef2cbf01 100644
--- a/flashrom.8.tmpl
+++ b/flashrom.8.tmpl
@@ -758,7 +758,8 @@ Atmel AT25128, AT25256, Micron (ST) M95128, M95256 and OnSemi (Catalyst) CAT25CS
This module supports various programmers based on FTDI FT2232/FT4232H/FT232H chips including the DLP Design
DLP-USB1232H, openbiosprog-spi, Amontec JTAGkey/JTAGkey-tiny/JTAGkey-2, Dangerous Prototypes Bus Blaster,
Olimex ARM-USB-TINY/-H, Olimex ARM-USB-OCD/-H, OpenMoko Neo1973 Debug board (V2+), TIAO/DIYGADGET USB
-Multi-Protocol Adapter (TUMPA), TUMPA Lite, GOEPEL PicoTAP and Google Servo v1/v2.
+Multi-Protocol Adapter (TUMPA), TUMPA Lite, GOEPEL PicoTAP, Google Servo v1/v2 and Tin Can Tools
+Flyswatter/Flyswatter 2.
.sp
An optional parameter specifies the controller
type, channel/interface/port and GPIO-based chip select it should support. For that you have to use the
diff --git a/ft2232_spi.c b/ft2232_spi.c
index 34b43ddee..5bdc2a7b2 100644
--- a/ft2232_spi.c
+++ b/ft2232_spi.c
@@ -269,6 +269,12 @@ int ft2232_spi_init(void)
} else if (!strcasecmp(arg, "google-servo-v2-legacy")) {
ft2232_vid = GOOGLE_VID;
ft2232_type = GOOGLE_SERVO_V2_PID0;
+ } else if (!strcasecmp(arg, "flyswatter")) {
+ ft2232_type = FTDI_FT2232H_PID;
+ channel_count = 2;
+ /* Flyswatter and Flyswatter-2 require GPIO bits 0x80
+ * and 0x40 to be driven low to enable output buffers */
+ pindir = 0xcb;
} else {
msg_perr("Error: Invalid device type specified.\n");
free(arg);