Commit cf9d615f authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull regulator updates from Mark Brown:
 "The biggest changes in the core this time around have been some
  refactorings that move us towards being able to drop the list of
  regulators maintained by the core and instead just use the driver
  model list maintained for the class devices for regulators which will
  make the code smaller and avoid some potential bugs.

  Otherwise another fairly quiet release for the regulator API,
  highlights include:

   - a new API for setting voltages based on a minimum, target, maximum
     triplet

   - support for continuous voltage ranges rather than tables of
     explicit steps in the PWM regulator, requiring less explicit
     configuration

   - new driver support for Dialog DA9215, Maxim 77843, Mediatek MT6311
     and Qualcomm RPM"

* tag 'regulator-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (70 commits)
  regulator: mt6311: fix platform_no_drv_owner.cocci warnings
  regulator: ltc3589: Remove unnecessary MODULE_ALIAS()
  regulator: ad5398: Remove unnecessary MODULE_ALIAS()
  regulator: pfuze100: Remove unnecessary MODULE_ALIAS()
  regulator: core: use debug level print in regulator_check_drms
  regulator: lp872x: handle error case
  regulator: lp872x: use the private data instead of updating I2C device platform data
  regulator: isl9305: Export OF module alias information
  regulators: max77693: register driver earlier to avoid deferred probe
  regulator: qcom_smd: Set n_voltages for pm8941_lnldo
  regulator: core: Use IS_ERR_OR_NULL()
  regulator: core: Define regulator_set_voltage_triplet()
  regulator: Regulator driver for the Qualcomm RPM
  regulator: pbias: Fix broken pbias disable functionality
  regulator: core: Spelling fix
  regulator: core: Use class device list for regulator_list in late init
  regulator: core: Move more deallocation into class unregister
  regulator: core: Reduce rdev locking region when releasing regulator
  Input: Remove the max77843 haptic driver
  Input: max77693: Add support for Maxim 77843
  ...
parents e2701603 f5164b88
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -24,6 +24,10 @@ Optional properties:
- vcc10-supply: The input supply for LDO_REG6
- vcc11-supply: The input supply for LDO_REG8
- vcc12-supply: The input supply for SWITCH_REG2
- dvs-gpios:  buck1/2 can be controlled by gpio dvs, this is GPIO specifiers
  for 2 host gpio's used for dvs. The format of the gpio specifier depends in
  the gpio controller. If DVS GPIOs aren't present, voltage changes will happen
  very quickly with no slow ramp time.

Regulators: All the regulators of RK808 to be instantiated shall be
listed in a child node named 'regulators'. Each regulator is represented
@@ -55,7 +59,9 @@ Example:
		interrupt-parent = <&gpio0>;
		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
		pinctrl-names = "default";
		pinctrl-0 = <&pmic_int>;
		pinctrl-0 = <&pmic_int &dvs_1 &dvs_2>;
		dvs-gpios = <&gpio7 11 GPIO_ACTIVE_HIGH>,
			    <&gpio7 15 GPIO_ACTIVE_HIGH>;
		reg = <0x1b>;
		rockchip,system-power-controller;
		wakeup-source;
+4 −0
Original line number Diff line number Diff line
@@ -5,6 +5,10 @@ Required properties:
- compatible:	must be "dlg,da9210"
- reg:		the i2c slave address of the regulator. It should be 0x68.

Optional properties:

- interrupts:	a reference to the DA9210 interrupt, if available.

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

+30 −2
Original line number Diff line number Diff line
* Dialog Semiconductor DA9211/DA9213 Voltage Regulator
* Dialog Semiconductor DA9211/DA9213/DA9215 Voltage Regulator

Required properties:
- compatible: "dlg,da9211" or "dlg,da9213".
- compatible: "dlg,da9211" or "dlg,da9213" or "dlg,da9215"
- reg: I2C slave address, usually 0x68.
- interrupts: the interrupt outputs of the controller
- regulators: A node that houses a sub-node for each regulator within the
@@ -66,3 +66,31 @@ Example 2) DA9213
			};
		};
	};


Example 3) DA9215
	pmic: da9215@68 {
		compatible = "dlg,da9215";
		reg = <0x68>;
		interrupts = <3 27>;

		regulators {
			BUCKA {
				regulator-name = "VBUCKA";
				regulator-min-microvolt = < 300000>;
				regulator-max-microvolt = <1570000>;
				regulator-min-microamp 	= <4000000>;
				regulator-max-microamp 	= <7000000>;
				enable-gpios = <&gpio 27 0>;
			};
			BUCKB {
				regulator-name = "VBUCKB";
				regulator-min-microvolt = < 300000>;
				regulator-max-microvolt = <1570000>;
				regulator-min-microamp 	= <4000000>;
				regulator-max-microamp 	= <7000000>;
				enable-gpios = <&gpio 17 0>;
			};
		};
	};
+6 −0
Original line number Diff line number Diff line
@@ -25,6 +25,12 @@ Optional properties:
-maxim,enable-frequency-shift: boolean, enable 9% frequency shift.
-maxim,enable-bias-control: boolean, enable bias control. By enabling this
		startup delay can be reduce to 20us from 220us.
-maxim,enable-etr: boolean, enable Enhanced Transient Response.
-maxim,enable-high-etr-sensitivity: boolean, Enhanced transient response
		circuit is enabled and set for high sensitivity. If this
		property is available then etr will be enable default.

Enhanced transient response (ETR) will affect the configuration of CKADV.

Example:

+35 −0
Original line number Diff line number Diff line
Mediatek MT6311 Regulator Driver

Required properties:
- compatible: "mediatek,mt6311-regulator"
- reg: I2C slave address, usually 0x6b.
- regulators: List of regulators provided by this controller. It is named
  to VDVFS and VBIASN.
  The definition for each of these nodes is defined using the standard binding
  for regulators at Documentation/devicetree/bindings/regulator/regulator.txt.

The valid names for regulators are:
BUCK:
  VDVFS
LDO:
  VBIASN

Example:
	mt6311: pmic@6b {
		compatible = "mediatek,mt6311-regulator";
		reg = <0x6b>;

		regulators {
			mt6311_vcpu_reg: VDVFS {
				regulator-name = "VDVFS";
				regulator-min-microvolt = < 600000>;
				regulator-max-microvolt = <1400000>;
				regulator-ramp-delay = <10000>;
			};
			mt6311_ldo_reg: VBIASN {
				regulator-name = "VBIASN";
				regulator-min-microvolt = <200000>;
				regulator-max-microvolt = <800000>;
			};
		};
	};
Loading