X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fjtag%2Fjtag.h;h=feb4614fa6fe5c6ff3cd06baf4cef70102c8f87c;hp=062563d349b5f26756959b4d28483ead996cbb6d;hb=87c90393fedc8bb278d189aa53bcd93f4892012b;hpb=08d4411b59dd8bd0e7d8009003b71d23acbf6eee
diff --git a/src/jtag/jtag.h b/src/jtag/jtag.h
index 062563d349..feb4614fa6 100644
--- a/src/jtag/jtag.h
+++ b/src/jtag/jtag.h
@@ -16,24 +16,15 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
-* along with this program; if not, write to the *
-* Free Software Foundation, Inc., *
-* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *
+* along with this program. If not, see . *
***************************************************************************/
-#ifndef JTAG_H
-#define JTAG_H
+#ifndef OPENOCD_JTAG_JTAG_H
+#define OPENOCD_JTAG_JTAG_H
#include
#include
-
-#ifdef _DEBUG_JTAG_IO_
-#define DEBUG_JTAG_IO(expr ...) \
- do { if (1) LOG_DEBUG(expr); } while (0)
-#else
-#define DEBUG_JTAG_IO(expr ...) \
- do { if (0) LOG_DEBUG(expr); } while (0)
-#endif
+#include
#ifndef DEBUG_JTAG_IOZ
#define DEBUG_JTAG_IOZ 64
@@ -56,15 +47,6 @@
typedef enum tap_state {
TAP_INVALID = -1,
-#if BUILD_ZY1000
- /* These are the old numbers. Leave as-is for now... */
- TAP_RESET = 0, TAP_IDLE = 8,
- TAP_DRSELECT = 1, TAP_DRCAPTURE = 2, TAP_DRSHIFT = 3, TAP_DREXIT1 = 4,
- TAP_DRPAUSE = 5, TAP_DREXIT2 = 6, TAP_DRUPDATE = 7,
- TAP_IRSELECT = 9, TAP_IRCAPTURE = 10, TAP_IRSHIFT = 11, TAP_IREXIT1 = 12,
- TAP_IRPAUSE = 13, TAP_IREXIT2 = 14, TAP_IRUPDATE = 15,
-
-#else
/* Proper ARM recommended numbers */
TAP_DREXIT2 = 0x0,
TAP_DREXIT1 = 0x1,
@@ -82,10 +64,16 @@ typedef enum tap_state {
TAP_IRUPDATE = 0xd,
TAP_IRCAPTURE = 0xe,
TAP_RESET = 0x0f,
-
-#endif
} tap_state_t;
+/**
+ * Defines arguments for reset functions
+ */
+#define SRST_DEASSERT 0
+#define SRST_ASSERT 1
+#define TRST_DEASSERT 0
+#define TRST_ASSERT 1
+
/**
* Function tap_state_name
* Returns a string suitable for display representing the JTAG tap_state
@@ -107,7 +95,7 @@ extern tap_state_t cmd_queue_cur_state;
* jtag_add_dr_scan_check() to validate the value that was scanned out.
*/
struct scan_field {
- /** The number of bits this field specifies (up to 32) */
+ /** The number of bits this field specifies */
int num_bits;
/** A pointer to value to be scanned into the device */
const uint8_t *out_value;
@@ -121,9 +109,9 @@ struct scan_field {
};
struct jtag_tap {
- const char *chip;
- const char *tapname;
- const char *dotted_name;
+ char *chip;
+ char *tapname;
+ char *dotted_name;
int abs_chain_position;
/** Is this TAP disabled after JTAG reset? */
bool disabled_after_reset;
@@ -155,8 +143,6 @@ struct jtag_tap {
struct jtag_tap_event_action *event_action;
struct jtag_tap *next_tap;
- /* dap instance if some null if no instance , initialized to 0 by calloc*/
- struct adiv5_dap *dap;
/* private pointer to support none-jtag specific functions */
void *priv;
};
@@ -166,8 +152,8 @@ void jtag_tap_free(struct jtag_tap *tap);
struct jtag_tap *jtag_all_taps(void);
const char *jtag_tap_name(const struct jtag_tap *tap);
-struct jtag_tap *jtag_tap_by_string(const char* dotted_name);
-struct jtag_tap *jtag_tap_by_jim_obj(Jim_Interp* interp, Jim_Obj *obj);
+struct jtag_tap *jtag_tap_by_string(const char *dotted_name);
+struct jtag_tap *jtag_tap_by_jim_obj(Jim_Interp *interp, Jim_Obj *obj);
struct jtag_tap *jtag_tap_by_position(unsigned abs_position);
struct jtag_tap *jtag_tap_next_enabled(struct jtag_tap *p);
unsigned jtag_tap_count_enabled(void);
@@ -214,11 +200,11 @@ struct jtag_tap_event_action {
};
/**
- * Defines the function signature requide for JTAG event callback
+ * Defines the function signature required for JTAG event callback
* functions, which are added with jtag_register_event_callback()
* and removed jtag_unregister_event_callback().
* @param event The event to handle.
- * @param prive A pointer to data that was passed to
+ * @param priv A pointer to data that was passed to
* jtag_register_event_callback().
* @returns Must return ERROR_OK on success, or an error code on failure.
*
@@ -253,7 +239,7 @@ int jtag_config_khz(unsigned khz);
*/
int jtag_config_rclk(unsigned fallback_speed_khz);
-/** Retreives the clock speed of the JTAG interface in KHz. */
+/** Retrieves the clock speed of the JTAG interface in KHz. */
unsigned jtag_get_speed_khz(void);
enum reset_types {
@@ -396,7 +382,7 @@ typedef intptr_t jtag_callback_data_t;
typedef void (*jtag_callback1_t)(jtag_callback_data_t data0);
/** A simpler version of jtag_add_callback4(). */
-void jtag_add_callback(jtag_callback1_t, jtag_callback_data_t data0);
+void jtag_add_callback(jtag_callback1_t f, jtag_callback_data_t data0);
/**
@@ -411,7 +397,7 @@ void jtag_add_callback(jtag_callback1_t, jtag_callback_data_t data0);
* assumptions about what the callback does or what its arguments are.
* These callbacks are typically executed *after* the *entire* JTAG
* queue has been executed for e.g. USB interfaces, and they are
- * guaranteeed to be invoked in the order that they were queued.
+ * guaranteed to be invoked in the order that they were queued.
*
* If the execution of the queue fails before the callbacks, then --
* depending on driver implementation -- the callbacks may or may not be
@@ -461,7 +447,7 @@ void jtag_add_tlr(void);
* path when transitioning to/from end
* state.
*
- * A list of unambigious single clock state transitions, not
+ * A list of unambiguous single clock state transitions, not
* all drivers can support this, but it is required for e.g.
* XScale and Xilinx support
*
@@ -609,33 +595,6 @@ void jtag_sleep(uint32_t us);
#define ERROR_JTAG_TRANSITION_INVALID (-109)
#define ERROR_JTAG_INIT_SOFT_FAIL (-110)
-/**
- * jtag_add_dr_out() is a version of jtag_add_dr_scan() which
- * only scans data out. It operates on 32 bit integers instead
- * of 8 bit, which makes it a better impedance match with
- * the calling code which often operate on 32 bit integers.
- *
- * Current or end_state can not be TAP_RESET. end_state can be TAP_INVALID
- *
- * num_bits[i] is the number of bits to clock out from value[i] LSB first.
- *
- * If the device is in bypass, then that is an error condition in
- * the caller code that is not detected by this fn, whereas
- * jtag_add_dr_scan() does detect it. Similarly if the device is not in
- * bypass, data must be passed to it.
- *
- * If anything fails, then jtag_error will be set and jtag_execute() will
- * return an error. There is no way to determine if there was a failure
- * during this function call.
- *
- * This is an inline fn to speed up embedded hosts. Also note that
- * interface_jtag_add_dr_out() can be a *small* inline function for
- * embedded hosts.
- *
- * There is no jtag_add_dr_outin() version of this fn that also allows
- * clocking data back in. Patches gladly accepted!
- */
-
/**
* Set the current JTAG core execution error, unless one was set
* by a previous call previously. Driver or application code must
@@ -666,13 +625,8 @@ bool jtag_poll_get_enabled(void);
*/
void jtag_poll_set_enabled(bool value);
-
-/* The minidriver may have inline versions of some of the low
- * level APIs that are used in inner loops. */
#include
-bool transport_is_jtag(void);
-
int jim_jtag_newtap(Jim_Interp *interp, int argc, Jim_Obj *const *argv);
-#endif /* JTAG_H */
+#endif /* OPENOCD_JTAG_JTAG_H */