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

Commit 6727479f authored by Mark Brown's avatar Mark Brown
Browse files

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

Merge remote-tracking branches 'regulator/topic/act8865', 'regulator/topic/anatop', 'regulator/topic/arizona', 'regulator/topic/axp20x' and 'regulator/topic/bcm590xx' into regulator-next
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -60,8 +60,8 @@ DCDC2 : DC-DC buck : vin2-supply
DCDC3		: DC-DC	buck	: vin3-supply
DCDC4		: DC-DC	buck	: vin4-supply
DCDC5		: DC-DC	buck	: vin5-supply
DC1SW		: On/Off Switch	: dcdc1-supply		: DCDC1 secondary output
DC5LDO		: LDO		: dcdc5-supply		: input from DCDC5
DC1SW		: On/Off Switch	:			: DCDC1 secondary output
DC5LDO		: LDO		:			: input from DCDC5
ALDO1		: LDO		: aldoin-supply		: shared supply
ALDO2		: LDO		: aldoin-supply		: shared supply
ALDO3		: LDO		: aldoin-supply		: shared supply
+3 −0
Original line number Diff line number Diff line
@@ -8,6 +8,8 @@ Required properties:
Optional properties:
- system-power-controller: Telling whether or not this pmic is controlling
  the system power. See Documentation/devicetree/bindings/power/power-controller.txt .
- active-semi,vsel-high: Indicates the VSEL pin is high.
  If this property is missing, assume the VSEL pin is low(0).

Optional input supply properties:
- for act8600:
@@ -49,6 +51,7 @@ Example:
			pmic: act8865@5b {
				compatible = "active-semi,act8865";
				reg = <0x5b>;
				active-semi,vsel-high;
				status = "disabled";

				regulators {
+1 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ Optional properties:
- anatop-delay-reg-offset: Anatop MFD step time register offset
- anatop-delay-bit-shift: Bit shift for the step time register
- anatop-delay-bit-width: Number of bits used in the step time register
- vin-supply: The supply for this regulator

Any property defined as part of the core regulator
binding, defined in regulator.txt, can also be used.
+17 −0
Original line number Diff line number Diff line
Cirrus Logic Arizona class audio SoCs

These devices are audio SoCs with extensive digital capabilities and a range
of analogue I/O.

This document lists regulator specific bindings, see the primary binding
document:
  ../mfd/arizona.txt

Optional properties:
  - wlf,ldoena : GPIO specifier for the GPIO controlling LDOENA

Optional subnodes:
  - ldo1 : Initial data for the LDO1 regulator, as covered in
    Documentation/devicetree/bindings/regulator/regulator.txt
  - micvdd : Initial data for the MICVDD regulator, as covered in
    Documentation/devicetree/bindings/regulator/regulator.txt
+22 −2
Original line number Diff line number Diff line
@@ -261,6 +261,16 @@ static const struct regulator_desc act8865_regulators[] = {
	ACT88xx_REG("LDO_REG4", ACT8865, LDO4, VSET, "inl67"),
};

static const struct regulator_desc act8865_alt_regulators[] = {
	ACT88xx_REG("DCDC_REG1", ACT8865, DCDC1, VSET2, "vp1"),
	ACT88xx_REG("DCDC_REG2", ACT8865, DCDC2, VSET2, "vp2"),
	ACT88xx_REG("DCDC_REG3", ACT8865, DCDC3, VSET2, "vp3"),
	ACT88xx_REG("LDO_REG1", ACT8865, LDO1, VSET, "inl45"),
	ACT88xx_REG("LDO_REG2", ACT8865, LDO2, VSET, "inl45"),
	ACT88xx_REG("LDO_REG3", ACT8865, LDO3, VSET, "inl67"),
	ACT88xx_REG("LDO_REG4", ACT8865, LDO4, VSET, "inl67"),
};

#ifdef CONFIG_OF
static const struct of_device_id act8865_dt_ids[] = {
	{ .compatible = "active-semi,act8600", .data = (void *)ACT8600 },
@@ -413,6 +423,7 @@ static int act8865_pmic_probe(struct i2c_client *client,
	struct act8865 *act8865;
	unsigned long type;
	int off_reg, off_mask;
	int voltage_select = 0;

	pdata = dev_get_platdata(dev);

@@ -424,6 +435,10 @@ static int act8865_pmic_probe(struct i2c_client *client,
			return -ENODEV;

		type = (unsigned long) id->data;

		voltage_select = !!of_get_property(dev->of_node,
						   "active-semi,vsel-high",
						   NULL);
	} else {
		type = i2c_id->driver_data;
	}
@@ -442,8 +457,13 @@ static int act8865_pmic_probe(struct i2c_client *client,
		off_mask = ACT8846_OFF_SYSMASK;
		break;
	case ACT8865:
		if (voltage_select) {
			regulators = act8865_alt_regulators;
			num_regulators = ARRAY_SIZE(act8865_alt_regulators);
		} else {
			regulators = act8865_regulators;
			num_regulators = ARRAY_SIZE(act8865_regulators);
		}
		off_reg = ACT8865_SYS_CTRL;
		off_mask = ACT8865_MSTROFF;
		break;
Loading