ftdi_i.h
Go to the documentation of this file.
/***************************************************************************
ftdi_i.h - description
-------------------
begin : Don Sep 9 2011
copyright : (C) 2003-2020 by Intra2net AG and the libftdi developers
email : opensource@intra2net.com
SPDX-License-Identifier: LGPL-2.1-only
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License *
* version 2.1 as published by the Free Software Foundation; *
* *
***************************************************************************
Non public definitions here
*/
/* Even on 93xx66 at max 256 bytes are used (AN_121)*/
#define FTDI_MAX_EEPROM_SIZE 256
#define MAX_POWER_MILLIAMP_PER_UNIT 2
struct ftdi_eeprom
{
int vendor_id;
int product_id;
int initialized_for_connected_device;
int self_powered;
int remote_wakeup;
int is_not_pnp;
/* Suspend on DBUS7 Low */
int suspend_dbus7;
int in_is_isochronous;
int out_is_isochronous;
int suspend_pull_downs;
int use_serial;
int usb_version;
int use_usb_version;
int max_power;
char *manufacturer;
char *product;
char *serial;
/* 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) */
int cbus_function[10];
int high_current;
int high_current_a;
int high_current_b;
int invert;
int external_oscillator;
/*2232H/4432H Group specific values */
/* Group0 is AL on 2322H and A on 4232H
Group1 is AH on 2232H and B on 4232H
Group2 is BL on 2322H and C on 4232H
Group3 is BH on 2232H and C on 4232H*/
int group0_drive;
int group0_schmitt;
int group0_slew;
int group1_drive;
int group1_schmitt;
int group1_slew;
int group2_drive;
int group2_schmitt;
int group2_slew;
int group3_drive;
int group3_schmitt;
int group3_slew;
int powersave;
int clock_polarity;
int data_order;
int flow_control;
int user_data_addr;
int user_data_size;
const char *user_data;
int size;
/* EEPROM Type 0x46 for 93xx46, 0x56 for 93xx56 and 0x66 for 93xx66*/
int chip;
unsigned char buf[FTDI_MAX_EEPROM_SIZE];
int release_number;
};
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