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

title: RK809/RK817 Power Management Integrated Circuit

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

description: |
  Rockchip RK809/RK817 series PMIC. This device consists of an i2c controlled
  MFD that includes regulators, an RTC, a power button and an audio codec.
  The RK817 variant also provides a battery charger manager.

properties:
  compatible:
    enum:
      - rockchip,rk809
      - rockchip,rk817

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

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

  clocks:
    maxItems: 1

  clock-names:
    items:
      - const: mclk

  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.

  '#sound-dai-cells':
    const: 0

  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 BOOST on RK817, or for SWITCH_REG2 on RK809.

  vcc9-supply:
    description:
      The input supply for OTG_SWITCH on RK817,
      or for DCDC_REG5 and SWITCH_REG1 on RK809.

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

  codec:
    type: object
    additionalProperties: false
    properties:
      rockchip,mic-in-differential:
        type: boolean
        description:
          Describes if the microphone uses differential mode.

  charger:
    type: object
    $ref: /schemas/power/supply/power-supply.yaml

    properties:
      monitored-battery:
        description: |
          A phandle to a monitored battery node that contains a valid
          value for:
          charge-full-design-microamp-hours,
          charge-term-current-microamp,
          constant-charge-current-max-microamp,
          constant-charge-voltage-max-microvolt,
          voltage-max-design-microvolt,
          voltage-min-design-microvolt,
          and a valid ocv-capacity table.

      rockchip,resistor-sense-micro-ohms:
        description: |
          Value in microohms of the battery sense resistor. This value is
          used by the driver to set the correct divisor value to translate
          ADC readings into the proper units of measure.
        enum: [10000, 20000]

      rockchip,sleep-enter-current-microamp:
        description: |
          Value in microamps of the sleep enter current for the charger.
          Value is used by the driver to calibrate the relax threshold.

      rockchip,sleep-filter-current-microamp:
        description:
          Value in microamps of the sleep filter current for the charger.
          Value is used by the driver to derive the sleep sample current.

    required:
      - monitored-battery
      - rockchip,resistor-sense-micro-ohms
      - rockchip,sleep-enter-current-microamp
      - rockchip,sleep-filter-current-microamp

    additionalProperties: false

allOf:
  - $ref: /schemas/sound/dai-common.yaml#
  - if:
      properties:
        '#clock-cells':
          const: 0

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

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

  - if:
      properties:
        compatible:
          contains:
            const: rockchip,rk817
    then:
      properties:
        regulators:
          patternProperties:
            "^(DCDC_REG5|SWITCH_REG[1-2])$": false
    else:
      properties:
        regulators:
          patternProperties:
            "^(BOOST|OTG_SWITCH)$": false

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

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/px30-cru.h>
    #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>;

        rk817: pmic@20 {
            compatible = "rockchip,rk817";
            reg = <0x20>;
            interrupt-parent = <&gpio0>;
            interrupts = <RK_PB2 IRQ_TYPE_LEVEL_LOW>;
            clock-output-names = "rk808-clkout1", "xin32k";
            clock-names = "mclk";
            clocks = <&cru SCLK_I2S1_OUT>;
            pinctrl-names = "default";
            pinctrl-0 = <&pmic_int>, <&i2s1_2ch_mclk>;
            wakeup-source;
            #clock-cells = <1>;
            #sound-dai-cells = <0>;

            vcc1-supply = <&vccsys>;
            vcc2-supply = <&vccsys>;
            vcc3-supply = <&vccsys>;
            vcc4-supply = <&vccsys>;
            vcc5-supply = <&vccsys>;
            vcc6-supply = <&vccsys>;
            vcc7-supply = <&vccsys>;

            regulators {
                vdd_logic: DCDC_REG1 {
                    regulator-name = "vdd_logic";
                    regulator-min-microvolt = <950000>;
                    regulator-max-microvolt = <1150000>;
                    regulator-ramp-delay = <6001>;
                    regulator-always-on;
                    regulator-boot-on;

                    regulator-state-mem {
                        regulator-on-in-suspend;
                        regulator-suspend-microvolt = <950000>;
                    };
                };

                vdd_arm: DCDC_REG2 {
                    regulator-name = "vdd_arm";
                    regulator-min-microvolt = <950000>;
                    regulator-max-microvolt = <1350000>;
                    regulator-ramp-delay = <6001>;
                    regulator-always-on;
                    regulator-boot-on;

                    regulator-state-mem {
                        regulator-off-in-suspend;
                        regulator-suspend-microvolt = <950000>;
                    };
                };

                vcc_ddr: DCDC_REG3 {
                    regulator-name = "vcc_ddr";
                    regulator-always-on;
                    regulator-boot-on;

                    regulator-state-mem {
                        regulator-on-in-suspend;
                    };
                };

                vcc_3v3: DCDC_REG4 {
                    regulator-name = "vcc_3v3";
                    regulator-min-microvolt = <3300000>;
                    regulator-max-microvolt = <3300000>;
                    regulator-always-on;
                    regulator-boot-on;

                    regulator-state-mem {
                        regulator-off-in-suspend;
                        regulator-suspend-microvolt = <3300000>;
                    };
                };

                vcc_1v8: LDO_REG2 {
                    regulator-name = "vcc_1v8";
                    regulator-min-microvolt = <1800000>;
                    regulator-max-microvolt = <1800000>;
                    regulator-always-on;
                    regulator-boot-on;

                    regulator-state-mem {
                        regulator-on-in-suspend;
                        regulator-suspend-microvolt = <1800000>;
                    };
                };

                vdd_1v0: LDO_REG3 {
                    regulator-name = "vdd_1v0";
                    regulator-min-microvolt = <1000000>;
                    regulator-max-microvolt = <1000000>;
                    regulator-always-on;
                    regulator-boot-on;

                    regulator-state-mem {
                        regulator-on-in-suspend;
                        regulator-suspend-microvolt = <1000000>;
                    };
                };

                vcc3v3_pmu: LDO_REG4 {
                    regulator-name = "vcc3v3_pmu";
                    regulator-min-microvolt = <3300000>;
                    regulator-max-microvolt = <3300000>;
                    regulator-always-on;
                    regulator-boot-on;

                    regulator-state-mem {
                        regulator-on-in-suspend;
                        regulator-suspend-microvolt = <3300000>;
                    };
                };

                vccio_sd: LDO_REG5 {
                    regulator-name = "vccio_sd";
                    regulator-min-microvolt = <1800000>;
                    regulator-max-microvolt = <3300000>;
                    regulator-always-on;
                    regulator-boot-on;

                    regulator-state-mem {
                        regulator-on-in-suspend;
                        regulator-suspend-microvolt = <3300000>;
                    };
                };

                vcc_sd: LDO_REG6 {
                    regulator-name = "vcc_sd";
                    regulator-min-microvolt = <3300000>;
                    regulator-max-microvolt = <3300000>;
                    regulator-boot-on;

                    regulator-state-mem {
                        regulator-on-in-suspend;
                        regulator-suspend-microvolt = <3300000>;
                    };
                };

                vcc_bl: LDO_REG7 {
                    regulator-name = "vcc_bl";
                    regulator-min-microvolt = <3300000>;
                    regulator-max-microvolt = <3300000>;

                    regulator-state-mem {
                        regulator-off-in-suspend;
                        regulator-suspend-microvolt = <3300000>;
                    };
                };

                vcc_lcd: LDO_REG8 {
                    regulator-name = "vcc_lcd";
                    regulator-min-microvolt = <2800000>;
                    regulator-max-microvolt = <2800000>;

                    regulator-state-mem {
                        regulator-off-in-suspend;
                        regulator-suspend-microvolt = <2800000>;
                    };
                };

                vcc_cam: LDO_REG9 {
                    regulator-name = "vcc_cam";
                    regulator-min-microvolt = <3000000>;
                    regulator-max-microvolt = <3000000>;

                    regulator-state-mem {
                        regulator-off-in-suspend;
                        regulator-suspend-microvolt = <3000000>;
                    };
                };
            };

            rk817_charger: charger {
                monitored-battery = <&battery>;
                rockchip,resistor-sense-micro-ohms = <10000>;
                rockchip,sleep-enter-current-microamp = <300000>;
                rockchip,sleep-filter-current-microamp = <100000>;
            };

            rk817_codec: codec {
                rockchip,mic-in-differential;
            };
        };
    };
