36#define PWR_CR1 MMIO32(POWER_CONTROL_BASE + 0x00)
39#define PWR_CSR1 MMIO32(POWER_CONTROL_BASE + 0x04)
42#define PWR_CR2 MMIO32(POWER_CONTROL_BASE + 0x08)
45#define PWR_CR3 MMIO32(POWER_CONTROL_BASE + 0x0C)
48#define PWR_CPUCR MMIO32(POWER_CONTROL_BASE + 0x10)
54#define PWR_D3CR MMIO32(POWER_CONTROL_BASE + 0x18)
55#define PWR_SRDCR MMIO32(POWER_CONTROL_BASE + 0x18)
58#define PWR_WKUPCR MMIO32(POWER_CONTROL_BASE + 0x20)
63#define PWR_CR1_SVOS_SHIFT 14
64#define PWR_CR1_SVOS_MASK (0x3)
65#define PWR_CR1_SVOS_SCALE_3 (0x3)
66#define PWR_CR1_SVOS_SCALE_4 (0x2)
67#define PWR_CR1_SVOS_SCALE_5 (0x1)
70#define PWR_CR1_SRDRAMSO BIT27
72#define PWR_CR1_HSITFSO BIT26
74#define PWR_CR1_GFXSO BIT25
76#define PWR_CR1_ITCMSO BIT24
78#define PWR_CR1_AHBRAM2SO BIT23
80#define PWR_CR1_AHBRAM1SO BIT22
82#define PWR_CR1_AXIRAM3SO BIT21
84#define PWR_CR1_AXIRAM2SO BIT20
86#define PWR_CR1_AXIRAM1SO BIT19
88#define PWR_CR1_ALS_SHIFT 17
89#define PWR_CR1_ALS_MASK 0x3
90#define PWR_CR1_ALS_1P7V 0x0
91#define PWR_CR1_ALS_2P1V 0x1
92#define PWR_CR1_ALS_2P5V 0x2
93#define PWR_CR1_ALS_2P8V 0x3
95#define PWR_CR1_AVDEN BIT16
102#define PWR_CR1_AVD_READY BIT13
109#define PWR_CR1_BOOSTE BIT12
111#define PWR_CR1_DBP BIT8
114#define PWR_CSR1_MMCVDO BIT17
115#define PWR_CSR1_AVDO BIT16
116#define PWR_CSR1_ACTVOS_SHIFT 14
117#define PWR_CSR1_ACTVOSRDY BIT13
118#define PWR_CSR1_PVDO BIT4
122#define PWR_CR2_TEMPH BIT23
124#define PWR_CR2_TEMPL BIT22
126#define PWR_CR2_BRRDY BIT16
128#define PWR_CR2_MONEN BIT4
130#define PWR_CR2_BREN BIT0
133#define PWR_CR3_USB33RDY BIT26
134#define PWR_CR3_USBREGEN BIT25
135#define PWR_CR3_USB33DEN BIT24
137#define PWR_CR3_SMPSEXTRDY BIT16
139#define PWR_CR3_VBRS BIT9
141#define PWR_CR3_VBE BIT8
149#define PWR_CR3_SMPSLEVEL_VOS 0x0
150#define PWR_CR3_SMPSLEVEL_1P8V 0x1
151#define PWR_CR3_SMPSLEVEL_2P5V 0x2
153#define PWR_CR3_SMPSLEVEL_SHIFT 4
154#define PWR_CR3_SMPSLEVEL_MASK 0x3
157#define PWR_CR3_SMPSEXTHP BIT3
158#define PWR_CR3_SCUEN BIT2
160#define PWR_CR3_SMPSEN BIT2
161#define PWR_CR3_LDOEN BIT1
162#define PWR_CR3_BYPASS BIT0
165#define PWR_D3CR_VOSRDY BIT13
166#define PWR_D3CR_VOS_SHIFT 14
167#define PWR_D3CR_VOS_MASK (0x03)
170#define PWR_D3CR_VOS_SCALE_0 (0x0)
171#define PWR_D3CR_VOS_SCALE_3 (0x1)
172#define PWR_D3CR_VOS_SCALE_2 (0x2)
173#define PWR_D3CR_VOS_SCALE_1 (0x3)
175#define PWR_SRDCR_VOSRDY BIT13
176#define PWR_SRDCR_VOS_SHIFT 14
177#define PWR_SRDCR_VOS_MASK (0x03)
178#define PWR_SRDCR_VOS_SCALE_3 (0x0)
179#define PWR_SRDCR_VOS_SCALE_2 (0x1)
180#define PWR_SRDCR_VOS_SCALE_1 (0x2)
181#define PWR_SRDCR_VOS_SCALE_0 (0x3)
#define PWR_CR1_SVOS_SHIFT
VOS[15:14]: Regulator voltage scaling output selection.
#define PWR_CR1_SVOS_SCALE_4
#define PWR_CR1_SVOS_SCALE_5
#define PWR_CR1_SVOS_SCALE_3
@ PWR_VOS_SCALE_UNDEFINED
@ PWR_SYS_SMPS_DIRECT
Disable LDO, apply SMPS direct to CPU using VOS.
@ PWR_SYS_EXT_SMPS_LDO
SMPS supplies external power, and CPU through LDO.
@ PWR_SYS_SMPS_LDO
SMPS supplies internal LDO.
@ PWR_SYS_SCU_LDO
STM32H742/43/50/53 has special SCUEN handling, use for LDO.
@ PWR_SYS_LDO
Devices with SMPS use this to run from LDO only.
@ PWR_SYS_EXT_SMPS_LDO_BYP
SMPS supplies external power, bypasses LDO (e.g.
@ PWR_SYS_BYPASS
Disable all internal power supplies.
@ PWR_SYS_SCU_BYPASS
STM32H742/43/50/53 has special SCUEN handling, use for bypass.
void pwr_set_svos_scale(enum pwr_svos_scale scale)
Set the voltage scaling/strength for the internal SMPS/LDO when in Stop mode.
void pwr_set_mode_ldo(void)
Set power subsystem to utilize the LDO for CPU.
void pwr_set_vos_scale(enum pwr_vos_scale scale)
Set the voltage scaling/strength for the internal SMPS/LDO while running.
void pwr_set_mode_bypass(void)
Set power subsystem to bypass all internal supplies.
void pwr_set_mode_scu_bypass(void)
Specific STM32H742/43/50/53 Bypsass mode setting.
void pwr_set_mode_smps_ldo(bool supply_external, uint32_t smps_level, bool use_ldo)
Set power subsystem to utilize the SMPS run through the LDO for CPU.
void pwr_set_mode_scu_ldo(void)
Specific STM32H742/43/50/53 LDO mode setting.
void pwr_set_mode(enum pwr_sys_mode mode, uint8_t smps_level)
Set power system based on "System Supply Configurations" table in reference manual.