[Letux-kernel] generic-adc-battery

H. Nikolaus Schaller hns at goldelico.com
Wed Feb 10 09:23:15 CET 2016


Am 10.02.2016 um 08:56 schrieb H. Nikolaus Schaller <hns at goldelico.com>:

> 
> Am 10.02.2016 um 08:49 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
> 
>> 
>> Am 10.02.2016 um 07:38 schrieb Andreas Kemnade <andreas at kemnade.info>:
>> 
>>> Hi,
>>> 
>>> On Tue, 9 Feb 2016 09:55:50 +0100
>>> "H. Nikolaus Schaller" <hns at goldelico.com> wrote:
>>> 
>>>> Hi,
>>>> @Andreas:
>>>> 
>>>> yes, the status is broken. We just know how much current is coming in through USB.
>>>> We do not know how it is split between system and charging.
>>>> 
>>>> I think we can compensate by charge-current-offset-mA. I.e. if we subtract
>>>> the default power consumption, any excess current from USB will charge.
>>>> 
>>> maybe we can also use some dU magic. There are ModelGauge things from Maxim.
>>> I think they do something like that.
>> 
>> Ok, that would need to store some voltage samples over time and detect the differences.
>> 
>>> 
>>>> I.e. offset: 400mA
>>>> 
>>> Maybe there could be a range named "unknown",
>>> That state is possible in the interface.
>> 
>> Well, it is not really "unknown" - it is not precisely enough known which is almost the same
>> but only almost.
>> 
>> Anyways, I have found the slides Pavel was referring to. But they don't show the
>> formula:
>> 
>> http://cseweb.ucsd.edu/~trosing/lectures/battery.pdf
>> 
>> Here is his full response (including an extended formula by Pavel for the range below
>> 3.3V and 19%):
>> 
>> https://lkml.org/lkml/2015/4/1/557
>> 
>> Now I understand a little why Pavel is behaving so strangely since that discussion.
>> 
>> He did some technical contribution and we did not appreciate enough. I don't remember
>> why, but most likely because the discussion already took more time than we had for it
>> and running such discussions is time consuming (and distracting from other important
>> things). (Successful) upstreaming is a full-day-job...
>> 
>> So we should probably pick up at exactly this mail. Something like:
>> 
>> What about adding this formula as a default for the voltage-to-percent-conversion to
>> the generic-adc-battery driver (and converting it to DT)? Would that be a better solution
>> than a table driven and twl4030 only driver?

And another thing to know from that old discussion:

Some people pointed out that they would like a generic battery model. I.e. some "battery"
DT node.

Which I think is over engineered for this problem.

> 
> BTW: I think the CHARGE_NOW is even completely broken:
> 
> http://lxr.free-electrons.com/source/drivers/power/generic-adc-battery.c#L168
> http://lxr.free-electrons.com/source/include/linux/power/generic-adc-battery.h#L23
> 
> It does not read any ADC and the result parameter passed to pdata->cal_charge()
> is initialized to 0.
> 
> BR,
> Nikolaus
> _______________________________________________
> http://projects.goldelico.com/p/gta04-kernel/
> Letux-kernel mailing list
> Letux-kernel at openphoenux.org
> http://lists.goldelico.com/mailman/listinfo.cgi/letux-kernel



More information about the Letux-kernel mailing list