aboutsummaryrefslogtreecommitdiff
path: root/tcl/target/quark_x10xx.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'tcl/target/quark_x10xx.cfg')
-rw-r--r--tcl/target/quark_x10xx.cfg52
1 files changed, 52 insertions, 0 deletions
diff --git a/tcl/target/quark_x10xx.cfg b/tcl/target/quark_x10xx.cfg
new file mode 100644
index 0000000..a5bbfb4
--- /dev/null
+++ b/tcl/target/quark_x10xx.cfg
@@ -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"