X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Ftarget%2Fmips_m4k.c;h=5b740cc45242b614800d4e66a11fc4cc73467cb8;hb=1c021ed0afb5f9f7d9e8cbce53a4fe985a4c2235;hp=4774c49c9fc2dffce95f7d35051e21ebcc706406;hpb=ecb6f8c23e381dde811c94c9bda66f69c8a79825;p=openocd.git diff --git a/src/target/mips_m4k.c b/src/target/mips_m4k.c index 4774c49c9f..5b740cc452 100644 --- a/src/target/mips_m4k.c +++ b/src/target/mips_m4k.c @@ -318,11 +318,15 @@ static int mips_m4k_assert_reset(struct target *target) srst_asserted = true; } - if (target->reset_halt) { - /* use hardware to catch reset */ - mips_ejtag_set_instr(ejtag_info, EJTAG_INST_EJTAGBOOT); - } else - mips_ejtag_set_instr(ejtag_info, EJTAG_INST_NORMALBOOT); + + /* EJTAG before v2.5/2.6 does not support EJTAGBOOT or NORMALBOOT */ + if (ejtag_info->ejtag_version != EJTAG_VERSION_20) { + if (target->reset_halt) { + /* use hardware to catch reset */ + mips_ejtag_set_instr(ejtag_info, EJTAG_INST_EJTAGBOOT); + } else + mips_ejtag_set_instr(ejtag_info, EJTAG_INST_NORMALBOOT); + } if (jtag_reset_config & RESET_HAS_SRST) { /* here we should issue a srst only, but we may have to assert trst as well */