| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/mfd/st,stpmic1.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: STMicroelectonics STPMIC1 Power Management IC bindings |
| |
| description: STMicroelectronics STPMIC1 Power Management IC |
| |
| maintainers: |
| - pascal Paillet <p.paillet@foss.st.com> |
| |
| properties: |
| compatible: |
| const: st,stpmic1 |
| |
| reg: |
| const: 0x33 |
| |
| interrupts: |
| maxItems: 1 |
| |
| "#interrupt-cells": |
| const: 2 |
| |
| interrupt-controller: true |
| |
| onkey: |
| type: object |
| |
| $ref: ../input/input.yaml |
| |
| properties: |
| compatible: |
| const: st,stpmic1-onkey |
| |
| interrupts: |
| items: |
| - description: onkey-falling, happens when onkey is pressed. IT_PONKEY_F of pmic |
| - description: onkey-rising, happens when onkey is released. IT_PONKEY_R of pmic |
| |
| interrupt-names: |
| items: |
| - const: onkey-falling |
| - const: onkey-rising |
| |
| st,onkey-clear-cc-flag: |
| description: onkey is able power on after an over-current shutdown event. |
| $ref: /schemas/types.yaml#/definitions/flag |
| |
| st,onkey-pu-inactive: |
| description: onkey pull up is not active |
| $ref: /schemas/types.yaml#/definitions/flag |
| |
| power-off-time-sec: |
| minimum: 1 |
| maximum: 16 |
| |
| required: |
| - compatible |
| - interrupts |
| - interrupt-names |
| |
| additionalProperties: false |
| |
| watchdog: |
| type: object |
| |
| $ref: ../watchdog/watchdog.yaml |
| |
| properties: |
| compatible: |
| const: st,stpmic1-wdt |
| |
| timeout-sec: true |
| |
| required: |
| - compatible |
| |
| additionalProperties: false |
| |
| regulators: |
| type: object |
| |
| description: | |
| Available Regulators in STPMIC1 device are: |
| - buck1 for Buck BUCK1 |
| - buck2 for Buck BUCK2 |
| - buck3 for Buck BUCK3 |
| - buck4 for Buck BUCK4 |
| - ldo1 for LDO LDO1 |
| - ldo2 for LDO LDO2 |
| - ldo3 for LDO LDO3 |
| - ldo4 for LDO LDO4 |
| - ldo5 for LDO LDO5 |
| - ldo6 for LDO LDO6 |
| - vref_ddr for LDO Vref DDR |
| - boost for Buck BOOST |
| - pwr_sw1 for VBUS_OTG switch |
| - pwr_sw2 for SW_OUT switch |
| Switches are fixed voltage regulators with only enable/disable capability. |
| |
| properties: |
| compatible: |
| const: st,stpmic1-regulators |
| |
| ldo3: |
| type: object |
| |
| properties: |
| interrupts: |
| maxItems: 1 |
| |
| st,mask-reset: |
| description: mask reset for this regulator, the regulator configuration |
| is maintained during pmic reset. |
| $ref: /schemas/types.yaml#/definitions/flag |
| |
| regulator-name: true |
| regulator-boot-on: true |
| regulator-always-on: true |
| regulator-min-microvolt: true |
| regulator-max-microvolt: true |
| regulator-allow-bypass: true |
| regulator-over-current-protection: true |
| |
| additionalProperties: false |
| |
| ldo4: |
| type: object |
| |
| properties: |
| interrupts: |
| maxItems: 1 |
| |
| st,mask-reset: |
| description: mask reset for this regulator, the regulator configuration |
| is maintained during pmic reset. |
| $ref: /schemas/types.yaml#/definitions/flag |
| |
| regulator-name: true |
| regulator-boot-on: true |
| regulator-always-on: true |
| regulator-over-current-protection: true |
| |
| additionalProperties: false |
| |
| vref_ddr: |
| type: object |
| |
| properties: |
| interrupts: |
| maxItems: 1 |
| |
| st,mask-reset: |
| description: mask reset for this regulator, the regulator configuration |
| is maintained during pmic reset. |
| $ref: /schemas/types.yaml#/definitions/flag |
| |
| regulator-name: true |
| regulator-boot-on: true |
| regulator-always-on: true |
| |
| additionalProperties: false |
| |
| boost: |
| type: object |
| |
| properties: |
| interrupts: |
| maxItems: 1 |
| |
| st,mask-reset: |
| description: mask reset for this regulator, the regulator configuration |
| is maintained during pmic reset. |
| $ref: /schemas/types.yaml#/definitions/flag |
| |
| regulator-name: true |
| regulator-boot-on: true |
| regulator-always-on: true |
| regulator-over-current-protection: true |
| |
| additionalProperties: false |
| |
| patternProperties: |
| "^(buck[1-4]|ldo[1-6]|boost|pwr_sw[1-2])-supply$": |
| description: STPMIC1 voltage regulators supplies |
| |
| "^(buck[1-4]|ldo[1-6]|boost|vref_ddr|pwr_sw[1-2])$": |
| $ref: ../regulator/regulator.yaml |
| |
| "^ldo[1-2,5-6]$": |
| type: object |
| |
| properties: |
| interrupts: |
| maxItems: 1 |
| |
| st,mask-reset: |
| description: mask reset for this regulator, the regulator configuration |
| is maintained during pmic reset. |
| $ref: /schemas/types.yaml#/definitions/flag |
| |
| regulator-name: true |
| regulator-boot-on: true |
| regulator-always-on: true |
| regulator-min-microvolt: true |
| regulator-max-microvolt: true |
| regulator-over-current-protection: true |
| regulator-enable-ramp-delay: true |
| |
| additionalProperties: false |
| |
| "^buck[1-4]$": |
| type: object |
| |
| properties: |
| interrupts: |
| maxItems: 1 |
| |
| st,mask-reset: |
| description: mask reset for this regulator, the regulator configuration |
| is maintained during pmic reset. |
| $ref: /schemas/types.yaml#/definitions/flag |
| |
| regulator-name: true |
| regulator-boot-on: true |
| regulator-always-on: true |
| regulator-min-microvolt: true |
| regulator-max-microvolt: true |
| regulator-initial-mode: true |
| regulator-pull-down: true |
| regulator-over-current-protection: true |
| regulator-enable-ramp-delay: true |
| |
| additionalProperties: false |
| |
| "^pwr_sw[1-2]$": |
| type: object |
| |
| properties: |
| interrupts: |
| maxItems: 1 |
| |
| regulator-name: true |
| regulator-boot-on: true |
| regulator-always-on: true |
| regulator-over-current-protection: true |
| regulator-active-discharge: true |
| |
| additionalProperties: false |
| |
| required: |
| - compatible |
| |
| additionalProperties: false |
| |
| additionalProperties: false |
| |
| required: |
| - compatible |
| - reg |
| - interrupts |
| - "#interrupt-cells" |
| - interrupt-controller |
| |
| examples: |
| - | |
| #include <dt-bindings/mfd/st,stpmic1.h> |
| #include <dt-bindings/interrupt-controller/arm-gic.h> |
| i2c { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pmic@33 { |
| compatible = "st,stpmic1"; |
| reg = <0x33>; |
| interrupt-parent = <&gpioa>; |
| interrupts = <0 2>; |
| |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| |
| onkey { |
| compatible = "st,stpmic1-onkey"; |
| interrupts = <IT_PONKEY_F 0>,<IT_PONKEY_R 1>; |
| interrupt-names = "onkey-falling", "onkey-rising"; |
| power-off-time-sec = <10>; |
| }; |
| |
| watchdog { |
| compatible = "st,stpmic1-wdt"; |
| }; |
| |
| regulators { |
| compatible = "st,stpmic1-regulators"; |
| |
| ldo6-supply = <&v3v3>; |
| |
| buck1 { |
| regulator-name = "vdd_core"; |
| interrupts = <IT_CURLIM_BUCK1 0>; |
| st,mask-reset; |
| regulator-boot-on; |
| regulator-min-microvolt = <700000>; |
| regulator-max-microvolt = <1200000>; |
| }; |
| |
| buck3 { |
| regulator-name = "vdd"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-boot-on; |
| regulator-pull-down; |
| }; |
| |
| buck4 { |
| regulator-name = "v3v3"; |
| interrupts = <IT_CURLIM_BUCK4 0>; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| }; |
| |
| ldo6 { |
| regulator-name = "v1v8"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-over-current-protection; |
| }; |
| }; |
| }; |
| }; |
| |
| ... |