blob: a5ced46bbde97e1d59080924fd0bc1aa43f102d7 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001TPS65910 Power Management Integrated Circuit
2
3Required properties:
4- compatible: "ti,tps65910" or "ti,tps65911"
5- reg: I2C slave address
6- interrupts: the interrupt outputs of the controller
7- #gpio-cells: number of cells to describe a GPIO, this should be 2.
8 The first cell is the GPIO number.
9 The second cell is used to specify additional options <unused>.
10- gpio-controller: mark the device as a GPIO controller
11- #interrupt-cells: the number of cells to describe an IRQ, this should be 2.
12 The first cell is the IRQ number.
13 The second cell is the flags, encoded as the trigger masks from
14 Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
15- regulators: This is the list of child nodes that specify the regulator
16 initialization data for defined regulators. Not all regulators for the given
17 device need to be present. The definition for each of these nodes is defined
18 using the standard binding for regulators found at
19 Documentation/devicetree/bindings/regulator/regulator.txt.
20 The regulator is matched with the regulator-compatible.
21
22 The valid regulator-compatible values are:
23 tps65910: vrtc, vio, vdd1, vdd2, vdd3, vdig1, vdig2, vpll, vdac, vaux1,
24 vaux2, vaux33, vmmc, vbb
25 tps65911: vrtc, vio, vdd1, vdd2, vddctrl, ldo1, ldo2, ldo3, ldo4, ldo5,
26 ldo6, ldo7, ldo8
27
28- xxx-supply: Input voltage supply regulator.
29 These entries are required if regulators are enabled for a device. Missing these
30 properties can cause the regulator registration to fail.
31 If some of input supply is powered through battery or always-on supply then
32 also it is require to have these parameters with proper node handle of always
33 on power supply.
34 tps65910:
35 vcc1-supply: VDD1 input.
36 vcc2-supply: VDD2 input.
37 vcc3-supply: VAUX33 and VMMC input.
38 vcc4-supply: VAUX1 and VAUX2 input.
39 vcc5-supply: VPLL and VDAC input.
40 vcc6-supply: VDIG1 and VDIG2 input.
41 vcc7-supply: VRTC and VBB input.
42 vccio-supply: VIO input.
43 tps65911:
44 vcc1-supply: VDD1 input.
45 vcc2-supply: VDD2 input.
46 vcc3-supply: LDO6, LDO7 and LDO8 input.
47 vcc4-supply: LDO5 input.
48 vcc5-supply: LDO3 and LDO4 input.
49 vcc6-supply: LDO1 and LDO2 input.
50 vcc7-supply: VRTC input.
51 vccio-supply: VIO input.
52
53Optional properties:
54- ti,vmbch-threshold: (tps65911) main battery charged threshold
55 comparator. (see VMBCH_VSEL in TPS65910 datasheet)
56- ti,vmbch2-threshold: (tps65911) main battery discharged threshold
57 comparator. (see VMBCH_VSEL in TPS65910 datasheet)
58- ti,en-ck32k-xtal: enable external 32-kHz crystal oscillator (see CK32K_CTRL
59 in TPS6591X datasheet)
60- ti,en-gpio-sleep: enable sleep control for gpios
61 There should be 9 entries here, one for each gpio.
62- ti,system-power-controller: Telling whether or not this pmic is controlling
63 the system power.
64- ti,sleep-enable: Enable SLEEP state.
65- ti,sleep-keep-therm: Keep thermal monitoring on in sleep state.
66- ti,sleep-keep-ck32k: Keep the 32KHz clock output on in sleep state.
67- ti,sleep-keep-hsclk: Keep high speed internal clock on in sleep state.
68
69Regulator Optional properties:
70- ti,regulator-ext-sleep-control: enable external sleep
71 control through external inputs [0 (not enabled), 1 (EN1), 2 (EN2) or 4(EN3)]
72 If this property is not defined, it defaults to 0 (not enabled).
73
74Example:
75
76 pmu: tps65910@d2 {
77 compatible = "ti,tps65910";
78 reg = <0xd2>;
79 interrupt-parent = <&intc>;
80 interrupts = < 0 118 0x04 >;
81
82 #gpio-cells = <2>;
83 gpio-controller;
84
85 #interrupt-cells = <2>;
86 interrupt-controller;
87
88 ti,system-power-controller;
89
90 ti,vmbch-threshold = 0;
91 ti,vmbch2-threshold = 0;
92 ti,en-ck32k-xtal;
93 ti,en-gpio-sleep = <0 0 1 0 0 0 0 0 0>;
94
95 vcc1-supply = <&reg_parent>;
96 vcc2-supply = <&some_reg>;
97 vcc3-supply = <...>;
98 vcc4-supply = <...>;
99 vcc5-supply = <...>;
100 vcc6-supply = <...>;
101 vcc7-supply = <...>;
102 vccio-supply = <...>;
103
104 regulators {
105 #address-cells = <1>;
106 #size-cells = <0>;
107
108 vdd1_reg: regulator@0 {
109 regulator-compatible = "vdd1";
110 reg = <0>;
111 regulator-min-microvolt = < 600000>;
112 regulator-max-microvolt = <1500000>;
113 regulator-always-on;
114 regulator-boot-on;
115 ti,regulator-ext-sleep-control = <0>;
116 };
117 vdd2_reg: regulator@1 {
118 regulator-compatible = "vdd2";
119 reg = <1>;
120 regulator-min-microvolt = < 600000>;
121 regulator-max-microvolt = <1500000>;
122 regulator-always-on;
123 regulator-boot-on;
124 ti,regulator-ext-sleep-control = <4>;
125 };
126 vddctrl_reg: regulator@2 {
127 regulator-compatible = "vddctrl";
128 reg = <2>;
129 regulator-min-microvolt = < 600000>;
130 regulator-max-microvolt = <1400000>;
131 regulator-always-on;
132 regulator-boot-on;
133 ti,regulator-ext-sleep-control = <0>;
134 };
135 vio_reg: regulator@3 {
136 regulator-compatible = "vio";
137 reg = <3>;
138 regulator-min-microvolt = <1500000>;
139 regulator-max-microvolt = <1800000>;
140 regulator-always-on;
141 regulator-boot-on;
142 ti,regulator-ext-sleep-control = <1>;
143 };
144 ldo1_reg: regulator@4 {
145 regulator-compatible = "ldo1";
146 reg = <4>;
147 regulator-min-microvolt = <1000000>;
148 regulator-max-microvolt = <3300000>;
149 ti,regulator-ext-sleep-control = <0>;
150 };
151 ldo2_reg: regulator@5 {
152 regulator-compatible = "ldo2";
153 reg = <5>;
154 regulator-min-microvolt = <1050000>;
155 regulator-max-microvolt = <1050000>;
156 ti,regulator-ext-sleep-control = <0>;
157 };
158 ldo3_reg: regulator@6 {
159 regulator-compatible = "ldo3";
160 reg = <6>;
161 regulator-min-microvolt = <1000000>;
162 regulator-max-microvolt = <3300000>;
163 ti,regulator-ext-sleep-control = <0>;
164 };
165 ldo4_reg: regulator@7 {
166 regulator-compatible = "ldo4";
167 reg = <7>;
168 regulator-min-microvolt = <1000000>;
169 regulator-max-microvolt = <3300000>;
170 regulator-always-on;
171 ti,regulator-ext-sleep-control = <0>;
172 };
173 ldo5_reg: regulator@8 {
174 regulator-compatible = "ldo5";
175 reg = <8>;
176 regulator-min-microvolt = <1000000>;
177 regulator-max-microvolt = <3300000>;
178 ti,regulator-ext-sleep-control = <0>;
179 };
180 ldo6_reg: regulator@9 {
181 regulator-compatible = "ldo6";
182 reg = <9>;
183 regulator-min-microvolt = <1200000>;
184 regulator-max-microvolt = <1200000>;
185 ti,regulator-ext-sleep-control = <0>;
186 };
187 ldo7_reg: regulator@10 {
188 regulator-compatible = "ldo7";
189 reg = <10>;
190 regulator-min-microvolt = <1200000>;
191 regulator-max-microvolt = <1200000>;
192 regulator-always-on;
193 regulator-boot-on;
194 ti,regulator-ext-sleep-control = <1>;
195 };
196 ldo8_reg: regulator@11 {
197 regulator-compatible = "ldo8";
198 reg = <11>;
199 regulator-min-microvolt = <1000000>;
200 regulator-max-microvolt = <3300000>;
201 regulator-always-on;
202 ti,regulator-ext-sleep-control = <1>;
203 };
204 };
205 };