Add description of EEPROM Structure as decoded by now. Please comment!
authorUwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
Fri, 10 Sep 2010 20:41:35 +0000 (22:41 +0200)
committerThomas Jarosch <thomas.jarosch@intra2net.com>
Mon, 20 Sep 2010 13:34:43 +0000 (15:34 +0200)
doc/EEPROM-structure [new file with mode: 0644]

diff --git a/doc/EEPROM-structure b/doc/EEPROM-structure
new file mode 100644 (file)
index 0000000..731c559
--- /dev/null
@@ -0,0 +1,89 @@
+Here we try to document what we know about the EEPROM Structure.
+
+Even with a 93xx66 EEPROM, at maximum 256 Bytes are used
+
+All important things happen in the first
+0x14(FT232/245), 0x16(FT2232CD), 0x18(FT232/245R) or 0x1a (FT2232H/4432H)
+bytes
+
+Type   |  Use Extra EEPROM Space
+FT2XXB |  No
+
+Byte.BIT| TYPE_AM TYPE_BM   TYPE_2232C       TYPE_R          TYPE_2232H       TYPE_4232H
+00.0    |      0       0   channel_a_type                    channel_a_type   channel_a_type 
+00.1    |      0       0   channel_a_type                    channel_a_type   channel_a_type
+00.2    |      0       0   channel_a_type   high_current     channel_a_type   channel_a_type
+00.3    |      0       0   channel_a_driver channel_a_driver channel_a_driver channel_a_driver
+00.4    |      0       0   high_current_a   0                0                0 
+00.5    |      0       0   0                0                0                0
+00.6    |      0       0   0                0                0                0
+00.7    |      0       0   0                0                SUSPEND_DBUS7    0
+
+On TYPE_R 00.3 set mean D2XX, on other devices VCP
+
+01.0    |      0       0   channel_b_type                    channel_b_type   channel_b_type
+01.1    |      0       0   channel_b_type                    channel_b_type   channel_b_type
+01.2    |      0       0   channel_b_type   0                channel_b_type   channel_b_type
+01.3    |      0       0   channel_b_driver 0                channel_b_driver channel_b_driver
+01.4    |      0       0   high_current_b   0                0                0 
+01.5    |      0       0   0                0                0                0
+01.6    |      0       0   0                                0                0
+01.7    |      0       0   0                0                0                0
+
+Fixme: Missing 4232H validation and channel_c_driver, channel_d_driver, channel_a|b|c|d_rs484enable 
+
+02     | VID-LSB(all)
+03     | VID-MSB(all)
+04     | PID-LSB(all)
+05     | PID-MSB(all)
+06     | REL-LSB (not tested on TYPE_AM, TYPE_BM and TYPE_4232H)
+07     | REL-MSB (not tested on TYPE_AM, TYPE_BM and TYPE_4232H)
+       |
+08.4   | Self-Wakeup
+08.5   | Remote-Wakeup
+08.6   | Self-Powered
+08.7   | Always 1
+       |
+09     | MaxPower(maA/2)
+       |
+Byte.BIT| TYPE_AM TYPE_BM            TYPE_2232C        TYPE_R       TYPE_2232H       TYPE_4232H
+0a.0    | 0       IsoIn
+0a.1    | 0       IsoOut
+0a.2    | 0       suspend_pull_down suspend_pull_down               suspend_pull_down
+0a.3    | 0       use_serial                                        use_serial
+0a.4    | 0       change_usb_version change_usb_version  
+       |
+0b     | TYPE_R Bitmask Invert, 0 else
+
+Byte   | TYPE_AM TYPE_BM     TYPE_2232C   TYPE_R       TYPE_2232H       TYPE_4232H
+0c     | ?       USB-VER-LSB USB-VER-LSB  0            ?                ?
+0d     | ?       USB-VER-MSB USB-VER-MSB  0            ?                ?
+On several FT2232H different values were observed
+
+
+0e     | OFFSET Vendor
+0f     | Len    VENDOR
+
+10     | Offset Product
+11     | Length Product
+
+12     | Offset Serial
+13     | Length Serial
+
+Byte.BIT| TYPE_AM TYPE_BM   TYPE_2232C   TYPE_R       TYPE_2232H       TYPE_4232H
+14.3:0  | UA      UA        CHIP         CBUS[0]      AL               A   
+14.7:0  | UA      UA        CHIP         CBUS[1]      AH               B   
+15.3:0  | UA      UA        0            CBUS[2]      BL               C   
+15.7:0  | UA      UA        0            CBUS[3]      BH               D   
+16.3:0  | UA      UA        UA           CBUS[4]      0                0   
+16.7:0  | UA      UA        UA           0            0                0   
+17        UA      UA        UA           0            0                0
+18        UA      UA        UA           VENDOR       CHIP             CHIP                
+19        UA      UA        UA           VENDOR       0                0                
+
+1a        UA(all)
+
+Mprog doesn's seem to write this:
+After last string
+0x02 0x03 0x01 with PnP == 0
\ No newline at end of file