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

title: TI bq256xx Switch Mode Buck Charger

maintainers:
  - Andrew Davis <afd@ti.com>

description: |
  The bq256xx devices are a family of highly-integrated battery charge
  management and system power management ICs for single cell Li-ion and Li-
  polymer batteries.

  Datasheets:
    - https://www.ti.com/lit/ds/symlink/bq25600.pdf
    - https://www.ti.com/lit/ds/symlink/bq25601.pdf
    - https://www.ti.com/lit/ds/symlink/bq25600d.pdf
    - https://www.ti.com/lit/ds/symlink/bq25601d.pdf
    - https://www.ti.com/lit/ds/symlink/bq25611d.pdf
    - https://www.ti.com/lit/ds/symlink/bq25618.pdf
    - https://www.ti.com/lit/ds/symlink/bq25619.pdf

properties:
  compatible:
    enum:
      - ti,bq25600
      - ti,bq25601
      - ti,bq25600d
      - ti,bq25601d
      - ti,bq25611d
      - ti,bq25618
      - ti,bq25619

  reg:
    maxItems: 1

  ti,watchdog-timeout-ms:
    default: 0
    description: |
      Watchdog timer in ms. 0 (default) disables the watchdog
    minimum: 0
    maximum: 160000
    enum: [ 0, 40000, 80000, 160000]

  input-voltage-limit-microvolt:
    description: |
       Minimum input voltage limit in µV with a 100000 µV step
    minimum: 3900000
    maximum: 5400000

  input-current-limit-microamp:
    description: |
       Maximum input current limit in µA with a 100000 µA step
    minimum: 100000
    maximum: 3200000

  monitored-battery:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: phandle to the battery node being monitored

  interrupts:
    maxItems: 1
    description: |
      Interrupt sends an active low, 256 μs pulse to host to report the charger
      device status and faults.

  ti,no-thermistor:
    type: boolean
    description: Indicates that no thermistor is connected to the TS pin

required:
  - compatible
  - reg
  - monitored-battery

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - ti,bq25600
              - ti,bq25601
              - ti,bq25600d
              - ti,bq25601d
    then:
      properties:
        ti,no-thermistor: false

additionalProperties: false

examples:
  - |
    bat: battery {
      compatible = "simple-battery";
      constant-charge-current-max-microamp = <2040000>;
      constant-charge-voltage-max-microvolt = <4352000>;
      precharge-current-microamp = <180000>;
      charge-term-current-microamp = <180000>;
    };
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {

      clock-frequency = <400000>;

      #address-cells = <1>;
      #size-cells = <0>;

      charger@6b {
        compatible = "ti,bq25601";
        reg = <0x6b>;
        monitored-battery = <&bat>;

        interrupt-parent = <&gpio1>;
        interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
        ti,watchdog-timeout-ms = <40000>;

        input-voltage-limit-microvolt = <4500000>;
        input-current-limit-microamp = <2400000>;
       };
    };
...
