]> git.sur5r.net Git - openocd/commitdiff
mips_m4k: add optional reset handler
authorOleksij Rempel <linux@rempel-privat.de>
Sat, 10 Feb 2018 15:37:31 +0000 (16:37 +0100)
committerPaul Fertser <fercerpav@gmail.com>
Tue, 31 Jul 2018 14:54:28 +0000 (15:54 +0100)
In some cases by using SRST we can't halt CPU early enough. And
option PrRst is not available too. In this case the only way is
to set BOOT flag over EJTAG and reset CPU or SoC from CPU itself.
For example by writing to some reset register.

This patch is providing possibility to use user defined reset-assert
handler which will be enabled only in case SRST is disabled. It is
needed to be able switch between two different reset variants on run
time.

Change-Id: I6ef98f1871ea657115877190f7cc7a5e8f3233e4
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Reviewed-on: http://openocd.zylin.com/4404
Tested-by: jenkins
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
src/target/mips_m4k.c

index 78718ca16650ef81858f0b35aed8de1c466e5e9c..20c707bb62afc9e1b506afa9f0a6243c8dbea1fa 100644 (file)
@@ -344,6 +344,8 @@ static int mips_m4k_assert_reset(struct target *target)
                        jtag_add_reset(1, 1);
                else if (!srst_asserted)
                        jtag_add_reset(0, 1);
+       } else if (target_has_event_action(target, TARGET_EVENT_RESET_ASSERT)) {
+               target_handle_event(target, TARGET_EVENT_RESET_ASSERT);
        } else {
                if (mips_m4k->is_pic32mx) {
                        LOG_DEBUG("Using MTAP reset to reset processor...");