jtag: Avoid extra SRSTn resets when connecting
authorEvan Hunter <ehunter@broadcom.com>
Fri, 21 Nov 2014 17:42:23 +0000 (17:42 +0000)
committerSpencer Oliver <spen@spen-soft.co.uk>
Thu, 15 Jan 2015 23:16:06 +0000 (23:16 +0000)
Previously the jtag_add_reset(1, 0) caused the processor to be released,
and if SRSTn existed then it would then be reset again two lines later.

Change-Id: I58b7a12607f46f83caa7ed3b3cebc4195eb51ef6
Signed-off-by: Evan Hunter <ehunter@broadcom.com>
Reviewed-on: http://openocd.zylin.com/2398
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
src/jtag/core.c

index 04b0fc669e8fe06cb9e1a034596124b22e39670e..eb01abc7147aeec1ed74f7182b1f463829c4a983 100644 (file)
@@ -1552,11 +1552,12 @@ int jtag_init_reset(struct command_context *cmd_ctx)
         * REVISIT once Tcl code can read the reset_config modes, this won't
         * need to be a C routine at all...
         */
-       jtag_add_reset(1, 0);   /* TAP_RESET, using TMS+TCK or TRST */
        if (jtag_reset_config & RESET_HAS_SRST) {
                jtag_add_reset(1, 1);
                if ((jtag_reset_config & RESET_SRST_PULLS_TRST) == 0)
                        jtag_add_reset(0, 1);
+       } else {
+               jtag_add_reset(1, 0);   /* TAP_RESET, using TMS+TCK or TRST */
        }
 
        /* some targets enable us to connect with srst asserted */