[PATCH v4 2/3] iio: adc: mt6397-auxadc: add mt6397 PMIC AUXADC driver

Andy Shevchenko andriy.shevchenko at intel.com
Mon Sep 28 14:49:49 PDT 2026


On Mon, Sep 28, 2026 at 03:57:20PM -0500, Ryan Brue wrote:
> The mt6397 AUXADC is a 10-bit ADC behind the SoC's PMIC wrapper. On boards
> built around this PMIC it is the only way to read the battery: the SoC's
> AUXADC is wired to board thermistors and the charger ICs these boards use
> have no ADC of their own.
> 
> Add a driver exposing the battery voltage and battery temperature
> channels. Only those two are described, so a channel ID in the device tree
> indexes the driver's channel array rather than the PMIC's channel number,
> as mt6323-auxadc does. The ready bit lives in a channel's raw result
> register, but the value comes from the chip's factory-calibrated copy.
> 
> The battery voltage is measured through ISENSE, because a board with a
> switching charger in the power path leaves BATSNS on the charger's system
> rail instead of on the pack. The thermistor only reads correctly with the
> PMIC's battery-detect bias and input buffer enabled, which take 20 ms to
> settle. Both are switched back off afterwards.
> 
> Reads average sixteen conversions in software; the chip's sample
> accumulator makes no measurable difference at any setting, so it is left
> at one sample per conversion.

Reviewed-by: Andy Shevchenko <andriy.shevchenko at intel.com>

-- 
With Best Regards,
Andy Shevchenko





More information about the Linux-mediatek mailing list