2
0
mirror of git://git.code.sf.net/p/openocd/code synced 2025-07-20 06:46:51 +10:00
openocd/tcl/cpld/xilinx-xc7.cfg
Daniel Anselmi ffd9638bdb tcl: cpld/xilinx-xc7: remove virtex-7 devices with ir-length > 6
They have an ir length of 22, 24 or 38 bit and different command codes.

Change-Id: I488e8613f1c4d017e1590111f60b2725ec62964b
Signed-off-by: Daniel Anselmi <danselmi@gmx.ch>
Reviewed-on: https://review.openocd.org/c/openocd/+/7387
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2023-04-14 15:11:33 +00:00

70 lines
1.8 KiB
INI

# SPDX-License-Identifier: GPL-2.0-or-later
# 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 0x03622093 \
-expected-id 0x03620093 \
-expected-id 0x037C4093 \
-expected-id 0x0362F093 \
-expected-id 0x037C8093 \
-expected-id 0x037C7093 \
-expected-id 0x037C3093 \
-expected-id 0x0362E093 \
-expected-id 0x037C2093 \
-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 0x03667093 \
-expected-id 0x03682093 \
-expected-id 0x03687093 \
-expected-id 0x03692093 \
-expected-id 0x03691093 \
-expected-id 0x03696093
#jtag newtap $_CHIPNAME tap -irlen 24 -ignore-version \
# -expected-id 0x036B3093 -expected-id 0x036B7093 \
# -expected-id 0x036BB093 -expected-id 0x036BF093 \
# -expected-id 0x036D5093
#jtag newtap $_CHIPNAME tap -irlen 22 -ignore-version -expected-id 0x036D9093
#jtag newtap $_CHIPNAME tap -irlen 38 -ignore-version -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
}