ft2232: Support for Digilent HS1 USB adapter
* 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>
This commit is contained in:
parent
108a458ab8
commit
57dce9560a
|
@ -374,6 +374,8 @@ Stellaris eval boards, they can be used to debug other target boards.
|
||||||
@* Link @url{http://www.hitex.com/index.php?id=cortino}
|
@* Link @url{http://www.hitex.com/index.php?id=cortino}
|
||||||
@item @b{dlp-usb1232h}
|
@item @b{dlp-usb1232h}
|
||||||
@* Link @url{http://www.dlpdesign.com/usb/usb1232h.shtml}
|
@* Link @url{http://www.dlpdesign.com/usb/usb1232h.shtml}
|
||||||
|
@item @b{digilent-hs1}
|
||||||
|
@* Link @url{http://www.digilentinc.com/Products/Detail.cfm?Prod=JTAG-HS1}
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
@section USB-JTAG / Altera USB-Blaster compatibles
|
@section USB-JTAG / Altera USB-Blaster compatibles
|
||||||
|
|
|
@ -193,6 +193,7 @@ static int redbee_init(void);
|
||||||
static int lisa_l_init(void);
|
static int lisa_l_init(void);
|
||||||
static int flossjtag_init(void);
|
static int flossjtag_init(void);
|
||||||
static int xds100v2_init(void);
|
static int xds100v2_init(void);
|
||||||
|
static int digilent_hs1_init(void);
|
||||||
|
|
||||||
/* reset procedures for supported layouts */
|
/* reset procedures for supported layouts */
|
||||||
static void ftx23_reset(int trst, int srst);
|
static void ftx23_reset(int trst, int srst);
|
||||||
|
@ -211,6 +212,7 @@ static void signalyzer_h_reset(int trst, int srst);
|
||||||
static void ktlink_reset(int trst, int srst);
|
static void ktlink_reset(int trst, int srst);
|
||||||
static void redbee_reset(int trst, int srst);
|
static void redbee_reset(int trst, int srst);
|
||||||
static void xds100v2_reset(int trst, int srst);
|
static void xds100v2_reset(int trst, int srst);
|
||||||
|
static void digilent_hs1_reset(int trst, int srst);
|
||||||
|
|
||||||
/* blink procedures for layouts that support a blinking led */
|
/* blink procedures for layouts that support a blinking led */
|
||||||
static void olimex_jtag_blink(void);
|
static void olimex_jtag_blink(void);
|
||||||
|
@ -337,6 +339,11 @@ static const struct ft2232_layout ft2232_layouts[] = {
|
||||||
.init = xds100v2_init,
|
.init = xds100v2_init,
|
||||||
.reset = xds100v2_reset,
|
.reset = xds100v2_reset,
|
||||||
},
|
},
|
||||||
|
{ .name = "digilent-hs1",
|
||||||
|
.init = digilent_hs1_init,
|
||||||
|
.reset = digilent_hs1_reset,
|
||||||
|
.channel = INTERFACE_A,
|
||||||
|
},
|
||||||
{ .name = NULL, /* END OF TABLE */ },
|
{ .name = NULL, /* END OF TABLE */ },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -4179,6 +4186,33 @@ static void ktlink_blink(void)
|
||||||
buffer_write(high_direction);
|
buffer_write(high_direction);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/********************************************************************
|
||||||
|
* Support for Digilent HS-1
|
||||||
|
* JTAG adapter from Digilent
|
||||||
|
* http://www.digilent.com
|
||||||
|
* Author: Stephane Bonnet bonnetst@hds.utc.fr
|
||||||
|
*******************************************************************/
|
||||||
|
|
||||||
|
static int digilent_hs1_init(void)
|
||||||
|
{
|
||||||
|
/* the adapter only supports the base JTAG signals, no nTRST
|
||||||
|
nor nSRST */
|
||||||
|
low_output = 0x88;
|
||||||
|
low_direction = 0x8b;
|
||||||
|
|
||||||
|
/* initialize low byte for jtag */
|
||||||
|
if (ft2232_set_data_bits_low_byte(low_output, low_direction) != ERROR_OK) {
|
||||||
|
LOG_ERROR("couldn't initialize FT2232 with 'digilent_hs1' layout");
|
||||||
|
return ERROR_JTAG_INIT_FAILED;
|
||||||
|
}
|
||||||
|
return ERROR_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void digilent_hs1_reset(int trst, int srst)
|
||||||
|
{
|
||||||
|
/* Dummy function, no reset signals supported. */
|
||||||
|
}
|
||||||
|
|
||||||
static const struct command_registration ft2232_command_handlers[] = {
|
static const struct command_registration ft2232_command_handlers[] = {
|
||||||
{
|
{
|
||||||
.name = "ft2232_device_desc",
|
.name = "ft2232_device_desc",
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
#
|
||||||
|
# Digilent HS1
|
||||||
|
#
|
||||||
|
# The Digilent HS1 is a high-speed FT2232H-based adapter, compliant with the
|
||||||
|
# Xilinx JTAG 14-pin pinout.
|
||||||
|
# It does not support ARM reset signals (SRST and TRST) but can still be used for
|
||||||
|
# hardware debugging, with some limitations.
|
||||||
|
#
|
||||||
|
# http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,395,922&Prod=JTAG-HS1
|
||||||
|
#
|
||||||
|
|
||||||
|
interface ft2232
|
||||||
|
ft2232_device_desc "Digilent Adept USB Device"
|
||||||
|
ft2232_layout digilent-hs1
|
||||||
|
ft2232_vid_pid 0x0403 0x6010
|
Loading…
Reference in New Issue