Uwe Bonnes [Wed, 15 Sep 2010 15:33:39 +0000]
EEPROM: Add missing closing brace
Uwe Bonnes [Wed, 15 Sep 2010 15:32:48 +0000]
EEPROM: Null out buffer after allocation
Uwe Bonnes [Wed, 15 Sep 2010 15:31:01 +0000]
FT2232H: Handle suspend_pull_downs when encoding
Uwe Bonnes [Wed, 15 Sep 2010 14:19:53 +0000]
Decoded max_power is in mA and 90 mA for TYPE_R and 100mA else
Uwe Bonnes [Wed, 15 Sep 2010 11:20:31 +0000]
Fix decoding of FT(2|4)232H channel A type
Uwe Bonnes [Tue, 14 Sep 2010 15:11:47 +0000]
Add option to write eeprom
Uwe Bonnes [Tue, 14 Sep 2010 15:05:38 +0000]
ftdi_write_eeprom_location access to checksum protected area will produce checksum errors, so check - access is about byte 0xff - eeprom chip is of type 93c66, so high area exists - ftdi device can handle 93c66
Uwe Bonnes [Tue, 14 Sep 2010 14:07:56 +0000]
use_serial is used in all devices beside AM types. So move out of the switch(ftdi->type) construct
Uwe Bonnes [Tue, 14 Sep 2010 13:50:54 +0000]
max_power eeprom value is in 2 mA Steps
Uwe Bonnes [Tue, 14 Sep 2010 13:49:55 +0000]
Use the PNP flag as seen with FTD2XX
Uwe Bonnes [Tue, 14 Sep 2010 13:21:16 +0000]
Document ftdi_eeprom_initdefaults Add return value to ftdi_eeprom_initdefaults
Uwe Bonnes [Tue, 14 Sep 2010 13:11:47 +0000]
Handle manufacturer/product/serial strings internal Set these string as arguments to ftdi_eeprom_build Remove exported function ftdi_eeprom_free
Uwe Bonnes [Tue, 14 Sep 2010 12:46:02 +0000]
Provide internal eeprom structure buffer with internal byte buffer Purge external eeprom structure buffer and eeprom read/write byte buffer from API
Uwe Bonnes [Mon, 13 Sep 2010 14:57:32 +0000]
Use allocated ftdi structure
Uwe Bonnes [Fri, 10 Sep 2010 21:20:48 +0000]
Initialize use_defaults
Uwe Bonnes [Fri, 10 Sep 2010 21:20:05 +0000]
Correct the CBUS decode string arrays
Uwe Bonnes [Fri, 10 Sep 2010 20:54:39 +0000]
Example for the EEPROM API
Uwe Bonnes [Fri, 10 Sep 2010 20:41:35 +0000]
Add description of EEPROM Structure as decoded by now. Please comment!
Uwe Bonnes [Fri, 10 Sep 2010 20:40:29 +0000]
Fix and verbose decode of TYPE_R CBUS functions and pin inversion
Uwe Bonnes [Fri, 10 Sep 2010 19:59:40 +0000]
Release values in EEPROM structure are not user changable. Remove it from the ftdi_eeprom structure
Uwe Bonnes [Fri, 10 Sep 2010 19:56:07 +0000]
CBUS Mus has 0xd as highest number
Uwe Bonnes [Fri, 10 Sep 2010 19:55:36 +0000]
Add a lost comment
Uwe Bonnes [Fri, 10 Sep 2010 19:53:20 +0000]
Build EEPROM type specific bytes and bites in a switch construct
Uwe Bonnes [Fri, 10 Sep 2010 19:47:55 +0000]
Fix writing the strings
Uwe Bonnes [Fri, 10 Sep 2010 19:40:28 +0000]
when building the eeprom image, use the actual determined eeprom size
Uwe Bonnes [Fri, 10 Sep 2010 19:38:28 +0000]
Set eeprom->release when building the eeprom content from the chip type Add releases for TYPE_2232H and TYPE_4232H
Uwe Bonnes [Fri, 10 Sep 2010 19:36:11 +0000]
eeprom->channel_a_type must be initialized
Uwe Bonnes [Fri, 10 Sep 2010 19:35:44 +0000]
Fix logic flow after
Uwe Bonnes [Fri, 10 Sep 2010 17:35:58 +0000]
Next try to get the VCP/D2XX logic right. TYPE_R in inverted
Uwe Bonnes [Fri, 10 Sep 2010 13:34:04 +0000]
A set bit means load D2XX driver. Revers logic and names
Uwe Bonnes [Fri, 10 Sep 2010 13:27:25 +0000]
Get the test on TYPE_R for unexpected In-Endpoint sizes right
Uwe Bonnes [Fri, 10 Sep 2010 13:25:31 +0000]
TYPE_E EEPROM Byte 1 bit 4 is expected to be IN Endpoint size Request user feedback if unexpected values seen
Uwe Bonnes [Fri, 10 Sep 2010 13:18:28 +0000]
EEPROM bit for high current IO seems at different bits for TYPE_R and TYPE_2232C
Uwe Bonnes [Fri, 10 Sep 2010 12:47:48 +0000]
The USB Version seems to be always set in EEPROM EEPROM byte[0x0a] bit 4 (change_usb_version) was never seen set. Remove it and request user report if ever seen set
Uwe Bonnes [Fri, 10 Sep 2010 12:06:28 +0000]
Temporary remove CBUS settings
Uwe Bonnes [Fri, 10 Sep 2010 11:31:17 +0000]
max_power EEPROM default is 100 mA
Uwe Bonnes [Fri, 10 Sep 2010 11:24:57 +0000]
ftdi_eeprom_build needs to know EEPROM chip type
Uwe Bonnes [Fri, 10 Sep 2010 11:20:37 +0000]
When erasing EEPROM, detect chip type (none,internal,93xc46|56|66)
Uwe Bonnes [Fri, 10 Sep 2010 10:41:00 +0000]
Decode connected chip
Uwe Bonnes [Fri, 10 Sep 2010 09:32:47 +0000]
max_power in mA is EEPROM[0x09]*2
Uwe Bonnes [Fri, 10 Sep 2010 09:21:54 +0000]
FT2232C has version 0x0500 in EEPROM as default
Uwe Bonnes [Fri, 10 Sep 2010 09:20:08 +0000]
Comprare ftdi->type and do not set it in EEPROM Structure initialization
Uwe Bonnes [Fri, 10 Sep 2010 09:17:46 +0000]
All x232 type have (at least) two USB channels
Uwe Bonnes [Fri, 10 Sep 2010 09:16:52 +0000]
EEPROM Size check must cope with different types
Uwe Bonnes [Fri, 10 Sep 2010 09:09:38 +0000]
Define the CBUS Multiplexer as an ENUM
Uwe Bonnes [Thu, 9 Sep 2010 22:55:00 +0000]
Revisit eeprom_initdefualts Symbolic constant for USE_SERIAL_NUM
Uwe Bonnes [Thu, 9 Sep 2010 22:25:06 +0000]
More verbosity for remote wake up, pull low and suspend on dbus7
Uwe Bonnes [Thu, 9 Sep 2010 22:24:00 +0000]
Evaluate eeprom Byte 0 Bit 7: Suspend on DBUS7 low
Uwe Bonnes [Thu, 9 Sep 2010 21:33:11 +0000]
Decode the x232H specific port functions
Uwe Bonnes [Thu, 9 Sep 2010 21:10:42 +0000]
Fix channel mode specific bits, noisy output
Uwe Bonnes [Thu, 9 Sep 2010 21:03:46 +0000]
Channel Mode is encoded in bits 0..2, VCP is bit 3 Noisy decode
Uwe Bonnes [Thu, 9 Sep 2010 20:41:51 +0000]
EEPROM: Evaluate the channel specific settings
Uwe Bonnes [Thu, 9 Sep 2010 20:32:39 +0000]
EEPROM: Fix typos around high_cuttent_drive and make code comipile again. Will care for initializing and encoding later
Uwe Bonnes [Thu, 9 Sep 2010 20:29:16 +0000]
EEPROM High current bit is byte 0 Bit 4 for a and Byte 1 bit 4 for b
Uwe Bonnes [Thu, 9 Sep 2010 20:15:21 +0000]
On FT2232D, eeprom->change_usb_version was not set with changed version
Uwe Bonnes [Thu, 9 Sep 2010 20:10:47 +0000]
EEPROM: CBUS functions only work on TYPE_R devices
Uwe Bonnes [Thu, 9 Sep 2010 20:07:50 +0000]
WWPROM: Invert datalines only works on FT232R
Uwe Bonnes [Wed, 8 Sep 2010 17:43:30 +0000]
Remove forgotten print formatter
Uwe Bonnes [Wed, 8 Sep 2010 17:41:40 +0000]
Fill out control structure for EEPROM decoding
Uwe Bonnes [Wed, 8 Sep 2010 17:13:21 +0000]
Fix a wrong argument
Uwe Bonnes [Wed, 8 Sep 2010 17:12:50 +0000]
Unconditionally set/reset eeprom values
Uwe Bonnes [Wed, 8 Sep 2010 17:07:48 +0000]
When reading EEPROM strings, clip active, as rollover doesn't work for the FT2232R
Uwe Bonnes [Wed, 8 Sep 2010 17:07:15 +0000]
Add missing clause
Uwe Bonnes [Wed, 8 Sep 2010 17:01:39 +0000]
On request, dump arguments during EEPROM decoding
Uwe Bonnes [Wed, 8 Sep 2010 16:16:59 +0000]
Chip Type dependend code must be evaluated type dependant
Uwe Bonnes [Wed, 8 Sep 2010 16:08:17 +0000]
EEPROM [6] and [7] seems more used like a release variable. Name accordingly
Uwe Bonnes [Wed, 8 Sep 2010 15:57:18 +0000]
EEPROM[02] is VID, so high_current must be defined somewhere else
Uwe Bonnes [Wed, 8 Sep 2010 15:55:00 +0000]
On 93xx46, the Manufacturer/Product/Vendor Pointer gets clipped anyways, so don't clip to get things right on 93xx56 and 93x66 Only write strings if allocation succeeded
Uwe Bonnes [Wed, 8 Sep 2010 14:11:19 +0000]
Don't erase the EEPROM size
Uwe Bonnes [Wed, 8 Sep 2010 14:10:41 +0000]
Remove dead code.
Uwe Bonnes [Wed, 8 Sep 2010 14:02:48 +0000]
For EEPROM decoding, use the evaluated EEPROM size. FT223R is special case, as the EEPROM holds more information than is used for the checksum
Uwe Bonnes [Wed, 8 Sep 2010 14:01:32 +0000]
Remove ftdi_eeprom_getsize also from the CPP Wrapper
Uwe Bonnes [Wed, 8 Sep 2010 13:50:06 +0000]
Remove ftdi_read_eeprom_getsize() function. Integrate in into the ftdi_read_eeprom() function. On ftdi_eeprom_write() another approach is needed
Uwe Bonnes [Wed, 8 Sep 2010 13:16:54 +0000]
We need to handle at max 256 Bytes on an attached 93xx66 EEPROM
Uwe Bonnes [Wed, 8 Sep 2010 12:58:43 +0000]
Correct ftdi_eeprom_free()
Uwe Bonnes [Wed, 8 Sep 2010 11:16:33 +0000]
Use ftdi_error_return for EEPROM error returns
Uwe Bonnes [Wed, 8 Sep 2010 10:00:31 +0000]
Let the eeprom functions work on the ftdi_context, not the ftdi_eeprom structure
Thomas Jarosch [Thu, 16 Sep 2010 08:28:45 +0000]
Correct (signedness) issues detected by -Wall
Thomas Jarosch [Thu, 16 Sep 2010 08:25:53 +0000]
Fix initialization order (found by -Wall)
Uwe Bonnes [Wed, 8 Sep 2010 09:01:51 +0000]
Add -Wall to compiler flags
Uwe Bonnes [Wed, 8 Sep 2010 09:58:03 +0000]
stream_test.c cleanup
Hermann Kraus [Wed, 18 Aug 2010 07:50:55 +0000]
Support for FT232R eeprom features
From the mailinglist:
Hello!
I added support for creating FT232R-EEPROM images. They differ from
FT232BM images making communication unreliable if you don't get them right:
- Addr 0x00: Bit 6 selects between normal and high-current output mode
- Addr 0x01: IN endpoint size. !!! It is essential to set this to 0x40 to
get reliable communication! !!!
- Addr 0x07: (Device version) Was changed from 0x04 to 0x06
- Addr 0x0B: Invert outputs. Bit numbers:
0 TXD
1 RXD
2 RTS#
3 CTS#
4 DTR#
5 DSR#
6 DCD#
7 RI#
- Addr 0x14-0x16: Change function of CBUS pins. Low nibble of 0x14 is
CBUS0, high nibble CBUS1 and so on.
Values (hex):
TXDEN = 0
PWREN# = 1
RXLED# = 2
TXLED# = 3
TX_RX_LED# = 4
SLEEP# = 5
CLK48 = 6
CLK24 = 7
CLK12 = 8
CLK6 = 9
IO_MODE = A
BIT_WR = B
BIT_RD = C
RXF/TXE/RD/WR = D
It should be noted that 0x14-0x16 are used by the current library to
strings and therefore change behavior depending on the string descriptor.
In images created by FT_Prog 0x17 is 0 so I threat this as reserved.
FT_Prog has problems parsing string descriptor from devices written by
ftdi-eeprom without this patch.
I also have investigated FT2232L-EEPROM (=FT2232C) but have no final
conclusion yet,
because I don't want to change the information in this device. Just some
obvious differences.
- Addr 0x00/0x01: value 0x11 0x08
- Addr 0x07: (Device version) 0x05
- Addr 0x14/0x15: value 0x46 0x00
String descriptors start at 0x16.
Thomas Jarosch [Mon, 16 Aug 2010 16:06:42 +0000]
C++ wrapper: Fix infinite recursion in set_bitmode()
Reported by Hermann Kraus
Flynn Marquardt [Wed, 14 Jul 2010 07:53:17 +0000]
Python wrapper: Fix argument type of ftdi_read_chipid
Thomas Jarosch [Wed, 14 Jul 2010 07:46:12 +0000]
Update AUTHORS and fix code indent
Yi-Shin Li [Sun, 11 Jul 2010 15:08:11 +0000]
bug fix for async write and read
* In ftdi_write_data_cb(), the tc->offset should be accumulated with
transfer->actual_length.
* In ftdi_transfer_data_done(), the tc->transfer could be NULL if
"(size <= ftdi->readbuffer_remaining)" at ftdi_read_data_submit().
Therefore, has to check if it's NULL before accessing it.
Martin Zenzes (spacelab1-u) [Thu, 1 Jul 2010 10:49:19 +0000]
gitignore: temporary swp-files created by vim
nothing special here, just a plain .*.swp
Signed-off-by: Martin Zenzes (spacelab1-u) <mzenzes@mega2000.de>
Thomas Jarosch [Fri, 25 Jun 2010 10:57:22 +0000]
Always enable async mode using libusb 1.x
It's no longer linux specific (depends on platform support).
Mike Frysinger [Tue, 22 Jun 2010 23:02:06 +0000]
libftdi: add a --without-docs flag
Allow people to easily & forcibly disable doxygen support. This is useful
in builds where we only want the library and nothing else.
The default is unchanged -- configure still searches for doxygen.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Tue, 22 Jun 2010 22:46:09 +0000]
libftdi: add a --without-examples configure flag
There's a few places where I'm only concerned with building the libftdi
library (for integrating it into a JTAG program), so the examples are just
noise to me. As such, add an --without-examples configure flag so people
can easily disable the subdir. The default is unchanged -- examples are
still compiled & installed.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Tue, 22 Jun 2010 23:42:11 +0000]
fix build failure in libusb_context change
Current git tree build fails:
ftdi.c: In function 'ftdi_transfer_data_done':
ftdi.c:1513:36: error: 'ftdi' undeclared (first use in this function)
This function has a ftdi_transfer_control tc, not a ftdi_context ftdi.
Probably want to squash this into commit:
02212d8e84cccd393a95612d4c4a5ec495fa3e2e
Store and use the libusb_context
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Emmanuel Blot [Sat, 19 Jun 2010 20:59:54 +0000]
Fix up build on Mac OS X:
* Fix up Boost library management
* Fix up Python bindings
* Discard attempt to build C++ examples when Boost is not available
Emmanuel Blot [Sat, 19 Jun 2010 20:43:48 +0000]
Fix up string formatting for long long integers (64 bits)
Uwe Bonnes [Mon, 21 Jun 2010 08:44:10 +0000]
Store and use the libusb_context
Wilfried Holzke [Mon, 14 Jun 2010 07:20:14 +0000]
Add ftdi_eeprom_free() to free allocated memory in eeprom
Uwe Bonnes [Thu, 10 Jun 2010 13:50:35 +0000]
Correct version of ftdi_readstream agains GIT Head
Uwe Bonnes [Thu, 10 Jun 2010 12:36:54 +0000]
Export ftdi_readstream()
Thomas Jarosch [Thu, 10 Jun 2010 15:53:23 +0000]
Enhance FTDI driver message once more
Thomas Jarosch [Wed, 9 Jun 2010 16:32:34 +0000]
More generic error message for the FTDI kernel driver
Uwe Bonnes [Mon, 31 May 2010 13:46:55 +0000]
Provide a streaming read, base on code from Micah Dowty
Hello,
with appended code and a revised verilog code, I can reliable read blocks of
16 Bytes of date generated about each Microsecond, like running for about
500 seconds:
8 errors of
375293955 blocks (2.131662e-08), 9 (2.398120e-08) blocks skipped
From time to time some one or two blocks are skipped, which is something to
expect, as I only have about 128 byte of additional FIFO beside the FT2232H
internal fifo. First test showed that a larger FIFO lead to some more skips,
either by some flaw in my logic or some strange behaviour of the FT2232H
chip.
Writing the generated data to disk leads to skips for several to several ten
microseconds each several to several seconds. Probably the BLK (big kernel
lock) hits here.
The patch only adds some definition to ftdi.h and the additional file
ftdi_stream.c, with Micah Dowty okay to dual license his code. so I hope it
is okay to apply. Should the verilog code be inclided in libftdi too?