-
-static int sam3_registered;
-static int
-sam3_register_commands(struct command_context_s *cmd_ctx)
-{
- command_t *pCmd;
-
- // only register once
- if (!sam3_registered) {
- sam3_registered++;
-
- pCmd = register_command(cmd_ctx, NULL, "at91sam3", NULL, COMMAND_ANY, NULL);
- register_command(cmd_ctx, pCmd,
- "gpnvm",
- sam3_handle_gpnvm_command,
- COMMAND_EXEC,
- "at91sam3 gpnvm [action [<BIT>], by default 'show', otherwise set | clear BIT");
- register_command(cmd_ctx, pCmd,
- "info",
- sam3_handle_info_command,
- COMMAND_EXEC,
- "at91sam3 info - print information about the current sam3 chip");
- register_command(cmd_ctx, pCmd,
- "slowclk",
- sam3_handle_slowclk_command,
- COMMAND_EXEC,
- "at91sam3 slowclk [VALUE] set the slowclock frequency (default 32768hz)");
- }
- return ERROR_OK;
-}
-
-
-flash_driver_t at91sam3_flash =
-{
- .name = "at91sam3",
- .register_commands = sam3_register_commands,
-
- .flash_bank_command = sam3_flash_bank_command,
- .erase = sam3_erase,
- .protect = sam3_protect,
- .write = sam3_write,
- .probe = sam3_probe,
- .auto_probe = sam3_auto_probe,
- .erase_check = sam3_erase_check,
- .protect_check = sam3_protect_check,
- .info = sam3_info
+static const struct command_registration at91sam3_exec_command_handlers[] = {
+ {
+ .name = "gpnvm",
+ .handler = &sam3_handle_gpnvm_command,
+ .mode = COMMAND_EXEC,
+ .usage = "[(set|clear) [<bit_id>]]",
+ .help = "Without arguments, shows the gpnvm register; "
+ "otherwise, sets or clear the specified bit.",
+ },
+ {
+ .name = "info",
+ .handler = &sam3_handle_info_command,
+ .mode = COMMAND_EXEC,
+ .help = "print information about the current sam3 chip",
+ },
+ {
+ .name = "slowclk",
+ .handler = &sam3_handle_slowclk_command,
+ .mode = COMMAND_EXEC,
+ .usage = "<value>",
+ .help = "set the slowclock frequency (default 32768hz)",
+ },
+ COMMAND_REGISTRATION_DONE