summaryrefslogtreecommitdiff
path: root/fw/fe310/eos/dev/aon.c
diff options
context:
space:
mode:
authorUros Majstorovic <majstor@majstor.org>2025-07-28 23:27:12 +0200
committerUros Majstorovic <majstor@majstor.org>2025-07-28 23:27:12 +0200
commit58f41971b1e801ad2fbcea08e5152afa2b18ca73 (patch)
tree51793b55b350f7807d5d1b7e1401b50f402ccc48 /fw/fe310/eos/dev/aon.c
parentdab5a1fbd188f8f9436df1b3dff6e344c444fc23 (diff)
sys logging added; power management reimplemented; bugfixes;
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