# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/power/supply/cw2015_battery.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Battery driver for CW2015 shuntless fuel gauge by CellWise.

maintainers:
  - Tobias Schramm <t.schramm@manjaro.org>

description: |
  The driver can utilize information from a simple-battery linked via a
  phandle in monitored-battery. If specified the driver uses the
  charge-full-design-microamp-hours property of the battery.

allOf:
  - $ref: power-supply.yaml#

properties:
  compatible:
    const: cellwise,cw2015

  reg:
    maxItems: 1

  cellwise,battery-profile:
    description: |
      This property specifies characteristics of the battery used. The format
      of this binary blob is kept secret by CellWise. The only way to obtain
      it is to mail two batteries to a test facility of CellWise and receive
      back a test report with the binary blob.
    $ref: /schemas/types.yaml#/definitions/uint8-array
    minItems: 64
    maxItems: 64

  cellwise,monitor-interval-ms:
    description:
      Specifies the interval in milliseconds gauge values are polled at
    minimum: 250

  power-supplies:
    minItems: 1
    maxItems: 8 # Should be enough

  monitored-battery:
    description:
      Specifies the phandle of a simple-battery connected to this gauge
    $ref: /schemas/types.yaml#/definitions/phandle

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        cw2015@62 {
            compatible = "cellwise,cw2015";
            reg = <0x62>;
            cellwise,battery-profile = /bits/ 8 <
                0x17 0x67 0x80 0x73 0x6E 0x6C 0x6B 0x63
                0x77 0x51 0x5C 0x58 0x50 0x4C 0x48 0x36
                0x15 0x0C 0x0C 0x19 0x5B 0x7D 0x6F 0x69
                0x69 0x5B 0x0C 0x29 0x20 0x40 0x52 0x59
                0x57 0x56 0x54 0x4F 0x3B 0x1F 0x7F 0x17
                0x06 0x1A 0x30 0x5A 0x85 0x93 0x96 0x2D
                0x48 0x77 0x9C 0xB3 0x80 0x52 0x94 0xCB
                0x2F 0x00 0x64 0xA5 0xB5 0x11 0xF0 0x11
           >;
           cellwise,monitor-interval-ms = <5000>;
           monitored-battery = <&bat>;
           power-supplies = <&mains_charger>, <&usb_charger>;
       };
    };
