# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/mfd/rockchip,rk805.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: RK805 Power Management Integrated Circuit maintainers: - Chris Zhong <zyw@rock-chips.com> - Zhang Qing <zhangqing@rock-chips.com> description: | Rockchip RK805 series PMIC. This device consists of an i2c controlled MFD that includes multiple switchable regulators. properties: compatible: enum: - rockchip,rk805 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. gpio-controller: true '#gpio-cells': const: 2 rockchip,system-power-controller: type: boolean description: Telling whether or not this PMIC is controlling the system power. 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 and LDO_REG2. vcc6-supply: description: The input supply for LDO_REG3. regulators: type: object patternProperties: "^(DCDC_REG[1-4]|LDO_REG[1-3])$": type: object $ref: ../regulator/regulator.yaml# 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>; pmic@18 { compatible = "rockchip,rk805"; reg = <0x18>; interrupt-parent = <&gpio2>; interrupts = <RK_PA6 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; pinctrl-0 = <&pmic_int_l>; rockchip,system-power-controller; wakeup-source; #clock-cells = <0>; vcc1-supply = <&vcc_sys>; vcc2-supply = <&vcc_sys>; vcc3-supply = <&vcc_sys>; vcc4-supply = <&vcc_sys>; vcc5-supply = <&vcc_io>; vcc6-supply = <&vcc_io>; regulators { vdd_logic: DCDC_REG1 { regulator-name = "vdd_logic"; regulator-min-microvolt = <700000>; regulator-max-microvolt = <1350000>; regulator-always-on; regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <1000000>; }; }; vdd_arm: DCDC_REG2 { regulator-name = "vdd_arm"; regulator-min-microvolt = <700000>; regulator-max-microvolt = <1350000>; regulator-always-on; regulator-boot-on; regulator-state-mem { regulator-on-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_io: DCDC_REG4 { regulator-name = "vcc_io"; 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>; }; }; vdd_18: LDO_REG1 { regulator-name = "vdd_18"; 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>; }; }; vcc18_emmc: LDO_REG2 { regulator-name = "vcc_18emmc"; 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_11: LDO_REG3 { regulator-name = "vdd_11"; regulator-min-microvolt = <1100000>; regulator-max-microvolt = <1100000>; regulator-always-on; regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <1100000>; }; }; }; }; };