1 # SPDX-License-Identifier: GPL-2.0-or-later
5 source [find target/swj-dp.tcl]
7 if { [info exists CHIPNAME] } {
8 set _CHIPNAME $CHIPNAME
12 set _CHIPSERIES swm050
14 if { [info exists WORKAREASIZE] } {
15 set _WORKAREASIZE $WORKAREASIZE
17 set _WORKAREASIZE 0x400
20 if { [info exists CPUTAPID] } {
21 set _CPUTAPID $CPUTAPID
23 set _CPUTAPID 0x0bb11477
26 swj_newdap $_CHIPNAME cpu -expected-id $_CPUTAPID
27 dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu
28 set _TARGETNAME $_CHIPNAME.cpu
29 target create $_TARGETNAME cortex_m -dap $_CHIPNAME.dap
30 $_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE
31 set _FLASHNAME $_CHIPNAME.flash
32 flash bank $_FLASHNAME swm050 0x0 0x2000 0 0 $_TARGETNAME
36 $_TARGETNAME configure -event reset-init {
37 # Stop the watchdog, just to be safe
39 # Set clock divider value to 1
41 # Set system clock to 18Mhz
45 # SWM050 (Cortex-M0 core) supports SYSRESETREQ
47 # if srst is not fitted use SYSRESETREQ to
48 # perform a soft reset
49 cortex_m reset_config sysresetreq