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

title: MediaTek MT6370 Battery Charger

maintainers:
  - ChiaEn Wu <chiaen_wu@richtek.com>

description: |
  This module is part of the MT6370 MFD device.
  Provides Battery Charger, Boost for OTG devices and BC1.2 detection.

properties:
  compatible:
    const: mediatek,mt6370-charger

  interrupts:
    description: |
      Specify what irqs are needed to be handled by MT6370 Charger driver.
      We need to use the IRQ "MT6370_IRQ_OVPCTRL_UVP_D" to know when USB
      is plugged in, and then the driver will enable BC1.2 detection.
      After the hardware of MT6370 completes the BC1.2 detection,
      IRQ "MT6370_IRQ_ATTACH" will be triggered, and the driver will know
      the result of BC1.2 detection.
      When the IRQ "MT6370_IRQ_CHG_MIVR" is triggered, it means that the
      hardware enters the "Minimum Input Voltage Regulation loop" and
      a workaround needs to be applied at this time.
      In summary, "MT6370_IRQ_OVPCTRL_UVP_D", "MT6370_IRQ_ATTACH" and
      "MT6370_IRQ_CHG_MIVR" are required in this charger driver.
    items:
      - description: irq of "USB is plugged in"
      - description: irq of "BC1.2 is done"
      - description: irq of "Minimum Input Voltage Regulation loop is active"

  interrupt-names:
    items:
      - const: uvp_d_evt
      - const: attach_i
      - const: mivr

  io-channels:
    description: |
      Use ADC channel to read VBUS, IBUS, IBAT, etc., info.
    minItems: 1
    items:
      - description: |
          VBUS voltage with lower accuracy (+-75mV) but higher measure
          range (1~22V)
      - description: |
          VBUS voltage with higher accuracy (+-30mV) but lower measure
          range (1~9.76V)
      - description: the main system input voltage
      - description: battery voltage
      - description: battery temperature-sense input voltage
      - description: IBUS current (required)
      - description: battery current
      - description: |
          regulated output voltage to supply for the PWM low-side gate driver
          and the bootstrap capacitor
      - description: IC junction temperature

  io-channel-names:
    minItems: 1
    items:
      - const: vbusdiv5
      - const: vbusdiv2
      - const: vsys
      - const: vbat
      - const: ts_bat
      - const: ibus
      - const: ibat
      - const: chg_vddp
      - const: temp_jc

  usb-otg-vbus-regulator:
    type: object
    description: OTG boost regulator.
    unevaluatedProperties: false
    $ref: /schemas/regulator/regulator.yaml#

    properties:
      enable-gpios:
        maxItems: 1

required:
  - compatible
  - interrupts
  - interrupt-names
  - io-channels

additionalProperties: false

...
