tcl/ultrascale: add more ultrascale devices 16/7716/5
authorDaniel Anselmi <danselmi@gmx.ch>
Fri, 14 Apr 2023 23:13:12 +0000 (01:13 +0200)
committerAntonio Borneo <borneo.antonio@gmail.com>
Fri, 14 Jul 2023 13:50:17 +0000 (13:50 +0000)
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>
tcl/cpld/xilinx-xcu.cfg

index 2d74695ed82b8492971db1ae13203a6038540251..4d7f26c8894271a955404f80ba72fd7a68fb293c 100644 (file)
@@ -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

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)