Skip to content
  • Andreas Fritiofson's avatar
    Add FTDI JTAG driver using MPSSE layer · f5e97b5e
    Andreas Fritiofson authored
    
    
    Based on ft2232.c but uses the MPSSE layer for low-level access, greatly
    simplifying the JTAG logic. Remove all libftdi/FTD2XX code and all layout
    specific code. Layout specifications are instead handled in Tcl.
    
    Use a signal abstraction to enable Tcl configuration files to define
    outputs for one or several FTDI GPIO. These outputs can then be
    controlled using the ftdi_set_signal command. Special signal names are
    reserved for nTRST, nSRST and LED (for blink) so that they, if defined,
    will be used for their customary purpose.
    
    Depending on the type of buffer attached to the FTDI GPIO, the outputs
    have to be controlled differently. In order to support tristateable
    signals such as nSRST, both a data GPIO and an output-enable GPIO can be
    specified for each signal. The following output buffer configurations are
    supported:
    
    * Push-pull with one FTDI output as (non-)inverted data line
    * Open drain with one FTDI output as (non-)inverted output-enable
    * Tristate with one FTDI output as (non-)inverted data line and another
      FTDI output as (non-)inverted output-enable
    * Unbuffered, using the FTDI GPIO as a tristate output directly by
      switching data and direction as necessary
    
    The data and output-enables are specified as 16-bit bitmasks,
    corresponding to the concatenation of the high and low FTDI GPIO
    registers. To specify an unbuffered output, use the same bitmask
    for both data and output-enable.
    
    The adapter configuration file must also specify default values for the
    FTDI data and direction GPIO registers, and the channel being used (if
    different from 0).
    
    Change-Id: I287a41d4c696cf5fc74eb10d5e63578b0dc7f826
    Signed-off-by: default avatarAndreas Fritiofson <andreas.fritiofson@gmail.com>
    Reviewed-on: http://openocd.zylin.com/452
    
    
    Tested-by: jenkins
    Reviewed-by: default avatarPeter Stuge <peter@stuge.se>
    f5e97b5e