162306a36Sopenharmony_ciTPS65910 Power Management Integrated Circuit
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciRequired properties:
462306a36Sopenharmony_ci- compatible: "ti,tps65910" or "ti,tps65911"
562306a36Sopenharmony_ci- reg: I2C slave address
662306a36Sopenharmony_ci- interrupts: the interrupt outputs of the controller
762306a36Sopenharmony_ci- #gpio-cells: number of cells to describe a GPIO, this should be 2.
862306a36Sopenharmony_ci  The first cell is the GPIO number.
962306a36Sopenharmony_ci  The second cell is used to specify additional options <unused>.
1062306a36Sopenharmony_ci- gpio-controller: mark the device as a GPIO controller
1162306a36Sopenharmony_ci- #interrupt-cells: the number of cells to describe an IRQ, this should be 2.
1262306a36Sopenharmony_ci  The first cell is the IRQ number.
1362306a36Sopenharmony_ci  The second cell is the flags, encoded as the trigger masks from
1462306a36Sopenharmony_ci  Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
1562306a36Sopenharmony_ci- regulators: This is the list of child nodes that specify the regulator
1662306a36Sopenharmony_ci  initialization data for defined regulators. Not all regulators for the given
1762306a36Sopenharmony_ci  device need to be present. The definition for each of these nodes is defined
1862306a36Sopenharmony_ci  using the standard binding for regulators found at
1962306a36Sopenharmony_ci  Documentation/devicetree/bindings/regulator/regulator.txt.
2062306a36Sopenharmony_ci  The regulator is matched with the regulator-compatible.
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci  The valid regulator-compatible values are:
2362306a36Sopenharmony_ci  tps65910: vrtc, vio, vdd1, vdd2, vdd3, vdig1, vdig2, vpll, vdac, vaux1,
2462306a36Sopenharmony_ci            vaux2, vaux33, vmmc, vbb
2562306a36Sopenharmony_ci  tps65911: vrtc, vio, vdd1, vdd2, vddctrl, ldo1, ldo2, ldo3, ldo4, ldo5,
2662306a36Sopenharmony_ci            ldo6, ldo7, ldo8
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci- xxx-supply: Input voltage supply regulator.
2962306a36Sopenharmony_ci  These entries are required if regulators are enabled for a device. Missing these
3062306a36Sopenharmony_ci  properties can cause the regulator registration to fail.
3162306a36Sopenharmony_ci  If some of input supply is powered through battery or always-on supply then
3262306a36Sopenharmony_ci  also it is require to have these parameters with proper node handle of always
3362306a36Sopenharmony_ci  on power supply.
3462306a36Sopenharmony_ci  tps65910:
3562306a36Sopenharmony_ci	vcc1-supply: VDD1 input.
3662306a36Sopenharmony_ci	vcc2-supply: VDD2 input.
3762306a36Sopenharmony_ci	vcc3-supply: VAUX33 and VMMC input.
3862306a36Sopenharmony_ci	vcc4-supply: VAUX1 and VAUX2 input.
3962306a36Sopenharmony_ci	vcc5-supply: VPLL and VDAC input.
4062306a36Sopenharmony_ci	vcc6-supply: VDIG1 and VDIG2 input.
4162306a36Sopenharmony_ci	vcc7-supply: VRTC and VBB input.
4262306a36Sopenharmony_ci	vccio-supply: VIO input.
4362306a36Sopenharmony_ci  tps65911:
4462306a36Sopenharmony_ci	vcc1-supply: VDD1 input.
4562306a36Sopenharmony_ci	vcc2-supply: VDD2 input.
4662306a36Sopenharmony_ci	vcc3-supply: LDO6, LDO7 and LDO8 input.
4762306a36Sopenharmony_ci	vcc4-supply: LDO5 input.
4862306a36Sopenharmony_ci	vcc5-supply: LDO3 and LDO4 input.
4962306a36Sopenharmony_ci	vcc6-supply: LDO1 and LDO2 input.
5062306a36Sopenharmony_ci	vcc7-supply: VRTC input.
5162306a36Sopenharmony_ci	vccio-supply: VIO input.
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ciOptional properties:
5462306a36Sopenharmony_ci- ti,vmbch-threshold: (tps65911) main battery charged threshold
5562306a36Sopenharmony_ci  comparator. (see VMBCH_VSEL in TPS65910 datasheet)
5662306a36Sopenharmony_ci- ti,vmbch2-threshold: (tps65911) main battery discharged threshold
5762306a36Sopenharmony_ci  comparator. (see VMBCH_VSEL in TPS65910 datasheet)
5862306a36Sopenharmony_ci- ti,en-ck32k-xtal: enable external 32-kHz crystal oscillator (see CK32K_CTRL
5962306a36Sopenharmony_ci  in TPS6591X datasheet)
6062306a36Sopenharmony_ci- ti,en-gpio-sleep: enable sleep control for gpios
6162306a36Sopenharmony_ci  There should be 9 entries here, one for each gpio.
6262306a36Sopenharmony_ci- ti,system-power-controller: Telling whether or not this pmic is controlling
6362306a36Sopenharmony_ci  the system power.
6462306a36Sopenharmony_ci- ti,sleep-enable: Enable SLEEP state.
6562306a36Sopenharmony_ci- ti,sleep-keep-therm: Keep thermal monitoring on in sleep state.
6662306a36Sopenharmony_ci- ti,sleep-keep-ck32k: Keep the 32KHz clock output on in sleep state.
6762306a36Sopenharmony_ci- ti,sleep-keep-hsclk: Keep high speed internal clock on in sleep state.
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ciRegulator Optional properties:
7062306a36Sopenharmony_ci- ti,regulator-ext-sleep-control: enable external sleep
7162306a36Sopenharmony_ci  control through external inputs [0 (not enabled), 1 (EN1), 2 (EN2) or 4(EN3)]
7262306a36Sopenharmony_ci  If this property is not defined, it defaults to 0 (not enabled).
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ciExample:
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci	pmu: tps65910@d2 {
7762306a36Sopenharmony_ci		compatible = "ti,tps65910";
7862306a36Sopenharmony_ci		reg = <0xd2>;
7962306a36Sopenharmony_ci		interrupt-parent = <&intc>;
8062306a36Sopenharmony_ci		interrupts = < 0 118 0x04 >;
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci		#gpio-cells = <2>;
8362306a36Sopenharmony_ci		gpio-controller;
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci		#interrupt-cells = <2>;
8662306a36Sopenharmony_ci		interrupt-controller;
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci		ti,system-power-controller;
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci		ti,vmbch-threshold = 0;
9162306a36Sopenharmony_ci		ti,vmbch2-threshold = 0;
9262306a36Sopenharmony_ci		ti,en-ck32k-xtal;
9362306a36Sopenharmony_ci		ti,en-gpio-sleep = <0 0 1 0 0 0 0 0 0>;
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci		vcc1-supply = <&reg_parent>;
9662306a36Sopenharmony_ci		vcc2-supply = <&some_reg>;
9762306a36Sopenharmony_ci		vcc3-supply = <...>;
9862306a36Sopenharmony_ci		vcc4-supply = <...>;
9962306a36Sopenharmony_ci		vcc5-supply = <...>;
10062306a36Sopenharmony_ci		vcc6-supply = <...>;
10162306a36Sopenharmony_ci		vcc7-supply = <...>;
10262306a36Sopenharmony_ci		vccio-supply = <...>;
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci		regulators {
10562306a36Sopenharmony_ci			#address-cells = <1>;
10662306a36Sopenharmony_ci			#size-cells = <0>;
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci			vdd1_reg: regulator@0 {
10962306a36Sopenharmony_ci				regulator-compatible = "vdd1";
11062306a36Sopenharmony_ci				reg = <0>;
11162306a36Sopenharmony_ci				regulator-min-microvolt = < 600000>;
11262306a36Sopenharmony_ci				regulator-max-microvolt = <1500000>;
11362306a36Sopenharmony_ci				regulator-always-on;
11462306a36Sopenharmony_ci				regulator-boot-on;
11562306a36Sopenharmony_ci				ti,regulator-ext-sleep-control = <0>;
11662306a36Sopenharmony_ci			};
11762306a36Sopenharmony_ci			vdd2_reg: regulator@1 {
11862306a36Sopenharmony_ci				regulator-compatible = "vdd2";
11962306a36Sopenharmony_ci				reg = <1>;
12062306a36Sopenharmony_ci				regulator-min-microvolt = < 600000>;
12162306a36Sopenharmony_ci				regulator-max-microvolt = <1500000>;
12262306a36Sopenharmony_ci				regulator-always-on;
12362306a36Sopenharmony_ci				regulator-boot-on;
12462306a36Sopenharmony_ci				ti,regulator-ext-sleep-control = <4>;
12562306a36Sopenharmony_ci			};
12662306a36Sopenharmony_ci			vddctrl_reg: regulator@2 {
12762306a36Sopenharmony_ci				regulator-compatible = "vddctrl";
12862306a36Sopenharmony_ci				reg = <2>;
12962306a36Sopenharmony_ci				regulator-min-microvolt = < 600000>;
13062306a36Sopenharmony_ci				regulator-max-microvolt = <1400000>;
13162306a36Sopenharmony_ci				regulator-always-on;
13262306a36Sopenharmony_ci				regulator-boot-on;
13362306a36Sopenharmony_ci				ti,regulator-ext-sleep-control = <0>;
13462306a36Sopenharmony_ci			};
13562306a36Sopenharmony_ci			vio_reg: regulator@3 {
13662306a36Sopenharmony_ci				regulator-compatible = "vio";
13762306a36Sopenharmony_ci				reg = <3>;
13862306a36Sopenharmony_ci				regulator-min-microvolt = <1500000>;
13962306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
14062306a36Sopenharmony_ci				regulator-always-on;
14162306a36Sopenharmony_ci				regulator-boot-on;
14262306a36Sopenharmony_ci				ti,regulator-ext-sleep-control = <1>;
14362306a36Sopenharmony_ci			};
14462306a36Sopenharmony_ci			ldo1_reg: regulator@4 {
14562306a36Sopenharmony_ci				regulator-compatible = "ldo1";
14662306a36Sopenharmony_ci				reg = <4>;
14762306a36Sopenharmony_ci				regulator-min-microvolt = <1000000>;
14862306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
14962306a36Sopenharmony_ci				ti,regulator-ext-sleep-control = <0>;
15062306a36Sopenharmony_ci			};
15162306a36Sopenharmony_ci			ldo2_reg: regulator@5 {
15262306a36Sopenharmony_ci				regulator-compatible = "ldo2";
15362306a36Sopenharmony_ci				reg = <5>;
15462306a36Sopenharmony_ci				regulator-min-microvolt = <1050000>;
15562306a36Sopenharmony_ci				regulator-max-microvolt = <1050000>;
15662306a36Sopenharmony_ci				ti,regulator-ext-sleep-control = <0>;
15762306a36Sopenharmony_ci			};
15862306a36Sopenharmony_ci			ldo3_reg: regulator@6 {
15962306a36Sopenharmony_ci				regulator-compatible = "ldo3";
16062306a36Sopenharmony_ci				reg = <6>;
16162306a36Sopenharmony_ci				regulator-min-microvolt = <1000000>;
16262306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
16362306a36Sopenharmony_ci				ti,regulator-ext-sleep-control = <0>;
16462306a36Sopenharmony_ci			};
16562306a36Sopenharmony_ci			ldo4_reg: regulator@7 {
16662306a36Sopenharmony_ci				regulator-compatible = "ldo4";
16762306a36Sopenharmony_ci				reg = <7>;
16862306a36Sopenharmony_ci				regulator-min-microvolt = <1000000>;
16962306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
17062306a36Sopenharmony_ci				regulator-always-on;
17162306a36Sopenharmony_ci				ti,regulator-ext-sleep-control = <0>;
17262306a36Sopenharmony_ci			};
17362306a36Sopenharmony_ci			ldo5_reg: regulator@8 {
17462306a36Sopenharmony_ci				regulator-compatible = "ldo5";
17562306a36Sopenharmony_ci				reg = <8>;
17662306a36Sopenharmony_ci				regulator-min-microvolt = <1000000>;
17762306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
17862306a36Sopenharmony_ci				ti,regulator-ext-sleep-control = <0>;
17962306a36Sopenharmony_ci			};
18062306a36Sopenharmony_ci			ldo6_reg: regulator@9 {
18162306a36Sopenharmony_ci				regulator-compatible = "ldo6";
18262306a36Sopenharmony_ci				reg = <9>;
18362306a36Sopenharmony_ci				regulator-min-microvolt = <1200000>;
18462306a36Sopenharmony_ci				regulator-max-microvolt = <1200000>;
18562306a36Sopenharmony_ci				ti,regulator-ext-sleep-control = <0>;
18662306a36Sopenharmony_ci			};
18762306a36Sopenharmony_ci			ldo7_reg: regulator@10 {
18862306a36Sopenharmony_ci				regulator-compatible = "ldo7";
18962306a36Sopenharmony_ci				reg = <10>;
19062306a36Sopenharmony_ci				regulator-min-microvolt = <1200000>;
19162306a36Sopenharmony_ci				regulator-max-microvolt = <1200000>;
19262306a36Sopenharmony_ci				regulator-always-on;
19362306a36Sopenharmony_ci				regulator-boot-on;
19462306a36Sopenharmony_ci				ti,regulator-ext-sleep-control = <1>;
19562306a36Sopenharmony_ci			};
19662306a36Sopenharmony_ci			ldo8_reg: regulator@11 {
19762306a36Sopenharmony_ci				regulator-compatible = "ldo8";
19862306a36Sopenharmony_ci				reg = <11>;
19962306a36Sopenharmony_ci				regulator-min-microvolt = <1000000>;
20062306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
20162306a36Sopenharmony_ci				regulator-always-on;
20262306a36Sopenharmony_ci				ti,regulator-ext-sleep-control = <1>;
20362306a36Sopenharmony_ci			};
20462306a36Sopenharmony_ci		};
20562306a36Sopenharmony_ci	};
206