bf0_hal_aon.h
Defines
-
AON_PMR_ACTIVE
-
AON_PMR_LIGHT_SLEEP
-
AON_PMR_DEEP_SLEEP
-
AON_PMR_STANDBY
-
HAL_HPAON_SET_WER(wer)
Set hpsys wakeup enable register.
- Parameters:
wer – wakeup enable register value
- Return values:
void –
-
HAL_HPAON_GET_WER()
Get hpsys wakeup enable register.
- Return values:
wakeup – enable register
-
HAL_HPAON_GET_WSR()
Get hpsys wakeup source register.
- Return values:
wsr – wakeup source register value
-
HAL_HPAON_GET_WSR_PIN()
-
HPSYS_AON_WSR_PIN_FIRST_POS
-
HAL_HPAON_CLEAR_WSR(wsr)
Clear hpsys wakeup source register.
- Parameters:
wsr – [in]
- Return values:
wsr – wakeup source register value
-
HAL_HPAON_GET_POWER_MODE()
Get HPSYS power mode.
- Return values:
power – mode
-
HAL_HPAON_SET_POWER_MODE(mode)
Set HPSYS power mode.
- Parameters:
mode – power mode
- Return values:
void –
-
HAL_HPAON_CLEAR_POWER_MODE()
Clear HPSYS power mode.
- Return values:
void –
-
HAL_HPAON_SET_HP_ACTIVE()
Set ISSR.hp_active bit.
- Return values:
void –
-
HAL_HPAON_CLEAR_HP_ACTIVE()
Clear ISSR.hp_active bit.
- Return values:
void –
-
HAL_HPAON_CANCEL_LP_ACTIVE_REQUEST()
-
HAL_HPAON_IS_HP2LP_REQ_ACTIVE()
Check whether HP2LP_REQ is active.
- Return values:
true – active, false: inactive
-
HAL_HPAON_IS_LP_ACTIVE()
Check whether LP is active.
- Return values:
bool, true – active, false: not active
-
HAL_HPAON_DISABLE_PAD()
Disable PADA in HPSYS.
- Return values:
void –
-
HAL_HPAON_DISABLE_VHP()
Disable VHP in HPSYS.
- Return values:
void –
-
HAL_HPAON_ENABLE_PAD()
Enable PADA in HPSYS.
- Return values:
void –
-
HAL_HPAON_ENABLE_VHP()
Enable VHP in HPSYS.
- Return values:
void –
-
HAL_LPAON_SET_WER(wer)
Set lpsys wakeup enable register.
- Parameters:
wer – wakeup enable register value
- Return values:
void –
-
HAL_LPAON_GET_WER()
Get lpsys wakeup enable register.
- Return values:
wakeup – enable register
-
HAL_LPAON_GET_WSR()
Get lpsys wakeup source register.
- Return values:
wsr – wakeup source register value
-
HAL_LPAON_CLEAR_WSR(wsr)
Clear lpsys wakeup source register.
- Parameters:
wsr – [in]
- Return values:
wsr – wakeup source register value
-
HAL_LPAON_SET_POWER_MODE(mode)
Set LPSYS power mode.
- Parameters:
mode – power mode
- Return values:
void –
-
HAL_LPAON_GET_POWER_MODE()
Get LPSYS power mode.
- Return values:
power – mode
-
HAL_LPAON_CLEAR_POWER_MODE()
Clear LPSYS power mode.
- Return values:
void –
-
HAL_LPAON_SET_LP_ACTIVE()
Set ISSR.lp_active bit.
- Return values:
void –
-
HAL_LPAON_CLEAR_LP_ACTIVE()
Clear ISSR.lp_active bit.
- Return values:
void –
-
HAL_LPAON_CANCEL_HP_ACTIVE_REQUEST()
Cancel the HP active request.
- Return values:
void –
-
HAL_LPAON_IS_HP_ACTIVE()
Check whether HP is active.
- Return values:
bool, true – active, false: not active
-
HAL_LPAON_GET_SBCR()
Get LPSYS AON.SBCR.
- Return values:
power – mode
-
HAL_LPAON_SET_SBCR(sbcr)
Set LPSYS AON.SBCR.
- Parameters:
sbcr – standby mode ctrl register value
- Return values:
void –
-
HAL_LPAON_DISABLE_PAD()
Disable PADB in LPSYS.
- Return values:
void –
-
HAL_LPAON_DISABLE_VLP()
Disable VLP in LPSYS.
- Return values:
void –
-
HAL_LPAON_DISABLE_AON_PAD()
-
HAL_LPAON_ENABLE_PAD()
Enable PADB in LPSYS.
- Return values:
void –
-
HAL_LPAON_ENABLE_VLP()
Enable VLP in LPSYS, it’s related to analog.
- Return values:
void –
-
HAL_LPAON_ENABLE_DS_PWR_REQ()
Enable Power Supply Request for Deep Sleep.
- Return values:
void –
-
HAL_LPAON_DISABLE_DS_PWR_REQ()
Disable Power Supply Request for Deep Sleep.
- Return values:
void –
-
HAL_HPAON_READ_GTIMER()
Read GTimer value by HPSYS.
- Return values:
gtimer – value
-
HAL_LPAON_READ_GTIMER()
Read GTimer value by LPSYS.
- Return values:
gtimer – value
-
HAL_GTIMER_READ()
-
HAL_AON_GetWakePinMode(pin, mode)
-
HAL_AON_QueryWakeupGpioPin(wakeup_pin, gpio_pin)
-
HAL_GTIMER_ENABLE()
-
HAL_GTIMER_IS_ENABLED()
-
HAL_GTIMER_DISABLE()
Enums
-
enum AON_PinModeTypeDef
AON Pin wakeup mode, should be consistent with PMU_PinModeTypeDef
Values:
-
enumerator AON_PIN_MODE_HIGH
high level to trigger pin wakeup
-
enumerator AON_PIN_MODE_LOW
low level to trigger pin wakeup
-
enumerator AON_PIN_MODE_POS_EDGE
postive edge to trigger pin wakeup
-
enumerator AON_PIN_MODE_NEG_EDGE
negative edge to trigger pin wakeup
-
enumerator AON_PIN_MODE_DOUBLE_EDGE
positive or negative edge to trigger pin wakeup
-
enumerator AON_PIN_MODE_HIGH
Functions
-
HAL_StatusTypeDef HAL_HPAON_WakeCore(uint8_t core_id)
HPSYS wakeup the specified LPSYS or BLESYS.
- Parameters:
core_id – core id, CORE_ID_LCPU or CORE_ID_BCPU
- Return values:
status –
-
HAL_StatusTypeDef HAL_HPAON_EnterLightSleep(uint32_t lscr)
Indicate HPSYS to enter light sleep mode.
- Parameters:
lscr – light sleep control register value
- Return values:
status –
-
HAL_StatusTypeDef HAL_HPAON_EnterDeepSleep(uint32_t dscr)
Indicate HPSYS to enter deep sleep mode.
- Parameters:
dscr – deep sleep control register value
- Return values:
status –
-
HAL_StatusTypeDef HAL_HPAON_EnterStandby(uint32_t sbcr)
Indicate HPSYS to enter standby mode.
- Parameters:
sbcr – standby sleep control register value
- Return values:
status –
-
HAL_StatusTypeDef HAL_HPAON_EnableWakeupSrc(HPAON_WakeupSrcTypeDef src, AON_PinModeTypeDef mode)
Enable HPSYS wakeup source.
- Parameters:
src – wakeup source
mode – pin mode, needed when wakeup source is pin
- Return values:
status –
-
HAL_StatusTypeDef HAL_HPAON_DisableWakeupSrc(HPAON_WakeupSrcTypeDef src)
Disable specified HPSYS wakeup source.
- Parameters:
src – wakeup source
- Return values:
status –
-
HAL_StatusTypeDef HAL_HPAON_EnablePinWakeup(pin_pad pad, AON_PinModeTypeDef mode)
Enable HPSYS pin wakeup source.
- Parameters:
pad – pad
mode – pin mode
- Return values:
status –
-
HAL_StatusTypeDef HAL_HPAON_DisablePinWakeup(pin_pad pad)
Disable HPSYS pin wakeup source.
- Parameters:
pad – pad
- Return values:
status –
-
int8_t HAL_HPAON_QueryWakeupPin(GPIO_TypeDef *gpio, uint16_t gpio_pin)
Query wakeup pin bound with corresponding gpio pin.
- Parameters:
gpio – GPIO instance, e.g. hwp_gpio1
gpio_pin – gpio pin, start from 0, 0 is the first pin of the gpio instance
- Return values:
-1 – invalid
0~3 – for sf32lb55x, PA77~PA80
0~17 – for sf32lb58x, PB54~PB59, PA64~PA69, PBR0~PBR5
0~13 – for sf32lb56x, PB32~PB36, PA50~PA54, PBR0~PBR3
0~20 – for sf32lb52x, PA24~PA44
0~13 – for sf32lb57x, PA33~PA42, PA24~PA27
- Returns:
wakeup pin number, its range varies with different chips
-
GPIO_TypeDef *HAL_HPAON_QueryWakeupGpioPin(uint8_t wakeup_pin, uint16_t *gpio_pin)
Query gpio pin bound with corresponding wakeup pin.
- Parameters:
wakeup_pin – [in] wakeup pin, range: 0~5 (Z0), 0~3 (A0)
gpio_pin – [inout] pointer to output gpio pin
- Return values:
gpio – instance, NULL: not found
-
HAL_StatusTypeDef HAL_HPAON_GetWakeupPinMode(uint8_t wakeup_pin, AON_PinModeTypeDef *mode)
Get wakeup pin mode.
- Parameters:
wakeup_pin – [in] wakeup pin, range: 0~5 (Z0), 0~3 (A0)
mode – [inout] pointer to output pin mode
- Return values:
status –
-
void HAL_HPAON_Deactivate(void)
Deactivate HPSYS.
- Return values:
void –
-
void HAL_HPAON_EnableRC(void)
Enable Oscillator from HPSYS.
- Return values:
void –
-
void HAL_HPAON_DisableRC(void)
Revoke Oscillator from HPSYS.
- Return values:
void –
-
void HAL_HPAON_EnableXT48(void)
Enable XTAL48 from HPSYS.
- Return values:
void –
-
void HAL_HPAON_DisableXT48(void)
Revoke XTAL48 from HPSYS.
- Return values:
void –
-
HAL_StatusTypeDef HAL_HPAON_StartGTimer(void)
Start GTimer.
LPSYS must be awake, recommend to call this function at system intialization stage
- Return values:
status –
-
HAL_StatusTypeDef HAL_HPAON_StopGTimer(void)
Stop GTimer.
LPSYS must be awake
- Return values:
status –
-
HAL_StatusTypeDef HAL_LPAON_WakeCore(uint8_t core_id)
LPSYS wakeup the specified HPSYS or BLESYS.
- Parameters:
core_id – core id, CORE_ID_HCPU or CORE_ID_BCPU
- Return values:
status –
-
HAL_StatusTypeDef HAL_LPAON_EnterLightSleep(uint32_t lscr)
Indicate LPSYS to enter light sleep mode.
- Parameters:
lscr – light sleep control register value
- Return values:
status –
-
HAL_StatusTypeDef HAL_LPAON_EnterDeepSleep(uint32_t dscr)
Indicate LSYS to enter deep sleep mode.
- Parameters:
dscr – deep sleep control register value
- Return values:
status –
-
HAL_StatusTypeDef HAL_LPAON_EnterStandby(uint32_t sbcr)
Indicate LPSYS to enter deep sleep mode.
- Parameters:
sbcr – deep sleep control register value
- Return values:
status –
-
HAL_StatusTypeDef HAL_LPAON_EnableWakeupSrc(LPAON_WakeupSrcTypeDef src, AON_PinModeTypeDef mode)
Enable LPSYS wakeup source.
- Parameters:
src – wakeup source
mode – pin mode, needed when wakeup source is pin
- Return values:
status –
-
HAL_StatusTypeDef HAL_LPAON_DisableWakeupSrc(LPAON_WakeupSrcTypeDef src)
Disable specified LPSYS wakeup source.
- Parameters:
src – wakeup source
- Return values:
status –
-
int8_t HAL_LPAON_QueryWakeupPin(GPIO_TypeDef *gpio, uint16_t gpio_pin)
Query wakeup pin bound with corresponding gpio pin.
- Parameters:
gpio – GPIO instance, e.g. hwp_gpio1
gpio_pin – gpio pin, start from 1
- Return values:
wakeup – pin, valid range 0~5, invalid: -1
-
GPIO_TypeDef *HAL_LPAON_QueryWakeupGpioPin(uint8_t wakeup_pin, uint16_t *gpio_pin)
Query gpio pin bound with corresponding wakeup pin.
- Parameters:
wakeup_pin – [in] wakeup pin, range: 0~5
gpio_pin – [inout] pointer to output gpio pin
- Return values:
gpio – instance, NULL: not found
-
HAL_StatusTypeDef HAL_LPAON_GetWakeupPinMode(uint8_t wakeup_pin, AON_PinModeTypeDef *mode)
Get wakeup pin mode.
- Parameters:
wakeup_pin – [in] wakeup pin, range: 0~5
mode – [inout] pointer to output pin mode
- Return values:
status –
-
void HAL_LPAON_ConfigStartAddr(uint32_t *start_addr)
Configure LCPU start address.
- Return values:
void –
-
void HAL_LPAON_Deactivate(void)
Deactivate LPSYS.
- Return values:
void –
-
void HAL_LPAON_EnableRC(void)
Enable Oscillator from LPSYS.
- Return values:
void –
-
void HAL_LPAON_DisableRC(void)
Revoke Oscillator from LPSYS.
- Return values:
void –
-
void HAL_LPAON_EnableXT48(void)
Enable XTAL48 from LPSYS.
- Return values:
void –
-
void HAL_LPAON_DisableXT48(void)
Revoke XTAL48 from LPSYS.
- Return values:
void –
-
void HAL_LPAON_Sleep(void)
The lcpu sleep function.
Force the low-power core (LCPU) to enter sleep mode when it is not activated.
-
HAL_StatusTypeDef HAL_GTIMER_Check(uint32_t ctx, uint32_t timeout_count)
Check GTimer timeout or not.
- Parameters:
ctx – [in] Context for GTimer, should be start GTimer read
timeout_count – [in] Count for timeout
- Return values:
HAL_OK – Not timeout HAL_TIMEOUT:Timeout
Variables
-
uint8_t g_hal_hpaon_lcpu_wakeup_ref_cnt
Cancel the LP active request.
- Retval void:
-
struct AON_WakeupPinTypeDef
- #include <bf0_hal_aon.h>
AON wakeup pin type