summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-06-04 07:05:22 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-06-04 07:05:22 +0000
commitbb1a1ddb541808ef404473a22721231cdfe96929 (patch)
tree9b33e8c2505b7ca6cec4e53386ba612e3f1d70ab
parent9ab49135c639e6ed5e3997356b54c6cf79d04985 (diff)
downloadopenocd+libswd-bb1a1ddb541808ef404473a22721231cdfe96929.tar.gz
openocd+libswd-bb1a1ddb541808ef404473a22721231cdfe96929.tar.bz2
openocd+libswd-bb1a1ddb541808ef404473a22721231cdfe96929.tar.xz
openocd+libswd-bb1a1ddb541808ef404473a22721231cdfe96929.zip
jtag_add_end_state() now returns the value of the global variable and does not modify the global variable if passed TAP_INVALID. This patch has no effect on the current code and is just to prepare upcoming patches.
git-svn-id: svn://svn.berlios.de/openocd/trunk@2041 b42882b7-edfa-0310-969c-e2dbd0fdcd60
-rw-r--r--src/jtag/jtag.c9
-rw-r--r--src/jtag/jtag.h11
2 files changed, 16 insertions, 4 deletions
diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c
index 0733789f..2c53f9f4 100644
--- a/src/jtag/jtag.c
+++ b/src/jtag/jtag.c
@@ -773,13 +773,16 @@ void jtag_add_reset(int req_tlr_or_trst, int req_srst)
}
}
-void jtag_add_end_state(tap_state_t state)
+tap_state_t jtag_add_end_state(tap_state_t state)
{
- cmd_queue_end_state = state;
- if ((cmd_queue_end_state == TAP_DRSHIFT)||(cmd_queue_end_state == TAP_IRSHIFT))
+ if ((state == TAP_DRSHIFT)||(state == TAP_IRSHIFT))
{
LOG_ERROR("BUG: TAP_DRSHIFT/IRSHIFT can't be end state. Calling code should use a larger scan field");
}
+
+ if (state!=TAP_INVALID)
+ cmd_queue_end_state = state;
+ return cmd_queue_end_state;
}
void jtag_add_sleep(u32 us)
diff --git a/src/jtag/jtag.h b/src/jtag/jtag.h
index 5fbe7dc1..0d7d15e9 100644
--- a/src/jtag/jtag.h
+++ b/src/jtag/jtag.h
@@ -488,7 +488,16 @@ extern void jtag_add_runtest(int num_cycles, tap_state_t endstate);
*/
extern void jtag_add_reset(int req_tlr_or_trst, int srst);
-extern void jtag_add_end_state(tap_state_t endstate);
+
+/**
+ * Function jtag_add_stable_clocks
+ *
+ * Set a global variable to \a state if \a state != TAP_INVALID.
+ *
+ * Return the value of the global variable.
+ *
+ **/
+extern tap_state_t jtag_add_end_state(tap_state_t state);
extern void jtag_add_sleep(u32 us);