xref: /linux/Documentation/devicetree/bindings/mfd/ti,tps6594.yaml (revision d30c1683aaecb93d2ab95685dc4300a33d3cea7a)
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