aboutsummaryrefslogtreecommitdiff
path: root/src/jtag/jtag.h
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-04-28 19:02:29 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-04-28 19:02:29 +0000
commitabeee8b4c237914a87921f2e3aa733b9fc699908 (patch)
tree25e33425178011c2c8a99edb9cd888eaa2df71b5 /src/jtag/jtag.h
parentf1864e3e92fc901e59aeb55eb45d1505efdd34a2 (diff)
Dick Hollenbeck <dick@softplc.com> and Jeff Williams tap_get_tms_path_len()
git-svn-id: svn://svn.berlios.de/openocd/trunk@1557 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/jtag/jtag.h')
-rw-r--r--src/jtag/jtag.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/jtag/jtag.h b/src/jtag/jtag.h
index 434320b4..e0761463 100644
--- a/src/jtag/jtag.h
+++ b/src/jtag/jtag.h
@@ -181,6 +181,25 @@ tap_state_t tap_get_end_state(void);
*/
int tap_get_tms_path(tap_state_t from, tap_state_t to);
+
+/**
+ * Function int tap_get_tms_path_len
+ * returns the total number of bits that represents a TMS path
+ * transition as given by the function tap_get_tms_path().
+ *
+ * For at least one interface (JLink) it's not OK to simply "pad" TMS sequences
+ * to fit a whole byte. (I suspect this is a general TAP problem within OOCD.)
+ * Padding TMS causes all manner of instability that's not easily
+ * discovered. Using this routine we can apply EXACTLY the state transitions
+ * required to make something work - no more - no less.
+ *
+ * @param from is the starting state
+ * @param to is the resultant or final state
+ * @return int - the total number of bits in a transition.
+ */
+int tap_get_tms_path_len(tap_state_t from, tap_state_t to);
+
+
/**
* Function tap_move_ndx
* when given a stable state, returns an index from 0-5. The index corresponds to a