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