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

Commit c6d65bf2 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull regulator updates from Mark Brown:
 "Lots of driver updates here plus some nice new core features, the main
  one being the first:

   - Enable support for providing a dummy regulator when we know that
     one must exist for the device to be functional.  This makes it much
     easier to add regulator support to drivers since we don't require
     that the machine integration for all systems using the device be
     updated to provide regulators.
   - Substantial reduction in the amount of busy waiting done while
     waiting for enables to complete.
   - Allow MFDs to distribute regulator supplies to child devices so we
     don't have to expose the internal structure of MFDs outside of the
     driver.
   - Managed registeration for regulators"

* tag 'regulator-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (113 commits)
  regulator: s5m8767: Modify parsing method of the voltage table of buck2/3/4
  regulator: s5m8767: Modify parse_dt function to parse data related to ramp
  regulator: da9052: Revert se apply_[reg|bit] with regmap based voltage_sel operations
  mfd: arizona: Specify supply mappings for Arizona CODECs
  mfd: Allow mapping regulator supplies to MFD device from children
  regulator: core: Add ability to create a lookup alias for supply
  regulator: tps65910: Fix checkpatch issue
  regulator: tps65023: Fix checkpatch issue
  regulator: tps6105x: Fix checkpatch issue
  regulator: mc13783: Fix checkpatch issue
  regulator: max8997: Fix checkpatch issue
  regulator: lp3971: Fix checkpatch issue
  regulator: fixed: Fix checkpatch issue
  regulator: anatop: Fix checkpatch issue
  regulator: Add REGULATOR_LINEAR_RANGE macro
  regulator: Remove max_uV from struct regulator_linear_range
  regulator: ti-abb: Fix operator precedence typo
  regulator: tps65910: get regulators node from parent node only
  regulator: tps6586x: get regulators node from parent node only
  regulator: tps65090: get regulators node from parent node only
  ...
parents 4fc9ed33 d4d5cef6
Loading
Loading
Loading
Loading
+91 −0
Original line number Diff line number Diff line
Regulator of AMS AS3722 PMIC.
Name of the regulator subnode must be "regulators".

Optional properties:
--------------------
The input supply of regulators are the optional properties on the
regulator node. The AS3722 is having 7 DCDC step-down regulators as
sd[0-6], 10 LDOs as ldo[0-7], ldo[9-11]. The input supply of these
regulators are provided through following properties:
vsup-sd2-supply: Input supply for SD2.
vsup-sd3-supply: Input supply for SD3.
vsup-sd4-supply: Input supply for SD4.
vsup-sd5-supply: Input supply for SD5.
vin-ldo0-supply: Input supply for LDO0.
vin-ldo1-6-supply: Input supply for LDO1 and LDO6.
vin-ldo2-5-7-supply: Input supply for LDO2, LDO5 and LDO7.
vin-ldo3-4-supply: Input supply for LDO3 and LDO4.
vin-ldo9-10-supply: Input supply for LDO9 and LDO10.
vin-ldo11-supply: Input supply for LDO11.

Optional nodes:
--------------
- regulators : Must contain a sub-node per regulator from the list below.
	       Each sub-node should contain the constraints and initialization
	       information for that regulator. See regulator.txt for a
	       description of standard properties for these sub-nodes.
	       Additional custom properties  are listed below.
	       sd[0-6], ldo[0-7], ldo[9-11].

	       Optional sub-node properties:
	       ----------------------------
		ams,ext-control: External control of the rail. The option of
			this properties will tell which external input is
			controlling this rail. Valid values are 0, 1, 2 ad 3.
			0: There is no external control of this rail.
			1: Rail is controlled by ENABLE1 input pin.
			2: Rail is controlled by ENABLE2 input pin.
			3: Rail is controlled by ENABLE3 input pin.
		ams,enable-tracking: Enable tracking with SD1, only supported
			by LDO3.

Example:
-------
	ams3722: ams3722 {
		compatible = "ams,as3722";
		reg = <0x40>;
		...

		regulators {
			vsup-sd2-supply = <...>;
			...

			sd0 {
				regulator-name = "vdd_cpu";
				regulator-min-microvolt = <700000>;
				regulator-max-microvolt = <1400000>;
				regulator-always-on;
				ams,ext-control = <2>;
			};

			sd1 {
				regulator-name = "vdd_core";
				regulator-min-microvolt = <700000>;
				regulator-max-microvolt = <1400000>;
				regulator-always-on;
				ams,ext-control = <1>;
			};

			sd2 {
				regulator-name = "vddio_ddr";
				regulator-min-microvolt = <1350000>;
				regulator-max-microvolt = <1350000>;
				regulator-always-on;
			};

			sd4 {
				regulator-name = "avdd-hdmi-pex";
				regulator-min-microvolt = <1050000>;
				regulator-max-microvolt = <1050000>;
				regulator-always-on;
			};

			sd5 {
				regulator-name = "vdd-1v8";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
			};
			....
		};
	};
+21 −0
Original line number Diff line number Diff line
* Dialog Semiconductor DA9210 Voltage Regulator

Required properties:

- compatible:	must be "diasemi,da9210"
- reg:		the i2c slave address of the regulator. It should be 0x68.

Any standard regulator properties can be used to configure the single da9210
DCDC.

Example:

	da9210@68 {
		compatible = "diasemi,da9210";
		reg = <0x68>;

		regulator-min-microvolt = <900000>;
		regulator-max-microvolt = <1000000>;
		regulator-boot-on;
		regulator-always-on;
	};
+9 −3
Original line number Diff line number Diff line
@@ -26,11 +26,17 @@ Optional nodes:

	       For ti,palmas-pmic - smps12, smps123, smps3 depending on OTP,
	       smps45, smps457, smps7 depending on variant, smps6, smps[8-9],
	       smps10_out2, smps10_out1, do[1-9], ldoln, ldousb.
	       smps10_out2, smps10_out1, ldo[1-9], ldoln, ldousb.

	       Optional sub-node properties:
	       ti,warm-reset - maintain voltage during warm reset(boolean)
	       ti,roof-floor - control voltage selection by pin(boolean)
	       ti,roof-floor - This takes as optional argument on platform supporting
	       the rail from desired external control. If there is no argument then
	       it will be assume that it is controlled by NSLEEP pin.
	       The valid value for external pins are:
			ENABLE1 then 1,
			ENABLE2 then 2 or
			NSLEEP then 3.
	       ti,mode-sleep - mode to adopt in pmic sleep 0 - off, 1 - auto,
	       2 - eco, 3 - forced pwm
	       ti,smps-range - OTP has the wrong range set for the hardware so override
@@ -61,7 +67,7 @@ pmic {
			regulator-always-on;
			regulator-boot-on;
			ti,warm-reset;
			ti,roof-floor;
			ti,roof-floor = <1>; /* ENABLE1 control */
			ti,mode-sleep = <0>;
			ti,smps-range = <1>;
		};
+5 −0
Original line number Diff line number Diff line
@@ -14,6 +14,11 @@ Optional properties:
- regulator-ramp-delay: ramp delay for regulator(in uV/uS)
  For hardwares which support disabling ramp rate, it should be explicitly
  intialised to zero (regulator-ramp-delay = <0>) for disabling ramp delay.
- regulator-enable-ramp-delay: The time taken, in microseconds, for the supply
  rail to reach the target voltage, plus/minus whatever tolerance the board
  design requires. This property describes the total system ramp time
  required due to the combination of internal ramping of the regulator itself,
  and board design issues such as trace capacitance and load on the supply.

Deprecated properties:
- regulator-compatible: If a regulator chip contains multiple
+1 −0
Original line number Diff line number Diff line
@@ -283,6 +283,7 @@ REGULATOR
  devm_regulator_get()
  devm_regulator_put()
  devm_regulator_bulk_get()
  devm_regulator_register()

CLOCK
  devm_clk_get()
Loading