#
# Texas Instruments MSP432P4xx - ARM Cortex-M4F @ up to 48 MHz
#
# http://www.ti.com/MSP432
#

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

if { [info exists CPUTAPID] } {
	set _DAP_TAPID $CPUTAPID
} else {
	set _DAP_TAPID 0x4ba00477
}

if { [info exists DAP_SWD_ID] } {
	set _DAP_SWD_ID $DAP_SWD_ID
} else {
	set _DAP_SWD_ID 0x2ba01477
}

source [find target/swj-dp.tcl]

if { [using_jtag] } {
	set _DAP_ID $_DAP_TAPID
} else {
	set _DAP_ID $_DAP_SWD_ID
}

swj_newdap $_CHIPNAME cpu -irlen 4 -expected-id $_DAP_ID

set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME cortex_m -chain-position $_TARGETNAME

if { [info exists WORKAREASIZE] } {
	set _WORKAREASIZE $WORKAREASIZE
} else {
	# On MSP432P401x Bank0 (8k) is always powered
	set _WORKAREASIZE 0x2000
}

$_TARGETNAME configure -work-area-phys 0x20000000 \
                       -work-area-size $_WORKAREASIZE -work-area-backup 0

if { ![using_hla] } {
	cortex_m reset_config sysresetreq
}

adapter_khz 500
