libftdi Archives

Subject: more 232R eeprom bits

From: DJ Delorie <dj@xxxxxxxxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Date: Tue, 30 Jun 2009 13:09:39 -0400
I reverse engineered more of the FT232R eeprom bits, by running MTOOL
in windows to program a device, then inspecting that device under
Linux, over and over again.  For the sake of clean-room-ness, I'm
posting my findings rather than a direct patch.  Note: I can check for
any other missing bits on the 232R device, and I have a FT245R device
I can check too, if people tell me what settings are needed.

Byte 0x00 - left as "0x00" by libftdi

     Bitmask 0x04 is set if High Current I/O is desired.
     Bitmask 0x08 is set if the D2XX driver is desired.


Byte 0x0B - left as "reserved" by libftdi:

     7654 3210

     #--- ----  If set, the TXD pin is inverted.
     -#-- ----  If set, the RXD pin is inverted.
     --#- ----  If set, the RTS# pin is inverted.
     ---# ----  If set, the CTS# pin is inverted.
     ---- #---  If set, the DTR# pin is inverted.
     ---- -#--  If set, the DSR# pin is inverted.
     ---- --#-  If set, the DCD# pin is inverted.
     ---- ---#  If set, the RI# pin is inverted.


Bytes 0x14 through 0x16 control the CBUS pins, four bits each:

      byte  7654 3210

      0x14  ---- ####      CBUS0
      0x14  #### ----      CBUS1

      0x15  ---- ####      CBUS2
      0x15  #### ----      CBUS3

      0x16  ---- ####      CBUS4

Each 4-bit nibble can be one of the following values:

     ####

     0000       TXDEN
     0001       PWRON#
     0010       RXLED#
     0011       TXLED#
     0100       TXandRX#
     0101       SLEEP#
     0110       CLK48
     0111       CLK24
     1000       CLK12
     1001       CLK6
     1010       CBus I/O (not available on CBUS4)
     1011       BitBang WR#
     1100       BitMang RD#
     1101       RXF#

For example, if byte 0x15 is set to 0x62, then CBUS3 is CLK48 and
CBUS2 is RXLED#.


Byte 0x60

     Bitmask 0x01 is set if Plug and Play is to be *disabled*.


Note that I have not tested these with libftdi itself.  The above are
merely observations of what MTOOL is doing.  So, if you find a mistake
in the above, feel free to blame me and correct it ;-)

--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx   

Current Thread
  • more 232R eeprom bits, DJ Delorie <=