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

Commit 64b285ad authored by Mark Brown's avatar Mark Brown
Browse files

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

Merge remote-tracking branches 'regulator/topic/max1586', 'regulator/topic/max77802' and 'regulator/topic/of' into regulator-next
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
Maxim MAX1586 voltage regulator

Required properties:
- compatible: must be "maxim,max1586"
- reg: I2C slave address, usually 0x14
- v3-gain: integer specifying the V3 gain as per datasheet
           (1 + R24/R25 + R24/185.5kOhm)
- any required generic properties defined in regulator.txt

Example:

	i2c_master {
		max1586@14 {
			compatible = "maxim,max1586";
			reg = <0x14>;
			v3-gain = <1000000>;

			regulators {
				vcc_core: v3 {
					regulator-name = "vcc_core";
					regulator-compatible = "Output_V3";
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1705000>;
					regulator-always-on;
				};
			};
		};
	};
+53 −0
Original line number Diff line number Diff line
Binding for Maxim MAX77802 regulators

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

The MAX77802 PMIC has 10 high-efficiency Buck and 32 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:
- regulators : The regulators of max77802 have to be instantiated
  under subnode named "regulators" using the following format.

	regulator-name {
		standard regulator constraints....
	};
	refer Documentation/devicetree/bindings/regulator/regulator.txt

The regulator node name should be initialized with a string to get matched
with their hardware counterparts as follow. The valid names are:

	-LDOn 	:	for LDOs, where n can lie in ranges 1-15, 17-21, 23-30
			and 32-35.
			example: LDO1, LDO2, LDO35.
	-BUCKn 	:	for BUCKs, where n can lie in range 1 to 10.
			example: BUCK1, BUCK5, BUCK10.
Example:

	max77802@09 {
		compatible = "maxim,max77802";
		interrupt-parent = <&wakeup_eint>;
		interrupts = <26 0>;
		reg = <0x09>;
		#address-cells = <1>;
		#size-cells = <0>;

		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;
			};
	};
+9 −0
Original line number Diff line number Diff line
@@ -405,6 +405,15 @@ config REGULATOR_MAX77693
	  and one current regulator 'CHARGER'. This is suitable for
	  Exynos-4x12 chips.

config REGULATOR_MAX77802
	tristate "Maxim 77802 regulator"
	depends on MFD_MAX77686
	help
	  This driver controls a Maxim 77802 regulator
	  via I2C bus. The provided regulator is suitable for
	  Exynos5420/Exynos5800 SoCs to control various voltages.
	  It includes support for control of voltage and ramp speed.

config REGULATOR_MC13XXX_CORE
	tristate

+1 −0
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ obj-$(CONFIG_REGULATOR_MAX8997) += max8997.o
obj-$(CONFIG_REGULATOR_MAX8998) += max8998.o
obj-$(CONFIG_REGULATOR_MAX77686) += max77686.o
obj-$(CONFIG_REGULATOR_MAX77693) += max77693.o
obj-$(CONFIG_REGULATOR_MAX77802) += max77802.o
obj-$(CONFIG_REGULATOR_MC13783) += mc13783-regulator.o
obj-$(CONFIG_REGULATOR_MC13892) += mc13892-regulator.o
obj-$(CONFIG_REGULATOR_MC13XXX_CORE) +=  mc13xxx-regulator-core.o
+10 −0
Original line number Diff line number Diff line
@@ -35,8 +35,18 @@ struct regulator {
	struct dentry *debugfs;
};

#ifdef CONFIG_OF
struct regulator_init_data *regulator_of_get_init_data(struct device *dev,
			         const struct regulator_desc *desc,
				 struct device_node **node);
#else
static inline struct regulator_init_data *
regulator_of_get_init_data(struct device *dev,
			   const struct regulator_desc *desc,
			   struct device_node **node)
{
	return NULL;
}
#endif

#endif
Loading