return ERROR_OK;
}
- COMMAND_PARSE_NUMBER(u32, args[1], base_address);
+ COMMAND_PARSE_NUMBER(u32, CMD_ARGV[1], base_address);
- COMMAND_PARSE_NUMBER(int, args[3], chip_width);
- COMMAND_PARSE_NUMBER(int, args[4], bus_width);
+ COMMAND_PARSE_NUMBER(int, CMD_ARGV[3], chip_width);
+ COMMAND_PARSE_NUMBER(int, CMD_ARGV[4], bus_width);
- COMMAND_PARSE_NUMBER(int, args[8], banks_num);
- COMMAND_PARSE_NUMBER(int, args[9], num_sectors);
- COMMAND_PARSE_NUMBER(u16, args[10], pages_per_sector);
- COMMAND_PARSE_NUMBER(u16, args[11], page_size);
- COMMAND_PARSE_NUMBER(u16, args[12], num_nvmbits);
+ COMMAND_PARSE_NUMBER(int, CMD_ARGV[8], banks_num);
+ COMMAND_PARSE_NUMBER(int, CMD_ARGV[9], num_sectors);
+ COMMAND_PARSE_NUMBER(u16, CMD_ARGV[10], pages_per_sector);
+ COMMAND_PARSE_NUMBER(u16, CMD_ARGV[11], page_size);
+ COMMAND_PARSE_NUMBER(u16, CMD_ARGV[12], num_nvmbits);
if (CMD_ARGC == 14) {
unsigned long freq;
- COMMAND_PARSE_NUMBER(ulong, args[13], freq);
+ COMMAND_PARSE_NUMBER(ulong, CMD_ARGV[13], freq);
ext_freq = freq * 1000;
at91sam7_info->ext_freq = ext_freq;
}
return ERROR_OK;
}
- target_name = calloc(strlen(args[7]) + 1, sizeof(char));
- strcpy(target_name, args[7]);
+ target_name = calloc(strlen(CMD_ARGV[7]) + 1, sizeof(char));
+ strcpy(target_name, CMD_ARGV[7]);
/* calculate bank size */
bank_size = num_sectors * pages_per_sector * page_size;
if (CMD_ARGC != 2)
{
- command_print(cmd_ctx, "at91sam7 gpnvm <bit> <set | clear>");
+ command_print(CMD_CTX, "at91sam7 gpnvm <bit> <set | clear>");
return ERROR_OK;
}
}
if (strcmp(bank->driver->name, "at91sam7"))
{
- command_print(cmd_ctx, "not an at91sam7 flash bank '%s'", args[0]);
+ command_print(CMD_CTX, "not an at91sam7 flash bank '%s'", CMD_ARGV[0]);
return ERROR_FLASH_BANK_INVALID;
}
if (bank->target->state != TARGET_HALTED)
return ERROR_TARGET_NOT_HALTED;
}
- if (strcmp(args[1], "set") == 0)
+ if (strcmp(CMD_ARGV[1], "set") == 0)
{
flashcmd = SGPB;
}
- else if (strcmp(args[1], "clear") == 0)
+ else if (strcmp(CMD_ARGV[1], "clear") == 0)
{
flashcmd = CGPB;
}
}
}
- COMMAND_PARSE_NUMBER(int, args[0], bit);
+ COMMAND_PARSE_NUMBER(int, CMD_ARGV[0], bit);
if ((bit < 0) || (bit >= at91sam7_info->num_nvmbits))
{
- command_print(cmd_ctx, "gpnvm bit '#%s' is out of bounds for target %s", args[0], at91sam7_info->target_name);
+ command_print(CMD_CTX, "gpnvm bit '#%s' is out of bounds for target %s", CMD_ARGV[0], at91sam7_info->target_name);
return ERROR_OK;
}
return ERROR_OK;
}
+static const struct command_registration at91sam7_exec_command_handlers[] = {
+ {
+ .name = "gpnvm",
+ .handler = &at91sam7_handle_gpnvm_command,
+ .mode = COMMAND_EXEC,
+ .usage = "gpnvm <bit> set | clear, "
+ "set or clear one gpnvm bit",
+ },
+ COMMAND_REGISTRATION_DONE
+};
+static const struct command_registration at91sam7_command_handlers[] = {
+ {
+ .name = "at91sam7",
+ .mode = COMMAND_ANY,
+ .help = "at91sam7 flash command group",
+ .chain = at91sam7_exec_command_handlers,
+ },
+ COMMAND_REGISTRATION_DONE
+};
+
static int at91sam7_register_commands(struct command_context *cmd_ctx)
{
- struct command *at91sam7_cmd = register_command(cmd_ctx, NULL, "at91sam7",
- NULL, COMMAND_ANY, NULL);
-
- register_command(cmd_ctx, at91sam7_cmd, "gpnvm",
- at91sam7_handle_gpnvm_command, COMMAND_EXEC,
- "at91sam7 gpnvm <bit> set | clear, "
- "set or clear one gpnvm bit");
-
- return ERROR_OK;
+ return register_commands(cmd_ctx, NULL, at91sam7_command_handlers);
}
struct flash_driver at91sam7_flash = {