default:
         eeprom->release = 0;
     }
-    eeprom->usb_version = 0x0200;
+    if (ftdi->type == TYPE_AM)
+        eeprom->usb_version = 0x0101;
+    else
+        eeprom->usb_version = 0x0200;
     eeprom->max_power = 50;
 
     eeprom->manufacturer = NULL;
     // Bit 7: 0 - reserved
     // Bit 6: 0 - reserved
     // Bit 5: 0 - reserved
-    // Bit 4: 1 - Change USB version
+    // Bit 4: 1 - Change USB version 
+    //            not seen on FT2232C)
     // Bit 3: 1 - Use the serial number string
     // Bit 2: 1 - Enable suspend pull downs for lower power
     // Bit 1: 1 - Out EndPoint is Isochronous
         j = j | 4;
     if (eeprom->use_serial == 1)
         j = j | 8;
-    if (eeprom->change_usb_version == 1)
-        j = j | 16;
     output[0x0A] = j;
 
     // Addr 0B: Invert data lines
     output[0x0B] = eeprom->invert & 0xff;
 
-    // Addr 0C: USB version low byte when 0x0A bit 4 is set
-    // Addr 0D: USB version high byte when 0x0A bit 4 is set
-    if (eeprom->change_usb_version == 1)
-    {
-        output[0x0C] = eeprom->usb_version;
-        output[0x0D] = eeprom->usb_version >> 8;
-    }
+    // Addr 0C: USB version low byte
+    // Addr 0D: USB version high byte
+    output[0x0C] = eeprom->usb_version;
+    output[0x0D] = eeprom->usb_version >> 8;
 
 
     // Addr 0E: Offset of the manufacturer string + 0x80, calculated later
     eeprom->out_is_isochronous = buf[0x0A]&0x02;
     eeprom->suspend_pull_downs = buf[0x0A]&0x04;
     eeprom->use_serial         = buf[0x0A] & USE_SERIAL_NUM;
-    eeprom->change_usb_version = buf[0x0A]&0x10;
+    if((buf[0x0A]&0x10) != 0x10)
+        fprintf(stderr,
+                "EEPROM byte[0x0a] Bit 4 unexpected set. If this happened with the EEPROM\n"
+                "programmed by FTDI tools, please report to libftdi@developer.intra2net.com\n");
 
 
-    // Addr 0C: USB version low byte when 0x0A bit 4 is set
-    // Addr 0D: USB version high byte when 0x0A bit 4 is set
-    if ((eeprom->change_usb_version == 1) || ftdi->type == TYPE_2232C)
-    {
-        eeprom->usb_version = buf[0x0C] + (buf[0x0D] << 8);
-    }
+    // Addr 0C: USB version low byte when 0x0A
+    // Addr 0D: USB version high byte when 0x0A 
+    eeprom->usb_version = buf[0x0C] + (buf[0x0D] << 8);
 
     // Addr 0E: Offset of the manufacturer string + 0x80, calculated later
     // Addr 0F: Length of manufacturer string