adiv5_ap is only used within OpenOCD.
 
Symbols
loading...
Files
loading...

adiv5_ap struct

This represents an ARM Debug Interface (v5) Access Port (AP). Most common is a MEM-AP, for memory access.

Syntax

struct adiv5_ap;
Implemented in arm_adi_v5.h:250

Fields

dap

DAP this AP belongs to. Read more...

ap_num

ADIv5: Number of this AP (0~255) ADIv6: Base address of this AP (4k aligned) TODO: to be more coherent, it should be renamed apsel. Read more...

csw_default

Default value for (MEM-AP) AP_REG_CSW register. Read more...

csw_value

Cache for (MEM-AP) AP_REG_CSW register value. This is written to configure an access mode, such as autoincrementing AP_REG_TAR during word access. "-1" indicates no cached value. Read more...

csw_size_supported_mask

Save the supported CSW.Size data types for the MEM-AP. Each bit corresponds to a data type. 0b1 = Supported data size. 0b0 = Not supported. Bit 0 = Byte (8-bits) Bit 1 = Halfword (16-bits) Bit 2 = Word (32-bits) - always supported by spec. Bit 3 = Doubleword (64-bits) Bit 4 = 128-bits Bit 5 = 256-bits. Read more...

csw_size_probed_mask

Probed CSW.Size data types for the MEM-AP. Each bit corresponds to a data type. 0b1 = Data size has been probed. 0b0 = Not yet probed. Bits assigned to sizes same way as above. Read more...

tar_value

Cache for (MEM-AP) AP_REG_TAR register value This is written to configure the address being read or written "-1" indicates no cached value. Read more...

memaccess_tck

Configures how many extra tck clocks are added after starting a MEM-AP access before we try to read its status (and/or result). Read more...

tar_autoincr_block

No summary provided. Read more...

packed_transfers_supported

No summary provided. Read more...

packed_transfers_probed

No summary provided. Read more...

unaligned_access_bad

No summary provided. Read more...

tar_valid

No summary provided. Read more...

cfg_reg

No summary provided. Read more...

refcount

No summary provided. Read more...

config_ap_never_release

No summary provided. Read more...

References

LocationReferrerScopeText
arm_adi_v5.h:250
struct adiv5_ap {
arm_cti.h:52
struct adiv5_ap;
armv7m.h:20
struct adiv5_ap;
adi_v5_jtag.c:766jtag_ap_q_bankselect()
static int jtag_ap_q_bankselect(struct adiv5_ap *ap, unsigned reg)
adi_v5_jtag.c:821jtag_ap_q_read()
static int jtag_ap_q_read(struct adiv5_ap *ap, unsigned reg,
adi_v5_jtag.c:843jtag_ap_q_write()
static int jtag_ap_q_write(struct adiv5_ap *ap, unsigned reg,
adi_v5_swd.c:520swd_queue_ap_bankselect()
static int swd_queue_ap_bankselect(struct adiv5_ap *ap, unsigned reg)
adi_v5_swd.c:570swd_queue_ap_read()
static int swd_queue_ap_read(struct adiv5_ap *ap, unsigned reg,
adi_v5_swd.c:595swd_queue_ap_write()
static int swd_queue_ap_write(struct adiv5_ap *ap, unsigned reg,
arm_adi_v5.c:94mem_ap_setup_csw()
static int mem_ap_setup_csw(struct adiv5_ap *ap, uint32_t csw)
arm_adi_v5.c:110mem_ap_setup_tar()
static int mem_ap_setup_tar(struct adiv5_ap *ap, target_addr_t tar)
arm_adi_v5.c:130mem_ap_read_tar()
static int mem_ap_read_tar(struct adiv5_ap *ap, target_addr_t *tar)
arm_adi_v5.c:157mem_ap_get_tar_increment()
static uint32_t mem_ap_get_tar_increment(struct adiv5_ap *ap)
arm_adi_v5.c:185mem_ap_update_tar_cache()
static void mem_ap_update_tar_cache(struct adiv5_ap *ap)
arm_adi_v5.c:214mem_ap_setup_transfer()
static int mem_ap_setup_transfer(struct adiv5_ap *ap, uint32_t csw, target_addr_t tar)
arm_adi_v5.c:237mem_ap_read_u32()
int mem_ap_read_u32(struct adiv5_ap *ap, target_addr_t address,
arm_adi_v5.c:266mem_ap_read_atomic_u32()
arm_adi_v5.c:289mem_ap_write_u32()
int mem_ap_write_u32(struct adiv5_ap *ap, target_addr_t address,
arm_adi_v5.c:318mem_ap_write_atomic_u32()
arm_adi_v5.c:345mem_ap_setup_transfer_verify_size_packing()
static int mem_ap_setup_transfer_verify_size_packing(struct adiv5_ap *ap,
arm_adi_v5.c:445mem_ap_setup_transfer_verify_size_packing_fallback()
arm_adi_v5.c:474mem_ap_write()
static int mem_ap_write(struct adiv5_ap *ap, const uint8_t *buffer, uint32_t size, uint32_t count,
arm_adi_v5.c:604mem_ap_read()
static int mem_ap_read(struct adiv5_ap *ap, uint8_t *buffer, uint32_t size, uint32_t count,
arm_adi_v5.c:722mem_ap_read_buf()
int mem_ap_read_buf(struct adiv5_ap *ap,
arm_adi_v5.c:728mem_ap_write_buf()
int mem_ap_write_buf(struct adiv5_ap *ap,
arm_adi_v5.c:734mem_ap_read_buf_noincr()
int mem_ap_read_buf_noincr(struct adiv5_ap *ap,
arm_adi_v5.c:740mem_ap_write_buf_noincr()
int mem_ap_write_buf_noincr(struct adiv5_ap *ap,
arm_adi_v5.c:888mem_ap_init()
int mem_ap_init(struct adiv5_ap *ap)
arm_adi_v5.c:1107dap_find_get_ap()
int dap_find_get_ap(struct adiv5_dap *dap, enum ap_type type_to_find, struct adiv5_ap **ap_out)
arm_adi_v5.c:1117dap_find_get_ap()
struct adiv5_ap *ap = dap_get_ap(dap, ap_num);
arm_adi_v5.c:1150is_ap_in_use()
static inline bool is_ap_in_use(struct adiv5_ap *ap)
arm_adi_v5.c:1155_dap_get_ap()
static struct adiv5_ap *_dap_get_ap(struct adiv5_dap *dap, uint64_t ap_num)
arm_adi_v5.c:1163_dap_get_ap()
struct adiv5_ap *ap = &dap->ap[i];
arm_adi_v5.c:1170_dap_get_ap()
struct adiv5_ap *ap = &dap->ap[i];
arm_adi_v5.c:1182_dap_get_ap()
struct adiv5_ap *ap = &dap->ap[ap_num];
arm_adi_v5.c:1189dap_get_ap()
struct adiv5_ap *dap_get_ap(struct adiv5_dap *dap, uint64_t ap_num)
arm_adi_v5.c:1191dap_get_ap()
struct adiv5_ap *ap = _dap_get_ap(dap, ap_num);
arm_adi_v5.c:1198dap_get_config_ap()
struct adiv5_ap *dap_get_config_ap(struct adiv5_dap *dap, uint64_t ap_num)
arm_adi_v5.c:1200dap_get_config_ap()
struct adiv5_ap *ap = _dap_get_ap(dap, ap_num);
arm_adi_v5.c:1209dap_put_ap()
int dap_put_ap(struct adiv5_ap *ap)
arm_adi_v5.c:1230dap_get_debugbase()
static int dap_get_debugbase(struct adiv5_ap *ap,
arm_adi_v5.c:1305cs_component_vals::apcs_component_vals
struct adiv5_ap *ap;
arm_adi_v5.c:1327dap_queue_read_reg()
static int dap_queue_read_reg(enum coresight_access_mode mode, struct adiv5_ap *ap,
arm_adi_v5.c:1347rtp_read_cs_regs()
static int rtp_read_cs_regs(enum coresight_access_mode mode, struct adiv5_ap *ap,
arm_adi_v5.c:1737rtp_ops::ap_header::ap
int (*ap_header)(struct adiv5_ap *ap, int depth, void *priv);
arm_adi_v5.c:1748rtp_ops::mem_ap_header::ap
int (*mem_ap_header)(int retval, struct adiv5_ap *ap, uint64_t dbgbase,
arm_adi_v5.c:1782rtp_ops_ap_header()
struct adiv5_ap *ap, int depth)
arm_adi_v5.c:1795rtp_ops_mem_ap_header()
int retval, struct adiv5_ap *ap, uint64_t dbgbase, uint32_t apid, int depth)
arm_adi_v5.c:1849rtp_ap()::aprtp_ap()
static int rtp_ap(const struct rtp_ops *ops, struct adiv5_ap *ap, int depth);
arm_adi_v5.c:1851rtp_cs_component()::aprtp_cs_component()
struct adiv5_ap *ap, target_addr_t dbgbase, bool *is_mem_ap, int depth);
arm_adi_v5.c:1854rtp_rom_loop()
struct adiv5_ap *ap, target_addr_t base_address, int depth,
arm_adi_v5.c:1908rtp_rom_loop()
struct adiv5_ap *next_ap = dap_get_ap(ap->dap, component_base);
arm_adi_v5.c:1932rtp_cs_component()
struct adiv5_ap *ap, target_addr_t base_address, bool *is_mem_ap, int depth)
arm_adi_v5.c:1990rtp_ap()
static int rtp_ap(const struct rtp_ops *ops, struct adiv5_ap *ap, int depth)
arm_adi_v5.c:2047dap_info_ap_header()
static int dap_info_ap_header(struct adiv5_ap *ap, int depth, void *priv)
arm_adi_v5.c:2060dap_info_mem_ap_header()
static int dap_info_mem_ap_header(int retval, struct adiv5_ap *ap,
arm_adi_v5.c:2232dap_info_command()
int dap_info_command(struct command_invocation *cmd, struct adiv5_ap *ap)
arm_adi_v5.c:2286dap_lookup_cs_component()
int dap_lookup_cs_component(struct adiv5_ap *ap, uint8_t type,
arm_adi_v5.c:2540handle_dap_info_command()
struct adiv5_ap *ap = dap_get_ap(dap, apsel);
arm_adi_v5.c:2556dap_baseaddr_command()
struct adiv5_ap *ap;
arm_adi_v5.c:2617dap_memaccess_command()
struct adiv5_ap *ap;
arm_adi_v5.c:2677dap_apcsw_command()
struct adiv5_ap *ap;
arm_adi_v5.c:2753dap_apid_command()
struct adiv5_ap *ap = dap_get_ap(dap, apsel);
arm_adi_v5.c:2802dap_apreg_command()
struct adiv5_ap *ap = dap_get_ap(dap, apsel);
arm_adi_v5.h:364adiv5_dap::apadiv5_dap
struct adiv5_ap ap[DP_APSEL_MAX + 1];
arm_adi_v5.h:464dap_ops::queue_ap_read::ap
int (*queue_ap_read)(struct adiv5_ap *ap, unsigned reg,
arm_adi_v5.h:467dap_ops::queue_ap_write::ap
int (*queue_ap_write)(struct adiv5_ap *ap, unsigned reg,
arm_adi_v5.h:511is_64bit_ap()
static inline bool is_64bit_ap(struct adiv5_ap *ap)
arm_adi_v5.h:590dap_queue_ap_read()
static inline int dap_queue_ap_read(struct adiv5_ap *ap,
arm_adi_v5.h:610dap_queue_ap_write()
static inline int dap_queue_ap_write(struct adiv5_ap *ap,
arm_adi_v5.h:704mem_ap_read_u32()::apmem_ap_read_u32()
int mem_ap_read_u32(struct adiv5_ap *ap,
arm_adi_v5.h:706mem_ap_write_u32()::apmem_ap_write_u32()
int mem_ap_write_u32(struct adiv5_ap *ap,
arm_adi_v5.h:710mem_ap_read_atomic_u32()::apmem_ap_read_atomic_u32()
int mem_ap_read_atomic_u32(struct adiv5_ap *ap,
arm_adi_v5.h:712mem_ap_write_atomic_u32()::apmem_ap_write_atomic_u32()
int mem_ap_write_atomic_u32(struct adiv5_ap *ap,
arm_adi_v5.h:716mem_ap_read_buf()::apmem_ap_read_buf()
int mem_ap_read_buf(struct adiv5_ap *ap,
arm_adi_v5.h:718mem_ap_write_buf()::apmem_ap_write_buf()
int mem_ap_write_buf(struct adiv5_ap *ap,
arm_adi_v5.h:722mem_ap_read_buf_noincr()::apmem_ap_read_buf_noincr()
int mem_ap_read_buf_noincr(struct adiv5_ap *ap,
arm_adi_v5.h:724mem_ap_write_buf_noincr()::apmem_ap_write_buf_noincr()
int mem_ap_write_buf_noincr(struct adiv5_ap *ap,
arm_adi_v5.h:730mem_ap_init()::apmem_ap_init()
int mem_ap_init(struct adiv5_ap *ap);
arm_adi_v5.h:744dap_find_get_ap()::ap_outdap_find_get_ap()
struct adiv5_ap **ap_out);
arm_adi_v5.h:747dap_get_ap()
struct adiv5_ap *dap_get_ap(struct adiv5_dap *dap, uint64_t ap_num);
arm_adi_v5.h:750dap_get_config_ap()
struct adiv5_ap *dap_get_config_ap(struct adiv5_dap *dap, uint64_t ap_num);
arm_adi_v5.h:753dap_put_ap()::apdap_put_ap()
int dap_put_ap(struct adiv5_ap *ap);
arm_adi_v5.h:762dap_lookup_cs_component()::apdap_lookup_cs_component()
int dap_lookup_cs_component(struct adiv5_ap *ap,
arm_adi_v5.h:779dap_info_command()::apdap_info_command()
struct adiv5_ap *ap);
arm_cti.c:25arm_cti::aparm_cti
struct adiv5_ap *ap;
arm_cti.c:57arm_cti_mod_reg_bits()
struct adiv5_ap *ap = self->ap;
arm_cti.c:83arm_cti_ack_events()
struct adiv5_ap *ap = self->ap;
arm_cti.c:223handle_cti_dump()
struct adiv5_ap *ap = cti->ap;
arm_dap.c:485handle_dap_info_command()
struct adiv5_ap *ap = dap_get_ap(dap, apsel);
arm_tpiu_swo.c:92arm_tpiu_swo_object::aparm_tpiu_swo_object
struct adiv5_ap *ap;
arm_tpiu_swo.c:573wrap_write_u32()
static int wrap_write_u32(struct target *target, struct adiv5_ap *tpiu_ap,
arm_tpiu_swo.c:582wrap_read_u32()
static int wrap_read_u32(struct target *target, struct adiv5_ap *tpiu_ap,
armv7a.h:96armv7a_common::debug_aparmv7a_common
struct adiv5_ap *debug_ap;
armv7m.h:230armv7m_common::debug_aparmv7m_common
struct adiv5_ap *debug_ap;
armv8.h:193armv8_common::debug_aparmv8_common
struct adiv5_ap *debug_ap;
cortex_m.c:1686dap_lpc55sx_start_debug_session()
struct adiv5_ap *ap = dap_get_ap(dap, 2);
cortex_m.c:2729cortex_m_find_mem_ap()
struct adiv5_ap **debug_ap)
kinetis.c:432kinetis_mdm_write_register()
struct adiv5_ap *ap = dap_get_ap(dap, MDM_AP);
kinetis.c:458kinetis_mdm_read_register()
struct adiv5_ap *ap = dap_get_ap(dap, MDM_AP);
kinetis.c:828kinetis_check_flash_security_status()
struct adiv5_ap *ap = dap_get_ap(dap, MDM_AP);
kinetis_ke.c:141kinetis_ke_mdm_write_register()
struct adiv5_ap *ap = dap_get_ap(dap, 1);
kinetis_ke.c:166kinetis_ke_mdm_read_register()
struct adiv5_ap *ap = dap_get_ap(dap, 1);
mem_ap.c:23mem_ap::apmem_ap
struct adiv5_ap *ap;
rsl10.c:730rsl10_unlock_command()
struct adiv5_ap *ap = dap_get_ap(dap, 0);
sim3x.c:866ap_write_register()
struct adiv5_ap *ap = dap_get_ap(dap, SIM3X_AP);
sim3x.c:891ap_read_register()
struct adiv5_ap *ap = dap_get_ap(dap, SIM3X_AP);
stlink_usb.c:226ap_r::apap_r
struct adiv5_ap *ap;
stlink_usb.c:231ap_w::apap_w
struct adiv5_ap *ap;
stlink_usb.c:237mem_ap::apmem_ap
struct adiv5_ap *ap;
stlink_usb.c:4311stlink_dap_ap_read()
static int stlink_dap_ap_read(struct adiv5_ap *ap, unsigned int reg, uint32_t *data)
stlink_usb.c:4338stlink_dap_ap_write()
static int stlink_dap_ap_write(struct adiv5_ap *ap, unsigned int reg, uint32_t data)
stlink_usb.c:4771stlink_dap_op_queue_ap_read()
static int stlink_dap_op_queue_ap_read(struct adiv5_ap *ap, unsigned int reg,
stlink_usb.c:4837stlink_dap_op_queue_ap_write()
static int stlink_dap_op_queue_ap_write(struct adiv5_ap *ap, unsigned int reg,
xtensa_debug_module.h:481xtensa_debug_module_config::debug_apxtensa_debug_module_config
struct adiv5_ap *debug_ap;
xtensa_debug_module.h:497xtensa_debug_module::debug_apxtensa_debug_module
struct adiv5_ap *debug_ap;

Type Use

Variables of adiv5_ap type
dap_ops::queue_ap_read::ap
dap_ops::queue_ap_write::ap
kinetis_mdm_write_register()::ap
kinetis_mdm_read_register()::ap
kinetis_check_flash_security_status()::ap
kinetis_ke_mdm_write_register()::ap
kinetis_ke_mdm_read_register()::ap
ap_write_register()::ap
ap_read_register()::ap
rsl10_unlock_command()::ap
dap_find_get_ap()::ap
_dap_get_ap()::ap
dap_get_ap()::ap
dap_get_config_ap()::ap
rtp_ops::ap_header::ap
rtp_ops::mem_ap_header::ap
rtp_rom_loop()::next_ap
handle_dap_info_command()::ap
dap_baseaddr_command()::ap
dap_memaccess_command()::ap
dap_apcsw_command()::ap
dap_apid_command()::ap
dap_apreg_command()::ap
arm_cti_mod_reg_bits()::ap
arm_cti_ack_events()::ap
handle_cti_dump()::ap
dap_lpc55sx_start_debug_session()::ap
all items filtered out
adiv5_ap