Qualcomm SPMI Regulators

- compatible:
	Usage: required
	Value type: <string>
	Definition: must be one of:
			"qcom,pm8841-regulators"
			"qcom,pm8916-regulators"
			"qcom,pm8941-regulators"
			"qcom,pm8994-regulators"

- interrupts:
	Usage: optional
	Value type: <prop-encoded-array>
	Definition: List of OCP interrupts.

- interrupt-names:
	Usage: required if 'interrupts' property present
	Value type: <string-array>
	Definition: List of strings defining the names of the
		    interrupts in the 'interrupts' property 1-to-1.
		    Supported values are "ocp-<regulator_name>", where
		    <regulator_name> corresponds to a voltage switch
		    type regulator.

- vdd_s1-supply:
- vdd_s2-supply:
- vdd_s3-supply:
- vdd_s4-supply:
- vdd_s5-supply:
- vdd_s6-supply:
- vdd_s7-supply:
- vdd_s8-supply:
	Usage: optional (pm8841 only)
	Value type: <phandle>
	Definition: Reference to regulator supplying the input pin, as
		    described in the data sheet.

- vdd_s1-supply:
- vdd_s2-supply:
- vdd_s3-supply:
- vdd_s4-supply:
- vdd_l1_l3-supply:
- vdd_l2-supply:
- vdd_l4_l5_l6-supply:
- vdd_l7-supply:
- vdd_l8_l11_l14_l15_l16-supply:
- vdd_l9_l10_l12_l13_l17_l18-supply:
	Usage: optional (pm8916 only)
	Value type: <phandle>
	Definition: Reference to regulator supplying the input pin, as
		    described in the data sheet.

- vdd_s1-supply:
- vdd_s2-supply:
- vdd_s3-supply:
- vdd_l1_l3-supply:
- vdd_l2_lvs_1_2_3-supply:
- vdd_l4_l11-supply:
- vdd_l5_l7-supply:
- vdd_l6_l12_l14_l15-supply:
- vdd_l8_l16_l18_19-supply:
- vdd_l9_l10_l17_l22-supply:
- vdd_l13_l20_l23_l24-supply:
- vdd_l21-supply:
- vin_5vs-supply:
	Usage: optional (pm8941 only)
	Value type: <phandle>
	Definition: Reference to regulator supplying the input pin, as
		    described in the data sheet.

- vdd_s1-supply:
- vdd_s2-supply:
- vdd_s3-supply:
- vdd_s4-supply:
- vdd_s5-supply:
- vdd_s6-supply:
- vdd_s7-supply:
- vdd_s8-supply:
- vdd_s9-supply:
- vdd_s10-supply:
- vdd_s11-supply:
- vdd_s12-supply:
- vdd_l1-supply:
- vdd_l2_l26_l28-supply:
- vdd_l3_l11-supply:
- vdd_l4_l27_l31-supply:
- vdd_l5_l7-supply:
- vdd_l6_l12_l32-supply:
- vdd_l8_l16_l30-supply:
- vdd_l9_l10_l18_l22-supply:
- vdd_l13_l19_l23_l24-supply:
- vdd_l14_l15-supply:
- vdd_l17_l29-supply:
- vdd_l20_l21-supply:
- vdd_l25-supply:
- vdd_lvs_1_2-supply:
	Usage: optional (pm8994 only)
	Value type: <phandle>
	Definition: Reference to regulator supplying the input pin, as
		    described in the data sheet.


The regulator node houses sub-nodes for each regulator within the device. Each
sub-node is identified using the node's name, with valid values listed for each
of the PMICs below.

pm8841:
	s1, s2, s3, s4, s5, s6, s7, s8

pm8916:
	s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13,
	l14, l15, l16, l17, l18

pm8941:
	s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13,
	l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, lvs1, lvs2, lvs3,
	5vs1, 5vs2

pm8994:
	s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, l1, l2, l3, l4, l5,
	l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18, l19, l20,
	l21, l22, l23, l24, l25, l26, l27, l28, l29, l30, l31, l32, lvs1, lvs2

The content of each sub-node is defined by the standard binding for regulators -
see regulator.txt - with additional custom properties described below:

- regulator-initial-mode:
	Usage: optional
	Value type: <u32>
	Description: 2 = Set initial mode to auto mode (automatically select
		    between HPM and LPM); not available on boost type
		    regulators.

		    1 = Set initial mode to high power mode (HPM), also referred
		    to as NPM. HPM consumes more ground current than LPM, but
		    it can source significantly higher load current. HPM is not
		    available on boost type regulators. For voltage switch type
		    regulators, HPM implies that over current protection and
		    soft start are active all the time.

		    0 = Set initial mode to low power mode (LPM).

- qcom,ocp-max-retries:
	Usage: optional
	Value type: <u32>
	Description: Maximum number of times to try toggling a voltage switch
		     off and back on as a result of consecutive over current
		     events.

- qcom,ocp-retry-delay:
	Usage: optional
	Value type: <u32>
	Description: Time to delay in milliseconds between each voltage switch
		     toggle after an over current event takes place.

- qcom,pin-ctrl-enable:
	Usage: optional
	Value type: <u32>
	Description: Bit mask specifying which hardware pins should be used to
		     enable the regulator, if any; supported bits are:
			0 = ignore all hardware enable signals
			BIT(0) = follow HW0_EN signal
			BIT(1) = follow HW1_EN signal
			BIT(2) = follow HW2_EN signal
			BIT(3) = follow HW3_EN signal

- qcom,pin-ctrl-hpm:
	Usage: optional
	Value type: <u32>
	Description: Bit mask specifying which hardware pins should be used to
		     force the regulator into high power mode, if any;
		     supported bits are:
			0 = ignore all hardware enable signals
			BIT(0) = follow HW0_EN signal
			BIT(1) = follow HW1_EN signal
			BIT(2) = follow HW2_EN signal
			BIT(3) = follow HW3_EN signal
			BIT(4) = follow PMIC awake state

- qcom,vs-soft-start-strength:
	Usage: optional
	Value type: <u32>
	Description: This property sets the soft start strength for voltage
		     switch type regulators; supported values are:
			0 = 0.05 uA
			1 = 0.25 uA
			2 = 0.55 uA
			3 = 0.75 uA

Example:

	regulators {
		compatible = "qcom,pm8941-regulators";
		vdd_l1_l3-supply = <&s1>;

		s1: s1 {
			regulator-min-microvolt = <1300000>;
			regulator-max-microvolt = <1400000>;
		};

		...

		l1: l1 {
			regulator-min-microvolt = <1225000>;
			regulator-max-microvolt = <1300000>;
		};

		....
	};
