X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fflash%2Fstr9x.c;h=6d556d9177ff7e3d4c1ed248dfb136828ef45f1d;hp=665c1607cccd011c9ccf896f9eb66b6668f9288e;hb=833e7f5248778bcb31b4db1a1b91160995415203;hpb=cfc4d5c6b7b6f8f82dc5bbf3ee661c179814666e
diff --git a/src/flash/str9x.c b/src/flash/str9x.c
index 665c1607cc..6d556d9177 100644
--- a/src/flash/str9x.c
+++ b/src/flash/str9x.c
@@ -29,13 +29,14 @@
#include "str9x.h"
#include "arm966e.h"
+#include "algorithm.h"
static uint32_t bank1start = 0x00080000;
-static int str9x_build_block_list(struct flash_bank_s *bank)
+static int str9x_build_block_list(struct flash_bank *bank)
{
- str9x_flash_bank_t *str9x_info = bank->driver_priv;
+ struct str9x_flash_bank *str9x_info = bank->driver_priv;
int i;
int num_sectors;
@@ -83,7 +84,7 @@ static int str9x_build_block_list(struct flash_bank_s *bank)
num_sectors = b0_sectors + b1_sectors;
bank->num_sectors = num_sectors;
- bank->sectors = malloc(sizeof(flash_sector_t) * num_sectors);
+ bank->sectors = malloc(sizeof(struct flash_sector) * num_sectors);
str9x_info->sector_bits = malloc(sizeof(uint32_t) * num_sectors);
num_sectors = 0;
@@ -116,18 +117,17 @@ static int str9x_build_block_list(struct flash_bank_s *bank)
/* flash bank str9x 0 0
*/
-static int str9x_flash_bank_command(struct command_context_s *cmd_ctx,
- char *cmd, char **args, int argc, struct flash_bank_s *bank)
+FLASH_BANK_COMMAND_HANDLER(str9x_flash_bank_command)
{
- str9x_flash_bank_t *str9x_info;
+ struct str9x_flash_bank *str9x_info;
- if (argc < 6)
+ if (CMD_ARGC < 6)
{
LOG_WARNING("incomplete flash_bank str9x configuration");
return ERROR_FLASH_BANK_INVALID;
}
- str9x_info = malloc(sizeof(str9x_flash_bank_t));
+ str9x_info = malloc(sizeof(struct str9x_flash_bank));
bank->driver_priv = str9x_info;
str9x_build_block_list(bank);
@@ -137,11 +137,11 @@ static int str9x_flash_bank_command(struct command_context_s *cmd_ctx,
return ERROR_OK;
}
-static int str9x_protect_check(struct flash_bank_s *bank)
+static int str9x_protect_check(struct flash_bank *bank)
{
int retval;
- str9x_flash_bank_t *str9x_info = bank->driver_priv;
- target_t *target = bank->target;
+ struct str9x_flash_bank *str9x_info = bank->driver_priv;
+ struct target *target = bank->target;
int i;
uint32_t adr;
@@ -215,9 +215,9 @@ static int str9x_protect_check(struct flash_bank_s *bank)
return ERROR_OK;
}
-static int str9x_erase(struct flash_bank_s *bank, int first, int last)
+static int str9x_erase(struct flash_bank *bank, int first, int last)
{
- target_t *target = bank->target;
+ struct target *target = bank->target;
int i;
uint32_t adr;
uint8_t status;
@@ -307,10 +307,10 @@ static int str9x_erase(struct flash_bank_s *bank, int first, int last)
return ERROR_OK;
}
-static int str9x_protect(struct flash_bank_s *bank,
+static int str9x_protect(struct flash_bank *bank,
int set, int first, int last)
{
- target_t *target = bank->target;
+ struct target *target = bank->target;
int i;
uint32_t adr;
uint8_t status;
@@ -346,16 +346,16 @@ static int str9x_protect(struct flash_bank_s *bank,
return ERROR_OK;
}
-static int str9x_write_block(struct flash_bank_s *bank,
+static int str9x_write_block(struct flash_bank *bank,
uint8_t *buffer, uint32_t offset, uint32_t count)
{
- str9x_flash_bank_t *str9x_info = bank->driver_priv;
- target_t *target = bank->target;
+ struct str9x_flash_bank *str9x_info = bank->driver_priv;
+ struct target *target = bank->target;
uint32_t buffer_size = 8192;
- working_area_t *source;
+ struct working_area *source;
uint32_t address = bank->base + offset;
- reg_param_t reg_params[4];
- armv4_5_algorithm_t armv4_5_info;
+ struct reg_param reg_params[4];
+ struct armv4_5_algorithm armv4_5_info;
int retval = ERROR_OK;
uint32_t str9x_flash_write_code[] = {
@@ -455,10 +455,10 @@ static int str9x_write_block(struct flash_bank_s *bank,
return retval;
}
-static int str9x_write(struct flash_bank_s *bank,
+static int str9x_write(struct flash_bank *bank,
uint8_t *buffer, uint32_t offset, uint32_t count)
{
- target_t *target = bank->target;
+ struct target *target = bank->target;
uint32_t words_remaining = (count / 2);
uint32_t bytes_remaining = (count & 0x00000001);
uint32_t address = bank->base + offset;
@@ -613,7 +613,7 @@ static int str9x_write(struct flash_bank_s *bank,
return ERROR_OK;
}
-static int str9x_probe(struct flash_bank_s *bank)
+static int str9x_probe(struct flash_bank *bank)
{
return ERROR_OK;
}
@@ -625,7 +625,7 @@ COMMAND_HANDLER(str9x_handle_part_id_command)
}
#endif
-static int str9x_info(struct flash_bank_s *bank, char *buf, int buf_size)
+static int str9x_info(struct flash_bank *bank, char *buf, int buf_size)
{
snprintf(buf, buf_size, "str9x flash driver info");
return ERROR_OK;
@@ -633,24 +633,24 @@ static int str9x_info(struct flash_bank_s *bank, char *buf, int buf_size)
COMMAND_HANDLER(str9x_handle_flash_config_command)
{
- str9x_flash_bank_t *str9x_info;
- target_t *target = NULL;
+ struct str9x_flash_bank *str9x_info;
+ struct target *target = NULL;
- if (argc < 5)
+ if (CMD_ARGC < 5)
{
return ERROR_COMMAND_SYNTAX_ERROR;
}
- flash_bank_t *bank;
- int retval = flash_command_get_bank_by_num(cmd_ctx, args[0], &bank);
+ struct flash_bank *bank;
+ int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
if (ERROR_OK != retval)
return retval;
uint32_t bbsr, nbbsr, bbadr, nbbadr;
- COMMAND_PARSE_NUMBER(u32, args[1], bbsr);
- COMMAND_PARSE_NUMBER(u32, args[2], nbbsr);
- COMMAND_PARSE_NUMBER(u32, args[3], bbadr);
- COMMAND_PARSE_NUMBER(u32, args[4], nbbadr);
+ COMMAND_PARSE_NUMBER(u32, CMD_ARGV[1], bbsr);
+ COMMAND_PARSE_NUMBER(u32, CMD_ARGV[2], nbbsr);
+ COMMAND_PARSE_NUMBER(u32, CMD_ARGV[3], bbadr);
+ COMMAND_PARSE_NUMBER(u32, CMD_ARGV[4], nbbadr);
str9x_info = bank->driver_priv;
@@ -676,19 +676,19 @@ COMMAND_HANDLER(str9x_handle_flash_config_command)
return ERROR_OK;
}
-static int str9x_register_commands(struct command_context_s *cmd_ctx)
+static int str9x_register_commands(struct command_context *cmd_ctx)
{
- command_t *str9x_cmd = register_command(cmd_ctx, NULL, "str9x",
+ struct command *str9x_cmd = COMMAND_REGISTER(cmd_ctx, NULL, "str9x",
NULL, COMMAND_ANY, "str9x flash commands");
- register_command(cmd_ctx, str9x_cmd, "flash_config",
+ COMMAND_REGISTER(cmd_ctx, str9x_cmd, "flash_config",
str9x_handle_flash_config_command, COMMAND_EXEC,
"configure str9 flash controller");
return ERROR_OK;
}
-flash_driver_t str9x_flash = {
+struct flash_driver str9x_flash = {
.name = "str9x",
.register_commands = &str9x_register_commands,
.flash_bank_command = &str9x_flash_bank_command,