# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/mfd/rockchip,rk818.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: RK818 Power Management Integrated Circuit maintainers: - Chris Zhong <zyw@rock-chips.com> - Zhang Qing <zhangqing@rock-chips.com> description: | Rockchip RK818 series PMIC. This device consists of an i2c controlled MFD that includes regulators, an RTC, and a power button. properties: compatible: enum: - rockchip,rk818 reg: maxItems: 1 interrupts: maxItems: 1 '#clock-cells': description: | See <dt-bindings/clock/rockchip,rk808.h> for clock IDs. const: 1 clock-output-names: description: From common clock binding to override the default output clock name. maxItems: 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. boost-supply: description: The input supply for DCDC_BOOST vcc6-supply: description: The input supply for LDO_REG1 and LDO_REG2. vcc7-supply: description: The input supply for LDO_REG3, LDO_REG5, and LDO_REG7. vcc8-supply: description: The input supply for LDO_REG4, LDO_REG6, and LDO_REG8. vcc9-supply: description: The input supply for LDO_REG9 and SWITCH_REG. vddio-supply: description: The input supply for digital IO. h_5v-supply: description: The input supply for HDMI_SWITCH. usb-supply: description: The input supply for OTG_SWITCH. regulators: type: object patternProperties: "^(DCDC_REG[1-4]|DCDC_BOOST|LDO_REG[1-9]|SWITCH_REG|HDMI_SWITCH|OTG_SWITCH)$": type: object $ref: ../regulator/regulator.yaml# unevaluatedProperties: 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>; rk818: pmic@1c { compatible = "rockchip,rk818"; reg = <0x1c>; interrupt-parent = <&gpio0>; interrupts = <4 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; pinctrl-0 = <&pmic_int>; rockchip,system-power-controller; wakeup-source; #clock-cells = <1>; vcc1-supply = <&vdd_sys>; vcc2-supply = <&vdd_sys>; vcc3-supply = <&vdd_sys>; vcc4-supply = <&vdd_sys>; boost-supply = <&vdd_in_otg_out>; vcc6-supply = <&vdd_sys>; vcc7-supply = <&vdd_misc_1v8>; vcc8-supply = <&vdd_misc_1v8>; vcc9-supply = <&vdd_3v3_io>; vddio-supply = <&vdd_3v3_io>; regulators { vdd_log: DCDC_REG1 { regulator-name = "vdd_log"; regulator-always-on; regulator-boot-on; regulator-min-microvolt = <1100000>; regulator-max-microvolt = <1100000>; regulator-state-mem { regulator-off-in-suspend; }; }; vdd_gpu: DCDC_REG2 { regulator-name = "vdd_gpu"; regulator-always-on; regulator-boot-on; regulator-min-microvolt = <800000>; regulator-max-microvolt = <1250000>; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <1000000>; }; }; vcc_ddr: DCDC_REG3 { regulator-name = "vcc_ddr"; regulator-always-on; regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; }; }; vdd_3v3_io: DCDC_REG4 { regulator-name = "vdd_3v3_io"; regulator-always-on; regulator-boot-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <3300000>; }; }; vdd_sys: DCDC_BOOST { regulator-name = "vdd_sys"; regulator-always-on; regulator-boot-on; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <5000000>; }; }; vdd_sd: SWITCH_REG { regulator-name = "vdd_sd"; regulator-always-on; regulator-boot-on; regulator-state-mem { regulator-off-in-suspend; }; }; vdd_eth_2v5: LDO_REG2 { regulator-name = "vdd_eth_2v5"; regulator-always-on; regulator-boot-on; regulator-min-microvolt = <2500000>; regulator-max-microvolt = <2500000>; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <2500000>; }; }; vdd_1v0: LDO_REG3 { regulator-name = "vdd_1v0"; regulator-always-on; regulator-boot-on; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <1000000>; }; }; vdd_1v8_lcd_ldo: LDO_REG4 { regulator-name = "vdd_1v8_lcd_ldo"; regulator-always-on; regulator-boot-on; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <1800000>; }; }; vdd_1v0_lcd: LDO_REG6 { regulator-name = "vdd_1v0_lcd"; regulator-always-on; regulator-boot-on; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <1000000>; }; }; vdd_1v8_ldo: LDO_REG7 { regulator-name = "vdd_1v8_ldo"; regulator-always-on; regulator-boot-on; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-state-mem { regulator-off-in-suspend; regulator-suspend-microvolt = <1800000>; }; }; vdd_io_sd: LDO_REG9 { regulator-name = "vdd_io_sd"; regulator-always-on; regulator-boot-on; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-state-mem { regulator-off-in-suspend; }; }; }; }; };