From: Oleksij Rempel Date: Thu, 23 Jan 2014 20:08:31 +0000 (+0100) Subject: mips_m4k.c: EJTAGBOOT and NORMALBOOT are not supported on EJTAG 2.0 X-Git-Tag: v0.9.0-rc1~307 X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff_plain;h=9402f8dc4e1f3ff8af2945dcab3e80c8471a8096 mips_m4k.c: EJTAGBOOT and NORMALBOOT are not supported on EJTAG 2.0 Change-Id: I8157c19e9d8aed5c2376a2c54c32c1ddac1ad5af Signed-off-by: Oleksij Rempel Reviewed-on: http://openocd.zylin.com/1934 Tested-by: jenkins Reviewed-by: Spencer Oliver --- 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 */