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