Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

dt-bindings: mfd: Add rk806 binding

Add DT binding document for Rockchip's RK806 PMIC.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20230504173618.142075-8-sebastian.reichel@collabora.com
Signed-off-by: Lee Jones <lee@kernel.org>

authored by

Sebastian Reichel and committed by
Lee Jones
706a4141 74413bd6

+406
+406
Documentation/devicetree/bindings/mfd/rockchip,rk806.yaml
··· 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 + 7 + title: RK806 Power Management Integrated Circuit 8 + 9 + maintainers: 10 + - Sebastian Reichel <sebastian.reichel@collabora.com> 11 + 12 + description: 13 + Rockchip RK806 series PMIC. This device consists of an spi or 14 + i2c controlled MFD that includes multiple switchable regulators. 15 + 16 + properties: 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 + 101 + patternProperties: 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 + 115 + allOf: 116 + - $ref: /schemas/spi/spi-peripheral-props.yaml 117 + 118 + required: 119 + - compatible 120 + - reg 121 + - interrupts 122 + 123 + unevaluatedProperties: false 124 + 125 + examples: 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 + };