| # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/mfd/ti,tps6594.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: TI TPS6594 Power Management Integrated Circuit |
| |
| maintainers: |
| - Julien Panis <jpanis@baylibre.com> |
| |
| description: |
| TPS6594 is a Power Management IC which provides regulators and others |
| features like GPIOs, RTC, watchdog, ESMs (Error Signal Monitor), and |
| PFSM (Pre-configurable Finite State Machine) managing the state of the device. |
| TPS6594 is the super-set device while TPS6593 and LP8764 are derivatives. |
| |
| properties: |
| compatible: |
| enum: |
| - ti,lp8764-q1 |
| - ti,tps6593-q1 |
| - ti,tps6594-q1 |
| |
| reg: |
| description: I2C slave address or SPI chip select number. |
| maxItems: 1 |
| |
| ti,primary-pmic: |
| type: boolean |
| description: | |
| Identify the primary PMIC on SPMI bus. |
| A multi-PMIC synchronization scheme is implemented in the PMIC device |
| to synchronize the power state changes with other PMIC devices. This is |
| accomplished through a SPMI bus: the primary PMIC is the controller |
| device on the SPMI bus, and the secondary PMICs are the target devices |
| on the SPMI bus. |
| |
| system-power-controller: true |
| |
| gpio-controller: true |
| |
| '#gpio-cells': |
| const: 2 |
| description: | |
| The first cell is the pin number, the second cell is used to specify flags. |
| See ../gpio/gpio.txt for more information. |
| |
| interrupts: |
| maxItems: 1 |
| |
| regulators: |
| type: object |
| description: List of regulators provided by this controller. |
| |
| patternProperties: |
| "^buck([1-5]|12|34|123|1234)$": |
| type: object |
| $ref: /schemas/regulator/regulator.yaml# |
| |
| unevaluatedProperties: false |
| |
| "^ldo[1-4]$": |
| type: object |
| $ref: /schemas/regulator/regulator.yaml# |
| |
| unevaluatedProperties: false |
| |
| allOf: |
| - if: |
| required: |
| - buck12 |
| then: |
| properties: |
| buck123: false |
| buck1234: false |
| - if: |
| required: |
| - buck123 |
| then: |
| properties: |
| buck34: false |
| - if: |
| required: |
| - buck1234 |
| then: |
| properties: |
| buck34: false |
| |
| additionalProperties: false |
| |
| patternProperties: |
| "^buck([1-5]|12|34|123|1234)-supply$": |
| description: Input supply phandle for each buck. |
| |
| "^ldo[1-4]-supply$": |
| description: Input supply phandle for each ldo. |
| |
| required: |
| - compatible |
| - reg |
| - interrupts |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/interrupt-controller/arm-gic.h> |
| i2c { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| tps6593: pmic@48 { |
| compatible = "ti,tps6593-q1"; |
| reg = <0x48>; |
| ti,primary-pmic; |
| system-power-controller; |
| |
| gpio-controller; |
| #gpio-cells = <2>; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pmic_irq_pins_default>; |
| interrupt-parent = <&mcu_gpio0>; |
| interrupts = <0 IRQ_TYPE_EDGE_FALLING>; |
| |
| buck123-supply = <&vcc_3v3_sys>; |
| buck4-supply = <&vcc_3v3_sys>; |
| buck5-supply = <&vcc_3v3_sys>; |
| ldo1-supply = <&vcc_3v3_sys>; |
| ldo2-supply = <&vcc_3v3_sys>; |
| ldo3-supply = <&buck5>; |
| ldo4-supply = <&vcc_3v3_sys>; |
| |
| regulators { |
| buck123: buck123 { |
| regulator-name = "vcc_core"; |
| regulator-min-microvolt = <750000>; |
| regulator-max-microvolt = <850000>; |
| regulator-boot-on; |
| regulator-always-on; |
| }; |
| |
| buck4: buck4 { |
| regulator-name = "vcc_1v1"; |
| regulator-min-microvolt = <1100000>; |
| regulator-max-microvolt = <1100000>; |
| regulator-boot-on; |
| regulator-always-on; |
| }; |
| |
| buck5: buck5 { |
| regulator-name = "vcc_1v8_sys"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-boot-on; |
| regulator-always-on; |
| }; |
| |
| ldo1: ldo1 { |
| regulator-name = "vddshv5_sdio"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-boot-on; |
| regulator-always-on; |
| }; |
| |
| ldo2: ldo2 { |
| regulator-name = "vpp_1v8"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-boot-on; |
| regulator-always-on; |
| }; |
| |
| ldo3: ldo3 { |
| regulator-name = "vcc_0v85"; |
| regulator-min-microvolt = <850000>; |
| regulator-max-microvolt = <850000>; |
| regulator-boot-on; |
| regulator-always-on; |
| }; |
| |
| ldo4: ldo4 { |
| regulator-name = "vdda_1v8"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-boot-on; |
| regulator-always-on; |
| }; |
| }; |
| }; |
| }; |