aboutsummaryrefslogtreecommitdiff
path: root/tcl/interface
diff options
context:
space:
mode:
authorMatthijs van Duin <matthijs@rinnic-vaude.nl>2014-07-29 10:24:29 +0400
committerPaul Fertser <fercerpav@gmail.com>2015-03-09 06:27:45 +0000
commitdab4adb5ec50957a9ebbfa1123a634842cb2f002 (patch)
tree9ee640846d8eee514682fb3c84f1089bb4454664 /tcl/interface
parentf7394049d3a6a932003edf5fa35d10fe8bc17352 (diff)
downloadriscv-openocd-dab4adb5ec50957a9ebbfa1123a634842cb2f002.zip
riscv-openocd-dab4adb5ec50957a9ebbfa1123a634842cb2f002.tar.gz
riscv-openocd-dab4adb5ec50957a9ebbfa1123a634842cb2f002.tar.bz2
tcl/interface/ftdi/xdsv2: fix and clarify EMU* signals
The signal names are changed for consistency with TI's docs and sources. Change-Id: Ic5c5314daa20f6f610be8a848399f951d47aa137 Signed-off-by: Matthijs van Duin <matthijs@rinnic-vaude.nl> Reviewed-on: http://openocd.zylin.com/2231 Tested-by: jenkins Reviewed-by: Paul Fertser <fercerpav@gmail.com>
Diffstat (limited to 'tcl/interface')
-rw-r--r--tcl/interface/ftdi/xds100v2.cfg45
1 files changed, 42 insertions, 3 deletions
diff --git a/tcl/interface/ftdi/xds100v2.cfg b/tcl/interface/ftdi/xds100v2.cfg
index 44508ae..2628aa0 100644
--- a/tcl/interface/ftdi/xds100v2.cfg
+++ b/tcl/interface/ftdi/xds100v2.cfg
@@ -3,17 +3,56 @@
#
# http://processors.wiki.ti.com/index.php/XDS100#XDS100v2_Features
#
+# Detailed documentation is available only as CPLD verilog source code
+# to the registered TI users.
+#
interface ftdi
ftdi_vid_pid 0x0403 0xa6d0 0x0403 0x6010
ftdi_layout_init 0x0038 0x597b
+
+# 8000 z - unused
+# 4000 0 > CPLD loopback (all target side pins high-Z)
+# 2000 z < !( cable connected ) (open drain on CPLD side for $reasons)
+# 1000 0 > EMU1_oe
+#
+# 800 0 > PWR_RST = clear power-loss flag on rising edge
+# 400 z < !( power-loss flag )
+# 200 z < nSRST
+# 100 0 > nSRST_oe
+#
+# 80 z < RTCK
+# 40 0 > EMU0_oe
+# 20 1 > EMU_EN
+# 10 1 > nTRST
+#
+# 8 1 > TMS
+# 4 z < TDO
+# 2 0 > TDI
+# 1 0 > TCK
+#
+# As long as the power-loss flag is set, all target-side pins are
+# high-Z except the EMU-pins for which the opposite holds unless
+# EMU_EN is high.
+#
+# To use wait-in-reset, drive EMU0 low at power-on reset. If the
+# target normally reuses EMU0 for other purposes, clear EMU_EN to
+# keep the EMU pins high-Z until the target is power-cycled.
+#
+# The LED only turns off at USB suspend, which is also the only way to
+# set the power-loss flag manually. (Can be done in software e.g. by
+# changing the USB configuration to zero.)
+#
+
ftdi_layout_signal nTRST -data 0x0010
ftdi_layout_signal nSRST -oe 0x0100
-ftdi_layout_signal nEMU_EN -data 0x0020
-ftdi_layout_signal nEMU0 -data 0x0040
-ftdi_layout_signal nEMU1 -data 0x1000
+ftdi_layout_signal EMU_EN -data 0x0020
+ftdi_layout_signal EMU0 -oe 0x0040
+ftdi_layout_signal EMU1 -oe 0x1000
ftdi_layout_signal PWR_RST -data 0x0800
ftdi_layout_signal LOOPBACK -data 0x4000
echo "\nInfo : to use this adapter you MUST add ``init; ftdi_set_signal PWR_RST 1; jtag arp_init'' to the end of your config file!\n"
+# note: rising edge on PWR_RST is also needed after power-cycling the
+# target