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 vcc1-supply: 35 description: 36 The input supply for dcdc-reg1. 37 38 vcc2-supply: 39 description: 40 The input supply for dcdc-reg2. 41 42 vcc3-supply: 43 description: 44 The input supply for dcdc-reg3. 45 46 vcc4-supply: 47 description: 48 The input supply for dcdc-reg4. 49 50 vcc5-supply: 51 description: 52 The input supply for dcdc-reg5. 53 54 vcc6-supply: 55 description: 56 The input supply for dcdc-reg6. 57 58 vcc7-supply: 59 description: 60 The input supply for dcdc-reg7. 61 62 vcc8-supply: 63 description: 64 The input supply for dcdc-reg8. 65 66 vcc9-supply: 67 description: 68 The input supply for dcdc-reg9. 69 70 vcc10-supply: 71 description: 72 The input supply for dcdc-reg10. 73 74 vcc11-supply: 75 description: 76 The input supply for pldo-reg1, pldo-reg2 and pldo-reg3. 77 78 vcc12-supply: 79 description: 80 The input supply for pldo-reg4 and pldo-reg5. 81 82 vcc13-supply: 83 description: 84 The input supply for nldo-reg1, nldo-reg2 and nldo-reg3. 85 86 vcc14-supply: 87 description: 88 The input supply for nldo-reg4 and nldo-reg5. 89 90 vcca-supply: 91 description: 92 The input supply for pldo-reg6. 93 94 regulators: 95 type: object 96 additionalProperties: false 97 patternProperties: 98 "^(dcdc-reg([1-9]|10)|pldo-reg[1-6]|nldo-reg[1-5])$": 99 type: object 100 $ref: /schemas/regulator/regulator.yaml# 101 unevaluatedProperties: false 102 103patternProperties: 104 '-pins$': 105 type: object 106 additionalProperties: false 107 $ref: /schemas/pinctrl/pinmux-node.yaml 108 109 properties: 110 function: 111 enum: [pin_fun0, pin_fun1, pin_fun2, pin_fun3, pin_fun4, pin_fun5] 112 113 pins: 114 $ref: /schemas/types.yaml#/definitions/string 115 enum: [gpio_pwrctrl1, gpio_pwrctrl2, gpio_pwrctrl3] 116 117allOf: 118 - $ref: /schemas/spi/spi-peripheral-props.yaml 119 120required: 121 - compatible 122 - reg 123 - interrupts 124 125unevaluatedProperties: false 126 127examples: 128 - | 129 #include <dt-bindings/pinctrl/rockchip.h> 130 #include <dt-bindings/interrupt-controller/irq.h> 131 #include <dt-bindings/gpio/gpio.h> 132 spi { 133 #address-cells = <1>; 134 #size-cells = <0>; 135 136 pmic@0 { 137 compatible = "rockchip,rk806"; 138 reg = <0x0>; 139 140 interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 141 142 vcc1-supply = <&vcc5v0_sys>; 143 vcc2-supply = <&vcc5v0_sys>; 144 vcc3-supply = <&vcc5v0_sys>; 145 vcc4-supply = <&vcc5v0_sys>; 146 vcc5-supply = <&vcc5v0_sys>; 147 vcc6-supply = <&vcc5v0_sys>; 148 vcc7-supply = <&vcc5v0_sys>; 149 vcc8-supply = <&vcc5v0_sys>; 150 vcc9-supply = <&vcc5v0_sys>; 151 vcc10-supply = <&vcc5v0_sys>; 152 vcc11-supply = <&vcc_2v0_pldo_s3>; 153 vcc12-supply = <&vcc5v0_sys>; 154 vcc13-supply = <&vcc5v0_sys>; 155 vcc14-supply = <&vcc_1v1_nldo_s3>; 156 vcca-supply = <&vcc5v0_sys>; 157 158 regulators { 159 vdd_gpu_s0: dcdc-reg1 { 160 regulator-always-on; 161 regulator-boot-on; 162 regulator-min-microvolt = <550000>; 163 regulator-max-microvolt = <950000>; 164 regulator-ramp-delay = <12500>; 165 regulator-name = "vdd_gpu_s0"; 166 regulator-state-mem { 167 regulator-off-in-suspend; 168 }; 169 }; 170 171 vdd_npu_s0: dcdc-reg2 { 172 regulator-always-on; 173 regulator-boot-on; 174 regulator-min-microvolt = <550000>; 175 regulator-max-microvolt = <950000>; 176 regulator-ramp-delay = <12500>; 177 regulator-name = "vdd_npu_s0"; 178 regulator-state-mem { 179 regulator-off-in-suspend; 180 }; 181 }; 182 183 vdd_log_s0: dcdc-reg3 { 184 regulator-always-on; 185 regulator-boot-on; 186 regulator-min-microvolt = <750000>; 187 regulator-max-microvolt = <750000>; 188 regulator-ramp-delay = <12500>; 189 regulator-name = "vdd_log_s0"; 190 regulator-state-mem { 191 regulator-on-in-suspend; 192 regulator-suspend-microvolt = <750000>; 193 }; 194 }; 195 196 vdd_vdenc_s0: dcdc-reg4 { 197 regulator-always-on; 198 regulator-boot-on; 199 regulator-min-microvolt = <550000>; 200 regulator-max-microvolt = <950000>; 201 regulator-ramp-delay = <12500>; 202 regulator-name = "vdd_vdenc_s0"; 203 regulator-state-mem { 204 regulator-off-in-suspend; 205 }; 206 }; 207 208 vdd_gpu_mem_s0: dcdc-reg5 { 209 regulator-always-on; 210 regulator-boot-on; 211 regulator-min-microvolt = <675000>; 212 regulator-max-microvolt = <950000>; 213 regulator-ramp-delay = <12500>; 214 regulator-name = "vdd_gpu_mem_s0"; 215 regulator-state-mem { 216 regulator-off-in-suspend; 217 }; 218 }; 219 220 vdd_npu_mem_s0: dcdc-reg6 { 221 regulator-always-on; 222 regulator-boot-on; 223 regulator-min-microvolt = <675000>; 224 regulator-max-microvolt = <950000>; 225 regulator-ramp-delay = <12500>; 226 regulator-name = "vdd_npu_mem_s0"; 227 regulator-state-mem { 228 regulator-off-in-suspend; 229 }; 230 }; 231 232 vcc_2v0_pldo_s3: dcdc-reg7 { 233 regulator-always-on; 234 regulator-boot-on; 235 regulator-min-microvolt = <2000000>; 236 regulator-max-microvolt = <2000000>; 237 regulator-ramp-delay = <12500>; 238 regulator-name = "vdd_2v0_pldo_s3"; 239 regulator-state-mem { 240 regulator-on-in-suspend; 241 regulator-suspend-microvolt = <2000000>; 242 }; 243 }; 244 245 vdd_vdenc_mem_s0: dcdc-reg8 { 246 regulator-always-on; 247 regulator-boot-on; 248 regulator-min-microvolt = <675000>; 249 regulator-max-microvolt = <950000>; 250 regulator-ramp-delay = <12500>; 251 regulator-name = "vdd_vdenc_mem_s0"; 252 regulator-state-mem { 253 regulator-off-in-suspend; 254 }; 255 }; 256 257 vdd2_ddr_s3: dcdc-reg9 { 258 regulator-always-on; 259 regulator-boot-on; 260 regulator-name = "vdd2_ddr_s3"; 261 regulator-state-mem { 262 regulator-on-in-suspend; 263 }; 264 }; 265 266 vcc_1v1_nldo_s3: dcdc-reg10 { 267 regulator-always-on; 268 regulator-boot-on; 269 regulator-min-microvolt = <1100000>; 270 regulator-max-microvolt = <1100000>; 271 regulator-ramp-delay = <12500>; 272 regulator-name = "vcc_1v1_nldo_s3"; 273 regulator-state-mem { 274 regulator-on-in-suspend; 275 regulator-suspend-microvolt = <1100000>; 276 }; 277 }; 278 279 avcc_1v8_s0: pldo-reg1 { 280 regulator-always-on; 281 regulator-boot-on; 282 regulator-min-microvolt = <1800000>; 283 regulator-max-microvolt = <1800000>; 284 regulator-ramp-delay = <12500>; 285 regulator-name = "avcc_1v8_s0"; 286 regulator-state-mem { 287 regulator-off-in-suspend; 288 }; 289 }; 290 291 vdd1_1v8_ddr_s3: pldo-reg2 { 292 regulator-always-on; 293 regulator-boot-on; 294 regulator-min-microvolt = <1800000>; 295 regulator-max-microvolt = <1800000>; 296 regulator-ramp-delay = <12500>; 297 regulator-name = "vdd1_1v8_ddr_s3"; 298 regulator-state-mem { 299 regulator-on-in-suspend; 300 regulator-suspend-microvolt = <1800000>; 301 }; 302 }; 303 304 vcc_1v8_s3: pldo-reg3 { 305 regulator-always-on; 306 regulator-boot-on; 307 regulator-min-microvolt = <1800000>; 308 regulator-max-microvolt = <1800000>; 309 regulator-ramp-delay = <12500>; 310 regulator-name = "vcc_1v8_s3"; 311 regulator-state-mem { 312 regulator-on-in-suspend; 313 regulator-suspend-microvolt = <1800000>; 314 }; 315 }; 316 317 vcc_3v3_s0: pldo-reg4 { 318 regulator-always-on; 319 regulator-boot-on; 320 regulator-min-microvolt = <3300000>; 321 regulator-max-microvolt = <3300000>; 322 regulator-ramp-delay = <12500>; 323 regulator-name = "vcc_3v3_s0"; 324 regulator-state-mem { 325 regulator-off-in-suspend; 326 }; 327 }; 328 329 vccio_sd_s0: pldo-reg5 { 330 regulator-always-on; 331 regulator-boot-on; 332 regulator-min-microvolt = <1800000>; 333 regulator-max-microvolt = <3300000>; 334 regulator-ramp-delay = <12500>; 335 regulator-name = "vccio_sd_s0"; 336 regulator-state-mem { 337 regulator-off-in-suspend; 338 }; 339 }; 340 341 master_pldo6_s3: pldo-reg6 { 342 regulator-always-on; 343 regulator-boot-on; 344 regulator-min-microvolt = <1800000>; 345 regulator-max-microvolt = <1800000>; 346 regulator-name = "master_pldo6_s3"; 347 regulator-state-mem { 348 regulator-on-in-suspend; 349 regulator-suspend-microvolt = <1800000>; 350 }; 351 }; 352 353 vdd_0v75_s3: nldo-reg1 { 354 regulator-always-on; 355 regulator-boot-on; 356 regulator-min-microvolt = <750000>; 357 regulator-max-microvolt = <750000>; 358 regulator-ramp-delay = <12500>; 359 regulator-name = "vdd_0v75_s3"; 360 regulator-state-mem { 361 regulator-on-in-suspend; 362 regulator-suspend-microvolt = <750000>; 363 }; 364 }; 365 366 vdd2l_0v9_ddr_s3: nldo-reg2 { 367 regulator-always-on; 368 regulator-boot-on; 369 regulator-min-microvolt = <900000>; 370 regulator-max-microvolt = <900000>; 371 regulator-name = "vdd2l_0v9_ddr_s3"; 372 regulator-state-mem { 373 regulator-on-in-suspend; 374 regulator-suspend-microvolt = <900000>; 375 }; 376 }; 377 378 master_nldo3: nldo-reg3 { 379 regulator-name = "master_nldo3"; 380 regulator-state-mem { 381 regulator-off-in-suspend; 382 }; 383 }; 384 385 avdd_0v75_s0: nldo-reg4 { 386 regulator-always-on; 387 regulator-boot-on; 388 regulator-min-microvolt = <750000>; 389 regulator-max-microvolt = <750000>; 390 regulator-name = "avdd_0v75_s0"; 391 regulator-state-mem { 392 regulator-off-in-suspend; 393 }; 394 }; 395 396 vdd_0v85_s0: nldo-reg5 { 397 regulator-always-on; 398 regulator-boot-on; 399 regulator-min-microvolt = <850000>; 400 regulator-max-microvolt = <850000>; 401 regulator-name = "vdd_0v85_s0"; 402 regulator-state-mem { 403 regulator-off-in-suspend; 404 }; 405 }; 406 }; 407 }; 408 }; 409