/*
 * 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/ "imx53.dtsi"

/ {
	model = "Freescale i.MX53 Automotive Reference Design Board";
	compatible = "fsl,imx53-ard", "fsl,imx53";

	memory {
		reg = <0x70000000 0x40000000>;
	};

	soc {
		aips@50000000 { /* AIPS1 */
			spba@50000000 {
				esdhc@50004000 { /* ESDHC1 */
					pinctrl-names = "default";
					pinctrl-0 = <&pinctrl_esdhc1_2>;
					cd-gpios = <&gpio1 1 0>;
					wp-gpios = <&gpio1 9 0>;
					status = "okay";
				};
			};

			iomuxc@53fa8000 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_hog>;

				hog {
					pinctrl_hog: hoggrp {
						fsl,pins = <
							1077 0x80000000	/* MX53_PAD_GPIO_1__GPIO1_1 */
							1085 0x80000000	/* MX53_PAD_GPIO_9__GPIO1_9 */
							486  0x80000000	/* MX53_PAD_EIM_EB3__GPIO2_31 */
							739  0x80000000	/* MX53_PAD_GPIO_10__GPIO4_0 */
							218  0x80000000	/* MX53_PAD_DISP0_DAT16__GPIO5_10 */
							226  0x80000000	/* MX53_PAD_DISP0_DAT17__GPIO5_11 */
							233  0x80000000	/* MX53_PAD_DISP0_DAT18__GPIO5_12 */
							241  0x80000000	/* MX53_PAD_DISP0_DAT19__GPIO5_13 */
							429  0x80000000	/* MX53_PAD_EIM_D16__EMI_WEIM_D_16 */
							435  0x80000000	/* MX53_PAD_EIM_D17__EMI_WEIM_D_17 */
							441  0x80000000	/* MX53_PAD_EIM_D18__EMI_WEIM_D_18 */
							448  0x80000000	/* MX53_PAD_EIM_D19__EMI_WEIM_D_19 */
							456  0x80000000	/* MX53_PAD_EIM_D20__EMI_WEIM_D_20 */
							464  0x80000000	/* MX53_PAD_EIM_D21__EMI_WEIM_D_21 */
							471  0x80000000	/* MX53_PAD_EIM_D22__EMI_WEIM_D_22 */
							477  0x80000000	/* MX53_PAD_EIM_D23__EMI_WEIM_D_23 */
							492  0x80000000	/* MX53_PAD_EIM_D24__EMI_WEIM_D_24 */
							500  0x80000000	/* MX53_PAD_EIM_D25__EMI_WEIM_D_25 */
							508  0x80000000	/* MX53_PAD_EIM_D26__EMI_WEIM_D_26 */
							516  0x80000000	/* MX53_PAD_EIM_D27__EMI_WEIM_D_27 */
							524  0x80000000	/* MX53_PAD_EIM_D28__EMI_WEIM_D_28 */
							532  0x80000000	/* MX53_PAD_EIM_D29__EMI_WEIM_D_29 */
							540  0x80000000	/* MX53_PAD_EIM_D30__EMI_WEIM_D_30 */
							548  0x80000000	/* MX53_PAD_EIM_D31__EMI_WEIM_D_31 */
							637  0x80000000	/* MX53_PAD_EIM_DA0__EMI_NAND_WEIM_DA_0 */
							642  0x80000000	/* MX53_PAD_EIM_DA1__EMI_NAND_WEIM_DA_1 */
							647  0x80000000	/* MX53_PAD_EIM_DA2__EMI_NAND_WEIM_DA_2 */
							652  0x80000000	/* MX53_PAD_EIM_DA3__EMI_NAND_WEIM_DA_3 */
							657  0x80000000	/* MX53_PAD_EIM_DA4__EMI_NAND_WEIM_DA_4 */
							662  0x80000000	/* MX53_PAD_EIM_DA5__EMI_NAND_WEIM_DA_5 */
							667  0x80000000	/* MX53_PAD_EIM_DA6__EMI_NAND_WEIM_DA_6 */
							611  0x80000000	/* MX53_PAD_EIM_OE__EMI_WEIM_OE */
							616  0x80000000	/* MX53_PAD_EIM_RW__EMI_WEIM_RW */
							607  0x80000000	/* MX53_PAD_EIM_CS1__EMI_WEIM_CS_1 */
						>;
					};
				};
			};

			uart1: serial@53fbc000 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_uart1_2>;
				status = "okay";
			};
		};
	};

	eim-cs1@f4000000 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "fsl,eim-bus", "simple-bus";
		reg = <0xf4000000 0x3ff0000>;
		ranges;

		lan9220@f4000000 {
			compatible = "smsc,lan9220", "smsc,lan9115";
			reg = <0xf4000000 0x2000000>;
			phy-mode = "mii";
			interrupt-parent = <&gpio2>;
			interrupts = <31 0x8>;
			reg-io-width = <4>;
			/*
			 * VDD33A and VDDVARIO of LAN9220 are supplied by
			 * SW4_3V3 of LTC3589.  Before the regulator driver
			 * for this PMIC is available, we use a fixed dummy
			 * 3V3 regulator to get LAN9220 driver probing work.
			 */
			vdd33a-supply = <&reg_3p3v>;
			vddvario-supply = <&reg_3p3v>;
			smsc,irq-push-pull;
		};
	};

	regulators {
		compatible = "simple-bus";

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

	gpio-keys {
		compatible = "gpio-keys";

		home {
			label = "Home";
			gpios = <&gpio5 10 0>;
			linux,code = <102>; /* KEY_HOME */
			gpio-key,wakeup;
		};

		back {
			label = "Back";
			gpios = <&gpio5 11 0>;
			linux,code = <158>; /* KEY_BACK */
			gpio-key,wakeup;
		};

		program {
			label = "Program";
			gpios = <&gpio5 12 0>;
			linux,code = <362>; /* KEY_PROGRAM */
			gpio-key,wakeup;
		};

		volume-up {
			label = "Volume Up";
			gpios = <&gpio5 13 0>;
			linux,code = <115>; /* KEY_VOLUMEUP */
		};

		volume-down {
			label = "Volume Down";
			gpios = <&gpio4 0 0>;
			linux,code = <114>; /* KEY_VOLUMEDOWN */
		};
	};
};