1d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2d5b0e70fSEmmanuel Vadot%YAML 1.2 3d5b0e70fSEmmanuel Vadot--- 4d5b0e70fSEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/rockchip,rk809.yaml# 5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6d5b0e70fSEmmanuel Vadot 7d5b0e70fSEmmanuel Vadottitle: RK809 Power Management Integrated Circuit 8d5b0e70fSEmmanuel Vadot 9d5b0e70fSEmmanuel Vadotmaintainers: 10d5b0e70fSEmmanuel Vadot - Chris Zhong <zyw@rock-chips.com> 11d5b0e70fSEmmanuel Vadot - Zhang Qing <zhangqing@rock-chips.com> 12d5b0e70fSEmmanuel Vadot 13d5b0e70fSEmmanuel Vadotdescription: | 14d5b0e70fSEmmanuel Vadot Rockchip RK809 series PMIC. This device consists of an i2c controlled MFD 15d5b0e70fSEmmanuel Vadot that includes regulators, an RTC, and power button. 16d5b0e70fSEmmanuel Vadot 17d5b0e70fSEmmanuel Vadotproperties: 18d5b0e70fSEmmanuel Vadot compatible: 19d5b0e70fSEmmanuel Vadot enum: 20d5b0e70fSEmmanuel Vadot - rockchip,rk809 21d5b0e70fSEmmanuel Vadot 22d5b0e70fSEmmanuel Vadot reg: 23d5b0e70fSEmmanuel Vadot maxItems: 1 24d5b0e70fSEmmanuel Vadot 25d5b0e70fSEmmanuel Vadot interrupts: 26d5b0e70fSEmmanuel Vadot maxItems: 1 27d5b0e70fSEmmanuel Vadot 28d5b0e70fSEmmanuel Vadot '#clock-cells': 29d5b0e70fSEmmanuel Vadot description: | 30d5b0e70fSEmmanuel Vadot See <dt-bindings/clock/rockchip,rk808.h> for clock IDs. 31d5b0e70fSEmmanuel Vadot minimum: 0 32d5b0e70fSEmmanuel Vadot maximum: 1 33d5b0e70fSEmmanuel Vadot 34d5b0e70fSEmmanuel Vadot clock-output-names: 35d5b0e70fSEmmanuel Vadot description: 36d5b0e70fSEmmanuel Vadot From common clock binding to override the default output clock name. 37d5b0e70fSEmmanuel Vadot 38d5b0e70fSEmmanuel Vadot rockchip,system-power-controller: 39d5b0e70fSEmmanuel Vadot type: boolean 40*84943d6fSEmmanuel Vadot deprecated: true 41d5b0e70fSEmmanuel Vadot description: 42d5b0e70fSEmmanuel Vadot Telling whether or not this PMIC is controlling the system power. 43d5b0e70fSEmmanuel Vadot 44*84943d6fSEmmanuel Vadot system-power-controller: true 45*84943d6fSEmmanuel Vadot 46d5b0e70fSEmmanuel Vadot wakeup-source: 47d5b0e70fSEmmanuel Vadot type: boolean 48d5b0e70fSEmmanuel Vadot description: 49d5b0e70fSEmmanuel Vadot Device can be used as a wakeup source. 50d5b0e70fSEmmanuel Vadot 51d5b0e70fSEmmanuel Vadot vcc1-supply: 52d5b0e70fSEmmanuel Vadot description: 53d5b0e70fSEmmanuel Vadot The input supply for DCDC_REG1. 54d5b0e70fSEmmanuel Vadot 55d5b0e70fSEmmanuel Vadot vcc2-supply: 56d5b0e70fSEmmanuel Vadot description: 57d5b0e70fSEmmanuel Vadot The input supply for DCDC_REG2. 58d5b0e70fSEmmanuel Vadot 59d5b0e70fSEmmanuel Vadot vcc3-supply: 60d5b0e70fSEmmanuel Vadot description: 61d5b0e70fSEmmanuel Vadot The input supply for DCDC_REG3. 62d5b0e70fSEmmanuel Vadot 63d5b0e70fSEmmanuel Vadot vcc4-supply: 64d5b0e70fSEmmanuel Vadot description: 65d5b0e70fSEmmanuel Vadot The input supply for DCDC_REG4. 66d5b0e70fSEmmanuel Vadot 67d5b0e70fSEmmanuel Vadot vcc5-supply: 68d5b0e70fSEmmanuel Vadot description: 69d5b0e70fSEmmanuel Vadot The input supply for LDO_REG1, LDO_REG2, and LDO_REG3. 70d5b0e70fSEmmanuel Vadot 71d5b0e70fSEmmanuel Vadot vcc6-supply: 72d5b0e70fSEmmanuel Vadot description: 73d5b0e70fSEmmanuel Vadot The input supply for LDO_REG4, LDO_REG5, and LDO_REG6. 74d5b0e70fSEmmanuel Vadot 75d5b0e70fSEmmanuel Vadot vcc7-supply: 76d5b0e70fSEmmanuel Vadot description: 77d5b0e70fSEmmanuel Vadot The input supply for LDO_REG7, LDO_REG8, and LDO_REG9. 78d5b0e70fSEmmanuel Vadot 79d5b0e70fSEmmanuel Vadot vcc8-supply: 80d5b0e70fSEmmanuel Vadot description: 81d5b0e70fSEmmanuel Vadot The input supply for SWITCH_REG1. 82d5b0e70fSEmmanuel Vadot 83d5b0e70fSEmmanuel Vadot vcc9-supply: 84d5b0e70fSEmmanuel Vadot description: 85d5b0e70fSEmmanuel Vadot The input supply for DCDC_REG5 and SWITCH_REG2. 86d5b0e70fSEmmanuel Vadot 87d5b0e70fSEmmanuel Vadot regulators: 88d5b0e70fSEmmanuel Vadot type: object 89d5b0e70fSEmmanuel Vadot patternProperties: 90d5b0e70fSEmmanuel Vadot "^(LDO_REG[1-9]|DCDC_REG[1-5]|SWITCH_REG[1-2])$": 91d5b0e70fSEmmanuel Vadot type: object 92*84943d6fSEmmanuel Vadot $ref: /schemas/regulator/regulator.yaml# 93*84943d6fSEmmanuel Vadot unevaluatedProperties: false 94d5b0e70fSEmmanuel Vadot unevaluatedProperties: false 95d5b0e70fSEmmanuel Vadot 96d5b0e70fSEmmanuel VadotallOf: 97d5b0e70fSEmmanuel Vadot - if: 98d5b0e70fSEmmanuel Vadot properties: 99d5b0e70fSEmmanuel Vadot '#clock-cells': 100d5b0e70fSEmmanuel Vadot const: 0 101d5b0e70fSEmmanuel Vadot 102d5b0e70fSEmmanuel Vadot then: 103d5b0e70fSEmmanuel Vadot properties: 104d5b0e70fSEmmanuel Vadot clock-output-names: 105d5b0e70fSEmmanuel Vadot maxItems: 1 106d5b0e70fSEmmanuel Vadot 107d5b0e70fSEmmanuel Vadot else: 108d5b0e70fSEmmanuel Vadot properties: 109d5b0e70fSEmmanuel Vadot clock-output-names: 110d5b0e70fSEmmanuel Vadot maxItems: 2 111d5b0e70fSEmmanuel Vadot 112d5b0e70fSEmmanuel Vadotrequired: 113d5b0e70fSEmmanuel Vadot - compatible 114d5b0e70fSEmmanuel Vadot - reg 115d5b0e70fSEmmanuel Vadot - interrupts 116d5b0e70fSEmmanuel Vadot - "#clock-cells" 117d5b0e70fSEmmanuel Vadot 118d5b0e70fSEmmanuel VadotadditionalProperties: false 119d5b0e70fSEmmanuel Vadot 120d5b0e70fSEmmanuel Vadotexamples: 121d5b0e70fSEmmanuel Vadot - | 122d5b0e70fSEmmanuel Vadot #include <dt-bindings/pinctrl/rockchip.h> 123d5b0e70fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 124d5b0e70fSEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 125d5b0e70fSEmmanuel Vadot i2c { 126d5b0e70fSEmmanuel Vadot #address-cells = <1>; 127d5b0e70fSEmmanuel Vadot #size-cells = <0>; 128d5b0e70fSEmmanuel Vadot 129d5b0e70fSEmmanuel Vadot rk808: pmic@1b { 130d5b0e70fSEmmanuel Vadot compatible = "rockchip,rk808"; 131d5b0e70fSEmmanuel Vadot reg = <0x1b>; 132d5b0e70fSEmmanuel Vadot #clock-cells = <1>; 133d5b0e70fSEmmanuel Vadot clock-output-names = "xin32k", "rk808-clkout2"; 134d5b0e70fSEmmanuel Vadot interrupt-parent = <&gpio3>; 135d5b0e70fSEmmanuel Vadot interrupts = <10 IRQ_TYPE_LEVEL_LOW>; 136d5b0e70fSEmmanuel Vadot pinctrl-names = "default"; 137d5b0e70fSEmmanuel Vadot pinctrl-0 = <&pmic_int_l_pin>; 138d5b0e70fSEmmanuel Vadot rockchip,system-power-controller; 139d5b0e70fSEmmanuel Vadot wakeup-source; 140d5b0e70fSEmmanuel Vadot 141d5b0e70fSEmmanuel Vadot vcc1-supply = <&vcc_sysin>; 142d5b0e70fSEmmanuel Vadot vcc2-supply = <&vcc_sysin>; 143d5b0e70fSEmmanuel Vadot vcc3-supply = <&vcc_sysin>; 144d5b0e70fSEmmanuel Vadot vcc4-supply = <&vcc_sysin>; 145d5b0e70fSEmmanuel Vadot vcc6-supply = <&vcc_sysin>; 146d5b0e70fSEmmanuel Vadot vcc7-supply = <&vcc_sysin>; 147d5b0e70fSEmmanuel Vadot vcc8-supply = <&vcc3v3_sys>; 148d5b0e70fSEmmanuel Vadot vcc9-supply = <&vcc_sysin>; 149d5b0e70fSEmmanuel Vadot vcc10-supply = <&vcc_sysin>; 150d5b0e70fSEmmanuel Vadot vcc11-supply = <&vcc_sysin>; 151d5b0e70fSEmmanuel Vadot vcc12-supply = <&vcc3v3_sys>; 152d5b0e70fSEmmanuel Vadot 153d5b0e70fSEmmanuel Vadot regulators { 154d5b0e70fSEmmanuel Vadot vdd_center: DCDC_REG1 { 155d5b0e70fSEmmanuel Vadot regulator-name = "vdd_center"; 156d5b0e70fSEmmanuel Vadot regulator-always-on; 157d5b0e70fSEmmanuel Vadot regulator-boot-on; 158d5b0e70fSEmmanuel Vadot regulator-min-microvolt = <750000>; 159d5b0e70fSEmmanuel Vadot regulator-max-microvolt = <1350000>; 160d5b0e70fSEmmanuel Vadot regulator-ramp-delay = <6001>; 161d5b0e70fSEmmanuel Vadot regulator-state-mem { 162d5b0e70fSEmmanuel Vadot regulator-off-in-suspend; 163d5b0e70fSEmmanuel Vadot }; 164d5b0e70fSEmmanuel Vadot }; 165d5b0e70fSEmmanuel Vadot 166d5b0e70fSEmmanuel Vadot vdd_cpu_l: DCDC_REG2 { 167d5b0e70fSEmmanuel Vadot regulator-name = "vdd_cpu_l"; 168d5b0e70fSEmmanuel Vadot regulator-always-on; 169d5b0e70fSEmmanuel Vadot regulator-boot-on; 170d5b0e70fSEmmanuel Vadot regulator-min-microvolt = <750000>; 171d5b0e70fSEmmanuel Vadot regulator-max-microvolt = <1350000>; 172d5b0e70fSEmmanuel Vadot regulator-ramp-delay = <6001>; 173d5b0e70fSEmmanuel Vadot regulator-state-mem { 174d5b0e70fSEmmanuel Vadot regulator-off-in-suspend; 175d5b0e70fSEmmanuel Vadot }; 176d5b0e70fSEmmanuel Vadot }; 177d5b0e70fSEmmanuel Vadot 178d5b0e70fSEmmanuel Vadot vcc_ddr: DCDC_REG3 { 179d5b0e70fSEmmanuel Vadot regulator-name = "vcc_ddr"; 180d5b0e70fSEmmanuel Vadot regulator-always-on; 181d5b0e70fSEmmanuel Vadot regulator-boot-on; 182d5b0e70fSEmmanuel Vadot regulator-state-mem { 183d5b0e70fSEmmanuel Vadot regulator-on-in-suspend; 184d5b0e70fSEmmanuel Vadot }; 185d5b0e70fSEmmanuel Vadot }; 186d5b0e70fSEmmanuel Vadot 187d5b0e70fSEmmanuel Vadot vcc_1v8: vcc_wl: DCDC_REG4 { 188d5b0e70fSEmmanuel Vadot regulator-name = "vcc_1v8"; 189d5b0e70fSEmmanuel Vadot regulator-always-on; 190d5b0e70fSEmmanuel Vadot regulator-boot-on; 191d5b0e70fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 192d5b0e70fSEmmanuel Vadot regulator-max-microvolt = <1800000>; 193d5b0e70fSEmmanuel Vadot regulator-state-mem { 194d5b0e70fSEmmanuel Vadot regulator-on-in-suspend; 195d5b0e70fSEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 196d5b0e70fSEmmanuel Vadot }; 197d5b0e70fSEmmanuel Vadot }; 198d5b0e70fSEmmanuel Vadot 199d5b0e70fSEmmanuel Vadot vcc1v8_pmupll: LDO_REG3 { 200d5b0e70fSEmmanuel Vadot regulator-name = "vcc1v8_pmupll"; 201d5b0e70fSEmmanuel Vadot regulator-always-on; 202d5b0e70fSEmmanuel Vadot regulator-boot-on; 203d5b0e70fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 204d5b0e70fSEmmanuel Vadot regulator-max-microvolt = <1800000>; 205d5b0e70fSEmmanuel Vadot regulator-state-mem { 206d5b0e70fSEmmanuel Vadot regulator-on-in-suspend; 207d5b0e70fSEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 208d5b0e70fSEmmanuel Vadot }; 209d5b0e70fSEmmanuel Vadot }; 210d5b0e70fSEmmanuel Vadot 211d5b0e70fSEmmanuel Vadot vcc_sdio: LDO_REG4 { 212d5b0e70fSEmmanuel Vadot regulator-name = "vcc_sdio"; 213d5b0e70fSEmmanuel Vadot regulator-always-on; 214d5b0e70fSEmmanuel Vadot regulator-boot-on; 215d5b0e70fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 216d5b0e70fSEmmanuel Vadot regulator-max-microvolt = <3000000>; 217d5b0e70fSEmmanuel Vadot regulator-state-mem { 218d5b0e70fSEmmanuel Vadot regulator-on-in-suspend; 219d5b0e70fSEmmanuel Vadot regulator-suspend-microvolt = <3000000>; 220d5b0e70fSEmmanuel Vadot }; 221d5b0e70fSEmmanuel Vadot }; 222d5b0e70fSEmmanuel Vadot 223d5b0e70fSEmmanuel Vadot vcca3v0_codec: LDO_REG5 { 224d5b0e70fSEmmanuel Vadot regulator-name = "vcca3v0_codec"; 225d5b0e70fSEmmanuel Vadot regulator-always-on; 226d5b0e70fSEmmanuel Vadot regulator-boot-on; 227d5b0e70fSEmmanuel Vadot regulator-min-microvolt = <3000000>; 228d5b0e70fSEmmanuel Vadot regulator-max-microvolt = <3000000>; 229d5b0e70fSEmmanuel Vadot regulator-state-mem { 230d5b0e70fSEmmanuel Vadot regulator-off-in-suspend; 231d5b0e70fSEmmanuel Vadot }; 232d5b0e70fSEmmanuel Vadot }; 233d5b0e70fSEmmanuel Vadot 234d5b0e70fSEmmanuel Vadot vcc_1v5: LDO_REG6 { 235d5b0e70fSEmmanuel Vadot regulator-name = "vcc_1v5"; 236d5b0e70fSEmmanuel Vadot regulator-always-on; 237d5b0e70fSEmmanuel Vadot regulator-boot-on; 238d5b0e70fSEmmanuel Vadot regulator-min-microvolt = <1500000>; 239d5b0e70fSEmmanuel Vadot regulator-max-microvolt = <1500000>; 240d5b0e70fSEmmanuel Vadot regulator-state-mem { 241d5b0e70fSEmmanuel Vadot regulator-on-in-suspend; 242d5b0e70fSEmmanuel Vadot regulator-suspend-microvolt = <1500000>; 243d5b0e70fSEmmanuel Vadot }; 244d5b0e70fSEmmanuel Vadot }; 245d5b0e70fSEmmanuel Vadot 246d5b0e70fSEmmanuel Vadot vcca1v8_codec: LDO_REG7 { 247d5b0e70fSEmmanuel Vadot regulator-name = "vcca1v8_codec"; 248d5b0e70fSEmmanuel Vadot regulator-always-on; 249d5b0e70fSEmmanuel Vadot regulator-boot-on; 250d5b0e70fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 251d5b0e70fSEmmanuel Vadot regulator-max-microvolt = <1800000>; 252d5b0e70fSEmmanuel Vadot regulator-state-mem { 253d5b0e70fSEmmanuel Vadot regulator-off-in-suspend; 254d5b0e70fSEmmanuel Vadot }; 255d5b0e70fSEmmanuel Vadot }; 256d5b0e70fSEmmanuel Vadot 257d5b0e70fSEmmanuel Vadot vcc_3v0: LDO_REG8 { 258d5b0e70fSEmmanuel Vadot regulator-name = "vcc_3v0"; 259d5b0e70fSEmmanuel Vadot regulator-always-on; 260d5b0e70fSEmmanuel Vadot regulator-boot-on; 261d5b0e70fSEmmanuel Vadot regulator-min-microvolt = <3000000>; 262d5b0e70fSEmmanuel Vadot regulator-max-microvolt = <3000000>; 263d5b0e70fSEmmanuel Vadot regulator-state-mem { 264d5b0e70fSEmmanuel Vadot regulator-on-in-suspend; 265d5b0e70fSEmmanuel Vadot regulator-suspend-microvolt = <3000000>; 266d5b0e70fSEmmanuel Vadot }; 267d5b0e70fSEmmanuel Vadot }; 268d5b0e70fSEmmanuel Vadot 269d5b0e70fSEmmanuel Vadot vcc3v3_s3: SWITCH_REG1 { 270d5b0e70fSEmmanuel Vadot regulator-name = "vcc3v3_s3"; 271d5b0e70fSEmmanuel Vadot regulator-always-on; 272d5b0e70fSEmmanuel Vadot regulator-boot-on; 273d5b0e70fSEmmanuel Vadot regulator-state-mem { 274d5b0e70fSEmmanuel Vadot regulator-off-in-suspend; 275d5b0e70fSEmmanuel Vadot }; 276d5b0e70fSEmmanuel Vadot }; 277d5b0e70fSEmmanuel Vadot 278d5b0e70fSEmmanuel Vadot vcc3v3_s0: SWITCH_REG2 { 279d5b0e70fSEmmanuel Vadot regulator-name = "vcc3v3_s0"; 280d5b0e70fSEmmanuel Vadot regulator-always-on; 281d5b0e70fSEmmanuel Vadot regulator-boot-on; 282d5b0e70fSEmmanuel Vadot regulator-state-mem { 283d5b0e70fSEmmanuel Vadot regulator-off-in-suspend; 284d5b0e70fSEmmanuel Vadot }; 285d5b0e70fSEmmanuel Vadot }; 286d5b0e70fSEmmanuel Vadot }; 287d5b0e70fSEmmanuel Vadot }; 288d5b0e70fSEmmanuel Vadot }; 289