annotate doc/Shipped-EEPROM-configs @ 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 825d3303b886
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
37
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 There are a number of ready-made FTDI EEPROM config files shipped with
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 fc-usbser-tools package, intended to serve as inputs to ftee-gen* tools. This
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 article describes these shipped EEPROM configs.
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 duart28c and duart28s
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 =====================
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 FreeCalypso DUART28 is an FT2232D-based custom hardware adapter produced in
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 year 2020. There are two valid EEPROM configs for this adapter, named DUART28C
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 and DUART28S - see DUART28-EEPROM-config article for further details.
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 ft2232-example
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 ==============
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 This config file is an example EEPROM config for FT2232x chips, valid for both
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 FT2232C/D and FT2232H. It is intended to serve as a starting point for custom
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 FT2232x EEPROM configurations.
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 ft232r-example
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 ==============
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 This config file is an example EEPROM config for FT232R. It is intended to
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 serve as a starting point for custom FT232R EEPROM configs.
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 icestick
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 ========
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 Lattice iCEstick is a handy FPGA board with an FT2232H USB interface chip,
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 supporting SPI programming via MPSSE on Channel A and UART communication with
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 user logic via FT2232H Channel B. However, instead of programming this FT2232H
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 chip's EEPROM with a distinctive USB VID:PID which Linux kernel ftdi_sio driver
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 can recognize as a JTAG quirk, Lattice ships these boards with blank EEPROMs,
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 causing the usual well-known problems with unquirked ftdi_sio binding.
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 Our supplied EEPROM config named "icestick" is intended as the solution:
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 program it into the EEPROM on your iCEstick board, and the binding of ftdi_sio
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 driver becomes sensible, with a ttyUSB device created only for Channel B.
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 jtag-unbuf
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 ==========
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 This EEPROM config is meant for generic (non-specialized) FT2232D breakout
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 boards used as unbuffered JTAG adapters, as described in this old guide
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 from 2019:
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 https://www.freecalypso.org/hg/freecalypso-hwlab/file/tip/doc/Unbuffered-FT2232x-JTAG
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 mcu-host-bus
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 ============
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 This EEPROM config is meant for the same generic FT2232D breakout boards used
825d3303b886 doc/Shipped-EEPROM-configs: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 in MCU host bus emulation mode, which takes up both channels and leaves no UART.