]> git.gag.com Git - fw/openocd/blobdiff - tcl/target/quark_x10xx.cfg
quark_x10xx: add new target quark_x10xx
[fw/openocd] / tcl / target / quark_x10xx.cfg
diff --git a/tcl/target/quark_x10xx.cfg b/tcl/target/quark_x10xx.cfg
new file mode 100644 (file)
index 0000000..a5bbfb4
--- /dev/null
@@ -0,0 +1,52 @@
+if { [info exists CHIPNAME] } {
+   set _CHIPNAME $CHIPNAME
+} else {
+   set _CHIPNAME quark_x10xx
+}
+
+if { [info exists ENDIAN] } {
+   set _ENDIAN $ENDIAN
+} else {
+   set _ENDIAN little
+}
+
+
+if { [info exists CPUTAPID] } {
+   set _CPUTAPID $CPUTAPID
+} else {
+   set _CPUTAPID 0x18289013
+}
+
+jtag newtap quark_x10xx cpu   -irlen 8  -irmask 0xff  -expected-id   $_CPUTAPID  -disable
+jtag newtap quark_x10xx cltap -irlen 8  -irmask 0xff  -expected-id   0x0e681013  -enable
+
+#openocd puts tap at front of chain not end of chain
+proc quark_x10xx_tapenable {} {
+       echo "enabling core tap"
+       irscan quark_x10xx.cltap 0x11
+       drscan quark_x10xx.cltap 64 1
+       runtest 10
+}
+
+proc quark_x10xx_tapdisable {} {
+       echo "disabling core tap"
+       irscan quark_x10xx.cltap 0x11
+       drscan quark_x10xx.cltap 64 0
+       runtest 10
+}
+
+proc quark_x10xx_setup {} {
+       jtag tapenable quark_x10xx.cpu
+}
+
+jtag configure $_CHIPNAME.cpu -event tap-enable \
+   "quark_x10xx_tapenable"
+
+jtag configure $_CHIPNAME.cpu -event tap-disable \
+   "quark_x10xx_tapdisable"
+
+set _TARGETNAME $_CHIPNAME.cpu
+target create quark_x10xx.cpu quark_x10xx -endian $_ENDIAN -chain-position quark_x10xx.cpu
+
+jtag configure $_CHIPNAME.cpu -event setup \
+   "quark_x10xx_setup"