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