# SPDX-License-Identifier: GPL-2.0-or-later

# ixo-usb-jtag - Emulation of a Altera Bus Blaster I on a Cypress FX2 IC.
#
# 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
#
# 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 driver.

adapter driver usb_blaster
usb_blaster vid_pid 0x16C0 0x06AD
usb_blaster device_desc "Van Ooijen Technische Informatica"
# ixo-usb-jtag is only compatible with the ublast1 protocol implemented via the
# ftdi modes, using ublast2 will cause openocd to hang.
usb_blaster lowlevel_driver ftdi
