# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2021 Sebastian Reichel
%YAML 1.2
---
$id: "http://devicetree.org/schemas/power/supply/stericsson,ab8500-fg.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: AB8500 Fuel Gauge

maintainers:
  - Sebastian Reichel <sre@kernel.org>

allOf:
  - $ref: power-supply.yaml#

properties:
  compatible:
    const: stericsson,ab8500-fg

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

  battery:
    $ref: /schemas/types.yaml#/definitions/phandle
    deprecated: true

  interrupts:
    maxItems: 5

  interrupt-names:
    items:
      - const: NCONV_ACCU
      - const: BATT_OVV
      - const: LOW_BAT_F
      - const: CC_INT_CALIB
      - const: CCEOC

  io-channels:
    maxItems: 1

  io-channel-names:
    items:
      - const: main_bat_v

required:
  - compatible
  - monitored-battery
  - interrupts
  - interrupt-names
  - io-channels
  - io-channel-names

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    pmic {
      fuel-gauge {
        compatible = "stericsson,ab8500-fg";
        monitored-battery = <&battery>;
        interrupts = <24 IRQ_TYPE_LEVEL_HIGH>,
                     <8 IRQ_TYPE_LEVEL_HIGH>,
                     <28 IRQ_TYPE_LEVEL_HIGH>,
                     <27 IRQ_TYPE_LEVEL_HIGH>,
                     <26 IRQ_TYPE_LEVEL_HIGH>;
        interrupt-names = "NCONV_ACCU",
                          "BATT_OVV",
                          "LOW_BAT_F",
                          "CC_INT_CALIB",
                          "CCEOC";
        io-channels = <&gpadc 0x08>;
        io-channel-names = "main_bat_v";
      };
    };
