aboutsummaryrefslogtreecommitdiff
path: root/src/jtag/drivers/ft2232.c
AgeCommit message (Collapse)Author
2012-09-27jtag: remove libftdi enum-compare warningSpencer Oliver
See Trac #52 for details. Change-Id: Idb509ead2b51bfcceeb00d0224a4d1c395b28a04 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/801 Tested-by: jenkins Reviewed-by: Olivier Schonken <olivier.schonken@gmail.com> Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
2012-07-30Add support for FT232H chipsFreddie Chopin
FT232H chips are new highspeed devices from FTDI. Basically these are a half of FT2232H (or a quarter of FT4232H), so only one channel which can be used as OpenOCD interface. The chips are supported by libftdi 0.20 or later and by ftd2xx 2.08.12 or later. Change-Id: Ic9a2c279167c3419a24f0d6befacbb83c4ffeb25 Signed-off-by: Freddie Chopin <freddie.chopin@gmail.com> Reviewed-on: http://openocd.zylin.com/736 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-by: Salvador Arroyo <sarroyofdez@yahoo.es>
2012-04-10ft2232: Support for Digilent HS1 USB adapterStephane Bonnet
* Added support to the FT2232 driver for the FT2232H-based Digilent HS1 adapter. Change-Id: Iab6cc15f299badaf115615b5d4d785ecb2273c27 Signed-off-by: Stephane Bonnet <bonnetst@hds.utc.fr> Reviewed-on: http://openocd.zylin.com/558 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2012-02-06build: cleanup src/jtag/drivers directorySpencer Oliver
Change-Id: I99c08ec0132d5a15250050e718310f1ddd9fe546 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/425 Tested-by: jenkins
2012-01-04Change return value on error.Mathias K
On wrong parameters a error is signalized to the calling function. Change-Id: I484443fdb39938e20382edc9246d5ec546a5c960 Signed-off-by: Mathias K <kesmtp@freenet.de> Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com> Reviewed-on: http://openocd.zylin.com/282 Tested-by: jenkins Reviewed-by: Øyvind Harboe <oyvindharboe@gmail.com>
2011-11-15Add Tincantools Flyswatter2 supportMarek Vasut
This is a successor to the Flyswatter cable and is very close to the original. The new revision is based on FT2232H. Change-Id: Icc6efcf0e4f9d8a10b65df8679b4973f6b375a9f Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Cc: David Anders <danders@tincantools.com> Reviewed-on: http://openocd.zylin.com/193 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2011-11-10ft2232: fix warning about assignment to local variableØyvind Harboe
variable is not read afterwards. Change-Id: I905bbb10c596190f75494e6c6ad400a3e51843f6 Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com> Reviewed-on: http://openocd.zylin.com/192 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2011-11-10ft2232: Set PWR_RST and LOOPBACK for xds100v2Kyle Manna
The CPLD on the xds100v2 expects to see a rising edge on PWR_RST to enable the outputs. This patch creates that transition correctly by fixing the direction register for PWR_RST. THe CPLD will also loop back the data if the LOOPBACK signal is asserted. Set this signal to an output and keep it clear. This was tested with a TI DM3730 Beagleboard xM. Change-Id: I4ea216bef6ae5c40e935741af5c69dc844d5d494 Signed-off-by: Kyle Manna <kyle.manna@fuel7.com> Reviewed-on: http://openocd.zylin.com/189 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2011-08-11ftd2xx: fix build warningsSpencer Oliver
Due to build warnings introduced in newer versions of ftd2xx we use strings to report errors rather than result codes. This also gives us the same behaviour as libftdi. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-07-12ftd2xx: handle FT_GetLatencyTimer bug in v1.04Spencer Oliver
Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-07-12ft2232: Fix warnings when building against D2XXSteve Bennett
The default is -Werror, so warnings become errors Signed-off-by: Steve Bennett <steveb@workware.net.au> Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-06-13transport: move files over to transport folderØyvind Harboe
as we introduce swd and jtag as two transports, we want to start up with a new transport folder to organize the code a bit.
2011-06-12cleanup trailing whitespacesRodrigo L. Rosa
2011-06-12Added minimodule (ftdi) interfaceRodrigo L. Rosa
2011-05-01adapter speed: require init script setting and centralize activation from ↵Jonas Hörberg
drivers to core.c Signed-off-by: Jonas Hörberg <jhorberg@sauer-danfoss.com>
2011-03-03ft2232: fix log message and change log output to debugMathias K
2011-02-24ft2232: fix possible read buffer overflowMathias K
This patch fix a possible read buffer overflow in ft2232_execute_queue. Also the correct read queue size for libftdi and libftd2xx was added and and tested. In function ft2232_write a uninitialized value was initialized because we don't know if this value was set in the ftdi api call.
2011-02-14ft2232: add functions for ft2232 set data bits high/low byte commandMathias K
reduce duplication. No change in behavior.
2011-01-26add basic TI xds100v2 supportMathias K
Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-01-09nit: more LOG_* \n fixesEric Wetzel
Remove extra \n from LOG_DEBUG, LOG_INFO, and LOG_WARNING messages Remove LOG_INFO_N LOG_INFO_N was only used once and had a \n at the end Change LOG_USER_N calls that end with \n to LOG_USER
2011-01-05nit: do not add \n at end of LOG_ERROREric Wetzel
Fixed in many other places, and submitted in response to Øyvind's invitation.
2010-12-08build: fix build from previous commitSpencer Oliver
commit 740b9e25b410c164e661d0334a9ea4168406726b broke the drivers for ftdi and parport due to retval already being defined. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2010-12-08jtag: getting the JTAG speed can failØyvind Harboe
If the JTAG speed has not been set, then it has no defined value, add code to propagate the error. No change to actual behavior as no new failure paths have been introduced. This is a no-op patch to make subsequent patches smaller. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2010-11-30Some cosmetic fixes to the Lisa/L layout support functions.Piotr Esden-Tempski
2010-11-30Added support for the blinking leds on Floss-JTAG v0.3 and newer.Piotr Esden-Tempski
2010-08-13Added support for the Lisa/L jtag LEDs.Piotr Esden-Tempski
2010-08-13Added support for Lisa/L builtin JTAG interface.Piotr Esden-Tempski
2010-07-19more careful luminary initDavid Brownell
Set up more of the Luminary-specific signals, and stop cloning a few of the JTAG defaults. More comments too. Still leaves the "dap info 0" bugs unresolved (presumably coupled to this particular adapter family) where TPIU, ITM, DWT, and other debug modules wrongly display as extra NVICs. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-07-18comments for Luminary ICDI layoutDavid Brownell
Provide $defines for more of the signals involved in the Luminary ICDI hardware, and comment some of what's going on. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-07-09transport selection tweaksDavid Brownell
* Bugfix and simplify legacy jtag-only defaulting * Make "dummy" declare its jtag-only nature * likewise update ft2232 * warn if selection is _required_ (multi-transport adapters), fixes the "only ft2232 works" bug for at least dummy, with other drivers going the "legacy" path (submit patches). Signed-off-by: David Brownell <db@helium.(none)>
2010-07-09transport: fix bug/typo in transport_register cmdSpencer Oliver
Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2010-07-02initial "transport" frameworkDavid Brownell
This adds the guts of a transport framework with initialization, which should work with current JTAG-only configurations (tested with FT2232). Each debug adapter can declare the transports it supports, and exactly one transport is initialized. (with its commands) in any given OpenOCD session. * Define a new "struct transport with init hooks and a few "transport" subcommands to support it: "list" ... list the transports configured (just "jtag" for now) "select" ... makes the debug session use that transport "init" ... initializes the selected transport (internal) * "interface_transports" ... declares transports the current interface can support. (Some will do this from C code instead, when there are no hardware versioning (or other) issues to prevent it. Plus some FT2232 tweaks, including a few to streamline upcoming support for an SWD transport (initially for Luminary adapters). Eventually src/jtag should probably become src/transport, moving jtag-specific stuff to transport/jtag. Signed-off-by: David Brownell <db@helium.(none)>
2010-07-02ft2232: revert ft2232_read_scan changesSpencer Oliver
Revert change made in commit dd88b461da1cb8642200dd5c96fb1ff384ca9f7b. Caused segfaults when using ftdi driver under win32. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2010-07-01ft2232: bugfix from previous commitSpencer Oliver
fix build error with commit dd88b461da1cb8642200dd5c96fb1ff384ca9f7b Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2010-07-01ft2232: simplify ft2232_read_scanMarc Pignat
2010-07-01ft2232: cleanup ft2232_writeMarc Pignat
* Include the size check into ft2232_write, so calling it is simpler. * Use sizeof(buffer) when possible
2010-06-07jtag: rename JTAG_MOVESTATE to JTAG_TLR_RESETØyvind Harboe
JTAG_MOVESTATE is misleading, this cmd is only used for reset. JTAG_PATHMOVE should be used otherwise. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2010-03-24FT2232 Messaaging fixDavid Brownell
The init cleanup patch overlooked a message which was wrongly specific to the "usbjtag" layout. Fix. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-03-21ft2232 init mess cleanupDavid Brownell
In the ft2232 driver, initialization for many layouts punts to a routine called usbjtag_init(), instead of a routine specific to each layout. That routine is a mess built around a "what type layout am I" core. That's a bad design ... in this case, especially so, since it bypasses the layout-specific dispatch which was just done, and obfuscates the initialization which is at least somewhat generic, instead of being specific to the "usbjtag" layout. Split and document out the generic parts of usbjtag_init(), and make the rest of those layouts have layout-specific init methods. Also, rename usbjtag_reset() ... that also was not specific to the "usbjtag" layout, and thus contributed to the previous code structure confusion. (Eventually, all layout-specific code (and method tables) should probably live in files specific to each layout. These changes will facilitate those and other cleanups to this driver.) Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-03-19FT2232 comment tweaksDavid Brownell
Note that the FT4232 chips have four channels not two, and Elaborate on uses of the additional channels. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-03-15FT2232: bulidfixSpencer Oliver
Fix build issue with commit c23d4596d2239bdbba080499de837f53e0c89e59 Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2010-03-14FT2232: lookup and save layout just onceDavid Brownell
Streamline use of the layout: have the "ft2232_layout" command look it up and save the result, instead of having a few different chunks of code looking it up later, and saving just its name (which is already part of the layout). This - is cleaner - reports errors sooner - facilitates earlier adapter-specific setup - removes unused "default to "usbjtag" logic Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-02-28FT2232: add missing enum when using ftd2xx librarySpencer Oliver
Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2010-02-28Add board/redbee-usb.cfgMariano Alvira
The Redbee USB is a small form-factor usb stick from Redwire, LLC (www.redwirellc.com/store), built around a Freescale MC13224V ARM7TDMI + 802.15.4 radio (plus antenna). It includes an FT2232H for debugging, with Channel B connected to the mc13224v's JTAG interface (unusual) and Channel A connected to UART1. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-02-27add board/redbee-econotag.cfg and JTAG supportMariano Alvira
The Redbee Econotag is an open hardware development kit from Redwire, LLC (www.redwirellc.com/store), for the Freescale MC13224V ARM7TDMI + 802.15.4 radio. It includes both an MC13224V and an FT2232H (for JTAG and UART support). It has flexible power supply options. Additional features are: - inverted-F pcb antenna - 36 GPIO brought out to 0.1" pin header (includes all peripheral pins) - Reset button - Two push buttons (on kbi1-5 and kbi0-4) - USB-A connector, powered from USB - up to 16V external input - pads for optional buck inductor - pads for optional 32.768kHz crystal - 2x LEDS on TX_ON and RX_ON [ dbrownell@users.sourceforge.net: shrink lines; texi ] Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-02-27ft2232: implement TMS sequence commandDavid Brownell
Implement the new TMS_SEQ command on FT2232 hardware. Also, swap a bogus exit() call with a clean failure return. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-02-25ft2232: add a mechanism to specify channel in layout structsMariano Alvira
FT2232-family chips have two or more MPSSE modules. FTDI documentation calls these channels. JTAG adapter drivers thus need to be able to choose which channel to use. (For example, one channel may connect to a board's microcontroller, while another connects to a CPLD.) Since each channel has its own USB interface, libftdi (somewhat confusingly) identifies channels using INTERFACE_* symbols. Most boards use INTERFACE_A for JTAG, which is the default in OpenOCD. But some wire up a different one. Note that there are two facets of what makes a wiring "layout": - The mapping between debug signals map and channel signals ... embedded in C functions. - Label used in Tcl configuration scripts ... part of the "layout" structure. By letting the channel be part of the layout struct, we permit sharing the C functions between Tcl-visible layouts, when those signal mappings are reused. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-02-21ft2232 table init cleanupDavid Brownell
Use labeled initializers in the table of layouts instead of positional ones. This ls cleaner and less error prone, plus it simplifies patches which add members to these structure. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-01-03FT2232: fix doc typoDavid Brownell
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2010-01-03JTAG/drivers: ft2232 docsDavid Brownell
Add doxyegen description for this driver. Correct the helptext (configures *or* displays based on #params), and usage (use the same BNF as the User's Guide). Remove superfluous #include Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>