arm_adi_v5: Fix dap apsel confusing behaviour.
[fw/openocd] / src / target / arm926ejs.c
index 1e0a579028fe6e1c0baf35d7f06df1e59e9f04af..d8bf2d04686df6504572506427f7a24886b60e5f 100644 (file)
@@ -67,7 +67,7 @@ static int arm926ejs_cp15_read(struct target *target, uint32_t op1, uint32_t op2
        retval = arm_jtag_scann(jtag_info, 0xf, TAP_IDLE);
        if (retval != ERROR_OK)
                return retval;
-       retval = arm_jtag_set_instr(jtag_info, jtag_info->intest_instr, NULL, TAP_IDLE);
+       retval = arm_jtag_set_instr(jtag_info->tap, jtag_info->intest_instr, NULL, TAP_IDLE);
        if (retval != ERROR_OK)
                return retval;
 
@@ -117,7 +117,7 @@ static int arm926ejs_cp15_read(struct target *target, uint32_t op1, uint32_t op2
        LOG_DEBUG("addr: 0x%x value: %8.8x", address, *value);
 #endif
 
-       retval = arm_jtag_set_instr(jtag_info, 0xc, NULL, TAP_IDLE);
+       retval = arm_jtag_set_instr(jtag_info->tap, 0xc, NULL, TAP_IDLE);
        if (retval != ERROR_OK)
                return retval;
 
@@ -153,7 +153,7 @@ static int arm926ejs_cp15_write(struct target *target, uint32_t op1, uint32_t op
        retval = arm_jtag_scann(jtag_info, 0xf, TAP_IDLE);
        if (retval != ERROR_OK)
                return retval;
-       retval = arm_jtag_set_instr(jtag_info, jtag_info->intest_instr, NULL, TAP_IDLE);
+       retval = arm_jtag_set_instr(jtag_info->tap, jtag_info->intest_instr, NULL, TAP_IDLE);
        if (retval != ERROR_OK)
                return retval;
 
@@ -200,7 +200,7 @@ static int arm926ejs_cp15_write(struct target *target, uint32_t op1, uint32_t op
        LOG_DEBUG("addr: 0x%x value: %8.8x", address, value);
 #endif
 
-       retval = arm_jtag_set_instr(jtag_info, 0xf, NULL, TAP_IDLE);
+       retval = arm_jtag_set_instr(jtag_info->tap, 0xf, NULL, TAP_IDLE);
        if (retval != ERROR_OK)
                return retval;
 
@@ -656,17 +656,6 @@ int arm926ejs_write_memory(struct target *target, uint32_t address,
        return retval;
 }
 
-int arm926ejs_write_memory_opt(struct target *target, uint32_t address,
-       uint32_t size, uint32_t count, const uint8_t *buffer)
-{
-       struct arm7_9_common *arm7_9 = target_to_arm7_9(target);
-
-       if (size == 4 && count > 32 && arm7_9->bulk_write_memory)
-               return arm7_9->bulk_write_memory(target, address, count, buffer);
-       else
-               return arm926ejs_write_memory(target, address, size, count, buffer);
-}
-
 static int arm926ejs_write_phys_memory(struct target *target,
                uint32_t address, uint32_t size,
                uint32_t count, const uint8_t *buffer)
@@ -702,6 +691,7 @@ int arm926ejs_init_arch_info(struct target *target, struct arm926ejs_common *arm
 
        arm7_9->post_debug_entry = arm926ejs_post_debug_entry;
        arm7_9->pre_restore_context = arm926ejs_pre_restore_context;
+       arm7_9->write_memory = arm926ejs_write_memory;
 
        arm926ejs->read_cp15 = arm926ejs_cp15_read;
        arm926ejs->write_cp15 = arm926ejs_cp15_write;
@@ -819,7 +809,7 @@ struct target_type arm926ejs_target = {
        .get_gdb_reg_list = arm_get_gdb_reg_list,
 
        .read_memory = arm7_9_read_memory,
-       .write_memory = arm926ejs_write_memory_opt,
+       .write_memory = arm7_9_write_memory_opt,
 
        .checksum_memory = arm_checksum_memory,
        .blank_check_memory = arm_blank_check_memory,