From a3aff2083ad1e46c673f98bff8754717e38aa7ef Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Tue, 21 Jan 2020 14:49:27 -0700 Subject: [PATCH] Move watchdog reset higher --- src/board/system76/darp5/scratch/main.c | 7 ++++--- src/board/system76/galp3-c/scratch/main.c | 7 ++++--- src/board/system76/lemp9/scratch/main.c | 7 ++++--- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/board/system76/darp5/scratch/main.c b/src/board/system76/darp5/scratch/main.c index 9540291..a1199cf 100644 --- a/src/board/system76/darp5/scratch/main.c +++ b/src/board/system76/darp5/scratch/main.c @@ -81,6 +81,10 @@ void pmc_event(struct Pmc * pmc) { state = PMC_STATE_ACPI_WRITE; break; case 0xEC: + printf_tiny("RESET\n"); + // Attempt to trigger watchdog reset + ETWCFG |= (1 << 5); + EWDKEYR = 0; // Clear processor caches __asm__("mov 0xf7, #1"); __asm__("nop"); @@ -90,9 +94,6 @@ void pmc_event(struct Pmc * pmc) { __asm__("nop"); __asm__("mov 0xf7, #1"); __asm__("nop"); - // Attempt to trigger watchdog reset - ETWCFG |= (1 << 5); - EWDKEYR = 0; // Exit scratch ROM by going through trampoline __asm__("ljmp 0x1000"); break; diff --git a/src/board/system76/galp3-c/scratch/main.c b/src/board/system76/galp3-c/scratch/main.c index 9540291..a1199cf 100644 --- a/src/board/system76/galp3-c/scratch/main.c +++ b/src/board/system76/galp3-c/scratch/main.c @@ -81,6 +81,10 @@ void pmc_event(struct Pmc * pmc) { state = PMC_STATE_ACPI_WRITE; break; case 0xEC: + printf_tiny("RESET\n"); + // Attempt to trigger watchdog reset + ETWCFG |= (1 << 5); + EWDKEYR = 0; // Clear processor caches __asm__("mov 0xf7, #1"); __asm__("nop"); @@ -90,9 +94,6 @@ void pmc_event(struct Pmc * pmc) { __asm__("nop"); __asm__("mov 0xf7, #1"); __asm__("nop"); - // Attempt to trigger watchdog reset - ETWCFG |= (1 << 5); - EWDKEYR = 0; // Exit scratch ROM by going through trampoline __asm__("ljmp 0x1000"); break; diff --git a/src/board/system76/lemp9/scratch/main.c b/src/board/system76/lemp9/scratch/main.c index 9540291..a1199cf 100644 --- a/src/board/system76/lemp9/scratch/main.c +++ b/src/board/system76/lemp9/scratch/main.c @@ -81,6 +81,10 @@ void pmc_event(struct Pmc * pmc) { state = PMC_STATE_ACPI_WRITE; break; case 0xEC: + printf_tiny("RESET\n"); + // Attempt to trigger watchdog reset + ETWCFG |= (1 << 5); + EWDKEYR = 0; // Clear processor caches __asm__("mov 0xf7, #1"); __asm__("nop"); @@ -90,9 +94,6 @@ void pmc_event(struct Pmc * pmc) { __asm__("nop"); __asm__("mov 0xf7, #1"); __asm__("nop"); - // Attempt to trigger watchdog reset - ETWCFG |= (1 << 5); - EWDKEYR = 0; // Exit scratch ROM by going through trampoline __asm__("ljmp 0x1000"); break;