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