Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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 };