jtag: linuxgpiod: drop extra parenthesis
[openocd.git] / tcl / cpld / xilinx-xcu.cfg
1 # SPDX-License-Identifier: GPL-2.0-or-later
2
3 # Xilinx Ultrascale (Kintex, Virtex, Zynq)
4 # https://www.xilinx.com/support/documentation/user_guides/ug570-ultrascale-configuration.pdf
5
6 if { [info exists CHIPNAME] } {
7 set _CHIPNAME $CHIPNAME
8 } else {
9 set _CHIPNAME xcu
10 }
11
12 # The various chips in the Ultrascale family have different IR length.
13 # Set $CHIP before including this file to determine the device.
14 array set _XCU_DATA {
15 XCKU025 {0x03824093 6}
16 XCKU035 {0x03823093 6}
17 XCKU040 {0x03822093 6}
18 XCKU060 {0x03919093 6}
19 XCKU060_CIV {0x0381b093 6}
20 XCKU095 {0x03844093 6}
21 XCKU095_CIV {0x03845093 6}
22 XCKU3P {0x04A63093 6}
23 XCKU5P {0x04A62093 6}
24 XCKU9P {0x0484A093 6}
25 XCKU11P {0x04A4E093 6}
26 XCKU11P_CIV {0x04A51093 6}
27 XCKU13P {0x04A52093 6}
28 XCKU15P {0x04A56093 6}
29 XCKU15P_CIV {0x04A59093 6}
30 XCVU065 {0x03939093 6}
31 XCVU065_CIV {0x0393b093 6}
32 XCVU080 {0x03843093 6}
33 XCVU080_CIV {0x03845093 6}
34 XCVU095 {0x03842093 6}
35 XCVU2P {0x04aea093 6}
36 XCVU3P {0x04B39093 6}
37 XCVU3P_CIV {0x04b3d093 6}
38 XCAU10P {0x04AC4033 6}
39 XCAU10P_FFVB676 {0x04AC4093 6}
40 XCAU15P {0x04AC2033 6}
41 XCAU15P_FFVB676 {0x04AC2093 6}
42 XCAU20P {0x04A65093 6}
43 XCAU25P {0x04A64093 6}
44 XCKU5P_CIV {0x04A64093 6}
45 XCKU19P {0x04ACF093 6}
46 XCKU19P_CIV {0x04AD3093 6}
47 XCKU085 {0x0380F093 12}
48 XCKU115 {0x0390D093 12}
49 XCVU125 {0x0392D093 12}
50 XCVU125_CIV {0x0392f093 12}
51 XCVU5P {0x04B2B093 12}
52 XCVU5P_CIV {0x04b2f093 12}
53 XCVU7P {0x04B29093 12}
54 XCVU7P_CIV {0x04b2d093 12}
55 XCVU160 {0x03933093 18}
56 XCVU190 {0x03931093 18}
57 XCVU440 {0x0396D093 18}
58 XCVU440_CIV {0x0396f093 18}
59 XCVU9P {0x04B31093 18}
60 XCVU9P_CIV {0x04b35093 18}
61 XCVU11P {0x04B49093 18}
62 XCVU11P_CIV {0x04b4f093 18}
63 XCU200_FSGD2104 {0x04b37093 18}
64 XCU250 {0x04b57093 24}
65 XCVU13P {0x04B51093 24}
66 XCVU13P_CIV {0x04b55093 24}
67 XCVU15P {0x04ba3093 24}
68 XCVU19P {0x04ba1093 24}
69 XCVU19P_CIV {0x04ba5093 24}
70 }
71
72 if { ![info exists CHIP] } {
73 error "set CHIP to one of "[concat [array names _XCU_DATA]]
74 }
75
76 if { ![llength [array names _XCU_DATA $CHIP]] } {
77 error "unknown CHIP: "$CHIP
78 }
79
80 set _EXPID [lindex $_XCU_DATA($CHIP) 0]
81 set _IRLEN [lindex $_XCU_DATA($CHIP) 1]
82
83 # the 4 top bits (28:31) are the die stepping/revisions. ignore it.
84 jtag newtap $_CHIPNAME tap -irlen $_IRLEN -ignore-version -expected-id $_EXPID
85
86 pld create $_CHIPNAME.pld virtex2 -chain-position $_CHIPNAME.tap -no_jstart
87
88 # set the correct instruction codes for jtag hub and
89 # at least the right code for jprogb, jstart and jshutdown for SSI devices
90 if { $_IRLEN == 6 } {
91 virtex2 set_user_codes $_CHIPNAME.pld 0x2 0x3 0x22 0x23
92 } elseif {$_IRLEN == 12 } {
93 puts "loading bitstream through jtag will not work, but reprogram (refresh)"
94 virtex2 set_instr_codes $_CHIPNAME.pld 0x905 0x904 0x2cb 0x30c 0x34d
95 virtex2 set_user_codes $_CHIPNAME.pld 0x0a4 0x0e4 0x8a4 0x8e4
96 } elseif {$_IRLEN == 18 } {
97 puts "loading bitstream through jtag will not work, but reprogram (refresh)"
98 virtex2 set_instr_codes $_CHIPNAME.pld 0x24905 0x24904 0x0b2cb 0x0c30c 0x0d34d
99 virtex2 set_user_codes $_CHIPNAME.pld 0x000a4 0x000e4 0x008a4 0x008e4
100 } else {
101 puts "loading bitstream through jtag will not work, but reprogram (refresh)"
102 virtex2 set_instr_codes $_CHIPNAME.pld 0x924905 0x924904 0x2cb2cb 0x30c30c 0x34d34d
103 virtex2 set_user_codes $_CHIPNAME.pld 0x0a4924 0x0e4924 0x8a4924 0x8e4924
104 }
105
106 set XCU_JSHUTDOWN 0x0d
107 set XCU_JPROGRAM 0x0b
108 set XCU_JSTART 0x0c
109 set XCU_BYPASS 0x3f
110
111 proc xcu_program {tap} {
112 echo "DEPRECATED! use 'virtex2 program ...' not 'xcu_program'"
113 global XCU_JSHUTDOWN XCU_JPROGRAM XCU_JSTART XCU_BYPASS
114 irscan $tap $XCU_JSHUTDOWN
115 irscan $tap $XCU_JPROGRAM
116 runtest 60000
117 #JSTART prevents this from working...
118 #irscan $tap $XCU_JSTART
119 runtest 2000
120 irscan $tap $XCU_BYPASS
121 runtest 2000
122 }

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)