@@ -193,6 +193,7 @@ static int redbee_init(void);
static int lisa_l_init(void);
static int flossjtag_init(void);
static int xds100v2_init(void);
static int digilent_hs1_init(void);
/* reset procedures for supported layouts */
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 redbee_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 */
static void olimex_jtag_blink(void);
@@ -337,6 +339,11 @@ static const struct ft2232_layout ft2232_layouts[] = {
.init = xds100v2_init,
.reset = xds100v2_reset,
},
{ .name = "digilent-hs1",
.init = digilent_hs1_init,
.reset = digilent_hs1_reset,
.channel = INTERFACE_A,
},
{ .name = NULL, /* END OF TABLE */ },
};
@@ -4179,6 +4186,33 @@ static void ktlink_blink(void)
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[] = {
{
.name = "ft2232_device_desc",