Queue a DP register read. Note that not all DP registers are readable; also, that JTAG and SWD have slight differences in DP register support.
Queue a DP register write. Note that not all DP registers are writable; also, that JTAG and SWD have slight differences in DP register support.
Queue an AP abort operation. The current AP transaction is aborted, including any update of the transaction counter. The AP is left in an unknown state (so it must be re-initialized). For use only after the AP has reported WAIT status for an extended period.
Perform all queued DAP operations, and clear any errors posted in the CTRL_STAT register when they are done. Note that if more than one AP operation will be queued, one of the first operations in the queue should probably enable CORUNDETECT in the CTRL/STAT register.
Check if SWD multidrop configuration is valid
Send an adi-v5 sequence to the DAP.
Initialize a DAP or do reconnect if DAP is not accessible.
Invalidate cached DP select and cached TAR and CSW of all APs
Put the debug link into SWD mode, if the target supports it. The link's initial mode may be either JTAG (for example, with SWJ-DP after reset) or SWD. Note that targets using the JTAG-DP do not support SWD, and that some targets which could otherwise support it may have been configured to disable SWD signaling
Put the debug link into JTAG mode, if the target supports it. The link's initial mode may be either SWD or JTAG. Note that targets implemented with SW-DP do not support JTAG, and that some targets which could otherwise support it may have been configured to disable JTAG signaling
reg 31:8 - no effect reg 7:4 - bank reg 3:2 - register reg 1:0 - no effect
DPACC and APACC scanchain access through JTAG-DP (or SWJ-DP)
Scan DPACC or APACC using target ordered uint8_t buffers. No endianness conversions are performed. See section 4.4.3 of the ADIv5/ADIv6 spec, which discusses operations which access these registers. Note that only one scan is performed. If rnw is set, a separate scan will be needed to collect the data which was read; the "invalue" collects the posted result of a preceding operation, not the current one.
Scan DPACC or APACC out and in from host ordered uint32_t buffers. This is exactly like adi_jtag_dp_scan(), except that endianness conversions are performed (so the types of invalue and outvalue must be different).
Select the DP register bank
Executes all queued DAP operations.
Put the SWJ-DP back to JTAG mode