summaryrefslogtreecommitdiff
path: root/fw/fe310/eos/soc/pwr.c
diff options
context:
space:
mode:
Diffstat (limited to 'fw/fe310/eos/soc/pwr.c')
-rw-r--r--fw/fe310/eos/soc/pwr.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/fw/fe310/eos/soc/pwr.c b/fw/fe310/eos/soc/pwr.c
index db9f273..84915ef 100644
--- a/fw/fe310/eos/soc/pwr.c
+++ b/fw/fe310/eos/soc/pwr.c
@@ -12,8 +12,8 @@
#define PWR_RTC_SCALE 15
#define PWR_RTC_SFREQ (EOS_TIMER_RTC_FREQ >> PWR_RTC_SCALE)
-int eos_pwr_init(uint8_t wakeup_cause) {
- AON_REG(AON_PMUKEY) = 0x51F15E;
+int eos_pwr_init(void) {
+ AON_REG(AON_PMUKEY) = AON_WDOGKEY_VALUE;
AON_REG(AON_PMUIE) = 0x5;
AON_REG(AON_RTCCMP) = 0xFFFFFFFF;
@@ -33,7 +33,7 @@ uint8_t eos_pwr_reset_cause(void) {
}
void eos_pwr_sleep(void) {
- AON_REG(AON_PMUKEY) = 0x51F15E;
+ AON_REG(AON_PMUKEY) = AON_WDOGKEY_VALUE;
AON_REG(AON_PMUSLEEP) = 1;
}
@@ -43,8 +43,8 @@ void eos_pwr_wake_at(uint32_t msec) {
AON_REG(AON_RTCCFG) |= AON_RTCCFG_ENALWAYS;
AON_REG(AON_RTCCMP) = msec * PWR_RTC_SFREQ / 1000;
- pmuie = AON_REG(AON_PMUIE) | 0x2;
- AON_REG(AON_PMUKEY) = 0x51F15E;
+ pmuie = AON_REG(AON_PMUIE) | (1 << AON_WAKEUPCAUSE_RTC);
+ AON_REG(AON_PMUKEY) = AON_WDOGKEY_VALUE;
AON_REG(AON_PMUIE) = pmuie;
}
@@ -56,7 +56,7 @@ void eos_pwr_wake_disable(void) {
AON_REG(AON_RTCHI) = 0;
AON_REG(AON_RTCLO) = 0;
- pmuie = AON_REG(AON_PMUIE) & ~0x2;
- AON_REG(AON_PMUKEY) = 0x51F15E;
+ pmuie = AON_REG(AON_PMUIE) & ~(1 << AON_WAKEUPCAUSE_RTC);
+ AON_REG(AON_PMUKEY) = AON_WDOGKEY_VALUE;
AON_REG(AON_PMUIE) = pmuie;
}