ARM: rename "arm9tdmi vector_catch" to "arm9 ..."
[fw/openocd] / src / flash / str9xpec.c
index c1021ba026e7d7f9598cab129cd8c623292f28d6..33471e6b3a67c4d054701833d8d173f7e1636920 100644 (file)
@@ -318,14 +318,14 @@ static int str9xpec_flash_bank_command(struct command_context_s *cmd_ctx, char *
        str9xpec_info = malloc(sizeof(str9xpec_flash_controller_t));
        bank->driver_priv = str9xpec_info;
 
-       /* find out jtag position of flash controller
-        * it is always after the arm966 core */
-
+       /* REVISIT verify that the jtag position of flash controller is
+        * right after *THIS* core, which must be a STR9xx core ...
+        */
        armv4_5 = bank->target->arch_info;
        arm7_9 = armv4_5->arch_info;
        jtag_info = &arm7_9->jtag_info;
 
-       str9xpec_info->tap = jtag_tap_by_position(jtag_info->tap->abs_chain_position - 1);
+       str9xpec_info->tap = bank->target->tap;
        str9xpec_info->isc_enable = 0;
 
        str9xpec_build_block_list(bank);
@@ -1254,7 +1254,8 @@ static int str9xpec_handle_flash_disable_turbo_command(struct command_context_s
                return ERROR_FAIL;
 
        /* exit turbo mode via RESET */
-       str9xpec_set_instr(tap, ISC_NOOP, TAP_RESET);
+       str9xpec_set_instr(tap, ISC_NOOP, TAP_IDLE);
+       jtag_add_tlr();
        jtag_execute_queue();
 
        /* restore previous scan chain */