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

title: ROHM BD71847 and BD71850 Power Management Integrated Circuit

maintainers:
  - Matti Vaittinen <mazziesaccount@gmail.com>

description: |
  BD71847AMWV and BD71850MWV are programmable Power Management ICs for powering
  single-core,  dual-core, and quad-core SoCs such as NXP-i.MX 8M. It is
  optimized for low BOM cost and compact solution footprint. BD71847MWV and
  BD71850MWV integrate 6 Buck regulators and 6 LDOs.
  Datasheets are available at
  https://www.rohm.com/products/power-management/power-management-ic-for-system/industrial-consumer-applications/nxp-imx/bd71847amwv-product
  https://www.rohm.com/products/power-management/power-management-ic-for-system/industrial-consumer-applications/nxp-imx/bd71850mwv-product

properties:
  compatible:
    enum:
      - rohm,bd71847
      - rohm,bd71850

  reg:
    description:
      I2C slave address.
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 1

  "#clock-cells":
    const: 0

  clock-output-names:
    maxItems: 1

# The BD71847 abd BD71850 support two different HW states as reset target
# states. States are called as SNVS and READY. At READY state all the PMIC
# power outputs go down and OTP is reload. At the SNVS state all other logic
# and external devices apart from the SNVS power domain are shut off. Please
# refer to NXP i.MX8 documentation for further information regarding SNVS
# state. When a reset is done via SNVS state the PMIC OTP data is not reload.
# This causes power outputs that have been under SW control to stay down when
# reset has switched power state to SNVS. If reset is done via READY state the
# power outputs will be returned to HW control by OTP loading. Thus the reset
# target state is set to READY by default. If SNVS state is used the boot
# crucial regulators must have the regulator-always-on and regulator-boot-on
# properties set in regulator node.

  rohm,reset-snvs-powered:
    description:
      Transfer PMIC to SNVS state at reset.
    type: boolean

# Configure the "short press" and "long press" timers for the power button.
# Values are rounded to what hardware supports
# Short-press:
#   Shortest being 10ms, next 500ms and then multiple of 500ms up to 7,5s
# Long-press:
#   Shortest being 10ms, next 1000ms and then multiple of 1000ms up to 15s
# If these properties are not present the existing # configuration (from
# bootloader or OTP) is not touched.

  rohm,short-press-ms:
    description:
      Short press duration in milliseconds
    enum:
      - 10
      - 500
      - 1000
      - 1500
      - 2000
      - 2500
      - 3000
      - 3500
      - 4000
      - 4500
      - 5000
      - 5500
      - 6000
      - 6500
      - 7000
      - 7500

  rohm,long-press-ms:
    description:
      Long press duration in milliseconds
    enum:
      - 10
      - 1000
      - 2000
      - 3000
      - 4000
      - 5000
      - 6000
      - 7000
      - 8000
      - 9000
      - 10000
      - 11000
      - 12000
      - 13000
      - 14000
      - 15000

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

required:
  - compatible
  - reg
  - interrupts
  - regulators

additionalProperties: false

dependencies:
  '#clock-cells': [clocks]
  clocks: ['#clock-cells']

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
        pmic: pmic@4b {
            compatible = "rohm,bd71847";
            reg = <0x4b>;
            interrupt-parent = <&gpio1>;
            interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
            #clock-cells = <0>;
            clocks = <&osc 0>;
            rohm,reset-snvs-powered;
            rohm,short-press-ms = <10>;
            rohm,long-press-ms = <2000>;

            regulators {
                buck1: BUCK1 {
                    regulator-name = "buck1";
                    regulator-min-microvolt = <700000>;
                    regulator-max-microvolt = <1300000>;
                    regulator-boot-on;
                    regulator-always-on;
                    regulator-ramp-delay = <1250>;
                    rohm,dvs-run-voltage = <900000>;
                    rohm,dvs-idle-voltage = <850000>;
                    rohm,dvs-suspend-voltage = <800000>;
                };
                buck2: BUCK2 {
                    regulator-name = "buck2";
                    regulator-min-microvolt = <700000>;
                    regulator-max-microvolt = <1300000>;
                    regulator-boot-on;
                    regulator-always-on;
                    regulator-ramp-delay = <1250>;
                    rohm,dvs-run-voltage = <1000000>;
                    rohm,dvs-idle-voltage = <900000>;
                };
                buck3: BUCK3 {
                    regulator-name = "buck3";
                    regulator-min-microvolt = <550000>;
                    regulator-max-microvolt = <1350000>;
                    regulator-boot-on;
                };
                buck4: BUCK4 {
                    regulator-name = "buck4";
                    regulator-min-microvolt = <2600000>;
                    regulator-max-microvolt = <3300000>;
                    regulator-boot-on;
                };
                buck5: BUCK5 {
                    regulator-name = "buck5";
                    regulator-min-microvolt = <1605000>;
                    regulator-max-microvolt = <1995000>;
                    regulator-boot-on;
                };
                buck8: BUCK6 {
                    regulator-name = "buck6";
                    regulator-min-microvolt = <800000>;
                    regulator-max-microvolt = <1400000>;
                };

                ldo1: LDO1 {
                    regulator-name = "ldo1";
                    regulator-min-microvolt = <1600000>;
                    regulator-max-microvolt = <3300000>;
                    regulator-boot-on;
                };
                ldo2: LDO2 {
                    regulator-name = "ldo2";
                    regulator-min-microvolt = <800000>;
                    regulator-max-microvolt = <900000>;
                    regulator-boot-on;
                };
                ldo3: LDO3 {
                    regulator-name = "ldo3";
                    regulator-min-microvolt = <1800000>;
                    regulator-max-microvolt = <3300000>;
                };
                ldo4: LDO4 {
                    regulator-name = "ldo4";
                    regulator-min-microvolt = <900000>;
                    regulator-max-microvolt = <1800000>;
                };
                ldo5: LDO5 {
                    regulator-name = "ldo5";
                    regulator-min-microvolt = <800000>;
                    regulator-max-microvolt = <3300000>;
                };
                ldo6: LDO6 {
                    regulator-name = "ldo6";
                    regulator-min-microvolt = <900000>;
                    regulator-max-microvolt = <1800000>;
                };
            };
        };
    };
