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,rk806.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: RK806 Power Management Integrated Circuit 8 9maintainers: 10 - Sebastian Reichel <sebastian.reichel@collabora.com> 11 12description: 13 Rockchip RK806 series PMIC. This device consists of an spi or 14 i2c controlled MFD that includes multiple switchable regulators. 15 16properties: 17 compatible: 18 enum: 19 - rockchip,rk806 20 21 reg: 22 maxItems: 1 23 24 interrupts: 25 maxItems: 1 26 27 gpio-controller: true 28 29 '#gpio-cells': 30 const: 2 31 32 system-power-controller: true 33 34 rockchip,reset-mode: 35 $ref: /schemas/types.yaml#/definitions/uint32 36 enum: [0, 1, 2] 37 description: 38 Mode to use when a reset of the PMIC is triggered. 39 40 The reset can be triggered either programmatically, via one of 41 the PWRCTRL pins (provided additional configuration) or 42 asserting RESETB pin low. 43 44 The following modes are supported 45 46 - 0; restart PMU, 47 - 1; reset all power off reset registers and force state to 48 switch to ACTIVE mode, 49 - 2; same as mode 1 and also pull RESETB pin down for 5ms, 50 51 For example, some hardware may require a full restart (mode 0) 52 in order to function properly as regulators are shortly 53 interrupted in this mode. 54 55 vcc1-supply: 56 description: 57 The input supply for dcdc-reg1. 58 59 vcc2-supply: 60 description: 61 The input supply for dcdc-reg2. 62 63 vcc3-supply: 64 description: 65 The input supply for dcdc-reg3. 66 67 vcc4-supply: 68 description: 69 The input supply for dcdc-reg4. 70 71 vcc5-supply: 72 description: 73 The input supply for dcdc-reg5. 74 75 vcc6-supply: 76 description: 77 The input supply for dcdc-reg6. 78 79 vcc7-supply: 80 description: 81 The input supply for dcdc-reg7. 82 83 vcc8-supply: 84 description: 85 The input supply for dcdc-reg8. 86 87 vcc9-supply: 88 description: 89 The input supply for dcdc-reg9. 90 91 vcc10-supply: 92 description: 93 The input supply for dcdc-reg10. 94 95 vcc11-supply: 96 description: 97 The input supply for pldo-reg1, pldo-reg2 and pldo-reg3. 98 99 vcc12-supply: 100 description: 101 The input supply for pldo-reg4 and pldo-reg5. 102 103 vcc13-supply: 104 description: 105 The input supply for nldo-reg1, nldo-reg2 and nldo-reg3. 106 107 vcc14-supply: 108 description: 109 The input supply for nldo-reg4 and nldo-reg5. 110 111 vcca-supply: 112 description: 113 The input supply for pldo-reg6. 114 115 regulators: 116 type: object 117 additionalProperties: false 118 patternProperties: 119 "^(dcdc-reg([1-9]|10)|pldo-reg[1-6]|nldo-reg[1-5])$": 120 type: object 121 $ref: /schemas/regulator/regulator.yaml# 122 unevaluatedProperties: false 123 124patternProperties: 125 '-pins$': 126 type: object 127 additionalProperties: false 128 $ref: /schemas/pinctrl/pinmux-node.yaml 129 130 properties: 131 function: 132 enum: [pin_fun0, pin_fun1, pin_fun2, pin_fun3, pin_fun4, pin_fun5] 133 134 pins: 135 $ref: /schemas/types.yaml#/definitions/string 136 enum: [gpio_pwrctrl1, gpio_pwrctrl2, gpio_pwrctrl3] 137 138allOf: 139 - $ref: /schemas/spi/spi-peripheral-props.yaml 140 141required: 142 - compatible 143 - reg 144 - interrupts 145 146unevaluatedProperties: false 147 148examples: 149 - | 150 #include <dt-bindings/pinctrl/rockchip.h> 151 #include <dt-bindings/interrupt-controller/irq.h> 152 #include <dt-bindings/gpio/gpio.h> 153 spi { 154 #address-cells = <1>; 155 #size-cells = <0>; 156 157 pmic@0 { 158 compatible = "rockchip,rk806"; 159 reg = <0x0>; 160 161 interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 162 163 vcc1-supply = <&vcc5v0_sys>; 164 vcc2-supply = <&vcc5v0_sys>; 165 vcc3-supply = <&vcc5v0_sys>; 166 vcc4-supply = <&vcc5v0_sys>; 167 vcc5-supply = <&vcc5v0_sys>; 168 vcc6-supply = <&vcc5v0_sys>; 169 vcc7-supply = <&vcc5v0_sys>; 170 vcc8-supply = <&vcc5v0_sys>; 171 vcc9-supply = <&vcc5v0_sys>; 172 vcc10-supply = <&vcc5v0_sys>; 173 vcc11-supply = <&vcc_2v0_pldo_s3>; 174 vcc12-supply = <&vcc5v0_sys>; 175 vcc13-supply = <&vcc5v0_sys>; 176 vcc14-supply = <&vcc_1v1_nldo_s3>; 177 vcca-supply = <&vcc5v0_sys>; 178 179 regulators { 180 vdd_gpu_s0: dcdc-reg1 { 181 regulator-always-on; 182 regulator-boot-on; 183 regulator-min-microvolt = <550000>; 184 regulator-max-microvolt = <950000>; 185 regulator-ramp-delay = <12500>; 186 regulator-name = "vdd_gpu_s0"; 187 regulator-state-mem { 188 regulator-off-in-suspend; 189 }; 190 }; 191 192 vdd_npu_s0: dcdc-reg2 { 193 regulator-always-on; 194 regulator-boot-on; 195 regulator-min-microvolt = <550000>; 196 regulator-max-microvolt = <950000>; 197 regulator-ramp-delay = <12500>; 198 regulator-name = "vdd_npu_s0"; 199 regulator-state-mem { 200 regulator-off-in-suspend; 201 }; 202 }; 203 204 vdd_log_s0: dcdc-reg3 { 205 regulator-always-on; 206 regulator-boot-on; 207 regulator-min-microvolt = <750000>; 208 regulator-max-microvolt = <750000>; 209 regulator-ramp-delay = <12500>; 210 regulator-name = "vdd_log_s0"; 211 regulator-state-mem { 212 regulator-on-in-suspend; 213 regulator-suspend-microvolt = <750000>; 214 }; 215 }; 216 217 vdd_vdenc_s0: dcdc-reg4 { 218 regulator-always-on; 219 regulator-boot-on; 220 regulator-min-microvolt = <550000>; 221 regulator-max-microvolt = <950000>; 222 regulator-ramp-delay = <12500>; 223 regulator-name = "vdd_vdenc_s0"; 224 regulator-state-mem { 225 regulator-off-in-suspend; 226 }; 227 }; 228 229 vdd_gpu_mem_s0: dcdc-reg5 { 230 regulator-always-on; 231 regulator-boot-on; 232 regulator-min-microvolt = <675000>; 233 regulator-max-microvolt = <950000>; 234 regulator-ramp-delay = <12500>; 235 regulator-name = "vdd_gpu_mem_s0"; 236 regulator-state-mem { 237 regulator-off-in-suspend; 238 }; 239 }; 240 241 vdd_npu_mem_s0: dcdc-reg6 { 242 regulator-always-on; 243 regulator-boot-on; 244 regulator-min-microvolt = <675000>; 245 regulator-max-microvolt = <950000>; 246 regulator-ramp-delay = <12500>; 247 regulator-name = "vdd_npu_mem_s0"; 248 regulator-state-mem { 249 regulator-off-in-suspend; 250 }; 251 }; 252 253 vcc_2v0_pldo_s3: dcdc-reg7 { 254 regulator-always-on; 255 regulator-boot-on; 256 regulator-min-microvolt = <2000000>; 257 regulator-max-microvolt = <2000000>; 258 regulator-ramp-delay = <12500>; 259 regulator-name = "vdd_2v0_pldo_s3"; 260 regulator-state-mem { 261 regulator-on-in-suspend; 262 regulator-suspend-microvolt = <2000000>; 263 }; 264 }; 265 266 vdd_vdenc_mem_s0: dcdc-reg8 { 267 regulator-always-on; 268 regulator-boot-on; 269 regulator-min-microvolt = <675000>; 270 regulator-max-microvolt = <950000>; 271 regulator-ramp-delay = <12500>; 272 regulator-name = "vdd_vdenc_mem_s0"; 273 regulator-state-mem { 274 regulator-off-in-suspend; 275 }; 276 }; 277 278 vdd2_ddr_s3: dcdc-reg9 { 279 regulator-always-on; 280 regulator-boot-on; 281 regulator-name = "vdd2_ddr_s3"; 282 regulator-state-mem { 283 regulator-on-in-suspend; 284 }; 285 }; 286 287 vcc_1v1_nldo_s3: dcdc-reg10 { 288 regulator-always-on; 289 regulator-boot-on; 290 regulator-min-microvolt = <1100000>; 291 regulator-max-microvolt = <1100000>; 292 regulator-ramp-delay = <12500>; 293 regulator-name = "vcc_1v1_nldo_s3"; 294 regulator-state-mem { 295 regulator-on-in-suspend; 296 regulator-suspend-microvolt = <1100000>; 297 }; 298 }; 299 300 avcc_1v8_s0: pldo-reg1 { 301 regulator-always-on; 302 regulator-boot-on; 303 regulator-min-microvolt = <1800000>; 304 regulator-max-microvolt = <1800000>; 305 regulator-ramp-delay = <12500>; 306 regulator-name = "avcc_1v8_s0"; 307 regulator-state-mem { 308 regulator-off-in-suspend; 309 }; 310 }; 311 312 vdd1_1v8_ddr_s3: pldo-reg2 { 313 regulator-always-on; 314 regulator-boot-on; 315 regulator-min-microvolt = <1800000>; 316 regulator-max-microvolt = <1800000>; 317 regulator-ramp-delay = <12500>; 318 regulator-name = "vdd1_1v8_ddr_s3"; 319 regulator-state-mem { 320 regulator-on-in-suspend; 321 regulator-suspend-microvolt = <1800000>; 322 }; 323 }; 324 325 vcc_1v8_s3: pldo-reg3 { 326 regulator-always-on; 327 regulator-boot-on; 328 regulator-min-microvolt = <1800000>; 329 regulator-max-microvolt = <1800000>; 330 regulator-ramp-delay = <12500>; 331 regulator-name = "vcc_1v8_s3"; 332 regulator-state-mem { 333 regulator-on-in-suspend; 334 regulator-suspend-microvolt = <1800000>; 335 }; 336 }; 337 338 vcc_3v3_s0: pldo-reg4 { 339 regulator-always-on; 340 regulator-boot-on; 341 regulator-min-microvolt = <3300000>; 342 regulator-max-microvolt = <3300000>; 343 regulator-ramp-delay = <12500>; 344 regulator-name = "vcc_3v3_s0"; 345 regulator-state-mem { 346 regulator-off-in-suspend; 347 }; 348 }; 349 350 vccio_sd_s0: pldo-reg5 { 351 regulator-always-on; 352 regulator-boot-on; 353 regulator-min-microvolt = <1800000>; 354 regulator-max-microvolt = <3300000>; 355 regulator-ramp-delay = <12500>; 356 regulator-name = "vccio_sd_s0"; 357 regulator-state-mem { 358 regulator-off-in-suspend; 359 }; 360 }; 361 362 master_pldo6_s3: pldo-reg6 { 363 regulator-always-on; 364 regulator-boot-on; 365 regulator-min-microvolt = <1800000>; 366 regulator-max-microvolt = <1800000>; 367 regulator-name = "master_pldo6_s3"; 368 regulator-state-mem { 369 regulator-on-in-suspend; 370 regulator-suspend-microvolt = <1800000>; 371 }; 372 }; 373 374 vdd_0v75_s3: nldo-reg1 { 375 regulator-always-on; 376 regulator-boot-on; 377 regulator-min-microvolt = <750000>; 378 regulator-max-microvolt = <750000>; 379 regulator-ramp-delay = <12500>; 380 regulator-name = "vdd_0v75_s3"; 381 regulator-state-mem { 382 regulator-on-in-suspend; 383 regulator-suspend-microvolt = <750000>; 384 }; 385 }; 386 387 vdd2l_0v9_ddr_s3: nldo-reg2 { 388 regulator-always-on; 389 regulator-boot-on; 390 regulator-min-microvolt = <900000>; 391 regulator-max-microvolt = <900000>; 392 regulator-name = "vdd2l_0v9_ddr_s3"; 393 regulator-state-mem { 394 regulator-on-in-suspend; 395 regulator-suspend-microvolt = <900000>; 396 }; 397 }; 398 399 master_nldo3: nldo-reg3 { 400 regulator-name = "master_nldo3"; 401 regulator-state-mem { 402 regulator-off-in-suspend; 403 }; 404 }; 405 406 avdd_0v75_s0: nldo-reg4 { 407 regulator-always-on; 408 regulator-boot-on; 409 regulator-min-microvolt = <750000>; 410 regulator-max-microvolt = <750000>; 411 regulator-name = "avdd_0v75_s0"; 412 regulator-state-mem { 413 regulator-off-in-suspend; 414 }; 415 }; 416 417 vdd_0v85_s0: nldo-reg5 { 418 regulator-always-on; 419 regulator-boot-on; 420 regulator-min-microvolt = <850000>; 421 regulator-max-microvolt = <850000>; 422 regulator-name = "vdd_0v85_s0"; 423 regulator-state-mem { 424 regulator-off-in-suspend; 425 }; 426 }; 427 }; 428 }; 429 }; 430