# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---

$id: http://devicetree.org/schemas/hwmon/pmbus/isil,isl68137.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Renesas Digital Multiphase Voltage Regulators with PMBus

maintainers:
  - Grant Peltier <grant.peltier.jg@renesas.com>

description: |
  Renesas digital multiphase voltage regulators with PMBus.
  https://www.renesas.com/en/products/power-management/multiphase-power/multiphase-dcdc-switching-controllers

properties:
  compatible:
    enum:
      - isil,isl68137
      - renesas,isl68220
      - renesas,isl68221
      - renesas,isl68222
      - renesas,isl68223
      - renesas,isl68224
      - renesas,isl68225
      - renesas,isl68226
      - renesas,isl68227
      - renesas,isl68229
      - renesas,isl68233
      - renesas,isl68239
      - renesas,isl69222
      - renesas,isl69223
      - renesas,isl69224
      - renesas,isl69225
      - renesas,isl69227
      - renesas,isl69228
      - renesas,isl69234
      - renesas,isl69236
      - renesas,isl69239
      - renesas,isl69242
      - renesas,isl69243
      - renesas,isl69247
      - renesas,isl69248
      - renesas,isl69254
      - renesas,isl69255
      - renesas,isl69256
      - renesas,isl69259
      - isil,isl69260
      - renesas,isl69268
      - isil,isl69269
      - renesas,isl69298
      - renesas,raa228000
      - renesas,raa228004
      - renesas,raa228006
      - renesas,raa228228
      - renesas,raa229001
      - renesas,raa229004

  reg:
    maxItems: 1

  '#address-cells':
    const: 1

  '#size-cells':
    const: 0

patternProperties:
  "^channel@([0-3])$":
    type: object
    description:
      Container for properties specific to a particular channel (rail).

    properties:
      reg:
        description: The channel (rail) index.
        items:
          minimum: 0
          maximum: 3

      vout-voltage-divider:
        description: |
          Resistances of a voltage divider placed between Vout and the voltage
          sense (Vsense) pin for the given channel (rail). It has two numbers
          representing the resistances of the voltage divider provided as
          <Rout Rtotal> which yields an adjusted Vout as
          Vout_adj = Vout * Rtotal / Rout given the original Vout as reported
          by the Vsense pin. Given a circuit configuration similar to the one
          below, Rtotal = R1 + Rout.

            Vout ----.
                     |
                  .-----.
                  | R1  |
                  '-----'
                     |
                     +---- Vsense
                     |
                  .-----.
                  | Rout|
                  '-----'
                     |
                    GND

        $ref: /schemas/types.yaml#/definitions/uint32-array
        minItems: 2
        maxItems: 2

    required:
      - reg

    additionalProperties: false

required:
  - compatible
  - reg

additionalProperties: false

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

      isl68239@60 {
        compatible = "isil,isl68137";
        reg = <0x60>;
      };
    };
  - |
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      isl68239@60 {
        compatible = "renesas,isl68239";
        reg = <0x60>;
        #address-cells = <1>;
        #size-cells = <0>;

        channel@0 {
          reg = <0>;
          vout-voltage-divider = <1000 2000>;  // Reported Vout/Pout would be scaled by 2
        };
      };
    };
