X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fflash%2Fstr7x.c;h=b79dd17fde37fcb25c57cd97514a3c597b9c1e63;hp=028eab63098048e95dc66da59e1ad5775bd50fbd;hb=ff25e76bad7e57da4ebd363f1b35d4af04acaa67;hpb=cfc4d5c6b7b6f8f82dc5bbf3ee661c179814666e diff --git a/src/flash/str7x.c b/src/flash/str7x.c index 028eab6309..b79dd17fde 100644 --- a/src/flash/str7x.c +++ b/src/flash/str7x.c @@ -27,9 +27,10 @@ #include "str7x.h" #include "armv4_5.h" #include "binarybuffer.h" +#include "algorithm.h" -str7x_mem_layout_t mem_layout_str7bank0[] = { +struct str7x_mem_layout mem_layout_str7bank0[] = { {0x00000000, 0x02000, 0x01}, {0x00002000, 0x02000, 0x02}, {0x00004000, 0x02000, 0x04}, @@ -40,20 +41,20 @@ str7x_mem_layout_t mem_layout_str7bank0[] = { {0x00030000, 0x10000, 0x80} }; -str7x_mem_layout_t mem_layout_str7bank1[] = { +struct str7x_mem_layout mem_layout_str7bank1[] = { {0x00000000, 0x02000, 0x10000}, {0x00002000, 0x02000, 0x20000} }; -static int str7x_get_flash_adr(struct flash_bank_s *bank, uint32_t reg) +static int str7x_get_flash_adr(struct flash_bank *bank, uint32_t reg) { - str7x_flash_bank_t *str7x_info = bank->driver_priv; + struct str7x_flash_bank *str7x_info = bank->driver_priv; return (str7x_info->register_base | reg); } -static int str7x_build_block_list(struct flash_bank_s *bank) +static int str7x_build_block_list(struct flash_bank *bank) { - str7x_flash_bank_t *str7x_info = bank->driver_priv; + struct str7x_flash_bank *str7x_info = bank->driver_priv; int i; int num_sectors; @@ -81,7 +82,7 @@ static int str7x_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); str7x_info->sector_bits = malloc(sizeof(uint32_t) * num_sectors); num_sectors = 0; @@ -109,40 +110,40 @@ static int str7x_build_block_list(struct flash_bank_s *bank) /* flash bank str7x 0 0 */ -static int str7x_flash_bank_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct flash_bank_s *bank) +FLASH_BANK_COMMAND_HANDLER(str7x_flash_bank_command) { - str7x_flash_bank_t *str7x_info; + struct str7x_flash_bank *str7x_info; - if (argc < 7) + if (CMD_ARGC < 7) { LOG_WARNING("incomplete flash_bank str7x configuration"); return ERROR_FLASH_BANK_INVALID; } - str7x_info = malloc(sizeof(str7x_flash_bank_t)); + str7x_info = malloc(sizeof(struct str7x_flash_bank)); bank->driver_priv = str7x_info; /* set default bits for str71x flash */ str7x_info->busy_bits = (FLASH_LOCK | FLASH_BSYA1 | FLASH_BSYA0); str7x_info->disable_bit = (1 << 1); - if (strcmp(args[6], "STR71x") == 0) + if (strcmp(CMD_ARGV[6], "STR71x") == 0) { str7x_info->register_base = 0x40100000; } - else if (strcmp(args[6], "STR73x") == 0) + else if (strcmp(CMD_ARGV[6], "STR73x") == 0) { str7x_info->register_base = 0x80100000; str7x_info->busy_bits = (FLASH_LOCK | FLASH_BSYA0); } - else if (strcmp(args[6], "STR75x") == 0) + else if (strcmp(CMD_ARGV[6], "STR75x") == 0) { str7x_info->register_base = 0x20100000; str7x_info->disable_bit = (1 << 0); } else { - LOG_ERROR("unknown STR7x variant: '%s'", args[6]); + LOG_ERROR("unknown STR7x variant: '%s'", CMD_ARGV[6]); free(str7x_info); return ERROR_FLASH_BANK_INVALID; } @@ -154,9 +155,9 @@ static int str7x_flash_bank_command(struct command_context_s *cmd_ctx, char *cmd return ERROR_OK; } -static uint32_t str7x_status(struct flash_bank_s *bank) +static uint32_t str7x_status(struct flash_bank *bank) { - target_t *target = bank->target; + struct target *target = bank->target; uint32_t retval; target_read_u32(target, str7x_get_flash_adr(bank, FLASH_CR0), &retval); @@ -164,9 +165,9 @@ static uint32_t str7x_status(struct flash_bank_s *bank) return retval; } -static uint32_t str7x_result(struct flash_bank_s *bank) +static uint32_t str7x_result(struct flash_bank *bank) { - target_t *target = bank->target; + struct target *target = bank->target; uint32_t retval; target_read_u32(target, str7x_get_flash_adr(bank, FLASH_ER), &retval); @@ -174,10 +175,10 @@ static uint32_t str7x_result(struct flash_bank_s *bank) return retval; } -static int str7x_protect_check(struct flash_bank_s *bank) +static int str7x_protect_check(struct flash_bank *bank) { - str7x_flash_bank_t *str7x_info = bank->driver_priv; - target_t *target = bank->target; + struct str7x_flash_bank *str7x_info = bank->driver_priv; + struct target *target = bank->target; int i; uint32_t retval; @@ -201,10 +202,10 @@ static int str7x_protect_check(struct flash_bank_s *bank) return ERROR_OK; } -static int str7x_erase(struct flash_bank_s *bank, int first, int last) +static int str7x_erase(struct flash_bank *bank, int first, int last) { - str7x_flash_bank_t *str7x_info = bank->driver_priv; - target_t *target = bank->target; + struct str7x_flash_bank *str7x_info = bank->driver_priv; + struct target *target = bank->target; int i; uint32_t cmd; @@ -254,10 +255,10 @@ static int str7x_erase(struct flash_bank_s *bank, int first, int last) return ERROR_OK; } -static int str7x_protect(struct flash_bank_s *bank, int set, int first, int last) +static int str7x_protect(struct flash_bank *bank, int set, int first, int last) { - str7x_flash_bank_t *str7x_info = bank->driver_priv; - target_t *target = bank->target; + struct str7x_flash_bank *str7x_info = bank->driver_priv; + struct target *target = bank->target; int i; uint32_t cmd; uint32_t retval; @@ -308,15 +309,15 @@ static int str7x_protect(struct flash_bank_s *bank, int set, int first, int last return ERROR_OK; } -static int str7x_write_block(struct flash_bank_s *bank, uint8_t *buffer, uint32_t offset, uint32_t count) +static int str7x_write_block(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count) { - str7x_flash_bank_t *str7x_info = bank->driver_priv; - target_t *target = bank->target; + struct str7x_flash_bank *str7x_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[6]; - armv4_5_algorithm_t armv4_5_info; + struct reg_param reg_params[6]; + struct armv4_5_algorithm armv4_5_info; int retval = ERROR_OK; uint32_t str7x_flash_write_code[] = { @@ -423,10 +424,10 @@ static int str7x_write_block(struct flash_bank_s *bank, uint8_t *buffer, uint32_ return retval; } -static int str7x_write(struct flash_bank_s *bank, uint8_t *buffer, uint32_t offset, uint32_t count) +static int str7x_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count) { - target_t *target = bank->target; - str7x_flash_bank_t *str7x_info = bank->driver_priv; + struct target *target = bank->target; + struct str7x_flash_bank *str7x_info = bank->driver_priv; uint32_t dwords_remaining = (count / 8); uint32_t bytes_remaining = (count & 0x00000007); uint32_t address = bank->base + offset; @@ -583,7 +584,7 @@ static int str7x_write(struct flash_bank_s *bank, uint8_t *buffer, uint32_t offs return ERROR_OK; } -static int str7x_probe(struct flash_bank_s *bank) +static int str7x_probe(struct flash_bank *bank) { return ERROR_OK; } @@ -595,7 +596,7 @@ COMMAND_HANDLER(str7x_handle_part_id_command) } #endif -static int str7x_info(struct flash_bank_s *bank, char *buf, int buf_size) +static int str7x_info(struct flash_bank *bank, char *buf, int buf_size) { snprintf(buf, buf_size, "str7x flash driver info"); return ERROR_OK; @@ -603,21 +604,21 @@ static int str7x_info(struct flash_bank_s *bank, char *buf, int buf_size) COMMAND_HANDLER(str7x_handle_disable_jtag_command) { - target_t *target = NULL; - str7x_flash_bank_t *str7x_info = NULL; + struct target *target = NULL; + struct str7x_flash_bank *str7x_info = NULL; uint32_t flash_cmd; uint16_t ProtectionLevel = 0; uint16_t ProtectionRegs; - if (argc < 1) + if (CMD_ARGC < 1) { - command_print(cmd_ctx, "str7x disable_jtag "); + command_print(CMD_CTX, "str7x disable_jtag "); return ERROR_OK; } - 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; @@ -671,9 +672,9 @@ COMMAND_HANDLER(str7x_handle_disable_jtag_command) return ERROR_OK; } -static int str7x_register_commands(struct command_context_s *cmd_ctx) +static int str7x_register_commands(struct command_context *cmd_ctx) { - command_t *str7x_cmd = register_command(cmd_ctx, NULL, "str7x", + struct command *str7x_cmd = register_command(cmd_ctx, NULL, "str7x", NULL, COMMAND_ANY, "str7x flash specific commands"); register_command(cmd_ctx, str7x_cmd, "disable_jtag", @@ -683,7 +684,7 @@ static int str7x_register_commands(struct command_context_s *cmd_ctx) return ERROR_OK; } -flash_driver_t str7x_flash = { +struct flash_driver str7x_flash = { .name = "str7x", .register_commands = &str7x_register_commands, .flash_bank_command = &str7x_flash_bank_command,