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

title: TI bq2515x 500-mA Linear charger family

maintainers:
  - Dan Murphy <dmurphy@ti.com>
  - Ricardo Rivera-Matos <r-rivera-matos@ti.com>

description: |
  The BQ2515x family is a highly integrated battery charge management IC that
  integrates the most common functions for wearable devices, namely a charger,
  an output voltage rail, ADC for battery and system monitoring, and
  push-button controller.

  Specifications about the charger can be found at:
    http://www.ti.com/lit/ds/symlink/bq25150.pdf
    http://www.ti.com/lit/ds/symlink/bq25155.pdf

properties:
  compatible:
    enum:
      - ti,bq25150
      - ti,bq25155

  reg:
    maxItems: 1
    description: I2C address of the charger.

  ac-detect-gpios:
    description: |
       GPIO used for connecting the bq2515x device PG (AC Detect)
       pin.
    maxItems: 1

  reset-gpios:
    description: GPIO used for hardware reset.
    maxItems: 1

  powerdown-gpios:
    description: GPIO used for low power mode of IC.
    maxItems: 1

  charge-enable-gpios:
    description: GPIO used to turn on and off charging.
    maxItems: 1

  input-current-limit-microamp:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Maximum input current in micro Amps.
    minimum: 50000
    maximum: 500000

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

required:
  - compatible
  - reg
  - monitored-battery

additionalProperties: false

examples:
  - |
    bat: battery {
      compatible = "simple-battery";
      constant-charge-current-max-microamp = <50000>;
      precharge-current-microamp = <2500>;
      constant-charge-voltage-max-microvolt = <4000000>;
    };
    #include <dt-bindings/gpio/gpio.h>
    i2c0 {
      #address-cells = <1>;
      #size-cells = <0>;

      bq25150: charger@6b {
        compatible = "ti,bq25150";
        reg = <0x6b>;
        monitored-battery = <&bat>;
        input-current-limit-microamp = <100000>;

        ac-detect-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
        reset-gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
        powerdown-gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
        charge-enable-gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
      };
    };
