#
# Copyright (c) 2020 Linumiz
#
# SPDX-License-Identifier: Apache-2.0
#

description: Texas Instruments BQ274xx Fuel Gauge

compatible: "ti,bq274xx"

include: [sensor-device.yaml, i2c-device.yaml]

properties:
  design-voltage:
    type: int
    required: true
    description: Battery Design Voltage in mV (3300 - 4400)

  design-capacity:
    type: int
    required: true
    description: Battery Design Capacity in mAh

  taper-current:
    type: int
    required: true
    description: |
      Current in mA slightly higher than the taper current threshold at which
      point the charger cuts off charging.

  terminate-voltage:
    type: int
    required: true
    description: |
      Minimum operating voltage of your system. This is the target where the
      gauge typically reports 0% capacity. In mV.

  chemistry-id:
    type: int
    description: |
      The value of the Chem ID register. When zero, the driver will not check the register.
      See the reference manual for the specific BQ274xx variant for values.

  int-gpios:
    type: phandle-array
    description: |
      The INT signal defaults to active low open drain, so requires a
      pull-up on the board. By default it acts as an output and signals
      specific events happening (e.g. change in State of Charge).
      Note this pin is required for this sensor's power management APIs: in
      shutdown mode it acts as an input and toggling it will make the sensor
      exit the mode.

  zephyr,lazy-load:
    type: boolean
    description: |
      Configuring the sensor can take a long time, using lazy loading we can delay
      until the first sample request and keep the boot time as short as possible.
