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

title: Microchip PAC1934 Power Monitors with Accumulator

maintainers:
  - Marius Cristea <marius.cristea@microchip.com>

description: |
  This device is part of the Microchip family of Power Monitors with
  Accumulator.
  The datasheet for PAC1931, PAC1932, PAC1933 and PAC1934 can be found here:
    https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/PAC1931-Family-Data-Sheet-DS20005850E.pdf

properties:
  compatible:
    enum:
      - microchip,pac1931
      - microchip,pac1932
      - microchip,pac1933
      - microchip,pac1934

  reg:
    maxItems: 1

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

  interrupts:
    maxItems: 1

  slow-io-gpios:
    description:
      A GPIO used to trigger a change is sampling rate (lowering the chip power
      consumption). If configured in SLOW mode, if this pin is forced high,
      sampling rate is forced to eight samples/second. When it is forced low,
      the sampling rate is 1024 samples/second unless a different sample rate
      has been programmed.

patternProperties:
  "^channel@[1-4]+$":
    type: object
    $ref: adc.yaml
    description:
      Represents the external channels which are connected to the ADC.

    properties:
      reg:
        items:
          minimum: 1
          maximum: 4

      shunt-resistor-micro-ohms:
        description:
          Value in micro Ohms of the shunt resistor connected between
          the SENSE+ and SENSE- inputs, across which the current is measured.
          Value is needed to compute the scaling of the measured current.

    required:
      - reg
      - shunt-resistor-micro-ohms

    unevaluatedProperties: false

required:
  - compatible
  - reg
  - "#address-cells"
  - "#size-cells"

additionalProperties: false

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

        power-monitor@10 {
            compatible = "microchip,pac1934";
            reg = <0x10>;

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

            channel@1 {
                reg = <0x1>;
                shunt-resistor-micro-ohms = <24900000>;
                label = "CPU";
            };

            channel@2 {
                reg = <0x2>;
                shunt-resistor-micro-ohms = <49900000>;
                label = "GPU";
            };

            channel@3 {
                reg = <0x3>;
                shunt-resistor-micro-ohms = <75000000>;
                label = "MEM";
                bipolar;
            };

            channel@4 {
                reg = <0x4>;
                shunt-resistor-micro-ohms = <100000000>;
                label = "NET";
                bipolar;
            };
        };
    };

...
