view 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
line wrap: on
line source

There are a number of ready-made FTDI EEPROM config files shipped with
fc-usbser-tools package, intended to serve as inputs to ftee-gen* tools.  This
article describes these shipped EEPROM configs.

duart28c and duart28s
=====================

FreeCalypso DUART28 is an FT2232D-based custom hardware adapter produced in
year 2020.  There are two valid EEPROM configs for this adapter, named DUART28C
and DUART28S - see DUART28-EEPROM-config article for further details.

ft2232-example
==============

This config file is an example EEPROM config for FT2232x chips, valid for both
FT2232C/D and FT2232H.  It is intended to serve as a starting point for custom
FT2232x EEPROM configurations.

ft232r-example
==============

This config file is an example EEPROM config for FT232R.  It is intended to
serve as a starting point for custom FT232R EEPROM configs.

icestick
========

Lattice iCEstick is a handy FPGA board with an FT2232H USB interface chip,
supporting SPI programming via MPSSE on Channel A and UART communication with
user logic via FT2232H Channel B.  However, instead of programming this FT2232H
chip's EEPROM with a distinctive USB VID:PID which Linux kernel ftdi_sio driver
can recognize as a JTAG quirk, Lattice ships these boards with blank EEPROMs,
causing the usual well-known problems with unquirked ftdi_sio binding.

Our supplied EEPROM config named "icestick" is intended as the solution:
program it into the EEPROM on your iCEstick board, and the binding of ftdi_sio
driver becomes sensible, with a ttyUSB device created only for Channel B.

jtag-unbuf
==========

This EEPROM config is meant for generic (non-specialized) FT2232D breakout
boards used as unbuffered JTAG adapters, as described in this old guide
from 2019:

https://www.freecalypso.org/hg/freecalypso-hwlab/file/tip/doc/Unbuffered-FT2232x-JTAG

mcu-host-bus
============

This EEPROM config is meant for the same generic FT2232D breakout boards used
in MCU host bus emulation mode, which takes up both channels and leaves no UART.