Add support for Olimex programmers to ft2232_spi
- add support for Olimex' ARM-USB-TINY, ARM-USB-TINY-H, ARM-USB-OCD
AND ARM-USB-OCD-H and adjust man page - minor string change ("First
International Computer, Inc." -> "FIC")
Corresponding to flashrom svn r1331.
Signed-off-by: Pete Batard <pbatard@gmail.com>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
diff --git a/flashrom.8 b/flashrom.8
index 677e8db..41a1776 100644
--- a/flashrom.8
+++ b/flashrom.8
@@ -183,7 +183,7 @@
.BR "* it87spi" " (for flash ROMs behind an ITE IT87xx Super I/O LPC/SPI \
translation unit)"
.sp
-.BR "* ft2232_spi" " (for SPI flash ROMs attached to a FT2232H/FT4232H/JTAGkey \
+.BR "* ft2232_spi" " (for SPI flash ROMs attached to an FT2232/FT4232H family \
based USB SPI programmer)"
.sp
.BR "* serprog" " (for flash ROMs attached to a programmer speaking serprog)"
@@ -361,8 +361,9 @@
.sp
syntax where
.B model
-can be any of
-.BR 2232H ", " JTAGkey ", or " 4232H
+can be one of
+.BR 2232H ", " 4232H ", " jtagkey ", " openmoko ", " arm-usb-tiny ", " \
+arm-usb-tiny-h ", " arm-usb-ocd " or " arm-usb-ocd-h
and
.B interface
can be any of
diff --git a/ft2232_spi.c b/ft2232_spi.c
index f37a698..7416e5b 100644
--- a/ft2232_spi.c
+++ b/ft2232_spi.c
@@ -38,13 +38,22 @@
#define FIC_VID 0x1457
#define OPENMOKO_DBGBOARD_PID 0x5118
+#define OLIMEX_VID 0x15BA
+#define OLIMEX_ARM_OCD_PID 0x0003
+#define OLIMEX_ARM_TINY_PID 0x0004
+#define OLIMEX_ARM_OCD_H_PID 0x002B
+#define OLIMEX_ARM_TINY_H_PID 0x002A
+
const struct usbdev_status devs_ft2232spi[] = {
{FTDI_VID, FTDI_FT2232H_PID, OK, "FTDI", "FT2232H"},
{FTDI_VID, FTDI_FT4232H_PID, OK, "FTDI", "FT4232H"},
{FTDI_VID, AMONTEC_JTAGKEY_PID, OK, "Amontec", "JTAGkey"},
- {FIC_VID, OPENMOKO_DBGBOARD_PID, OK,
- "First International Computer, Inc.",
+ {FIC_VID, OPENMOKO_DBGBOARD_PID, OK, "FIC",
"OpenMoko Neo1973 Debug board (V2+)"},
+ {OLIMEX_VID, OLIMEX_ARM_OCD_PID, NT, "Olimex", "ARM-USB-OCD"},
+ {OLIMEX_VID, OLIMEX_ARM_TINY_PID, OK, "Olimex", "ARM-USB-TINY"},
+ {OLIMEX_VID, OLIMEX_ARM_OCD_H_PID, NT, "Olimex", "ARM-USB-OCD-H"},
+ {OLIMEX_VID, OLIMEX_ARM_TINY_H_PID, NT, "Olimex", "ARM-USB-TINY-H"},
{},
};
@@ -167,6 +176,22 @@
ft2232_vid = FIC_VID;
ft2232_type = OPENMOKO_DBGBOARD_PID;
ft2232_interface = INTERFACE_A;
+ } else if (!strcasecmp(arg, "arm-usb-ocd")) {
+ ft2232_vid = OLIMEX_VID;
+ ft2232_type = OLIMEX_ARM_OCD_PID;
+ ft2232_interface = INTERFACE_A;
+ } else if (!strcasecmp(arg, "arm-usb-tiny")) {
+ ft2232_vid = OLIMEX_VID;
+ ft2232_type = OLIMEX_ARM_TINY_PID;
+ ft2232_interface = INTERFACE_A;
+ } else if (!strcasecmp(arg, "arm-usb-ocd-h")) {
+ ft2232_vid = OLIMEX_VID;
+ ft2232_type = OLIMEX_ARM_OCD_H_PID;
+ ft2232_interface = INTERFACE_A;
+ } else if (!strcasecmp(arg, "arm-usb-tiny-h")) {
+ ft2232_vid = OLIMEX_VID;
+ ft2232_type = OLIMEX_ARM_TINY_H_PID;
+ ft2232_interface = INTERFACE_A;
} else {
msg_perr("Error: Invalid device type specified.\n");
free(arg);