1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/mfd/ti,tps6594.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: TI TPS6594 Power Management Integrated Circuit 8 9maintainers: 10 - Julien Panis <jpanis@baylibre.com> 11 12description: 13 TPS6594 is a Power Management IC which provides regulators and others 14 features like GPIOs, RTC, watchdog, ESMs (Error Signal Monitor), and 15 PFSM (Pre-configurable Finite State Machine) managing the state of the device. 16 TPS6594 is the super-set device while TPS6593 and LP8764 are derivatives. 17 18properties: 19 compatible: 20 enum: 21 - ti,lp8764-q1 22 - ti,tps6593-q1 23 - ti,tps6594-q1 24 - ti,tps65224-q1 25 26 reg: 27 description: I2C slave address or SPI chip select number. 28 maxItems: 1 29 30 ti,primary-pmic: 31 type: boolean 32 description: | 33 Identify the primary PMIC on SPMI bus. 34 A multi-PMIC synchronization scheme is implemented in the PMIC device 35 to synchronize the power state changes with other PMIC devices. This is 36 accomplished through a SPMI bus: the primary PMIC is the controller 37 device on the SPMI bus, and the secondary PMICs are the target devices 38 on the SPMI bus. 39 40 system-power-controller: true 41 42 gpio-controller: true 43 44 '#gpio-cells': 45 const: 2 46 description: | 47 The first cell is the pin number, the second cell is used to specify flags. 48 See ../gpio/gpio.txt for more information. 49 50 interrupts: 51 maxItems: 1 52 53 regulators: 54 type: object 55 description: List of regulators provided by this controller. 56 57 patternProperties: 58 "^buck([1-5]|12|34|123|1234)$": 59 type: object 60 $ref: /schemas/regulator/regulator.yaml# 61 62 unevaluatedProperties: false 63 64 "^ldo[1-4]$": 65 type: object 66 $ref: /schemas/regulator/regulator.yaml# 67 68 unevaluatedProperties: false 69 70 allOf: 71 - if: 72 required: 73 - buck12 74 then: 75 properties: 76 buck123: false 77 buck1234: false 78 - if: 79 required: 80 - buck123 81 then: 82 properties: 83 buck34: false 84 - if: 85 required: 86 - buck1234 87 then: 88 properties: 89 buck34: false 90 91 additionalProperties: false 92 93patternProperties: 94 "^buck([1-5]|12|34|123|1234)-supply$": 95 description: Input supply phandle for each buck. 96 97 "^ldo[1-4]-supply$": 98 description: Input supply phandle for each ldo. 99 100required: 101 - compatible 102 - reg 103 - interrupts 104 105additionalProperties: false 106 107examples: 108 - | 109 #include <dt-bindings/interrupt-controller/arm-gic.h> 110 i2c { 111 #address-cells = <1>; 112 #size-cells = <0>; 113 114 tps6593: pmic@48 { 115 compatible = "ti,tps6593-q1"; 116 reg = <0x48>; 117 ti,primary-pmic; 118 system-power-controller; 119 120 gpio-controller; 121 #gpio-cells = <2>; 122 123 pinctrl-names = "default"; 124 pinctrl-0 = <&pmic_irq_pins_default>; 125 interrupt-parent = <&mcu_gpio0>; 126 interrupts = <0 IRQ_TYPE_EDGE_FALLING>; 127 128 buck123-supply = <&vcc_3v3_sys>; 129 buck4-supply = <&vcc_3v3_sys>; 130 buck5-supply = <&vcc_3v3_sys>; 131 ldo1-supply = <&vcc_3v3_sys>; 132 ldo2-supply = <&vcc_3v3_sys>; 133 ldo3-supply = <&buck5>; 134 ldo4-supply = <&vcc_3v3_sys>; 135 136 regulators { 137 buck123: buck123 { 138 regulator-name = "vcc_core"; 139 regulator-min-microvolt = <750000>; 140 regulator-max-microvolt = <850000>; 141 regulator-boot-on; 142 regulator-always-on; 143 }; 144 145 buck4: buck4 { 146 regulator-name = "vcc_1v1"; 147 regulator-min-microvolt = <1100000>; 148 regulator-max-microvolt = <1100000>; 149 regulator-boot-on; 150 regulator-always-on; 151 }; 152 153 buck5: buck5 { 154 regulator-name = "vcc_1v8_sys"; 155 regulator-min-microvolt = <1800000>; 156 regulator-max-microvolt = <1800000>; 157 regulator-boot-on; 158 regulator-always-on; 159 }; 160 161 ldo1: ldo1 { 162 regulator-name = "vddshv5_sdio"; 163 regulator-min-microvolt = <3300000>; 164 regulator-max-microvolt = <3300000>; 165 regulator-boot-on; 166 regulator-always-on; 167 }; 168 169 ldo2: ldo2 { 170 regulator-name = "vpp_1v8"; 171 regulator-min-microvolt = <1800000>; 172 regulator-max-microvolt = <1800000>; 173 regulator-boot-on; 174 regulator-always-on; 175 }; 176 177 ldo3: ldo3 { 178 regulator-name = "vcc_0v85"; 179 regulator-min-microvolt = <850000>; 180 regulator-max-microvolt = <850000>; 181 regulator-boot-on; 182 regulator-always-on; 183 }; 184 185 ldo4: ldo4 { 186 regulator-name = "vdda_1v8"; 187 regulator-min-microvolt = <1800000>; 188 regulator-max-microvolt = <1800000>; 189 regulator-boot-on; 190 regulator-always-on; 191 }; 192 }; 193 }; 194 }; 195