# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/hwmon/renesas,isl28022.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Renesas ISL28022 power monitor

maintainers:
  - Carsten Spieß <mail@carsten-spiess.de>

description: |
  The ISL28022 is a power monitor with I2C interface. The device monitors
  voltage, current via shunt resistor and calculated power.

  Datasheets:
    https://www.renesas.com/us/en/www/doc/datasheet/isl28022.pdf

properties:
  compatible:
    const: renesas,isl28022

  reg:
    maxItems: 1

  shunt-resistor-micro-ohms:
    description:
      Shunt resistor value in micro-Ohm
    minimum: 800
    default: 10000

  renesas,shunt-range-microvolt:
    description:
      Maximal shunt voltage range of +/- 40 mV, 80 mV, 160 mV or 320 mV
    default: 320000
    enum: [40000, 80000, 160000, 320000]

  renesas,average-samples:
    description:
      Number of samples to be used to report voltage, current and power values.
    default: 1
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [1, 2, 4, 8, 16, 32, 64, 128]

required:
  - compatible
  - reg

additionalProperties: false

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

        power-monitor@40 {
            compatible = "renesas,isl28022";
            reg = <0x40>;
            shunt-resistor-micro-ohms = <8000>;
            renesas,shunt-range-microvolt = <40000>;
            renesas,average-samples = <128>;
        };
    };
