annotate eeproms/jtag-unbuf @ 44:5160f6717903

libuwrap: implement function to claim/unbind all interfaces
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 11 Sep 2023 02:27:11 +0000
parents 434806360d91
children d46ea7a3fa0c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 # This EEPROM configuration is meant to be programmed into COTS FT2232D
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 # breakout boards used as unbuffered JTAG adapters. The custom USB VID:PID
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 # belongs to Falconia Partners LLC; we hereby allow the community to program
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 # this PID into generic FT2232D boards (not made by Falconia) as long as
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 # it is used for the present purpose with this full EEPROM configuration.
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 #
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 # The purpose of having a custom USB ID is to prevent the Linux kernel
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 # ftdi_sio driver from treating this FT2232D instance as a dual UART and
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 # creating a ttyUSB device for Channel A. If you wish to use Channel B
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 # as a UART (which is still available for that purpose), you will need to use
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 # a Linux kernel version with commit 6cf87e5edd9944e1d3b6efd966ea401effc304ee
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 # included, or apply that commit locally if your kernel version does not
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 # include it.
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 vid 0x0403 # FTDI
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 pid 0x7151 # Allocated by FTDI to Falconia Partners LLC
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 manuf FTDI
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 product Unbuffered JTAG adapter
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 # We program Channel A to come up in the 245 FIFO mode prior to being
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 # switched into MPSSE mode by OpenOCD, as opposed to the default 232 UART mode.
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 # If the FT2232D chip's ADBUS pins are connected directly to the JTAG target
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 # without a buffer (what we mean by an unbuffered JTAG adapter), the default
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 # 232 UART mode is NOT safe, as it will produce a fight on the ADBUS2 line
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 # between the UART RTS output and the target's TDO output. 245 FIFO mode is
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 # expected to be safer, as all 8 ADBUS lines will be inputs for as long as
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 # the ACBUS2 line is left unconnected and not driven by anything.
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 byte00 0x01 # Channel A: FIFO mode, D2XX driver
434806360d91 eeproms: subset import from freecalypso-hwlab
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 byte01 0x08 # Channel B: UART mode, VCP driver