xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/tps65910.txt (revision e0c4386e7e71d93b0edc0c8fa156263fc4a8b0b6)
1TPS65910 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	};
206