#include <usb.h>
+enum ftdi_chip_type { TYPE_AM=0, TYPE_BM=1, TYPE_FT2232C=2 };
+
struct ftdi_context {
// USB specific
struct usb_dev_handle *usb_dev;
- int usb_timeout;
+ int usb_read_timeout;
+ int usb_write_timeout;
// FTDI specific
+ enum ftdi_chip_type type;
int baudrate;
unsigned char bitbang_enabled;
unsigned char *readbuffer;
unsigned int readbuffer_chunksize;
unsigned int writebuffer_chunksize;
+ // FTDI FT2232C requirecments
+ int interface; // 0 or 1
+ int index; // 1 or 2
+ // Endpoints
+ int in_ep;
+ int out_ep; // 1 or 2
+
+ /* 1: (default) Normal bitbang mode, 2: FT2232C SPI bitbang mode */
+ unsigned char bitbang_mode;
+
// misc
char *error_str;
};