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

Commit 2c7a6a35 authored by Mark Brown's avatar Mark Brown
Browse files

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

Merge remote-tracking branches 'regulator/topic/fixed', 'regulator/topic/id-const', 'regulator/topic/ltc3589', 'regulator/topic/max8649' and 'regulator/topic/of' into regulator-next
Loading
Loading
Loading
Loading
+99 −0
Original line number Diff line number Diff line
Linear Technology LTC3589, LTC3589-1, and LTC3589-2 8-output regulators

Required properties:
- compatible: "lltc,ltc3589", "lltc,ltc3589-1" or "lltc,ltc3589-2"
- reg: I2C slave address

Required child node:
- regulators: Contains eight regulator child nodes sw1, sw2, sw3, bb-out,
  ldo1, ldo2, ldo3, and ldo4, specifying the initialization data as
  documented in Documentation/devicetree/bindings/regulator/regulator.txt.

Each regulator is defined using the standard binding for regulators. The
nodes for sw1, sw2, sw3, bb-out, ldo1, and ldo2 additionally need to specify
the resistor values of their external feedback voltage dividers:

Required properties (not on ldo3, ldo4):
- lltc,fb-voltage-divider: An array of two integers containing the resistor
  values R1 and R2 of the feedback voltage divider in ohms.

Regulators sw1, sw2, sw3, and ldo2 can regulate the feedback reference from
0.3625 V to 0.75 V in 12.5 mV steps. The output voltage thus ranges between
0.3625 * (1 + R1/R2) V and 0.75 * (1 + R1/R2) V. Regulators bb-out and ldo1
have a fixed 0.8 V reference and thus output 0.8 * (1 + R1/R2) V. The ldo3
regulator is fixed to 1.8 V on LTC3589 and to 2.8 V on LTC3589-1,2. The ldo4
regulator can output between 1.8 V and 3.3 V on LTC3589 and between 1.2 V
and 3.2 V on LTC3589-1,2 in four steps. The ldo1 standby regulator can not
be disabled and thus should have the regulator-always-on property set.

Example:

	ltc3589: pmic@34 {
		compatible = "lltc,ltc3589-1";
		reg = <0x34>;

		regulators {
			sw1_reg: sw1 {
				regulator-min-microvolt = <591930>;
				regulator-max-microvolt = <1224671>;
				lltc,fb-voltage-divider = <100000 158000>;
				regulator-ramp-delay = <7000>;
				regulator-boot-on;
				regulator-always-on;
			};

			sw2_reg: sw2 {
				regulator-min-microvolt = <704123>;
				regulator-max-microvolt = <1456803>;
				lltc,fb-voltage-divider = <180000 191000>;
				regulator-ramp-delay = <7000>;
				regulator-boot-on;
				regulator-always-on;
			};

			sw3_reg: sw3 {
				regulator-min-microvolt = <1341250>;
				regulator-max-microvolt = <2775000>;
				lltc,fb-voltage-divider = <270000 100000>;
				regulator-ramp-delay = <7000>;
				regulator-boot-on;
				regulator-always-on;
			};

			bb_out_reg: bb-out {
				regulator-min-microvolt = <3387341>;
				regulator-max-microvolt = <3387341>;
				lltc,fb-voltage-divider = <511000 158000>;
				regulator-boot-on;
				regulator-always-on;
			};

			ldo1_reg: ldo1 {
				regulator-min-microvolt = <1306329>;
				regulator-max-microvolt = <1306329>;
				lltc,fb-voltage-divider = <100000 158000>;
				regulator-boot-on;
				regulator-always-on;
			};

			ldo2_reg: ldo2 {
				regulator-min-microvolt = <704123>;
				regulator-max-microvolt = <1456806>;
				lltc,fb-voltage-divider = <180000 191000>;
				regulator-ramp-delay = <7000>;
				regulator-boot-on;
				regulator-always-on;
			};

			ldo3_reg: ldo3 {
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-boot-on;
			};

			ldo4_reg: ldo4 {
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3200000>;
			};
		};
	};
+1 −0
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@ lantiq Lantiq Semiconductor
lg	LG Corporation
linux	Linux-specific binding
lsi	LSI Corp. (LSI Logic)
lltc	Linear Technology Corporation
marvell	Marvell Technology Group Ltd.
maxim	Maxim Integrated Products
microchip	Microchip Technology Inc.
+8 −0
Original line number Diff line number Diff line
@@ -272,6 +272,14 @@ config REGULATOR_LP8788
	help
	  This driver supports LP8788 voltage regulator chip.

config REGULATOR_LTC3589
	tristate "LTC3589 8-output voltage regulator"
	depends on I2C
	select REGMAP_I2C
	help
	  This enables support for the LTC3589, LTC3589-1, and LTC3589-2
	  8-output regulators controlled via I2C.

config REGULATOR_MAX14577
	tristate "Maxim 14577 regulator"
	depends on MFD_MAX14577
+1 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ obj-$(CONFIG_REGULATOR_LP872X) += lp872x.o
obj-$(CONFIG_REGULATOR_LP8788) += lp8788-buck.o
obj-$(CONFIG_REGULATOR_LP8788) += lp8788-ldo.o
obj-$(CONFIG_REGULATOR_LP8755) += lp8755.o
obj-$(CONFIG_REGULATOR_LTC3589) += ltc3589.o
obj-$(CONFIG_REGULATOR_MAX14577) += max14577.o
obj-$(CONFIG_REGULATOR_MAX1586) += max1586.o
obj-$(CONFIG_REGULATOR_MAX8649)	+= max8649.o
+1 −1
Original line number Diff line number Diff line
@@ -300,7 +300,7 @@ static int anatop_regulator_probe(struct platform_device *pdev)
	return 0;
}

static struct of_device_id of_anatop_regulator_match_tbl[] = {
static const struct of_device_id of_anatop_regulator_match_tbl[] = {
	{ .compatible = "fsl,anatop-regulator", },
	{ /* end */ }
};
Loading