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

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

title: Infineon TDA38640 Synchronous Buck Regulator with SVID and I2C

maintainers:
  - Naresh Solanki <naresh.solanki@9elements.com>

description: |
  The Infineon TDA38640 is a 40A Single-voltage Synchronous Buck
  Regulator with SVID and I2C designed for Industrial use.

  Datasheet: https://www.infineon.com/dgdl/Infineon-TDA38640-0000-DataSheet-v02_04-EN.pdf?fileId=8ac78c8c80027ecd018042f2337f00c9

properties:
  compatible:
    enum:
      - infineon,tda38640

  reg:
    maxItems: 1

  infineon,en-pin-fixed-level:
    description:
      Indicates that the chip EN pin is at fixed level or left
      unconnected(has internal pull-down).
    type: boolean

  interrupts:
    maxItems: 1

  regulators:
    type: object
    description:
      list of regulators provided by this controller.

    properties:
      vout:
        $ref: /schemas/regulator/regulator.yaml#
        type: object

        unevaluatedProperties: false

    additionalProperties: false

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        tda38640@40 {
            compatible = "infineon,tda38640";
            reg = <0x40>;

            interrupt-parent = <&smb_pex_cpu0_event>;
            interrupts = <10 IRQ_TYPE_LEVEL_LOW>;

            regulators {
                pvnn_main_cpu0: vout {
                    regulator-name = "pvnn_main_cpu0";
                    regulator-enable-ramp-delay = <200>;
                };
            };
        };
    };
