X-Git-Url: http://developer.intra2net.com/git/?a=blobdiff_plain;f=src%2Fftdi.h;h=94d16dc95ec3c3b83ff2a0210b389ef68d6b5307;hb=f14f84d3ab33c785903e5b4fb615076f9cbcefad;hp=8fc235f72ef2e11d6b4b0bf6a08114f6c95c0409;hpb=75388926b7825ede2b111e86ab8d003b95d8d554;p=libftdi diff --git a/src/ftdi.h b/src/ftdi.h index 8fc235f..94d16dc 100644 --- a/src/ftdi.h +++ b/src/ftdi.h @@ -182,8 +182,6 @@ struct ftdi_eeprom int self_powered; /** remote wakeup */ int remote_wakeup; - /** release */ - int release; /* Suspend on DBUS7 Low */ int suspend_dbus7; @@ -254,6 +252,7 @@ struct ftdi_eeprom int size; /* EEPROM Type 46 for 93xx46, 56 for 93xx56 and 66 for 93xx66*/ int chip; + unsigned char buf[FTDI_MAX_EEPROM_SIZE]; }; /** @@ -328,7 +327,7 @@ struct ftdi_device_list enum ftdi_cbus_func {/* FIXME: Recheck value, especially the last */ CBUS_TXDEN = 0, CBUS_PWREN = 1, CBUS_RXLED = 2, CBUS_TXLED = 3, CBUS_TXRXLED = 4, CBUS_SLEEP = 5, CBUS_CLK48 = 6, CBUS_CLK24 = 7, CBUS_CLK12 = 8, CBUS_CLK6 = 9, - CBUS_IOMODE = 10, CBUS_BB_WR = 11, CBUS_BB_RD = 12, CBUS_BB_RXF = 13, CBUS_BB_TXE = 14}; + CBUS_IOMODE = 0xa, CBUS_BB_WR = 0xb, CBUS_BB_RD = 0xc, CBUS_BB = 0xd}; /** Invert TXD# */ #define INVERT_TXD 0x01 @@ -366,7 +365,7 @@ enum ftdi_cbus_func {/* FIXME: Recheck value, especially the last */ #define SUSPEND_DBUS7 0x80 /** High current drive. */ -#define HIGH_CURRENT_DRIVE 0x10 +#define HIGH_CURRENT_DRIVE 0x10 #define HIGH_CURRENT_DRIVE_R 0x04 /** @@ -470,20 +469,16 @@ extern "C" int ftdi_set_event_char(struct ftdi_context *ftdi, unsigned char eventch, unsigned char enable); int ftdi_set_error_char(struct ftdi_context *ftdi, unsigned char errorch, unsigned char enable); - /* set eeprom size */ - void ftdi_eeprom_setsize(struct ftdi_context *ftdi, struct ftdi_eeprom *eeprom, int size); + /* init eeprom for the given FTDI type */ + int ftdi_eeprom_initdefaults(struct ftdi_context *ftdi, + char * manufacturer, char *product, + char * serial); + int ftdi_eeprom_build(struct ftdi_context *ftdi); + int ftdi_eeprom_decode(struct ftdi_context *ftdi, int verbose); - /* init and build eeprom from ftdi_eeprom structure */ - 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 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_eeprom(struct ftdi_context *ftdi); int ftdi_read_chipid(struct ftdi_context *ftdi, unsigned int *chipid); - int ftdi_write_eeprom(struct ftdi_context *ftdi, unsigned char *eeprom); + int ftdi_write_eeprom(struct ftdi_context *ftdi); int ftdi_erase_eeprom(struct ftdi_context *ftdi); int ftdi_read_eeprom_location (struct ftdi_context *ftdi, int eeprom_addr, unsigned short *eeprom_val);