/*
 * Copyright 2011 Freescale Semiconductor, Inc.
 * Copyright 2011 Linaro Ltd.
 *
 * 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/ "imx6q.dtsi"

/ {
	model = "Freescale i.MX6 Quad Armadillo2 Board";
	compatible = "fsl,imx6q-arm2", "fsl,imx6q";

	memory {
		reg = <0x10000000 0x80000000>;
	};

	soc {
		gpmi-nand@00112000 {
			pinctrl-names = "default";
			pinctrl-0 = <&pinctrl_gpmi_nand_1>;
			status = "disabled"; /* gpmi nand conflicts with SD */
		};

		aips-bus@02000000 { /* AIPS1 */
			iomuxc@020e0000 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_hog>;

				hog {
					pinctrl_hog: hoggrp {
						fsl,pins = <
							176  0x80000000	/* MX6Q_PAD_EIM_D25__GPIO_3_25 */
							1363 0x80000000	/* MX6Q_PAD_NANDF_CS0__GPIO_6_11 */
							1369 0x80000000 /* MX6Q_PAD_NANDF_CS1__GPIO_6_14 */
						>;
					};
				};
			};
		};

		aips-bus@02100000 { /* AIPS2 */
			ethernet@02188000 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_enet_2>;
				phy-mode = "rgmii";
				status = "okay";
			};

			usdhc@02198000 { /* uSDHC3 */
				cd-gpios = <&gpio6 11 0>;
				wp-gpios = <&gpio6 14 0>;
				vmmc-supply = <&reg_3p3v>;
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_usdhc3_1>;
				status = "okay";
			};

			usdhc@0219c000 { /* uSDHC4 */
				non-removable;
				vmmc-supply = <&reg_3p3v>;
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_usdhc4_1>;
				status = "okay";
			};

			uart4: serial@021f0000 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_uart4_1>;
				status = "okay";
			};
		};
	};

	regulators {
		compatible = "simple-bus";

		reg_3p3v: 3p3v {
			compatible = "regulator-fixed";
			regulator-name = "3P3V";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			regulator-always-on;
		};
	};

	leds {
		compatible = "gpio-leds";

		debug-led {
			label = "Heartbeat";
			gpios = <&gpio3 25 0>;
			linux,default-trigger = "heartbeat";
		};
	};
};
