/*
 * Copyright 2012 ST-Ericsson AB
 *
 * The code contained herein is licensed under the GNU General Public
 * License. You may obtain a copy of the GNU General Public License
 * Version 2 or later at the following locations:
 *
 * http://www.opensource.org/licenses/gpl-license.html
 * http://www.gnu.org/copyleft/gpl.html
 *
 * Device Tree for the TVK1281618 UIB
 */

#include <dt-bindings/interrupt-controller/irq.h>

/ {
	soc {
		/* Add Synaptics touch screen, TC35892 keypad etc here */
		i2c@80004000 {
			tc3589x@44 {
				compatible = "tc3589x";
				reg = <0x44>;
				interrupt-parent = <&gpio6>;
				interrupts = <26 IRQ_TYPE_EDGE_RISING>;

				interrupt-controller;
				#interrupt-cells = <2>;

				tc3589x_gpio {
					compatible = "tc3589x-gpio";
					interrupts = <0 IRQ_TYPE_EDGE_RISING>;

					interrupt-controller;
					#interrupt-cells = <2>;
					gpio-controller;
					#gpio-cells = <2>;
				};
			};
		};
	};
};
