bf0_hal_aon.h
Header file of RCC HAL module.
- Author
Sifli software development team
- Attention
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.
- 参数:
wer – wakeup enable register value
- 返回值:
void –
-
HAL_HPAON_GET_WER()
Get hpsys wakeup enable register.
- 返回值:
wakeup – enable register
-
HAL_HPAON_GET_WSR()
Get hpsys wakeup source register.
- 返回值:
wsr – wakeup source register value
-
HAL_HPAON_CLEAR_WSR(wsr)
Clear hpsys wakeup source register.
- 参数:
wsr – [in]
- 返回值:
wsr – wakeup source register value
-
HAL_HPAON_GET_POWER_MODE()
Get HPSYS power mode.
- 返回值:
power – mode
-
HAL_HPAON_SET_POWER_MODE(mode)
Set HPSYS power mode.
- 参数:
mode – power mode
- 返回值:
void –
-
HAL_HPAON_CLEAR_POWER_MODE()
Clear HPSYS power mode.
- 返回值:
void –
-
HAL_HPAON_SET_HP_ACTIVE()
Set ISSR.hp_active bit.
- 返回值:
void –
-
HAL_HPAON_CLEAR_HP_ACTIVE()
Clear ISSR.hp_active bit.
- 返回值:
void –
-
HAL_HPAON_CANCEL_LP_ACTIVE_REQUEST()
-
HAL_HPAON_IS_HP2LP_REQ_ACTIVE()
Check whether HP2LP_REQ is active.
- 返回值:
true – active, false: inactive
-
HAL_HPAON_IS_LP_ACTIVE()
Check whether LP is active.
- 返回值:
bool, true – active, false: not active
-
HAL_HPAON_DISABLE_PAD()
Disable PADA in HPSYS.
- 返回值:
void –
-
HAL_HPAON_DISABLE_VHP()
Disable VHP in HPSYS.
- 返回值:
void –
-
HAL_HPAON_ENABLE_PAD()
Enable PADA in HPSYS.
- 返回值:
void –
-
HAL_HPAON_ENABLE_VHP()
Enable VHP in HPSYS.
- 返回值:
void –
-
HAL_LPAON_SET_WER(wer)
Set lpsys wakeup enable register.
- 参数:
wer – wakeup enable register value
- 返回值:
void –
-
HAL_LPAON_GET_WER()
Get lpsys wakeup enable register.
- 返回值:
wakeup – enable register
-
HAL_LPAON_GET_WSR()
Get lpsys wakeup source register.
- 返回值:
wsr – wakeup source register value
-
HAL_LPAON_CLEAR_WSR(wsr)
Clear lpsys wakeup source register.
- 参数:
wsr – [in]
- 返回值:
wsr – wakeup source register value
-
HAL_LPAON_SET_POWER_MODE(mode)
Set LPSYS power mode.
- 参数:
mode – power mode
- 返回值:
void –
-
HAL_LPAON_GET_POWER_MODE()
Get LPSYS power mode.
- 返回值:
power – mode
-
HAL_LPAON_CLEAR_POWER_MODE()
Clear LPSYS power mode.
- 返回值:
void –
-
HAL_LPAON_SET_LP_ACTIVE()
Set ISSR.lp_active bit.
- 返回值:
void –
-
HAL_LPAON_CLEAR_LP_ACTIVE()
Clear ISSR.lp_active bit.
- 返回值:
void –
-
HAL_LPAON_CANCEL_HP_ACTIVE_REQUEST()
Cancel the HP active request.
- 返回值:
void –
-
HAL_LPAON_IS_HP_ACTIVE()
Check whether HP is active.
- 返回值:
bool, true – active, false: not active
-
HAL_LPAON_GET_SBCR()
Get LPSYS AON.SBCR.
- 返回值:
power – mode
-
HAL_LPAON_SET_SBCR(sbcr)
Set LPSYS AON.SBCR.
- 参数:
sbcr – standby mode ctrl register value
- 返回值:
void –
-
HAL_LPAON_DISABLE_PAD()
Disable PADB in LPSYS.
- 返回值:
void –
-
HAL_LPAON_DISABLE_VLP()
Disable VLP in LPSYS.
- 返回值:
void –
-
HAL_LPAON_DISABLE_AON_PAD()
-
HAL_LPAON_ENABLE_PAD()
Enable PADB in LPSYS.
- 返回值:
void –
-
HAL_LPAON_ENABLE_VLP()
Enable VLP in LPSYS, it’s related to analog.
- 返回值:
void –
-
HAL_LPAON_ENABLE_DS_PWR_REQ()
Enable Power Supply Request for Deep Sleep.
- 返回值:
void –
-
HAL_LPAON_DISABLE_DS_PWR_REQ()
Disable Power Supply Request for Deep Sleep.
- 返回值:
void –
-
HAL_HPAON_READ_GTIMER()
Read GTimer value by HPSYS.
- 返回值:
gtimer – value
-
HAL_LPAON_READ_GTIMER()
Read GTimer value by LPSYS.
- 返回值:
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
Pin wakeup mode
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
-
enum HPAON_WakeupSrcTypeDef
hpsys wakeup source
Values:
-
enumerator HPAON_WAKEUP_SRC_RTC
RTC wakeup source
-
enumerator HPAON_WAKEUP_SRC_LPTIM1
LPTIM1 wakeup source
-
enumerator HPAON_WAKEUP_SRC_LP2HP_REQ
LP2HP manual wakeup source
-
enumerator HPAON_WAKEUP_SRC_LP2HP_IRQ
LP2HP mailbox interrupt wakeup source
-
enumerator HPAON_WAKEUP_SRC_GPIO1
GPIO1 wakeup source
-
enumerator HPAON_WAKEUP_SRC_PIN0
PIN0 wakeup source
-
enumerator HPAON_WAKEUP_SRC_PIN1
PIN1 wakeup source
-
enumerator HPAON_WAKEUP_SRC_PIN2
PIN2 wakeup source
-
enumerator HPAON_WAKEUP_SRC_PIN3
PIN3 wakeup source
-
enumerator HPAON_WAKEUP_SRC_PIN4
-
enumerator HPAON_WAKEUP_SRC_PIN5
-
enumerator HPAON_WAKEUP_SRC_PIN6
-
enumerator HPAON_WAKEUP_SRC_PIN7
-
enumerator HPAON_WAKEUP_SRC_PIN8
-
enumerator HPAON_WAKEUP_SRC_PIN9
-
enumerator HPAON_WAKEUP_SRC_PIN10
-
enumerator HPAON_WAKEUP_SRC_PIN11
-
enumerator HPAON_WAKEUP_SRC_PIN12
-
enumerator HPAON_WAKEUP_SRC_PIN13
-
enumerator HPAON_WAKEUP_SRC_PIN14
-
enumerator HPAON_WAKEUP_SRC_PIN15
-
enumerator HPAON_WAKEUP_SRC_PIN16
-
enumerator HPAON_WAKEUP_SRC_PIN17
-
enumerator HPAON_WAKEUP_SRC_PIN18
-
enumerator HPAON_WAKEUP_SRC_PIN19
-
enumerator HPAON_WAKEUP_SRC_PIN20
-
enumerator HPAON_WAKEUP_SRC_PIN_LAST
-
enumerator HPAON_WAKEUP_SRC_PBR_PIN_FIRST
-
enumerator HPAON_WAKEUP_SRC_RTC
-
enum LPAON_WakeupSrcTypeDef
lpsys wakeup source
Values:
-
enumerator LPAON_WAKEUP_SRC_RTC
RTC wakeup source
-
enumerator LPAON_WAKEUP_SRC_HP2LP_REQ
HP2LP manual wakeup source
-
enumerator LPAON_WAKEUP_SRC_HP2LP_IRQ
HP2LP mailbox interrupt wakeup source
-
enumerator LPAON_WAKEUP_SRC_GPIO2
GPIO2 wakeup source
-
enumerator LPAON_WAKEUP_SRC_LPTIM3
LPTIM2 wakeup source
-
enumerator LPAON_WAKEUP_SRC_BT
BT wakeup source
-
enumerator LPAON_WAKEUP_SRC_PIN0
PIN0 wakeup source
-
enumerator LPAON_WAKEUP_SRC_PIN1
PIN1 wakeup source
-
enumerator LPAON_WAKEUP_SRC_PIN2
PIN2 wakeup source
-
enumerator LPAON_WAKEUP_SRC_PIN3
PIN3 wakeup source
-
enumerator LPAON_WAKEUP_SRC_PIN4
PIN4 wakeup source
-
enumerator LPAON_WAKEUP_SRC_PIN5
PIN5 wakeup source
-
enumerator LPAON_WAKEUP_SRC_PIN6
-
enumerator LPAON_WAKEUP_SRC_PIN7
-
enumerator LPAON_WAKEUP_SRC_PIN8
-
enumerator LPAON_WAKEUP_SRC_PIN9
-
enumerator LPAON_WAKEUP_SRC_PIN10
-
enumerator LPAON_WAKEUP_SRC_PIN11
-
enumerator LPAON_WAKEUP_SRC_PIN12
-
enumerator LPAON_WAKEUP_SRC_PIN13
-
enumerator LPAON_WAKEUP_SRC_PIN14
-
enumerator LPAON_WAKEUP_SRC_PIN15
-
enumerator LPAON_WAKEUP_SRC_PIN16
-
enumerator LPAON_WAKEUP_SRC_PIN17
-
enumerator LPAON_WAKEUP_SRC_PIN18
-
enumerator LPAON_WAKEUP_SRC_PIN19
-
enumerator LPAON_WAKEUP_SRC_PIN20
-
enumerator LPAON_WAKEUP_SRC_PIN_LAST
-
enumerator LPAON_WAKEUP_SRC_PBR_PIN_FIRST
-
enumerator LPAON_WAKEUP_SRC_RTC
Functions
-
HAL_StatusTypeDef HAL_HPAON_WakeCore(uint8_t core_id)
HPSYS wakeup the specified LPSYS or BLESYS.
- 参数:
core_id – core id, CORE_ID_LCPU or CORE_ID_BCPU
- 返回值:
status –
-
HAL_StatusTypeDef HAL_HPAON_EnterLightSleep(uint32_t lscr)
Indicate HPSYS to enter light sleep mode.
- 参数:
lscr – light sleep control register value
- 返回值:
status –
-
HAL_StatusTypeDef HAL_HPAON_EnterDeepSleep(uint32_t dscr)
Indicate HPSYS to enter deep sleep mode.
- 参数:
dscr – deep sleep control register value
- 返回值:
status –
-
HAL_StatusTypeDef HAL_HPAON_EnterStandby(uint32_t sbcr)
Indicate HPSYS to enter standby mode.
- 参数:
sbcr – standby sleep control register value
- 返回值:
status –
-
HAL_StatusTypeDef HAL_HPAON_EnableWakeupSrc(HPAON_WakeupSrcTypeDef src, AON_PinModeTypeDef mode)
Enable HPSYS wakeup source.
- 参数:
src – wakeup source
mode – pin mode, needed when wakeup source is pin
- 返回值:
status –
-
HAL_StatusTypeDef HAL_HPAON_DisableWakeupSrc(HPAON_WakeupSrcTypeDef src)
Disable specified HPSYS wakeup source.
- 参数:
src – wakeup source
- 返回值:
status –
-
int8_t HAL_HPAON_QueryWakeupPin(GPIO_TypeDef *gpio, uint16_t gpio_pin)
Query wakeup pin bound with corresponding gpio pin.
- 参数:
gpio – GPIO instance, e.g. hwp_gpio1
gpio_pin – gpio pin, start from 1
- 返回值:
wakeup – pin, valid range: 0~5 (Z0), 0~3 (A0), invalid: -1
-
GPIO_TypeDef *HAL_HPAON_QueryWakeupGpioPin(uint8_t wakeup_pin, uint16_t *gpio_pin)
Query gpio pin bound with corresponding wakeup pin.
- 参数:
wakeup_pin – [in] wakeup pin, range: 0~5 (Z0), 0~3 (A0)
gpio_pin – [inout] pointer to output gpio pin
- 返回值:
gpio – instance, NULL: not found
-
HAL_StatusTypeDef HAL_HPAON_GetWakeupPinMode(uint8_t wakeup_pin, AON_PinModeTypeDef *mode)
Get wakeup pin mode.
- 参数:
wakeup_pin – [in] wakeup pin, range: 0~5 (Z0), 0~3 (A0)
mode – [inout] pointer to output pin mode
- 返回值:
status –
-
void HAL_HPAON_Deactivate(void)
Deactivate HPSYS.
- 返回值:
void –
-
void HAL_HPAON_EnableRC(void)
Enable Oscillator from HPSYS.
- 返回值:
void –
-
void HAL_HPAON_DisableRC(void)
Revoke Oscillator from HPSYS.
- 返回值:
void –
-
void HAL_HPAON_EnableXT48(void)
Enable XTAL48 from HPSYS.
- 返回值:
void –
-
void HAL_HPAON_DisableXT48(void)
Revoke XTAL48 from HPSYS.
- 返回值:
void –
-
HAL_StatusTypeDef HAL_HPAON_StartGTimer(void)
Start GTimer.
LPSYS must be awake, recommend to call this function at system intialization stage
- 返回值:
status –
-
HAL_StatusTypeDef HAL_HPAON_StopGTimer(void)
Stop GTimer.
LPSYS must be awake
- 返回值:
status –
-
HAL_StatusTypeDef HAL_LPAON_WakeCore(uint8_t core_id)
LPSYS wakeup the specified HPSYS or BLESYS.
- 参数:
core_id – core id, CORE_ID_HCPU or CORE_ID_BCPU
- 返回值:
status –
-
HAL_StatusTypeDef HAL_LPAON_EnterLightSleep(uint32_t lscr)
Indicate LPSYS to enter light sleep mode.
- 参数:
lscr – light sleep control register value
- 返回值:
status –
-
HAL_StatusTypeDef HAL_LPAON_EnterDeepSleep(uint32_t dscr)
Indicate LSYS to enter deep sleep mode.
- 参数:
dscr – deep sleep control register value
- 返回值:
status –
-
HAL_StatusTypeDef HAL_LPAON_EnterStandby(uint32_t sbcr)
Indicate LPSYS to enter deep sleep mode.
- 参数:
sbcr – deep sleep control register value
- 返回值:
status –
-
HAL_StatusTypeDef HAL_LPAON_EnableWakeupSrc(LPAON_WakeupSrcTypeDef src, AON_PinModeTypeDef mode)
Enable LPSYS wakeup source.
- 参数:
src – wakeup source
mode – pin mode, needed when wakeup source is pin
- 返回值:
status –
-
HAL_StatusTypeDef HAL_LPAON_DisableWakeupSrc(LPAON_WakeupSrcTypeDef src)
Disable specified LPSYS wakeup source.
- 参数:
src – wakeup source
- 返回值:
status –
-
int8_t HAL_LPAON_QueryWakeupPin(GPIO_TypeDef *gpio, uint16_t gpio_pin)
Query wakeup pin bound with corresponding gpio pin.
- 参数:
gpio – GPIO instance, e.g. hwp_gpio1
gpio_pin – gpio pin, start from 1
- 返回值:
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.
- 参数:
wakeup_pin – [in] wakeup pin, range: 0~5
gpio_pin – [inout] pointer to output gpio pin
- 返回值:
gpio – instance, NULL: not found
-
HAL_StatusTypeDef HAL_LPAON_GetWakeupPinMode(uint8_t wakeup_pin, AON_PinModeTypeDef *mode)
Get wakeup pin mode.
- 参数:
wakeup_pin – [in] wakeup pin, range: 0~5
mode – [inout] pointer to output pin mode
- 返回值:
status –
-
void HAL_LPAON_ConfigStartAddr(uint32_t *start_addr)
Configure LCPU start address.
- 返回值:
void –
-
void HAL_LPAON_Deactivate(void)
Deactivate LPSYS.
- 返回值:
void –
-
void HAL_LPAON_EnableRC(void)
Enable Oscillator from LPSYS.
- 返回值:
void –
-
void HAL_LPAON_DisableRC(void)
Revoke Oscillator from LPSYS.
- 返回值:
void –
-
void HAL_LPAON_EnableXT48(void)
Enable XTAL48 from LPSYS.
- 返回值:
void –
-
void HAL_LPAON_DisableXT48(void)
Revoke XTAL48 from LPSYS.
- 返回值:
void –
-
HAL_StatusTypeDef HAL_GTIMER_Check(uint32_t ctx, uint32_t timeout_count)
Check GTimer timeout or not.
- 参数:
ctx – [in] Context for GTimer, should be start GTimer read
timeout_count – [in] Count for timeout
- 返回值:
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