1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/mfd/st,stpmic1.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: STMicroelectonics STPMIC1 Power Management IC 8 9description: STMicroelectronics STPMIC1 Power Management IC 10 11maintainers: 12 - pascal Paillet <p.paillet@foss.st.com> 13 14properties: 15 compatible: 16 const: st,stpmic1 17 18 reg: 19 const: 0x33 20 21 interrupts: 22 maxItems: 1 23 24 "#interrupt-cells": 25 const: 2 26 27 interrupt-controller: true 28 29 onkey: 30 type: object 31 32 $ref: ../input/input.yaml 33 34 properties: 35 compatible: 36 const: st,stpmic1-onkey 37 38 interrupts: 39 items: 40 - description: onkey-falling, happens when onkey is pressed. IT_PONKEY_F of pmic 41 - description: onkey-rising, happens when onkey is released. IT_PONKEY_R of pmic 42 43 interrupt-names: 44 items: 45 - const: onkey-falling 46 - const: onkey-rising 47 48 st,onkey-clear-cc-flag: 49 description: onkey is able power on after an over-current shutdown event. 50 $ref: /schemas/types.yaml#/definitions/flag 51 52 st,onkey-pu-inactive: 53 description: onkey pull up is not active 54 $ref: /schemas/types.yaml#/definitions/flag 55 56 power-off-time-sec: 57 minimum: 1 58 maximum: 16 59 60 required: 61 - compatible 62 - interrupts 63 - interrupt-names 64 65 additionalProperties: false 66 67 watchdog: 68 type: object 69 70 $ref: ../watchdog/watchdog.yaml 71 72 properties: 73 compatible: 74 const: st,stpmic1-wdt 75 76 timeout-sec: true 77 78 required: 79 - compatible 80 81 additionalProperties: false 82 83 regulators: 84 type: object 85 86 description: | 87 Available Regulators in STPMIC1 device are: 88 - buck1 for Buck BUCK1 89 - buck2 for Buck BUCK2 90 - buck3 for Buck BUCK3 91 - buck4 for Buck BUCK4 92 - ldo1 for LDO LDO1 93 - ldo2 for LDO LDO2 94 - ldo3 for LDO LDO3 95 - ldo4 for LDO LDO4 96 - ldo5 for LDO LDO5 97 - ldo6 for LDO LDO6 98 - vref_ddr for LDO Vref DDR 99 - boost for Buck BOOST 100 - pwr_sw1 for VBUS_OTG switch 101 - pwr_sw2 for SW_OUT switch 102 Switches are fixed voltage regulators with only enable/disable capability. 103 104 properties: 105 compatible: 106 const: st,stpmic1-regulators 107 108 ldo3: 109 $ref: /schemas/regulator/regulator.yaml 110 type: object 111 112 properties: 113 interrupts: 114 maxItems: 1 115 116 st,mask-reset: 117 description: mask reset for this regulator, the regulator configuration 118 is maintained during pmic reset. 119 $ref: /schemas/types.yaml#/definitions/flag 120 121 regulator-name: true 122 regulator-boot-on: true 123 regulator-always-on: true 124 regulator-min-microvolt: true 125 regulator-max-microvolt: true 126 regulator-allow-bypass: true 127 regulator-over-current-protection: true 128 129 additionalProperties: false 130 131 ldo4: 132 $ref: /schemas/regulator/regulator.yaml 133 type: object 134 135 properties: 136 interrupts: 137 maxItems: 1 138 139 st,mask-reset: 140 description: mask reset for this regulator, the regulator configuration 141 is maintained during pmic reset. 142 $ref: /schemas/types.yaml#/definitions/flag 143 144 regulator-name: true 145 regulator-boot-on: true 146 regulator-always-on: true 147 regulator-min-microvolt: true 148 regulator-max-microvolt: true 149 regulator-over-current-protection: true 150 151 additionalProperties: false 152 153 vref_ddr: 154 $ref: /schemas/regulator/regulator.yaml 155 type: object 156 157 properties: 158 interrupts: 159 maxItems: 1 160 161 st,mask-reset: 162 description: mask reset for this regulator, the regulator configuration 163 is maintained during pmic reset. 164 $ref: /schemas/types.yaml#/definitions/flag 165 166 regulator-name: true 167 regulator-boot-on: true 168 regulator-always-on: true 169 170 additionalProperties: false 171 172 boost: 173 $ref: /schemas/regulator/regulator.yaml 174 type: object 175 176 properties: 177 interrupts: 178 maxItems: 1 179 180 st,mask-reset: 181 description: mask reset for this regulator, the regulator configuration 182 is maintained during pmic reset. 183 $ref: /schemas/types.yaml#/definitions/flag 184 185 regulator-name: true 186 regulator-boot-on: true 187 regulator-always-on: true 188 regulator-over-current-protection: true 189 190 additionalProperties: false 191 192 patternProperties: 193 "^(buck[1-4]|ldo[1-6]|vref_ddr|boost|pwr_sw[1-2])-supply$": 194 description: STPMIC1 voltage regulators supplies 195 196 "^ldo[1-2,5-6]$": 197 $ref: /schemas/regulator/regulator.yaml 198 type: object 199 200 properties: 201 interrupts: 202 maxItems: 1 203 204 st,mask-reset: 205 description: mask reset for this regulator, the regulator configuration 206 is maintained during pmic reset. 207 $ref: /schemas/types.yaml#/definitions/flag 208 209 regulator-name: true 210 regulator-boot-on: true 211 regulator-always-on: true 212 regulator-min-microvolt: true 213 regulator-max-microvolt: true 214 regulator-over-current-protection: true 215 regulator-enable-ramp-delay: true 216 217 additionalProperties: false 218 219 "^buck[1-4]$": 220 $ref: /schemas/regulator/regulator.yaml 221 type: object 222 223 properties: 224 interrupts: 225 maxItems: 1 226 227 st,mask-reset: 228 description: mask reset for this regulator, the regulator configuration 229 is maintained during pmic reset. 230 $ref: /schemas/types.yaml#/definitions/flag 231 232 regulator-name: true 233 regulator-boot-on: true 234 regulator-always-on: true 235 regulator-min-microvolt: true 236 regulator-max-microvolt: true 237 regulator-initial-mode: true 238 regulator-pull-down: true 239 regulator-over-current-protection: true 240 regulator-enable-ramp-delay: true 241 242 additionalProperties: false 243 244 "^pwr_sw[1-2]$": 245 $ref: /schemas/regulator/regulator.yaml 246 type: object 247 248 properties: 249 interrupts: 250 maxItems: 1 251 252 regulator-name: true 253 regulator-boot-on: true 254 regulator-always-on: true 255 regulator-over-current-protection: true 256 regulator-active-discharge: true 257 258 additionalProperties: false 259 260 required: 261 - compatible 262 263 additionalProperties: false 264 265additionalProperties: false 266 267required: 268 - compatible 269 - reg 270 - interrupts 271 - "#interrupt-cells" 272 - interrupt-controller 273 274examples: 275 - | 276 #include <dt-bindings/mfd/st,stpmic1.h> 277 #include <dt-bindings/interrupt-controller/arm-gic.h> 278 i2c { 279 #address-cells = <1>; 280 #size-cells = <0>; 281 pmic@33 { 282 compatible = "st,stpmic1"; 283 reg = <0x33>; 284 interrupt-parent = <&gpioa>; 285 interrupts = <0 2>; 286 287 interrupt-controller; 288 #interrupt-cells = <2>; 289 290 onkey { 291 compatible = "st,stpmic1-onkey"; 292 interrupts = <IT_PONKEY_F 0>,<IT_PONKEY_R 1>; 293 interrupt-names = "onkey-falling", "onkey-rising"; 294 power-off-time-sec = <10>; 295 }; 296 297 watchdog { 298 compatible = "st,stpmic1-wdt"; 299 }; 300 301 regulators { 302 compatible = "st,stpmic1-regulators"; 303 304 ldo6-supply = <&v3v3>; 305 306 buck1 { 307 regulator-name = "vdd_core"; 308 interrupts = <IT_CURLIM_BUCK1 0>; 309 st,mask-reset; 310 regulator-boot-on; 311 regulator-min-microvolt = <700000>; 312 regulator-max-microvolt = <1200000>; 313 }; 314 315 buck3 { 316 regulator-name = "vdd"; 317 regulator-min-microvolt = <3300000>; 318 regulator-max-microvolt = <3300000>; 319 regulator-boot-on; 320 regulator-pull-down; 321 }; 322 323 buck4 { 324 regulator-name = "v3v3"; 325 interrupts = <IT_CURLIM_BUCK4 0>; 326 regulator-min-microvolt = <3300000>; 327 regulator-max-microvolt = <3300000>; 328 }; 329 330 ldo6 { 331 regulator-name = "v1v8"; 332 regulator-min-microvolt = <1800000>; 333 regulator-max-microvolt = <1800000>; 334 regulator-over-current-protection; 335 }; 336 }; 337 }; 338 }; 339 340... 341