xref: /openbmc/linux/Documentation/devicetree/bindings/mfd/tps65910.txt (revision 8dd06ef34b6e2f41b29fbf5fc1663780f2524285)
11291aa45SRhyland KleinTPS65910 Power Management Integrated Circuit
21291aa45SRhyland Klein
31291aa45SRhyland KleinRequired properties:
41291aa45SRhyland Klein- compatible: "ti,tps65910" or "ti,tps65911"
51291aa45SRhyland Klein- reg: I2C slave address
61291aa45SRhyland Klein- interrupts: the interrupt outputs of the controller
71291aa45SRhyland Klein- #gpio-cells: number of cells to describe a GPIO, this should be 2.
81291aa45SRhyland Klein  The first cell is the GPIO number.
91291aa45SRhyland Klein  The second cell is used to specify additional options <unused>.
101291aa45SRhyland Klein- gpio-controller: mark the device as a GPIO controller
111291aa45SRhyland Klein- #interrupt-cells: the number of cells to describe an IRQ, this should be 2.
121291aa45SRhyland Klein  The first cell is the IRQ number.
131291aa45SRhyland Klein  The second cell is the flags, encoded as the trigger masks from
143bf0e9e0SYegor Yefremov  Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
151291aa45SRhyland Klein- regulators: This is the list of child nodes that specify the regulator
161291aa45SRhyland Klein  initialization data for defined regulators. Not all regulators for the given
171291aa45SRhyland Klein  device need to be present. The definition for each of these nodes is defined
181291aa45SRhyland Klein  using the standard binding for regulators found at
191291aa45SRhyland Klein  Documentation/devicetree/bindings/regulator/regulator.txt.
208c5e461dSLaxman Dewangan  The regulator is matched with the regulator-compatible.
211291aa45SRhyland Klein
228c5e461dSLaxman Dewangan  The valid regulator-compatible values are:
231291aa45SRhyland Klein  tps65910: vrtc, vio, vdd1, vdd2, vdd3, vdig1, vdig2, vpll, vdac, vaux1,
2403746dcbSMarkus Pargmann            vaux2, vaux33, vmmc, vbb
252d8175adSChristoph Fritz  tps65911: vrtc, vio, vdd1, vdd2, vddctrl, ldo1, ldo2, ldo3, ldo4, ldo5,
261291aa45SRhyland Klein            ldo6, ldo7, ldo8
271291aa45SRhyland Klein
2819228a6aSLaxman Dewangan- xxx-supply: Input voltage supply regulator.
29*8c6687efSJonathan Neuschäfer  These entries are required if regulators are enabled for a device. Missing these
30*8c6687efSJonathan Neuschäfer  properties can cause the regulator registration to fail.
31d2cfdb05SLaxman Dewangan  If some of input supply is powered through battery or always-on supply then
32d2cfdb05SLaxman Dewangan  also it is require to have these parameters with proper node handle of always
33d2cfdb05SLaxman Dewangan  on power supply.
3419228a6aSLaxman Dewangan  tps65910:
3519228a6aSLaxman Dewangan	vcc1-supply: VDD1 input.
3619228a6aSLaxman Dewangan	vcc2-supply: VDD2 input.
3719228a6aSLaxman Dewangan	vcc3-supply: VAUX33 and VMMC input.
3819228a6aSLaxman Dewangan	vcc4-supply: VAUX1 and VAUX2 input.
3919228a6aSLaxman Dewangan	vcc5-supply: VPLL and VDAC input.
4019228a6aSLaxman Dewangan	vcc6-supply: VDIG1 and VDIG2 input.
4103746dcbSMarkus Pargmann	vcc7-supply: VRTC and VBB input.
4219228a6aSLaxman Dewangan	vccio-supply: VIO input.
4319228a6aSLaxman Dewangan  tps65911:
4419228a6aSLaxman Dewangan	vcc1-supply: VDD1 input.
4519228a6aSLaxman Dewangan	vcc2-supply: VDD2 input.
4619228a6aSLaxman Dewangan	vcc3-supply: LDO6, LDO7 and LDO8 input.
4719228a6aSLaxman Dewangan	vcc4-supply: LDO5 input.
4819228a6aSLaxman Dewangan	vcc5-supply: LDO3 and LDO4 input.
4919228a6aSLaxman Dewangan	vcc6-supply: LDO1 and LDO2 input.
5019228a6aSLaxman Dewangan	vcc7-supply: VRTC input.
5119228a6aSLaxman Dewangan	vccio-supply: VIO input.
521291aa45SRhyland Klein
53d2cfdb05SLaxman DewanganOptional properties:
54d2cfdb05SLaxman Dewangan- ti,vmbch-threshold: (tps65911) main battery charged threshold
55d2cfdb05SLaxman Dewangan  comparator. (see VMBCH_VSEL in TPS65910 datasheet)
56d2cfdb05SLaxman Dewangan- ti,vmbch2-threshold: (tps65911) main battery discharged threshold
57d2cfdb05SLaxman Dewangan  comparator. (see VMBCH_VSEL in TPS65910 datasheet)
58d2cfdb05SLaxman Dewangan- ti,en-ck32k-xtal: enable external 32-kHz crystal oscillator (see CK32K_CTRL
59d2cfdb05SLaxman Dewangan  in TPS6591X datasheet)
60d2cfdb05SLaxman Dewangan- ti,en-gpio-sleep: enable sleep control for gpios
61d2cfdb05SLaxman Dewangan  There should be 9 entries here, one for each gpio.
62b079fa72SBill Huang- ti,system-power-controller: Telling whether or not this pmic is controlling
63b079fa72SBill Huang  the system power.
64a9bc67deSMichał Mirosław- ti,sleep-enable: Enable SLEEP state.
65a9bc67deSMichał Mirosław- ti,sleep-keep-therm: Keep thermal monitoring on in sleep state.
66a9bc67deSMichał Mirosław- ti,sleep-keep-ck32k: Keep the 32KHz clock output on in sleep state.
67a9bc67deSMichał Mirosław- ti,sleep-keep-hsclk: Keep high speed internal clock on in sleep state.
68d2cfdb05SLaxman Dewangan
691291aa45SRhyland KleinRegulator Optional properties:
701291aa45SRhyland Klein- ti,regulator-ext-sleep-control: enable external sleep
711291aa45SRhyland Klein  control through external inputs [0 (not enabled), 1 (EN1), 2 (EN2) or 4(EN3)]
721291aa45SRhyland Klein  If this property is not defined, it defaults to 0 (not enabled).
731291aa45SRhyland Klein
741291aa45SRhyland KleinExample:
751291aa45SRhyland Klein
761291aa45SRhyland Klein	pmu: tps65910@d2 {
771291aa45SRhyland Klein		compatible = "ti,tps65910";
781291aa45SRhyland Klein		reg = <0xd2>;
791291aa45SRhyland Klein		interrupt-parent = <&intc>;
801291aa45SRhyland Klein		interrupts = < 0 118 0x04 >;
811291aa45SRhyland Klein
821291aa45SRhyland Klein		#gpio-cells = <2>;
831291aa45SRhyland Klein		gpio-controller;
841291aa45SRhyland Klein
851291aa45SRhyland Klein		#interrupt-cells = <2>;
861291aa45SRhyland Klein		interrupt-controller;
871291aa45SRhyland Klein
88b079fa72SBill Huang		ti,system-power-controller;
89b079fa72SBill Huang
901291aa45SRhyland Klein		ti,vmbch-threshold = 0;
911291aa45SRhyland Klein		ti,vmbch2-threshold = 0;
92bcc1dd4cSJohan Hovold		ti,en-ck32k-xtal;
931291aa45SRhyland Klein		ti,en-gpio-sleep = <0 0 1 0 0 0 0 0 0>;
941291aa45SRhyland Klein
9519228a6aSLaxman Dewangan		vcc1-supply = <&reg_parent>;
96d2cfdb05SLaxman Dewangan		vcc2-supply = <&some_reg>;
97d2cfdb05SLaxman Dewangan		vcc3-supply = <...>;
98d2cfdb05SLaxman Dewangan		vcc4-supply = <...>;
99d2cfdb05SLaxman Dewangan		vcc5-supply = <...>;
100d2cfdb05SLaxman Dewangan		vcc6-supply = <...>;
101d2cfdb05SLaxman Dewangan		vcc7-supply = <...>;
102d2cfdb05SLaxman Dewangan		vccio-supply = <...>;
10319228a6aSLaxman Dewangan
1041291aa45SRhyland Klein		regulators {
1058c5e461dSLaxman Dewangan			#address-cells = <1>;
1068c5e461dSLaxman Dewangan			#size-cells = <0>;
1078c5e461dSLaxman Dewangan
1088c5e461dSLaxman Dewangan			vdd1_reg: regulator@0 {
1098c5e461dSLaxman Dewangan				regulator-compatible = "vdd1";
1108c5e461dSLaxman Dewangan				reg = <0>;
1111291aa45SRhyland Klein				regulator-min-microvolt = < 600000>;
1121291aa45SRhyland Klein				regulator-max-microvolt = <1500000>;
1131291aa45SRhyland Klein				regulator-always-on;
1141291aa45SRhyland Klein				regulator-boot-on;
1151291aa45SRhyland Klein				ti,regulator-ext-sleep-control = <0>;
1161291aa45SRhyland Klein			};
1178c5e461dSLaxman Dewangan			vdd2_reg: regulator@1 {
1188c5e461dSLaxman Dewangan				regulator-compatible = "vdd2";
1198c5e461dSLaxman Dewangan				reg = <1>;
1201291aa45SRhyland Klein				regulator-min-microvolt = < 600000>;
1211291aa45SRhyland Klein				regulator-max-microvolt = <1500000>;
1221291aa45SRhyland Klein				regulator-always-on;
1231291aa45SRhyland Klein				regulator-boot-on;
1241291aa45SRhyland Klein				ti,regulator-ext-sleep-control = <4>;
1251291aa45SRhyland Klein			};
1268c5e461dSLaxman Dewangan			vddctrl_reg: regulator@2 {
1278c5e461dSLaxman Dewangan				regulator-compatible = "vddctrl";
1288c5e461dSLaxman Dewangan				reg = <2>;
1291291aa45SRhyland Klein				regulator-min-microvolt = < 600000>;
1301291aa45SRhyland Klein				regulator-max-microvolt = <1400000>;
1311291aa45SRhyland Klein				regulator-always-on;
1321291aa45SRhyland Klein				regulator-boot-on;
1331291aa45SRhyland Klein				ti,regulator-ext-sleep-control = <0>;
1341291aa45SRhyland Klein			};
1358c5e461dSLaxman Dewangan			vio_reg: regulator@3 {
1368c5e461dSLaxman Dewangan				regulator-compatible = "vio";
1378c5e461dSLaxman Dewangan				reg = <3>;
1381291aa45SRhyland Klein				regulator-min-microvolt = <1500000>;
1391291aa45SRhyland Klein				regulator-max-microvolt = <1800000>;
1401291aa45SRhyland Klein				regulator-always-on;
1411291aa45SRhyland Klein				regulator-boot-on;
1421291aa45SRhyland Klein				ti,regulator-ext-sleep-control = <1>;
1431291aa45SRhyland Klein			};
1448c5e461dSLaxman Dewangan			ldo1_reg: regulator@4 {
1458c5e461dSLaxman Dewangan				regulator-compatible = "ldo1";
1468c5e461dSLaxman Dewangan				reg = <4>;
1471291aa45SRhyland Klein				regulator-min-microvolt = <1000000>;
1481291aa45SRhyland Klein				regulator-max-microvolt = <3300000>;
1491291aa45SRhyland Klein				ti,regulator-ext-sleep-control = <0>;
1501291aa45SRhyland Klein			};
1518c5e461dSLaxman Dewangan			ldo2_reg: regulator@5 {
1528c5e461dSLaxman Dewangan				regulator-compatible = "ldo2";
1538c5e461dSLaxman Dewangan				reg = <5>;
1541291aa45SRhyland Klein				regulator-min-microvolt = <1050000>;
1551291aa45SRhyland Klein				regulator-max-microvolt = <1050000>;
1561291aa45SRhyland Klein				ti,regulator-ext-sleep-control = <0>;
1571291aa45SRhyland Klein			};
1588c5e461dSLaxman Dewangan			ldo3_reg: regulator@6 {
1598c5e461dSLaxman Dewangan				regulator-compatible = "ldo3";
1608c5e461dSLaxman Dewangan				reg = <6>;
1611291aa45SRhyland Klein				regulator-min-microvolt = <1000000>;
1621291aa45SRhyland Klein				regulator-max-microvolt = <3300000>;
1631291aa45SRhyland Klein				ti,regulator-ext-sleep-control = <0>;
1641291aa45SRhyland Klein			};
1658c5e461dSLaxman Dewangan			ldo4_reg: regulator@7 {
1668c5e461dSLaxman Dewangan				regulator-compatible = "ldo4";
1678c5e461dSLaxman Dewangan				reg = <7>;
1681291aa45SRhyland Klein				regulator-min-microvolt = <1000000>;
1691291aa45SRhyland Klein				regulator-max-microvolt = <3300000>;
1701291aa45SRhyland Klein				regulator-always-on;
1711291aa45SRhyland Klein				ti,regulator-ext-sleep-control = <0>;
1721291aa45SRhyland Klein			};
1738c5e461dSLaxman Dewangan			ldo5_reg: regulator@8 {
1748c5e461dSLaxman Dewangan				regulator-compatible = "ldo5";
1758c5e461dSLaxman Dewangan				reg = <8>;
1761291aa45SRhyland Klein				regulator-min-microvolt = <1000000>;
1771291aa45SRhyland Klein				regulator-max-microvolt = <3300000>;
1781291aa45SRhyland Klein				ti,regulator-ext-sleep-control = <0>;
1791291aa45SRhyland Klein			};
1808c5e461dSLaxman Dewangan			ldo6_reg: regulator@9 {
1818c5e461dSLaxman Dewangan				regulator-compatible = "ldo6";
1828c5e461dSLaxman Dewangan				reg = <9>;
1831291aa45SRhyland Klein				regulator-min-microvolt = <1200000>;
1841291aa45SRhyland Klein				regulator-max-microvolt = <1200000>;
1851291aa45SRhyland Klein				ti,regulator-ext-sleep-control = <0>;
1861291aa45SRhyland Klein			};
1878c5e461dSLaxman Dewangan			ldo7_reg: regulator@10 {
1888c5e461dSLaxman Dewangan				regulator-compatible = "ldo7";
1898c5e461dSLaxman Dewangan				reg = <10>;
1901291aa45SRhyland Klein				regulator-min-microvolt = <1200000>;
1911291aa45SRhyland Klein				regulator-max-microvolt = <1200000>;
1921291aa45SRhyland Klein				regulator-always-on;
1931291aa45SRhyland Klein				regulator-boot-on;
1941291aa45SRhyland Klein				ti,regulator-ext-sleep-control = <1>;
1951291aa45SRhyland Klein			};
1968c5e461dSLaxman Dewangan			ldo8_reg: regulator@11 {
1978c5e461dSLaxman Dewangan				regulator-compatible = "ldo8";
1988c5e461dSLaxman Dewangan				reg = <11>;
1991291aa45SRhyland Klein				regulator-min-microvolt = <1000000>;
2001291aa45SRhyland Klein				regulator-max-microvolt = <3300000>;
2011291aa45SRhyland Klein				regulator-always-on;
2021291aa45SRhyland Klein				ti,regulator-ext-sleep-control = <1>;
2031291aa45SRhyland Klein			};
2041291aa45SRhyland Klein		};
2051291aa45SRhyland Klein	};
206