aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/jtag/hla/hla_transport.c8
-rw-r--r--src/jtag/jtag.h2
-rw-r--r--src/jtag/swd.h2
-rw-r--r--src/jtag/tcl.c1
-rw-r--r--src/target/cortex_a.c2
-rw-r--r--src/transport/transport.h19
6 files changed, 29 insertions, 5 deletions
diff --git a/src/jtag/hla/hla_transport.c b/src/jtag/hla/hla_transport.c
index 5a5671d..ddacea3 100644
--- a/src/jtag/hla/hla_transport.c
+++ b/src/jtag/hla/hla_transport.c
@@ -233,3 +233,11 @@ static void hl_constructor(void)
transport_register(&hl_jtag_transport);
transport_register(&stlink_swim_transport);
}
+
+bool transport_is_hla(void)
+{
+ struct transport *t;
+ t = get_current_transport();
+ return t == &hl_swd_transport || t == &hl_jtag_transport
+ || t == &stlink_swim_transport;
+}
diff --git a/src/jtag/jtag.h b/src/jtag/jtag.h
index 7702d6c..751facb 100644
--- a/src/jtag/jtag.h
+++ b/src/jtag/jtag.h
@@ -642,8 +642,6 @@ 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 /* OPENOCD_JTAG_JTAG_H */
diff --git a/src/jtag/swd.h b/src/jtag/swd.h
index c888cc0..52f41d5 100644
--- a/src/jtag/swd.h
+++ b/src/jtag/swd.h
@@ -211,6 +211,4 @@ struct swd_driver {
int swd_init_reset(struct command_context *cmd_ctx);
void swd_add_reset(int req_srst);
-bool transport_is_swd(void);
-
#endif /* OPENOCD_JTAG_SWD_H */
diff --git a/src/jtag/tcl.c b/src/jtag/tcl.c
index bc6bbf2..e32f0ca 100644
--- a/src/jtag/tcl.c
+++ b/src/jtag/tcl.c
@@ -42,6 +42,7 @@
#endif
#include <helper/time_support.h>
+#include "transport/transport.h"
/**
* @file
diff --git a/src/target/cortex_a.c b/src/target/cortex_a.c
index 37098af..74f30cb 100644
--- a/src/target/cortex_a.c
+++ b/src/target/cortex_a.c
@@ -54,7 +54,7 @@
#include "target_type.h"
#include "arm_opcodes.h"
#include "arm_semihosting.h"
-#include "jtag/swd.h"
+#include "transport/transport.h"
#include <helper/time_support.h>
static int cortex_a_poll(struct target *target);
diff --git a/src/transport/transport.h b/src/transport/transport.h
index 6c57067..d0a77dd 100644
--- a/src/transport/transport.h
+++ b/src/transport/transport.h
@@ -19,6 +19,10 @@
#ifndef OPENOCD_TRANSPORT_TRANSPORT_H
#define OPENOCD_TRANSPORT_TRANSPORT_H
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include "helper/command.h"
/**
@@ -90,4 +94,19 @@ int allow_transports(struct command_context *ctx, const char * const *vector);
bool transports_are_declared(void);
+bool transport_is_jtag(void);
+bool transport_is_swd(void);
+
+/* FIXME: ZY1000 test build on jenkins is configured with enabled hla adapters
+ * but jtag/hla/hla_*.c files are not compiled. To workaround the problem we assume hla
+ * is broken if BUILD_ZY1000 is set */
+#if BUILD_HLADAPTER && !BUILD_ZY1000
+bool transport_is_hla(void);
+#else
+static inline bool transport_is_hla(void)
+{
+ return false;
+}
+#endif
+
#endif /* OPENOCD_TRANSPORT_TRANSPORT_H */