On request, dump arguments during EEPROM decoding
[libftdi] / src / ftdi.h
index 07300b6..6906894 100644 (file)
@@ -19,7 +19,8 @@
 
 #include <libusb.h>
 
-#define FTDI_DEFAULT_EEPROM_SIZE 128
+/* Evne on 93xx66 at max 256 bytes are used (AN_121)*/
+#define FTDI_MAX_EEPROM_SIZE 256
 
 /** FTDI chip type */
 enum ftdi_chip_type { TYPE_AM=0, TYPE_BM=1, TYPE_2232C=2, TYPE_R=3, TYPE_2232H=4, TYPE_4232H=5 };
@@ -181,8 +182,8 @@ struct ftdi_eeprom
     int self_powered;
     /** remote wakeup */
     int remote_wakeup;
-    /** chip type */
-    int chip_type;
+    /** release */
+    int release;
 
     /** input in isochronous transfer mode */
     int in_is_isochronous;
@@ -218,6 +219,8 @@ struct ftdi_eeprom
     /** eeprom size in bytes. This doesn't get stored in the eeprom
         but is the only way to pass it to ftdi_eeprom_build. */
     int size;
+    /* EEPROM Type 46 for 93xx46, 56 for 93xx56 and 66 for 93xx66*/
+    int chip;
 };
 
 /**
@@ -444,13 +447,12 @@ extern "C"
     void ftdi_eeprom_initdefaults(struct ftdi_context *ftdi);
     void ftdi_eeprom_free(struct ftdi_context *ftdi);
     int ftdi_eeprom_build(struct ftdi_context *ftdi, unsigned char *output);
-    int ftdi_eeprom_decode(struct ftdi_context *ftdi, unsigned char *output, int size);
+    int ftdi_eeprom_decode(struct ftdi_context *ftdi, unsigned char *output, int size, int verbose);
 
     /* "eeprom" needs to be valid 128 byte eeprom (generated by the eeprom generator)
        the checksum of the eeprom is valided */
     int ftdi_read_eeprom(struct ftdi_context *ftdi, unsigned char *eeprom);
     int ftdi_read_chipid(struct ftdi_context *ftdi, unsigned int *chipid);
-    int ftdi_read_eeprom_getsize(struct ftdi_context *ftdi, unsigned char *eeprom, int maxsize);
     int ftdi_write_eeprom(struct ftdi_context *ftdi, unsigned char *eeprom);
     int ftdi_erase_eeprom(struct ftdi_context *ftdi);