# 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: RK817 Power Management Integrated Circuit

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

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

properties:
  compatible:
    enum:
      - 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

  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 BOOST.

  vcc9-supply:
    description:
      The input supply for OTG_SWITCH.

  regulators:
    type: object
    patternProperties:
      "^(LDO_REG[1-9]|DCDC_REG[1-4]|BOOST|OTG_SWITCH)$":
        type: object
        unevaluatedProperties: false
        $ref: ../regulator/regulator.yaml#
    unevaluatedProperties: false

  clocks:
    description:
      The input clock for the audio codec.

  clock-names:
    description:
      The clock name for the codec clock.
    items:
      - const: mclk

  '#sound-dai-cells':
    description:
      Needed for the interpretation of sound dais.
    const: 0

  codec:
    description: |
      The child node for the codec to hold additional properties. If no
      additional properties are required for the codec, this node can be
      omitted.
    type: object
    additionalProperties: false
    properties:
      rockchip,mic-in-differential:
        type: boolean
        description:
          Describes if the microphone uses differential mode.

  charger:
    description: |
      The child node for the charger to hold additional properties. If a
      battery is not in use, this node can be omitted.
    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:
  - 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/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;
            };
        };
    };
