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

Commit 6097d55e authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull regulator updates from Mark Brown:
 "A quiet regulator API release, a few new drivers and some fixes but
  nothing too notable.  There will also be some updates for the PWM
  regulator coming through the PWM tree which provide much smoother
  operation when taking over an already running PWM regulator after boot
  using some new PWM APIs.

  Summary:

   - Support for configuration of the initial suspend state from DT.

   - New drivers for Mediatek MT6323, Ricoh RN5T567 and X-Powers AXP809"

* tag 'regulator-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (38 commits)
  regulator: da9053/52: Fix incorrectly stated minimum and maximum voltage limits
  regulator: mt6323: Constify struct regulator_ops
  regulator: mt6323: Fix module description
  regulator: mt6323: Add support for MT6323 regulator
  regulator: Add document for MT6323 regulator
  regulator: da9210: addition of device tree support
  regulator: act8865: Fix missing of_node_put() in act8865_pdata_from_dt()
  regulator: qcom_smd: Avoid overlapping linear voltage ranges
  regulator: s2mps11: Fix the voltage linear range for s2mps15
  regulator: pwm: Fix regulator ramp delay for continuous mode
  regulator: da9211: add descriptions for da9212/da9214
  mfd: rn5t618: Register restart handler
  mfd: rn5t618: Register power off callback optionally
  regulator: rn5t618: Add RN5T567 PMIC support
  mfd: rn5t618: Add Ricoh RN5T567 PMIC support
  ARM: dts: meson: minix-neo-x8: define PMIC as power controller
  regulator: tps65218: force set power-up/down strobe to 3 for dcdc3
  regulator: tps65218: Enable suspend configuration
  regulator: tps65217: Enable suspend configuration
  regulator: qcom_spmi: Add support for get_mode/set_mode on switches
  ...
parents ae979997 a485f5fc
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -22,6 +22,11 @@ Optional properties:
		      AXP152/20X: range:  750-1875, Default: 1.5 MHz
		      AXP152/20X: range:  750-1875, Default: 1.5 MHz
		      AXP22X/80X: range: 1800-4050, Default: 3   MHz
		      AXP22X/80X: range: 1800-4050, Default: 3   MHz


- x-powers,drive-vbus-en: axp221 / axp223 only boolean, set this when the
		  N_VBUSEN pin is used as an output pin to control an external
		  regulator to drive the OTG VBus, rather then as an input pin
		  which signals whether the board is driving OTG VBus or not.

- <input>-supply: a phandle to the regulator supply node. May be omitted if
- <input>-supply: a phandle to the regulator supply node. May be omitted if
		  inputs are unregulated, such as using the IPSOUT output
		  inputs are unregulated, such as using the IPSOUT output
		  from the PMIC.
		  from the PMIC.
@@ -79,6 +84,7 @@ ELDO3 : LDO : eldoin-supply : shared supply
LDO_IO0		: LDO		: ips-supply		: GPIO 0
LDO_IO0		: LDO		: ips-supply		: GPIO 0
LDO_IO1		: LDO		: ips-supply		: GPIO 1
LDO_IO1		: LDO		: ips-supply		: GPIO 1
RTC_LDO		: LDO		: ips-supply		: always on
RTC_LDO		: LDO		: ips-supply		: always on
DRIVEVBUS	: Enable output	: drivevbus-supply	: external regulator


AXP809 regulators, type, and corresponding input supply names:
AXP809 regulators, type, and corresponding input supply names:


+11 −8
Original line number Original line Diff line number Diff line
* Ricoh RN5T618 PMIC
* Ricoh RN5T567/RN5T618 PMIC


Ricoh RN5T618 is a power management IC which integrates 3 step-down
Ricoh RN5T567/RN5T618 is a power management IC family which integrates
DCDC converters, 7 low-dropout regulators, a Li-ion battery charger,
3 to 4 step-down DCDC converters, 7 low-dropout regulators, GPIOs and
fuel gauge, ADC, GPIOs and a watchdog timer. It can be controlled
a watchdog timer. The RN5T618 provides additionally a Li-ion battery
through a I2C interface.
charger, fuel gauge and an ADC. It can be controlled through an I2C
interface.


Required properties:
Required properties:
 - compatible: should be "ricoh,rn5t618"
 - compatible: must be one of
		"ricoh,rn5t567"
		"ricoh,rn5t618"
 - reg: the I2C slave address of the device
 - reg: the I2C slave address of the device


Sub-nodes:
Sub-nodes:
 - regulators: the node is required if the regulator functionality is
 - regulators: the node is required if the regulator functionality is
   needed. The valid regulator names are: DCDC1, DCDC2, DCDC3, LDO1,
   needed. The valid regulator names are: DCDC1, DCDC2, DCDC3, DCDC4
   LDO2, LDO3, LDO4, LDO5, LDORTC1 and LDORTC2.
   (RN5T567), LDO1, LDO2, LDO3, LDO4, LDO5, LDORTC1 and LDORTC2.
   The common bindings for each individual regulator can be found in:
   The common bindings for each individual regulator can be found in:
   Documentation/devicetree/bindings/regulator/regulator.txt
   Documentation/devicetree/bindings/regulator/regulator.txt


+8 −4
Original line number Original line Diff line number Diff line
* Dialog Semiconductor DA9210 Voltage Regulator
* Dialog Semiconductor DA9210 Multi-phase 12A DCDC BUCK Converter


Required properties:
Required properties:


@@ -18,8 +18,12 @@ Example:
		compatible = "dlg,da9210";
		compatible = "dlg,da9210";
		reg = <0x68>;
		reg = <0x68>;


		regulator-min-microvolt = <900000>;
		interrupt-parent = <...>;
		regulator-max-microvolt = <1000000>;
		interrupts = <...>;

		regulator-min-microvolt = <300000>;
		regulator-max-microvolt = <1570000>;
		regulator-min-microamp = <1600000>;
		regulator-max-microamp = <4600000>;
		regulator-boot-on;
		regulator-boot-on;
		regulator-always-on;
	};
	};
+42 −5
Original line number Original line Diff line number Diff line
* Dialog Semiconductor DA9211/DA9213/DA9215 Voltage Regulator
* Dialog Semiconductor DA9211/DA9212/DA9213/DA9214/DA9215 Voltage Regulator


Required properties:
Required properties:
- compatible: "dlg,da9211" or "dlg,da9213" or "dlg,da9215"
- compatible: "dlg,da9211" or "dlg,da9212" or "dlg,da9213"
  or "dlg,da9214" or "dlg,da9215"
- reg: I2C slave address, usually 0x68.
- reg: I2C slave address, usually 0x68.
- interrupts: the interrupt outputs of the controller
- interrupts: the interrupt outputs of the controller
- regulators: A node that houses a sub-node for each regulator within the
- regulators: A node that houses a sub-node for each regulator within the
@@ -21,6 +22,25 @@ Example 1) DA9211
		reg = <0x68>;
		reg = <0x68>;
		interrupts = <3 27>;
		interrupts = <3 27>;


		regulators {
			BUCKA {
				regulator-name = "VBUCKA";
				regulator-min-microvolt = < 300000>;
				regulator-max-microvolt = <1570000>;
				regulator-min-microamp 	= <2000000>;
				regulator-max-microamp 	= <5000000>;
				enable-gpios = <&gpio 27 0>;
			};
		};
	};

Example 2) DA9212

	pmic: da9212@68 {
		compatible = "dlg,da9212";
		reg = <0x68>;
		interrupts = <3 27>;

		regulators {
		regulators {
			BUCKA {
			BUCKA {
				regulator-name = "VBUCKA";
				regulator-name = "VBUCKA";
@@ -41,12 +61,30 @@ Example 1) DA9211
		};
		};
	};
	};


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


		regulators {
			BUCKA {
				regulator-name = "VBUCKA";
				regulator-min-microvolt = < 300000>;
				regulator-max-microvolt = <1570000>;
				regulator-min-microamp 	= <3000000>;
				regulator-max-microamp 	= <6000000>;
				enable-gpios = <&gpio 27 0>;
			};
		};
	};

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

		regulators {
		regulators {
			BUCKA {
			BUCKA {
				regulator-name = "VBUCKA";
				regulator-name = "VBUCKA";
@@ -67,8 +105,7 @@ Example 2) DA9213
		};
		};
	};
	};



Example 5) DA9215
Example 3) DA9215
	pmic: da9215@68 {
	pmic: da9215@68 {
		compatible = "dlg,da9215";
		compatible = "dlg,da9215";
		reg = <0x68>;
		reg = <0x68>;
+237 −0
Original line number Original line Diff line number Diff line
Mediatek MT6323 Regulator Driver

All voltage regulators are defined as subnodes of the regulators node. A list
of regulators provided by this controller are defined as subnodes of the
PMIC's node. Each regulator is named according to its regulator type,
buck_<name> and ldo_<name>. 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:
  buck_vproc, buck_vsys, buck_vpa
LDO:
  ldo_vtcxo, ldo_vcn28, ldo_vcn33_bt, ldo_vcn33_wifi, ldo_va, ldo_vcama,
  ldo_vio28, ldo_vusb, ldo_vmc, ldo_vmch, ldo_vemc3v3, ldo_vgp1, ldo_vgp2,
  ldo_vgp3, ldo_vcn18, ldo_vsim1, ldo_vsim2, ldo_vrtc, ldo_vcamaf, ldo_vibr,
  ldo_vrf18, ldo_vm, ldo_vio18, ldo_vcamd, ldo_vcamio

Example:

	pmic: mt6323 {
		mt6323regulator: regulators {
			mt6323_vproc_reg: buck_vproc{
				regulator-name = "vproc";
				regulator-min-microvolt = < 700000>;
				regulator-max-microvolt = <1350000>;
				regulator-ramp-delay = <12500>;
				regulator-always-on;
				regulator-boot-on;
			};

			mt6323_vsys_reg: buck_vsys{
				regulator-name = "vsys";
				regulator-min-microvolt = <1400000>;
				regulator-max-microvolt = <2987500>;
				regulator-ramp-delay = <25000>;
				regulator-always-on;
				regulator-boot-on;
			};

			mt6323_vpa_reg: buck_vpa{
				regulator-name = "vpa";
				regulator-min-microvolt = < 500000>;
				regulator-max-microvolt = <3650000>;
			};

			mt6323_vtcxo_reg: ldo_vtcxo{
				regulator-name = "vtcxo";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-enable-ramp-delay = <90>;
				regulator-always-on;
				regulator-boot-on;
			};

			mt6323_vcn28_reg: ldo_vcn28{
				regulator-name = "vcn28";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-enable-ramp-delay = <185>;
			};

			mt6323_vcn33_bt_reg: ldo_vcn33_bt{
				regulator-name = "vcn33_bt";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3600000>;
				regulator-enable-ramp-delay = <185>;
			};

			mt6323_vcn33_wifi_reg: ldo_vcn33_wifi{
				regulator-name = "vcn33_wifi";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3600000>;
				regulator-enable-ramp-delay = <185>;
			};

			mt6323_va_reg: ldo_va{
				regulator-name = "va";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-enable-ramp-delay = <216>;
				regulator-always-on;
				regulator-boot-on;
			};

			mt6323_vcama_reg: ldo_vcama{
				regulator-name = "vcama";
				regulator-min-microvolt = <1500000>;
				regulator-max-microvolt = <2800000>;
				regulator-enable-ramp-delay = <216>;
			};

			mt6323_vio28_reg: ldo_vio28{
				regulator-name = "vio28";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-enable-ramp-delay = <216>;
				regulator-always-on;
				regulator-boot-on;
			};

			mt6323_vusb_reg: ldo_vusb{
				regulator-name = "vusb";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-enable-ramp-delay = <216>;
				regulator-boot-on;
			};

			mt6323_vmc_reg: ldo_vmc{
				regulator-name = "vmc";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-enable-ramp-delay = <36>;
				regulator-boot-on;
			};

			mt6323_vmch_reg: ldo_vmch{
				regulator-name = "vmch";
				regulator-min-microvolt = <3000000>;
				regulator-max-microvolt = <3300000>;
				regulator-enable-ramp-delay = <36>;
				regulator-boot-on;
			};

			mt6323_vemc3v3_reg: ldo_vemc3v3{
				regulator-name = "vemc3v3";
				regulator-min-microvolt = <3000000>;
				regulator-max-microvolt = <3300000>;
				regulator-enable-ramp-delay = <36>;
				regulator-boot-on;
			};

			mt6323_vgp1_reg: ldo_vgp1{
				regulator-name = "vgp1";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3300000>;
				regulator-enable-ramp-delay = <216>;
			};

			mt6323_vgp2_reg: ldo_vgp2{
				regulator-name = "vgp2";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3000000>;
				regulator-enable-ramp-delay = <216>;
			};

			mt6323_vgp3_reg: ldo_vgp3{
				regulator-name = "vgp3";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1800000>;
				regulator-enable-ramp-delay = <216>;
			};

			mt6323_vcn18_reg: ldo_vcn18{
				regulator-name = "vcn18";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-enable-ramp-delay = <216>;
			};

			mt6323_vsim1_reg: ldo_vsim1{
				regulator-name = "vsim1";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3000000>;
				regulator-enable-ramp-delay = <216>;
			};

			mt6323_vsim2_reg: ldo_vsim2{
				regulator-name = "vsim2";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3000000>;
				regulator-enable-ramp-delay = <216>;
			};

			mt6323_vrtc_reg: ldo_vrtc{
				regulator-name = "vrtc";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-always-on;
				regulator-boot-on;
			};

			mt6323_vcamaf_reg: ldo_vcamaf{
				regulator-name = "vcamaf";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3300000>;
				regulator-enable-ramp-delay = <216>;
			};

			mt6323_vibr_reg: ldo_vibr{
				regulator-name = "vibr";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3300000>;
				regulator-enable-ramp-delay = <36>;
			};

			mt6323_vrf18_reg: ldo_vrf18{
				regulator-name = "vrf18";
				regulator-min-microvolt = <1825000>;
				regulator-max-microvolt = <1825000>;
				regulator-enable-ramp-delay = <187>;
			};

			mt6323_vm_reg: ldo_vm{
				regulator-name = "vm";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1800000>;
				regulator-enable-ramp-delay = <216>;
				regulator-always-on;
				regulator-boot-on;
			};

			mt6323_vio18_reg: ldo_vio18{
				regulator-name = "vio18";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-enable-ramp-delay = <216>;
				regulator-always-on;
				regulator-boot-on;
			};

			mt6323_vcamd_reg: ldo_vcamd{
				regulator-name = "vcamd";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1800000>;
				regulator-enable-ramp-delay = <216>;
			};

			mt6323_vcamio_reg: ldo_vcamio{
				regulator-name = "vcamio";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-enable-ramp-delay = <216>;
			};
		};
	};
Loading