Add power on after reset flag

This commit is contained in:
Jeremy Soller 2020-04-07 20:04:25 -06:00 committed by Jeremy Soller
parent 4303f0753e
commit 1194472b8f
8 changed files with 56 additions and 0 deletions

View File

@ -8,6 +8,7 @@
#include <board/pmc.h>
#include <board/pnp.h>
#include <common/debug.h>
#include <ec/bram.h>
// Platform does not currently support Deep Sx
#define DEEP_SX 0
@ -256,6 +257,15 @@ void power_event(void) {
// Always switch to ds5 if EC is running
if (power_state == POWER_STATE_DEFAULT) {
power_on_ds5();
// If power on key is not found
if (BRAM[0x76] != 0xEC) {
// Set the key
BRAM[0x76] = 0xEC;
// Power on system
power_on_s5();
}
}
// Check if the adapter line goes low

View File

@ -22,6 +22,9 @@ void scratch_trampoline(void) {
//TODO: Clear keyboard presses
// Clear power on key
BRAM[0x76] = 0;
// Start watchdog timer
smfi_watchdog();

View File

@ -7,6 +7,7 @@
#include <board/pmc.h>
#include <board/pnp.h>
#include <common/debug.h>
#include <ec/bram.h>
// Platform does not currently support Deep Sx
#define DEEP_SX 0
@ -255,6 +256,15 @@ void power_event(void) {
// Always switch to ds5 if EC is running
if (power_state == POWER_STATE_DEFAULT) {
power_on_ds5();
// If power on key is not found
if (BRAM[0x76] != 0xEC) {
// Set the key
BRAM[0x76] = 0xEC;
// Power on system
power_on_s5();
}
}
// Check if the adapter line goes low

View File

@ -22,6 +22,9 @@ void scratch_trampoline(void) {
//TODO: Clear keyboard presses
// Clear power on key
BRAM[0x76] = 0;
// Start watchdog timer
smfi_watchdog();

View File

@ -7,6 +7,7 @@
#include <board/pmc.h>
#include <board/pnp.h>
#include <common/debug.h>
#include <ec/bram.h>
// Platform does not currently support Deep Sx
#define DEEP_SX 0
@ -255,6 +256,15 @@ void power_event(void) {
// Always switch to ds5 if EC is running
if (power_state == POWER_STATE_DEFAULT) {
power_on_ds5();
// If power on key is not found
if (BRAM[0x76] != 0xEC) {
// Set the key
BRAM[0x76] = 0xEC;
// Power on system
power_on_s5();
}
}
// Check if the adapter line goes low

View File

@ -3,6 +3,7 @@
#include <board/smfi.h>
#include <common/macro.h>
#include <ec/bram.h>
#include <ec/pwm.h>
// Include scratch ROM
@ -22,6 +23,9 @@ void scratch_trampoline(void) {
//TODO: Clear keyboard presses
// Clear power on key
BRAM[0x76] = 0;
// Start watchdog timer
smfi_watchdog();

View File

@ -0,0 +1,8 @@
#ifndef _EC_BRAM_H
#define _EC_BRAM_H
#include <stdint.h>
volatile uint8_t __xdata __at(0x2200) BRAM[192];
#endif // _EC_BRAM_H

View File

@ -0,0 +1,8 @@
#ifndef _EC_BRAM_H
#define _EC_BRAM_H
#include <stdint.h>
volatile uint8_t __xdata __at(0x2200) BRAM[192];
#endif // _EC_BRAM_H