changeset 32:60b8cf977c3f

unbuffered JTAG adapters: ID assigned and EEPROM config created
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 21 Apr 2019 06:27:11 +0000
parents 16b625911e19
children dc334ef19cd4
files doc/USB-IDs eeproms/fc-jtag eeproms/jtag-unbuf
diffstat 3 files changed, 35 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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
--- 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
--- /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