SemiDrive SSDK Appication Program Interface PTG3.0
sdrv_pmu.h
Go to the documentation of this file.
1
9#ifndef SDRV_PMU_DRV_H_
10#define SDRV_PMU_DRV_H_
11
12#include <sdrv_common.h>
13#include <types.h>
14#include <part.h>
15
16#define SDRV_PMU_WAKEUP_PIN0_MASK (0X1U)
17#define SDRV_PMU_WAKEUP_PIN1_MASK (0X2U)
18#define SDRV_PMU_WAKEUP_RTC_MASK (0X4U)
19#define SDRV_PMU_WAKEUP_BC_MASK (0X8U)
20
27};
28
32#if CONFIG_E3 || CONFIG_D3
60};
61#endif
62
63#if CONFIG_E3L
64enum srcs_bit {
74 SRCS_SCR_CFG_LATCH_EN = 17U,
82 SRCS_SADC1_CVEN33 = 26U,
83 SRCS_SACMP1_CVEN33 = 27U,
84 SRCS_APAD_CVEN33_B0_B1 = 28U,
85 SRCS_APAD_CVEN33_B2_B8 = 29U,
86 SRCS_OTHER_CVEN33 = 30U,
88};
89#endif
90
94typedef enum sdrv_pmu_polarity {
100
109
117
127
135
146
150typedef enum sdrv_pmu_mode {
156
167
171typedef enum sdrv_pmu_state {
177
181typedef enum sdrv_pmu_ctrl {
185
190typedef enum sdrv_pmu_operate {
194
202
206typedef enum sdrv_pmu_pwr_ctrl {
212
217typedef enum sdrv_pmu_pwr_on {
223
228typedef enum sdrv_pmu_target {
233
237typedef enum sdrv_pmu_pg {
241
251
265
283
287typedef enum sdrv_pmu_int_type {
298
303typedef struct sdrv_pmu_edge_filter {
306 uint8_t filter_count;
309
313typedef struct sdrv_pmu_level_filter {
319
324 uint8_t bc_cnt_unit;
329
333typedef struct sdrv_pmu_bc_config {
337
344
351
356
361
372
377 uint8_t por_tw;
378 uint8_t por_tw_adj;
379 uint8_t wdt_div;
381
387 uint8_t wdt_counter;
389
397
406
410typedef struct sdrv_pmu_pwron_config {
414
425status_t sdrv_pmu_wakeup_enable(uint32_t enable_bitmap);
426
437status_t sdrv_pmu_wakeup_disable(uint32_t disable_bitmap);
438
449
457
465
473
481status_t sdrv_pmu_hardware_power_down_request_enable(uint32_t enable_bitmap, bool enable);
482
492
504
512
523
534
545
555
567
575
584
592
601
613
621
630
639
648
661
673
683
695
709
722
731
740
752
760status_t sdrv_pmu_interrupt_enable(uint32_t bitmap, bool enable);
761
768
776
784
792
803
814
825
836
847
858
869
880
891
902
913
924
935
945
955
967
979
991
1003
1016
1029
1038
1045
1054
1061
1067uint32_t sdrv_pmu_get_state(void);
1068
1069#endif /* SDRV_PMU_DRV_H_ */
SemiDrive driver common header file.
@ SDRV_STATUS_GROUP_PMU
Definition: sdrv_common.h:50
int32_t status_t
Type used for all status and error return values.
Definition: sdrv_common.h:82
#define SDRV_ERROR_STATUS(group, code)
Construct a status code value from a group and code number. All the error statuses are negetive numbe...
Definition: sdrv_common.h:17
uint32_t sdrv_pmu_get_power_down_reason(void)
Get system power down reason.
status_t sdrv_pmu_wakeup_pin_enable(sdrv_pmu_wakeup_pin_e wakeup_pin, bool enable)
Enable or Disable specific system wakeup pin.
sdrv_pmu_power_down_reason
Definition for power down reason.
Definition: sdrv_pmu.h:269
@ SDRV_PMU_POWER_DOWN_SF_PT_SENSOR_INT
Definition: sdrv_pmu.h:277
@ SDRV_PMU_POWER_DOWN_SOFTWARE
Definition: sdrv_pmu.h:280
@ SDRV_PMU_POWER_DOWN_SMC_CHECK_FAIL
Definition: sdrv_pmu.h:270
@ SDRV_PMU_POWER_DOWN_BC
Definition: sdrv_pmu.h:281
@ SDRV_PMU_POWER_DOWN_RESERVED_1
Definition: sdrv_pmu.h:273
@ SDRV_PMU_POWER_DOWN_RESERVED
Definition: sdrv_pmu.h:271
@ SDRV_PMU_POWER_DOWN_VD_AP_INT
Definition: sdrv_pmu.h:276
@ SDRV_PMU_POWER_DOWN_VD_SF_INT
Definition: sdrv_pmu.h:275
@ SDRV_PMU_POWER_DOWN_FS32K_LVPG
Definition: sdrv_pmu.h:274
@ SDRV_PMU_POWER_DOWN_SEM_INT
Definition: sdrv_pmu.h:272
@ SDRV_PMU_POWER_DOWN_EFUSE_VIO
Definition: sdrv_pmu.h:279
@ SDRV_PMU_POWER_DOWN_AP_PT_SENSOR_INT
Definition: sdrv_pmu.h:278
sdrv_pmu_error
PMU status error code.
Definition: sdrv_pmu.h:24
@ SDRV_PMU_CONFIG_NOT_SUPPORT
Definition: sdrv_pmu.h:26
@ SDRV_PMU_CONFIG_TYPE_WRONG
Definition: sdrv_pmu.h:25
struct sdrv_pmu_level_filter_enable sdrv_pmu_level_filter_enable_t
Definition for PMU BC level filter enable config.
struct sdrv_pmu_pwrctrl_min_delay_config sdrv_pmu_pwrctrl_min_delay_config_t
Definition for setting for pwrctrl0-3 minimal delay enable config.
status_t sdrv_pmu_wakeup_latch_set(sdrv_pmu_wakeup_in_rtc_e latch)
Config pmu action when receive wakeup event during rtc state.
struct sdrv_pmu_bc_config sdrv_pmu_bc_config_t
Definition for button config active level or pulse to enter/exit rtc mode.
status_t sdrv_pmu_analog_cven33_enable(bool enable)
Enable or disable analog IP power.
status_t sdrv_pmu_rc24m_enable(bool enable)
Enable or disable analog IP power.
status_t sdrv_pmu_ana_sf_analog_enable(bool enable)
Enable or disable analog IP power.
status_t sdrv_pmu_wakeup_pins_config(sdrv_pmu_wakeuppins_config_t *config)
Config Wake pin 0 and 1 enable and active level.
status_t sdrv_pmu_pt_sns_enable(bool enable)
Enable or disable analog IP power.
status_t sdrv_pmu_vd_ap_enable(bool enable)
Enable or disable analog IP power.
enum sdrv_pmu_polarity sdrv_pmu_polarity_e
Definition for pmu wakeup pin and button control active level or pulse.
status_t sdrv_pmu_ap_domain_power_good_monitor(sdrv_pmu_pg_e cfg)
Config ap domain 3.3v and 0.8v power good monitor.
enum sdrv_pmu_wakeup_src sdrv_pmu_wakeup_src_e
Definition for wakeup source.
sdrv_pmu_edge_filter_enum
Definition for pmu select which edge needs to apply the filter.
Definition: sdrv_pmu.h:104
@ SDRV_PMU_FILTER_FALLING
Definition: sdrv_pmu.h:106
@ SDRV_PMU_FILTER_BOTH_EDGE
Definition: sdrv_pmu.h:107
@ SDRV_PMU_FILTER_RISING
Definition: sdrv_pmu.h:105
enum sdrv_pmu_wakeup_pin_logic sdrv_pmu_wakeup_pin_logic_e
Definition for pmu wakeup pin logic.
status_t sdrv_pmu_vd_sf_ana_enable(bool enable)
Enable or disable analog IP power.
sdrv_pmu_delay_period
Definition for config pwrctrl and pwron delay setting in different period.
Definition: sdrv_pmu.h:160
@ SDRV_PMU_PWRUP_DELAY
Definition: sdrv_pmu.h:161
@ SDRV_PMU_SLEEP_DELAY
Definition: sdrv_pmu.h:163
@ SDRV_PMU_RTC_DELAY
Definition: sdrv_pmu.h:165
@ SDRV_PMU_HIB_DELAY
Definition: sdrv_pmu.h:164
@ SDRV_PMU_RUN_DELAY
Definition: sdrv_pmu.h:162
struct sdrv_pmu_level_filter sdrv_pmu_level_filter_t
Definition for PMU BC level filter config.
enum sdrv_pmu_pg sdrv_pmu_pg_e
Definition for pmu power good config.
uint32_t sdrv_pmu_get_state(void)
Get PMU internal state.
status_t sdrv_pmu_button_control_level_filter_config(sdrv_pmu_level_filter_enable_t *filter_config)
Enable level filter for button control.
sdrv_pmu_wakeup_in_rtc
Definition for pmu action when receive wakeup during rtc state.
Definition: sdrv_pmu.h:142
@ SDRV_PMU_WAKEUP_IN_RTC_IGNORE
Definition: sdrv_pmu.h:143
@ SDRV_PMU_WAKEUP_IN_RTC_LATCH
Definition: sdrv_pmu.h:144
sdrv_pmu_hw_power_down_req
Definition for hardware power down request.
Definition: sdrv_pmu.h:255
@ SDRV_PMU_VD_SF_INT_POWER_DOWN_REQ
Definition: sdrv_pmu.h:259
@ SDRV_PMU_AP_PT_SENSOR_INT_POWER_DOWN_REQ
Definition: sdrv_pmu.h:262
@ SDRV_PMU_VD_AP_INT_POWER_DOWN_REQ
Definition: sdrv_pmu.h:260
@ SDRV_PMU_EFUSE_VIO_POWER_DOWN_REQ
Definition: sdrv_pmu.h:263
@ SDRV_PMU_RESERVED_POWER_DOWN_REQ
Definition: sdrv_pmu.h:257
@ SDRV_PMU_SF_PT_SENSOR_INT_POWER_DOWN_REQ
Definition: sdrv_pmu.h:261
@ SDRV_PMU_FS32K_LVPG_POWER_DOWN_REQ
Definition: sdrv_pmu.h:258
@ SDRV_PMU_SEM_INT_POWER_DOWN_REQ
Definition: sdrv_pmu.h:256
status_t sdrv_pmu_pwron_watchdog_enable(sdrv_pmu_pwr_on_e pwron, sdrv_pmu_pwron_wdt_enable_t *enable_config)
Enable power good watchdog counter for specific pwron.
status_t sdrv_pmu_wakeup_pin_init(sdrv_pmu_wakeup_pin_e wakeup_pin, sdrv_pmu_wakeup_pin_config_t *pin_config)
Config specific wakeup pin.
status_t sdrv_pmu_bgr_sf_enable(bool enable)
Enable or disable analog IP power.
status_t sdrv_pmu_saf_domain_power_good_monitor(sdrv_pmu_pg_e cfg)
Config saf domain 3.3v and 0.8v power good monitor.
sdrv_pmu_pg
Definition for pmu power good config.
Definition: sdrv_pmu.h:237
@ SDRV_PMU_POWER_GOOD_DISABLE
Definition: sdrv_pmu.h:239
@ SDRV_PMU_POWER_GOOD_ENABLE
Definition: sdrv_pmu.h:238
status_t sdrv_pmu_hardware_power_down_request_enable(uint32_t enable_bitmap, bool enable)
Config hardware power down request enable.
status_t sdrv_pmu_clear_power_down_reason(void)
Clear system power down reason.
struct sdrv_pmu_pwron_config sdrv_pmu_pwron_config_t
Definition for pmu pwr on config.
sdrv_pmu_wakeup_pin
Definition for pmu wakeup pin.
Definition: sdrv_pmu.h:113
@ SDRV_PMU_WAKEUP_PIN_0
Definition: sdrv_pmu.h:114
@ SDRV_PMU_WAKEUP_PIN_1
Definition: sdrv_pmu.h:115
status_t sdrv_pmu_wakeup_pin_logic_set(sdrv_pmu_wakeup_pin_logic_e logic)
Config wakeup pin 0/1 generate wakeup event logic.
status_t sdrv_pmu_pwrctrl_delay_config(sdrv_pmu_delay_period_e period, sdrv_pmu_pwr_ctrl_e ctrl, uint8_t delay, uint8_t delay_adj)
Config pwrctrl delay setting in different period.
enum sdrv_pmu_pwr_ctrl_polarity sdrv_pmu_pwr_ctrl_polarity_e
Definition for PWRCTRL active level.
status_t sdrv_pmu_button_control_level_filter_para(sdrv_pmu_level_filter_t *filter_config)
Config level filter parameters for button control.
status_t sdrv_pmu_bgr_disp_enable(bool enable)
Enable or disable analog IP power.
status_t sdrv_pmu_clear_wakeup_source(void)
Clear system wakeup source.
enum sdrv_pmu_operate sdrv_pmu_operate_e
Definition for pmu pwr_ctrl and pwr_on operate by hardware or software override.
status_t sdrv_pmu_pwrctrl_min_delay_config(sdrv_pmu_pwrctrl_min_delay_config_t *config)
Config pwrctrl0-3 minimal delay enable config during pwrup/sleep/hibernate to run mode.
status_t sdrv_pmu_rtc_to_off_saf_domain_power_good(sdrv_pmu_pg_e cfg)
Config saf domain power good consider or ignore when switching from RTC state to OFF state.
status_t sdrv_pmu_por_sf_enable(bool enable)
Enable or disable analog IP power.
sdrv_pmu_wakeup_src
Definition for wakeup source.
Definition: sdrv_pmu.h:245
@ SDRV_PMU_WAKEUP_BY_RTC
Definition: sdrv_pmu.h:247
@ SDRV_PMU_WAKEUP_BY_PIN
Definition: sdrv_pmu.h:248
@ SDRV_PMU_WAKEUP_BY_BC
Definition: sdrv_pmu.h:246
@ SDRV_PMU_WAKEUP_BY_HW_RESET
Definition: sdrv_pmu.h:249
struct sdrv_pmu_pwrctrl_config sdrv_pmu_pwrctrl_config_t
Definition for pmu pwr ctrl config.
sdrv_pmu_mode
Definition for PMU work mode.
Definition: sdrv_pmu.h:150
@ SDRV_PMU_RTC
Definition: sdrv_pmu.h:154
@ SDRV_PMU_RUN
Definition: sdrv_pmu.h:151
@ SDRV_PMU_SLEEP
Definition: sdrv_pmu.h:152
@ SDRV_PMU_HIBERNATE
Definition: sdrv_pmu.h:153
status_t sdrv_pmu_pwrctrl_polarity_config(sdrv_pmu_pwr_ctrl_e ctrl, sdrv_pmu_pwr_ctrl_polarity_e pol)
Config pwrctrl0-3 active level.
struct sdrv_pmu_edge_filter sdrv_pmu_edge_filter_t
Definition for PMU Wakeup pin and BC edge filter config. filter time = 32K cycle * (2 ^ sample interv...
status_t sdrv_pmu_button_control_config(sdrv_pmu_buttonctrl_config_t *config)
Initialize button control parameter config.
status_t sdrv_pmu_rtc_to_off_ap_domain_power_good(sdrv_pmu_pg_e cfg)
Config ap domain power good consider or ignore when switching from RTC state to OFF state.
enum sdrv_pmu_delay_period sdrv_pmu_delay_period_e
Definition for config pwrctrl and pwron delay setting in different period.
enum sdrv_pmu_edge_filter_enum sdrv_pmu_edge_filter_e
Definition for pmu select which edge needs to apply the filter.
uint32_t sdrv_pmu_get_wakeup_source(void)
Get system wakeup source.
status_t sdrv_pmu_button_control_edge_filter_config(sdrv_pmu_edge_filter_t *filter_config)
Config edge filter for button control.
enum sdrv_pmu_wakeup_pin sdrv_pmu_wakeup_pin_e
Definition for pmu wakeup pin.
status_t sdrv_pmu_bgr_ap_enable(bool enable)
Enable or disable analog IP power.
status_t sdrv_pmu_pwron_delay_config(sdrv_pmu_delay_period_e period, sdrv_pmu_pwr_on_e ctrl, uint8_t delay, uint8_t delay_adj)
Config pwron delay setting in different period.
status_t sdrv_pmu_interrupt_enable(uint32_t bitmap, bool enable)
Enable PMU internal interrupt.
struct sdrv_pmu_pwron_wdt_enable sdrv_pmu_pwron_wdt_enable_t
Definition for WDT counter and enable config.
status_t sdrv_pmu_bgr_ldo_auto_disable(bool enable)
Config bgr_ldo auto-disable.
status_t sdrv_pmu_pwron_software_override_enable(sdrv_pmu_pwr_on_e ctrl, bool enable)
Enable software override pwron.
enum sdrv_pmu_int_type sdrv_pmu_int_type_e
Definition for PMU interrupt type.
enum sdrv_pmu_wakeup_glitch sdrv_pmu_wakeup_glitch_e
Definition for wakeup pin glitch, glitch is enable if wakeup edge < 32K cycle.
enum sdrv_pmu_power_down_reason sdrv_pmu_power_down_reason_e
Definition for power down reason.
enum sdrv_pmu_wakeup_in_rtc sdrv_pmu_wakeup_in_rtc_e
Definition for pmu action when receive wakeup during rtc state.
status_t sdrv_pmu_wakeup_disable(uint32_t disable_bitmap)
Disable wakeup source when in RTC mode.
sdrv_pmu_ctrl
Definition for pmu pwr_ctrl and pwr_on enable or disable.
Definition: sdrv_pmu.h:181
@ SDRV_PMU_CTRL_ON
Definition: sdrv_pmu.h:183
@ SDRV_PMU_CTRL_OFF
Definition: sdrv_pmu.h:182
status_t sdrv_pmu_wakeup_pin_filter_config(sdrv_pmu_wakeup_pin_e wakeup_pin, sdrv_pmu_edge_filter_t *filter_config)
Config edge filter for wakeup pin.
sdrv_pmu_target
Definition for pmu pwr_on control target. It use for hardware power on sequence.
Definition: sdrv_pmu.h:228
@ SDRV_PMU_OTHER
Definition: sdrv_pmu.h:231
@ SDRV_PMU_SAF
Definition: sdrv_pmu.h:229
@ SDRV_PMU_AP
Definition: sdrv_pmu.h:230
status_t sdrv_pmu_bgr_sf_auto_disable(bool enable)
Config bgr_sf auto-disable.
struct sdrv_pmu_buttonctrl_config sdrv_pmu_buttonctrl_config_t
Definition for button control config parameters.
enum sdrv_pmu_ctrl sdrv_pmu_ctrl_e
Definition for pmu pwr_ctrl and pwr_on enable or disable.
sdrv_pmu_wakeup_glitch
Definition for wakeup pin glitch, glitch is enable if wakeup edge < 32K cycle.
Definition: sdrv_pmu.h:121
@ SDRV_PMU_GLITCH_FALLING
Definition: sdrv_pmu.h:124
@ SDRV_PMU_GLITCH_RISING
Definition: sdrv_pmu.h:123
@ SDRV_PMU_GLITCH_NONE
Definition: sdrv_pmu.h:122
@ SDRV_PMU_GLITCH_BOTH
Definition: sdrv_pmu.h:125
status_t sdrv_pmu_button_control_enable(bool enable)
Enable or Disable button control function.
status_t sdrv_pmu_button_control_init(sdrv_pmu_bc_config_t *bc_config)
Config button control register.
sdrv_pmu_wakeup_pin_logic
Definition for pmu wakeup pin logic.
Definition: sdrv_pmu.h:131
@ SDRV_PMU_WAKEUP_PIN_OR
Definition: sdrv_pmu.h:132
@ SDRV_PMU_WAKEUP_PIN_AND
Definition: sdrv_pmu.h:133
status_t sdrv_pmu_pwrctrl_software_override_enable(sdrv_pmu_pwr_ctrl_e ctrl, bool enable)
Enable software override pwrctrl.
uint32_t sdrv_pmu_get_interrupt_status(void)
Get PMU internal interrupt status.
status_t sdrv_pmu_clear_interrupt_status(uint32_t bitmap)
Clear PMU internal interrupt status.
enum sdrv_pmu_pwr_on sdrv_pmu_pwr_on_e
Definition for pmu pwr_on, now pwr_on_0 use for internal DCDC, pwr_on_2 use for internal LDO.
enum sdrv_pmu_hw_power_down_req sdrv_pmu_hw_power_down_req_e
Definition for hardware power down request.
status_t sdrv_pmu_pwron_target_config(sdrv_pmu_pwr_on_e ctrl, sdrv_pmu_target_e target)
Config internal DCDC/LDO power supply.
status_t sdrv_pmu_target_power_on_config(sdrv_pmu_target_e target, sdrv_pmu_mode_e mode, bool powered)
Config SAF/AP domain whether powered under different mode.
sdrv_pmu_state
Definition for config minimal delay for state transition.
Definition: sdrv_pmu.h:171
@ SDRV_PMU_STATE_HIBERNATE_RUN
Definition: sdrv_pmu.h:175
@ SDRV_PMU_STATE_PWRUP_RUN
Definition: sdrv_pmu.h:173
@ SDRV_PMU_STATE_PWR_ON
Definition: sdrv_pmu.h:172
@ SDRV_PMU_STATE_SLEEP_RUN
Definition: sdrv_pmu.h:174
enum sdrv_pmu_target sdrv_pmu_target_e
Definition for pmu pwr_on control target. It use for hardware power on sequence.
sdrv_pmu_polarity
Definition for pmu wakeup pin and button control active level or pulse.
Definition: sdrv_pmu.h:94
@ SDRV_PMU_HIGH_LEVEL
Definition: sdrv_pmu.h:95
@ SDRV_PMU_RISING_EDGE
Definition: sdrv_pmu.h:97
@ SDRV_PMU_LOW_LEVEL
Definition: sdrv_pmu.h:96
@ SDRV_PMU_FALLING_EDGE
Definition: sdrv_pmu.h:98
status_t sdrv_pmu_bgr_ldo_enable(bool enable)
Enable or disable analog IP power.
status_t sdrv_pmu_minimal_delay_for_state_transition(sdrv_pmu_state_e state, uint8_t delay, uint8_t delay_adj)
Config minimal delay for pmu state transition.
srcs_bit
Description for SRCS_BITS each bit.
Definition: sdrv_pmu.h:33
@ SRCS_ANA_SF_ANALOG_IP_CVEN33_FORCE_OFF
Definition: sdrv_pmu.h:43
@ SRCS_LDO_ISO_EN_B
Definition: sdrv_pmu.h:45
@ SRCS_RSTGEN_SF_I_IST_EN_RTC_OVVAL
Definition: sdrv_pmu.h:35
@ SRCS_BGR_DISP_PU33_B
Definition: sdrv_pmu.h:58
@ SRCS_BGR_LDO_PU33_B
Definition: sdrv_pmu.h:54
@ SRCS_BGR_SF_PU33_B
Definition: sdrv_pmu.h:53
@ SRCS_ISTC_POWER_CFG_POST_EN_OVRD
Definition: sdrv_pmu.h:41
@ SRCS_RC24M_PU33_B
Definition: sdrv_pmu.h:50
@ SRCS_WAKEUP0_RISE_EDGE_TO_PULSE_EN
Definition: sdrv_pmu.h:59
@ SRCS_ISTC_RTC_SS_POST_EN_OVRD
Definition: sdrv_pmu.h:37
@ SRCS_BGR_LDO_AUTO_DISABLE_BY_PMU_EN
Definition: sdrv_pmu.h:46
@ SRCS_BGR_ANA_PU33_B
Definition: sdrv_pmu.h:52
@ SRCS_ISTC_POWER_CFG_POST_EN_OVVAL
Definition: sdrv_pmu.h:40
@ SRCS_PT_SNS_SF_PT_SNS_AP_CVEN33_FORCE_OFF
Definition: sdrv_pmu.h:42
@ SRCS_VD_SF_PU33_B
Definition: sdrv_pmu.h:51
@ SRCS_DCDC_ISO_EN_B
Definition: sdrv_pmu.h:44
@ SRCS_ISTC_PLL_CFG_POST_EN_OVVAL
Definition: sdrv_pmu.h:38
@ SRCS_WAKEUP0_FALL_EDGE_TO_PULSE_EN
Definition: sdrv_pmu.h:48
@ SRCS_POR_SF_PU33_B
Definition: sdrv_pmu.h:49
@ SRCS_RSTGEN_SF_I_IST_EN_RTC_OVRD
Definition: sdrv_pmu.h:34
@ SRCS_ISTC_RTC_SS_POST_EN_OVVAL
Definition: sdrv_pmu.h:36
@ SRCS_POR_AP_PU33_B
Definition: sdrv_pmu.h:55
@ SRCS_BGR_SF_AUTO_DISABLE_BY_SMC_EN
Definition: sdrv_pmu.h:47
@ SRCS_ISTC_PLL_CFG_POST_EN_OVRD
Definition: sdrv_pmu.h:39
@ SRCS_BGR_AP_PU33_B
Definition: sdrv_pmu.h:57
@ SRCS_VD_AP_PU33_B
Definition: sdrv_pmu.h:56
status_t sdrv_pmu_wakeup_enable(uint32_t enable_bitmap)
Enable wakeup source when in RTC mode.
status_t sdrv_pmu_pwron_watchdog_config(sdrv_pmu_pwron_wdt_config_t *wdt_config)
Config power good watchdog parameters for pwron.
enum sdrv_pmu_state sdrv_pmu_state_e
Definition for config minimal delay for state transition.
enum sdrv_pmu_pwr_ctrl sdrv_pmu_pwr_ctrl_e
Definition for pmu pwr_ctrl.
status_t sdrv_pmu_power_down(void)
Software trigger power down.
status_t sdrv_pmu_wakeup0_glitch_enable(uint32_t mask)
Enable glitch circle for wakeup pin 0.
status_t sdrv_pmu_pwrctrl_software_override_value(sdrv_pmu_pwr_ctrl_e ctrl, bool value)
Software override pwrctrl value.
status_t sdrv_pmu_pwron_config(sdrv_pmu_pwr_on_e ctrl, sdrv_pmu_mode_e mode, sdrv_pmu_pwron_config_t *config)
Config pwr on whether work for different mode.
status_t sdrv_pmu_pwron_target_config_with_mode(sdrv_pmu_pwr_on_e ctrl, sdrv_pmu_mode_e mode, sdrv_pmu_target_e target)
Config pwron power supply target under different mode.
sdrv_pmu_int_type
Definition for PMU interrupt type.
Definition: sdrv_pmu.h:287
@ SDRV_PMU_INT_PWRUP_TO_RUN_TIMEOUT
Definition: sdrv_pmu.h:290
@ SDRV_PMU_INT_POWER_DOWN_REQ
Definition: sdrv_pmu.h:296
@ SDRV_PMU_INT_SLEEP_TO_RUN_TIMEOUT
Definition: sdrv_pmu.h:291
@ SDRV_PMU_INT_HIBERNATE_TO_RUN_TIMEOUT
Definition: sdrv_pmu.h:292
@ SDRV_PMU_INT_SWM_WARN
Definition: sdrv_pmu.h:294
@ SDRV_PMU_INT_SWM_FATAL
Definition: sdrv_pmu.h:295
@ SDRV_PMU_INT_PWRON0_RDY_TIMEOUT
Definition: sdrv_pmu.h:288
@ SDRV_PMU_INT_LOCKSTEP_ERR
Definition: sdrv_pmu.h:293
@ SDRV_PMU_INT_PWRON2_RDY_TIMEOUT
Definition: sdrv_pmu.h:289
enum sdrv_pmu_mode sdrv_pmu_mode_e
Definition for PMU work mode.
status_t sdrv_pmu_wakeup0_glitch_disable(uint32_t mask)
Disable glitch circle for wakeup pin 0.
status_t sdrv_pmu_bgr_ana_sf1_sf2_enable(bool enable)
Enable or disable analog IP power.
status_t sdrv_pmu_pwron_software_override_value(sdrv_pmu_pwr_on_e ctrl, bool value)
Software override pwron value.
status_t sdrv_pmu_srcs_clear(uint32_t bitmap)
Clear corresponding bit to 0 for 32bit state retention bits register.
sdrv_pmu_operate
Definition for pmu pwr_ctrl and pwr_on operate by hardware or software override.
Definition: sdrv_pmu.h:190
@ SDRV_PMU_AUTO
Definition: sdrv_pmu.h:192
@ SDRV_PMU_MANUAL
Definition: sdrv_pmu.h:191
struct sdrv_pmu_pwron_wdt_config sdrv_pmu_pwron_wdt_config_t
Definition for power good watchdog on pwron.
struct sdrv_pmu_wakeup_pin_config sdrv_pmu_wakeup_pin_config_t
Definition for wakeup pin active level or pulse to wakeup.
status_t sdrv_pmu_pwrctrl_config(sdrv_pmu_pwr_ctrl_e ctrl, sdrv_pmu_mode_e mode, sdrv_pmu_pwrctrl_config_t *config)
Config pwr ctrl output level for different mode.
status_t sdrv_pmu_por_ap_enable(bool enable)
Enable or disable analog IP power.
status_t sdrv_pmu_button_control_fsm_enable(bool enable)
Enable status monitor for button control.
sdrv_pmu_pwr_ctrl
Definition for pmu pwr_ctrl.
Definition: sdrv_pmu.h:206
@ SDRV_PMU_PWR_CTRL_3
Definition: sdrv_pmu.h:210
@ SDRV_PMU_PWR_CTRL_0
Definition: sdrv_pmu.h:207
@ SDRV_PMU_PWR_CTRL_1
Definition: sdrv_pmu.h:208
@ SDRV_PMU_PWR_CTRL_2
Definition: sdrv_pmu.h:209
struct sdrv_pmu_wakeuppins_config sdrv_pmu_wakeuppins_config_t
Definition for wakeup pins config parameters.
status_t sdrv_pmu_srcs_set(uint32_t bitmap)
Set corresponding bit to 1 for 32bit state retention bits register.
sdrv_pmu_pwr_ctrl_polarity
Definition for PWRCTRL active level.
Definition: sdrv_pmu.h:198
@ SDRV_PMU_PWR_CTRL_HIGH_ACTIVE
Definition: sdrv_pmu.h:199
@ SDRV_PMU_PWR_CTRL_LOW_ACTIVE
Definition: sdrv_pmu.h:200
sdrv_pmu_pwr_on
Definition for pmu pwr_on, now pwr_on_0 use for internal DCDC, pwr_on_2 use for internal LDO.
Definition: sdrv_pmu.h:217
@ SDRV_PMU_PWR_ON_0
Definition: sdrv_pmu.h:218
@ SDRV_PMU_PWR_ON_2
Definition: sdrv_pmu.h:220
@ SDRV_PMU_PWR_ON_1
Definition: sdrv_pmu.h:219
@ SDRV_PMU_PWR_ON_3
Definition: sdrv_pmu.h:221
Definition for button config active level or pulse to enter/exit rtc mode.
Definition: sdrv_pmu.h:333
sdrv_pmu_polarity_e bc_off_pol
Definition: sdrv_pmu.h:334
sdrv_pmu_polarity_e bc_on_pol
Definition: sdrv_pmu.h:335
Definition for button control config parameters.
Definition: sdrv_pmu.h:365
bool fsm_enable
Definition: sdrv_pmu.h:370
sdrv_pmu_level_filter_enable_t level_filter_en
Definition: sdrv_pmu.h:368
sdrv_pmu_level_filter_t level_filter_para
Definition: sdrv_pmu.h:369
sdrv_pmu_edge_filter_t edge_filter
Definition: sdrv_pmu.h:367
sdrv_pmu_bc_config_t polarity
Definition: sdrv_pmu.h:366
Definition for PMU Wakeup pin and BC edge filter config. filter time = 32K cycle * (2 ^ sample interv...
Definition: sdrv_pmu.h:303
uint8_t filter_sample_interval
Definition: sdrv_pmu.h:305
uint8_t filter_count
Definition: sdrv_pmu.h:306
sdrv_pmu_edge_filter_e filter_type
Definition: sdrv_pmu.h:307
bool enable_filter
Definition: sdrv_pmu.h:304
Definition for PMU BC level filter enable config.
Definition: sdrv_pmu.h:323
bool max_window_for_on_en
Definition: sdrv_pmu.h:326
bool max_window_for_off_en
Definition: sdrv_pmu.h:327
uint8_t bc_cnt_unit
Definition: sdrv_pmu.h:324
Definition for PMU BC level filter config.
Definition: sdrv_pmu.h:313
uint8_t min_window_for_off
Definition: sdrv_pmu.h:316
uint8_t max_window_for_off
Definition: sdrv_pmu.h:317
uint8_t max_window_for_on
Definition: sdrv_pmu.h:315
uint8_t min_window_for_on
Definition: sdrv_pmu.h:314
Definition for pmu pwr ctrl config.
Definition: sdrv_pmu.h:393
sdrv_pmu_ctrl_e ctrl_status
Definition: sdrv_pmu.h:394
sdrv_pmu_operate_e ctrl_operate
Definition: sdrv_pmu.h:395
Definition for setting for pwrctrl0-3 minimal delay enable config.
Definition: sdrv_pmu.h:401
bool hibernate_run_min_delay_en
Definition: sdrv_pmu.h:404
bool pwrup_run_min_delay_en
Definition: sdrv_pmu.h:402
bool sleep_run_min_delay_en
Definition: sdrv_pmu.h:403
Definition for pmu pwr on config.
Definition: sdrv_pmu.h:410
sdrv_pmu_ctrl_e ctrl_status
Definition: sdrv_pmu.h:411
sdrv_pmu_operate_e ctrl_operate
Definition: sdrv_pmu.h:412
Definition for power good watchdog on pwron.
Definition: sdrv_pmu.h:376
uint8_t por_tw
Definition: sdrv_pmu.h:377
uint8_t wdt_div
Definition: sdrv_pmu.h:379
uint8_t por_tw_adj
Definition: sdrv_pmu.h:378
Definition for WDT counter and enable config.
Definition: sdrv_pmu.h:385
bool pwron_wdt_en
Definition: sdrv_pmu.h:386
uint8_t wdt_counter
Definition: sdrv_pmu.h:387
Definition for wakeup pin active level or pulse to wakeup.
Definition: sdrv_pmu.h:341
sdrv_pmu_polarity_e pin_pol
Definition: sdrv_pmu.h:342
Definition for wakeup pins config parameters.
Definition: sdrv_pmu.h:348
bool wakepin0_en
Definition: sdrv_pmu.h:352
sdrv_pmu_polarity_e wakepin0_pol
Definition: sdrv_pmu.h:354
sdrv_pmu_polarity_e wakepin1_pol
Definition: sdrv_pmu.h:358
bool wakepin1_en
Definition: sdrv_pmu.h:357
sdrv_pmu_edge_filter_t wakepin1_filter
Definition: sdrv_pmu.h:359
sdrv_pmu_wakeup_in_rtc_e latch
Definition: sdrv_pmu.h:350
sdrv_pmu_wakeup_glitch_e wakepin0_glitch
Definition: sdrv_pmu.h:353
sdrv_pmu_wakeup_pin_logic_e logic
Definition: sdrv_pmu.h:349
sdrv_pmu_edge_filter_t wakepin0_filter
Definition: sdrv_pmu.h:355