/*
 * 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 Quick Start Board";
	compatible = "fsl,imx53-qsb", "fsl,imx53";

	chosen {
		linux,stdout-path = "/soc/aips@50000000/serial@53fbc000";
	};

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

	display@di0 {
		compatible = "fsl,imx-parallel-display";
		crtcs = <&ipu 0>;
		interface-pix-fmt = "rgb565";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_ipu_disp0_1>;
		status = "disabled";
		display-timings {
			claawvga {
				native-mode;
				clock-frequency = <27000000>;
				hactive = <800>;
				vactive = <480>;
				hback-porch = <40>;
				hfront-porch = <60>;
				vback-porch = <10>;
				vfront-porch = <10>;
				hsync-len = <20>;
				vsync-len = <10>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <1>;
				pixelclk-active = <0>;
			};
		};
	};

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

		power {
			label = "Power Button";
			gpios = <&gpio1 8 0>;
			linux,code = <116>; /* KEY_POWER */
			gpio-key,wakeup;
		};

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

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

	leds {
		compatible = "gpio-leds";
		pinctrl-names = "default";
		pinctrl-0 = <&led_pin_gpio7_7>;

		user {
			label = "Heartbeat";
			gpios = <&gpio7 7 0>;
			linux,default-trigger = "heartbeat";
		};
	};

	regulators {
		compatible = "simple-bus";

		reg_3p2v: 3p2v {
			compatible = "regulator-fixed";
			regulator-name = "3P2V";
			regulator-min-microvolt = <3200000>;
			regulator-max-microvolt = <3200000>;
			regulator-always-on;
		};
	};

	sound {
		compatible = "fsl,imx53-qsb-sgtl5000",
			     "fsl,imx-audio-sgtl5000";
		model = "imx53-qsb-sgtl5000";
		ssi-controller = <&ssi2>;
		audio-codec = <&sgtl5000>;
		audio-routing =
			"MIC_IN", "Mic Jack",
			"Mic Jack", "Mic Bias",
			"Headphone Jack", "HP_OUT";
		mux-int-port = <2>;
		mux-ext-port = <5>;
	};
};

&esdhc1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_esdhc1_1>;
	cd-gpios = <&gpio3 13 0>;
	status = "okay";
};

&ssi2 {
	fsl,mode = "i2s-slave";
	status = "okay";
};

&esdhc3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_esdhc3_1>;
	cd-gpios = <&gpio3 11 0>;
	wp-gpios = <&gpio3 12 0>;
	status = "okay";
};

&iim {
	barebox,provide-mac-address = <&fec 1 9>;
};

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

	hog {
		pinctrl_hog: hoggrp {
			fsl,pins = <
				MX53_PAD_GPIO_0__CCM_SSI_EXT1_CLK 0x80000000
				MX53_PAD_GPIO_8__GPIO1_8          0x80000000
				MX53_PAD_PATA_DATA14__GPIO2_14    0x80000000
				MX53_PAD_PATA_DATA15__GPIO2_15    0x80000000
				MX53_PAD_EIM_DA11__GPIO3_11       0x80000000
				MX53_PAD_EIM_DA12__GPIO3_12       0x80000000
				MX53_PAD_EIM_DA13__GPIO3_13       0x80000000
				MX53_PAD_PATA_DA_0__GPIO7_6       0x80000000
				MX53_PAD_GPIO_16__GPIO7_11        0x80000000
			>;
		};

		led_pin_gpio7_7: led_gpio7_7@0 {
			fsl,pins = <
				MX53_PAD_PATA_DA_1__GPIO7_7 0x80000000
			>;
		};
	};

};

&uart1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart1_1>;
	status = "okay";
};

&i2c2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c2_1>;
	status = "okay";

	sgtl5000: codec@0a {
		compatible = "fsl,sgtl5000";
		reg = <0x0a>;
		VDDA-supply = <&reg_3p2v>;
		VDDIO-supply = <&reg_3p2v>;
		clocks = <&clks 150>;
	};
};

&i2c1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c1_1>;
	status = "okay";

	accelerometer: mma8450@1c {
		compatible = "fsl,mma8450";
		reg = <0x1c>;
	};

	pmic: dialog@48 {
		compatible = "dlg,da9053-aa", "dlg,da9052";
		reg = <0x48>;
		interrupt-parent = <&gpio7>;
		interrupts = <11 0x8>; /* low-level active IRQ at GPIO7_11 */

		regulators {
			buck1_reg: buck1 {
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <2075000>;
				regulator-always-on;
			};

			buck2_reg: buck2 {
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <2075000>;
				regulator-always-on;
			};

			buck3_reg: buck3 {
				regulator-min-microvolt = <925000>;
				regulator-max-microvolt = <2500000>;
				regulator-always-on;
			};

			buck4_reg: buck4 {
				regulator-min-microvolt = <925000>;
				regulator-max-microvolt = <2500000>;
				regulator-always-on;
			};

			ldo1_reg: ldo1 {
				regulator-min-microvolt = <600000>;
				regulator-max-microvolt = <1800000>;
				regulator-boot-on;
				regulator-always-on;
			};

			ldo2_reg: ldo2 {
				regulator-min-microvolt = <600000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
			};

			ldo3_reg: ldo3 {
				regulator-min-microvolt = <600000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
			};

			ldo4_reg: ldo4 {
				regulator-min-microvolt = <1725000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			ldo5_reg: ldo5 {
				regulator-min-microvolt = <1725000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			ldo6_reg: ldo6 {
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3600000>;
				regulator-always-on;
			};

			ldo7_reg: ldo7 {
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3600000>;
				regulator-always-on;
			};

			ldo8_reg: ldo8 {
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3600000>;
				regulator-always-on;
			};

			ldo9_reg: ldo9 {
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3600000>;
				regulator-always-on;
			};

			ldo10_reg: ldo10 {
				regulator-min-microvolt = <1250000>;
				regulator-max-microvolt = <3650000>;
				regulator-always-on;
			};
		};
	};
};

&audmux {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_audmux_1>;
	status = "okay";
};

&fec {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_fec_1>;
	phy-mode = "rmii";
	phy-reset-gpios = <&gpio7 6 0>;
	status = "okay";
};

&usbh1 {
       status = "okay";
};

&usbotg {
       status = "okay";
};
