summaryrefslogtreecommitdiff
path: root/fw/fe310/eos/dev/aon.c
diff options
context:
space:
mode:
Diffstat (limited to 'fw/fe310/eos/dev/aon.c')
-rw-r--r--fw/fe310/eos/dev/aon.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/fw/fe310/eos/dev/aon.c b/fw/fe310/eos/dev/aon.c
new file mode 100644
index 0000000..3d8aaf6
--- /dev/null
+++ b/fw/fe310/eos/dev/aon.c
@@ -0,0 +1,29 @@
+#include <stdlib.h>
+#include <stdint.h>
+
+#include "eos.h"
+#include "soc/aon.h"
+
+#include "aon.h"
+
+#ifdef EOS_DEBUG
+#include <stdio.h>
+#endif
+
+#define AON_EVE_REG 0
+#define AON_EVE_MASK 0x03
+
+void eos_aon_save4eve(uint8_t power_state) {
+ uint32_t reg;
+
+ power_state &= AON_EVE_MASK;
+ reg = eos_aon_get_reg(AON_EVE_REG);
+ reg &= ~AON_EVE_MASK;
+ reg |= power_state;
+
+ eos_aon_set_reg(0, power_state);
+}
+
+uint8_t eos_aon_load4eve(void) {
+ return (eos_aon_get_reg(AON_EVE_REG) & AON_EVE_MASK);
+}