aboutsummaryrefslogtreecommitdiff
path: root/tcl
diff options
context:
space:
mode:
authorRobert Jordens <jordens@gmail.com>2015-07-02 23:38:53 -0600
committerSpencer Oliver <spen@spen-soft.co.uk>2015-08-06 13:14:21 +0100
commit733e8ba062de8abc5f4d655d73c2fbd8b51877b2 (patch)
treecb7c5e5f7b0560ae9fb2abedaebe4c49b34e0456 /tcl
parent804eefc25954465a35e63abc272862169dbf4b9b (diff)
kc705: digilent-jtag/kintex7/jtagspi board
Xilinx Kintex7 Development board with integrated Digilent JTAG-SMT1 (a.k.a. HS1) interface and a 128 MBit SPI flash. Change-Id: I9daba0a2fb2c17e04bcb37bd41872ebde25e0d2f Signed-off-by: Robert Jordens <jordens@gmail.com> Reviewed-on: http://openocd.zylin.com/2861 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Diffstat (limited to 'tcl')
-rw-r--r--tcl/board/kc705.cfg15
-rw-r--r--tcl/cpld/xilinx-xc7.cfg57
-rw-r--r--tcl/interface/ftdi/digilent-hs1.cfg11
3 files changed, 83 insertions, 0 deletions
diff --git a/tcl/board/kc705.cfg b/tcl/board/kc705.cfg
new file mode 100644
index 00000000..39f7fa39
--- /dev/null
+++ b/tcl/board/kc705.cfg
@@ -0,0 +1,15 @@
+# http://www.xilinx.com/products/boards-and-kits/ek-k7-kc705-g.html
+
+source [find interface/ftdi/digilent-hs1.cfg]
+source [find cpld/xilinx-xc7.cfg]
+source [find cpld/jtagspi.cfg]
+adapter_khz 25000
+
+# example command to write bitstream, soft-cpu bios and runtime:
+# openocd -f board/kc705.cfg -c "init;\
+# jtagspi_init 0 bscan_spi_xc7k325t.bit;\
+# jtagspi_program bitstream-kc705.bin 0;\
+# jtagspi_program bios.bin 0xaf0000;\
+# jtagspi_program runtime.fbi 0xb00000;\
+# xc7_program xc7.tap;\
+# exit"
diff --git a/tcl/cpld/xilinx-xc7.cfg b/tcl/cpld/xilinx-xc7.cfg
new file mode 100644
index 00000000..5c5b0232
--- /dev/null
+++ b/tcl/cpld/xilinx-xc7.cfg
@@ -0,0 +1,57 @@
+# xilinx series 7 (artix, kintex, virtex)
+# http://www.xilinx.com/support/documentation/user_guides/ug470_7Series_Config.pdf
+
+if { [info exists CHIPNAME] } {
+ set _CHIPNAME $CHIPNAME
+} else {
+ set _CHIPNAME xc7
+}
+
+# the 4 top bits (28:31) are the die stepping/revisions. ignore it.
+jtag newtap $_CHIPNAME tap -irlen 6 -ignore-version \
+ -expected-id 0x0362D093 \
+ -expected-id 0x0362D093 \
+ -expected-id 0x0362C093 \
+ -expected-id 0x03632093 \
+ -expected-id 0x03631093 \
+ -expected-id 0x03636093 \
+ -expected-id 0x03647093 \
+ -expected-id 0x0364C093 \
+ -expected-id 0x03651093 \
+ -expected-id 0x03747093 \
+ -expected-id 0x03656093 \
+ -expected-id 0x03752093 \
+ -expected-id 0x03751093 \
+ -expected-id 0x03671093 \
+ -expected-id 0x036B3093 \
+ -expected-id 0x036B7093 \
+ -expected-id 0x036BB093 \
+ -expected-id 0x036BF093 \
+ -expected-id 0x03667093 \
+ -expected-id 0x03682093 \
+ -expected-id 0x03687093 \
+ -expected-id 0x03692093 \
+ -expected-id 0x03691093 \
+ -expected-id 0x03696093 \
+ -expected-id 0x036D5093 \
+ -expected-id 0x036D9093 \
+ -expected-id 0x036DB093
+
+pld device virtex2 $_CHIPNAME.tap 1
+
+set XC7_JSHUTDOWN 0x0d
+set XC7_JPROGRAM 0x0b
+set XC7_JSTART 0x0c
+set XC7_BYPASS 0x3f
+
+proc xc7_program {tap} {
+ global XC7_JSHUTDOWN XC7_JPROGRAM XC7_JSTART XC7_BYPASS
+ irscan $tap $XC7_JSHUTDOWN
+ irscan $tap $XC7_JPROGRAM
+ runtest 60000
+ #JSTART prevents this from working...
+ #irscan $tap $XC7_JSTART
+ runtest 2000
+ irscan $tap $XC7_BYPASS
+ runtest 2000
+}
diff --git a/tcl/interface/ftdi/digilent-hs1.cfg b/tcl/interface/ftdi/digilent-hs1.cfg
new file mode 100644
index 00000000..e27249b3
--- /dev/null
+++ b/tcl/interface/ftdi/digilent-hs1.cfg
@@ -0,0 +1,11 @@
+# this supports JTAG-HS1 and JTAG-SMT1
+# (the later being the OEM on-board version)
+
+interface ftdi
+ftdi_device_desc "Digilent Adept USB Device"
+ftdi_vid_pid 0x0403 0x6010
+# channel 1 does not have any functionality
+ftdi_channel 0
+# just TCK TDI TDO TMS, no reset
+ftdi_layout_init 0x0088 0x008b
+reset_config none