Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

STMicroelectronics STPMIC1 Voltage regulators

Regulator Nodes are optional depending on needs.

Available Regulators in STPMIC1 device are:
  - buck1 for Buck BUCK1
  - buck2 for Buck BUCK2
  - buck3 for Buck BUCK3
  - buck4 for Buck BUCK4
  - ldo1 for LDO LDO1
  - ldo2 for LDO LDO2
  - ldo3 for LDO LDO3
  - ldo4 for LDO LDO4
  - ldo5 for LDO LDO5
  - ldo6 for LDO LDO6
  - vref_ddr for LDO Vref DDR
  - boost for Buck BOOST
  - pwr_sw1 for VBUS_OTG switch
  - pwr_sw2 for SW_OUT switch

Switches are fixed voltage regulators with only enable/disable capability.

Optional properties:
- st,mask-reset: mask reset for this regulator: the regulator configuration
  is maintained during pmic reset.
- regulator-over-current-protection:
    if set, all regulators are switched off in case of over-current detection
    on this regulator,
    if not set, the driver only sends an over-current event.
- interrupts: index of current limit detection interrupt
- <regulator>-supply: phandle to the parent supply/regulator node
	each regulator supply can be described except vref_ddr.
- regulator-active-discharge: can be used on pwr_sw1 and pwr_sw2.

Example:
regulators {
	compatible = "st,stpmic1-regulators";

	ldo6-supply = <&v3v3>;

	vdd_core: buck1 {
		regulator-name = "vdd_core";
		interrupts = <IT_CURLIM_BUCK1 0>;
		st,mask-reset;
		regulator-pull-down;
		regulator-min-microvolt = <700000>;
		regulator-max-microvolt = <1200000>;
	};

	v3v3: buck4 {
		regulator-name = "v3v3";
		interrupts = <IT_CURLIM_BUCK4 0>;

		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};

	v1v8: ldo6 {
		regulator-name = "v1v8";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		regulator-over-current-protection;
	};
};