The ConnectCore MP15 contains an STM STPMIC1A Power Management IC (PMIC). The PMIC is connected to the CPU via the I2C4 port (address 0x33).

The PMIC has the following features:

  • Four buck regulators

  • One boost regulator

  • Six low-dropout (LDO) regulators

  • DDR reference voltage

Kernel configuration

You can manage the driver support through the following kernel configuration option:

  • ST Microelectronics STPMIC1 PMIC driver (CONFIG_MFD_STPMIC1)

This option is enabled as built-in on the default ConnectCore MP15 kernel configuration file.

Kernel driver

The driver for STPMIC1 driver is located at:

File Description

drivers/mfd/stpmic1.c

STPMIC1 driver

Device tree bindings and customization

The STPMIC1 device tree binding is documented at Documentation/devicetree/bindings/mfd/st,stpmic1.yaml.

The PMIC and its regulators are defined on the ConnectCore MP15 device tree at arch/arm/boot/dts/STM32MP15-ccmp15.dtsi.

Some regulators are used internally inside the ConnectCore MP15 and some are used externally on the carrier board. The settings of the external regulators can be modified in the carrier board device tree if required by your platform.

ConnectCore MP15 internal regulators

The following regulators are used internally on the ConnectCore MP15 and their parameters should not be modified.
Device tree alias STPMIC1 regulator Description

vdd_core

buck1

Internal CPU power supply

vdd_ddr

buck2

Internal DDR power supply

vdd

buck3

SOM and DVK power supply

vdda

ldo1

Internal ADC reference voltage

vdd_usb

ldo4

VDD_3V3_USBHS voltage supply

vref_ddr

vref_ddr

DDR_REF voltage supply

ConnectCore MP15 external regulators

The following regulators are routed outside the ConnectCore MP15 and may be used in the carrier board:

Device tree alias STPMIC1 regulator Type Default voltage Usage on ConnectCore MP15 Development Kit

v3v3

buck4

Buck regulator

3.3 V

RS232, RS485, Ethernet PHY, USB hub, LVDS, parallel camera, Audio

ldo2

ldo2

LDO regulator

0 V

not used

vdd_sd

ldo5

LDO regulator

3.3 V

not used

ldo6

ldo6

LDO regulator

1.8 V

LVDS

vbus_otg

pwr_sw1

SW1 regulator

5 V

USB OTG

vbus_sw

pwr_sw2

SW2 regulator

5 V

not used

Digi recommends you use the device tree alias for modifying the ConnectCore MP15 external regulator parameters in the final platform DTS file.

Example of a regulator consumer in the device tree

Certain device drivers have a property in the form propname-supply to help users define them as consumers of a power regulator. You can use this property to provide the phandle of the regulator that powers the device. This mechanism reduces the overall power consumption of the system by allowing the driver to enable the regulator when the interface is being used and disable it (or set a lower voltage) when the system goes to suspend or the driver is unloaded.

For example, on the ConnectCore MP15 Development Kit, the Micro SD connector is powered by PMIC buck4. The sdmmc property vmmc-supply allows you to define a power supply that will be controlled by the MMC driver.

ConnectCore MP15 Development Kit device tree
&sdmmc2 {
	pinctrl-names = "default", "opendrain", "sleep";
	pinctrl-0 = <&sdmmc2_b4_pins_a>;
	pinctrl-1 = <&sdmmc2_b4_od_pins_a>;
	pinctrl-2 = <&sdmmc2_b4_sleep_pins_a>;
	broken-cd;
	disable-wp;
	st,neg-edge;
	bus-width = <4>;
	vmmc-supply = <&v3v3>;
	status = "okay";
};