target/arm_adi_v5: move DP register definitions to one block
[fw/openocd] / src / jtag / jtag.h
index eda4ccdd570293d125cae1d6bf808f3d43f67554..86091e6a7103d7d22ec42aaf3f2abc9976c5410c 100644 (file)
 *   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 <http://www.gnu.org/licenses/>. *
 ***************************************************************************/
 
-#ifndef JTAG_H
-#define JTAG_H
+#ifndef OPENOCD_JTAG_JTAG_H
+#define OPENOCD_JTAG_JTAG_H
 
 #include <helper/binarybuffer.h>
 #include <helper/log.h>
 
-#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
-
 #ifndef DEBUG_JTAG_IOZ
 #define DEBUG_JTAG_IOZ 64
 #endif
 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 +63,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 +94,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;
@@ -155,8 +142,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 +151,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 chardotted_name);
-struct jtag_tap *jtag_tap_by_jim_obj(Jim_Interpinterp, 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 +199,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 +238,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 +381,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 +396,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 +446,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
  *
@@ -639,13 +624,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 <jtag/minidriver.h>
 
-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 */