summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2006-08-14 10:02:55 +0000
committerdrath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2006-08-14 10:02:55 +0000
commit15294929e299c2e06282723c12965da2de14327a (patch)
tree397b2b8411252cd6bc3a16f7d4cdd1ec423b7ab5
parentec0f06db114d1cc9d1d59acd8f4e3b32414d5b8e (diff)
downloadopenocd+libswd-15294929e299c2e06282723c12965da2de14327a.tar.gz
openocd+libswd-15294929e299c2e06282723c12965da2de14327a.tar.bz2
openocd+libswd-15294929e299c2e06282723c12965da2de14327a.tar.xz
openocd+libswd-15294929e299c2e06282723c12965da2de14327a.zip
- added support for the Signalyzer USB->JTAG dongle (www.signalyzer.com)
git-svn-id: svn://svn.berlios.de/openocd/trunk@84 b42882b7-edfa-0310-969c-e2dbd0fdcd60
-rw-r--r--src/jtag/ft2232.c32
1 files changed, 24 insertions, 8 deletions
diff --git a/src/jtag/ft2232.c b/src/jtag/ft2232.c
index 64975825..862003f5 100644
--- a/src/jtag/ft2232.c
+++ b/src/jtag/ft2232.c
@@ -95,6 +95,7 @@ ft2232_layout_t ft2232_layouts[] =
{"usbjtag", usbjtag_init, usbjtag_reset},
{"jtagkey", jtagkey_init, jtagkey_reset},
{"jtagkey_prototype_v1", jtagkey_init, jtagkey_reset},
+ {"signalyzer", usbjtag_init, usbjtag_reset},
{NULL, NULL, NULL},
};
@@ -893,15 +894,15 @@ int ft2232_init(void)
#elif BUILD_FT2232_LIBFTDI == 1
DEBUG("'ft2232' interface using libftdi with '%s' layout", ft2232_layout);
#endif
-
+
+#if BUILD_FT2232_FTD2XX == 1
+ /* Open by device description */
if (ft2232_device_desc == NULL)
{
WARNING("no ftd2xx device description specified, using default 'Dual RS232'");
ft2232_device_desc = "Dual RS232";
}
-
-#if BUILD_FT2232_FTD2XX == 1
-
+
#if IS_WIN32 == 0
/* Add non-standard Vid/Pid to the linux driver */
if ((status = FT_SetVIDPID(ft2232_vid, ft2232_pid)) != FT_OK)
@@ -1046,10 +1047,25 @@ int usbjtag_init(void)
low_output = 0x08;
low_direction = 0x0b;
- nTRST = 0x10;
- nTRSTnOE = 0x10;
- nSRST = 0x40;
- nSRSTnOE = 0x40;
+ if (strcmp(ft2232_layout, "usbjtag") == 0)
+ {
+ nTRST = 0x10;
+ nTRSTnOE = 0x10;
+ nSRST = 0x40;
+ nSRSTnOE = 0x40;
+ }
+ else if (strcmp(ft2232_layout, "signalyzer") == 0)
+ {
+ nTRST = 0x10;
+ nTRSTnOE = 0x10;
+ nSRST = 0x20;
+ nSRSTnOE = 0x20;
+ }
+ else
+ {
+ ERROR("BUG: usbjtag_init called for unknown layout '%s'", ft2232_layout);
+ return ERROR_JTAG_INIT_FAILED;
+ }
if (jtag_reset_config & RESET_TRST_OPEN_DRAIN)
{