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

title: RK809 Power Management Integrated Circuit

maintainers:
  - Chris Zhong <zyw@rock-chips.com>
  - Zhang Qing <zhangqing@rock-chips.com>

description: |
  Rockchip RK809 series PMIC. This device consists of an i2c controlled MFD
  that includes regulators, an RTC, and power button.

properties:
  compatible:
    enum:
      - rockchip,rk809

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  '#clock-cells':
    description: |
      See <dt-bindings/clock/rockchip,rk808.h> for clock IDs.
    minimum: 0
    maximum: 1

  clock-output-names:
    description:
      From common clock binding to override the default output clock name.

  rockchip,system-power-controller:
    type: boolean
    deprecated: true
    description:
      Telling whether or not this PMIC is controlling the system power.

  system-power-controller: true

  wakeup-source:
    type: boolean
    description:
      Device can be used as a wakeup source.

  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 LDO_REG1, LDO_REG2, and LDO_REG3.

  vcc6-supply:
    description:
      The input supply for LDO_REG4, LDO_REG5, and LDO_REG6.

  vcc7-supply:
    description:
      The input supply for LDO_REG7, LDO_REG8, and LDO_REG9.

  vcc8-supply:
    description:
      The input supply for SWITCH_REG1.

  vcc9-supply:
    description:
      The input supply for DCDC_REG5 and SWITCH_REG2.

  regulators:
    type: object
    patternProperties:
      "^(LDO_REG[1-9]|DCDC_REG[1-5]|SWITCH_REG[1-2])$":
        type: object
        $ref: /schemas/regulator/regulator.yaml#
        unevaluatedProperties: false
    unevaluatedProperties: false

allOf:
  - if:
      properties:
        '#clock-cells':
          const: 0

    then:
      properties:
        clock-output-names:
          maxItems: 1

    else:
      properties:
        clock-output-names:
          maxItems: 2

required:
  - compatible
  - reg
  - interrupts
  - "#clock-cells"

additionalProperties: false

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

        rk808: pmic@1b {
            compatible = "rockchip,rk808";
            reg = <0x1b>;
            #clock-cells = <1>;
            clock-output-names = "xin32k", "rk808-clkout2";
            interrupt-parent = <&gpio3>;
            interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
            pinctrl-names = "default";
            pinctrl-0 = <&pmic_int_l_pin>;
            rockchip,system-power-controller;
            wakeup-source;

            vcc1-supply = <&vcc_sysin>;
            vcc2-supply = <&vcc_sysin>;
            vcc3-supply = <&vcc_sysin>;
            vcc4-supply = <&vcc_sysin>;
            vcc6-supply = <&vcc_sysin>;
            vcc7-supply = <&vcc_sysin>;
            vcc8-supply = <&vcc3v3_sys>;
            vcc9-supply = <&vcc_sysin>;
            vcc10-supply = <&vcc_sysin>;
            vcc11-supply = <&vcc_sysin>;
            vcc12-supply = <&vcc3v3_sys>;

            regulators {
                vdd_center: DCDC_REG1 {
                    regulator-name = "vdd_center";
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <750000>;
                    regulator-max-microvolt = <1350000>;
                    regulator-ramp-delay = <6001>;
                    regulator-state-mem {
                        regulator-off-in-suspend;
                    };
                };

                vdd_cpu_l: DCDC_REG2 {
                    regulator-name = "vdd_cpu_l";
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <750000>;
                    regulator-max-microvolt = <1350000>;
                    regulator-ramp-delay = <6001>;
                    regulator-state-mem {
                        regulator-off-in-suspend;
                    };
                };

                vcc_ddr: DCDC_REG3 {
                    regulator-name = "vcc_ddr";
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-state-mem {
                        regulator-on-in-suspend;
                    };
                };

                vcc_1v8: vcc_wl: DCDC_REG4 {
                    regulator-name = "vcc_1v8";
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <1800000>;
                    regulator-max-microvolt = <1800000>;
                    regulator-state-mem {
                        regulator-on-in-suspend;
                        regulator-suspend-microvolt = <1800000>;
                    };
                };

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

                vcc_sdio: LDO_REG4 {
                    regulator-name = "vcc_sdio";
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <1800000>;
                    regulator-max-microvolt = <3000000>;
                    regulator-state-mem {
                        regulator-on-in-suspend;
                        regulator-suspend-microvolt = <3000000>;
                    };
                };

                vcca3v0_codec: LDO_REG5 {
                    regulator-name = "vcca3v0_codec";
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <3000000>;
                    regulator-max-microvolt = <3000000>;
                    regulator-state-mem {
                        regulator-off-in-suspend;
                    };
                };

                vcc_1v5: LDO_REG6 {
                    regulator-name = "vcc_1v5";
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <1500000>;
                    regulator-max-microvolt = <1500000>;
                    regulator-state-mem {
                        regulator-on-in-suspend;
                        regulator-suspend-microvolt = <1500000>;
                    };
                };

                vcca1v8_codec: LDO_REG7 {
                    regulator-name = "vcca1v8_codec";
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <1800000>;
                    regulator-max-microvolt = <1800000>;
                    regulator-state-mem {
                        regulator-off-in-suspend;
                    };
                };

                vcc_3v0: LDO_REG8 {
                    regulator-name = "vcc_3v0";
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-min-microvolt = <3000000>;
                    regulator-max-microvolt = <3000000>;
                    regulator-state-mem {
                        regulator-on-in-suspend;
                        regulator-suspend-microvolt = <3000000>;
                    };
                };

                vcc3v3_s3: SWITCH_REG1 {
                    regulator-name = "vcc3v3_s3";
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-state-mem {
                        regulator-off-in-suspend;
                    };
                };

                vcc3v3_s0: SWITCH_REG2 {
                    regulator-name = "vcc3v3_s0";
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-state-mem {
                        regulator-off-in-suspend;
                    };
                };
            };
        };
    };
