remove target argument from gdb packet handling functions
[fw/openocd] / src / jtag / jtag.h
index a6d16e932e59f5479e5c8148c1476ed3c1a97c68..a3ce3711694d3442b5a2356faef022ac42d6e2ed 100644 (file)
@@ -2,7 +2,7 @@
 *   Copyright (C) 2005 by Dominic Rath                                    *
 *   Dominic.Rath@gmx.de                                                   *
 *                                                                         *
-*   Copyright (C) 2007,2008 Øyvind Harboe                                 *
+*   Copyright (C) 2007-2010 Øyvind Harboe                                 *
 *   oyvind.harboe@zylin.com                                               *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
@@ -112,7 +112,7 @@ struct scan_field {
        /// The number of bits this field specifies (up to 32)
        int num_bits;
        /// A pointer to value to be scanned into the device
-       uint8_t* out_value;
+       const uint8_t* out_value;
        /// A pointer to a 32-bit memory location for data scanned out
        uint8_t* in_value;
 
@@ -164,6 +164,8 @@ 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; 
 };
 
 void jtag_tap_init(struct jtag_tap *tap);
@@ -173,6 +175,7 @@ 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_position(unsigned abs_position);
 struct jtag_tap* jtag_tap_next_enabled(struct jtag_tap* p);
 unsigned jtag_tap_count_enabled(void);
 unsigned jtag_tap_count(void);
@@ -239,7 +242,7 @@ int jtag_call_event_callbacks(enum jtag_event event);
 
 
 /// @returns The current JTAG speed setting.
-int jtag_get_speed(void);
+int jtag_get_speed(int *speed);
 
 /**
  * Given a @a speed setting, use the interface @c speed_div callback to
@@ -311,6 +314,10 @@ int  adapter_init(struct command_context* cmd_ctx);
 /// Shutdown the debug adapter upon program exit.
 int  adapter_quit(void);
 
+/// Set ms to sleep after jtag_execute_queue() flushes queue. Debug
+/// purposes.
+void jtag_set_flush_queue_sleep(int ms);
+
 /**
  * Initialize JTAG chain using only a RESET reset. If init fails,
  * try reset + init.
@@ -661,8 +668,6 @@ void jtag_sleep(uint32_t us);
  * called with a non-zero error code.
  */
 void jtag_set_error(int error);
-/// @returns The current value of jtag_error
-int jtag_get_error(void);
 /**
  * Resets jtag_error to ERROR_OK, returning its previous value.
  * @returns The previous value of @c jtag_error.
@@ -691,4 +696,8 @@ void jtag_poll_set_enabled(bool value);
  * level APIs that are used in inner loops. */
 #include <jtag/minidriver.h>
 
+bool transport_is_jtag(void);
+
+int jim_jtag_newtap(Jim_Interp *interp, int argc, Jim_Obj *const *argv);
+
 #endif /* JTAG_H */