OSD32MP1 Power System Overview

Published On: September, 9, 2020 By: Neeraj Dantu

The OSD32MP15x, the STM32MP15x System in Package (SiP), contains the STPMIC1A Power Management Integrated Circuit (PMIC) for power management. The PMIC is responsible for powering the STM32MP15x processor, Oscillator, EEPROM, and DDR. It provides configurable power-up and power-down sequencing required by the processor through programmable non-volatile memory (NVM). The PMIC contains six (6) adjustable LDOs, four (4) adjustable Buck convertors and one (1) Boost converter. The OSD32MP15x integrates the PMIC as well as the interface between the STM32MP15x and STPMIC1A for configuration.

This application note describes the hardware configuration of the OSD32MP15x and how the STPMIC1A and STM32MP15x are connected within the OSD32MP15x. It also describes the features and functions of the STPMIC1A inside of the SiP.  It is designed to be an introduction to the power system of the OSD32Mp1 that can be used to optimize power consumption leveraging different low power modes and when creating a power budget.

OSD32MP15x PMIC Hardware

The OSD32MP15x has two required power inputs: VIN, the main power input, and VBAT, the backup battery power input. There are additional optional power inputs for system power outputs. The figure below shows the power inputs and output of the OSD32MP15x.

Power Inputs and Output of OSD32MP15x
Power Inputs and Output of OSD32MP15x

 

The OSD32MP15x integrates the connections between STM32MP15x and STPMIC1A to minimize the external connections required in the design. The figure below shows the OSD32MP15x pins for the power subsystem. Specifically, it shows pins that require external configuration, pins that can be optionally configured, and pins that have been internally connected and brought out as test points. Note that all the VDD pins of OSD32MP15x need to be tied together for the device to function properly. The Power Configuration Pins table describes the intended function of each of these pins and their role in OSD32MP15x.

OSD32MP15x Power Configuration Pins
OSD32MP15x Power Configuration Pins
OSD32MP15x Power Configuration Pins
PINSTM32MP15x FUNCTIONOSD32MP15x FUNCTION
PMIC_PONKEYNActive Low user Power ON KeyInternally pulled up
NRSTBidirectional pad reset allowing reset of external devices or reset of the deviceSame as STM32MP15x. Connected to STPMIC1A RSTN
HSE_OSC_OENActive Low HSE oscillator enable (24MHz)Pull to GND to enable internal oscillator
BYPASS_REG1V8Enable/Disable internal 1.8V regulatorExternal pull-down to GND required
PA0/PMIC_INTNPA0 configured as WKUP1 – Used to wake-up from low power modesTest point. Connected to STPMIC1A INTN
PC13/

PMIC_WAKEUP

PC13 configured as RTCOUT1 – wake-up during VBAT modeTest point. Connected to STPMIC1A WAKEUP
NRST_COREVDD_CORE reset input (to be used when VDD_CORE Power on Reset is disabled)Test point. Has a 10nF capacitor
PWR_ON/

PMIC_PWRCTRL

PWR_ON – Low power control signalTest point. Connected to STPMIC1A PWRCTRL
PWR_LPVDD_CORE low power controlTest point. Unused
PDR_ON_COREVDD_CORE power on reset enableTest point. Pulled up to VDD
I2C4_SCL/

PMIC_SCL

PMIC I2C control interface clockCan be used to connect to other I2C devices.

Test point if not used externally.

I2C4_SDA/

PMIC_SDA

PMIC I2C control interface data

The figure below shows the internal power system of the OSD32MP15x with all the power connections between the PMIC and the power domains of the processor. This internal configuration makes it possible for OSD32MP15x to have a simple external power configuration circuit described in the Power Inputs and Outputs and the Pin Configuration figures.

Power Connections Inside the OSD32MP15x
Power Connections Inside the OSD32MP15x

 

As can be seen from the above figures, the OSD32MP15x provides several output power rails. Some of them power the internal subsystems of the SiP and are purely test points on the boundary of the SiP and some of them are available for devices on board external to the SiP. The table below shows the voltage output levels of each of the voltage sources. All VOUTx and LDOx output voltages can be changed dynamically using I2C commands when the PMIC is in active mode. If you wish to change these voltages, you must reprogram the BUCKS_VOUT_SHR (VOUTx) and LDOS_VOUT_SHRx (LDOx) registers in the PMIC non-volatile memory (NVM). The process is detailed in the PMIC Reprogramming Application Note and ST’s PMIC programming guide.

OSD32MP15x Power Output Configuration
STPMIC1OSD32MP15x Voltage railDefault output voltage(V)OSD32MP15x output Voltage (V)Ranks
VOUT1VDDCORE1.21.22
VOUT2VDD_DDR1.11.350
VOUT3VDD3.31.8/3.31
VOUT4PMIC_VOUT43.30.6 – 3.9 or VIN2
LDO1OUTPMIC_LDO11.81.7 – 3.3 or PMIC_VOUT40
LDO2OUTPMIC_LDO21.81.7 – 3.30
LDO3OUTVTT_DDR1.80.6750
LDO4OUTVDD3V3_USBHS3.33.33
LDO5OUTVDDA2.91.7 – 3.92
LDO6OUTPMIC_LDO61.0s0.9 – 3.3 or PMIC_VOUT40
BSTOUTPMIC_BSTOUT5.25.2N/A
VBUSOTGPMIC_VBUSOTG5.25.2N/A
SWOUTPMIC_SWOUTSWINPMIC_SWINN/A
VREFDDRVREFDQ0.550.6750
NOTE: See the LDO Drop Out Voltage table for maximum dropout voltages for each of the LDOs.

The following legend shows the configuration options of each of the output power rails according to the color coding of their row in the Power Output Configuration table:

Internal outputs. Fixed voltage. Must be enabled. Test point only.
Configurable voltage but limited to either 1.8V or 3.3V. Can be used for external configuration (pull-up/pull-down). Must be enabled.
User outputs. Configurable voltage.
User outputs. Fixed voltage.
Note that the VDD (VOUT3) output voltage rail can be set according to the IO voltage level for the application. All the output voltage rails can be configured in Linux Device Tree and the output voltage rails in gray need to have their device tree nodes populated to enable the power rail and set to the voltage in the Power Output Configuration table.

PMIC Features and Functions

Power up/Power Down Sequence

The default power-up/power down sequence of the PMIC is shown in the table below.

STPMIC1A Power Up / Power Down Sequence of OSD32MP15x
STPMIC1A Power Up / Power Down Sequence of OSD32MP15x

The order in which output power rails are activated is determined by Rank. Automatically, Rank1 powers up first, Rank2 powers up second, and Rank3 powers up last. However, Power rails with Rank0 do not power up automatically, and must be enabled after the device has booted using the PMIC I2C interface.

Turn-ON Conditions

The Turn-ON condition in the Power-up/Power-down Sequence figure refers to one of the following:

  1. PONKEYn pin detection (falling edge)
  2. VBUS detection (voltage on VBUSOTG or SWOUT above VBUSOTG_Rise or SWOUT_Rise, respectively. These conditions can be disabled.)
  3. WAKEUP pin detection (rising edge)

The Auto turn-ON feature of the STPMIC1A allows it to transition to the POWER_ON state if VIN rises above VINOK_Rise. See the VIN Threshold table and the STPMIC1A State Machine diagram for more information.

Turn-OFF Conditions

The Turn-OFF condition in the Power-up/Power-down Sequence figure refers to one of the following:

  1. Software switch OFF with SWOFF bit in MAIN_CR register of the PMIC
  2. PONKEYn long press
  3. Thermal shutdown
  4. Overcurrent protection
  5. Watchdog timer expiration
  6. VIN falls below VIN_OK_Fall (See the VIN Threshold table for more information)

The Turn-OFF feature of the STPMIC1A allows it to transition to the OFF state. See the STPMIC1A State Machine diagram for more information.

VIN Thresholds

To trigger certain PMIC events, like Turn-ON and Turn-OFF conditions, the voltage of the VIN power input must rise above or fall below certain voltage thresholds. The following figure shows the different threshold triggers of STPMIC1A:

VIN Thresholds of STPMIC1A
VIN Thresholds of STPMIC1A

 

The four thresholds that most affect customer applications are: VIN_POR_Rise, VIN_POR_Fall, VINOK_Rise and VINOK_Fall. The table below provides the definitions and specifications for these thresholds for the OSD32MP15x device which uses the STPMIC1A.

VIN threshold specifications for OSD32MP15x
NAMEDESCRIPTIONPMIC REGISTERTHRESH
VIN_POR_RiseVIN > VIN_POR_Rise means

PMIC is in a functional state

Not modifiable2.3V
VIN_POR_FallVIN < VIN_POR_Fall means

PMIC in NO_SUPPLY state

Not modifiable2.1V
VINOK_RiseVIN > VINOK_Rise means

PMIC in POWER_ON state

NVM_MAIN_CTRL_SHR

to change threshold

3.5V
VINOK_FallVIN < VINOK_Fall means

PMIC in POWER_OFF state

NVM_MAIN_CTRL_SHR

to change threshold

3.0V

For more details on the different power states, see the STPMIC1A State Machine diagram.

NOTE: To operate the OSD32MP15x on either a standard 1S LiPO battery or a 3.3V input power supply, the default value of VINOK_Rise may prevent power up from occurring since the input voltage may not rise above 3.5V. As described in the above table, the VINOK_Rise threshold can be modified to a lower threshold value by reprogramming the STPMIC1A Non-Volatile Memory (NVM). The procedure to do this is described in the PMIC Reprogramming Application Note.

Efficiencies of Power Rails

The table below shows the minimum efficiencies of the BUCK and BOOST converters of STPMC1A inside the OSD32MP15x. These efficiencies can be helpful in accurately determining the total power consumption of the board during power budgeting. Note that the efficiency listed is the minimum efficiency of the power rail. This efficiency is used to calculate a worst-case power scenario for all the converters.

OSD32MP15x BUCK / BOOST Efficiencies
STPMC1A VOLTAGE RAILOSD32MP15x VOLTAGE RAILMINIMUM EFFICIENCY (%)
VOUT1VDD_CORE70
VOUT2VDD_DDR84
VOUT3VDD88
VOUT4PMIC_VOUT479
BSTOUTPMIC_BSTOUT89

LDO Dropout Voltages

The table below shows the maximum dropout voltages for each of the four programmable LDOs of OSD32MP15x. These dropout voltages must be considered when setting the output voltages of these LDOs in the kernel device tree. For LDO2 and LDO5, the input voltage is provided externally through PMIC_LDO25IN. For LDO1 and LDO6, the input voltage is provided by PMIC_VOUT4. Therefore, the output voltage of each LDO must be less than the input voltage minus the dropout voltage. For example, if PMIC_VOUT4 is configured to be 3.3V, then the maximum voltage of LDO1 and LDO6 is 3.0V.

LDO Dropout Voltages
STPMC1A VOLTAGE RAILOSD32MP15x VOLTAGE RAILMAXIMUM DROPOUT VOLTAGE (mV)
LDO1OUTPMIC_LDO1300
LDO2OUTPMIC_LDO2300
LDO5OUTVDDA300
LDO6OUTPMIC_LDO6300

STPMIC1A State Machine

The PMIC has a fixed start up and power down sequence described by a state machine. The figure below shows the state machine diagram for STPMIC1A.

STPMIC1A State Machine Diagram
STPMIC1A State Machine Diagram

To better understand each state, a description is provided in the following table.

STPMIC1A State Descriptions
STATEDESCRIPTION
NO_SUPPLYSTPMIC1A is not functional
PRELOAD_NVMNon-Volatile memory (NVM) read operation is performed to check for AUTO_TURN_ON bit
OFFSTPMIC1A regulators are OFF
LOCK_OCPPower down mode after overcurrent has been detected on STPMIC1A power rails
CHECK&LOADThermal monitoring is started. STPMIC1A registers are loaded from internal Non-Volatile Memory (NVM). VIN monitoring is started. RSTn is asserted and all STPMIC1A regulators are OFF
POWER_UPSTPMIC1A started output regulators. RSTn is asserted
POWER_ONThere are two modes: MAIN_MODE and ALTERNATE_MODE depending on the PWRCTRL input (connected to PWR_ON output of STM32MP1). RSTn is released and monitored
POWER_DOWNAll STPMIC1A output power rails are turned OFF

Some important points to be aware of for the OSD32MP15x:

  1. By default, VINOK_Rise threshold is set to 3.5V. It can be changed by modifying the NVM of the PMIC. See the VIN Thresholds section for more information.
  2. By default, the AUTO_TURN_ON bit in the NVM of STPMIC1A is set to 1. So, the PMIC proceeds to the CHECK&LOAD state immediately after PRELOAD_NVM.
  3. Turn-ON conditions are listed in Turn-ON Conditions section.
  4. Turn-OFF conditions are listed in Turn-OFF Conditions sections.

For more information, see Section 5.2 of STPMIC1A Datasheet.

Conclusion

This document discussed the power management system of OSD32MP15x and its many features. If you have other questions, please visit our forums.

Revision History

Get notified of updates to this Application Note and all of our Technical Documentation.

"*" indicates required fields

Name*
Hidden
Hidden
Hidden

Revision NumberRevision DateChangesAuthor
109/02/2020Initial ReleaseJustin Berry, Neeraj Dantu