diff options
| -rw-r--r-- | flashrom.8 | 7 | ||||
| -rw-r--r-- | ft2232_spi.c | 29 | 
2 files changed, 31 insertions, 5 deletions
| @@ -183,7 +183,7 @@ cards)"  .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 @@ type and interface/port it should support. For that you have to use the  .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 f37a6986..7416e5bc 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 @@ int ft2232_spi_init(void)  			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); | 
