litex-boards/litex_boards/prog/openocd_xcau25p_ft323.cfg

64 lines
1.3 KiB
INI

interface ftdi
ftdi_vid_pid 0x0403 0x6014
ftdi_channel 0
ftdi_layout_init 0x00e8 0x60eb
reset_config none
#openocd missing support, added to local cfg file
set CHIP XCAU25P
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
} else {
set _CHIPNAME xcu
}
# The cvarious chips in the Ultrascale family have different IR length.
# Set $CHIP before including this file to determine the device.
array set _XCU_DATA {
XCAU25P {0x04A64093 6}
}
if { ![info exists CHIP] } {
error "set CHIP to one of "[concat [array names _XCU_DATA]]
}
if { ![llength [array names _XCU_DATA $CHIP]] } {
error "unknown CHIP: "$CHIP
}
set _EXPID [lindex $_XCU_DATA($CHIP) 0]
set _IRLEN [lindex $_XCU_DATA($CHIP) 1]
# the 4 top bits (28:31) are the die stepping/revisions. ignore it.
jtag newtap $_CHIPNAME tap -irlen $_IRLEN -ignore-version -expected-id $_EXPID
pld device virtex2 $_CHIPNAME.tap 1
set XCU_JSHUTDOWN 0x0d
set XCU_JPROGRAM 0x0b
set XCU_JSTART 0x0c
set XCU_BYPASS 0x3f
proc xcu_program {tap} {
global XCU_JSHUTDOWN XCU_JPROGRAM XCU_JSTART XCU_BYPASS
irscan $tap $XCU_JSHUTDOWN
irscan $tap $XCU_JPROGRAM
runtest 60000
#JSTART prevents this from working...
#irscan $tap $XCU_JSTART
runtest 2000
irscan $tap $XCU_BYPASS
runtest 2000
}
source [find cpld/jtagspi.cfg]
adapter_khz 25000
proc fpga_program {} {
global _CHIPNAME
xc7_program $_CHIPNAME.tap
}