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

title: AB8500 Battery Temperature Monitor

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

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

properties:
  compatible:
    const: stericsson,ab8500-btemp

  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: BAT_CTRL_INDB
      - const: BTEMP_LOW
      - const: BTEMP_HIGH
      - const: BTEMP_LOW_MEDIUM
      - const: BTEMP_MEDIUM_HIGH

  io-channels:
    maxItems: 2

  io-channel-names:
    items:
      - const: btemp_ball
      - const: bat_ctrl

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

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    pmic {
      battery-temperature {
        compatible = "stericsson,ab8500-btemp";
        monitored-battery = <&battery>;
        interrupts = <20 IRQ_TYPE_LEVEL_HIGH>,
                     <80 IRQ_TYPE_LEVEL_HIGH>,
                     <83 IRQ_TYPE_LEVEL_HIGH>,
                     <81 IRQ_TYPE_LEVEL_HIGH>,
                     <82 IRQ_TYPE_LEVEL_HIGH>;
        interrupt-names = "BAT_CTRL_INDB",
                          "BTEMP_LOW",
                          "BTEMP_HIGH",
                          "BTEMP_LOW_MEDIUM",
                          "BTEMP_MEDIUM_HIGH";
        io-channels = <&gpadc 0x02>, <&gpadc 0x01>;
        io-channel-names = "btemp_ball", "bat_ctrl";
      };
    };