X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=src%2Fftdi.h;h=6906894fb269ed5f5352584f3c2822f454d69240;hp=07300b641e1608b4fff913631c484c41189ba13d;hb=f6ef2983ec626387a30502e0369ef4d79cb1bdce;hpb=c0a96aed965e1010f131aaac4d7025ebf00c35dd diff --git a/src/ftdi.h b/src/ftdi.h index 07300b6..6906894 100644 --- a/src/ftdi.h +++ b/src/ftdi.h @@ -19,7 +19,8 @@ #include -#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);