}
struct flash_bank *bank;
- int retval = CALL_COMMAND_HANDLER(flash_command_get_bank_by_num, 0, &bank);
+ int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
if (ERROR_OK != retval)
return retval;
return status;
}
- command_print( cmd_ctx, "signature: 0x%8.8" PRIx32
+ command_print( CMD_CTX, "signature: 0x%8.8" PRIx32
":0x%8.8" PRIx32
":0x%8.8" PRIx32
":0x%8.8" PRIx32,
}
struct flash_bank *bank;
- int retval = CALL_COMMAND_HANDLER(flash_command_get_bank_by_num, 0, &bank);
+ int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
if (ERROR_OK != retval)
return retval;
}
struct flash_bank *bank;
- int retval = CALL_COMMAND_HANDLER(flash_command_get_bank_by_num, 0, &bank);
+ int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
if (ERROR_OK != retval)
return retval;
if( !lpc2900_info->risky )
{
- command_print(cmd_ctx, "Wrong password (use '%s')", ISS_PASSWORD);
+ command_print(CMD_CTX, "Wrong password (use '%s')", ISS_PASSWORD);
return ERROR_COMMAND_ARGUMENT_INVALID;
}
- command_print(cmd_ctx,
+ command_print(CMD_CTX,
"Potentially dangerous operation allowed in next command!");
return ERROR_OK;
}
struct flash_bank *bank;
- int retval = CALL_COMMAND_HANDLER(flash_command_get_bank_by_num, 0, &bank);
+ int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
if (ERROR_OK != retval)
return retval;
/* Check if command execution is allowed. */
if( !lpc2900_info->risky )
{
- command_print( cmd_ctx, "Command execution not allowed!" );
+ command_print( CMD_CTX, "Command execution not allowed!" );
return ERROR_COMMAND_ARGUMENT_INVALID;
}
lpc2900_info->risky = 0;
/* Get the bank descriptor */
struct flash_bank *bank;
- int retval = CALL_COMMAND_HANDLER(flash_command_get_bank_by_num, 0, &bank);
+ int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
if (ERROR_OK != retval)
return retval;
/* Check if command execution is allowed. */
if( !lpc2900_info->risky )
{
- command_print( cmd_ctx, "Command execution not allowed! "
+ command_print( CMD_CTX, "Command execution not allowed! "
"(use 'password' command first)");
return ERROR_COMMAND_ARGUMENT_INVALID;
}
(last >= bank->num_sectors) ||
(first > last) )
{
- command_print( cmd_ctx, "Illegal sector range" );
+ command_print( CMD_CTX, "Illegal sector range" );
return ERROR_COMMAND_ARGUMENT_INVALID;
}
}
}
- command_print( cmd_ctx,
+ command_print( CMD_CTX,
"Sectors security will become effective after next power cycle");
/* Update the sector security status */
/* Get the bank descriptor */
struct flash_bank *bank;
- int retval = CALL_COMMAND_HANDLER(flash_command_get_bank_by_num, 0, &bank);
+ int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
if (ERROR_OK != retval)
return retval;
/* Check if command execution is allowed. */
if( !lpc2900_info->risky )
{
- command_print( cmd_ctx, "Command execution not allowed! "
+ command_print( CMD_CTX, "Command execution not allowed! "
"(use 'password' command first)");
return ERROR_COMMAND_ARGUMENT_INVALID;
}
/*********************** Flash interface functions **************************/
+static const struct command_registration lpc2900_exec_command_handlers[] = {
+ {
+ .name = "signature",
+ .handler = &lpc2900_handle_signature_command,
+ .mode = COMMAND_EXEC,
+ .usage = "<bank>",
+ .help = "print device signature of flash bank",
+ },
+ {
+ .name = "read_custom",
+ .handler = &lpc2900_handle_read_custom_command,
+ .mode = COMMAND_EXEC,
+ .usage = "<bank> <filename>",
+ .help = "read customer information from index sector to file",
+ },
+ {
+ .name = "password",
+ .handler = &lpc2900_handle_password_command,
+ .mode = COMMAND_EXEC,
+ .usage = "<bank> <password>",
+ .help = "enter password to enable 'dangerous' options",
+ },
+ {
+ .name = "write_custom",
+ .handler = &lpc2900_handle_write_custom_command,
+ .mode = COMMAND_EXEC,
+ .usage = "<bank> <filename> [<type>]",
+ .help = "write customer info from file to index sector",
+ },
+ {
+ .name = "secure_sector",
+ .handler = &lpc2900_handle_secure_sector_command,
+ .mode = COMMAND_EXEC,
+ .usage = "<bank> <first> <last>",
+ .help = "activate sector security for a range of sectors",
+ },
+ {
+ .name = "secure_jtag",
+ .handler = &lpc2900_handle_secure_jtag_command,
+ .mode = COMMAND_EXEC,
+ .usage = "<bank> <level>",
+ .help = "activate JTAG security",
+ },
+ COMMAND_REGISTRATION_DONE
+};
+static const struct command_registration lpc2900_command_handlers[] = {
+ {
+ .name = "lpc2900",
+ .mode = COMMAND_ANY,
+ .help = "LPC2900 flash command group",
+ .chain = lpc2900_exec_command_handlers,
+ },
+ COMMAND_REGISTRATION_DONE
+};
/**
* Register private command handlers.
*/
static int lpc2900_register_commands(struct command_context *cmd_ctx)
{
- struct command *lpc2900_cmd = register_command(cmd_ctx, NULL, "lpc2900",
- NULL, COMMAND_ANY, NULL);
-
- register_command(
- cmd_ctx,
- lpc2900_cmd,
- "signature",
- lpc2900_handle_signature_command,
- COMMAND_EXEC,
- "<bank> | "
- "print device signature of flash bank");
-
- register_command(
- cmd_ctx,
- lpc2900_cmd,
- "read_custom",
- lpc2900_handle_read_custom_command,
- COMMAND_EXEC,
- "<bank> <filename> | "
- "read customer information from index sector to file");
-
- register_command(
- cmd_ctx,
- lpc2900_cmd,
- "password",
- lpc2900_handle_password_command,
- COMMAND_EXEC,
- "<bank> <password> | "
- "enter password to enable 'dangerous' options");
-
- register_command(
- cmd_ctx,
- lpc2900_cmd,
- "write_custom",
- lpc2900_handle_write_custom_command,
- COMMAND_EXEC,
- "<bank> <filename> [<type>] | "
- "write customer info from file to index sector");
-
- register_command(
- cmd_ctx,
- lpc2900_cmd,
- "secure_sector",
- lpc2900_handle_secure_sector_command,
- COMMAND_EXEC,
- "<bank> <first> <last> | "
- "activate sector security for a range of sectors");
-
- register_command(
- cmd_ctx,
- lpc2900_cmd,
- "secure_jtag",
- lpc2900_handle_secure_jtag_command,
- COMMAND_EXEC,
- "<bank> <level> | "
- "activate JTAG security");
-
- return ERROR_OK;
+ return register_commands(cmd_ctx, NULL, lpc2900_command_handlers);
}