/** serial number */
char *serial;
+ /* 2232D/H(/FT4432H?) specific */
+ /* Hardware type, 0 = RS232 Uart, 1 = 245 FIFO, 2 = CPU FIFO,
+ 4 = OPTO Isolate */
+ int channel_a_type;
+ int channel_b_type;
+ /* Driver Type, 1 = VCP */
+ int channel_a_driver;
+ int channel_b_driver;
/* Special function of FT232R devices (and possibly others as well) */
/** CBUS pin function. See CBUS_xxx defines. */
int cbus_function[5];
/** Select hight current drive. */
- int high_current;
+ int high_current_a;
+ /** Select hight current drive on B port (2232C). */
+ int high_current_b;
/** Select inversion of data lines (bitmask). */
int invert;
/** 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;
};
/**
/** Invert RI# */
#define INVERT_RI 0x80
+/** Interface Mode. */
+#define CHANNEL_IS_UART 0x0
+#define CHANNEL_IS_245 0x1
+#define CHANNEL_IS_CPU 0x2
+#define CHANNEL_IS_OPTO 0x4
+
+/** Driver Type. */
+#define DRIVER_VCP 0x08
+
/** High current drive. */
-#define HIGH_CURRENT_DRIVE 0x04
+#define HIGH_CURRENT_DRIVE 0x10
/**
\brief Progress Info for streaming read
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 */