思澈科技软件开发工具包  2.20

Modules

 PMU Exported Types
 PMU export types.
 
 PMU_LPSYS_PSW
 
 PMU_BLESYS_PSW
 
 PMU wakeup source
 

Macros

#define HAL_PMU_DISABLE_LPSYS_LDO()   do {hwp_pmuc->LDO_CR &= ~PMUC_LDO_CR_LPSYS_LDO_EN;} while (0)
 
#define PMUC_WSR_PIN_ALL   (PMUC_WSR_PIN0 | PMUC_WSR_PIN1)
 
#define HAL_PMU_SELECT_LPSYS_PWR(psw)
 Select LPSYS Power Switch. More...
 
#define HAL_PMU_SELECT_BLESYS_PWR(psw)
 Select LPSYS Power Switch. More...
 
#define HAL_PMU_SET_BG1_VREF12(val)
 Config bandgap1 VREF12. More...
 
#define HAL_PMU_SET_HPSYS_LDO_VREF(val)
 Config HPSYS LDO VREF. More...
 
#define HAL_PMU_SET_HPSYS_LDO_VREF2(val)
 Config HPSYS LDO VREF2. More...
 
#define HAL_PMU_SET_BUCK1_CCH(val)
 Config BUCK1 CCH. More...
 
#define HAL_PMU_HPSYS_POWER_OFF()
 Turn off HCPU power switch entirely during standby. More...
 
#define HAL_PMU_HPSYS_POWER_ON()
 Turn off HCPU power switch entirely during standby. More...
 
#define HAL_PMU_SWITCH_VRET()
 Vret switch to 0.7v when standby. More...
 
#define HAL_PMU_SWITCH_VRET_LOWER()
 Vret switch to 0.65v when standby. More...
 
#define HAL_PMU_SET_LDO_RDY_DELAY(delay)
 Set the delay time of LDO ready. More...
 
#define HAL_PMU_SET_HXT3_RDY_DELAY(delay)
 Set the delay time of xTal48M ready. More...
 
#define HAL_PMU_LXT_ENABLED()   ((hwp_pmuc->CR&PMUC_CR_SEL_LPCLK)!=PMU_LPCLK_RC10)
 Check weather LXT is enabled. More...
 
#define HAL_PMU_LXT_DISABLED()   ((hwp_pmuc->CR&PMUC_CR_SEL_LPCLK)!=PMU_LPCLK_XT32)
 Check weather LXT is disabled. More...
 
#define HAL_PMU_CLEAR_WSR(wsr)   (hwp_pmuc->WCR = (wsr))
 Clear PMU wakeup source register. More...
 
#define HAL_PMU_GET_WSR()   (hwp_pmuc->WSR)
 Get wakeup source. More...
 
#define HAL_PMU_SET_BUCK2_LOW_VOLTAGE()
 
#define HAL_PMU_SET_BUCK2_HIGH_VOLTAGE()
 
#define HAL_PMU_ENABLE_BOR()
 

Functions

HAL_StatusTypeDef HAL_PMU_EnablePinWakeup (uint8_t pin, uint8_t mode)
 Enable pin wakeup for hibernate. More...
 
HAL_StatusTypeDef HAL_PMU_DisablePinWakeup (uint8_t pin)
 Disable pin wakeup for hibernate. More...
 
HAL_StatusTypeDef HAL_PMU_EnableRtcWakeup (void)
 Enable RTC wakeup for hibernate. More...
 
HAL_StatusTypeDef HAL_PMU_DisableRtcWakeup (void)
 Disable RTC wakeup for hibernate. More...
 
void HAL_PMU_EnterHibernate (void)
 Make system enter hibernate mode. More...
 
void HAL_PMU_EnterShutdown (void)
 Make system enter shutdown mode. More...
 
HAL_StatusTypeDef HAL_PMU_CheckBootMode (PMU_BootModeTypeDef *boot_mode, uint32_t *wakeup_src)
 Check PMU boot mode. More...
 
HAL_StatusTypeDef HAL_PMU_EnableXTAL32 (void)
 Enable XTAL32K. More...
 
HAL_StatusTypeDef HAL_PMU_DisableXTAL32 (void)
 Disable XTAL32K. More...
 
HAL_StatusTypeDef HAL_PMU_LXTReady (void)
 Check whether Low power crystal is ready. More...
 
HAL_StatusTypeDef HAL_PMU_EnableRC32K (int enable)
 Enable RC32K. More...
 
HAL_StatusTypeDef HAL_PMU_RC32KReady (void)
 Check whether rc32k is ready. More...
 
HAL_StatusTypeDef HAL_PMU_LpCLockSelect (PMU_LpClockTypeDef lp_clock)
 Select low power clock. More...
 
HAL_StatusTypeDef HAL_PMU_EnableRC48 (void)
 Enable RC48M. More...
 
HAL_StatusTypeDef HAL_PMU_EnableBuck2 (void)
 Enable BUCK2. More...
 
HAL_StatusTypeDef HAL_PMU_EnableDLL (int enable)
 Enable DLL buf, need by all DLLs, need to turn off when go low power, but need to make sure all DLL is turned off. More...
 
HAL_StatusTypeDef HAL_PMU_EnableAudio (int enable)
 Enable audio buf, need to turn off when go low power. More...
 
void HAL_PMU_Reboot (void)
 Reboot system. More...
 
void HAL_PMU_SET_HXT_CBANK (uint32_t value)
 Set CABANK SEL after crystal calibration. More...
 
void HAL_PMU_SetWdt (uint32_t instance)
 Enable watchdog as reboot cause. More...
 
HAL_StatusTypeDef HAL_PMU_ChgInit (PMU_ChgHandleTypeDef *handle, PMU_ChgCalParamTypeDef *cal_param)
 Init charger. More...
 
HAL_StatusTypeDef HAL_PMU_ChgEnable (PMU_ChgHandleTypeDef *handle, bool en)
 Enable or disable charger. More...
 
uint32_t HAL_PMU_ChgConfigCcCurrent (PMU_ChgHandleTypeDef *handle, uint32_t current)
 Configure charger CC current. More...
 
float HAL_PMU_ChgConfigPreCcCurrent (PMU_ChgHandleTypeDef *handle, float current)
 Configure PRECC current. More...
 
uint32_t HAL_PMU_ChgConfigTargetVolt (PMU_ChgHandleTypeDef *handle, uint32_t volt_mv)
 Configure charging full target voltage. More...
 
uint32_t HAL_PMU_ChgConfigRepVolt (PMU_ChgHandleTypeDef *handle, uint32_t volt_mv)
 Configure charging REP voltage. More...
 
HAL_StatusTypeDef HAL_PMU_ChgConfigIRQ (PMU_ChgHandleTypeDef *handle, PMU_ChgIrqStatusTypeDef irq, PMU_ChgIrqTrigModeTypeDef trig_mode)
 Enable/disable IRQ in specified trig mode. More...
 
void HAL_PMU_ChgRegisterCallback (PMU_ChgHandleTypeDef *handle, PMU_ChgCallbackTypeDef callback)
 Register charger IRQ callback which is called when IRQ is triggered. More...
 
HAL_StatusTypeDef HAL_PMU_IRQHandler (PMU_ChgHandleTypeDef *handle)
 PMU IRQ Handler. More...
 
int8_t HAL_PMU_ChgReadStatus (PMU_ChgHandleTypeDef *handle, PMU_ChgIrqStatusTypeDef irq)
 Read raw charger event status. More...
 
HAL_StatusTypeDef HAL_PMU_ChgStartForceCharging (PMU_ChgHandleTypeDef *handle)
 Start force charging. More...
 
HAL_StatusTypeDef HAL_PMU_ChgSuspendForceCharging (PMU_ChgHandleTypeDef *handle)
 Suspend force charging. More...
 
HAL_StatusTypeDef HAL_PMU_ChgResumeForceCharging (PMU_ChgHandleTypeDef *handle)
 Resume force charging. More...
 
HAL_StatusTypeDef HAL_PMU_ChgStopForceCharging (PMU_ChgHandleTypeDef *handle)
 Stop force charging. More...
 
HAL_PMU_ChgHwStateTypeDef HAL_PMU_ChgGetHwState (PMU_ChgHandleTypeDef *handle)
 Read hardware state. More...
 
uint8_t HAL_PMU_ChgConfigEocCc (PMU_ChgHandleTypeDef *handle, uint8_t percent)
 Configure EOC Current. More...
 
HAL_StatusTypeDef HAL_PMU_ConfigPeriLdo (PMU_PeriLdoTypeDef ldo, bool en, bool wait)
 Open and close peripheral LDO. More...
 
void HAL_PMU_LoadCalData (void)
 Load PMU calibration data to PMU register. More...
 
HAL_StatusTypeDef HAL_PMU_GetHpsysVoutRef (uint8_t *vout_ref)
 Get HPSYS LDO (1.1V) calibration data. More...
 
HAL_StatusTypeDef HAL_PMU_GetHpsysVoutRef2 (uint8_t *vout_ref)
 Get HPSYS LDO (1.2V) calibration data. More...
 
void HAL_PMU_Init (void)
 Init PMU. More...
 

Detailed Description

Macro Definition Documentation

◆ HAL_PMU_CLEAR_WSR

#define HAL_PMU_CLEAR_WSR (   wsr)    (hwp_pmuc->WCR = (wsr))

Clear PMU wakeup source register.

Parameters
[in]wsr
Return values
wsrwakeup source register value

◆ HAL_PMU_ENABLE_BOR

#define HAL_PMU_ENABLE_BOR ( )
Value:
do \
{ \
MODIFY_REG(hwp_pmuc->VRTC_CR, PMUC_VRTC_CR_BOR_VT_TRIM_Msk, \
MAKE_REG_VAL(0, PMUC_VRTC_CR_BOR_VT_TRIM_Msk, PMUC_VRTC_CR_BOR_VT_TRIM_Pos)); \
hwp_pmuc->VRTC_CR |= PMUC_VRTC_CR_BOR_EN; \
} \
while (0)

◆ HAL_PMU_GET_WSR

#define HAL_PMU_GET_WSR ( )    (hwp_pmuc->WSR)

Get wakeup source.

Return values
wsrwakeup source register value

◆ HAL_PMU_HPSYS_POWER_OFF

#define HAL_PMU_HPSYS_POWER_OFF ( )
Value:
do \
{ \
hwp_pmuc->HPSYS_SWR |=PMUC_HPSYS_SWR_NORET; \
} \
while (0)

Turn off HCPU power switch entirely during standby.

Return values
None

◆ HAL_PMU_HPSYS_POWER_ON

#define HAL_PMU_HPSYS_POWER_ON ( )
Value:
do \
{ \
hwp_pmuc->HPSYS_SWR &= ~PMUC_HPSYS_SWR_NORET_Msk; \
} \
while (0)

Turn off HCPU power switch entirely during standby.

Return values
None

◆ HAL_PMU_LXT_DISABLED

#define HAL_PMU_LXT_DISABLED ( )    ((hwp_pmuc->CR&PMUC_CR_SEL_LPCLK)!=PMU_LPCLK_XT32)

Check weather LXT is disabled.

Return values
Trueif using RC10k, False if using LXT

◆ HAL_PMU_LXT_ENABLED

#define HAL_PMU_LXT_ENABLED ( )    ((hwp_pmuc->CR&PMUC_CR_SEL_LPCLK)!=PMU_LPCLK_RC10)

Check weather LXT is enabled.

Return values
Trueif LXT enabled, False if using RC10k

◆ HAL_PMU_SELECT_BLESYS_PWR

#define HAL_PMU_SELECT_BLESYS_PWR (   psw)
Value:
do \
{ \
MODIFY_REG(hwp_pmuc->BLESYS_SWR, PMUC_BLESYS_SWR_PSW_Msk, (psw)); \
} \
while (0)

Select LPSYS Power Switch.

Parameters
[in]pswpower switch flag, see PMU_LPSYS_PSW
Return values
None

◆ HAL_PMU_SELECT_LPSYS_PWR

#define HAL_PMU_SELECT_LPSYS_PWR (   psw)
Value:
do \
{ \
MODIFY_REG(hwp_pmuc->LPSYS_SWR, PMUC_LPSYS_SWR_PSW_Msk, (psw)); \
} \
while (0)

Select LPSYS Power Switch.

Parameters
[in]pswpower switch flag, see PMU_LPSYS_PSW
Return values
None

◆ HAL_PMU_SET_BG1_VREF12

#define HAL_PMU_SET_BG1_VREF12 (   val)
Value:
do \
{ \
MODIFY_REG(hwp_pmuc->BG1_CR, PMUC_BG1_CR_BG1_VREF12_Msk, \
MAKE_REG_VAL((val), PMUC_BG1_CR_BG1_VREF12_Msk, PMUC_BG1_CR_BG1_VREF12_Pos)); \
} while (0)

Config bandgap1 VREF12.

Parameters
[in]valvandgap1 vref12 value
Return values
None

◆ HAL_PMU_SET_BUCK1_CCH

#define HAL_PMU_SET_BUCK1_CCH (   val)
Value:
do \
{ \
MODIFY_REG(hwp_pmuc->BUCK1_CR, PMUC_BUCK1_CR_BUCK1_CCH_Msk, \
MAKE_REG_VAL((val), PMUC_BUCK1_CR_BUCK1_CCH_Msk, PMUC_BUCK1_CR_BUCK1_CCH_Pos)); \
} \
while (0)

Config BUCK1 CCH.

Parameters
[in]valBUCK1 CCH value
Return values
None

◆ HAL_PMU_SET_HPSYS_LDO_VREF

#define HAL_PMU_SET_HPSYS_LDO_VREF (   val)
Value:
do \
{ \
MODIFY_REG(hwp_pmuc->LDO_CR, PMUC_LDO_CR_HPSYS_LDO_VREF_Msk, \
MAKE_REG_VAL((val), PMUC_LDO_CR_HPSYS_LDO_VREF_Msk, PMUC_LDO_CR_HPSYS_LDO_VREF_Pos)); \
} \
while (0)

Config HPSYS LDO VREF.

Parameters
[in]valHPSYS LDO VREF value
Return values
None

◆ HAL_PMU_SET_HPSYS_LDO_VREF2

#define HAL_PMU_SET_HPSYS_LDO_VREF2 (   val)
Value:
do \
{ \
MODIFY_REG(hwp_pmuc->HPSYS_LDO, PMUC_HPSYS_LDO_VREF2_Msk, \
MAKE_REG_VAL((val), PMUC_HPSYS_LDO_VREF2_Msk, PMUC_HPSYS_LDO_VREF2_Pos)); \
} \
while (0)

Config HPSYS LDO VREF2.

Parameters
[in]valHPSYS LDO VREF2 value
Return values
None

◆ HAL_PMU_SET_HXT3_RDY_DELAY

#define HAL_PMU_SET_HXT3_RDY_DELAY (   delay)
Value:
do \
{ \
MODIFY_REG(hwp_pmuc->HXT_CR3, PMUC_HXT_CR3_DLY_Msk, ((delay)<<PMUC_HXT_CR3_DLY_Pos)); \
} \
while (0)

Set the delay time of xTal48M ready.

Return values
None

◆ HAL_PMU_SET_LDO_RDY_DELAY

#define HAL_PMU_SET_LDO_RDY_DELAY (   delay)
Value:
do \
{ \
MODIFY_REG(hwp_pmuc->LDO_CR, PMUC_LDO_CR_LPSYS_LDO_DLY_Msk, ((delay)<<PMUC_LDO_CR_LPSYS_LDO_DLY_Pos)); \
} \
while (0)

Set the delay time of LDO ready.

Return values
None

◆ HAL_PMU_SWITCH_VRET

#define HAL_PMU_SWITCH_VRET ( )
Value:
do \
{ \
hwp_pmuc->VRET_CR =0x840e9c9d; \
} \
while (0)

Vret switch to 0.7v when standby.

Return values
None

◆ HAL_PMU_SWITCH_VRET_LOWER

#define HAL_PMU_SWITCH_VRET_LOWER ( )
Value:
do \
{ \
MODIFY_REG(hwp_pmuc->VRET_CR, PMUC_VRET_CR_VBIT_Msk, (1<<PMUC_VRET_CR_VBIT_Pos)); \
} \
while (0)

Vret switch to 0.65v when standby.

Return values
None

Function Documentation

◆ HAL_PMU_CheckBootMode()

HAL_StatusTypeDef HAL_PMU_CheckBootMode ( PMU_BootModeTypeDef boot_mode,
uint32_t *  wakeup_src 
)

Check PMU boot mode.

It should be called only once after boot. PMU status would be cleared afterwards.

Parameters
[out]boot_modeboot mode
[out]wakeup_srcwakeup source if boot mode is PMU_HIBERNATE_BOOT or PMU_SHUTDOWN_BOOT, see PMU wakeup source
Return values
status

◆ HAL_PMU_ChgConfigCcCurrent()

uint32_t HAL_PMU_ChgConfigCcCurrent ( PMU_ChgHandleTypeDef handle,
uint32_t  current 
)

Configure charger CC current.

Parameters
[in]handlecharger handle
[in]currentCC current in mA
Return values
actualCC current configured to charger

◆ HAL_PMU_ChgConfigEocCc()

uint8_t HAL_PMU_ChgConfigEocCc ( PMU_ChgHandleTypeDef handle,
uint8_t  percent 
)

Configure EOC Current.

Parameters
[in]handlecharger handle
[in]percentpercentage of CC Curent, e.g. 10 is 10% of CC Current range: [4, 36]
Return values
actualpercentage, 0 for invalid input

◆ HAL_PMU_ChgConfigIRQ()

HAL_StatusTypeDef HAL_PMU_ChgConfigIRQ ( PMU_ChgHandleTypeDef handle,
PMU_ChgIrqStatusTypeDef  irq,
PMU_ChgIrqTrigModeTypeDef  trig_mode 
)

Enable/disable IRQ in specified trig mode.

Parameters
[in]handlecharger handle
[in]irqirq needs to be enabled or disabled
[in]trig_modeirq trig mode or disable
Return values
status

◆ HAL_PMU_ChgConfigPreCcCurrent()

float HAL_PMU_ChgConfigPreCcCurrent ( PMU_ChgHandleTypeDef handle,
float  current 
)

Configure PRECC current.

Parameters
[in]handlecharger handle
[in]currentPRECC current in mA
Return values
actualPRECC current configured to charger

◆ HAL_PMU_ChgConfigRepVolt()

uint32_t HAL_PMU_ChgConfigRepVolt ( PMU_ChgHandleTypeDef handle,
uint32_t  volt_mv 
)

Configure charging REP voltage.

Parameters
[in]handlecharger handle
[in]volt_mvrep voltage in mV
Return values
actualrep voltage(mV) configured to charger

◆ HAL_PMU_ChgConfigTargetVolt()

uint32_t HAL_PMU_ChgConfigTargetVolt ( PMU_ChgHandleTypeDef handle,
uint32_t  volt_mv 
)

Configure charging full target voltage.

Parameters
[in]handlecharger handle
[in]volt_mvtarget voltage in mV
Return values
actualtarget voltage(mV) configured to charger

◆ HAL_PMU_ChgEnable()

HAL_StatusTypeDef HAL_PMU_ChgEnable ( PMU_ChgHandleTypeDef handle,
bool  en 
)

Enable or disable charger.

Parameters
[in]handlecharger handle
[in]entrue: enable charger, false: disable charger
Return values
status

◆ HAL_PMU_ChgGetHwState()

HAL_PMU_ChgHwStateTypeDef HAL_PMU_ChgGetHwState ( PMU_ChgHandleTypeDef handle)

Read hardware state.

Parameters
[in]handlecharger handle
Return values
hardwarestate

◆ HAL_PMU_ChgInit()

HAL_StatusTypeDef HAL_PMU_ChgInit ( PMU_ChgHandleTypeDef handle,
PMU_ChgCalParamTypeDef cal_param 
)

Init charger.

This function shoud be called before other APIs

Parameters
[in]handlecharger handle
[in]cal_paramcalibration param
Return values
status

◆ HAL_PMU_ChgReadStatus()

int8_t HAL_PMU_ChgReadStatus ( PMU_ChgHandleTypeDef handle,
PMU_ChgIrqStatusTypeDef  irq 
)

Read raw charger event status.

Parameters
[in]handlecharger handle
[in]irqevent type
Return values
eventstatus, 0 or 1

◆ HAL_PMU_ChgRegisterCallback()

void HAL_PMU_ChgRegisterCallback ( PMU_ChgHandleTypeDef handle,
PMU_ChgCallbackTypeDef  callback 
)

Register charger IRQ callback which is called when IRQ is triggered.

Parameters
[in]handlecharger handle
[in]callbackcallback
Return values
actualrep voltage(mV) configured to charger

◆ HAL_PMU_ChgResumeForceCharging()

HAL_StatusTypeDef HAL_PMU_ChgResumeForceCharging ( PMU_ChgHandleTypeDef handle)

Resume force charging.

Parameters
[in]handlecharger handle
Return values
status

◆ HAL_PMU_ChgStartForceCharging()

HAL_StatusTypeDef HAL_PMU_ChgStartForceCharging ( PMU_ChgHandleTypeDef handle)

Start force charging.

HAL_PMU_ChgStopForceCharging should be called to stop force charging completely.

Parameters
[in]handlecharger handle
Return values
status

◆ HAL_PMU_ChgStopForceCharging()

HAL_StatusTypeDef HAL_PMU_ChgStopForceCharging ( PMU_ChgHandleTypeDef handle)

Stop force charging.

Parameters
[in]handlecharger handle
Return values
status

◆ HAL_PMU_ChgSuspendForceCharging()

HAL_StatusTypeDef HAL_PMU_ChgSuspendForceCharging ( PMU_ChgHandleTypeDef handle)

Suspend force charging.

Charging is stopped temporarily, but force control is not disbled. HAL_PMU_ChgStopForceCharging should be called to disable force control completely.

Parameters
[in]handlecharger handle
Return values
status

◆ HAL_PMU_ConfigPeriLdo()

HAL_StatusTypeDef HAL_PMU_ConfigPeriLdo ( PMU_PeriLdoTypeDef  ldo,
bool  en,
bool  wait 
)

Open and close peripheral LDO.

Parameters
[in]ldowhich LDO needs to be opened or closed
[in]entrue: open, false: close
[in]waittrue: wait for stable, false: no wait for stable
Return values
halstatus

◆ HAL_PMU_DisablePinWakeup()

HAL_StatusTypeDef HAL_PMU_DisablePinWakeup ( uint8_t  pin)

Disable pin wakeup for hibernate.

Parameters
pinpin number, range: 0~5
Return values
status

◆ HAL_PMU_DisableRtcWakeup()

HAL_StatusTypeDef HAL_PMU_DisableRtcWakeup ( void  )

Disable RTC wakeup for hibernate.

Return values
status

◆ HAL_PMU_DisableXTAL32()

HAL_StatusTypeDef HAL_PMU_DisableXTAL32 ( void  )

Disable XTAL32K.

Return values
status

◆ HAL_PMU_EnableAudio()

HAL_StatusTypeDef HAL_PMU_EnableAudio ( int  enable)

Enable audio buf, need to turn off when go low power.

Parameters
[in]enable1: enable Audio , 0: disable Audio
Return values
status

◆ HAL_PMU_EnableBuck2()

HAL_StatusTypeDef HAL_PMU_EnableBuck2 ( void  )

Enable BUCK2.

Return values
status

◆ HAL_PMU_EnableDLL()

HAL_StatusTypeDef HAL_PMU_EnableDLL ( int  enable)

Enable DLL buf, need by all DLLs, need to turn off when go low power, but need to make sure all DLL is turned off.

Parameters
[in]enable1: enable DLL , 0: disable DLL
Return values
status

◆ HAL_PMU_EnablePinWakeup()

HAL_StatusTypeDef HAL_PMU_EnablePinWakeup ( uint8_t  pin,
uint8_t  mode 
)

Enable pin wakeup for hibernate.

Parameters
pinpin number, its range differs from each chips, sf32lb55x: 0~5, others: 0~1
modepin wakeup mode, 0: high level, 1: low level, 2: positive edge, 3: negative edge
Return values
status

◆ HAL_PMU_EnableRC32K()

HAL_StatusTypeDef HAL_PMU_EnableRC32K ( int  enable)

Enable RC32K.

Parameters
[in]enable1: enable RC32K , 0: disable RC32K
Return values
status

◆ HAL_PMU_EnableRC48()

HAL_StatusTypeDef HAL_PMU_EnableRC48 ( void  )

Enable RC48M.

Return values
status

◆ HAL_PMU_EnableRtcWakeup()

HAL_StatusTypeDef HAL_PMU_EnableRtcWakeup ( void  )

Enable RTC wakeup for hibernate.

Return values
status

◆ HAL_PMU_EnableXTAL32()

HAL_StatusTypeDef HAL_PMU_EnableXTAL32 ( void  )

Enable XTAL32K.

Return values
status

◆ HAL_PMU_EnterHibernate()

void HAL_PMU_EnterHibernate ( void  )

Make system enter hibernate mode.

The function would wait for hibernation and not return. System can be woken up RTC and PIN precisely

Return values
void

◆ HAL_PMU_EnterShutdown()

void HAL_PMU_EnterShutdown ( void  )

Make system enter shutdown mode.

The function would wait for shutdown and not return. System can be woken up RTC and PIN, but RTC wakeup time is not accurate.

Return values
void

◆ HAL_PMU_GetHpsysVoutRef()

HAL_StatusTypeDef HAL_PMU_GetHpsysVoutRef ( uint8_t *  vout_ref)

Get HPSYS LDO (1.1V) calibration data.

Parameters
[in,out]vout_refpointer to data
Return values
halstatus

◆ HAL_PMU_GetHpsysVoutRef2()

HAL_StatusTypeDef HAL_PMU_GetHpsysVoutRef2 ( uint8_t *  vout_ref)

Get HPSYS LDO (1.2V) calibration data.

Parameters
[in,out]vout_refpointer to data
Return values
halstatus

◆ HAL_PMU_Init()

void HAL_PMU_Init ( void  )

Init PMU.

Return values
void

◆ HAL_PMU_IRQHandler()

HAL_StatusTypeDef HAL_PMU_IRQHandler ( PMU_ChgHandleTypeDef handle)

PMU IRQ Handler.

It should be callbed by IRQ handler registered in vector table

Parameters
[in]handlecharger handle
Return values
status

◆ HAL_PMU_LoadCalData()

void HAL_PMU_LoadCalData ( void  )

Load PMU calibration data to PMU register.

Returns
void

◆ HAL_PMU_LpCLockSelect()

HAL_StatusTypeDef HAL_PMU_LpCLockSelect ( PMU_LpClockTypeDef  lp_clock)

Select low power clock.

Parameters
[in]lp_clocklow power clock source
Return values
status

◆ HAL_PMU_LXTReady()

HAL_StatusTypeDef HAL_PMU_LXTReady ( void  )

Check whether Low power crystal is ready.

Return values
status

◆ HAL_PMU_RC32KReady()

HAL_StatusTypeDef HAL_PMU_RC32KReady ( void  )

Check whether rc32k is ready.

Return values
status

◆ HAL_PMU_Reboot()

void HAL_PMU_Reboot ( void  )

Reboot system.

Not support by Z0. The function would wait for reboot and not return. Need to call HAL_PMU_CheckBootMode to clear reboot bit after reboot. Boot mode is cold boot for reboot.

Return values
void

◆ HAL_PMU_SET_HXT_CBANK()

void HAL_PMU_SET_HXT_CBANK ( uint32_t  value)

Set CABANK SEL after crystal calibration.

Parameters
[in]valueHXT CBANK register value
Return values
void

◆ HAL_PMU_SetWdt()

void HAL_PMU_SetWdt ( uint32_t  instance)

Enable watchdog as reboot cause.

Parameters
[in]instanceBase address of watch dog
Return values
void