From 7345e9551c75957b19de981846bc975c487dee09 Mon Sep 17 00:00:00 2001 From: Uwe Bonnes Date: Fri, 10 Sep 2010 22:41:35 +0200 Subject: [PATCH] Add description of EEPROM Structure as decoded by now. Please comment! --- doc/EEPROM-structure | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 89 insertions(+), 0 deletions(-) create mode 100644 doc/EEPROM-structure diff --git a/doc/EEPROM-structure b/doc/EEPROM-structure new file mode 100644 index 0000000..731c559 --- /dev/null +++ b/doc/EEPROM-structure @@ -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 -- 1.7.1