| TPS65910 Power Management Integrated Circuit |
| |
| Required properties: |
| - compatible: "ti,tps65910" or "ti,tps65911" |
| - reg: I2C slave address |
| - interrupts: the interrupt outputs of the controller |
| - #gpio-cells: number of cells to describe a GPIO, this should be 2. |
| The first cell is the GPIO number. |
| The second cell is used to specify additional options <unused>. |
| - gpio-controller: mark the device as a GPIO controller |
| - #interrupt-cells: the number of cells to describe an IRQ, this should be 2. |
| The first cell is the IRQ number. |
| The second cell is the flags, encoded as the trigger masks from |
| Documentation/devicetree/bindings/interrupt-controller/interrupts.txt |
| - regulators: This is the list of child nodes that specify the regulator |
| initialization data for defined regulators. Not all regulators for the given |
| device need to be present. The definition for each of these nodes is defined |
| using the standard binding for regulators found at |
| Documentation/devicetree/bindings/regulator/regulator.txt. |
| The regulator is matched with the regulator-compatible. |
| |
| The valid regulator-compatible values are: |
| tps65910: vrtc, vio, vdd1, vdd2, vdd3, vdig1, vdig2, vpll, vdac, vaux1, |
| vaux2, vaux33, vmmc, vbb |
| tps65911: vrtc, vio, vdd1, vdd3, vddctrl, ldo1, ldo2, ldo3, ldo4, ldo5, |
| ldo6, ldo7, ldo8 |
| |
| - xxx-supply: Input voltage supply regulator. |
| These entries are require if regulators are enabled for a device. Missing of these |
| properties can cause the regulator registration fails. |
| If some of input supply is powered through battery or always-on supply then |
| also it is require to have these parameters with proper node handle of always |
| on power supply. |
| tps65910: |
| vcc1-supply: VDD1 input. |
| vcc2-supply: VDD2 input. |
| vcc3-supply: VAUX33 and VMMC input. |
| vcc4-supply: VAUX1 and VAUX2 input. |
| vcc5-supply: VPLL and VDAC input. |
| vcc6-supply: VDIG1 and VDIG2 input. |
| vcc7-supply: VRTC and VBB input. |
| vccio-supply: VIO input. |
| tps65911: |
| vcc1-supply: VDD1 input. |
| vcc2-supply: VDD2 input. |
| vcc3-supply: LDO6, LDO7 and LDO8 input. |
| vcc4-supply: LDO5 input. |
| vcc5-supply: LDO3 and LDO4 input. |
| vcc6-supply: LDO1 and LDO2 input. |
| vcc7-supply: VRTC input. |
| vccio-supply: VIO input. |
| |
| Optional properties: |
| - ti,vmbch-threshold: (tps65911) main battery charged threshold |
| comparator. (see VMBCH_VSEL in TPS65910 datasheet) |
| - ti,vmbch2-threshold: (tps65911) main battery discharged threshold |
| comparator. (see VMBCH_VSEL in TPS65910 datasheet) |
| - ti,en-ck32k-xtal: enable external 32-kHz crystal oscillator (see CK32K_CTRL |
| in TPS6591X datasheet) |
| - ti,en-gpio-sleep: enable sleep control for gpios |
| There should be 9 entries here, one for each gpio. |
| - ti,system-power-controller: Telling whether or not this pmic is controlling |
| the system power. |
| - ti,sleep-enable: Enable SLEEP state. |
| - ti,sleep-keep-therm: Keep thermal monitoring on in sleep state. |
| - ti,sleep-keep-ck32k: Keep the 32KHz clock output on in sleep state. |
| - ti,sleep-keep-hsclk: Keep high speed internal clock on in sleep state. |
| |
| Regulator Optional properties: |
| - ti,regulator-ext-sleep-control: enable external sleep |
| control through external inputs [0 (not enabled), 1 (EN1), 2 (EN2) or 4(EN3)] |
| If this property is not defined, it defaults to 0 (not enabled). |
| |
| Example: |
| |
| pmu: tps65910@d2 { |
| compatible = "ti,tps65910"; |
| reg = <0xd2>; |
| interrupt-parent = <&intc>; |
| interrupts = < 0 118 0x04 >; |
| |
| #gpio-cells = <2>; |
| gpio-controller; |
| |
| #interrupt-cells = <2>; |
| interrupt-controller; |
| |
| ti,system-power-controller; |
| |
| ti,vmbch-threshold = 0; |
| ti,vmbch2-threshold = 0; |
| ti,en-ck32k-xtal; |
| ti,en-gpio-sleep = <0 0 1 0 0 0 0 0 0>; |
| |
| vcc1-supply = <®_parent>; |
| vcc2-supply = <&some_reg>; |
| vcc3-supply = <...>; |
| vcc4-supply = <...>; |
| vcc5-supply = <...>; |
| vcc6-supply = <...>; |
| vcc7-supply = <...>; |
| vccio-supply = <...>; |
| |
| regulators { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| vdd1_reg: regulator@0 { |
| regulator-compatible = "vdd1"; |
| reg = <0>; |
| regulator-min-microvolt = < 600000>; |
| regulator-max-microvolt = <1500000>; |
| regulator-always-on; |
| regulator-boot-on; |
| ti,regulator-ext-sleep-control = <0>; |
| }; |
| vdd2_reg: regulator@1 { |
| regulator-compatible = "vdd2"; |
| reg = <1>; |
| regulator-min-microvolt = < 600000>; |
| regulator-max-microvolt = <1500000>; |
| regulator-always-on; |
| regulator-boot-on; |
| ti,regulator-ext-sleep-control = <4>; |
| }; |
| vddctrl_reg: regulator@2 { |
| regulator-compatible = "vddctrl"; |
| reg = <2>; |
| regulator-min-microvolt = < 600000>; |
| regulator-max-microvolt = <1400000>; |
| regulator-always-on; |
| regulator-boot-on; |
| ti,regulator-ext-sleep-control = <0>; |
| }; |
| vio_reg: regulator@3 { |
| regulator-compatible = "vio"; |
| reg = <3>; |
| regulator-min-microvolt = <1500000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-always-on; |
| regulator-boot-on; |
| ti,regulator-ext-sleep-control = <1>; |
| }; |
| ldo1_reg: regulator@4 { |
| regulator-compatible = "ldo1"; |
| reg = <4>; |
| regulator-min-microvolt = <1000000>; |
| regulator-max-microvolt = <3300000>; |
| ti,regulator-ext-sleep-control = <0>; |
| }; |
| ldo2_reg: regulator@5 { |
| regulator-compatible = "ldo2"; |
| reg = <5>; |
| regulator-min-microvolt = <1050000>; |
| regulator-max-microvolt = <1050000>; |
| ti,regulator-ext-sleep-control = <0>; |
| }; |
| ldo3_reg: regulator@6 { |
| regulator-compatible = "ldo3"; |
| reg = <6>; |
| regulator-min-microvolt = <1000000>; |
| regulator-max-microvolt = <3300000>; |
| ti,regulator-ext-sleep-control = <0>; |
| }; |
| ldo4_reg: regulator@7 { |
| regulator-compatible = "ldo4"; |
| reg = <7>; |
| regulator-min-microvolt = <1000000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| ti,regulator-ext-sleep-control = <0>; |
| }; |
| ldo5_reg: regulator@8 { |
| regulator-compatible = "ldo5"; |
| reg = <8>; |
| regulator-min-microvolt = <1000000>; |
| regulator-max-microvolt = <3300000>; |
| ti,regulator-ext-sleep-control = <0>; |
| }; |
| ldo6_reg: regulator@9 { |
| regulator-compatible = "ldo6"; |
| reg = <9>; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1200000>; |
| ti,regulator-ext-sleep-control = <0>; |
| }; |
| ldo7_reg: regulator@10 { |
| regulator-compatible = "ldo7"; |
| reg = <10>; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1200000>; |
| regulator-always-on; |
| regulator-boot-on; |
| ti,regulator-ext-sleep-control = <1>; |
| }; |
| ldo8_reg: regulator@11 { |
| regulator-compatible = "ldo8"; |
| reg = <11>; |
| regulator-min-microvolt = <1000000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| ti,regulator-ext-sleep-control = <1>; |
| }; |
| }; |
| }; |