#include <libusb.h>
-/* Evne on 93xx66 at max 256 bytes are used (AN_121)*/
+/* Even on 93xx66 at max 256 bytes are used (AN_121)*/
#define FTDI_MAX_EEPROM_SIZE 256
/** FTDI chip type */
/** remote wakeup */
int remote_wakeup;
+ int is_not_pnp;
+
/* Suspend on DBUS7 Low */
int suspend_dbus7;
int use_serial;
/** usb version */
int usb_version;
- /** maximum power */
+ /** Use usb version on FT2232 devices*/
+ int use_usb_version;
+ /** maximum power */
int max_power;
/** manufacturer name */
int group3_drive;
int group3_schmitt;
int group3_slew;
-
/** 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*/
+ /* EEPROM Type 0x46 for 93xx46, 0x56 for 93xx56 and 0x66 for 93xx66*/
int chip;
unsigned char buf[FTDI_MAX_EEPROM_SIZE];
};
/** Driver Type. */
#define DRIVER_VCP 0x08
-#define SUSPEND_DBUS7 0x80
+#define USE_USB_VERSION_BIT 0x10
+
+#define SUSPEND_DBUS7_BIT 0x80
/** High current drive. */
#define HIGH_CURRENT_DRIVE 0x10
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);
- /* init and build eeprom from ftdi_eeprom structure */
- void ftdi_eeprom_initdefaults(struct ftdi_context *ftdi);
- void ftdi_eeprom_free(struct ftdi_context *ftdi);
+ /* 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);