Browse Source

cortex_m, hla_target: do not try asserting SRST if it's not present

This should cover all the cases when RESET_SRST_NO_GATING is set
without RESET_HAS_SRST. This might happen when RESET_SRST_NO_GATING is
automatically set by a target code (and not from tcl).

However, there're some other places (mips_m4k, arm7_9_common) where
adding RESET_SRST_PULLS_TRST would lead to trying to use SRST even if
it's not present. Currently it's impossible for the user to enable
that flag without enabling SRST.

Change-Id: Ib1c6f68feed0b8057d55afd5f260bb22ab332ced
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/1405
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
tags/v0.8.0-rc1
Paul Fertser 11 years ago
committed by Spencer Oliver
parent
commit
afca2e817d
2 changed files with 4 additions and 2 deletions
  1. +2
    -1
      src/target/cortex_m.c
  2. +2
    -1
      src/target/hla_target.c

+ 2
- 1
src/target/cortex_m.c View File

@@ -989,7 +989,8 @@ static int cortex_m3_assert_reset(struct target *target)

bool srst_asserted = false;

if (jtag_reset_config & RESET_SRST_NO_GATING) {
if ((jtag_reset_config & RESET_HAS_SRST) &&
(jtag_reset_config & RESET_SRST_NO_GATING)) {
adapter_assert_reset();
srst_asserted = true;
}


+ 2
- 1
src/target/hla_target.c View File

@@ -428,7 +428,8 @@ static int adapter_assert_reset(struct target *target)

bool srst_asserted = false;

if (jtag_reset_config & RESET_SRST_NO_GATING) {
if ((jtag_reset_config & RESET_HAS_SRST) &&
(jtag_reset_config & RESET_SRST_NO_GATING)) {
jtag_add_reset(0, 1);
res = adapter->layout->api->assert_srst(adapter->fd, 0);
srst_asserted = true;


Loading…
Cancel
Save