FreeCalypso > hg > fc-usbser-tools
view eeproms/icestick @ 26:49239efbdcc8
rm fteeprom/test/fteeprom-prog-bad
When the magic command sequence for FT232R was added to libftdi-based
fteeprom-prog, a version without this magic sequence was preserved in
fteeprom-prog-bad. However, the new minilib version of fteeprom-prog
operates without this magic sequence by default (as appropriate for
FT2232D, FT2232H etc) and needs to be run with -r option to invoke
FT232R-specific mode with the necessary magic.
Anyone who needs fteeprom-prog-bad for study or experimentation
can find it in freecalypso-hwlab Hg repository where it was originally
developed.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 09 Sep 2023 16:06:56 +0000 |
parents | 434806360d91 |
children | d46ea7a3fa0c |
line wrap: on
line source
# Lattice iCEstick FPGA board features an FT2232H chip, with Channel A wired # for MPSSE mode (access to SPI flash and FPGA configuration controls) and # Channel B wired as a UART for user logic implemented in the FPGA. This # FT2232H subsystem includes a 93C56 EEPROM, but boards are shipped with it # blank, causing the FT2232H chip to take its default VID:PID. # # Having this default VID:PID causes undesirable behavior under Linux: a pair # of ttyUSB devices is created upon plug-in, but the first of these two then # disappears when the developer runs iceprog to manipulate FPGA programming, # creating a gap in ttyUSB device numbers. And even if you are working with a # stable logic design and not running iceprog, the first of the two created # ttyUSB devices is still bogus, as that hardware channel is wired for MPSSE # and not UART. # # In Falconian queendom, the solution to this problem is to program the EEPROM # behind the FT2232H chip with our own image and set the USB ID to a code that # tells the Linux kernel to create a ttyUSB device only for Channel B - the # so-called "JTAG quirk". Falconia Partners LLC got a block of 8 PIDs # officially allocated to us by FTDI, and since 2020-09 the mainline Linux # kernel recognizes two of them as JTAG quirks. Use one of those two PIDs. vid 0x0403 # FTDI pid 0x7150 # Allocated by FTDI to Falconia, JTAG quirk in Linux manuf Lattice product ICE40HX1K-STICK-EVN