[flashrom] [PATCH] TIAO/DIYGADGET USB Multi-Protocol Adapter (TUMPA) support

Stefan Tauner stefan.tauner at student.tuwien.ac.at
Fri Oct 7 00:11:09 CEST 2011


On Tue, 20 Sep 2011 23:32:46 +0200
Uwe Hermann <uwe at hermann-uwe.de> wrote:

> TIAO/DIYGADGET USB Multi-Protocol Adapter (TUMPA) support.
> 
> Thanks to TIAO/DIYGADGET for sponsoring a test device!
> 
> This is an FTDI FT2232H based device which provides an easily accessible JTAG,
> SPI, I2C, serial breakout. The SPI part can be used to flash SPI flash chips
> using flashrom.
> 
> http://www.diygadget.com/tiao-usb-multi-protocol-adapter-jtag-spi-i2c-serial.html
> http://www.tiaowiki.com/w/TIAO_USB_Multi_Protocol_Adapter_User%27s_Manual#SPI_Connector_1
> 
> There are two SPI connectors (pin headers) on the board: SPI1, which is
> connected to the FT2232H's A interface, and SPI2, which is connected to the
> chip's B interface. Both can be used to flash SPI chips:
> 
>  flashrom -p ft2232_spi:type=tumpa,port=A
>  flashrom -p ft2232_spi:type=tumpa,port=B
> 
> The default interface is A, so for SPI1 you can also just write:
> 
>  flashrom -p ft2232_spi:type=tumpa
> 
> I tested all operations on both interfaces, everything works fine.
> 
> Signed-off-by: Uwe Hermann <uwe at hermann-uwe.de>
> 
> Index: util/z60_flashrom.rules
> ===================================================================
> --- util/z60_flashrom.rules	(Revision 1432)
> +++ util/z60_flashrom.rules	(Arbeitskopie)
> @@ -72,4 +72,8 @@
>  # http://olimex.com/dev/arm-usb-tiny-h.html
>  ATTRS{idVendor}=="15ba", ATTRS{idProduct}=="002a", MODE="664", GROUP="plugdev"
>  
> +# TIAO/DIYGADGET USB Multi-Protocol Adapter (TUMPA)
> +# http://www.diygadget.com/tiao-usb-multi-protocol-adapter-jtag-spi-i2c-serial.html
> +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="8a98", MODE="664", GROUP="plugdev"
> +
>  LABEL="flashrom_rules_end"
> Index: flashrom.8
> ===================================================================
> --- flashrom.8	(Revision 1432)
> +++ flashrom.8	(Arbeitskopie)
> @@ -199,7 +199,8 @@
>  based USB SPI programmer), including the DLP Design DLP-USB1232H, \
>  FTDI FT2232H Mini-Module, FTDI FT4232H Mini-Module, openbiosprog-spi, Amontec \
>  JTAGkey/JTAGkey-tiny/JTAGkey-2, Dangerous Prototypes Bus Blaster, \
> -Olimex ARM-USB-TINY/-H, and Olimex ARM-USB-OCD/-H."
> +Olimex ARM-USB-TINY/-H, Olimex ARM-USB-OCD/-H, and TIAO/DIYGADGET USB
> +Multi-Protocol Adapter (TUMPA).
>  .sp
>  .BR "* serprog" " (for flash ROMs attached to a programmer speaking serprog), \
>  including AVR flasher by Urja Rannikko, AVR flasher by eightdot, \
> @@ -441,7 +442,8 @@
>  .B model
>  can be
>  .BR 2232H ", " 4232H ", " jtagkey ", " busblaster ", " openmoko ", " \
> -arm-usb-tiny ", " arm-usb-tiny-h ", " arm-usb-ocd " or " arm-usb-ocd-h
> +arm-usb-tiny ", " arm-usb-tiny-h ", " arm-usb-ocd ", " arm-usb-ocd-h \
> +", or " tumpa
>  and
>  .B interface
>  can be
> Index: ft2232_spi.c
> ===================================================================
> --- ft2232_spi.c	(Revision 1432)
> +++ ft2232_spi.c	(Arbeitskopie)
> @@ -33,6 +33,7 @@
>  #define FTDI_FT2232H_PID	0x6010
>  #define FTDI_FT4232H_PID	0x6011
>  #define AMONTEC_JTAGKEY_PID	0xCFF8
> +#define TIAO_TUMPA_PID		0x8a98

shouldnt this be sorted by ID?
hm and shouldnt it be TIAO_UMPA_PID instead? :)

>  
>  #define FIC_VID			0x1457
>  #define OPENMOKO_DBGBOARD_PID	0x5118
> @@ -47,6 +48,7 @@
>  	{FTDI_VID, FTDI_FT2232H_PID, OK, "FTDI", "FT2232H"},
>  	{FTDI_VID, FTDI_FT4232H_PID, OK, "FTDI", "FT4232H"},
>  	{FTDI_VID, AMONTEC_JTAGKEY_PID, OK, "Amontec", "JTAGkey"},
> +	{FTDI_VID, TIAO_TUMPA_PID, OK, "TIAO", "USB Multi-Protocol Adapter"},
>  	{FIC_VID, OPENMOKO_DBGBOARD_PID, OK, "FIC",
>  		"OpenMoko Neo1973 Debug board (V2+)"},
>  	{OLIMEX_VID, OLIMEX_ARM_OCD_PID, NT, "Olimex", "ARM-USB-OCD"},
> @@ -172,6 +174,10 @@
>  			ft2232_interface = INTERFACE_A;
>  			cs_bits = 0x18;
>  			pindir = 0x1b;
> +		} else if (!strcasecmp(arg, "tumpa")) {
> +			/* Interface A is conn. SPI1, B is conn. SPI2. */

i think dropping the "conn."s would make it more readable.

> +			ft2232_type = TIAO_TUMPA_PID;
> +			ft2232_interface = INTERFACE_A;
>  		} else if (!strcasecmp(arg, "busblaster")) {
>  			/* In its default configuration it is a jtagkey clone */
>  			ft2232_type = FTDI_FT2232H_PID;

good work, thanks! :)
Acked-by: Stefan Tauner <stefan.tauner at student.tuwien.ac.at>
-- 
Kind regards/Mit freundlichen Grüßen, Stefan Tauner




More information about the flashrom mailing list