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 - ti,tps652g1 26 27 reg: 28 description: I2C slave address or SPI chip select number. 29 maxItems: 1 30 31 ti,primary-pmic: 32 type: boolean 33 description: | 34 Identify the primary PMIC on SPMI bus. 35 A multi-PMIC synchronization scheme is implemented in the PMIC device 36 to synchronize the power state changes with other PMIC devices. This is 37 accomplished through a SPMI bus: the primary PMIC is the controller 38 device on the SPMI bus, and the secondary PMICs are the target devices 39 on the SPMI bus. 40 41 system-power-controller: true 42 43 gpio-controller: true 44 gpio-line-names: true 45 46 '#gpio-cells': 47 const: 2 48 description: | 49 The first cell is the pin number, the second cell is used to specify flags. 50 See ../gpio/gpio.txt for more information. 51 52 interrupts: 53 maxItems: 1 54 55 regulators: 56 type: object 57 description: List of regulators provided by this controller. 58 59 patternProperties: 60 "^buck([1-5]|12|34|123|1234)$": 61 type: object 62 $ref: /schemas/regulator/regulator.yaml# 63 64 unevaluatedProperties: false 65 66 "^ldo[1-4]$": 67 type: object 68 $ref: /schemas/regulator/regulator.yaml# 69 70 unevaluatedProperties: false 71 72 allOf: 73 - if: 74 required: 75 - buck12 76 then: 77 properties: 78 buck123: false 79 buck1234: false 80 - if: 81 required: 82 - buck123 83 then: 84 properties: 85 buck34: false 86 - if: 87 required: 88 - buck1234 89 then: 90 properties: 91 buck34: false 92 93 additionalProperties: false 94 95patternProperties: 96 "^buck([1-5]|12|34|123|1234)-supply$": 97 description: Input supply phandle for each buck. 98 99 "^ldo[1-4]-supply$": 100 description: Input supply phandle for each ldo. 101 102required: 103 - compatible 104 - reg 105 - interrupts 106 107additionalProperties: false 108 109examples: 110 - | 111 #include <dt-bindings/interrupt-controller/arm-gic.h> 112 i2c { 113 #address-cells = <1>; 114 #size-cells = <0>; 115 116 tps6593: pmic@48 { 117 compatible = "ti,tps6593-q1"; 118 reg = <0x48>; 119 ti,primary-pmic; 120 system-power-controller; 121 122 gpio-controller; 123 #gpio-cells = <2>; 124 125 pinctrl-names = "default"; 126 pinctrl-0 = <&pmic_irq_pins_default>; 127 interrupt-parent = <&mcu_gpio0>; 128 interrupts = <0 IRQ_TYPE_EDGE_FALLING>; 129 130 buck123-supply = <&vcc_3v3_sys>; 131 buck4-supply = <&vcc_3v3_sys>; 132 buck5-supply = <&vcc_3v3_sys>; 133 ldo1-supply = <&vcc_3v3_sys>; 134 ldo2-supply = <&vcc_3v3_sys>; 135 ldo3-supply = <&buck5>; 136 ldo4-supply = <&vcc_3v3_sys>; 137 138 regulators { 139 buck123: buck123 { 140 regulator-name = "vcc_core"; 141 regulator-min-microvolt = <750000>; 142 regulator-max-microvolt = <850000>; 143 regulator-boot-on; 144 regulator-always-on; 145 }; 146 147 buck4: buck4 { 148 regulator-name = "vcc_1v1"; 149 regulator-min-microvolt = <1100000>; 150 regulator-max-microvolt = <1100000>; 151 regulator-boot-on; 152 regulator-always-on; 153 }; 154 155 buck5: buck5 { 156 regulator-name = "vcc_1v8_sys"; 157 regulator-min-microvolt = <1800000>; 158 regulator-max-microvolt = <1800000>; 159 regulator-boot-on; 160 regulator-always-on; 161 }; 162 163 ldo1: ldo1 { 164 regulator-name = "vddshv5_sdio"; 165 regulator-min-microvolt = <3300000>; 166 regulator-max-microvolt = <3300000>; 167 regulator-boot-on; 168 regulator-always-on; 169 }; 170 171 ldo2: ldo2 { 172 regulator-name = "vpp_1v8"; 173 regulator-min-microvolt = <1800000>; 174 regulator-max-microvolt = <1800000>; 175 regulator-boot-on; 176 regulator-always-on; 177 }; 178 179 ldo3: ldo3 { 180 regulator-name = "vcc_0v85"; 181 regulator-min-microvolt = <850000>; 182 regulator-max-microvolt = <850000>; 183 regulator-boot-on; 184 regulator-always-on; 185 }; 186 187 ldo4: ldo4 { 188 regulator-name = "vdda_1v8"; 189 regulator-min-microvolt = <1800000>; 190 regulator-max-microvolt = <1800000>; 191 regulator-boot-on; 192 regulator-always-on; 193 }; 194 }; 195 }; 196 }; 197