162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/mfd/ti,tps6594.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: TI TPS6594 Power Management Integrated Circuit 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Julien Panis <jpanis@baylibre.com> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: 1362306a36Sopenharmony_ci TPS6594 is a Power Management IC which provides regulators and others 1462306a36Sopenharmony_ci features like GPIOs, RTC, watchdog, ESMs (Error Signal Monitor), and 1562306a36Sopenharmony_ci PFSM (Pre-configurable Finite State Machine) managing the state of the device. 1662306a36Sopenharmony_ci TPS6594 is the super-set device while TPS6593 and LP8764 are derivatives. 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciproperties: 1962306a36Sopenharmony_ci compatible: 2062306a36Sopenharmony_ci enum: 2162306a36Sopenharmony_ci - ti,lp8764-q1 2262306a36Sopenharmony_ci - ti,tps6593-q1 2362306a36Sopenharmony_ci - ti,tps6594-q1 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci reg: 2662306a36Sopenharmony_ci description: I2C slave address or SPI chip select number. 2762306a36Sopenharmony_ci maxItems: 1 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci ti,primary-pmic: 3062306a36Sopenharmony_ci type: boolean 3162306a36Sopenharmony_ci description: | 3262306a36Sopenharmony_ci Identify the primary PMIC on SPMI bus. 3362306a36Sopenharmony_ci A multi-PMIC synchronization scheme is implemented in the PMIC device 3462306a36Sopenharmony_ci to synchronize the power state changes with other PMIC devices. This is 3562306a36Sopenharmony_ci accomplished through a SPMI bus: the primary PMIC is the controller 3662306a36Sopenharmony_ci device on the SPMI bus, and the secondary PMICs are the target devices 3762306a36Sopenharmony_ci on the SPMI bus. 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci system-power-controller: true 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci gpio-controller: true 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci '#gpio-cells': 4462306a36Sopenharmony_ci const: 2 4562306a36Sopenharmony_ci description: | 4662306a36Sopenharmony_ci The first cell is the pin number, the second cell is used to specify flags. 4762306a36Sopenharmony_ci See ../gpio/gpio.txt for more information. 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci interrupts: 5062306a36Sopenharmony_ci maxItems: 1 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci regulators: 5362306a36Sopenharmony_ci type: object 5462306a36Sopenharmony_ci description: List of regulators provided by this controller. 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci patternProperties: 5762306a36Sopenharmony_ci "^buck([1-5]|12|34|123|1234)$": 5862306a36Sopenharmony_ci type: object 5962306a36Sopenharmony_ci $ref: /schemas/regulator/regulator.yaml# 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci unevaluatedProperties: false 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci "^ldo[1-4]$": 6462306a36Sopenharmony_ci type: object 6562306a36Sopenharmony_ci $ref: /schemas/regulator/regulator.yaml# 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci unevaluatedProperties: false 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci allOf: 7062306a36Sopenharmony_ci - if: 7162306a36Sopenharmony_ci required: 7262306a36Sopenharmony_ci - buck12 7362306a36Sopenharmony_ci then: 7462306a36Sopenharmony_ci properties: 7562306a36Sopenharmony_ci buck123: false 7662306a36Sopenharmony_ci buck1234: false 7762306a36Sopenharmony_ci - if: 7862306a36Sopenharmony_ci required: 7962306a36Sopenharmony_ci - buck123 8062306a36Sopenharmony_ci then: 8162306a36Sopenharmony_ci properties: 8262306a36Sopenharmony_ci buck34: false 8362306a36Sopenharmony_ci - if: 8462306a36Sopenharmony_ci required: 8562306a36Sopenharmony_ci - buck1234 8662306a36Sopenharmony_ci then: 8762306a36Sopenharmony_ci properties: 8862306a36Sopenharmony_ci buck34: false 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci additionalProperties: false 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_cipatternProperties: 9362306a36Sopenharmony_ci "^buck([1-5]|12|34|123|1234)-supply$": 9462306a36Sopenharmony_ci description: Input supply phandle for each buck. 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci "^ldo[1-4]-supply$": 9762306a36Sopenharmony_ci description: Input supply phandle for each ldo. 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_cirequired: 10062306a36Sopenharmony_ci - compatible 10162306a36Sopenharmony_ci - reg 10262306a36Sopenharmony_ci - interrupts 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ciadditionalProperties: false 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ciexamples: 10762306a36Sopenharmony_ci - | 10862306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 10962306a36Sopenharmony_ci i2c { 11062306a36Sopenharmony_ci #address-cells = <1>; 11162306a36Sopenharmony_ci #size-cells = <0>; 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ci tps6593: pmic@48 { 11462306a36Sopenharmony_ci compatible = "ti,tps6593-q1"; 11562306a36Sopenharmony_ci reg = <0x48>; 11662306a36Sopenharmony_ci ti,primary-pmic; 11762306a36Sopenharmony_ci system-power-controller; 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci gpio-controller; 12062306a36Sopenharmony_ci #gpio-cells = <2>; 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci pinctrl-names = "default"; 12362306a36Sopenharmony_ci pinctrl-0 = <&pmic_irq_pins_default>; 12462306a36Sopenharmony_ci interrupt-parent = <&mcu_gpio0>; 12562306a36Sopenharmony_ci interrupts = <0 IRQ_TYPE_EDGE_FALLING>; 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ci buck123-supply = <&vcc_3v3_sys>; 12862306a36Sopenharmony_ci buck4-supply = <&vcc_3v3_sys>; 12962306a36Sopenharmony_ci buck5-supply = <&vcc_3v3_sys>; 13062306a36Sopenharmony_ci ldo1-supply = <&vcc_3v3_sys>; 13162306a36Sopenharmony_ci ldo2-supply = <&vcc_3v3_sys>; 13262306a36Sopenharmony_ci ldo3-supply = <&buck5>; 13362306a36Sopenharmony_ci ldo4-supply = <&vcc_3v3_sys>; 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ci regulators { 13662306a36Sopenharmony_ci buck123: buck123 { 13762306a36Sopenharmony_ci regulator-name = "vcc_core"; 13862306a36Sopenharmony_ci regulator-min-microvolt = <750000>; 13962306a36Sopenharmony_ci regulator-max-microvolt = <850000>; 14062306a36Sopenharmony_ci regulator-boot-on; 14162306a36Sopenharmony_ci regulator-always-on; 14262306a36Sopenharmony_ci }; 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ci buck4: buck4 { 14562306a36Sopenharmony_ci regulator-name = "vcc_1v1"; 14662306a36Sopenharmony_ci regulator-min-microvolt = <1100000>; 14762306a36Sopenharmony_ci regulator-max-microvolt = <1100000>; 14862306a36Sopenharmony_ci regulator-boot-on; 14962306a36Sopenharmony_ci regulator-always-on; 15062306a36Sopenharmony_ci }; 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ci buck5: buck5 { 15362306a36Sopenharmony_ci regulator-name = "vcc_1v8_sys"; 15462306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 15562306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 15662306a36Sopenharmony_ci regulator-boot-on; 15762306a36Sopenharmony_ci regulator-always-on; 15862306a36Sopenharmony_ci }; 15962306a36Sopenharmony_ci 16062306a36Sopenharmony_ci ldo1: ldo1 { 16162306a36Sopenharmony_ci regulator-name = "vddshv5_sdio"; 16262306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 16362306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 16462306a36Sopenharmony_ci regulator-boot-on; 16562306a36Sopenharmony_ci regulator-always-on; 16662306a36Sopenharmony_ci }; 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ci ldo2: ldo2 { 16962306a36Sopenharmony_ci regulator-name = "vpp_1v8"; 17062306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 17162306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 17262306a36Sopenharmony_ci regulator-boot-on; 17362306a36Sopenharmony_ci regulator-always-on; 17462306a36Sopenharmony_ci }; 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ci ldo3: ldo3 { 17762306a36Sopenharmony_ci regulator-name = "vcc_0v85"; 17862306a36Sopenharmony_ci regulator-min-microvolt = <850000>; 17962306a36Sopenharmony_ci regulator-max-microvolt = <850000>; 18062306a36Sopenharmony_ci regulator-boot-on; 18162306a36Sopenharmony_ci regulator-always-on; 18262306a36Sopenharmony_ci }; 18362306a36Sopenharmony_ci 18462306a36Sopenharmony_ci ldo4: ldo4 { 18562306a36Sopenharmony_ci regulator-name = "vdda_1v8"; 18662306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 18762306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 18862306a36Sopenharmony_ci regulator-boot-on; 18962306a36Sopenharmony_ci regulator-always-on; 19062306a36Sopenharmony_ci }; 19162306a36Sopenharmony_ci }; 19262306a36Sopenharmony_ci }; 19362306a36Sopenharmony_ci }; 194