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