Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/Documentation/devicetree/bindings/mfd/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 13 kB image not shown  

Quelle  rockchip,rk806.yaml   Sprache: unbekannt

 
# 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

  rockchip,reset-mode:
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1, 2]
    description:
      Mode to use when a reset of the PMIC is triggered.

      The reset can be triggered either programmatically, via one of
      the PWRCTRL pins (provided additional configuration) or
      asserting RESETB pin low.

      The following modes are supported

      - 0; restart PMU,
      - 1; reset all power off reset registers and force state to
        switch to ACTIVE mode,
      - 2; same as mode 1 and also pull RESETB pin down for 5ms,

      For example, some hardware may require a full restart (mode 0)
      in order to function properly as regulators are shortly
      interrupted in this mode.

  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;
                    };
                };
            };
        };
    };

[ Dauer der Verarbeitung: 0.5 Sekunden  (vorverarbeitet)  ]