/*
 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

/*
 * Integrated Power Management Chip
 * http://www.ti.com/lit/ds/symlink/tps65217.pdf
 */

&tps {
	compatible = "ti,tps65217";
	interrupt-controller;
	#interrupt-cells = <1>;

	charger {
		compatible = "ti,tps65217-charger";
		interrupts = <0>, <1>;
		interrupt-names = "USB", "AC";
		status = "disabled";
	};

	pwrbutton {
		compatible = "ti,tps65217-pwrbutton";
		interrupts = <2>;
		status = "disabled";
	};

	regulators {
		#address-cells = <1>;
		#size-cells = <0>;

		dcdc1_reg: regulator@0 {
			reg = <0>;
			regulator-compatible = "dcdc1";
		};

		dcdc2_reg: regulator@1 {
			reg = <1>;
			regulator-compatible = "dcdc2";
		};

		dcdc3_reg: regulator@2 {
			reg = <2>;
			regulator-compatible = "dcdc3";
		};

		ldo1_reg: regulator@3 {
			reg = <3>;
			regulator-compatible = "ldo1";
		};

		ldo2_reg: regulator@4 {
			reg = <4>;
			regulator-compatible = "ldo2";
		};

		ldo3_reg: regulator@5 {
			reg = <5>;
			regulator-compatible = "ldo3";
		};

		ldo4_reg: regulator@6 {
			reg = <6>;
			regulator-compatible = "ldo4";
		};
	};
};
