This device is not trivial to use precisely because it is a USB device. There are much easier ways to get PIO expansion. This device has "GPIO" mode (called
bit bang mode) but it is intended, primarily, to replicate custom communications protocol in a serial manner, not as a GPIO expansion. While it can certainly be used that way, it will be a big drag.
I would recommend using a different GPIO expansion product.
I2C based devices are probably your best bet.
Regardless, EEPROM is not how you configure the device to do Bit Bang/PIO Expansion.
All interaction with this device happens through USB. That means you need to use USB drivers and commands using USB libraries (like
PyUSB in python) .
To use this device as a serial port, those drivers already exist in Linux, and should work out of the box. However, to access the low level features (and not just the Virtual COM Port), you may need to install The Drivers to access the low level command API.
Specifically there are a number of things referenced in the datasheet you link. Most of the information is buried in "Application Notes"
- Datasheet for the FTDI chip itself
4.10 - Synchronous and Asynchronous Bit-Bang Interface Mode Description
- Application Note: AN2232-02 Bit Mode Functions for
- API Reference: FT-71 D2XX Programmer's Guide
- Related Older Application Note: AN_232R-01 Bit Bang Modes
For The FT232R and FT245R
- Example Code (Visual C++)
Example 4 Is the Bit Bang Mode Example
- EEPROM Programming Utility: FT_PROG
There are two modes -
ASYNC Bit-Bang and
SYNC Bit-Bang that enable these peripheral IO modes.
These bit-bang mode Do not require EEPROM Interaction as shown in the table below, they are accessed through the driver command API.
The relevant API Calls Appear to be
Even though you do not need to access EEPROM for your question, this may still be useful. EEPROM is used to configure the FTDI chip as a custom product (e.g. set the Product Code and Vendor ID, etc.)
EEPROM is accessed through utility provided by FTDI called FT_PROG