X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Ftarget%2Farm_adi_v5.h;h=313598b12b67c5883657a570a2a40f3d70cc3676;hb=3b3a5b642c6b87da68441d7238d5a2408262bccc;hp=99e557570664cb9921a8e787447dcd79230b2145;hpb=a644bc11a56b32b68688ebc65b56f5d166ab2e2d;p=openocd diff --git a/src/target/arm_adi_v5.h b/src/target/arm_adi_v5.h index 99e55757..313598b1 100644 --- a/src/target/arm_adi_v5.h +++ b/src/target/arm_adi_v5.h @@ -27,8 +27,8 @@ #include "register.h" #include "arm_jtag.h" -#define SWJDP_IR_DPACC 0xA -#define SWJDP_IR_APACC 0xB +#define DAP_IR_DPACC 0xA +#define DAP_IR_APACC 0xB #define DPAP_WRITE 0 #define DPAP_READ 1 @@ -97,8 +97,19 @@ typedef struct swjdp_common_s u8 trans_mode; u8 trans_rw; u8 ack; + /* extra tck clocks for memory bus access */ + u32 memaccess_tck; + /* Size of TAR autoincrement block, ARM ADI Specification requires at least 10 bits */ + u32 tar_autoincr_block; + } swjdp_common_t; +/* Accessor function for currently selected DAP-AP number */ +static inline u8 dap_ap_get_select(swjdp_common_t *swjdp) +{ + return (u8)( swjdp ->apsel >> 24); +} + /* Internal functions used in the module, partial transactions, use with caution */ extern int dap_dp_write_reg(swjdp_common_t *swjdp, u32 value, u8 reg_addr); /* extern int swjdp_write_apacc(swjdp_common_t *swjdp, u32 value, u8 reg_addr); */ @@ -141,4 +152,6 @@ extern int handle_dap_info_command(struct command_context_s *cmd_ctx, char *cmd, extern int handle_dap_apsel_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc); extern int handle_dap_apid_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc); extern int handle_dap_baseaddr_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc); +extern int handle_dap_memaccess_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc); + #endif