blob: 9d43376bebed1a0f066cab14360003b8f2cf5491 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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 };