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

title: Battery charger driver for SMB345, SMB347 and SMB358

maintainers:
  - David Heidelberg <david@ixit.cz>
  - Dmitry Osipenko <digetx@gmail.com>

properties:
  compatible:
    enum:
      - summit,smb345
      - summit,smb347
      - summit,smb358

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

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

  summit,enable-usb-charging:
    type: boolean
    description: Enable charging through USB.

  summit,enable-otg-charging:
    type: boolean
    description: Provide power for USB OTG

  summit,enable-mains-charging:
    type: boolean
    description: Enable charging through mains

  summit,enable-charge-control:
    description: Enable charging control
    $ref: /schemas/types.yaml#/definitions/uint32
    enum:
      - 0 # SMB3XX_CHG_ENABLE_SW SW (I2C interface)
      - 1 # SMB3XX_CHG_ENABLE_PIN_ACTIVE_LOW Pin control (Active Low)
      - 2 # SMB3XX_CHG_ENABLE_PIN_ACTIVE_HIGH Pin control (Active High)

  summit,fast-voltage-threshold-microvolt:
    description: Voltage threshold to transit to fast charge mode (in uV)
    minimum: 2400000
    maximum: 3000000

  summit,mains-current-limit-microamp:
    description: Maximum input current from AC/DC input (in uA)

  summit,usb-current-limit-microamp:
    description: Maximum input current from USB input (in uA)

  summit,charge-current-compensation-microamp:
    description: Charge current compensation (in uA)

  summit,chip-temperature-threshold-celsius:
    description: Chip temperature for thermal regulation in °C.
    enum: [100, 110, 120, 130]

  summit,soft-compensation-method:
    description: Soft temperature limit compensation method
    $ref: /schemas/types.yaml#/definitions/uint32
    enum:
      - 0 # SMB3XX_SOFT_TEMP_COMPENSATE_NONE Compensation none
      - 1 # SMB3XX_SOFT_TEMP_COMPENSATE_CURRENT Current compensation
      - 2 # SMB3XX_SOFT_TEMP_COMPENSATE_VOLTAGE Voltage compensation

  summit,inok-polarity:
    description: |
      Polarity of INOK signal indicating presence of external power supply.
    $ref: /schemas/types.yaml#/definitions/uint32
    enum:
      - 0 # SMB3XX_SYSOK_INOK_ACTIVE_LOW
      - 1 # SMB3XX_SYSOK_INOK_ACTIVE_HIGH

  usb-vbus:
    $ref: /schemas/regulator/regulator.yaml#
    type: object

    properties:
      summit,needs-inok-toggle:
        type: boolean
        description: INOK signal is fixed and polarity needs to be toggled
                     in order to enable/disable output mode.

    unevaluatedProperties: false

allOf:
  - if:
      properties:
        compatible:
          enum:
            - summit,smb345
            - summit,smb358

    then:
      properties:
        summit,mains-current-limit-microamp:
          enum: [ 300000, 500000, 700000, 1000000,
                  1500000, 1800000, 2000000]

        summit,usb-current-limit-microamp:
          enum: [ 300000, 500000, 700000, 1000000,
                  1500000, 1800000, 2000000]

        summit,charge-current-compensation-microamp:
          enum: [200000, 450000, 600000, 900000]

    else:
      properties:
        summit,mains-current-limit-microamp:
          enum: [ 300000, 500000, 700000, 900000, 1200000,
                  1500000, 1800000, 2000000, 2200000, 2500000]

        summit,usb-current-limit-microamp:
          enum: [ 300000, 500000, 700000, 900000, 1200000,
                  1500000, 1800000, 2000000, 2200000, 2500000]

        summit,charge-current-compensation-microamp:
          enum: [250000, 700000, 900000, 1200000]

required:
  - compatible
  - reg

anyOf:
  - required:
      - summit,enable-usb-charging
  - required:
      - summit,enable-otg-charging
  - required:
      - summit,enable-mains-charging

additionalProperties: false

examples:
  - |
    #include <dt-bindings/power/summit,smb347-charger.h>

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

        charger@7f {
            compatible = "summit,smb347";
            reg = <0x7f>;

            summit,enable-charge-control = <SMB3XX_CHG_ENABLE_PIN_ACTIVE_HIGH>;
            summit,inok-polarity = <SMB3XX_SYSOK_INOK_ACTIVE_LOW>;
            summit,chip-temperature-threshold-celsius = <110>;
            summit,mains-current-limit-microamp = <2000000>;
            summit,usb-current-limit-microamp = <500000>;
            summit,enable-usb-charging;
            summit,enable-mains-charging;

            monitored-battery = <&battery>;

            usb-vbus {
                regulator-name = "usb_vbus";
                regulator-min-microvolt = <5000000>;
                regulator-max-microvolt = <5000000>;
                regulator-min-microamp = <750000>;
                regulator-max-microamp = <750000>;
                summit,needs-inok-toggle;
            };
        };
    };

    battery: battery-cell {
        compatible = "simple-battery";
        constant-charge-current-max-microamp = <1800000>;
        operating-range-celsius = <0 45>;
        alert-celsius = <3 42>;
    };
