[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