+# ixo-usb-jtag - Emulation of a Altera Bus Blaster I on a Cypress FX2 IC.
#
-# Kolja Waschk's USB-JTAG
+# The ixo-usb-jtag firmware can be loaded onto a bunch of different hardware
+# including;
+# * Xilinx USB Platform Cable
+# * Many Digilent boards such as the Nexys, Nexys 2 and Atlys boards
+# * Many fpga4fun.com boards from such as the Saxo and Xylo boards
+# * The Numato Opsis
#
-# http://www.ixo.de/info/usb_jtag/
+# Original version - http://www.ixo.de/info/usb_jtag/
+# Updated version - http://ixo-jtag.sourceforge.net/
+# Newest version - http://github.com/mithro/ixo-usb-jtag
#
+# Procedure for using is;
+# * Get the ixo-usb-jtag firmware for your hardware (or build it yourself).
+# * Load the firmware using the fxload tool.
+# * Use openocd.
+#
+# Unless you burn the firmware into the EEPROM on your device, power cycling
+# will require you to reload the firmware using the fxload tool. This can be
+# automated by using udev rules (which can be found in the firmware
+# repository).
+#
+# Ubuntu packages built from mithro's version (with prebuilt firmware and udev
+# rules) can be found at
+# https://launchpad.net/~timvideos/+archive/ubuntu/fpga-support
+#
+# TODO: Refactor the usb_blaster driver to allow loading firmware using any low
+# level driver. Loading firmware is currently only supported on the ublast2
+# driver but ixo-usb-jtag requires the ftdi or ftd2xx driver.
interface usb_blaster
usb_blaster_vid_pid 0x16C0 0x06AD
-usb_blaster_device_desc "USB-JTAG-IF"
+usb_blaster_device_desc "Van Ooijen Technische Informatica"
+# ixo-usb-jtag is only compatible with the ublast1 protocol implemented via the
+# ftdi or ftd2xx modes, using ublast2 will cause openocd to hang.
+usb_blaster_lowlevel_driver ftdi