162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/power/supply/lltc,ltc294x.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: LTC2941, LTC2942, LTC2943 and LTC2944 battery fuel gauges
862306a36Sopenharmony_ci
962306a36Sopenharmony_cidescription: |
1062306a36Sopenharmony_ci  All chips measure battery capacity.
1162306a36Sopenharmony_ci  The LTC2942 is pin compatible with the LTC2941, it adds voltage and
1262306a36Sopenharmony_ci  temperature monitoring, and is runtime detected. LTC2943 and LTC2944
1362306a36Sopenharmony_ci  are software compatible, uses a slightly different conversion formula
1462306a36Sopenharmony_ci  for the charge counter and adds voltage, current and temperature monitoring.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_cimaintainers:
1762306a36Sopenharmony_ci  - Sebastian Reichel <sre@kernel.org>
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciallOf:
2062306a36Sopenharmony_ci  - $ref: power-supply.yaml#
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciproperties:
2362306a36Sopenharmony_ci  compatible:
2462306a36Sopenharmony_ci    enum:
2562306a36Sopenharmony_ci      - lltc,ltc2941
2662306a36Sopenharmony_ci      - lltc,ltc2942
2762306a36Sopenharmony_ci      - lltc,ltc2943
2862306a36Sopenharmony_ci      - lltc,ltc2944
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci  reg:
3162306a36Sopenharmony_ci    maxItems: 1
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci  lltc,resistor-sense:
3462306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/int32
3562306a36Sopenharmony_ci    description: |
3662306a36Sopenharmony_ci      Sense resistor value in milli-ohms.
3762306a36Sopenharmony_ci      Can be negative value when the battery has been connected to the wrong end of the resistor.
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci  lltc,prescaler-exponent:
4062306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
4162306a36Sopenharmony_ci    description: |
4262306a36Sopenharmony_ci      The prescaler exponent as explained in the datasheet.
4362306a36Sopenharmony_ci      This determines the range and accuracy of the gauge.
4462306a36Sopenharmony_ci      The value is programmed into the chip only if it differs from the current setting.
4562306a36Sopenharmony_ci      The setting is lost when the battery is disconnected.
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_cirequired:
4862306a36Sopenharmony_ci  - compatible
4962306a36Sopenharmony_ci  - reg
5062306a36Sopenharmony_ci  - lltc,resistor-sense
5162306a36Sopenharmony_ci  - lltc,prescaler-exponent
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ciadditionalProperties: false
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ciexamples:
5662306a36Sopenharmony_ci  - |
5762306a36Sopenharmony_ci    i2c {
5862306a36Sopenharmony_ci      #address-cells = <1>;
5962306a36Sopenharmony_ci      #size-cells = <0>;
6062306a36Sopenharmony_ci      battery@64 {
6162306a36Sopenharmony_ci        compatible = "lltc,ltc2943";
6262306a36Sopenharmony_ci        reg = <0x64>;
6362306a36Sopenharmony_ci        lltc,resistor-sense = <15>;
6462306a36Sopenharmony_ci        lltc,prescaler-exponent = <5>; /* 2^(2*5) = 1024 */
6562306a36Sopenharmony_ci      };
6662306a36Sopenharmony_ci    };
67