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.c23
1 files changed, 18 insertions, 5 deletions
diff --git a/fw/fe310/eos/dev/aon.c b/fw/fe310/eos/dev/aon.c
index 3d8aaf6..7e4f5ec 100644
--- a/fw/fe310/eos/dev/aon.c
+++ b/fw/fe310/eos/dev/aon.c
@@ -6,13 +6,12 @@
#include "aon.h"
-#ifdef EOS_DEBUG
-#include <stdio.h>
-#endif
-
#define AON_EVE_REG 0
#define AON_EVE_MASK 0x03
+#define AON_NET_REG 0
+#define AON_NET_MASK 0x04
+
void eos_aon_save4eve(uint8_t power_state) {
uint32_t reg;
@@ -21,9 +20,23 @@ void eos_aon_save4eve(uint8_t power_state) {
reg &= ~AON_EVE_MASK;
reg |= power_state;
- eos_aon_set_reg(0, power_state);
+ eos_aon_set_reg(AON_EVE_REG, reg);
}
uint8_t eos_aon_load4eve(void) {
return (eos_aon_get_reg(AON_EVE_REG) & AON_EVE_MASK);
}
+
+void eos_aon_save4net(int absent) {
+ uint32_t reg;
+
+ reg = eos_aon_get_reg(AON_NET_REG);
+ reg &= ~AON_NET_MASK;
+ if (absent) reg |= AON_NET_MASK;
+
+ eos_aon_set_reg(AON_NET_REG, reg);
+}
+
+int eos_aon_load4net(void) {
+ return !!(eos_aon_get_reg(AON_NET_REG) & AON_NET_MASK);
+} \ No newline at end of file