cmsis-dap: add initial cmsis-dap support
[openocd.git] / tcl / target / swj-dp.tcl
blobfa44583a436fb1f2e6e3614252833f89ef035e1d
1 # ARM Debug Interface V5 (ADI_V5) utility
2 # ... Mostly for SWJ-DP (not SW-DP or JTAG-DP, since
3 # SW-DP and JTAG-DP targets don't need to switch based
4 # on which transport is active.
6 # declare a JTAG or SWD Debug Access Point (DAP)
7 # based on the transport in use with this session.
8 # You can't access JTAG ops when SWD is active, etc.
10 # params are currently what "jtag newtap" uses
11 # because OpenOCD internals are still strongly biased
12 # to JTAG .... but for SWD, "irlen" etc are ignored,
13 # and the internals work differently
15 # for now, ignore non-JTAG and non-SWD transports
16 # (e.g. initial flash programming via SPI or UART)
18 # split out "chip" and "tag" so we can someday handle
19 # them more uniformly irlen too...)
21 global using_jtag
22 set using_jtag 1
24 proc swj_newdap {chip tag args} {
25 global using_jtag
26 set tran [transport select]
27 if [string equal $tran "jtag"] { eval jtag newtap $chip $tag $args; set using_jtag 1 }
28 if [string equal $tran "swd"] { eval swd newdap $chip $tag $args; set using_jtag 0 }
29 if [string equal $tran "cmsis-dap"] { eval cmsis-dap newdap $chip $tag $args; set using_jtag 0 }