/*
 * Device Tree Source for IGEP COM Module
 *
 * Copyright (C) 2012 Javier Martinez Canillas <javier@collabora.co.uk>
 * Copyright (C) 2012 Enric Balletbo i Serra <eballetbo@gmail.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.
 */

/include/ "omap3-igep.dtsi"

/ {
	model = "IGEP COM Module";
	compatible = "isee,omap3-igep0030", "ti,omap3";

	leds {
		compatible = "gpio-leds";
		boot {
			 label = "omap3:green:boot";
			 gpios = <&twl_gpio 13 1>;
			 default-state = "on";
		};

		user0 {
			 label = "omap3:red:user0";
			 gpios = <&twl_gpio 18 1>; /* LEDA */
			 default-state = "off";
		};

		user1 {
			 label = "omap3:green:user1";
			 gpios = <&twl_gpio 19 1>; /* LEDB */
			 default-state = "off";
		};

		user2 {
			 label = "omap3:red:user1";
			 gpios = <&gpio1 16 1>;
			 default-state = "off";
		};
	};
};
