diff options
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 |