FreeCalypso > hg > fc-usbser-tools
annotate eeproms/jtag-unbuf @ 68:5cbde3c80c24
fteeprom-{erase,prog}: detach logic: change to detach by default
As it turns out, detaching all ttyUSB interfaces of a multichannel device
does not require outside knowledge of how many channels there are, as in
our previous -d option design that is being removed here - instead we can
read the bNumInterfaces constant from the USB device's config descriptor
and thus know how many interfaces there are in total. Based on this
discovery, change the design of fteeprom-{erase,prog} as follows:
* remove -d option;
* flip the default to where we detach all interfaces by default;
* add -n option to NOT detach any interfaces.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 13 Sep 2023 06:37:03 +0000 |
parents | 434806360d91 |
children | d46ea7a3fa0c |
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 |