FreeCalypso > hg > fc-usbser-tools
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 |
| 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. |
