zy1000: add version command to print FPGA version and timestamps
authorØyvind Harboe <oyvind.harboe@zylin.com>
Fri, 13 Nov 2009 12:54:20 +0000 (13:54 +0100)
committerØyvind Harboe <oyvind.harboe@zylin.com>
Tue, 17 Nov 2009 14:04:17 +0000 (15:04 +0100)
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
src/jtag/zy1000/zy1000.c

index f2a5aa942c08620da0b86e56e7f3f5bde655cba1..a509aee58b0e8ca6656303273fc312740b912f89 100644 (file)
@@ -28,6 +28,8 @@
 #include <cyg/hal/hal_io.h>             // low level i/o
 #include <cyg/hal/hal_diag.h>
 
+#include <time.h>
+
 #define ZYLIN_VERSION GIT_ZY1000_VERSION
 #define ZYLIN_DATE __DATE__
 #define ZYLIN_TIME __TIME__
@@ -257,9 +259,8 @@ int handle_power_command(struct command_context *cmd_ctx, char *cmd, char **args
 /* Give TELNET a way to find out what version this is */
 static int jim_zy1000_version(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
 {
-       if ((argc < 1) || (argc > 2))
+       if ((argc < 1) || (argc > 3))
                return JIM_ERR;
-       char buff[128];
        const char *version_str = NULL;
 
        if (argc == 1)
@@ -268,6 +269,9 @@ static int jim_zy1000_version(Jim_Interp *interp, int argc, Jim_Obj *const *argv
        } else
        {
                const char *str = Jim_GetString(argv[1], NULL);
+               const char *str2 = NULL;
+               if (argc > 2)
+                       str2 = Jim_GetString(argv[2], NULL);
                if (strcmp("openocd", str) == 0)
                {
                        version_str = ZYLIN_OPENOCD;
@@ -292,6 +296,29 @@ static int jim_zy1000_version(Jim_Interp *interp, int argc, Jim_Obj *const *argv
                        version_str="b";
 #endif
                }
+#ifdef CYGPKG_HAL_NIOS2
+               else if (strcmp("fpga", str) == 0)
+               {
+
+                       /* return a list of 32 bit integers to describe the expected
+                        * and actual FPGA
+                        */
+                       static char *fpga_id = "0x12345678 0x12345678 0x12345678 0x12345678";
+                       cyg_uint32 id, timestamp;
+                       HAL_READ_UINT32(SYSID_BASE, id);
+                       HAL_READ_UINT32(SYSID_BASE+4, timestamp);
+                       sprintf(fpga_id, "0x%08x 0x%08x 0x%08x 0x%08x", id, timestamp, SYSID_ID, SYSID_TIMESTAMP);
+                       version_str = fpga_id;
+                       if ((argc>2) && (strcmp("time", str2) == 0))
+                       {
+                           time_t last_mod = timestamp;
+                           char * t = ctime (&last_mod) ;
+                           t[strlen(t)-1] = 0;
+                           version_str = t;
+                       }
+               }
+#endif
+
                else
                {
                        return JIM_ERR;

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)