fc57bd435456e057140cd6d89e68226e57a4dd10
[fw/openocd] / tcl / target / dsp568037.cfg
1 # Script for freescale DSP568037
2
3 if { [info exists CHIPNAME] } {
4    set _CHIPNAME $CHIPNAME
5 } else {
6    set _CHIPNAME dsp568037
7 }
8
9 if { [info exists ENDIAN] } {
10    set _ENDIAN $ENDIAN
11 } else {
12   # this defaults to a big endian
13    set _ENDIAN little
14 }
15
16 if { [info exists CPUTAPID] } {
17    set _CPUTAPID $CPUTAPID
18 } else {
19    set _CPUTAPID 0x01f2801d
20 }
21
22 #jtag speed
23 adapter speed 800
24
25 reset_config srst_only
26
27 #MASTER tap
28 jtag newtap $_CHIPNAME chp -irlen 8 -ircapture 1 -irmask 0x03 -expected-id $_CPUTAPID
29
30 #CORE tap
31 jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 1 -irmask 0x03 -disable -expected-id 0x02211004
32
33 #target configuration - There is only 1 tap at a time, hence only 1 target is defined.
34 set _TARGETNAME $_CHIPNAME.cpu
35 target create $_TARGETNAME dsp5680xx -endian $_ENDIAN -chain-position $_TARGETNAME
36
37 # Setup the interesting tap
38 jtag configure $_CHIPNAME.chp -event setup "jtag tapenable $_TARGETNAME"
39
40 #select CORE tap by modifying the TLM register.
41 #to be used when MASTER tap is selected.
42 jtag configure $_TARGETNAME -event tap-enable "
43      irscan $_CHIPNAME.chp 0x05;
44      drscan $_CHIPNAME.chp 4 0x02;
45      jtag tapdisable $_CHIPNAME.chp;
46 "
47
48 #select MASTER tap by modifying the TLM register.
49 #to be used when CORE tap is selected.
50 jtag configure $_CHIPNAME.chp -event tap-enable "
51      irscan $_TARGETNAME 0x08;
52      drscan $_TARGETNAME 4 0x1;
53      jtag tapdisable $_TARGETNAME;
54 "
55
56 #disables the master tap
57 jtag configure $_TARGETNAME -event tap-disable "
58 "
59 #TODO FIND SMARTER WAY.
60
61 jtag configure $_CHIPNAME.chp -event tap-disable "
62 "
63 #TODO FIND SMARTER WAY.
64
65
66 #working area at base of ram
67 $_TARGETNAME configure -work-area-virt 0
68
69 #setup flash
70 set _FLASHNAME $_CHIPNAME.flash
71 flash bank $_FLASHNAME dsp5680xx_flash 0 0 2 1 $_TARGETNAME