annotate eeproms/jtag-unbuf @ 74:0514e3520be3

doc/FTDI-EEPROM-tools: update for current state of FT232R support
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 16 Sep 2020 23:19:50 +0000
parents ace3ed1d5ddf
children 1d38af6d7be8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
32
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 # This EEPROM configuration is meant to be programmed into COTS FT2232D
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 # breakout boards used as unbuffered JTAG adapters. The custom USB VID:PID
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 # belongs to Falconia Partners LLC; we hereby allow the community to program
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 # this PID into generic FT2232D boards (not made by Falconia) as long as
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 # it is used for the present purpose with this full EEPROM configuration.
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 #
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 # The purpose of having a custom USB ID is to prevent the Linux kernel
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 # from treating this FT2232D instance as a dual UART and creating a
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 # ttyUSB device for Channel A; if you wish to use Channel B as a UART
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 # (which is still available for that purpose), you will need to make a
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 # one-liner patch to the ftdi_sio driver, telling it to treat this USB ID
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 # like other JTAG+UART adapters, creating a ttyUSB device only for Channel B.
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 vid 0x0403 # FTDI
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 pid 0x7151 # Allocated by FTDI to Falconia Partners LLC
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 manuf FTDI
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 product Unbuffered JTAG adapter
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 # We program Channel A to come up in the 245 FIFO mode prior to being
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 # switched into MPSSE mode by OpenOCD, as opposed to the default 232 UART mode.
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 # If the FT2232D chip's ADBUS pins are connected directly to the JTAG target
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 # without a buffer (what we mean by an unbuffered JTAG adapter), the default
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 # 232 UART mode is NOT safe, as it will produce a fight on the ADBUS2 line
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 # between the UART RTS output and the target's TDO output. 245 FIFO mode is
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 # expected to be safer, as all 8 ADBUS lines will be inputs for as long as
52
ace3ed1d5ddf Unbuffered FT2232x JTAG article written
Mychaela Falconia <falcon@freecalypso.org>
parents: 32
diff changeset
26 # the ACBUS2 line is left unconnected and not driven by anything.
32
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 byte00 0x01 # Channel A: FIFO mode, D2XX driver
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 byte01 0x08 # Channel B: UART mode, VCP driver