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