# HG changeset patch # User Mychaela Falconia # Date 1555828031 0 # Node ID 60b8cf977c3fc8f3aebe756ba76dfbdaa0021046 # Parent 16b625911e19b30a5999ef8efead90f24c15a0a0 unbuffered JTAG adapters: ID assigned and EEPROM config created diff -r 16b625911e19 -r 60b8cf977c3f doc/USB-IDs --- a/doc/USB-IDs Sun Apr 21 04:14:00 2019 +0000 +++ b/doc/USB-IDs Sun Apr 21 06:27:11 2019 +0000 @@ -5,7 +5,7 @@ following assignments have been made so far: 0403:7150 FreeCalypso UART+JTAG adapter (hw currently in development) -0403:7151 not assigned yet +0403:7151 given to community for FT2232D-based unbuffered JTAG adapters 0403:7152 not assigned yet 0403:7153 not assigned yet 0403:7154 not assigned yet diff -r 16b625911e19 -r 60b8cf977c3f eeproms/fc-jtag --- a/eeproms/fc-jtag Sun Apr 21 04:14:00 2019 +0000 +++ b/eeproms/fc-jtag Sun Apr 21 06:27:11 2019 +0000 @@ -10,6 +10,11 @@ # configuration specific to our particular wiring of the reset and other # control signals that accompany JTAG, making our FreeCalypso UART+JTAG # adapter easier to identify among other FTDI-based USB devices. +# +# The present config or the USB ID contained therein MUST NOT be programmed +# into generic off-the-shelf FT2232x breakout boards - please see the +# jtag-unbuf config for that purpose. The present config and USB ID +# may only be used by Falconia Partners LLC with our custom hardware. vid 0x0403 # FTDI pid 0x7150 # Allocated by FTDI to Falconia Partners LLC diff -r 16b625911e19 -r 60b8cf977c3f eeproms/jtag-unbuf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eeproms/jtag-unbuf Sun Apr 21 06:27:11 2019 +0000 @@ -0,0 +1,29 @@ +# This EEPROM configuration is meant to be programmed into COTS FT2232D +# breakout boards used as unbuffered JTAG adapters. The custom USB VID:PID +# belongs to Falconia Partners LLC; we hereby allow the community to program +# this PID into generic FT2232D boards (not made by Falconia) as long as +# it is used for the present purpose with this full EEPROM configuration. +# +# The purpose of having a custom USB ID is to prevent the Linux kernel +# from treating this FT2232D instance as a dual UART and creating a +# ttyUSB device for Channel A; if you wish to use Channel B as a UART +# (which is still available for that purpose), you will need to make a +# one-liner patch to the ftdi_sio driver, telling it to treat this USB ID +# like other JTAG+UART adapters, creating a ttyUSB device only for Channel B. + +vid 0x0403 # FTDI +pid 0x7151 # Allocated by FTDI to Falconia Partners LLC +manuf FTDI +product Unbuffered JTAG adapter + +# We program Channel A to come up in the 245 FIFO mode prior to being +# switched into MPSSE mode by OpenOCD, as opposed to the default 232 UART mode. +# If the FT2232D chip's ADBUS pins are connected directly to the JTAG target +# without a buffer (what we mean by an unbuffered JTAG adapter), the default +# 232 UART mode is NOT safe, as it will produce a fight on the ADBUS2 line +# between the UART RTS output and the target's TDO output. 245 FIFO mode is +# expected to be safer, as all 8 ADBUS lines will be inputs for as long as +# ACBUS2 and ACBUS2 are left unconnected and not driven by anything. + +byte00 0x01 # Channel A: FIFO mode, D2XX driver +byte01 0x08 # Channel B: UART mode, VCP driver