tcl/target: add SPDX tag
[fw/openocd] / tcl / target / xmc4xxx.cfg
1 # SPDX-License-Identifier: GPL-2.0-or-later
2
3 #
4 # Infineon XMC4100/XMC4200/XMC4400/XMC4500 family (ARM Cortex-M4 @ 80-120 MHz)
5 #
6
7 if { [info exists CHIPNAME] } {
8         set _CHIPNAME $CHIPNAME
9 } else {
10         set _CHIPNAME xmc4000
11 }
12
13 source [find target/swj-dp.tcl]
14
15 #
16 # SWJ-DP
17 #
18 if { [info exists CPU_JTAG_TAPID] } {
19         set _CPU_JTAG_TAPID $CPU_JTAG_TAPID
20 } else {
21         set _CPU_JTAG_TAPID 0x4BA00477
22 }
23
24 #
25 # SW_DP
26 #
27 if { [info exists CPU_SWD_TAPID] } {
28         set _CPU_SWD_TAPID $CPU_SWD_TAPID
29 } else {
30         set _CPU_SWD_TAPID 0x2BA01477
31 }
32
33 if { [using_jtag] } {
34         set _CPU_TAPID $_CPU_JTAG_TAPID
35 } else {
36         set _CPU_TAPID $_CPU_SWD_TAPID
37 }
38
39 swj_newdap $_CHIPNAME cpu -irlen 4 -expected-id $_CPU_TAPID
40 dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu
41
42 set _TARGETNAME $_CHIPNAME.cpu
43 target create $_TARGETNAME cortex_m -dap $_CHIPNAME.dap
44
45 # Work-area is a space in RAM used for flash programming
46 # By default use 16 kB
47 if { [info exists WORKAREASIZE] } {
48    set _WORKAREASIZE $WORKAREASIZE
49 } else {
50    set _WORKAREASIZE 0x1000
51 }
52
53 $_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0
54
55 set _FLASHNAME $_CHIPNAME.flash
56 flash bank $_FLASHNAME xmc4xxx 0x0C000000 0 0 0 $_TARGETNAME
57
58 if { ![using_hla] } {
59         cortex_m reset_config sysresetreq
60 }
61
62 adapter speed 1000