X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=src%2Fftdi.h;h=22e1197609769b899a605463f14450c8a094595b;hp=b43f6ec072ef558d7e798429f06ed15d00f4709c;hb=18199b76ecd68cee86b71111fe1a8af77e0631e3;hpb=a3d86bdb9327e787644255d5e96e016fe4289225 diff --git a/src/ftdi.h b/src/ftdi.h index b43f6ec..22e1197 100644 --- a/src/ftdi.h +++ b/src/ftdi.h @@ -23,7 +23,7 @@ #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 }; +enum ftdi_chip_type { TYPE_AM=0, TYPE_BM=1, TYPE_2232C=2, TYPE_R=3, TYPE_2232H=4, TYPE_4232H=5, TYPE_232H=6 }; /** Parity mode for ftdi_set_line_property() */ enum ftdi_parity_type { NONE=0, ODD=1, EVEN=2, MARK=3, SPACE=4 }; /** Number of stop bits for ftdi_set_line_property() */ @@ -85,6 +85,21 @@ enum ftdi_module_detach_mode #define LOOPBACK_START 0x84 #define LOOPBACK_END 0x85 #define TCK_DIVISOR 0x86 +/* H Type specific commands */ +#define DIS_DIV_5 0x8a +#define EN_DIV_5 0x8b +#define EN_3_PHASE 0x8c +#define DIS_3_PHASE 0x8d +#define CLK_BITS 0x8e +#define CLK_BYTES 0x8f +#define CLK_WAIT_HIGH 0x94 +#define CLK_WAIT_LOW 0x95 +#define EN_ADAPTIVE 0x96 +#define DIS_ADAPTIVE 0x97 +#define CLK_BYTES_OR_HIGH 0x9c +#define CLK_BYTES_OR_LOW 0x0d +/*FT232H specific commands */ +#define DRIVE_OPEN_COLLECTOR 0x9e /* Value Low */ /* Value HIGH */ /*rate is 12000000/((1+value)*2) */ #define DIV_VALUE(rate) (rate > 6000000)?0:((6000000/rate -1) > 0xffff)? 0xffff: (6000000/rate -1) @@ -257,6 +272,12 @@ struct ftdi_eeprom int group3_schmitt; int group3_slew; + int powersave; + + int clock_polarity; + int data_order; + int flow_control; + /** 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; @@ -369,7 +390,11 @@ enum ftdi_eeprom_value GROUP3_SCHMITT = 36, GROUP3_SLEW = 37, CHIP_SIZE = 38, - CHIP_TYPE = 39 + CHIP_TYPE = 39, + POWER_SAVE = 40, + CLOCK_POLARITY = 41, + DATA_ORDER = 42, + FLOW_CONTROL = 43 }; /** @@ -382,6 +407,10 @@ struct ftdi_device_list /** pointer to libusb's usb_device */ struct libusb_device *dev; }; +#define FT1284_CLK_IDLE_STATE 0x01 +#define FT1284_DATA_LSB 0x02 +#define FT1284_FLOW_CONTROL 0x04 +#define POWER_SAVE_DISABLE_H 0x80 #define USE_SERIAL_NUM 0x08 enum ftdi_cbus_func {/* FIXME: Recheck value, especially the last */ @@ -421,6 +450,7 @@ enum ftdi_cbus_func {/* FIXME: Recheck value, especially the last */ /** Driver Type. */ #define DRIVER_VCP 0x08 +#define DRIVER_VCPH 0x10 /* FT232H has moved the VCP bit */ #define USE_USB_VERSION_BIT 0x10