# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/rohm,bd96801-pmic.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ROHM BD96801 Scalable Power Management Integrated Circuit

maintainers:
  - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>

description:
  BD96801 is an automotive grade single-chip power management IC.
  It integrates 4 buck converters and 3 LDOs with safety features like
  over-/under voltage and over current detection and a watchdog.

properties:
  compatible:
    const: rohm,bd96801

  reg:
    maxItems: 1

  interrupts:
    description:
      The PMIC provides intb and errb IRQ lines. The errb IRQ line is used
      for fatal IRQs which will cause the PMIC to shut down power outputs.
      In many systems this will shut down the SoC controlling the PMIC and
      connecting/handling the errb can be omitted. However, there are cases
      where the SoC is not powered by the PMIC or has a short time backup
      energy to handle shutdown of critical hardware. In that case it may be
      useful to connect the errb and handle errb events.
    minItems: 1
    maxItems: 2

  interrupt-names:
    minItems: 1
    items:
      - enum: [intb, errb]
      - const: errb

  rohm,hw-timeout-ms:
    description:
      Watchdog timeout value(s). First walue is timeout limit. Second value is
      optional value for 'too early' watchdog ping if window timeout mode is
      to be used.
    minItems: 1
    maxItems: 2

  rohm,wdg-action:
    description:
      Whether the watchdog failure must turn off the regulator power outputs or
      just toggle the INTB line.
    enum:
      - prstb
      - intb-only

  timeout-sec:
    maxItems: 2

  regulators:
    $ref: /schemas/regulator/rohm,bd96801-regulator.yaml
    description:
      List of child nodes that specify the regulators.

required:
  - compatible
  - reg
  - interrupts
  - interrupt-names
  - regulators

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/leds/common.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
        pmic: pmic@60 {
            reg = <0x60>;
            compatible = "rohm,bd96801";
            interrupt-parent = <&gpio1>;
            interrupts = <29 IRQ_TYPE_LEVEL_LOW>, <6 IRQ_TYPE_LEVEL_LOW>;
            interrupt-names = "intb", "errb";

            regulators {
                buck1 {
                    regulator-name = "buck1";
                    regulator-ramp-delay = <1250>;
                    /* 0.5V min INITIAL - 150 mV tune */
                    regulator-min-microvolt = <350000>;
                    /* 3.3V + 150mV tune */
                    regulator-max-microvolt = <3450000>;

                    /* These can be set only when PMIC is in STBY */
                    rohm,initial-voltage-microvolt = <500000>;
                    regulator-ov-error-microvolt = <230000>;
                    regulator-uv-error-microvolt = <230000>;
                    regulator-temp-protection-kelvin = <1>;
                    regulator-temp-warn-kelvin = <0>;
                };
                buck2 {
                    regulator-name = "buck2";
                    regulator-min-microvolt = <350000>;
                    regulator-max-microvolt = <3450000>;

                    rohm,initial-voltage-microvolt = <3000000>;
                    regulator-ov-error-microvolt = <18000>;
                    regulator-uv-error-microvolt = <18000>;
                    regulator-temp-protection-kelvin = <1>;
                    regulator-temp-warn-kelvin = <1>;
                };
                buck3 {
                    regulator-name = "buck3";
                    regulator-min-microvolt = <350000>;
                    regulator-max-microvolt = <3450000>;

                    rohm,initial-voltage-microvolt = <600000>;
                    regulator-ov-warn-microvolt = <18000>;
                    regulator-uv-warn-microvolt = <18000>;
                    regulator-temp-protection-kelvin = <1>;
                    regulator-temp-error-kelvin = <0>;
                };
                buck4 {
                    regulator-name = "buck4";
                    regulator-min-microvolt = <350000>;
                    regulator-max-microvolt = <3450000>;

                    rohm,initial-voltage-microvolt = <600000>;
                    regulator-ov-warn-microvolt = <18000>;
                    regulator-uv-warn-microvolt = <18000>;
                    regulator-temp-protection-kelvin = <1>;
                    regulator-temp-error-kelvin = <0>;
                };
                ldo5 {
                    regulator-name = "ldo5";
                    regulator-min-microvolt = <300000>;
                    regulator-max-microvolt = <3300000>;

                    rohm,initial-voltage-microvolt = <500000>;
                    regulator-ov-error-microvolt = <36000>;
                    regulator-uv-error-microvolt = <34000>;
                    regulator-temp-protection-kelvin = <1>;
                    regulator-temp-warn-kelvin = <0>;
                };
                ldo6 {
                    regulator-name = "ldo6";
                    regulator-min-microvolt = <300000>;
                    regulator-max-microvolt = <3300000>;

                    rohm,initial-voltage-microvolt = <300000>;
                    regulator-ov-error-microvolt = <36000>;
                    regulator-uv-error-microvolt = <34000>;
                    regulator-temp-protection-kelvin = <1>;
                    regulator-temp-warn-kelvin = <0>;
                };
                ldo7 {
                    regulator-name = "ldo7";
                    regulator-min-microvolt = <300000>;
                    regulator-max-microvolt = <3300000>;

                    rohm,initial-voltage-microvolt = <500000>;
                    regulator-ov-error-microvolt = <36000>;
                    regulator-uv-error-microvolt = <34000>;
                    regulator-temp-protection-kelvin = <1>;
                    regulator-temp-warn-kelvin = <0>;
                };
            };
        };
    };
