[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c4dc5045-48ee-a27b-98a8-22fdb37d6ba9@gmail.com>
Date: Tue, 14 Jul 2020 11:49:44 +0300
From: Iskren Chernev <iskren.chernev@...il.com>
To: Rob Herring <robh@...nel.org>
Cc: Sebastian Reichel <sre@...nel.org>, linux-pm@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
~postmarketos/upstreaming@...ts.sr.ht,
Jonathan Bakker <xc-racer2@...e.ca>,
Vladimir Barinov <vladimir.barinov@...entembedded.com>
Subject: Re: [PATCH v3 2/6] dt-bindings: power: supply: Extend max17040
compatibility
On 7/13/20 10:03 PM, Rob Herring wrote:
> On Wed, Jun 24, 2020 at 06:56:29PM +0300, Iskren Chernev wrote:
>> Maxim max17040 is a fuel gauge from a larger family utilising the Model
>> Gauge technology. Document all different compatible strings that the
>> max17040 driver recognizes.
>>
>> Some devices in the wild report double the capacity. The
>> maxim,double-soc (from State-Of-Charge) property fixes that.
>>
>> Signed-off-by: Iskren Chernev <iskren.chernev@...il.com>
>> ---
>> .../bindings/power/supply/max17040_battery.txt | 15 ++++++++++++++-
>> 1 file changed, 14 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/power/supply/max17040_battery.txt b/Documentation/devicetree/bindings/power/supply/max17040_battery.txt
>> index 4e0186b8380fa..554bce82a08e6 100644
>> --- a/Documentation/devicetree/bindings/power/supply/max17040_battery.txt
>> +++ b/Documentation/devicetree/bindings/power/supply/max17040_battery.txt
>> @@ -2,7 +2,9 @@ max17040_battery
>> ~~~~~~~~~~~~~~~~
>>
>> Required properties :
>> - - compatible : "maxim,max17040" or "maxim,max77836-battery"
>> + - compatible : "maxim,max17040", "maxim,max17041", "maxim,max17043",
>> + "maxim,max17044", "maxim,max17048", "maxim,max17049",
>> + "maxim,max17058", "maxim,max17059" or "maxim,max77836-battery"
>> - reg: i2c slave address
>>
>> Optional properties :
>> @@ -11,6 +13,10 @@ Optional properties :
>> generated. Can be configured from 1 up to 32
>> (%). If skipped the power up default value of
>> 4 (%) will be used.
>> +- maxim,double-soc : Certain devices return double the capacity.
>> + Specify this boolean property to divide the
>> + reported value in 2 and thus normalize it.
>> + SOC == State of Charge == Capacity.
>
> This can't be implied by the compatible string?
>
>From what I can tell - no. Here are multiple examples of downstream code:
For max17043:
- single soc [1]
- double soc [2]
- both (toggle with macro) [3]
For max17048:
- single soc [4]
- double soc [5]
- both (toggle with dts) [6], docs [7]
For max17058:
- both (toggle with macro) [8], this device is single
- both (toggle with dts) [9], this device is double [10]
[1] https://github.com/LineageOS/lge-kernel-sniper/blob/9907b1312e9b4c5c4f73ac9bf2e772b12e1c9145/drivers/power/max17043_fuelgauge.c#L383
[2] https://github.com/LineageOS/android_kernel_lge_v500/blob/b4fe00e1f8f09c173a6c28a42ca69ff9529cc13b/drivers/power/max17043_fuelgauge.c#L307
[3] https://github.com/LineageOS/lge-kernel-p880/blob/c5795644a60338f88c7aa29208efadde835ea769/drivers/power/max17043_fuelgauge.c#L406
[4] https://github.com/LineageOS/lge-kernel-star/blob/d963160ebd8e64263ed740d5f1e1a0324085a826/drivers/power/max17048_battery.c#L168
[5] https://github.com/LineageOS/android_kernel_samsung_p4/blob/b190cf1bf4ca0e597a51c820a323f2aa3b2c8585/drivers/power/max17048_battery.c#L192
[6] https://github.com/LineageOS/android_kernel_htc_flounder/blob/03e0b4f36fc60c226adacdb48306df9ec65de33b/drivers/power/max17048_battery.c#L248
[7] https://github.com/LineageOS/android_kernel_htc_flounder/blob/03e0b4f36fc60c226adacdb48306df9ec65de33b/Documentation/devicetree/bindings/power_supply/max17048_battery.txt#L23
[8] https://github.com/LineageOS/android_kernel_asus_moorefield/blob/c3eae894ce8092c2a9a51f9a4924c8df714d6b3c/drivers/power/ASUS_BATTERY/max17058_battery.c#L551
[9] https://github.com/LineageOS/android_kernel_motorola_msm8916/blob/415000d938de1aa46206043e06f033edf33557ce/drivers/power/max17058_battery.c#L225
[10] https://github.com/LineageOS/android_kernel_motorola_msm8916/blob/415000d938de1aa46206043e06f033edf33557ce/arch/arm/boot/dts/qcom/msm8916-harpia-p0a.dts#L59
>> - interrupts : Interrupt line see Documentation/devicetree/
>> bindings/interrupt-controller/interrupts.txt
>> - wakeup-source : This device has wakeup capabilities. Use this
>> @@ -31,3 +37,10 @@ Example:
>> interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
>> wakeup-source;
>> };
>> +
>> + battery-fuel-gauge@36 {
>> + compatible = "maxim,max17048";
>> + reg = <0x36>;
>> + maxim,alert-low-soc-level = <10>;
>> + maxim,double-soc;
>> + };
>> --
>> 2.27.0
>>
Powered by blists - more mailing lists