diff --git a/src/target/arm_adi_v5.h b/src/target/arm_adi_v5.h index f64f7c840..2aefd605a 100644 --- a/src/target/arm_adi_v5.h +++ b/src/target/arm_adi_v5.h @@ -379,6 +379,37 @@ int mem_ap_write_buf_u16(struct adiv5_dap *swjdp, int mem_ap_write_buf_u32(struct adiv5_dap *swjdp, uint8_t *buffer, int count, uint32_t address); + + +/* Queued MEM-AP memory mapped single word transfers with selection of ap */ +int mem_ap_sel_read_u32(struct adiv5_dap *swjdp, uint8_t apsel, + uint32_t address, uint32_t *value); +int mem_ap_sel_write_u32(struct adiv5_dap *swjdp, uint8_t apsel, + uint32_t address, uint32_t value); + +/* Synchronous MEM-AP memory mapped single word transfers with selection of ap */ +int mem_ap_sel_read_atomic_u32(struct adiv5_dap *swjdp, uint8_t apsel, + uint32_t address, uint32_t *value); +int mem_ap_sel_write_atomic_u32(struct adiv5_dap *swjdp, uint8_t apsel, + uint32_t address, uint32_t value); + +/* MEM-AP memory mapped bus block transfers with selection of ap*/ +int mem_ap_sel_read_buf_u8(struct adiv5_dap *swjdp, uint8_t apsel, + uint8_t *buffer, int count, uint32_t address); +int mem_ap_sel_read_buf_u16(struct adiv5_dap *swjdp, uint8_t apsel, + uint8_t *buffer, int count, uint32_t address); +int mem_ap_sel_read_buf_u32(struct adiv5_dap *swjdp, uint8_t apsel, + uint8_t *buffer, int count, uint32_t address); + +int mem_ap_sel_write_buf_u8(struct adiv5_dap *swjdp, uint8_t apsel, + uint8_t *buffer, int count, uint32_t address); +int mem_ap_sel_write_buf_u16(struct adiv5_dap *swjdp, uint8_t apsel, + uint8_t *buffer, int count, uint32_t address); +int mem_ap_sel_write_buf_u32(struct adiv5_dap *swjdp, uint8_t apsel, + uint8_t *buffer, int count, uint32_t address); + + + /* Initialisation of the debug system, power domains and registers */ int ahbap_debugport_init(struct adiv5_dap *swjdp);