openocd/tcl/target/quark_d20xx.cfg
Ivan De Cesaris a4ce9a2c71 quark: add Intel Quark mcu D2000 support
Add support for the Intel Quark mcu D2000 using the new quark_d2xx
target.

Changes to the lakemont part are needed for the D2000 core and
backwards compatible with the X1000 one.

Change-Id: I6e1ef5a5d116344942f08e413965abd3945235fa
Signed-off-by: Ivan De Cesaris <ivan.de.cesaris@intel.com>
Reviewed-on: http://openocd.zylin.com/3199
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2016-02-13 22:55:41 +00:00

51 lines
1.4 KiB
INI

if { [info exists CPUTAPID] } {
set _CPUTAPID $CPUTAPID
} else {
set _CPUTAPID 0x38289013
}
jtag newtap quark_d20xx quark -irlen 8 -irmask 0xff -expected-id $_CPUTAPID -disable
jtag newtap quark_d20xx cltap -irlen 8 -irmask 0xff -expected-id 0x0e786013 -enable
proc quark_d20xx_tapenable {} {
echo "enabling quark core tap"
irscan quark_d20xx.cltap 0x11
drscan quark_d20xx.cltap 12 1
runtest 10
}
proc quark_d20xx_tapdisable {} {
echo "disabling quark core tap"
irscan quark_d20xx.cltap 0x11
drscan quark_d20xx.cltap 12 0
runtest 10
}
proc quark_d20xx_setup {} {
jtag tapenable quark_d20xx.quark
}
jtag configure quark_d20xx.quark -event tap-enable \
"quark_d20xx_tapenable"
jtag configure quark_d20xx.quark -event tap-disable \
"quark_d20xx_tapdisable"
target create quark_d20xx.quark quark_d20xx -endian little -chain-position quark_d20xx.quark
quark_d20xx.quark configure -event gdb-attach { halt }
quark_d20xx.quark configure -event reset-start {
# need to halt the target to write to memory
if {[quark_d20xx.quark curstate] ne "halted"} { halt }
# set resetbreak via the core tap
irscan quark_d20xx.quark 0x35 ; drscan quark_d20xx.quark 1 0x1
# trigger a warm reset
mww 0xb0800570 0x2
# clear resetbreak
irscan quark_d20xx.quark 0x35 ; drscan quark_d20xx.quark 1 0x0
}
jtag configure quark_d20xx.quark -event setup \
"quark_d20xx_setup"