/*
 * 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
 */

/dts-v1/;
#include "ste-hrefprev60.dtsi"
#include "ste-href-stuib.dtsi"

/ {
	model = "ST-Ericsson HREF (pre-v60) and ST UIB";
	compatible = "st-ericsson,mop500", "st-ericsson,u8500";

	soc {
		/* Reset line for the BU21013 touchscreen */
		i2c@80110000 {
			/* Only one of these will be used */
			bu21013_tp@5c {
				touch-gpio = <&gpio2 12 0x4>;
				reset-gpio = <&tc3589x_gpio 13 0x4>;
			};
			bu21013_tp@5d {
				touch-gpio = <&gpio2 12 0x4>;
				reset-gpio = <&tc3589x_gpio 13 0x4>;
			};
		};
	};
};
