mem_helper: add mrh command
[openocd.git] / tcl / cpld / xilinx-xcu.cfg
blob3270597110c06c656de65e25472dd9da77580951
1 # Xilinx Ultrascale (Kintex, Virtex, Zynq)
2 # https://www.xilinx.com/support/documentation/user_guides/ug570-ultrascale-configuration.pdf
4 if { [info exists CHIPNAME] } {
5         set _CHIPNAME $CHIPNAME
6 } else {
7         set _CHIPNAME xcu
10 # The cvarious chips in the Ultrascale family have different IR length.
11 # Set $CHIP before including this file to determine the device.
12 array set _XCU_DATA {
13         XCKU025 {0x03824093 6}
14         XCKU035 {0x03823093 6}
15         XCKU040 {0x03822093 6}
16         XCKU060 {0x03919093 6}
17         XCKU095 {0x03844093 6}
18         XCKU3P {0x04A63093 6}
19         XCKU5P {0x04A62093 6}
20         XCKU9P {0x0484A093 6}
21         XCKU11P {0x04A4E093 6}
22         XCKU13P {0x04A52093 6}
23         XCKU15P {0x04A56093 6}
24         XCVU065 {0x03939093 6}
25         XCVU080 {0x03843093 6}
26         XCVU095 {0x03842093 6}
27         XCVU3P {0x04B39093 6}
28         XCKU085 {0x0380F093 12}
29         XCKU115 {0x0390D093 12}
30         XCVU125 {0x0392D093 12}
31         XCVU5P {0x04B2B093 12}
32         XCVU7P {0x04B29093 12}
33         XCVU160 {0x03933093 18}
34         XCVU190 {0x03931093 18}
35         XCVU440 {0x0396D093 18}
36         XCVU9P {0x04B31093 18}
37         XCVU11P {0x04B49093 18}
38         XCVU13P {0x04B51093 24}
41 if { ![info exists CHIP] } {
42         error "set CHIP to one of "[concat [array names _XCU_DATA]]
45 if { ![llength [array names _XCU_DATA $CHIP]] } {
46         error "unknown CHIP: "$CHIP
49 set _EXPID [lindex $_XCU_DATA($CHIP) 0]
50 set _IRLEN [lindex $_XCU_DATA($CHIP) 1]
52 # the 4 top bits (28:31) are the die stepping/revisions. ignore it.
53 jtag newtap $_CHIPNAME tap -irlen $_IRLEN -ignore-version -expected-id $_EXPID
55 pld device virtex2 $_CHIPNAME.tap 1
57 set XCU_JSHUTDOWN 0x0d
58 set XCU_JPROGRAM 0x0b
59 set XCU_JSTART 0x0c
60 set XCU_BYPASS 0x3f
62 proc xcu_program {tap} {
63         global XCU_JSHUTDOWN XCU_JPROGRAM XCU_JSTART XCU_BYPASS
64         irscan $tap $XCU_JSHUTDOWN
65         irscan $tap $XCU_JPROGRAM
66         runtest 60000
67         #JSTART prevents this from working...
68         #irscan $tap $XCU_JSTART
69         runtest 2000
70         irscan $tap $XCU_BYPASS
71         runtest 2000