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

title: RK806 Power Management Integrated Circuit

maintainers:
  - Sebastian Reichel <sebastian.reichel@collabora.com>

description:
  Rockchip RK806 series PMIC. This device consists of an spi or
  i2c controlled MFD that includes multiple switchable regulators.

properties:
  compatible:
    enum:
      - rockchip,rk806

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  gpio-controller: true

  '#gpio-cells':
    const: 2

  system-power-controller: true

  vcc1-supply:
    description:
      The input supply for dcdc-reg1.

  vcc2-supply:
    description:
      The input supply for dcdc-reg2.

  vcc3-supply:
    description:
      The input supply for dcdc-reg3.

  vcc4-supply:
    description:
      The input supply for dcdc-reg4.

  vcc5-supply:
    description:
      The input supply for dcdc-reg5.

  vcc6-supply:
    description:
      The input supply for dcdc-reg6.

  vcc7-supply:
    description:
      The input supply for dcdc-reg7.

  vcc8-supply:
    description:
      The input supply for dcdc-reg8.

  vcc9-supply:
    description:
      The input supply for dcdc-reg9.

  vcc10-supply:
    description:
      The input supply for dcdc-reg10.

  vcc11-supply:
    description:
      The input supply for pldo-reg1, pldo-reg2 and pldo-reg3.

  vcc12-supply:
    description:
      The input supply for pldo-reg4 and pldo-reg5.

  vcc13-supply:
    description:
      The input supply for nldo-reg1, nldo-reg2 and nldo-reg3.

  vcc14-supply:
    description:
      The input supply for nldo-reg4 and nldo-reg5.

  vcca-supply:
    description:
      The input supply for pldo-reg6.

  regulators:
    type: object
    additionalProperties: false
    patternProperties:
      "^(dcdc-reg([1-9]|10)|pldo-reg[1-6]|nldo-reg[1-5])$":
        type: object
        $ref: /schemas/regulator/regulator.yaml#
        unevaluatedProperties: false

patternProperties:
  '-pins$':
    type: object
    additionalProperties: false
    $ref: /schemas/pinctrl/pinmux-node.yaml

    properties:
      function:
        enum: [pin_fun0, pin_fun1, pin_fun2, pin_fun3, pin_fun4, pin_fun5]

      pins:
        $ref: /schemas/types.yaml#/definitions/string
        enum: [gpio_pwrctrl1, gpio_pwrctrl2, gpio_pwrctrl3]

allOf:
  - $ref: /schemas/spi/spi-peripheral-props.yaml

required:
  - compatible
  - reg
  - interrupts

unevaluatedProperties: false

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

        pmic@0 {
            compatible = "rockchip,rk806";
            reg = <0x0>;

            interrupts = <7 IRQ_TYPE_LEVEL_LOW>;

            vcc1-supply = <&vcc5v0_sys>;
            vcc2-supply = <&vcc5v0_sys>;
            vcc3-supply = <&vcc5v0_sys>;
            vcc4-supply = <&vcc5v0_sys>;
            vcc5-supply = <&vcc5v0_sys>;
            vcc6-supply = <&vcc5v0_sys>;
            vcc7-supply = <&vcc5v0_sys>;
            vcc8-supply = <&vcc5v0_sys>;
            vcc9-supply = <&vcc5v0_sys>;
            vcc10-supply = <&vcc5v0_sys>;
            vcc11-supply = <&vcc_2v0_pldo_s3>;
            vcc12-supply = <&vcc5v0_sys>;
            vcc13-supply = <&vcc5v0_sys>;
            vcc14-supply = <&vcc_1v1_nldo_s3>;
            vcca-supply = <&vcc5v0_sys>;

            regulators {
                vdd_gpu_s0: dcdc-reg1 {
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <550000>;
                    regulator-max-microvolt = <950000>;
                    regulator-ramp-delay = <12500>;
                    regulator-name = "vdd_gpu_s0";
                    regulator-state-mem {
                        regulator-off-in-suspend;
                    };
                };

                vdd_npu_s0: dcdc-reg2 {
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <550000>;
                    regulator-max-microvolt = <950000>;
                    regulator-ramp-delay = <12500>;
                    regulator-name = "vdd_npu_s0";
                    regulator-state-mem {
                        regulator-off-in-suspend;
                    };
                };

                vdd_log_s0: dcdc-reg3 {
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <750000>;
                    regulator-max-microvolt = <750000>;
                    regulator-ramp-delay = <12500>;
                    regulator-name = "vdd_log_s0";
                    regulator-state-mem {
                        regulator-on-in-suspend;
                        regulator-suspend-microvolt = <750000>;
                    };
                };

                vdd_vdenc_s0: dcdc-reg4 {
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <550000>;
                    regulator-max-microvolt = <950000>;
                    regulator-ramp-delay = <12500>;
                    regulator-name = "vdd_vdenc_s0";
                    regulator-state-mem {
                        regulator-off-in-suspend;
                    };
                };

                vdd_gpu_mem_s0: dcdc-reg5 {
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <675000>;
                    regulator-max-microvolt = <950000>;
                    regulator-ramp-delay = <12500>;
                    regulator-name = "vdd_gpu_mem_s0";
                    regulator-state-mem {
                        regulator-off-in-suspend;
                    };
                };

                vdd_npu_mem_s0: dcdc-reg6 {
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <675000>;
                    regulator-max-microvolt = <950000>;
                    regulator-ramp-delay = <12500>;
                    regulator-name = "vdd_npu_mem_s0";
                    regulator-state-mem {
                        regulator-off-in-suspend;
                    };
                };

                vcc_2v0_pldo_s3: dcdc-reg7 {
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <2000000>;
                    regulator-max-microvolt = <2000000>;
                    regulator-ramp-delay = <12500>;
                    regulator-name = "vdd_2v0_pldo_s3";
                    regulator-state-mem {
                        regulator-on-in-suspend;
                        regulator-suspend-microvolt = <2000000>;
                    };
                };

                vdd_vdenc_mem_s0: dcdc-reg8 {
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <675000>;
                    regulator-max-microvolt = <950000>;
                    regulator-ramp-delay = <12500>;
                    regulator-name = "vdd_vdenc_mem_s0";
                    regulator-state-mem {
                        regulator-off-in-suspend;
                    };
                };

                vdd2_ddr_s3: dcdc-reg9 {
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-name = "vdd2_ddr_s3";
                    regulator-state-mem {
                        regulator-on-in-suspend;
                    };
                };

                vcc_1v1_nldo_s3: dcdc-reg10 {
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <1100000>;
                    regulator-max-microvolt = <1100000>;
                    regulator-ramp-delay = <12500>;
                    regulator-name = "vcc_1v1_nldo_s3";
                    regulator-state-mem {
                        regulator-on-in-suspend;
                        regulator-suspend-microvolt = <1100000>;
                    };
                };

                avcc_1v8_s0: pldo-reg1 {
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <1800000>;
                    regulator-max-microvolt = <1800000>;
                    regulator-ramp-delay = <12500>;
                    regulator-name = "avcc_1v8_s0";
                    regulator-state-mem {
                        regulator-off-in-suspend;
                    };
                };

                vdd1_1v8_ddr_s3: pldo-reg2 {
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <1800000>;
                    regulator-max-microvolt = <1800000>;
                    regulator-ramp-delay = <12500>;
                    regulator-name = "vdd1_1v8_ddr_s3";
                    regulator-state-mem {
                        regulator-on-in-suspend;
                        regulator-suspend-microvolt = <1800000>;
                    };
                };

                vcc_1v8_s3: pldo-reg3 {
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <1800000>;
                    regulator-max-microvolt = <1800000>;
                    regulator-ramp-delay = <12500>;
                    regulator-name = "vcc_1v8_s3";
                    regulator-state-mem {
                        regulator-on-in-suspend;
                        regulator-suspend-microvolt = <1800000>;
                    };
                };

                vcc_3v3_s0: pldo-reg4 {
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <3300000>;
                    regulator-max-microvolt = <3300000>;
                    regulator-ramp-delay = <12500>;
                    regulator-name = "vcc_3v3_s0";
                    regulator-state-mem {
                        regulator-off-in-suspend;
                    };
                };

                vccio_sd_s0: pldo-reg5 {
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <1800000>;
                    regulator-max-microvolt = <3300000>;
                    regulator-ramp-delay = <12500>;
                    regulator-name = "vccio_sd_s0";
                    regulator-state-mem {
                        regulator-off-in-suspend;
                    };
                };

                master_pldo6_s3: pldo-reg6 {
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <1800000>;
                    regulator-max-microvolt = <1800000>;
                    regulator-name = "master_pldo6_s3";
                    regulator-state-mem {
                        regulator-on-in-suspend;
                        regulator-suspend-microvolt = <1800000>;
                    };
                };

                vdd_0v75_s3: nldo-reg1 {
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <750000>;
                    regulator-max-microvolt = <750000>;
                    regulator-ramp-delay = <12500>;
                    regulator-name = "vdd_0v75_s3";
                    regulator-state-mem {
                        regulator-on-in-suspend;
                        regulator-suspend-microvolt = <750000>;
                    };
                };

                vdd2l_0v9_ddr_s3: nldo-reg2 {
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <900000>;
                    regulator-max-microvolt = <900000>;
                    regulator-name = "vdd2l_0v9_ddr_s3";
                    regulator-state-mem {
                        regulator-on-in-suspend;
                        regulator-suspend-microvolt = <900000>;
                    };
                };

                master_nldo3: nldo-reg3 {
                    regulator-name = "master_nldo3";
                    regulator-state-mem {
                        regulator-off-in-suspend;
                    };
                };

                avdd_0v75_s0: nldo-reg4 {
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <750000>;
                    regulator-max-microvolt = <750000>;
                    regulator-name = "avdd_0v75_s0";
                    regulator-state-mem {
                        regulator-off-in-suspend;
                    };
                };

                vdd_0v85_s0: nldo-reg5 {
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <850000>;
                    regulator-max-microvolt = <850000>;
                    regulator-name = "vdd_0v85_s0";
                    regulator-state-mem {
                        regulator-off-in-suspend;
                    };
                };
            };
        };
    };
