[PATCH v2 2/4] power: add axp20x-battery driver
Maxime Ripard
maxime.ripard at free-electrons.com
Mon Oct 10 06:12:05 PDT 2016
Adding the real Quentin address
On Mon, Oct 10, 2016 at 02:57:26PM +0200, Maxime Ripard wrote:
> Hi Icenowy,
>
> On Sun, Oct 09, 2016 at 02:27:12PM +0800, Icenowy Zheng wrote:
> > + case POWER_SUPPLY_PROP_CURRENT_NOW:
> > + ret = regmap_read(power->regmap, AXP20X_BATT_DISCHRG_I_H, &dh);
> > + if (ret)
> > + return ret;
> > + ret = regmap_read(power->regmap, AXP20X_BATT_DISCHRG_I_L, &dl);
> > + if (ret)
> > + return ret;
> > + /* it's a 12 bit integer, high 8-bit is stored in dh */
> > + val->intval = dh << 4 | dl >> 4;
> > + break;
> > + case POWER_SUPPLY_PROP_VOLTAGE_NOW:
> > + ret = regmap_read(power->regmap, AXP20X_BATT_V_H, &dh);
> > + if (ret)
> > + return ret;
> > + ret = regmap_read(power->regmap, AXP20X_BATT_V_L, &dl);
> > + if (ret)
> > + return ret;
> > + /* it's a 12 bit integer, high 8-bit is stored in dh */
> > + val->intval = dh << 4 | dl >> 4;
> > + /* The formula below is from axp22_vbat_to_mV function
> > + * of Allwinner 3.4 kernel.
> > + */
> > + val->intval = val->intval * 1100 / 1000;
> > + break;
>
> I really feel that this should be implemented through a IIO driver
> (like the AXP288). This is especially true for the AXP209 and its
> multiple GPIOs that can be muxed to a general purpose ADC, but it's
> also true for the AXP221 / 223 TS pin that can also be used as an ADC.
>
> Quentin has been working on this lately for the AXP209, feel free to
> sync with him to support the AXP22*
>
> Maxime
>
> --
> Maxime Ripard, Free Electrons
> Embedded Linux and Kernel engineering
> http://free-electrons.com
--
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20161010/ff37d435/attachment.sig>
More information about the linux-arm-kernel
mailing list