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

Commit aa60a839 authored by Javier Martinez Canillas's avatar Javier Martinez Canillas Committed by Lee Jones
Browse files

mfd: max77686: Split out regulator part from the DT binding



The Maxim MAX77686 PMIC is a multi-function device with regulators,
clocks and a RTC. The DT bindings for the clocks are in a separate
file but the bindings for the regulators are inside the mfd part.

To make it consistent with the clocks portion of the binding and
because is more natural to look for regulator bindings under the
bindings/regulator sub-directory, split the regulator portion of
the DT binding and add it as a separate file.

Signed-off-by: default avatarJavier Martinez Canillas <javier@osg.samsung.com>
Reviewed-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
parent 00f1493e
Loading
Loading
Loading
Loading
+4 −56
Original line number Diff line number Diff line
@@ -7,8 +7,9 @@ different i2c slave address,presently for which we are statically creating i2c
client while probing.This document describes the binding for mfd device and
PMIC submodule.

Binding for the built-in 32k clock generator block is defined separately
in bindings/clk/maxim,max77686.txt file.
Bindings for the built-in 32k clock generator block and
regulators are defined in ../clk/maxim,max77686.txt and
../regulator/max77686.txt respectively.

Required properties:
- compatible : Must be "maxim,max77686";
@@ -16,36 +17,6 @@ Required properties:
- interrupts : This i2c device has an IRQ line connected to the main SoC.
- interrupt-parent : The parent interrupt controller.

Optional node:
- voltage-regulators : The regulators of max77686 have to be instantiated
  under subnode named "voltage-regulators" using the following format.

	regulator_name {
		regulator-compatible = LDOn/BUCKn
		standard regulator constraints....
	};
	refer Documentation/devicetree/bindings/regulator/regulator.txt

  The regulator node's name should be initialized with a string
to get matched with their hardware counterparts as follow:

	-LDOn 	:	for LDOs, where n can lie in range 1 to 26.
		 	example: LDO1, LDO2, LDO26.
	-BUCKn 	:	for BUCKs, where n can lie in range 1 to 9.
			example: BUCK1, BUCK5, BUCK9.

  Regulators which can be turned off during system suspend:
	-LDOn	:	2, 6-8, 10-12, 14-16,
	-BUCKn	:	1-4.
  Use standard regulator bindings for it ('regulator-off-in-suspend').

  LDO20, LDO21, LDO22, BUCK8 and BUCK9 can be configured to GPIO enable
  control. To turn this feature on this property must be added to the regulator
  sub-node:
	- maxim,ena-gpios :	one GPIO specifier enable control (the gpio
				flags are actually ignored and always
				ACTIVE_HIGH is used)

Example:

	max77686: pmic@09 {
@@ -53,27 +24,4 @@ Example:
		interrupt-parent = <&wakeup_eint>;
		interrupts = <26 0>;
		reg = <0x09>;

		voltage-regulators {
			ldo11_reg: LDO11 {
				regulator-name = "vdd_ldo11";
				regulator-min-microvolt = <1900000>;
				regulator-max-microvolt = <1900000>;
				regulator-always-on;
			};

			buck1_reg: BUCK1 {
				regulator-name = "vdd_mif";
				regulator-min-microvolt = <950000>;
				regulator-max-microvolt = <1300000>;
				regulator-always-on;
				regulator-boot-on;
			};

			buck9_reg: BUCK9 {
				regulator-name = "CAM_ISP_CORE_1.2V";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1200000>;
				maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
	};
	}
+71 −0
Original line number Diff line number Diff line
Binding for Maxim MAX77686 regulators

This is a part of the device tree bindings of MAX77686 multi-function device.
More information can be found in ../mfd/max77686.txt file.

The MAX77686 PMIC has 9 high-efficiency Buck and 26 Low-DropOut (LDO)
regulators that can be controlled over I2C.

Following properties should be present in main device node of the MFD chip.

Optional node:
- voltage-regulators : The regulators of max77686 have to be instantiated
  under subnode named "voltage-regulators" using the following format.

	regulator_name {
		regulator-compatible = LDOn/BUCKn
		standard regulator constraints....
	};
	refer Documentation/devicetree/bindings/regulator/regulator.txt

  The regulator node's name should be initialized with a string
to get matched with their hardware counterparts as follow:

	-LDOn 	:	for LDOs, where n can lie in range 1 to 26.
			example: LDO1, LDO2, LDO26.
	-BUCKn 	:	for BUCKs, where n can lie in range 1 to 9.
			example: BUCK1, BUCK5, BUCK9.

  Regulators which can be turned off during system suspend:
	-LDOn	:	2, 6-8, 10-12, 14-16,
	-BUCKn	:	1-4.
  Use standard regulator bindings for it ('regulator-off-in-suspend').

  LDO20, LDO21, LDO22, BUCK8 and BUCK9 can be configured to GPIO enable
  control. To turn this feature on this property must be added to the regulator
  sub-node:
	- maxim,ena-gpios :	one GPIO specifier enable control (the gpio
				flags are actually ignored and always
				ACTIVE_HIGH is used)

Example:

	max77686: pmic@09 {
		compatible = "maxim,max77686";
		interrupt-parent = <&wakeup_eint>;
		interrupts = <26 IRQ_TYPE_NONE>;
		reg = <0x09>;

		voltage-regulators {
			ldo11_reg: LDO11 {
				regulator-name = "vdd_ldo11";
				regulator-min-microvolt = <1900000>;
				regulator-max-microvolt = <1900000>;
				regulator-always-on;
			};

			buck1_reg: BUCK1 {
				regulator-name = "vdd_mif";
				regulator-min-microvolt = <950000>;
				regulator-max-microvolt = <1300000>;
				regulator-always-on;
				regulator-boot-on;
			};

			buck9_reg: BUCK9 {
				regulator-name = "CAM_ISP_CORE_1.2V";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1200000>;
				maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
			};
	};