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 = <®_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