Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 54116a00 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "regulator: spm_regulator: Add snapshot of spm_regulator driver"

parents 3baecc61 1b05b462
Loading
Loading
Loading
Loading
+61 −0
Original line number Diff line number Diff line
Qualcomm Technologies Inc. SPM Regulators

spm-regulator is a regulator device which supports PMIC processor supply
regulators via the SPM module.

Required properties:
- compatible:      Must be "qcom,spm-regulator"
- reg:             Specifies the SPMI address and size for this regulator device
- regulator-name:  A string used as a descriptive name for the regulator

Required structure:
- A qcom,spm-regulator node must be a child of an SPMI node that has specified
	the spmi-slave-container property

Optional properties:
- qcom,mode:       A string which specifies the mode to use for the regulator.
		    Supported values are "pwm" and "auto".  PWM mode is more
		    robust, but draws more current than auto mode.  If this
		    property is not specified, then the regulator will remain
		    in whatever mode hardware or bootloaders set it to.
- qcom,cpu-num:    Specifies which CPU this regulator powers.  This property is
		    not need when the SPM regulator is shared between all CPUs.
- qcom,bypass-spm: Boolean flag which indicates that voltage control should not
		    be managed by an SPM.  Instead, the voltage should be
		    controlled via SPMI.
- qcom,max-voltage-step:  Maximum single voltage step size in microvolts.
- qcom,recal-mask: Bit mask of the APSS clusters to recalibrate after each
		    voltage change.  Bit 0 corresponds to the first cluster,
		    bit 1 corresponds to the second cluster, and so on.

Optional structure:
- A child node may be specified within a qcom,spm-regulator node which defines
	an additional regulator which controls the AVS minimum and maximum
	voltage limits.
- The AVS child node must contain these properties defined in regulator.txt:
	regulator-name, regulator-min-microvolt, regulator-max-microvolt.

All properties specified within the core regulator framework can also be used.
These bindings can be found in regulator.txt.

Example:
	qcom,spmi@fc4c0000 {

		qcom,pm8226@1 {
			spmi-slave-container;

			spm-regulator@1700 {
				compatible = "qcom,spm-regulator";
				regulator-name = "8226_s2";
				reg = <0x1700 0x100>;
				regulator-min-microvolt = <900000>;
				regulator-max-microvolt = <1275000>;

				avs-limit-regulator {
					regulator-name = "8226_s2_avs_limit";
					regulator-min-microvolt = <900000>;
					regulator-max-microvolt = <1275000>;
				}
			};
		};
	};
+10 −0
Original line number Diff line number Diff line
@@ -1018,6 +1018,16 @@ config REGULATOR_RPM_SMD
	  be used on systems which contain an RPM which communicates with the
	  application processor over SMD.

config REGULATOR_SPM
	bool "SPM regulator driver"
	depends on SPMI
	help
	  Enable support for the SPM regulator driver which is used for
	  setting voltages of processor supply regulators via the SPM module
	  found inside chips of Qualcomm Technologies Inc. The SPM regulator
	  driver can be used on QTI SoCs where the APSS processor cores are
	  supplied by their own PMIC regulator.

config REGULATOR_STUB
	tristate "Stub Regulator"
	help
+1 −0
Original line number Diff line number Diff line
@@ -127,6 +127,7 @@ obj-$(CONFIG_REGULATOR_WM8350) += wm8350-regulator.o
obj-$(CONFIG_REGULATOR_WM8400) += wm8400-regulator.o
obj-$(CONFIG_REGULATOR_WM8994) += wm8994-regulator.o
obj-$(CONFIG_REGULATOR_RPM_SMD) += rpm-smd-regulator.o
obj-$(CONFIG_REGULATOR_SPM) += spm-regulator.o
obj-$(CONFIG_REGULATOR_RPMH) += rpmh-regulator.o
obj-$(CONFIG_REGULATOR_STUB) += stub-regulator.o