X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=src%2Fftdi_i.h;h=1bc740de1653dc99dca4bb0aab0c53c043531a5e;hp=dd2d29b54e9ccf3005c16e47c22869722fb3cbec;hb=46ed84b384e8cf1d7ae9a9b0758a08419d282a27;hpb=720c7d2457ae1cd43abd36b3ac7e89b896e65119 diff --git a/src/ftdi_i.h b/src/ftdi_i.h index dd2d29b..1bc740d 100644 --- a/src/ftdi_i.h +++ b/src/ftdi_i.h @@ -2,8 +2,9 @@ ftdi_i.h - description ------------------- begin : Don Sep 9 2011 - copyright : (C) 2003-2011 by Intra2net AG and the libftdi developers + copyright : (C) 2003-2017 by Intra2net AG and the libftdi developers email : opensource@intra2net.com + SPDX-License-Identifier: LGPL-2.1-only ***************************************************************************/ /*************************************************************************** @@ -21,6 +22,9 @@ /* Even on 93xx66 at max 256 bytes are used (AN_121)*/ #define FTDI_MAX_EEPROM_SIZE 256 +/** Max Power adjustment factor. */ +#define MAX_POWER_MILLIAMP_PER_UNIT 2 + /** \brief FTDI eeprom structure */ @@ -58,7 +62,7 @@ struct ftdi_eeprom int usb_version; /** Use usb version on FT2232 devices*/ int use_usb_version; - /** maximum power */ + /** maximum power */ int max_power; /** manufacturer name */ @@ -68,26 +72,35 @@ struct ftdi_eeprom /** serial number */ char *serial; - /* 2232D/H(/FT4432H?) specific */ - /* Hardware type, 0 = RS232 Uart, 1 = 245 FIFO, 2 = CPU FIFO, + /* 2232D/H 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; + int channel_c_driver; + int channel_d_driver; + /* 4232H specific */ + int channel_a_rs485enable; + int channel_b_rs485enable; + int channel_c_rs485enable; + int channel_d_rs485enable; /* Special function of FT232R/FT232H devices (and possibly others as well) */ /** CBUS pin function. See CBUS_xxx defines. */ int cbus_function[10]; - /** Select hight current drive on R devices. */ + /** Select high current drive on R devices. */ int high_current; - /** Select hight current drive on A channel (2232C */ + /** Select high current drive on A channel (2232C). */ int high_current_a; - /** Select hight current drive on B channel (2232C). */ + /** Select high current drive on B channel (2232C). */ int high_current_b; /** Select inversion of data lines (bitmask). */ int invert; + /** Enable external oscillator. */ + int external_oscillator; /*2232H/4432H Group specific values */ /* Group0 is AL on 2322H and A on 4232H @@ -113,11 +126,19 @@ struct ftdi_eeprom int data_order; int flow_control; + /** user data **/ + int user_data_addr; + int user_data_size; + const char *user_data; + /** 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 0x46 for 93xx46, 0x56 for 93xx56 and 0x66 for 93xx66*/ int chip; unsigned char buf[FTDI_MAX_EEPROM_SIZE]; + + /** device release number */ + int release_number; };