[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