#*****************************************************************************
#
# Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
#
# SPDX-License-Identifier: Apache-2.0
#
#*****************************************************************************

#
# CC3220 via CMSIS-DAP interface on XDS110 debug probe
#
# CMSIS-DAP support in OpenOCD can only use SWD mode. So
# jumper SOP0 only, and reset the target before connect.
#

interface cmsis-dap
cmsis_dap_vid_pid 0x0451 0xbef3
adapter_khz 2500

set _ENDIAN little

if { [info exists CHIPNAME] } {
	set _CHIPNAME $CHIPNAME
} else {
	set _CHIPNAME cc3220
}

if { [info exists DAP_TAPID] } {
	set _DAP_TAPID $DAP_TAPID
} else {
	set _DAP_TAPID 0x0b97c02f
}

swd newdap $_CHIPNAME dap -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_DAP_TAPID -disable

set _TARGETNAME $_CHIPNAME.cpu

target create $_CHIPNAME.cpu cortex_m -endian little -chain-position $_CHIPNAME.dap
$_CHIPNAME.cpu configure -work-area-phys 0x20000000 -work-area-size 0x30000 -work-area-backup 0 -coreid 0

source [find mem_helper.tcl]

$_TARGETNAME configure -event gdb-attach {
	halt
}
