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

Commit 7f5df45f authored by Andreas Kemnade's avatar Andreas Kemnade Committed by Greg Kroah-Hartman
Browse files

iio:adc:twl6030: Enable measurements of VUSB, VBAT and others



commit f804bd0dc28683a93a60f271aaefb2fc5b0853dd upstream.

Some inputs need to be wired up to produce proper measurements,
without this change only near zero values are reported.

Signed-off-by: default avatarAndreas Kemnade <andreas@kemnade.info>
Fixes: 1696f364 ("iio: twl6030-gpadc: TWL6030, TWL6032 GPADC driver")
Link: https://lore.kernel.org/r/20221201181635.3522962-1-andreas@kemnade.info


Cc: <Stable@vger.kernel.org>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 4b82cc9f
Loading
Loading
Loading
Loading
+32 −0
Original line number Diff line number Diff line
@@ -57,6 +57,18 @@
#define TWL6030_GPADCS				BIT(1)
#define TWL6030_GPADCR				BIT(0)

#define USB_VBUS_CTRL_SET			0x04
#define USB_ID_CTRL_SET				0x06

#define TWL6030_MISC1				0xE4
#define VBUS_MEAS				0x01
#define ID_MEAS					0x01

#define VAC_MEAS                0x04
#define VBAT_MEAS               0x02
#define BB_MEAS                 0x01


/**
 * struct twl6030_chnl_calib - channel calibration
 * @gain:		slope coefficient for ideal curve
@@ -927,6 +939,26 @@ static int twl6030_gpadc_probe(struct platform_device *pdev)
		return ret;
	}

	ret = twl_i2c_write_u8(TWL_MODULE_USB, VBUS_MEAS, USB_VBUS_CTRL_SET);
	if (ret < 0) {
		dev_err(dev, "failed to wire up inputs\n");
		return ret;
	}

	ret = twl_i2c_write_u8(TWL_MODULE_USB, ID_MEAS, USB_ID_CTRL_SET);
	if (ret < 0) {
		dev_err(dev, "failed to wire up inputs\n");
		return ret;
	}

	ret = twl_i2c_write_u8(TWL6030_MODULE_ID0,
				VBAT_MEAS | BB_MEAS | BB_MEAS,
				TWL6030_MISC1);
	if (ret < 0) {
		dev_err(dev, "failed to wire up inputs\n");
		return ret;
	}

	indio_dev->name = DRIVER_NAME;
	indio_dev->dev.parent = dev;
	indio_dev->info = &twl6030_gpadc_iio_info;