diff options
Diffstat (limited to 'src/jtag/hla/hla_layout.h')
-rw-r--r-- | src/jtag/hla/hla_layout.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/jtag/hla/hla_layout.h b/src/jtag/hla/hla_layout.h index e989f665..8833d6c8 100644 --- a/src/jtag/hla/hla_layout.h +++ b/src/jtag/hla/hla_layout.h @@ -24,6 +24,8 @@ #ifndef _HL_LAYOUT_H #define _HL_LAYOUT_H +#include <target/armv7m_trace.h> + /** */ struct hl_interface_s; struct hl_interface_param_s; @@ -79,6 +81,31 @@ struct hl_layout_api_s { int (*custom_command) (void *handle, const char *command); /** */ int (*speed)(void *handle, int khz, bool query); + /** + * Configure trace parameters for the adapter + * + * @param handle A handle to adapter + * @param enabled Whether to enable trace + * @param pin_protocol Configured pin protocol + * @param port_size Trace port width for sync mode + * @param trace_freq A pointer to the configured trace + * frequency; if it points to 0, the adapter driver must write + * its maximum supported rate there + * @returns ERROR_OK on success, an error code on failure. + */ + int (*config_trace)(void *handle, bool enabled, enum tpio_pin_protocol pin_protocol, + uint32_t port_size, unsigned int *trace_freq); + /** + * Poll for new trace data + * + * @param handle A handle to adapter + * @param buf A pointer to buffer to store received data + * @param size A pointer to buffer size; must be filled with + * the actual amount of bytes written + * + * @returns ERROR_OK on success, an error code on failure. + */ + int (*poll_trace)(void *handle, uint8_t *buf, size_t *size); /** */ enum target_state (*state) (void *fd); }; |