view doc/Shipped-EEPROM-configs @ 39:b9ecfa54fe2b

fc-duart28-conf: replace find and check-eeprom with single show command The original design with separate find and check-eeprom commands was driven by the assumption that we had to bump off the ftdi_sio driver in order to read the EEPROM, while a USB device tree check could be done non-invasively. However, now that we know that we can read the EEPROM non-invasively too, we can simplify the tool with a single show command.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 10 Sep 2023 19:21:20 +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.