ft2232: Support for Digilent HS1 USB adapter
authorStephane Bonnet <bonnetst@hds.utc.fr>
Wed, 4 Apr 2012 19:05:25 +0000 (21:05 +0200)
committerSpencer Oliver <spen@spen-soft.co.uk>
Tue, 10 Apr 2012 20:19:47 +0000 (20:19 +0000)
* 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>
doc/openocd.texi
src/jtag/drivers/ft2232.c
tcl/interface/digilent-hs1.cfg [new file with mode: 0644]

index 71605ecea39fb88e3e5ee6e4b741c0c0bf3ac72b..55fbf4ff386897af3580165900e6818660f0953b 100644 (file)
@@ -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}
 @item @b{dlp-usb1232h}
 @* 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
 
 @section USB-JTAG / Altera USB-Blaster compatibles
index 3a156bfea7d048194d97e2925fa883fa5e069b9c..e6a7363fc20f28742b0a15b1afcf4ea7c702c4d8 100644 (file)
@@ -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",
diff --git a/tcl/interface/digilent-hs1.cfg b/tcl/interface/digilent-hs1.cfg
new file mode 100644 (file)
index 0000000..e35f0cf
--- /dev/null
@@ -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

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)