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, vdd2, vddctrl, ldo1, ldo2, ldo3, ldo4, ldo5,
            ldo6, ldo7, ldo8

- xxx-supply: Input voltage supply regulator.
  These entries are required if regulators are enabled for a device. Missing these
  properties can cause the regulator registration to fail.
  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 = <&reg_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>;
			};
		};
	};
