aboutsummaryrefslogtreecommitdiff
path: root/src/jtag/drivers/cmsis_dap.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/jtag/drivers/cmsis_dap.h')
-rw-r--r--src/jtag/drivers/cmsis_dap.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/jtag/drivers/cmsis_dap.h b/src/jtag/drivers/cmsis_dap.h
new file mode 100644
index 0000000..8cbb8dd
--- /dev/null
+++ b/src/jtag/drivers/cmsis_dap.h
@@ -0,0 +1,28 @@
+#ifndef OPENOCD_JTAG_DRIVERS_CMSIS_DAP_H
+#define OPENOCD_JTAG_DRIVERS_CMSIS_DAP_H
+
+#include <stdint.h>
+
+struct cmsis_dap_backend;
+struct cmsis_dap_backend_data;
+struct command_registration;
+
+struct cmsis_dap {
+ struct cmsis_dap_backend_data *bdata;
+ const struct cmsis_dap_backend *backend;
+ uint16_t packet_size;
+ int packet_count;
+ uint8_t *packet_buffer;
+ uint8_t caps;
+ uint8_t mode;
+};
+
+struct cmsis_dap_backend {
+ const char *name;
+ int (*open)(struct cmsis_dap *dap, uint16_t vids[], uint16_t pids[], char *serial);
+ void (*close)(struct cmsis_dap *dap);
+ int (*read)(struct cmsis_dap *dap, int timeout_ms);
+ int (*write)(struct cmsis_dap *dap, int len, int timeout_ms);
+};
+
+#endif