a5bbfb497158a68de4c25bdb4777ba2e9b2ef8b6
[fw/openocd] / tcl / target / quark_x10xx.cfg
1 if { [info exists CHIPNAME] } {
2    set _CHIPNAME $CHIPNAME
3 } else {
4    set _CHIPNAME quark_x10xx
5 }
6
7 if { [info exists ENDIAN] } {
8    set _ENDIAN $ENDIAN
9 } else {
10    set _ENDIAN little
11 }
12
13
14 if { [info exists CPUTAPID] } {
15    set _CPUTAPID $CPUTAPID
16 } else {
17    set _CPUTAPID 0x18289013
18 }
19
20 jtag newtap quark_x10xx cpu   -irlen 8  -irmask 0xff  -expected-id   $_CPUTAPID  -disable
21 jtag newtap quark_x10xx cltap -irlen 8  -irmask 0xff  -expected-id   0x0e681013  -enable
22
23 #openocd puts tap at front of chain not end of chain
24 proc quark_x10xx_tapenable {} {
25         echo "enabling core tap"
26         irscan quark_x10xx.cltap 0x11
27         drscan quark_x10xx.cltap 64 1
28         runtest 10
29 }
30
31 proc quark_x10xx_tapdisable {} {
32         echo "disabling core tap"
33         irscan quark_x10xx.cltap 0x11
34         drscan quark_x10xx.cltap 64 0
35         runtest 10
36 }
37
38 proc quark_x10xx_setup {} {
39         jtag tapenable quark_x10xx.cpu
40 }
41
42 jtag configure $_CHIPNAME.cpu -event tap-enable \
43    "quark_x10xx_tapenable"
44
45 jtag configure $_CHIPNAME.cpu -event tap-disable \
46    "quark_x10xx_tapdisable"
47
48 set _TARGETNAME $_CHIPNAME.cpu
49 target create quark_x10xx.cpu quark_x10xx -endian $_ENDIAN -chain-position quark_x10xx.cpu
50
51 jtag configure $_CHIPNAME.cpu -event setup \
52    "quark_x10xx_setup"