1 /***************************************************************************
5 copyright : (C) 2003-2017 by Intra2net AG and the libftdi developers
6 email : opensource@intra2net.com
7 SPDX-License-Identifier: LGPL-2.1-only
8 ***************************************************************************/
10 /***************************************************************************
12 * This program is free software; you can redistribute it and/or modify *
13 * it under the terms of the GNU Lesser General Public License *
14 * version 2.1 as published by the Free Software Foundation; *
16 ***************************************************************************
18 Non public definitions here
22 /* Even on 93xx66 at max 256 bytes are used (AN_121)*/
23 #define FTDI_MAX_EEPROM_SIZE 256
25 /** Max Power adjustment factor. */
26 #define MAX_POWER_MILLIAMP_PER_UNIT 2
29 \brief FTDI eeprom structure
38 /** Was the eeprom structure initialized for the actual
40 int initialized_for_connected_device;
49 /* Suspend on DBUS7 Low */
52 /** input in isochronous transfer mode */
53 int in_is_isochronous;
54 /** output in isochronous transfer mode */
55 int out_is_isochronous;
56 /** suspend pull downs */
57 int suspend_pull_downs;
63 /** Use usb version on FT2232 devices*/
68 /** manufacturer name */
75 /* 2232D/H specific */
76 /* Hardware type, 0 = RS232 Uart, 1 = 245 FIFO, 2 = CPU FIFO,
80 /* Driver Type, 1 = VCP */
86 int channel_a_rs485enable;
87 int channel_b_rs485enable;
88 int channel_c_rs485enable;
89 int channel_d_rs485enable;
91 /* Special function of FT232R/FT232H devices (and possibly others as well) */
92 /** CBUS pin function. See CBUS_xxx defines. */
93 int cbus_function[10];
94 /** Select hight current drive on R devices. */
96 /** Select hight current drive on A channel (2232C */
98 /** Select hight current drive on B channel (2232C). */
100 /** Select inversion of data lines (bitmask). */
102 /** Enable external oscillator. */
103 int external_oscillator;
105 /*2232H/4432H Group specific values */
106 /* Group0 is AL on 2322H and A on 4232H
107 Group1 is AH on 2232H and B on 4232H
108 Group2 is BL on 2322H and C on 4232H
109 Group3 is BH on 2232H and C on 4232H*/
132 const char *user_data;
134 /** eeprom size in bytes. This doesn't get stored in the eeprom
135 but is the only way to pass it to ftdi_eeprom_build. */
137 /* EEPROM Type 0x46 for 93xx46, 0x56 for 93xx56 and 0x66 for 93xx66*/
139 unsigned char buf[FTDI_MAX_EEPROM_SIZE];
141 /** device release number */