diff options
author | Uros Majstorovic <majstor@majstor.org> | 2025-07-28 23:27:12 +0200 |
---|---|---|
committer | Uros Majstorovic <majstor@majstor.org> | 2025-07-28 23:27:12 +0200 |
commit | 58f41971b1e801ad2fbcea08e5152afa2b18ca73 (patch) | |
tree | 51793b55b350f7807d5d1b7e1401b50f402ccc48 /fw/fe310/eos/dev/aon.c | |
parent | dab5a1fbd188f8f9436df1b3dff6e344c444fc23 (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.c | 23 |
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 |