+ *
+ * Note! TAP_RESET must not be used in the path!
+ *
+ * Note that the first on the list must be reachable
+ * via a single transition from the current state.
+ *
+ * All drivers are required to implement jtag_add_pathmove().
+ * However, if the pathmove sequence can not be precisely
+ * executed, an interface_jtag_add_pathmove() or jtag_execute_queue()
+ * must return an error. It is legal, but not recommended, that
+ * a driver returns an error in all cases for a pathmove if it
+ * can only implement a few transitions and therefore
+ * a partial implementation of pathmove would have little practical
+ * application.
+ */
+extern void jtag_add_pathmove(int num_states, enum tap_state *path);
+extern int interface_jtag_add_pathmove(int num_states, enum tap_state *path);
+/* go to TAP_IDLE, if we're not already there and cycle
+ * precisely num_cycles in the TAP_IDLE after which move
+ * to the end state, if it is != TAP_IDLE
+ *
+ * nb! num_cycles can be 0, in which case the fn will navigate
+ * to endstate via TAP_IDLE
+ */
+extern void jtag_add_runtest(int num_cycles, enum tap_state endstate);
+extern int interface_jtag_add_runtest(int num_cycles, enum tap_state endstate);
+/* A reset of the TAP state machine can be requested.
+ *
+ * Whether tms or trst reset is used depends on the capabilities of
+ * the target and jtag interface(reset_config command configures this).
+ *
+ * srst can driver a reset of the TAP state machine and vice
+ * versa
+ *
+ * Application code may need to examine value of jtag_reset_config
+ * to determine the proper codepath
+ *
+ * DANGER! Even though srst drives trst, trst might not be connected to
+ * the interface, and it might actually be *harmful* to assert trst in this case.
+ *
+ * This is why combinations such as "reset_config srst_only srst_pulls_trst"
+ * are supported.
+ *
+ * only req_tlr_or_trst and srst can have a transition for a
+ * call as the effects of transitioning both at the "same time"
+ * are undefined, but when srst_pulls_trst or vice versa,
+ * then trst & srst *must* be asserted together.