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

Binding for Samsung S2MPA01 regulator block
===========================================

This is a part of device tree bindings for S2M family multi-function devices.
More information can be found in bindings/mfd/sec-core.txt file.

The S2MPA01 device provide buck and LDO regulators.

To register these with regulator framework instantiate under main device node
a sub-node named "regulators" with more sub-nodes for each regulator using the
common regulator binding documented in:
 - Documentation/devicetree/bindings/regulator/regulator.txt


Names of regulators supported by S2MPA01 device:
	- LDOn
		  - valid values for n are 1 to 26
		  - Example: LDO1, LD02, LDO26
	- BUCKn
		  - valid values for n are 1 to 10.
		  - Example: BUCK1, BUCK2, BUCK9
Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
as per the datasheet of device.


Optional properties of buck regulator nodes under "regulators" sub-node:
 - regulator-ramp-delay: ramp delay in uV/us. May be 6250, 12500
   (default), 25000, or 50000. May be 0 for disabling the ramp delay on
   BUCK{1,2,3,4}.

   In the absence of the regulator-ramp-delay property, the default ramp
   delay will be used.

   Note: Some bucks share the ramp rate setting i.e. same ramp value
   will be set for a particular group of bucks so provide the same
   regulator-ramp-delay value for them.
   Groups sharing ramp rate:
    - buck{1,6},
    - buck{2,4},
    - buck{8,9,10}.

Example:

	s2mpa01_pmic@66 {
		compatible = "samsung,s2mpa01-pmic";
		reg = <0x66>;

		regulators {
			ldo1_reg: LDO1 {
				regulator-name = "VDD_ALIVE";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1000000>;
			};

			ldo2_reg: LDO2 {
				regulator-name = "VDDQ_MMC2";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-always-on;
			};

			buck1_reg: BUCK1 {
				regulator-name = "vdd_mif";
				regulator-min-microvolt = <950000>;
				regulator-max-microvolt = <1350000>;
				regulator-always-on;
				regulator-boot-on;
			};

			buck2_reg: BUCK2 {
				regulator-name = "vdd_arm";
				regulator-min-microvolt = <950000>;
				regulator-max-microvolt = <1350000>;
				regulator-always-on;
				regulator-boot-on;
				regulator-ramp-delay = <50000>;
			};
		};
	};