# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/mfd/rockchip,rk816.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: RK816 Power Management Integrated Circuit maintainers: - Chris Zhong - Zhang Qing description: Rockchip RK816 series PMIC. This device consists of an i2c controlled MFD that includes regulators, a RTC, a GPIO controller, a power button, and a battery charger manager with fuel gauge. properties: compatible: enum: - rockchip,rk816 reg: maxItems: 1 interrupts: maxItems: 1 '#clock-cells': description: See for clock IDs. const: 1 clock-output-names: maxItems: 2 gpio-controller: true '#gpio-cells': const: 2 system-power-controller: type: boolean description: Telling whether or not this PMIC is controlling the system power. wakeup-source: type: boolean vcc1-supply: description: The input supply for dcdc1. vcc2-supply: description: The input supply for dcdc2. vcc3-supply: description: The input supply for dcdc3. vcc4-supply: description: The input supply for dcdc4. vcc5-supply: description: The input supply for ldo1, ldo2, and ldo3. vcc6-supply: description: The input supply for ldo4, ldo5, and ldo6. vcc7-supply: description: The input supply for boost. vcc8-supply: description: The input supply for otg-switch. regulators: type: object patternProperties: '^(boost|dcdc[1-4]|ldo[1-6]|otg-switch)$': type: object $ref: /schemas/regulator/regulator.yaml# unevaluatedProperties: false additionalProperties: false patternProperties: '-pins$': type: object additionalProperties: false $ref: /schemas/pinctrl/pinmux-node.yaml properties: function: enum: [gpio, thermistor] pins: $ref: /schemas/types.yaml#/definitions/string const: gpio0 required: - compatible - reg - interrupts - '#clock-cells' additionalProperties: false examples: - | #include #include #include i2c { #address-cells = <1>; #size-cells = <0>; rk816: pmic@1a { compatible = "rockchip,rk816"; reg = <0x1a>; interrupt-parent = <&gpio0>; interrupts = ; clock-output-names = "xin32k", "rk816-clkout2"; pinctrl-names = "default"; pinctrl-0 = <&pmic_int_l>; gpio-controller; system-power-controller; wakeup-source; #clock-cells = <1>; #gpio-cells = <2>; vcc1-supply = <&vcc_sys>; vcc2-supply = <&vcc_sys>; vcc3-supply = <&vcc_sys>; vcc4-supply = <&vcc_sys>; vcc5-supply = <&vcc33_io>; vcc6-supply = <&vcc_sys>; regulators { vdd_cpu: dcdc1 { regulator-name = "vdd_cpu"; regulator-min-microvolt = <750000>; regulator-max-microvolt = <1450000>; regulator-ramp-delay = <6001>; regulator-initial-mode = <1>; regulator-always-on; regulator-boot-on; regulator-state-mem { regulator-off-in-suspend; }; }; vdd_logic: dcdc2 { regulator-name = "vdd_logic"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <1250000>; regulator-ramp-delay = <6001>; regulator-initial-mode = <1>; regulator-always-on; regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <1000000>; }; }; vcc_ddr: dcdc3 { regulator-name = "vcc_ddr"; regulator-initial-mode = <1>; regulator-always-on; regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; }; }; vcc33_io: dcdc4 { regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "vcc33_io"; regulator-initial-mode = <1>; regulator-always-on; regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <3300000>; }; }; vccio_pmu: ldo1 { regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "vccio_pmu"; regulator-always-on; regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <3300000>; }; }; vcc_tp: ldo2 { regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "vcc_tp"; regulator-state-mem { regulator-off-in-suspend; }; }; vdd_10: ldo3 { regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-name = "vdd_10"; regulator-always-on; regulator-boot-on; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <1000000>; }; }; vcc18_lcd: ldo4 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-name = "vcc18_lcd"; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <1800000>; }; }; vccio_sd: ldo5 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-name = "vccio_sd"; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <3300000>; }; }; vdd10_lcd: ldo6 { regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-name = "vdd10_lcd"; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <1000000>; }; }; }; rk816_gpio_pins: gpio-pins { function = "gpio"; pins = "gpio0"; }; }; };