#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 };
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;
/** 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;
};
/**
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);