cfg: ftdi icdi enable srst open drain config
[fw/openocd] / src / target / etb.h
index 260a0220634d3b577546f4d0a1618a3883b3f51f..0ac6413f5c891575c6d9442176f6f8c87bd6062a 100644 (file)
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifndef ETB_H
 #define ETB_H
 
-#include "command.h"
-#include "target.h"
-#include "register.h"
-#include "arm_jtag.h"
-
-#include "etb.h"
-#include "etm.h"
-
 /* ETB registers */
-enum
-{
-    ETB_ID = 0x00,
-    ETB_RAM_DEPTH = 0x01,
-    ETB_RAM_WIDTH = 0x02,
-    ETB_STATUS = 0x03,
-    ETB_RAM_DATA = 0x04,
-    ETB_RAM_READ_POINTER = 0x05,
-    ETB_RAM_WRITE_POINTER = 0x06,
-    ETB_TRIGGER_COUNTER = 0x07,
-    ETB_CTRL = 0x08,
+enum {
+       ETB_ID = 0x00,
+       ETB_RAM_DEPTH = 0x01,
+       ETB_RAM_WIDTH = 0x02,
+       ETB_STATUS = 0x03,
+       ETB_RAM_DATA = 0x04,
+       ETB_RAM_READ_POINTER = 0x05,
+       ETB_RAM_WRITE_POINTER = 0x06,
+       ETB_TRIGGER_COUNTER = 0x07,
+       ETB_CTRL = 0x08,
 };
 
-typedef struct etb_s
-{
-       etm_context_t *etm_ctx;
-       jtag_tap_t *tap;
-       int cur_scan_chain;
-       reg_cache_t *reg_cache;
-       
+struct etb {
+       struct etm_context *etm_ctx;
+       struct jtag_tap *tap;
+       uint32_t cur_scan_chain;
+       struct reg_cache *reg_cache;
+
        /* ETB parameters */
-       int ram_depth;
-       int ram_width;
-} etb_t;
+       uint32_t ram_depth;
+       uint32_t ram_width;
 
-typedef struct etb_reg_s
-{
-       int addr;
-       etb_t *etb;
-} etb_reg_t;
+       /** how much trace buffer to fill after trigger */
+       unsigned trigger_percent;
+};
 
-extern etm_capture_driver_t etb_capture_driver;
+struct etb_reg {
+       uint32_t addr;
+       struct etb *etb;
+};
 
-extern reg_cache_t* etb_build_reg_cache(etb_t *etb);
-extern int etb_read_reg(reg_t *reg);
-extern int etb_write_reg(reg_t *reg, u32 value);
-extern int etb_read_reg_w_check(reg_t *reg, u8* check_value, u8* check_mask);
-extern int etb_store_reg(reg_t *reg);
-extern int etb_set_reg(reg_t *reg, u32 value);
-extern int etb_set_reg_w_exec(reg_t *reg, u8 *buf);
+extern struct etm_capture_driver etb_capture_driver;
 
-extern int etb_register_commands(struct command_context_s *cmd_ctx);
+struct reg_cache *etb_build_reg_cache(struct etb *etb);
 
 #endif /* ETB_H */