diff options
Diffstat (limited to 'fw/fe310/eos/dev/aon.c')
| -rw-r--r-- | fw/fe310/eos/dev/aon.c | 71 |
1 files changed, 62 insertions, 9 deletions
diff --git a/fw/fe310/eos/dev/aon.c b/fw/fe310/eos/dev/aon.c index 7e4f5ec..abf75d3 100644 --- a/fw/fe310/eos/dev/aon.c +++ b/fw/fe310/eos/dev/aon.c @@ -7,24 +7,62 @@ #include "aon.h" #define AON_EVE_REG 0 -#define AON_EVE_MASK 0x03 - #define AON_NET_REG 0 -#define AON_NET_MASK 0x04 +#define AON_APP_REG 0 + +#define AON_EVE_PWM_MASK 0x000000FF +#define AON_EVE_PWR_MASK 0x00000300 +#define AON_EVE_LCD_MASK 0x00000400 +#define AON_NET_MASK 0x00000800 +#define AON_APP_MASK 0x00001000 + +void eos_aon_save4eve_pwm(uint8_t brightness) { + uint32_t reg; + + reg = eos_aon_get_reg(AON_EVE_REG); + reg &= ~AON_EVE_PWM_MASK; + reg |= brightness; + + eos_aon_set_reg(AON_EVE_REG, reg); +} + +uint8_t eos_aon_load4eve_pwm(void) { + uint32_t reg; + + reg = eos_aon_get_reg(AON_EVE_REG) & AON_EVE_PWM_MASK; + return reg; +} + +void eos_aon_save4eve_pwr(uint8_t power_state) { + uint32_t reg; + + reg = eos_aon_get_reg(AON_EVE_REG); + reg &= ~AON_EVE_PWR_MASK; + reg |= ((uint32_t)power_state << 8) & AON_EVE_PWR_MASK; + + eos_aon_set_reg(AON_EVE_REG, reg); +} + +uint8_t eos_aon_load4eve_pwr(void) { + uint32_t reg; + + reg = eos_aon_get_reg(AON_EVE_REG) & AON_EVE_PWR_MASK; + reg = reg >> 8; + return reg; +} -void eos_aon_save4eve(uint8_t power_state) { +void eos_aon_save4eve_lcd(int absent) { uint32_t reg; - power_state &= AON_EVE_MASK; reg = eos_aon_get_reg(AON_EVE_REG); - reg &= ~AON_EVE_MASK; - reg |= power_state; + reg &= ~AON_EVE_LCD_MASK; + if (absent) reg |= AON_EVE_LCD_MASK; 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); +int eos_aon_load4eve_lcd(void) { + return !!(eos_aon_get_reg(AON_EVE_REG) & AON_EVE_LCD_MASK); } void eos_aon_save4net(int absent) { @@ -39,4 +77,19 @@ void eos_aon_save4net(int absent) { int eos_aon_load4net(void) { return !!(eos_aon_get_reg(AON_NET_REG) & AON_NET_MASK); +} + +void eos_aon_save4app(int ctp_sel) { + uint32_t reg; + + reg = eos_aon_get_reg(AON_APP_REG); + reg &= ~AON_APP_MASK; + if (ctp_sel) reg |= AON_APP_MASK; + + eos_aon_set_reg(AON_APP_REG, reg); + +} + +int eos_aon_load4app(void) { + return !!(eos_aon_get_reg(AON_APP_REG) & AON_APP_MASK); }
\ No newline at end of file |
