18c2ecf20Sopenharmony_ciTPS65910 Power Management Integrated Circuit
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciRequired properties:
48c2ecf20Sopenharmony_ci- compatible: "ti,tps65910" or "ti,tps65911"
58c2ecf20Sopenharmony_ci- reg: I2C slave address
68c2ecf20Sopenharmony_ci- interrupts: the interrupt outputs of the controller
78c2ecf20Sopenharmony_ci- #gpio-cells: number of cells to describe a GPIO, this should be 2.
88c2ecf20Sopenharmony_ci  The first cell is the GPIO number.
98c2ecf20Sopenharmony_ci  The second cell is used to specify additional options <unused>.
108c2ecf20Sopenharmony_ci- gpio-controller: mark the device as a GPIO controller
118c2ecf20Sopenharmony_ci- #interrupt-cells: the number of cells to describe an IRQ, this should be 2.
128c2ecf20Sopenharmony_ci  The first cell is the IRQ number.
138c2ecf20Sopenharmony_ci  The second cell is the flags, encoded as the trigger masks from
148c2ecf20Sopenharmony_ci  Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
158c2ecf20Sopenharmony_ci- regulators: This is the list of child nodes that specify the regulator
168c2ecf20Sopenharmony_ci  initialization data for defined regulators. Not all regulators for the given
178c2ecf20Sopenharmony_ci  device need to be present. The definition for each of these nodes is defined
188c2ecf20Sopenharmony_ci  using the standard binding for regulators found at
198c2ecf20Sopenharmony_ci  Documentation/devicetree/bindings/regulator/regulator.txt.
208c2ecf20Sopenharmony_ci  The regulator is matched with the regulator-compatible.
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci  The valid regulator-compatible values are:
238c2ecf20Sopenharmony_ci  tps65910: vrtc, vio, vdd1, vdd2, vdd3, vdig1, vdig2, vpll, vdac, vaux1,
248c2ecf20Sopenharmony_ci            vaux2, vaux33, vmmc, vbb
258c2ecf20Sopenharmony_ci  tps65911: vrtc, vio, vdd1, vdd2, vddctrl, ldo1, ldo2, ldo3, ldo4, ldo5,
268c2ecf20Sopenharmony_ci            ldo6, ldo7, ldo8
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci- xxx-supply: Input voltage supply regulator.
298c2ecf20Sopenharmony_ci  These entries are required if regulators are enabled for a device. Missing these
308c2ecf20Sopenharmony_ci  properties can cause the regulator registration to fail.
318c2ecf20Sopenharmony_ci  If some of input supply is powered through battery or always-on supply then
328c2ecf20Sopenharmony_ci  also it is require to have these parameters with proper node handle of always
338c2ecf20Sopenharmony_ci  on power supply.
348c2ecf20Sopenharmony_ci  tps65910:
358c2ecf20Sopenharmony_ci	vcc1-supply: VDD1 input.
368c2ecf20Sopenharmony_ci	vcc2-supply: VDD2 input.
378c2ecf20Sopenharmony_ci	vcc3-supply: VAUX33 and VMMC input.
388c2ecf20Sopenharmony_ci	vcc4-supply: VAUX1 and VAUX2 input.
398c2ecf20Sopenharmony_ci	vcc5-supply: VPLL and VDAC input.
408c2ecf20Sopenharmony_ci	vcc6-supply: VDIG1 and VDIG2 input.
418c2ecf20Sopenharmony_ci	vcc7-supply: VRTC and VBB input.
428c2ecf20Sopenharmony_ci	vccio-supply: VIO input.
438c2ecf20Sopenharmony_ci  tps65911:
448c2ecf20Sopenharmony_ci	vcc1-supply: VDD1 input.
458c2ecf20Sopenharmony_ci	vcc2-supply: VDD2 input.
468c2ecf20Sopenharmony_ci	vcc3-supply: LDO6, LDO7 and LDO8 input.
478c2ecf20Sopenharmony_ci	vcc4-supply: LDO5 input.
488c2ecf20Sopenharmony_ci	vcc5-supply: LDO3 and LDO4 input.
498c2ecf20Sopenharmony_ci	vcc6-supply: LDO1 and LDO2 input.
508c2ecf20Sopenharmony_ci	vcc7-supply: VRTC input.
518c2ecf20Sopenharmony_ci	vccio-supply: VIO input.
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ciOptional properties:
548c2ecf20Sopenharmony_ci- ti,vmbch-threshold: (tps65911) main battery charged threshold
558c2ecf20Sopenharmony_ci  comparator. (see VMBCH_VSEL in TPS65910 datasheet)
568c2ecf20Sopenharmony_ci- ti,vmbch2-threshold: (tps65911) main battery discharged threshold
578c2ecf20Sopenharmony_ci  comparator. (see VMBCH_VSEL in TPS65910 datasheet)
588c2ecf20Sopenharmony_ci- ti,en-ck32k-xtal: enable external 32-kHz crystal oscillator (see CK32K_CTRL
598c2ecf20Sopenharmony_ci  in TPS6591X datasheet)
608c2ecf20Sopenharmony_ci- ti,en-gpio-sleep: enable sleep control for gpios
618c2ecf20Sopenharmony_ci  There should be 9 entries here, one for each gpio.
628c2ecf20Sopenharmony_ci- ti,system-power-controller: Telling whether or not this pmic is controlling
638c2ecf20Sopenharmony_ci  the system power.
648c2ecf20Sopenharmony_ci- ti,sleep-enable: Enable SLEEP state.
658c2ecf20Sopenharmony_ci- ti,sleep-keep-therm: Keep thermal monitoring on in sleep state.
668c2ecf20Sopenharmony_ci- ti,sleep-keep-ck32k: Keep the 32KHz clock output on in sleep state.
678c2ecf20Sopenharmony_ci- ti,sleep-keep-hsclk: Keep high speed internal clock on in sleep state.
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ciRegulator Optional properties:
708c2ecf20Sopenharmony_ci- ti,regulator-ext-sleep-control: enable external sleep
718c2ecf20Sopenharmony_ci  control through external inputs [0 (not enabled), 1 (EN1), 2 (EN2) or 4(EN3)]
728c2ecf20Sopenharmony_ci  If this property is not defined, it defaults to 0 (not enabled).
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ciExample:
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci	pmu: tps65910@d2 {
778c2ecf20Sopenharmony_ci		compatible = "ti,tps65910";
788c2ecf20Sopenharmony_ci		reg = <0xd2>;
798c2ecf20Sopenharmony_ci		interrupt-parent = <&intc>;
808c2ecf20Sopenharmony_ci		interrupts = < 0 118 0x04 >;
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci		#gpio-cells = <2>;
838c2ecf20Sopenharmony_ci		gpio-controller;
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci		#interrupt-cells = <2>;
868c2ecf20Sopenharmony_ci		interrupt-controller;
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ci		ti,system-power-controller;
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ci		ti,vmbch-threshold = 0;
918c2ecf20Sopenharmony_ci		ti,vmbch2-threshold = 0;
928c2ecf20Sopenharmony_ci		ti,en-ck32k-xtal;
938c2ecf20Sopenharmony_ci		ti,en-gpio-sleep = <0 0 1 0 0 0 0 0 0>;
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ci		vcc1-supply = <&reg_parent>;
968c2ecf20Sopenharmony_ci		vcc2-supply = <&some_reg>;
978c2ecf20Sopenharmony_ci		vcc3-supply = <...>;
988c2ecf20Sopenharmony_ci		vcc4-supply = <...>;
998c2ecf20Sopenharmony_ci		vcc5-supply = <...>;
1008c2ecf20Sopenharmony_ci		vcc6-supply = <...>;
1018c2ecf20Sopenharmony_ci		vcc7-supply = <...>;
1028c2ecf20Sopenharmony_ci		vccio-supply = <...>;
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ci		regulators {
1058c2ecf20Sopenharmony_ci			#address-cells = <1>;
1068c2ecf20Sopenharmony_ci			#size-cells = <0>;
1078c2ecf20Sopenharmony_ci
1088c2ecf20Sopenharmony_ci			vdd1_reg: regulator@0 {
1098c2ecf20Sopenharmony_ci				regulator-compatible = "vdd1";
1108c2ecf20Sopenharmony_ci				reg = <0>;
1118c2ecf20Sopenharmony_ci				regulator-min-microvolt = < 600000>;
1128c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1500000>;
1138c2ecf20Sopenharmony_ci				regulator-always-on;
1148c2ecf20Sopenharmony_ci				regulator-boot-on;
1158c2ecf20Sopenharmony_ci				ti,regulator-ext-sleep-control = <0>;
1168c2ecf20Sopenharmony_ci			};
1178c2ecf20Sopenharmony_ci			vdd2_reg: regulator@1 {
1188c2ecf20Sopenharmony_ci				regulator-compatible = "vdd2";
1198c2ecf20Sopenharmony_ci				reg = <1>;
1208c2ecf20Sopenharmony_ci				regulator-min-microvolt = < 600000>;
1218c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1500000>;
1228c2ecf20Sopenharmony_ci				regulator-always-on;
1238c2ecf20Sopenharmony_ci				regulator-boot-on;
1248c2ecf20Sopenharmony_ci				ti,regulator-ext-sleep-control = <4>;
1258c2ecf20Sopenharmony_ci			};
1268c2ecf20Sopenharmony_ci			vddctrl_reg: regulator@2 {
1278c2ecf20Sopenharmony_ci				regulator-compatible = "vddctrl";
1288c2ecf20Sopenharmony_ci				reg = <2>;
1298c2ecf20Sopenharmony_ci				regulator-min-microvolt = < 600000>;
1308c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1400000>;
1318c2ecf20Sopenharmony_ci				regulator-always-on;
1328c2ecf20Sopenharmony_ci				regulator-boot-on;
1338c2ecf20Sopenharmony_ci				ti,regulator-ext-sleep-control = <0>;
1348c2ecf20Sopenharmony_ci			};
1358c2ecf20Sopenharmony_ci			vio_reg: regulator@3 {
1368c2ecf20Sopenharmony_ci				regulator-compatible = "vio";
1378c2ecf20Sopenharmony_ci				reg = <3>;
1388c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1500000>;
1398c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1800000>;
1408c2ecf20Sopenharmony_ci				regulator-always-on;
1418c2ecf20Sopenharmony_ci				regulator-boot-on;
1428c2ecf20Sopenharmony_ci				ti,regulator-ext-sleep-control = <1>;
1438c2ecf20Sopenharmony_ci			};
1448c2ecf20Sopenharmony_ci			ldo1_reg: regulator@4 {
1458c2ecf20Sopenharmony_ci				regulator-compatible = "ldo1";
1468c2ecf20Sopenharmony_ci				reg = <4>;
1478c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1000000>;
1488c2ecf20Sopenharmony_ci				regulator-max-microvolt = <3300000>;
1498c2ecf20Sopenharmony_ci				ti,regulator-ext-sleep-control = <0>;
1508c2ecf20Sopenharmony_ci			};
1518c2ecf20Sopenharmony_ci			ldo2_reg: regulator@5 {
1528c2ecf20Sopenharmony_ci				regulator-compatible = "ldo2";
1538c2ecf20Sopenharmony_ci				reg = <5>;
1548c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1050000>;
1558c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1050000>;
1568c2ecf20Sopenharmony_ci				ti,regulator-ext-sleep-control = <0>;
1578c2ecf20Sopenharmony_ci			};
1588c2ecf20Sopenharmony_ci			ldo3_reg: regulator@6 {
1598c2ecf20Sopenharmony_ci				regulator-compatible = "ldo3";
1608c2ecf20Sopenharmony_ci				reg = <6>;
1618c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1000000>;
1628c2ecf20Sopenharmony_ci				regulator-max-microvolt = <3300000>;
1638c2ecf20Sopenharmony_ci				ti,regulator-ext-sleep-control = <0>;
1648c2ecf20Sopenharmony_ci			};
1658c2ecf20Sopenharmony_ci			ldo4_reg: regulator@7 {
1668c2ecf20Sopenharmony_ci				regulator-compatible = "ldo4";
1678c2ecf20Sopenharmony_ci				reg = <7>;
1688c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1000000>;
1698c2ecf20Sopenharmony_ci				regulator-max-microvolt = <3300000>;
1708c2ecf20Sopenharmony_ci				regulator-always-on;
1718c2ecf20Sopenharmony_ci				ti,regulator-ext-sleep-control = <0>;
1728c2ecf20Sopenharmony_ci			};
1738c2ecf20Sopenharmony_ci			ldo5_reg: regulator@8 {
1748c2ecf20Sopenharmony_ci				regulator-compatible = "ldo5";
1758c2ecf20Sopenharmony_ci				reg = <8>;
1768c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1000000>;
1778c2ecf20Sopenharmony_ci				regulator-max-microvolt = <3300000>;
1788c2ecf20Sopenharmony_ci				ti,regulator-ext-sleep-control = <0>;
1798c2ecf20Sopenharmony_ci			};
1808c2ecf20Sopenharmony_ci			ldo6_reg: regulator@9 {
1818c2ecf20Sopenharmony_ci				regulator-compatible = "ldo6";
1828c2ecf20Sopenharmony_ci				reg = <9>;
1838c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1200000>;
1848c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1200000>;
1858c2ecf20Sopenharmony_ci				ti,regulator-ext-sleep-control = <0>;
1868c2ecf20Sopenharmony_ci			};
1878c2ecf20Sopenharmony_ci			ldo7_reg: regulator@10 {
1888c2ecf20Sopenharmony_ci				regulator-compatible = "ldo7";
1898c2ecf20Sopenharmony_ci				reg = <10>;
1908c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1200000>;
1918c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1200000>;
1928c2ecf20Sopenharmony_ci				regulator-always-on;
1938c2ecf20Sopenharmony_ci				regulator-boot-on;
1948c2ecf20Sopenharmony_ci				ti,regulator-ext-sleep-control = <1>;
1958c2ecf20Sopenharmony_ci			};
1968c2ecf20Sopenharmony_ci			ldo8_reg: regulator@11 {
1978c2ecf20Sopenharmony_ci				regulator-compatible = "ldo8";
1988c2ecf20Sopenharmony_ci				reg = <11>;
1998c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1000000>;
2008c2ecf20Sopenharmony_ci				regulator-max-microvolt = <3300000>;
2018c2ecf20Sopenharmony_ci				regulator-always-on;
2028c2ecf20Sopenharmony_ci				ti,regulator-ext-sleep-control = <1>;
2038c2ecf20Sopenharmony_ci			};
2048c2ecf20Sopenharmony_ci		};
2058c2ecf20Sopenharmony_ci	};
206