annotate eeproms/jtag-unbuf @ 80:1d38af6d7be8

0403:7151 USB ID support in mainline Linux
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 13 Oct 2020 04:29:10 +0000
parents ace3ed1d5ddf
children
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
80
1d38af6d7be8 0403:7151 USB ID support in mainline Linux
Mychaela Falconia <falcon@freecalypso.org>
parents: 52
diff changeset
8 # ftdi_sio driver from treating this FT2232D instance as a dual UART and
1d38af6d7be8 0403:7151 USB ID support in mainline Linux
Mychaela Falconia <falcon@freecalypso.org>
parents: 52
diff changeset
9 # creating a ttyUSB device for Channel A. If you wish to use Channel B
1d38af6d7be8 0403:7151 USB ID support in mainline Linux
Mychaela Falconia <falcon@freecalypso.org>
parents: 52
diff changeset
10 # as a UART (which is still available for that purpose), you will need to use
1d38af6d7be8 0403:7151 USB ID support in mainline Linux
Mychaela Falconia <falcon@freecalypso.org>
parents: 52
diff changeset
11 # a Linux kernel version with commit 6cf87e5edd9944e1d3b6efd966ea401effc304ee
1d38af6d7be8 0403:7151 USB ID support in mainline Linux
Mychaela Falconia <falcon@freecalypso.org>
parents: 52
diff changeset
12 # included, or apply that commit locally if your kernel version does not
1d38af6d7be8 0403:7151 USB ID support in mainline Linux
Mychaela Falconia <falcon@freecalypso.org>
parents: 52
diff changeset
13 # include it.
32
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 vid 0x0403 # FTDI
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 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
17 manuf FTDI
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 product Unbuffered JTAG adapter
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 # 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
21 # 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
22 # 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
23 # 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
24 # 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
25 # 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
26 # 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
27 # 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
28
60b8cf977c3f unbuffered JTAG adapters: ID assigned and EEPROM config created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 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
30 byte01 0x08 # Channel B: UART mode, VCP driver