ft2232: add a mechanism to specify channel in layout structs
authorMariano Alvira <mar@devl.org>
Thu, 25 Feb 2010 08:01:55 +0000 (00:01 -0800)
committerDavid Brownell <dbrownell@users.sourceforge.net>
Thu, 25 Feb 2010 08:01:55 +0000 (00:01 -0800)
commit4a64820f230a267b1f2e36d4be567074e5b8cb76
tree06e1de5f6acfd9fad41eee15a17cef2fd0de66c4
parent79010bf3dfad01ff11b37a9a6c79452a604c596d
ft2232: add a mechanism to specify channel in layout structs

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>
src/jtag/drivers/ft2232.c