tcl/ultrascale: add more ultrascale devices
Add more ultrascale devices. Set instruction codes for SSI devices such that refresh/program read_stat and user registers will work. Change-Id: Id0a0706f4016eb8a4732725a5b72ae61efd73421 Signed-off-by: Daniel Anselmi <danselmi@gmx.ch> Reviewed-on: https://review.openocd.org/c/openocd/+/7716 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
This commit is contained in:
parent
659f2e062d
commit
ddf5e3f90d
|
@ -12,32 +12,61 @@ if { [info exists CHIPNAME] } {
|
|||
# The various chips in the Ultrascale family have different IR length.
|
||||
# Set $CHIP before including this file to determine the device.
|
||||
array set _XCU_DATA {
|
||||
XCKU025 {0x03824093 6}
|
||||
XCKU035 {0x03823093 6}
|
||||
XCKU040 {0x03822093 6}
|
||||
XCKU060 {0x03919093 6}
|
||||
XCKU095 {0x03844093 6}
|
||||
XCKU3P {0x04A63093 6}
|
||||
XCKU5P {0x04A62093 6}
|
||||
XCKU9P {0x0484A093 6}
|
||||
XCKU11P {0x04A4E093 6}
|
||||
XCKU13P {0x04A52093 6}
|
||||
XCKU15P {0x04A56093 6}
|
||||
XCVU065 {0x03939093 6}
|
||||
XCVU080 {0x03843093 6}
|
||||
XCVU095 {0x03842093 6}
|
||||
XCVU3P {0x04B39093 6}
|
||||
XCKU085 {0x0380F093 12}
|
||||
XCKU115 {0x0390D093 12}
|
||||
XCVU125 {0x0392D093 12}
|
||||
XCVU5P {0x04B2B093 12}
|
||||
XCVU7P {0x04B29093 12}
|
||||
XCVU160 {0x03933093 18}
|
||||
XCVU190 {0x03931093 18}
|
||||
XCVU440 {0x0396D093 18}
|
||||
XCVU9P {0x04B31093 18}
|
||||
XCVU11P {0x04B49093 18}
|
||||
XCVU13P {0x04B51093 24}
|
||||
XCKU025 {0x03824093 6}
|
||||
XCKU035 {0x03823093 6}
|
||||
XCKU040 {0x03822093 6}
|
||||
XCKU060 {0x03919093 6}
|
||||
XCKU060_CIV {0x0381b093 6}
|
||||
XCKU095 {0x03844093 6}
|
||||
XCKU095_CIV {0x03845093 6}
|
||||
XCKU3P {0x04A63093 6}
|
||||
XCKU5P {0x04A62093 6}
|
||||
XCKU9P {0x0484A093 6}
|
||||
XCKU11P {0x04A4E093 6}
|
||||
XCKU11P_CIV {0x04A51093 6}
|
||||
XCKU13P {0x04A52093 6}
|
||||
XCKU15P {0x04A56093 6}
|
||||
XCKU15P_CIV {0x04A59093 6}
|
||||
XCVU065 {0x03939093 6}
|
||||
XCVU065_CIV {0x0393b093 6}
|
||||
XCVU080 {0x03843093 6}
|
||||
XCVU080_CIV {0x03845093 6}
|
||||
XCVU095 {0x03842093 6}
|
||||
XCVU2P {0x04aea093 6}
|
||||
XCVU3P {0x04B39093 6}
|
||||
XCVU3P_CIV {0x04b3d093 6}
|
||||
XCAU10P {0x04AC4033 6}
|
||||
XCAU10P_FFVB676 {0x04AC4093 6}
|
||||
XCAU15P {0x04AC2033 6}
|
||||
XCAU15P_FFVB676 {0x04AC2093 6}
|
||||
XCAU20P {0x04A65093 6}
|
||||
XCAU25P {0x04A64093 6}
|
||||
XCKU5P_CIV {0x04A64093 6}
|
||||
XCKU19P {0x04ACF093 6}
|
||||
XCKU19P_CIV {0x04AD3093 6}
|
||||
XCKU085 {0x0380F093 12}
|
||||
XCKU115 {0x0390D093 12}
|
||||
XCVU125 {0x0392D093 12}
|
||||
XCVU125_CIV {0x0392f093 12}
|
||||
XCVU5P {0x04B2B093 12}
|
||||
XCVU5P_CIV {0x04b2f093 12}
|
||||
XCVU7P {0x04B29093 12}
|
||||
XCVU7P_CIV {0x04b2d093 12}
|
||||
XCVU160 {0x03933093 18}
|
||||
XCVU190 {0x03931093 18}
|
||||
XCVU440 {0x0396D093 18}
|
||||
XCVU440_CIV {0x0396f093 18}
|
||||
XCVU9P {0x04B31093 18}
|
||||
XCVU9P_CIV {0x04b35093 18}
|
||||
XCVU11P {0x04B49093 18}
|
||||
XCVU11P_CIV {0x04b4f093 18}
|
||||
XCU200_FSGD2104 {0x04b37093 18}
|
||||
XCU250 {0x04b57093 24}
|
||||
XCVU13P {0x04B51093 24}
|
||||
XCVU13P_CIV {0x04b55093 24}
|
||||
XCVU15P {0x04ba3093 24}
|
||||
XCVU19P {0x04ba1093 24}
|
||||
XCVU19P_CIV {0x04ba5093 24}
|
||||
}
|
||||
|
||||
if { ![info exists CHIP] } {
|
||||
|
@ -56,6 +85,24 @@ jtag newtap $_CHIPNAME tap -irlen $_IRLEN -ignore-version -expected-id $_EXPID
|
|||
|
||||
pld create $_CHIPNAME.pld virtex2 -chain-position $_CHIPNAME.tap -no_jstart
|
||||
|
||||
# set the correct instruction codes for jtag hub and
|
||||
# at least the right code for jprogb, jstart and jshutdown for SSI devices
|
||||
if { $_IRLEN == 6 } {
|
||||
virtex2 set_user_codes $_CHIPNAME.pld 0x2 0x3 0x22 0x23
|
||||
} elseif {$_IRLEN == 12 } {
|
||||
puts "loading bitstream through jtag will not work, but reprogram (refresh)"
|
||||
virtex2 set_instr_codes $_CHIPNAME.pld 0x905 0x904 0x2cb 0x30c 0x34d
|
||||
virtex2 set_user_codes $_CHIPNAME.pld 0x0a4 0x0e4 0x8a4 0x8e4
|
||||
} elseif {$_IRLEN == 18 } {
|
||||
puts "loading bitstream through jtag will not work, but reprogram (refresh)"
|
||||
virtex2 set_instr_codes $_CHIPNAME.pld 0x24905 0x24904 0x0b2cb 0x0c30c 0x0d34d
|
||||
virtex2 set_user_codes $_CHIPNAME.pld 0x000a4 0x000e4 0x008a4 0x008e4
|
||||
} else {
|
||||
puts "loading bitstream through jtag will not work, but reprogram (refresh)"
|
||||
virtex2 set_instr_codes $_CHIPNAME.pld 0x924905 0x924904 0x2cb2cb 0x30c30c 0x34d34d
|
||||
virtex2 set_user_codes $_CHIPNAME.pld 0x0a4924 0x0e4924 0x8a4924 0x8e4924
|
||||
}
|
||||
|
||||
set XCU_JSHUTDOWN 0x0d
|
||||
set XCU_JPROGRAM 0x0b
|
||||
set XCU_JSTART 0x0c
|
||||
|
|
Loading…
Reference in New Issue