tcl/target: add SPDX tag
[fw/openocd] / tcl / target / lpc3131.cfg
1 # SPDX-License-Identifier: GPL-2.0-or-later
2
3 ######################################
4 # Target:    NXP lpc3131
5 ######################################
6
7 if { [info exists CHIPNAME] } {
8    set _CHIPNAME $CHIPNAME
9 } else {
10    set _CHIPNAME lpc3131
11 }
12
13 if { [info exists ENDIAN] } {
14    set _ENDIAN $ENDIAN
15 } else {
16    set _ENDIAN little
17 }
18
19 # ARM926EJS core
20 if { [info exists CPUTAPID] } {
21    set _CPUTAPID $CPUTAPID
22 } else {
23    set _CPUTAPID 0x07926f0f
24 }
25
26 # Scan Tap
27 # Wired to separate STDO pin on the lpc3131, externally muxed to TDO on ea3131 module
28 # JTAGSEL pin must be 0 to activate, which reassigns arm tdo to a pass through.
29 if { [info exists SJCTAPID] } {
30    set _SJCTAPID $SJCTAPID
31 } else {
32    set _SJCTAPID 0x1541E02B
33 }
34
35 jtag newtap $_CHIPNAME cpu -irlen 4 -expected-id $_CPUTAPID
36
37 ##################################################################
38 # various symbol definitions, to avoid hard-wiring addresses
39 ##################################################################
40
41 global lpc313x
42 set lpc313x [ dict create ]
43
44 # Physical addresses for controllers and memory
45 dict set lpc313x sram0                  0x11028000
46 dict set lpc313x sram1                  0x11040000
47 dict set lpc313x uart                   0x15001000
48 dict set lpc313x cgu                    0x13004000
49 dict set lpc313x ioconfig               0x13003000
50 dict set lpc313x sysconfig              0x13002800
51 dict set lpc313x wdt                    0x13002400
52
53 ##################################################################
54 # Target configuration
55 ##################################################################
56
57 adapter srst delay 1000
58 jtag_ntrst_delay 0
59
60 set _TARGETNAME $_CHIPNAME.cpu
61 target create $_TARGETNAME arm926ejs -endian $_ENDIAN -chain-position $_TARGETNAME
62
63 $_TARGETNAME invoke-event halted
64
65 $_TARGETNAME configure -work-area-phys [dict get $lpc313x sram0] -work-area-size 0x30000 -work-area-backup 0
66
67 $_TARGETNAME configure -event reset-init {
68         echo "\nRunning reset init script for LPC3131\n"
69         halt
70         wait_halt
71         reg cpsr 0xa00000d3     ;#Supervisor mode
72         reg pc 0x11029000
73         poll
74         sleep 500
75 }
76
77 arm7_9 fast_memory_access enable
78 arm7_9 dcc_downloads enable