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

Commit 78ae9025 authored by Mark Brown's avatar Mark Brown
Browse files

Merge remote-tracking branches 'regulator/topic/pv88090',...

Merge remote-tracking branches 'regulator/topic/pv88090', 'regulator/topic/qcom-smd', 'regulator/topic/tps6105x', 'regulator/topic/tps65086' and 'regulator/topic/tps65218' into regulator-next
Loading
Loading
Loading
Loading
+65 −0
Original line number Original line Diff line number Diff line
* Powerventure Semiconductor PV88090 Voltage Regulator

Required properties:
- compatible: "pvs,pv88090".
- reg: I2C slave address, usually 0x48.
- interrupts: the interrupt outputs of the controller
- regulators: A node that houses a sub-node for each regulator within the
  device. Each sub-node is identified using the node's name, with valid
  values listed below. The content of each sub-node is defined by the
  standard binding for regulators; see regulator.txt.
  BUCK1, BUCK2, BUCK3, LDO1, and LDO2.

Optional properties:
- Any optional property defined in regulator.txt

Example

	pmic: pv88090@48 {
		compatible = "pvs,pv88090";
		reg = <0x48>;
		interrupt-parent = <&gpio>;
		interrupts = <24 24>;

		regulators {
			BUCK1 {
				regulator-name = "buck1";
				regulator-min-microvolt = < 600000>;
				regulator-max-microvolt = <1393750>;
				regulator-min-microamp 	= < 220000>;
				regulator-max-microamp 	= <7040000>;
				regulator-boot-on;
			};

			BUCK2 {
				regulator-name = "buck2";
				regulator-min-microvolt = < 600000>;
				regulator-max-microvolt = <1393750>;
				regulator-min-microamp 	= <1496000>;
				regulator-max-microamp 	= <4189000>;
			};

			BUCK3 {
				regulator-name = "buck3";
				regulator-min-microvolt = <600000>;
				regulator-max-microvolt = <1393750>;
				regulator-min-microamp 	= <1496000>;
				regulator-max-microamp 	= <4189000>;
				regulator-boot-on;
			};

			LDO1 {
				regulator-name = "ldo1";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <4350000>;
				regulator-boot-on;
			};

			LDO2 {
				regulator-name = "ldo2";
				regulator-min-microvolt = < 650000>;
				regulator-max-microvolt = <2225000>;
				regulator-boot-on;
			};
		};
	};
+63 −21
Original line number Original line Diff line number Diff line
Qualcomm Resource Power Manager (RPM) over SMD
QCOM SMD RPM REGULATOR


This driver is used to interface with the Resource Power Manager (RPM) found in
The Qualcomm RPM over SMD regulator is modelled as a subdevice of the RPM.
various Qualcomm platforms. The RPM allows each component in the system to vote
Because SMD is used as the communication transport mechanism, the RPM resides as
for state of the system resources, such as clocks, regulators and bus
a subnode of the SMD.  As such, the SMD-RPM regulator requires that the SMD and
frequencies.
RPM nodes be present.


- compatible:
Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,smd.txt for
	Usage: required
information pertaining to the SMD node.
	Value type: <string>
	Definition: must be one of:
		    "qcom,rpm-msm8974"


- qcom,smd-channels:
Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txt for
	Usage: required
information regarding the RPM node.
	Value type: <stringlist>
	Definition: Shared Memory channel used for communication with the RPM


= SUBDEVICES
== Regulator

The RPM exposes resources to its subnodes. The below bindings specify the set
of valid subnodes that can operate on these resources.

== Regulators


Regulator nodes are identified by their compatible:
Regulator nodes are identified by their compatible:


@@ -30,7 +20,9 @@ Regulator nodes are identified by their compatible:
	Value type: <string>
	Value type: <string>
	Definition: must be one of:
	Definition: must be one of:
		    "qcom,rpm-pm8841-regulators"
		    "qcom,rpm-pm8841-regulators"
		    "qcom,rpm-pm8916-regulators"
		    "qcom,rpm-pm8941-regulators"
		    "qcom,rpm-pm8941-regulators"
		    "qcom,rpm-pma8084-regulators"


- vdd_s1-supply:
- vdd_s1-supply:
- vdd_s2-supply:
- vdd_s2-supply:
@@ -45,6 +37,19 @@ Regulator nodes are identified by their compatible:
	Definition: reference to regulator supplying the input pin, as
	Definition: reference to regulator supplying the input pin, as
		    described in the data sheet
		    described in the data sheet


- vdd_s1-supply:
- vdd_s2-supply:
- vdd_s3-supply:
- vdd_s4-supply:
- vdd_l1_l2_l3-supply:
- vdd_l4_l5_l6-supply:
- vdd_l7-supply:
- vdd_l8_l9_l10_l11_l12_l13_l14_l15_l16_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_s1-supply:
- vdd_s2-supply:
- vdd_s2-supply:
- vdd_s3-supply:
- vdd_s3-supply:
@@ -63,6 +68,35 @@ Regulator nodes are identified by their compatible:
	Definition: reference to regulator supplying the input pin, as
	Definition: reference to regulator supplying the input pin, as
		    described in the data sheet
		    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_l11-supply:
- vdd_l2_l3_l4_l27-supply:
- vdd_l5_l7-supply:
- vdd_l6_l12_l14_l15_l26-supply:
- vdd_l8-supply:
- vdd_l9_l10_l13_l20_l23_l24-supply:
- vdd_l16_l25-supply:
- vdd_l17-supply:
- vdd_l18-supply:
- vdd_l19-supply:
- vdd_l21-supply:
- vdd_l22-supply:
	Usage: optional (pma8084 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
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
sub-node is identified using the node's name, with valid values listed for each
of the pmics below.
of the pmics below.
@@ -70,11 +104,20 @@ of the pmics below.
pm8841:
pm8841:
	s1, s2, s3, s4, s5, s6, s7, s8
	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:
pm8941:
	s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13,
	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,
	l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, lvs1, lvs2,
	lvs3, 5vs1, 5vs2
	lvs3, 5vs1, 5vs2


pma8084:
	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, lvs1, lvs2, lvs3, lvs4, 5vs1

The content of each sub-node is defined by the standard binding for regulators -
The content of each sub-node is defined by the standard binding for regulators -
see regulator.txt.
see regulator.txt.


@@ -114,4 +157,3 @@ see regulator.txt.
			};
			};
		};
		};
	};
	};
+58 −0
Original line number Original line Diff line number Diff line
Qualcomm Resource Power Manager (RPM) over SMD

This driver is used to interface with the Resource Power Manager (RPM) found in
various Qualcomm platforms. The RPM allows each component in the system to vote
for state of the system resources, such as clocks, regulators and bus
frequencies.

The SMD information for the RPM edge should be filled out.  See qcom,smd.txt for
the required edge properties.  All SMD related properties will reside within the
RPM node itself.

= SUBDEVICES

The RPM exposes resources to its subnodes.  The rpm_requests node must be
present and this subnode may contain children that designate regulator
resources.

- compatible:
	Usage: required
	Value type: <string>
	Definition: must be one of:
		    "qcom,rpm-apq8084"
		    "qcom,rpm-msm8916"
		    "qcom,rpm-msm8974"

- qcom,smd-channels:
	Usage: required
	Value type: <string>
	Definition: must be "rpm_requests"

Refer to Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.txt
for information on the regulator subnodes that can exist under the rpm_requests.

Example:

	soc {
		apcs: syscon@f9011000 {
			compatible = "syscon";
			reg = <0xf9011000 0x1000>;
		};
	};

	smd {
		compatible = "qcom,smd";

		rpm {
			interrupts = <0 168 1>;
			qcom,ipc = <&apcs 8 0>;
			qcom,smd-edge = <15>;

			rpm_requests {
				compatible = "qcom,rpm-msm8974";
				qcom,smd-channels = "rpm_requests";

				...
			};
		};
	};
+15 −0
Original line number Original line Diff line number Diff line
@@ -522,6 +522,14 @@ config REGULATOR_PV88060
	  Say y here to support the voltage regulators and convertors
	  Say y here to support the voltage regulators and convertors
	  PV88060
	  PV88060


config REGULATOR_PV88090
	tristate "Powerventure Semiconductor PV88090 regulator"
	depends on I2C
	select REGMAP_I2C
	help
	  Say y here to support the voltage regulators and convertors
	  on PV88090

config REGULATOR_PWM
config REGULATOR_PWM
	tristate "PWM voltage regulator"
	tristate "PWM voltage regulator"
	depends on PWM
	depends on PWM
@@ -698,6 +706,13 @@ config REGULATOR_TPS6507X
	  three step-down converters and two general-purpose LDO voltage regulators.
	  three step-down converters and two general-purpose LDO voltage regulators.
	  It supports TI's software based Class-2 SmartReflex implementation.
	  It supports TI's software based Class-2 SmartReflex implementation.


config REGULATOR_TPS65086
	tristate "TI TPS65086 Power regulators"
	depends on MFD_TPS65086
	help
	  This driver provides support for the voltage regulators on
	  TI TPS65086 PMICs.

config REGULATOR_TPS65090
config REGULATOR_TPS65090
	tristate "TI TPS65090 Power regulator"
	tristate "TI TPS65090 Power regulator"
	depends on MFD_TPS65090
	depends on MFD_TPS65090
+2 −0
Original line number Original line Diff line number Diff line
@@ -68,6 +68,7 @@ obj-$(CONFIG_REGULATOR_QCOM_SPMI) += qcom_spmi-regulator.o
obj-$(CONFIG_REGULATOR_PALMAS) += palmas-regulator.o
obj-$(CONFIG_REGULATOR_PALMAS) += palmas-regulator.o
obj-$(CONFIG_REGULATOR_PFUZE100) += pfuze100-regulator.o
obj-$(CONFIG_REGULATOR_PFUZE100) += pfuze100-regulator.o
obj-$(CONFIG_REGULATOR_PV88060) += pv88060-regulator.o
obj-$(CONFIG_REGULATOR_PV88060) += pv88060-regulator.o
obj-$(CONFIG_REGULATOR_PV88090) += pv88090-regulator.o
obj-$(CONFIG_REGULATOR_PWM) += pwm-regulator.o
obj-$(CONFIG_REGULATOR_PWM) += pwm-regulator.o
obj-$(CONFIG_REGULATOR_TPS51632) += tps51632-regulator.o
obj-$(CONFIG_REGULATOR_TPS51632) += tps51632-regulator.o
obj-$(CONFIG_REGULATOR_PBIAS) += pbias-regulator.o
obj-$(CONFIG_REGULATOR_PBIAS) += pbias-regulator.o
@@ -87,6 +88,7 @@ obj-$(CONFIG_REGULATOR_TPS6105X) += tps6105x-regulator.o
obj-$(CONFIG_REGULATOR_TPS62360) += tps62360-regulator.o
obj-$(CONFIG_REGULATOR_TPS62360) += tps62360-regulator.o
obj-$(CONFIG_REGULATOR_TPS65023) += tps65023-regulator.o
obj-$(CONFIG_REGULATOR_TPS65023) += tps65023-regulator.o
obj-$(CONFIG_REGULATOR_TPS6507X) += tps6507x-regulator.o
obj-$(CONFIG_REGULATOR_TPS6507X) += tps6507x-regulator.o
obj-$(CONFIG_REGULATOR_TPS65086) += tps65086-regulator.o
obj-$(CONFIG_REGULATOR_TPS65090) += tps65090-regulator.o
obj-$(CONFIG_REGULATOR_TPS65090) += tps65090-regulator.o
obj-$(CONFIG_REGULATOR_TPS65217) += tps65217-regulator.o
obj-$(CONFIG_REGULATOR_TPS65217) += tps65217-regulator.o
obj-$(CONFIG_REGULATOR_TPS65218) += tps65218-regulator.o
obj-$(CONFIG_REGULATOR_TPS65218) += tps65218-regulator.o
Loading