#define ZYLIN_OPENOCD GIT_OPENOCD_VERSION
#define ZYLIN_OPENOCD_VERSION "ZY1000 " ZYLIN_VERSION " " ZYLIN_DATE
-/* low level command set
- */
-void zy1000_reset(int trst, int srst);
-
-
-int zy1000_speed(int speed);
-int zy1000_register_commands(struct command_context *cmd_ctx);
-int zy1000_init(void);
-int zy1000_quit(void);
-
-/* interface commands */
-int zy1000_handle_zy1000_port_command(struct command_context *cmd_ctx, char *cmd, char **args, int argc);
static int zy1000_khz(int khz, int *jtag_speed)
{
return ERROR_OK;
}
-
-struct jtag_interface zy1000_interface =
-{
- .name = "ZY1000",
- .execute_queue = NULL,
- .speed = zy1000_speed,
- .register_commands = zy1000_register_commands,
- .init = zy1000_init,
- .quit = zy1000_quit,
- .khz = zy1000_khz,
- .speed_div = zy1000_speed_div,
- .power_dropout = zy1000_power_dropout,
- .srst_asserted = zy1000_srst_asserted,
-};
-
void zy1000_reset(int trst, int srst)
{
LOG_DEBUG("zy1000 trst=%d, srst=%d", trst, srst);
}
}
-int handle_power_command(struct command_context *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_power_command)
{
- if (argc > 1)
- {
- return ERROR_INVALID_ARGUMENTS;
- }
-
- if (argc == 1)
+ switch (CMD_ARGC)
{
+ case 1: {
bool enable;
- COMMAND_PARSE_ON_OFF(args[0], enable);
+ COMMAND_PARSE_ON_OFF(CMD_ARGV[0], enable);
setPower(enable);
+ // fall through
+ }
+ case 0:
+ LOG_INFO("Target power %s", savePower ? "on" : "off");
+ break;
+ default:
+ return ERROR_INVALID_ARGUMENTS;
}
-
- command_print(cmd_ctx, "Target power %s", savePower ? "on" : "off");
return ERROR_OK;
}
return JIM_OK;
}
-int zy1000_register_commands(struct command_context *cmd_ctx)
-{
- register_command(cmd_ctx, NULL, "power", handle_power_command, COMMAND_ANY,
- "power <on/off> - turn power switch to target on/off. No arguments - print status.");
-
- Jim_CreateCommand(interp, "zy1000_version", jim_zy1000_version, NULL, NULL);
-
-
- Jim_CreateCommand(interp, "powerstatus", zylinjtag_Jim_Command_powerstatus, NULL, NULL);
-
-#ifdef CYGPKG_HAL_NIOS2
- Jim_CreateCommand(interp, "updatezy1000firmware", jim_zy1000_writefirmware, NULL, NULL);
-#endif
-
-
- return ERROR_OK;
-}
-
}
+static const struct command_registration zy1000_commands[] = {
+ {
+ .name = "power",
+ .handler = &handle_power_command,
+ .mode = COMMAND_ANY,
+ .help = "turn power switch to target on/off. No arguments - print status.",
+ .usage = "power <on/off>",
+ },
+ {
+ .name = "zy1000_version",
+ .mode = COMMAND_ANY,
+ .jim_handler = &jim_zy1000_version,
+ .help = "print version info for zy1000",
+ },
+ {
+ .name = "powerstatus",
+ .mode = COMMAND_ANY,
+ .jim_handler = & zylinjtag_Jim_Command_powerstatus,
+ .help = "print power status of target",
+ },
+#ifdef CYGPKG_HAL_NIOS2
+ {
+ .name = "updatezy1000firmware",
+ .mode = COMMAND_ANY,
+ .jim_handler = &jim_zy1000_writefirmware,
+ .help = "writes firmware to flash",
+ },
+#endif
+};
+
+
+
+struct jtag_interface zy1000_interface =
+{
+ .name = "ZY1000",
+ .execute_queue = NULL,
+ .speed = zy1000_speed,
+ .commands = zy1000_commands,
+ .init = zy1000_init,
+ .quit = zy1000_quit,
+ .khz = zy1000_khz,
+ .speed_div = zy1000_speed_div,
+ .power_dropout = zy1000_power_dropout,
+ .srst_asserted = zy1000_srst_asserted,
+};
+