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