#include #include #include "encoding.h" #include "platform.h" #include "eos.h" #include "pwr.h" #include "aon.h" #define AON_MAX_BACKUP 16 int eos_aon_init(void) { uint8_t wakeup_cause; int i, rst; wakeup_cause = eos_pwr_wakeup_cause(); rst = (wakeup_cause == EOS_PWR_WAKE_RST); if (rst) { for (i=0; i= AON_MAX_BACKUP)) return -1; addr = AON_BACKUP0 + sizeof(uint32_t) * idx; return AON_REG(addr); } void eos_aon_set_reg(int idx, uint32_t reg) { uint32_t addr; if ((idx < 0) || (idx > 15)) return; addr = AON_BACKUP0 + sizeof(uint32_t) * idx; AON_REG(addr) = reg; }