summaryrefslogtreecommitdiff
path: root/src/jtag
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-09-17 11:23:41 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-09-17 11:23:41 +0000
commit016e7ebbfa034926c980b4b33b964f6078541690 (patch)
treef5bf6aaba52e21262ee88b4cf70c999c55bf9f6c /src/jtag
parentcb7ad25c0404147a0a60f04c3b8fa8ac7386bb29 (diff)
downloadopenocd+libswd-016e7ebbfa034926c980b4b33b964f6078541690.tar.gz
openocd+libswd-016e7ebbfa034926c980b4b33b964f6078541690.tar.bz2
openocd+libswd-016e7ebbfa034926c980b4b33b964f6078541690.tar.xz
openocd+libswd-016e7ebbfa034926c980b4b33b964f6078541690.zip
srst_gates_jtag option. at91sam9260 needs retesting, and possibly srst_gates_jtag added to reset_config. Could i.MX27 be a case where srst does not pull trst, but really srst gates jtag clock?
git-svn-id: svn://svn.berlios.de/openocd/trunk@2720 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/jtag')
-rw-r--r--src/jtag/jtag.h1
-rw-r--r--src/jtag/tcl.c8
2 files changed, 9 insertions, 0 deletions
diff --git a/src/jtag/jtag.h b/src/jtag/jtag.h
index b7bfd4cc..f716806b 100644
--- a/src/jtag/jtag.h
+++ b/src/jtag/jtag.h
@@ -277,6 +277,7 @@ enum reset_types {
RESET_TRST_PULLS_SRST = 0x8,
RESET_TRST_OPEN_DRAIN = 0x10,
RESET_SRST_PUSH_PULL = 0x20,
+ RESET_SRST_GATES_JTAG = 0x40,
};
enum reset_types jtag_get_reset_config(void);
diff --git a/src/jtag/tcl.c b/src/jtag/tcl.c
index e6928a2b..1658f76a 100644
--- a/src/jtag/tcl.c
+++ b/src/jtag/tcl.c
@@ -845,6 +845,14 @@ static int handle_reset_config_command(struct command_context_s *cmd_ctx, char *
int tmp = 0;
int m;
+ m = RESET_SRST_GATES_JTAG;
+ tmp = 0;
+ if (strcmp(*args, "srst_gates_jtag") == 0)
+ {
+ tmp = RESET_SRST_GATES_JTAG;
+ goto next;
+ }
+
/* signals */
m = RESET_HAS_TRST | RESET_HAS_SRST;
if (strcmp(*args, "none") == 0)