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/regulator/ti,tps65219.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: TI TPS65214/TPS65215/TPS65219 Power Management Integrated Circuit
8
9maintainers:
10 - Jerome Neanne <jerome.neanne@baylibre.com>
11
12description: |
13 Regulator nodes should be named to buck<number> and ldo<number>.
14
15 TI TPS65219 is a Power Management IC with 3 Buck regulators, 4 Low
16 Drop-out Regulators (LDOs), 1 GPIO, 2 GPOs, and power-button.
17
18 TI TPS65215 is a derivative of TPS65219 with 3 Buck regulators, 2 Low
19 Drop-out Regulators (LDOs), 1 GPIO, 1 GPO, and power-button.
20
21 TI TPS65214 is a derivative of TPS65219 with 3 Buck regulators, 2 Low
22 Drop-out Regulators (LDOs), 1 GPIO, 1 GPO, and power-button.
23
24properties:
25 compatible:
26 enum:
27 - ti,tps65214
28 - ti,tps65215
29 - ti,tps65219
30
31 reg:
32 maxItems: 1
33
34 system-power-controller:
35 type: boolean
36 description: Optional property that indicates that this device is
37 controlling system power.
38
39 interrupts:
40 description: Short-circuit, over-current, under-voltage for regulators, PB interrupts.
41 maxItems: 1
42
43 interrupt-controller: true
44
45 '#interrupt-cells':
46 description: Specifies the PIN numbers and Flags, as defined in
47 include/dt-bindings/interrupt-controller/irq.h
48 const: 1
49
50 ti,power-button:
51 type: boolean
52 description: |
53 Optional property that sets the EN/PB/VSENSE pin to be a
54 power-button.
55 TPS65219 has a multipurpose pin called EN/PB/VSENSE that can be either
56 1. EN in which case it functions as an enable pin.
57 2. VSENSE which compares the voltages and triggers an automatic
58 on/off request.
59 3. PB in which case it can be configured to trigger an interrupt
60 to the SoC.
61 ti,power-button reflects the last one of those options
62 where the board has a button wired to the pin and triggers
63 an interrupt on pressing it.
64
65 regulators:
66 type: object
67 description: |
68 list of regulators provided by this controller
69
70 patternProperties:
71 "^ldo[1-4]$":
72 type: object
73 $ref: regulator.yaml#
74 description:
75 Properties for single LDO regulator.
76
77 unevaluatedProperties: false
78
79 "^buck[1-3]$":
80 type: object
81 $ref: regulator.yaml#
82 description:
83 Properties for single BUCK regulator.
84
85 unevaluatedProperties: false
86
87 additionalProperties: false
88
89patternProperties:
90 "^buck[1-3]-supply$":
91 description: Input supply phandle of one regulator.
92
93 "^ldo[1-4]-supply$":
94 description: Input supply phandle of one regulator.
95
96required:
97 - compatible
98 - reg
99 - interrupts
100 - regulators
101
102additionalProperties: false
103
104allOf:
105 - if:
106 properties:
107 compatible:
108 contains:
109 enum:
110 - ti,tps65214
111 - ti,tps65215
112 then:
113 properties:
114 regulators:
115 patternProperties:
116 "^ldo[3-4]$": false
117
118examples:
119 - |
120 #include <dt-bindings/interrupt-controller/arm-gic.h>
121 i2c {
122 #address-cells = <1>;
123 #size-cells = <0>;
124
125 tps65219: pmic@30 {
126 compatible = "ti,tps65219";
127 reg = <0x30>;
128 buck1-supply = <&vcc_3v3_sys>;
129 buck2-supply = <&vcc_3v3_sys>;
130 buck3-supply = <&vcc_3v3_sys>;
131 ldo1-supply = <&vcc_3v3_sys>;
132 ldo2-supply = <&buck2_reg>;
133 ldo3-supply = <&vcc_3v3_sys>;
134 ldo4-supply = <&vcc_3v3_sys>;
135
136 pinctrl-0 = <&pmic_irq_pins_default>;
137
138 interrupt-parent = <&gic500>;
139 interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
140 ti,power-button;
141
142 regulators {
143 buck1_reg: buck1 {
144 regulator-name = "VDD_CORE";
145 regulator-min-microvolt = <750000>;
146 regulator-max-microvolt = <750000>;
147 regulator-boot-on;
148 regulator-always-on;
149 };
150
151 buck2_reg: buck2 {
152 regulator-name = "VCC1V8";
153 regulator-min-microvolt = <1800000>;
154 regulator-max-microvolt = <1800000>;
155 regulator-boot-on;
156 regulator-always-on;
157 };
158
159 buck3_reg: buck3 {
160 regulator-name = "VDD_LPDDR4";
161 regulator-min-microvolt = <1100000>;
162 regulator-max-microvolt = <1100000>;
163 regulator-boot-on;
164 regulator-always-on;
165 };
166
167 ldo1_reg: ldo1 {
168 regulator-name = "VDDSHV_SD_IO_PMIC";
169 regulator-min-microvolt = <33000000>;
170 regulator-max-microvolt = <33000000>;
171 };
172
173 ldo2_reg: ldo2 {
174 regulator-name = "VDDAR_CORE";
175 regulator-min-microvolt = <850000>;
176 regulator-max-microvolt = <850000>;
177 regulator-boot-on;
178 regulator-always-on;
179 };
180
181 ldo3_reg: ldo3 {
182 regulator-name = "VDDA_1V8";
183 regulator-min-microvolt = <18000000>;
184 regulator-max-microvolt = <18000000>;
185 regulator-boot-on;
186 regulator-always-on;
187 };
188
189 ldo4_reg: ldo4 {
190 regulator-name = "VDD_PHY_2V5";
191 regulator-min-microvolt = <25000000>;
192 regulator-max-microvolt = <25000000>;
193 regulator-boot-on;
194 regulator-always-on;
195 };
196 };
197 };
198 };