]> git.gag.com Git - fw/openocd/commitdiff
oocd_trace: drop the code, deprecated in v0.10.0
authorAntonio Borneo <borneo.antonio@gmail.com>
Sun, 1 Nov 2020 09:41:47 +0000 (10:41 +0100)
committerAntonio Borneo <borneo.antonio@gmail.com>
Fri, 19 Mar 2021 21:55:15 +0000 (21:55 +0000)
The code for oocd_trace has been marked as deprecated in release
v0.10.0, 4 years ago.

Time to drop it!

Change-Id: I989f8345dee4ff2369bcf5e2e2ace86bbd5aa6a5
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/6088
Tested-by: jenkins
configure.ac
doc/openocd.texi
src/target/Makefile.am
src/target/etm.c
src/target/oocd_trace.c [deleted file]
src/target/oocd_trace.h [deleted file]

index a8c2e9daf2f23dda01a8d15d64aeba5dd5ab9717..7b555165670b4d387c41865dbbc8746bab30aa0f 100644 (file)
@@ -328,11 +328,6 @@ AC_ARG_ENABLE([gw16012],
   AS_HELP_STRING([--enable-gw16012], [Enable building support for the Gateworks GW16012 JTAG Programmer]),
   [build_gw16012=$enableval], [build_gw16012=no])
 
-AC_ARG_ENABLE([oocd_trace],
-  AS_HELP_STRING([--enable-oocd_trace],
-  [Enable building support for some prototype OpenOCD+trace ETM capture hardware]),
-  [build_oocd_trace=$enableval], [build_oocd_trace=no])
-
 AC_ARG_ENABLE([buspirate],
   AS_HELP_STRING([--enable-buspirate], [Enable building support for the Buspirate]),
   [build_buspirate=$enableval], [build_buspirate=no])
@@ -600,12 +595,6 @@ AS_IF([test "x$build_gw16012" = "xyes"], [
   AC_DEFINE([BUILD_GW16012], [0], [0 if you don't want the Gateworks GW16012 driver.])
 ])
 
-AS_IF([test "x$build_oocd_trace" = "xyes"], [
-  AC_DEFINE([BUILD_OOCD_TRACE], [1], [1 if you want the OpenOCD+trace ETM capture driver.])
-], [
-  AC_DEFINE([BUILD_OOCD_TRACE], [0], [0 if you don't want the OpenOCD+trace ETM capture driver.])
-])
-
 AS_IF([test "x$build_buspirate" = "xyes"], [
   AC_DEFINE([BUILD_BUSPIRATE], [1], [1 if you want the Buspirate JTAG driver.])
 ], [
@@ -778,7 +767,6 @@ AM_CONDITIONAL([JTAG_DPI], [test "x$build_jtag_dpi" = "xyes" -o "x$build_jtag_dp
 AM_CONDITIONAL([USB_BLASTER_DRIVER], [test "x$enable_usb_blaster" != "xno" -o "x$enable_usb_blaster_2" != "xno"])
 AM_CONDITIONAL([AMTJTAGACCEL], [test "x$build_amtjtagaccel" = "xyes"])
 AM_CONDITIONAL([GW16012], [test "x$build_gw16012" = "xyes"])
-AM_CONDITIONAL([OOCD_TRACE], [test "x$build_oocd_trace" = "xyes"])
 AM_CONDITIONAL([REMOTE_BITBANG], [test "x$build_remote_bitbang" = "xyes"])
 AM_CONDITIONAL([BUSPIRATE], [test "x$build_buspirate" = "xyes"])
 AM_CONDITIONAL([SYSFSGPIO], [test "x$build_sysfsgpio" = "xyes"])
@@ -885,13 +873,6 @@ m4_foreach([adapter], [USB1_ADAPTERS, USB0_ADAPTERS,
 ])
 echo
 
-AS_IF([test "x$build_oocd_trace" = "xyes"], [
-  echo 'WARNING! Deprecated configure option (--enable-oocd_trace)'
-  echo 'The oocd_trace driver is deprecated and will be removed in the next release.'
-  echo 'If you regularly use this driver, please report to the OpenOCD Mailing List.'
-  echo
-])
-
 AS_IF([test "x$build_zy1000" = "xyes" -o "x$build_zy1000_master" = "xyes"], [
   echo 'WARNING! Deprecated configure option (--enable-zy1000, --enable-zy1000-master)'
   echo 'Support for the ZY1000 platform is deprecated and will be removed in the next'
index 34168fdaa846ea67a6f27fd92b08fcc781b5cb5c..06d90faca1108b5b8b57f20b2b8df3b40782d5dd 100644 (file)
@@ -8866,29 +8866,6 @@ how the event caused trouble.
 
 @end deffn
 
-@deffn {Trace Port Driver} oocd_trace
-This driver isn't available unless OpenOCD was explicitly configured
-with the @option{--enable-oocd_trace} option. You probably don't want
-to configure it unless you've built the appropriate prototype hardware;
-it's @emph{proof-of-concept} software.
-
-Use the @option{oocd_trace} driver if you are configuring an ETM that's
-connected to an off-chip trace connector.
-
-@deffn {Config Command} {oocd_trace config} target tty
-Associates the ETM for @var{target} with a trace driver which
-collects data through the serial port @var{tty}.
-@end deffn
-
-@deffn Command {oocd_trace resync}
-Re-synchronizes with the capture clock.
-@end deffn
-
-@deffn Command {oocd_trace status}
-Reports whether the capture clock is locked or not.
-@end deffn
-@end deffn
-
 @anchor{armcrosstrigger}
 @section ARM Cross-Trigger Interface
 @cindex CTI
index 6605b678b13507164d4b0ec7f4be358f1895b806..34a78517aa6539a240249b181a160c1d110343e1 100644 (file)
@@ -1,9 +1,3 @@
-if OOCD_TRACE
-OOCD_TRACE_FILES = %D%/oocd_trace.c
-else
-OOCD_TRACE_FILES =
-endif
-
 %C%_libtarget_la_LIBADD = %D%/openrisc/libopenrisc.la \
        %D%/riscv/libriscv.la
 
@@ -111,7 +105,6 @@ ARM_DEBUG_SRC = \
        %D%/trace.c \
        %D%/etb.c \
        %D%/etm.c \
-       $(OOCD_TRACE_FILES) \
        %D%/etm_dummy.c \
        %D%/arm_tpiu_swo.c \
        %D%/arm_cti.c
@@ -225,7 +218,6 @@ ARC_SRC = \
        %D%/mips32_pracc.h \
        %D%/mips32_dmaacc.h \
        %D%/mips64_pracc.h \
-       %D%/oocd_trace.h \
        %D%/register.h \
        %D%/target.h \
        %D%/target_type.h \
index faa941fed494e7688e559d2fc38151f85f03f6d3..19f3691bd0a0729530aee09deeb5a5ca89cc5ecb 100644 (file)
 #include "register.h"
 #include "etm_dummy.h"
 
-#if BUILD_OOCD_TRACE == 1
-#include "oocd_trace.h"
-#endif
-
-
 /*
  * ARM "Embedded Trace Macrocell" (ETM) support -- direct JTAG access.
  *
@@ -642,9 +637,6 @@ static int etm_write_reg(struct reg *reg, uint32_t value)
 static struct etm_capture_driver *etm_capture_drivers[] = {
        &etb_capture_driver,
        &etm_dummy_capture_driver,
-#if BUILD_OOCD_TRACE == 1
-       &oocd_trace_capture_driver,
-#endif
        NULL
 };
 
diff --git a/src/target/oocd_trace.c b/src/target/oocd_trace.c
deleted file mode 100644 (file)
index f38916a..0000000
+++ /dev/null
@@ -1,417 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2007 by Dominic Rath                                    *
- *   Dominic.Rath@gmx.de                                                   *
- *                                                                         *
- *   This program is free software; you can redistribute it and/or modify  *
- *   it under the terms of the GNU General Public License as published by  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
- *   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, see <http://www.gnu.org/licenses/>. *
- ***************************************************************************/
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "arm.h"
-#include "etm.h"
-#include "oocd_trace.h"
-
-/*
- * This is "proof of concept" code, for prototype hardware:
- * https://lists.berlios.de/pipermail/openocd-development/2007-September/000336.html
- */
-
-static int oocd_trace_read_reg(struct oocd_trace *oocd_trace, int reg, uint32_t *value)
-{
-       size_t bytes_written, bytes_read, bytes_to_read;
-       uint8_t cmd;
-
-       cmd = 0x10 | (reg & 0x7);
-       bytes_written = write(oocd_trace->tty_fd, &cmd, 1);
-       if (bytes_written < 1)
-               return ERROR_FAIL;
-
-       bytes_to_read = 4;
-       while (bytes_to_read > 0) {
-               bytes_read = read(oocd_trace->tty_fd, ((uint8_t *)value) + 4 - bytes_to_read, bytes_to_read);
-               bytes_to_read -= bytes_read;
-       }
-
-       LOG_DEBUG("reg #%i: 0x%8.8x", reg, *value);
-
-       return ERROR_OK;
-}
-
-static int oocd_trace_write_reg(struct oocd_trace *oocd_trace, int reg, uint32_t value)
-{
-       size_t bytes_written;
-       uint8_t data[5];
-
-       data[0] = 0x18 | (reg & 0x7);
-       data[1] = value & 0xff;
-       data[2] = (value & 0xff00) >> 8;
-       data[3] = (value & 0xff0000) >> 16;
-       data[4] = (value & 0xff000000) >> 24;
-
-       bytes_written = write(oocd_trace->tty_fd, data, 5);
-       if (bytes_written < 5)
-               return ERROR_FAIL;
-
-       LOG_DEBUG("reg #%i: 0x%8.8x", reg, value);
-
-       return ERROR_OK;
-}
-
-static int oocd_trace_read_memory(struct oocd_trace *oocd_trace, uint8_t *data, uint32_t address, uint32_t size)
-{
-       size_t bytes_written, bytes_to_read;
-       ssize_t bytes_read;
-       uint8_t cmd;
-
-       oocd_trace_write_reg(oocd_trace, OOCD_TRACE_ADDRESS, address);
-       oocd_trace_write_reg(oocd_trace, OOCD_TRACE_SDRAM_COUNTER, size);
-
-       cmd = 0x20;
-       bytes_written = write(oocd_trace->tty_fd, &cmd, 1);
-       if (bytes_written < 1)
-               return ERROR_FAIL;
-
-       bytes_to_read = size * 16;
-       while (bytes_to_read > 0) {
-               bytes_read = read(oocd_trace->tty_fd,
-                               ((uint8_t *)data) + (size * 16) - bytes_to_read, bytes_to_read);
-               if (bytes_read < 0)
-                       LOG_DEBUG("read() returned %zi (%s)", bytes_read, strerror(errno));
-               else
-                       bytes_to_read -= bytes_read;
-       }
-
-       return ERROR_OK;
-}
-
-static int oocd_trace_init(struct etm_context *etm_ctx)
-{
-       uint8_t trash[256];
-       struct oocd_trace *oocd_trace = etm_ctx->capture_driver_priv;
-       size_t bytes_read;
-
-       oocd_trace->tty_fd = open(oocd_trace->tty, O_RDWR | O_NOCTTY | O_NONBLOCK);
-
-       if (oocd_trace->tty_fd < 0) {
-               LOG_ERROR("can't open tty");
-               return ERROR_ETM_CAPTURE_INIT_FAILED;
-       }
-
-       /* clear input & output buffers, then switch to "blocking mode" */
-       tcflush(oocd_trace->tty_fd, TCOFLUSH);
-       tcflush(oocd_trace->tty_fd, TCIFLUSH);
-       fcntl(oocd_trace->tty_fd, F_SETFL, fcntl(oocd_trace->tty_fd, F_GETFL) & ~O_NONBLOCK);
-
-       tcgetattr(oocd_trace->tty_fd, &oocd_trace->oldtio); /* save current port settings */
-
-       bzero(&oocd_trace->newtio, sizeof(oocd_trace->newtio));
-       oocd_trace->newtio.c_cflag = CS8 | CLOCAL | CREAD | B2500000;
-
-       oocd_trace->newtio.c_iflag = IGNPAR | IGNBRK | IXON | IXOFF;
-       oocd_trace->newtio.c_oflag = 0;
-
-       /* set input mode (non-canonical, no echo,...) */
-       oocd_trace->newtio.c_lflag = 0;
-
-       cfmakeraw(&oocd_trace->newtio);
-       oocd_trace->newtio.c_cc[VTIME] = 1;   /* inter-character timer used */
-       oocd_trace->newtio.c_cc[VMIN] = 0;   /* blocking read until 0 chars received */
-
-       tcflush(oocd_trace->tty_fd, TCIFLUSH);
-       tcsetattr(oocd_trace->tty_fd, TCSANOW, &oocd_trace->newtio);
-
-       /* occasionally one bogus character is left in the input buffer
-        * read up any leftover characters to ensure communication is in sync */
-       do {
-               bytes_read = read(oocd_trace->tty_fd, trash, sizeof(trash));
-               if (bytes_read)
-                       LOG_DEBUG("%zi bytes read", bytes_read);
-       } while (bytes_read > 0);
-
-       return ERROR_OK;
-}
-
-static trace_status_t oocd_trace_status(struct etm_context *etm_ctx)
-{
-       struct oocd_trace *oocd_trace = etm_ctx->capture_driver_priv;
-       uint32_t status;
-
-       oocd_trace_read_reg(oocd_trace, OOCD_TRACE_STATUS, &status);
-
-       /* if tracing is currently idle, return this information */
-       if (etm_ctx->capture_status == TRACE_IDLE)
-               return etm_ctx->capture_status;
-       else if (etm_ctx->capture_status & TRACE_RUNNING) {
-               /* check Full bit to identify an overflow */
-               if (status & 0x4)
-                       etm_ctx->capture_status |= TRACE_OVERFLOWED;
-
-               /* check Triggered bit to identify trigger condition */
-               if (status & 0x2)
-                       etm_ctx->capture_status |= TRACE_TRIGGERED;
-
-               if (status & 0x1) {
-                       etm_ctx->capture_status &= ~TRACE_RUNNING;
-                       etm_ctx->capture_status |= TRACE_COMPLETED;
-               }
-       }
-
-       return etm_ctx->capture_status;
-}
-
-static int oocd_trace_read_trace(struct etm_context *etm_ctx)
-{
-       struct oocd_trace *oocd_trace = etm_ctx->capture_driver_priv;
-       uint32_t status, address;
-       uint32_t first_frame = 0x0;
-       uint32_t num_frames = 1048576;
-       uint8_t *trace_data;
-       uint32_t i;
-
-       oocd_trace_read_reg(oocd_trace, OOCD_TRACE_STATUS, &status);
-       oocd_trace_read_reg(oocd_trace, OOCD_TRACE_ADDRESS, &address);
-
-       /* check if we overflowed, and adjust first frame of the trace accordingly
-        * if we didn't overflow, read only up to the frame that would be written next,
-        * i.e. don't read invalid entries
-        */
-       if (status & 0x4)
-               first_frame = address;
-       else
-               num_frames = address;
-
-       /* read data into temporary array for unpacking
-        * one frame from OpenOCD + trace corresponds to 16 trace cycles
-        */
-       trace_data = malloc(sizeof(uint8_t) * num_frames * 16);
-       oocd_trace_read_memory(oocd_trace, trace_data, first_frame, num_frames);
-
-       if (etm_ctx->trace_depth > 0)
-               free(etm_ctx->trace_data);
-
-       etm_ctx->trace_depth = num_frames * 16;
-       etm_ctx->trace_data = malloc(sizeof(struct etmv1_trace_data) * etm_ctx->trace_depth);
-
-       for (i = 0; i < num_frames * 16; i++) {
-               etm_ctx->trace_data[i].pipestat = (trace_data[i] & 0x7);
-               etm_ctx->trace_data[i].packet = (trace_data[i] & 0x78) >> 3;
-               etm_ctx->trace_data[i].flags = 0;
-
-               if ((trace_data[i] & 0x80) >> 7)
-                       etm_ctx->trace_data[i].flags |= ETMV1_TRACESYNC_CYCLE;
-
-               if (etm_ctx->trace_data[i].pipestat == STAT_TR) {
-                       etm_ctx->trace_data[i].pipestat = etm_ctx->trace_data[i].packet & 0x7;
-                       etm_ctx->trace_data[i].flags |= ETMV1_TRIGGER_CYCLE;
-               }
-       }
-
-       free(trace_data);
-
-       return ERROR_OK;
-}
-
-static int oocd_trace_start_capture(struct etm_context *etm_ctx)
-{
-       struct oocd_trace *oocd_trace = etm_ctx->capture_driver_priv;
-       uint32_t control = 0x1; /* 0x1: enabled */
-       uint32_t trigger_count;
-
-       if (((etm_ctx->control & ETM_PORT_MODE_MASK) != ETM_PORT_NORMAL)
-               || ((etm_ctx->control & ETM_PORT_WIDTH_MASK) != ETM_PORT_4BIT)) {
-               LOG_DEBUG("OpenOCD + trace only supports normal 4-bit ETM mode");
-               return ERROR_ETM_PORTMODE_NOT_SUPPORTED;
-       }
-
-       if ((etm_ctx->control & ETM_PORT_CLOCK_MASK) == ETM_PORT_HALF_CLOCK)
-               control |= 0x2; /* half rate clock, capture at twice the clock rate */
-
-       /* OpenOCD + trace holds up to 16 million samples,
-        * but trigger counts is set in multiples of 16 */
-       trigger_count = (1048576 * /* trigger_percent */ 50) / 100;
-
-       /* capturing always starts at address zero */
-       oocd_trace_write_reg(oocd_trace, OOCD_TRACE_ADDRESS, 0x0);
-       oocd_trace_write_reg(oocd_trace, OOCD_TRACE_TRIGGER_COUNTER, trigger_count);
-       oocd_trace_write_reg(oocd_trace, OOCD_TRACE_CONTROL, control);
-
-       /* we're starting a new trace, initialize capture status */
-       etm_ctx->capture_status = TRACE_RUNNING;
-
-       return ERROR_OK;
-}
-
-static int oocd_trace_stop_capture(struct etm_context *etm_ctx)
-{
-       struct oocd_trace *oocd_trace = etm_ctx->capture_driver_priv;
-
-       /* trace stopped, just clear running flag, but preserve others */
-       etm_ctx->capture_status &= ~TRACE_RUNNING;
-
-       oocd_trace_write_reg(oocd_trace, OOCD_TRACE_CONTROL, 0x0);
-
-       return ERROR_OK;
-}
-
-COMMAND_HANDLER(handle_oocd_trace_config_command)
-{
-       struct target *target;
-       struct arm *arm;
-
-       if (CMD_ARGC != 2)
-               return ERROR_COMMAND_SYNTAX_ERROR;
-
-       target = get_current_target(CMD_CTX);
-       arm = target_to_arm(target);
-       if (!is_arm(arm)) {
-               command_print(CMD, "current target isn't an ARM");
-               return ERROR_FAIL;
-       }
-
-       if (arm->etm) {
-               struct oocd_trace *oocd_trace = malloc(sizeof(struct oocd_trace));
-
-               arm->etm->capture_driver_priv = oocd_trace;
-               oocd_trace->etm_ctx = arm->etm;
-
-               /* copy name of TTY device used to communicate with OpenOCD + trace */
-               oocd_trace->tty = strndup(CMD_ARGV[1], 256);
-       } else
-               LOG_ERROR("target has no ETM defined, OpenOCD + trace left unconfigured");
-
-       return ERROR_OK;
-}
-
-COMMAND_HANDLER(handle_oocd_trace_status_command)
-{
-       struct target *target;
-       struct arm *arm;
-       struct oocd_trace *oocd_trace;
-       uint32_t status;
-
-       target = get_current_target(CMD_CTX);
-
-       arm = target_to_arm(target);
-       if (!is_arm(arm)) {
-               command_print(CMD, "current target isn't an ARM");
-               return ERROR_FAIL;
-       }
-
-       if (!arm->etm) {
-               command_print(CMD, "current target doesn't have an ETM configured");
-               return ERROR_FAIL;
-       }
-
-       if (strcmp(arm->etm->capture_driver->name, "oocd_trace") != 0) {
-               command_print(CMD, "current target's ETM capture driver isn't 'oocd_trace'");
-               return ERROR_FAIL;
-       }
-
-       oocd_trace = (struct oocd_trace *)arm->etm->capture_driver_priv;
-
-       oocd_trace_read_reg(oocd_trace, OOCD_TRACE_STATUS, &status);
-
-       if (status & 0x8)
-               command_print(CMD, "trace clock locked");
-       else
-               command_print(CMD, "no trace clock");
-
-       return ERROR_OK;
-}
-
-COMMAND_HANDLER(handle_oocd_trace_resync_command)
-{
-       struct target *target;
-       struct arm *arm;
-       struct oocd_trace *oocd_trace;
-       size_t bytes_written;
-       uint8_t cmd_array[1];
-
-       target = get_current_target(CMD_CTX);
-
-       arm = target_to_arm(target);
-       if (!is_arm(arm)) {
-               command_print(CMD, "current target isn't an ARM");
-               return ERROR_FAIL;
-       }
-
-       if (!arm->etm) {
-               command_print(CMD, "current target doesn't have an ETM configured");
-               return ERROR_FAIL;
-       }
-
-       if (strcmp(arm->etm->capture_driver->name, "oocd_trace") != 0) {
-               command_print(CMD, "current target's ETM capture driver isn't 'oocd_trace'");
-               return ERROR_FAIL;
-       }
-
-       oocd_trace = (struct oocd_trace *)arm->etm->capture_driver_priv;
-
-       cmd_array[0] = 0xf0;
-
-       bytes_written = write(oocd_trace->tty_fd, cmd_array, 1);
-       if (bytes_written < 1)
-               return ERROR_FAIL;
-
-       command_print(CMD, "requesting traceclock resync");
-       LOG_DEBUG("resyncing traceclk pll");
-
-       return ERROR_OK;
-}
-
-static const struct command_registration oocd_trace_all_command_handlers[] = {
-       {
-               .name = "config",
-               .handler = handle_oocd_trace_config_command,
-               .mode = COMMAND_CONFIG,
-               .usage = "<target> <tty>",
-       },
-       {
-               .name = "status",
-               .handler = handle_oocd_trace_status_command,
-               .mode = COMMAND_EXEC,
-               .usage = "",
-               .help = "display OpenOCD + trace status",
-       },
-       {
-               .name = "resync",
-               .handler = handle_oocd_trace_resync_command,
-               .mode = COMMAND_EXEC,
-               .usage = "",
-               .help = "resync OpenOCD + trace capture clock",
-       },
-       COMMAND_REGISTRATION_DONE
-};
-static const struct command_registration oocd_trace_command_handlers[] = {
-       {
-               .name = "oocd_trace",
-               .mode = COMMAND_ANY,
-               .help = "OpenOCD trace capture driver command group",
-               .usage = "",
-               .chain = oocd_trace_all_command_handlers,
-       },
-       COMMAND_REGISTRATION_DONE
-};
-
-struct etm_capture_driver oocd_trace_capture_driver = {
-       .name = "oocd_trace",
-       .commands = oocd_trace_command_handlers,
-       .init = oocd_trace_init,
-       .status = oocd_trace_status,
-       .start_capture = oocd_trace_start_capture,
-       .stop_capture = oocd_trace_stop_capture,
-       .read_trace = oocd_trace_read_trace,
-};
diff --git a/src/target/oocd_trace.h b/src/target/oocd_trace.h
deleted file mode 100644 (file)
index e7584e4..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2007 by Dominic Rath                                    *
- *   Dominic.Rath@gmx.de                                                   *
- *                                                                         *
- *   This program is free software; you can redistribute it and/or modify  *
- *   it under the terms of the GNU General Public License as published by  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
- *   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, see <http://www.gnu.org/licenses/>. *
- ***************************************************************************/
-
-#ifndef OPENOCD_TARGET_OOCD_TRACE_H
-#define OPENOCD_TARGET_OOCD_TRACE_H
-
-#include <termios.h>
-
-/* registers */
-enum {
-       OOCD_TRACE_ID = 0x7,
-       OOCD_TRACE_ADDRESS = 0x0,
-       OOCD_TRACE_TRIGGER_COUNTER = 0x01,
-       OOCD_TRACE_CONTROL = 0x2,
-       OOCD_TRACE_STATUS = 0x3,
-       OOCD_TRACE_SDRAM_COUNTER = 0x4,
-};
-
-/* commands */
-enum {
-       OOCD_TRACE_NOP = 0x0,
-       OOCD_TRACE_READ_REG = 0x10,
-       OOCD_TRACE_WRITE_REG = 0x18,
-       OOCD_TRACE_READ_RAM = 0x20,
-/*     OOCD_TRACE_WRITE_RAM = 0x28, */
-       OOCD_TRACE_RESYNC = 0xf0,
-};
-
-struct oocd_trace {
-       struct etm_context *etm_ctx;
-       char *tty;
-       int tty_fd;
-       struct termios oldtio, newtio;
-};
-
-extern struct etm_capture_driver oocd_trace_capture_driver;
-
-#endif /* OPENOCD_TARGET_OOCD_TRACE_H */