static int str9xpec_set_address(struct flash_bank_s *bank, uint8_t sector);
static int str9xpec_write_options(struct flash_bank_s *bank);
-int str9xpec_set_instr(jtag_tap_t *tap, uint32_t new_instr, tap_state_t end_state)
+int str9xpec_set_instr(struct jtag_tap *tap, uint32_t new_instr, tap_state_t end_state)
{
if (tap == NULL) {
return ERROR_TARGET_INVALID;
if (buf_get_u32(tap->cur_instr, 0, tap->ir_length) != new_instr)
{
- scan_field_t field;
+ struct scan_field field;
field.tap = tap;
field.num_bits = tap->ir_length;
return ERROR_OK;
}
-static uint8_t str9xpec_isc_status(jtag_tap_t *tap)
+static uint8_t str9xpec_isc_status(struct jtag_tap *tap)
{
- scan_field_t field;
+ struct scan_field field;
uint8_t status;
if (str9xpec_set_instr(tap, ISC_NOOP, TAP_IRPAUSE) != ERROR_OK)
static int str9xpec_isc_enable(struct flash_bank_s *bank)
{
uint8_t status;
- jtag_tap_t *tap;
+ struct jtag_tap *tap;
str9xpec_flash_controller_t *str9xpec_info = bank->driver_priv;
tap = str9xpec_info->tap;
static int str9xpec_isc_disable(struct flash_bank_s *bank)
{
uint8_t status;
- jtag_tap_t *tap;
+ struct jtag_tap *tap;
str9xpec_flash_controller_t *str9xpec_info = bank->driver_priv;
tap = str9xpec_info->tap;
static int str9xpec_read_config(struct flash_bank_s *bank)
{
- scan_field_t field;
+ struct scan_field field;
uint8_t status;
- jtag_tap_t *tap;
+ struct jtag_tap *tap;
str9xpec_flash_controller_t *str9xpec_info = bank->driver_priv;
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);
str9xpec_info->sector_bits = malloc(sizeof(uint32_t) * num_sectors);
num_sectors = 0;
/* flash bank str9x <base> <size> 0 0 <target#>
*/
-static int str9xpec_flash_bank_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct flash_bank_s *bank)
+FLASH_BANK_COMMAND_HANDLER(str9xpec_flash_bank_command)
{
str9xpec_flash_controller_t *str9xpec_info;
armv4_5_common_t *armv4_5 = NULL;
static int str9xpec_blank_check(struct flash_bank_s *bank, int first, int last)
{
- scan_field_t field;
+ struct scan_field field;
uint8_t status;
- jtag_tap_t *tap;
+ struct jtag_tap *tap;
int i;
uint8_t *buffer = NULL;
static int str9xpec_erase_area(struct flash_bank_s *bank, int first, int last)
{
- scan_field_t field;
+ struct scan_field field;
uint8_t status;
- jtag_tap_t *tap;
+ struct jtag_tap *tap;
int i;
uint8_t *buffer = NULL;
static int str9xpec_lock_device(struct flash_bank_s *bank)
{
- scan_field_t field;
+ struct scan_field field;
uint8_t status;
- jtag_tap_t *tap;
+ struct jtag_tap *tap;
str9xpec_flash_controller_t *str9xpec_info = NULL;
str9xpec_info = bank->driver_priv;
static int str9xpec_set_address(struct flash_bank_s *bank, uint8_t sector)
{
- jtag_tap_t *tap;
- scan_field_t field;
+ struct jtag_tap *tap;
+ struct scan_field field;
str9xpec_flash_controller_t *str9xpec_info = bank->driver_priv;
tap = str9xpec_info->tap;
uint32_t bytes_written = 0;
uint8_t status;
uint32_t check_address = offset;
- jtag_tap_t *tap;
- scan_field_t field;
+ struct jtag_tap *tap;
+ struct scan_field field;
uint8_t *scanbuf;
int i;
int first_sector = 0;
return ERROR_OK;
}
-static int str9xpec_handle_part_id_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(str9xpec_handle_part_id_command)
{
- scan_field_t field;
+ struct scan_field field;
uint8_t *buffer = NULL;
- jtag_tap_t *tap;
+ struct jtag_tap *tap;
uint32_t idcode;
str9xpec_flash_controller_t *str9xpec_info = NULL;
return ERROR_OK;
}
-static int str9xpec_handle_flash_options_read_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(str9xpec_handle_flash_options_read_command)
{
uint8_t status;
str9xpec_flash_controller_t *str9xpec_info = NULL;
static int str9xpec_write_options(struct flash_bank_s *bank)
{
- scan_field_t field;
+ struct scan_field field;
uint8_t status;
- jtag_tap_t *tap;
+ struct jtag_tap *tap;
str9xpec_flash_controller_t *str9xpec_info = NULL;
str9xpec_info = bank->driver_priv;
return status;
}
-static int str9xpec_handle_flash_options_write_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(str9xpec_handle_flash_options_write_command)
{
uint8_t status;
return ERROR_OK;
}
-static int str9xpec_handle_flash_options_cmap_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(str9xpec_handle_flash_options_cmap_command)
{
str9xpec_flash_controller_t *str9xpec_info = NULL;
return ERROR_OK;
}
-static int str9xpec_handle_flash_options_lvdthd_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(str9xpec_handle_flash_options_lvdthd_command)
{
str9xpec_flash_controller_t *str9xpec_info = NULL;
return ERROR_OK;
}
-int str9xpec_handle_flash_options_lvdsel_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(str9xpec_handle_flash_options_lvdsel_command)
{
str9xpec_flash_controller_t *str9xpec_info = NULL;
return ERROR_OK;
}
-static int str9xpec_handle_flash_options_lvdwarn_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(str9xpec_handle_flash_options_lvdwarn_command)
{
str9xpec_flash_controller_t *str9xpec_info = NULL;
return ERROR_OK;
}
-static int str9xpec_handle_flash_lock_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(str9xpec_handle_flash_lock_command)
{
uint8_t status;
return ERROR_OK;
}
-static int str9xpec_handle_flash_unlock_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(str9xpec_handle_flash_unlock_command)
{
uint8_t status;
return ERROR_OK;
}
-static int str9xpec_handle_flash_enable_turbo_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(str9xpec_handle_flash_enable_turbo_command)
{
- jtag_tap_t *tap0;
- jtag_tap_t *tap1;
- jtag_tap_t *tap2;
+ struct jtag_tap *tap0;
+ struct jtag_tap *tap1;
+ struct jtag_tap *tap2;
str9xpec_flash_controller_t *str9xpec_info = NULL;
if (argc < 1)
return ERROR_OK;
}
-static int str9xpec_handle_flash_disable_turbo_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(str9xpec_handle_flash_disable_turbo_command)
{
- jtag_tap_t *tap;
+ struct jtag_tap *tap;
str9xpec_flash_controller_t *str9xpec_info = NULL;
if (argc < 1)
return ERROR_OK;
}
-flash_driver_t str9xpec_flash = {
+struct flash_driver str9xpec_flash = {
.name = "str9xpec",
.register_commands = &str9xpec_register_commands,
.flash_bank_command = &str9xpec_flash_bank_command,