X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fjtag%2Fdrivers%2Fft2232.c;h=e6a7363fc20f28742b0a15b1afcf4ea7c702c4d8;hp=3a156bfea7d048194d97e2925fa883fa5e069b9c;hb=57dce9560a2885782860b127fd1629798d659440;hpb=108a458ab88880d063c29e1d09820fe6b62251dc diff --git a/src/jtag/drivers/ft2232.c b/src/jtag/drivers/ft2232.c index 3a156bfea7..e6a7363fc2 100644 --- a/src/jtag/drivers/ft2232.c +++ b/src/jtag/drivers/ft2232.c @@ -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",