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