libftdi1 1.5

ftdi_i.h
Go to the documentation of this file.
1/***************************************************************************
2 ftdi_i.h - description
3 -------------------
4 begin : Don Sep 9 2011
5 copyright : (C) 2003-2020 by Intra2net AG and the libftdi developers
6 email : opensource@intra2net.com
7 SPDX-License-Identifier: LGPL-2.1-only
8 ***************************************************************************/
9
10/***************************************************************************
11 * *
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; *
15 * *
16 ***************************************************************************
17
18 Non public definitions here
19
20*/
21
22/* Even on 93xx66 at max 256 bytes are used (AN_121)*/
23#define FTDI_MAX_EEPROM_SIZE 256
24
26#define MAX_POWER_MILLIAMP_PER_UNIT 2
27
31 struct ftdi_eeprom
32{
34 int vendor_id;
36 int product_id;
37
40 int initialized_for_connected_device;
41
43 int self_powered;
45 int remote_wakeup;
46
47 int is_not_pnp;
48
49 /* Suspend on DBUS7 Low */
50 int suspend_dbus7;
51
53 int in_is_isochronous;
55 int out_is_isochronous;
57 int suspend_pull_downs;
58
60 int use_serial;
62 int usb_version;
64 int use_usb_version;
66 int max_power;
67
69 char *manufacturer;
71 char *product;
73 char *serial;
74
75 /* 2232D/H specific */
76 /* Hardware type, 0 = RS232 Uart, 1 = 245 FIFO, 2 = CPU FIFO,
77 4 = OPTO Isolate */
78 int channel_a_type;
79 int channel_b_type;
80 /* Driver Type, 1 = VCP */
81 int channel_a_driver;
82 int channel_b_driver;
83 int channel_c_driver;
84 int channel_d_driver;
85 /* 4232H specific */
86 int channel_a_rs485enable;
87 int channel_b_rs485enable;
88 int channel_c_rs485enable;
89 int channel_d_rs485enable;
90
91 /* Special function of FT232R/FT232H devices (and possibly others as well) */
93 int cbus_function[10];
95 int high_current;
97 int high_current_a;
99 int high_current_b;
101 int invert;
103 int external_oscillator;
104
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*/
110 int group0_drive;
111 int group0_schmitt;
112 int group0_slew;
113 int group1_drive;
114 int group1_schmitt;
115 int group1_slew;
116 int group2_drive;
117 int group2_schmitt;
118 int group2_slew;
119 int group3_drive;
120 int group3_schmitt;
121 int group3_slew;
122
123 int powersave;
124
125 int clock_polarity;
126 int data_order;
127 int flow_control;
128
130 int user_data_addr;
131 int user_data_size;
132 const char *user_data;
133
136 int size;
137 /* EEPROM Type 0x46 for 93xx46, 0x56 for 93xx56 and 0x66 for 93xx66*/
138 int chip;
139 unsigned char buf[FTDI_MAX_EEPROM_SIZE];
140
142 int release_number;
143};
144
FTDI_MAX_EEPROM_SIZE
#define FTDI_MAX_EEPROM_SIZE
Definition: ftdi_i.h:23
ftdi_eeprom
FTDI eeprom structure.
Definition: ftdi_i.h:32
ftdi_eeprom::user_data_addr
int user_data_addr
Definition: ftdi_i.h:130
ftdi_eeprom::self_powered
int self_powered
Definition: ftdi_i.h:43
ftdi_eeprom::user_data_size
int user_data_size
Definition: ftdi_i.h:131
ftdi_eeprom::buf
unsigned char buf[FTDI_MAX_EEPROM_SIZE]
Definition: ftdi_i.h:139
ftdi_eeprom::channel_b_driver
int channel_b_driver
Definition: ftdi_i.h:82
ftdi_eeprom::group3_slew
int group3_slew
Definition: ftdi_i.h:121
ftdi_eeprom::external_oscillator
int external_oscillator
Definition: ftdi_i.h:103
ftdi_eeprom::channel_c_rs485enable
int channel_c_rs485enable
Definition: ftdi_i.h:88
ftdi_eeprom::channel_b_type
int channel_b_type
Definition: ftdi_i.h:79
ftdi_eeprom::is_not_pnp
int is_not_pnp
Definition: ftdi_i.h:47
ftdi_eeprom::group0_schmitt
int group0_schmitt
Definition: ftdi_i.h:111
ftdi_eeprom::invert
int invert
Definition: ftdi_i.h:101
ftdi_eeprom::high_current_a
int high_current_a
Definition: ftdi_i.h:97
ftdi_eeprom::high_current_b
int high_current_b
Definition: ftdi_i.h:99
ftdi_eeprom::in_is_isochronous
int in_is_isochronous
Definition: ftdi_i.h:53
ftdi_eeprom::use_usb_version
int use_usb_version
Definition: ftdi_i.h:64
ftdi_eeprom::clock_polarity
int clock_polarity
Definition: ftdi_i.h:125
ftdi_eeprom::group2_drive
int group2_drive
Definition: ftdi_i.h:116
ftdi_eeprom::group1_drive
int group1_drive
Definition: ftdi_i.h:113
ftdi_eeprom::channel_a_driver
int channel_a_driver
Definition: ftdi_i.h:81
ftdi_eeprom::user_data
const char * user_data
Definition: ftdi_i.h:132
ftdi_eeprom::channel_d_rs485enable
int channel_d_rs485enable
Definition: ftdi_i.h:89
ftdi_eeprom::size
int size
Definition: ftdi_i.h:136
ftdi_eeprom::chip
int chip
Definition: ftdi_i.h:138
ftdi_eeprom::suspend_pull_downs
int suspend_pull_downs
Definition: ftdi_i.h:57
ftdi_eeprom::initialized_for_connected_device
int initialized_for_connected_device
Definition: ftdi_i.h:40
ftdi_eeprom::group3_schmitt
int group3_schmitt
Definition: ftdi_i.h:120
ftdi_eeprom::usb_version
int usb_version
Definition: ftdi_i.h:62
ftdi_eeprom::flow_control
int flow_control
Definition: ftdi_i.h:127
ftdi_eeprom::data_order
int data_order
Definition: ftdi_i.h:126
ftdi_eeprom::max_power
int max_power
Definition: ftdi_i.h:66
ftdi_eeprom::group1_slew
int group1_slew
Definition: ftdi_i.h:115
ftdi_eeprom::remote_wakeup
int remote_wakeup
Definition: ftdi_i.h:45
ftdi_eeprom::product
char * product
Definition: ftdi_i.h:71
ftdi_eeprom::group2_schmitt
int group2_schmitt
Definition: ftdi_i.h:117
ftdi_eeprom::serial
char * serial
Definition: ftdi_i.h:73
ftdi_eeprom::release_number
int release_number
Definition: ftdi_i.h:142
ftdi_eeprom::product_id
int product_id
Definition: ftdi_i.h:36
ftdi_eeprom::cbus_function
int cbus_function[10]
Definition: ftdi_i.h:93
ftdi_eeprom::group2_slew
int group2_slew
Definition: ftdi_i.h:118
ftdi_eeprom::group0_slew
int group0_slew
Definition: ftdi_i.h:112
ftdi_eeprom::out_is_isochronous
int out_is_isochronous
Definition: ftdi_i.h:55
ftdi_eeprom::group0_drive
int group0_drive
Definition: ftdi_i.h:110
ftdi_eeprom::use_serial
int use_serial
Definition: ftdi_i.h:60
ftdi_eeprom::group1_schmitt
int group1_schmitt
Definition: ftdi_i.h:114
ftdi_eeprom::channel_a_rs485enable
int channel_a_rs485enable
Definition: ftdi_i.h:86
ftdi_eeprom::manufacturer
char * manufacturer
Definition: ftdi_i.h:69
ftdi_eeprom::powersave
int powersave
Definition: ftdi_i.h:123
ftdi_eeprom::high_current
int high_current
Definition: ftdi_i.h:95
ftdi_eeprom::channel_c_driver
int channel_c_driver
Definition: ftdi_i.h:83
ftdi_eeprom::channel_a_type
int channel_a_type
Definition: ftdi_i.h:78
ftdi_eeprom::group3_drive
int group3_drive
Definition: ftdi_i.h:119
ftdi_eeprom::channel_d_driver
int channel_d_driver
Definition: ftdi_i.h:84
ftdi_eeprom::channel_b_rs485enable
int channel_b_rs485enable
Definition: ftdi_i.h:87
ftdi_eeprom::vendor_id
int vendor_id
Definition: ftdi_i.h:34
ftdi_eeprom::suspend_dbus7
int suspend_dbus7
Definition: ftdi_i.h:50