/*
 * Copyright (C) 2016 Freescale Semiconductor, Inc.
 *
 * 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.
 */

/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "imx6sll.dtsi"

/ {
	model = "Freescale i.MX6SLL LPDDR3 ARM2 Board";
	compatible = "fsl,imx6sll-lpddr3-arm2", "fsl,imx6sll";

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

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

		users {
			label = "debug";
			gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "heartbeat";
		};
	};

	backlight {
		compatible = "pwm-backlight";
		pwms = <&pwm1 0 5000000>;
		brightness-levels = <0 4 8 16 32 64 128 255>;
		default-brightness-level = <6>;
		status = "okay";
	};

	pxp_v4l2_out {
		compatible = "fsl,imx6sl-pxp-v4l2";
		status = "okay";
	};

	regulators {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <0>;

		reg_usb_otg1_vbus: regulator@0 {
			compatible = "regulator-fixed";
			reg = <0>;
			regulator-name = "usb_otg1_vbus";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			gpio = <&gpio4 0 GPIO_ACTIVE_HIGH>;
			enable-active-high;
			vin-supply = <&swbst_reg>;
		};

		reg_usb_otg2_vbus: regulator@1 {
			compatible = "regulator-fixed";
			reg = <1>;
			regulator-name = "usb_otg2_vbus";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			gpio = <&gpio4 2 GPIO_ACTIVE_HIGH>;
			enable-active-high;
			vin-supply = <&swbst_reg>;
		};

		reg_aud3v: regulator@2 {
			compatible = "regulator-fixed";
			reg = <2>;
			regulator-name = "wm8962-supply-3v15";
			regulator-min-microvolt = <3150000>;
			regulator-max-microvolt = <3150000>;
			regulator-boot-on;
		};

		reg_aud4v: regulator@3 {
			compatible = "regulator-fixed";
			reg = <3>;
			regulator-name = "wm8962-supply-4v2";
			regulator-min-microvolt = <4325000>;
			regulator-max-microvolt = <4325000>;
			regulator-boot-on;
		};

		reg_lcd: regulator@4 {
			compatible = "regulator-fixed";
			reg = <4>;
			regulator-name = "lcd-pwr";
			gpio = <&gpio4 8 0>;
			enable-active-high;
		};

		reg_sd1_vmmc: sd1_vmmc {
			compatible = "regulator-fixed";
			regulator-name = "SD1_SPWR";
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3000000>;
			gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
			enable-active-high;
		};

		reg_sd2_vmmc: sd2_vmmc {
			compatible = "regulator-fixed";
			regulator-name = "eMMC_VCCQ";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-boot-on;
		};

		reg_sd3_vmmc: sd3_vmmc {
			compatible = "regulator-fixed";
			regulator-name = "SD3_WIFI";
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3000000>;
			gpio = <&gpio4 4 GPIO_ACTIVE_HIGH>;
			enable-active-high;
		};

	};

	sound {
		compatible = "fsl,imx6sl-evk-wm8962", "fsl,imx-audio-wm8962";
		model = "wm8962-audio";
		cpu-dai = <&ssi2>;
		audio-codec = <&codec>;
		audio-routing =
			"Headphone Jack", "HPOUTL",
			"Headphone Jack", "HPOUTR",
			"Ext Spk", "SPKOUTL",
			"Ext Spk", "SPKOUTR",
			"AMIC", "MICBIAS",
			"IN3R", "AMIC";
		mux-int-port = <2>;
		mux-ext-port = <3>;
		codec-master;
		hp-det-gpios = <&gpio4 24 1>;
	};
};

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

&clks {
	assigned-clocks = <&clks IMX6SLL_CLK_PLL4_AUDIO_DIV>;
	assigned-clock-rates = <393216000>;
};

&cpu0 {
	arm-supply = <&sw1a_reg>;
	soc-supply = <&sw1c_reg>;
};

&csi {
	status = "disabled";

	port {
		csi1_ep: endpoint {
			remote-endpoint = <&ov5640_ep>;
		};
	};
};

&i2c1 {
	clock-frequency = <100000>;
	pinctrl-names = "default", "gpio";
	pinctrl-0 = <&pinctrl_i2c1>;
	pinctrl-1 = <&pinctrl_i2c1_gpio>;
	scl-gpios = <&gpio3 12 GPIO_ACTIVE_HIGH>;
	sda-gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>;
	status = "okay";

	pmic: pfuze100@08 {
		compatible = "fsl,pfuze100";
		reg = <0x08>;

		regulators {
			sw1a_reg: sw1ab {
				regulator-min-microvolt = <300000>;
				regulator-max-microvolt = <1875000>;
				regulator-boot-on;
				regulator-always-on;
				regulator-ramp-delay = <6250>;
			};

			sw1c_reg: sw1c {
				regulator-min-microvolt = <300000>;
				regulator-max-microvolt = <1875000>;
				regulator-boot-on;
				regulator-always-on;
				regulator-ramp-delay = <6250>;
			};

			sw2_reg: sw2 {
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <3300000>;
				regulator-boot-on;
				regulator-always-on;
			};

			sw3a_reg: sw3a {
				regulator-min-microvolt = <400000>;
				regulator-max-microvolt = <1975000>;
				regulator-boot-on;
				regulator-always-on;
			};

			sw3b_reg: sw3b {
				regulator-min-microvolt = <400000>;
				regulator-max-microvolt = <1975000>;
				regulator-boot-on;
				regulator-always-on;
			};

			sw4_reg: sw4 {
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <3300000>;
			};

			swbst_reg: swbst {
				regulator-min-microvolt = <5000000>;
				regulator-max-microvolt = <5150000>;
			};

			snvs_reg: vsnvs {
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <3000000>;
				regulator-boot-on;
				regulator-always-on;
			};

			vref_reg: vrefddr {
				regulator-boot-on;
				regulator-always-on;
			};

			vgen1_reg: vgen1 {
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <1550000>;
				regulator-always-on;
			};

			vgen2_reg: vgen2 {
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <1550000>;
			};

			vgen3_reg: vgen3 {
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
			};

			vgen4_reg: vgen4 {
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vgen5_reg: vgen5 {
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vgen6_reg: vgen6 {
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};
		};
	};

	max17135: max17135@48 {
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_max17135>;
		compatible = "maxim,max17135";
		reg = <0x48>;
		status = "okay";

		vneg_pwrup = <1>;
		gvee_pwrup = <2>;
		vpos_pwrup = <10>;
		gvdd_pwrup = <12>;
		gvdd_pwrdn = <1>;
		vpos_pwrdn = <2>;
		gvee_pwrdn = <8>;
		vneg_pwrdn = <10>;
		gpio_pmic_pwrgood = <&gpio2 13 0>;
		gpio_pmic_vcom_ctrl = <&gpio2 3 0>;
		gpio_pmic_wakeup = <&gpio2 14 0>;
		gpio_pmic_v3p3 = <&gpio2 7 0>;
		gpio_pmic_intr = <&gpio2 12 0>;

		regulators {
			DISPLAY_reg: DISPLAY {
				regulator-name = "DISPLAY";
			};

			GVDD_reg: GVDD {
				/* 20v */
				regulator-name = "GVDD";
			};

			GVEE_reg: GVEE {
				/* -22v */
				regulator-name = "GVEE";
			};

			HVINN_reg: HVINN {
				/* -22v */
				regulator-name = "HVINN";
			};

			HVINP_reg: HVINP {
				/* 20v */
				regulator-name = "HVINP";
			};

			VCOM_reg: VCOM {
				regulator-name = "VCOM";
				/* 2's-compliment, -4325000 */
				regulator-min-microvolt = <0xffbe0178>;
				/* 2's-compliment, -500000 */
				regulator-max-microvolt = <0xfff85ee0>;
			};

			VNEG_reg: VNEG {
				/* -15v */
				regulator-name = "VNEG";
			};

			VPOS_reg: VPOS {
				/* 15v */
				regulator-name = "VPOS";
			};

			V3P3_reg: V3P3 {
				regulator-name = "V3P3";
			};
		};
	};
};

&i2c3 {
	clock-frequency = <100000>;
	pinctrl-names = "default", "gpio";
	pinctrl-0 = <&pinctrl_i2c3>;
	pinctrl-1 = <&pinctrl_i2c3_gpio>;
        scl-gpios = <&gpio1 29 GPIO_ACTIVE_HIGH>;
        sda-gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>;
	status = "okay";

	codec: wm8962@1a {
		compatible = "wlf,wm8962";
		reg = <0x1a>;
		clocks = <&clks IMX6SLL_CLK_EXTERN_AUDIO>;
		DCVDD-supply = <&vgen3_reg>;
		DBVDD-supply = <&reg_aud3v>;
		AVDD-supply = <&vgen3_reg>;
		CPVDD-supply = <&vgen3_reg>;
		MICVDD-supply = <&reg_aud3v>;
		PLLVDD-supply = <&vgen3_reg>;
		SPKVDD1-supply = <&reg_aud4v>;
		SPKVDD2-supply = <&reg_aud4v>;
		amic-mono;
	};

	ov5640: ov5640@3c {
		compatible = "ovti,ov5640";
		reg = <0x3c>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_csi1>;
		clocks = <&clks IMX6SLL_CLK_CSI>;
		clock-names = "csi_mclk";
		AVDD-supply = <&vgen6_reg>;  /* 2.8v */
		DVDD-supply = <&vgen2_reg>;  /* 1.5v*/
		pwn-gpios = <&gpio1 25 1>;
		rst-gpios = <&gpio1 26 0>;
		csi_id = <0>;
		mclk = <24000000>;
		mclk_source = <0>;
		status = "disabled";
		port {
			ov5640_ep: endpoint {
				remote-endpoint = <&csi1_ep>;
			};
		};
	};
};

&gpc {
	fsl,ldo-bypass = <1>;
};

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

	imx6sll-lpddr3-arm2 {
		pinctrl_hog: hoggrp {
			fsl,pins = <
				MX6SLL_PAD_KEY_ROW7__GPIO4_IO07 0x17059
				MX6SLL_PAD_GPIO4_IO22__GPIO4_IO22 0x17059
				MX6SLL_PAD_KEY_COL3__GPIO3_IO30	0x17059
				MX6SLL_PAD_KEY_COL4__GPIO4_IO00 0x17059
				MX6SLL_PAD_REF_CLK_32K__GPIO3_IO22 0x17059 /* SD3 CD */
				MX6SLL_PAD_KEY_COL6__GPIO4_IO04 0x17059 /*SD3 RESET */
				MX6SLL_PAD_KEY_COL5__GPIO4_IO02 0x17059
				MX6SLL_PAD_GPIO4_IO24__GPIO4_IO24 0x17059 /* HP DETECT */
			>;
		};

		pinctrl_hog_sd2_reset: hoggrp-1 {
			fsl,pins = <
				MX6SLL_PAD_SD2_RESET__GPIO4_IO27 0x417059
			>;
		};

		pinctrl_audmux3: audmux3grp {
			fsl,pins = <
				MX6SLL_PAD_AUD_TXC__AUD3_TXC		0x4130b0
				MX6SLL_PAD_AUD_TXFS__AUD3_TXFS		0x4130b0
				MX6SLL_PAD_AUD_TXD__AUD3_TXD		0x4110b0
				MX6SLL_PAD_AUD_RXD__AUD3_RXD		0x4130b0
				MX6SLL_PAD_AUD_MCLK__AUDIO_CLK_OUT	0x4130b0
			>;
		};

		pinctrl_csi1: csi1grp {
			fsl,pins = <
				MX6SLL_PAD_EPDC_GDRL__CSI_MCLK		0x1b088
				MX6SLL_PAD_EPDC_GDCLK__CSI_PIXCLK	0x1b088
				MX6SLL_PAD_EPDC_GDSP__CSI_VSYNC		0x1b088
				MX6SLL_PAD_EPDC_GDOE__CSI_HSYNC		0x1b088
				MX6SLL_PAD_EPDC_DATA02__CSI_DATA02	0x1b088
				MX6SLL_PAD_EPDC_DATA03__CSI_DATA03	0x1b088
				MX6SLL_PAD_EPDC_DATA04__CSI_DATA04	0x1b088
				MX6SLL_PAD_EPDC_DATA05__CSI_DATA05	0x1b088
				MX6SLL_PAD_EPDC_DATA06__CSI_DATA06	0x1b088
				MX6SLL_PAD_EPDC_DATA07__CSI_DATA07	0x1b088
				MX6SLL_PAD_EPDC_SDCLK__CSI_DATA08	0x1b088
				MX6SLL_PAD_EPDC_SDLE__CSI_DATA09	0x1b088
				MX6SLL_PAD_EPDC_SDSHR__GPIO1_IO26	0x80000000
				MX6SLL_PAD_EPDC_SDOE__GPIO1_IO25	0x80000000
			>;
		};

		pinctrl_led: ledgrp {
			fsl,pins = <
				MX6SLL_PAD_EPDC_VCOM1__GPIO2_IO04 0x17059
			>;
		};

                pinctrl_epdc0: epdcgrp0 {
                        fsl,pins = <
				MX6SLL_PAD_EPDC_DATA00__EPDC_DATA00	0x100b1
				MX6SLL_PAD_EPDC_DATA01__EPDC_DATA01	0x100b1
				MX6SLL_PAD_EPDC_DATA02__EPDC_DATA02	0x100b1
				MX6SLL_PAD_EPDC_DATA03__EPDC_DATA03	0x100b1
				MX6SLL_PAD_EPDC_DATA04__EPDC_DATA04	0x100b1
				MX6SLL_PAD_EPDC_DATA05__EPDC_DATA05	0x100b1
				MX6SLL_PAD_EPDC_DATA06__EPDC_DATA06	0x100b1
				MX6SLL_PAD_EPDC_DATA07__EPDC_DATA07	0x100b1
				MX6SLL_PAD_EPDC_DATA08__EPDC_DATA08	0x100b1
				MX6SLL_PAD_EPDC_DATA09__EPDC_DATA09	0x100b1
				MX6SLL_PAD_EPDC_DATA10__EPDC_DATA10	0x100b1
				MX6SLL_PAD_EPDC_DATA11__EPDC_DATA11	0x100b1
				MX6SLL_PAD_EPDC_DATA12__EPDC_DATA12	0x100b1
				MX6SLL_PAD_EPDC_DATA13__EPDC_DATA13	0x100b1
				MX6SLL_PAD_EPDC_DATA14__EPDC_DATA14	0x100b1
				MX6SLL_PAD_EPDC_DATA15__EPDC_DATA15	0x100b1
				MX6SLL_PAD_EPDC_SDCLK__EPDC_SDCLK_P	0x100b1
				MX6SLL_PAD_EPDC_SDLE__EPDC_SDLE		0x100b1
				MX6SLL_PAD_EPDC_SDOE__EPDC_SDOE		0x100b1
				MX6SLL_PAD_EPDC_SDSHR__EPDC_SDSHR	0x100b1
				MX6SLL_PAD_EPDC_SDCE0__EPDC_SDCE0	0x100b1
				MX6SLL_PAD_EPDC_GDCLK__EPDC_GDCLK	0x100b1
				MX6SLL_PAD_EPDC_GDOE__EPDC_GDOE		0x100b1
				MX6SLL_PAD_EPDC_GDRL__EPDC_GDRL		0x100b1
				MX6SLL_PAD_EPDC_GDSP__EPDC_GDSP		0x100b1
                       >;
                };

		pinctrl_lcdif_dat: lcdifdatgrp {
			fsl,pins = <
				MX6SLL_PAD_LCD_DATA00__LCD_DATA00	0x79
				MX6SLL_PAD_LCD_DATA01__LCD_DATA01	0x79
				MX6SLL_PAD_LCD_DATA02__LCD_DATA02	0x79
				MX6SLL_PAD_LCD_DATA03__LCD_DATA03	0x79
				MX6SLL_PAD_LCD_DATA04__LCD_DATA04	0x79
				MX6SLL_PAD_LCD_DATA05__LCD_DATA05	0x79
				MX6SLL_PAD_LCD_DATA06__LCD_DATA06	0x79
				MX6SLL_PAD_LCD_DATA07__LCD_DATA07	0x79
				MX6SLL_PAD_LCD_DATA08__LCD_DATA08	0x79
				MX6SLL_PAD_LCD_DATA09__LCD_DATA09	0x79
				MX6SLL_PAD_LCD_DATA10__LCD_DATA10	0x79
				MX6SLL_PAD_LCD_DATA11__LCD_DATA11	0x79
				MX6SLL_PAD_LCD_DATA12__LCD_DATA12	0x79
				MX6SLL_PAD_LCD_DATA13__LCD_DATA13	0x79
				MX6SLL_PAD_LCD_DATA14__LCD_DATA14	0x79
				MX6SLL_PAD_LCD_DATA15__LCD_DATA15	0x79
				MX6SLL_PAD_LCD_DATA16__LCD_DATA16	0x79
				MX6SLL_PAD_LCD_DATA17__LCD_DATA17	0x79
				MX6SLL_PAD_LCD_DATA18__LCD_DATA18	0x79
				MX6SLL_PAD_LCD_DATA19__LCD_DATA19	0x79
				MX6SLL_PAD_LCD_DATA20__LCD_DATA20	0x79
				MX6SLL_PAD_LCD_DATA21__LCD_DATA21	0x79
				MX6SLL_PAD_LCD_DATA22__LCD_DATA22	0x79
				MX6SLL_PAD_LCD_DATA23__LCD_DATA23	0x79
			>;
		};

		pinctrl_lcdif_ctrl: lcdifctrlgrp {
			fsl,pins = <
				MX6SLL_PAD_LCD_CLK__LCD_CLK		0x79
				MX6SLL_PAD_LCD_ENABLE__LCD_ENABLE	0x79
				MX6SLL_PAD_LCD_HSYNC__LCD_HSYNC		0x79
				MX6SLL_PAD_LCD_VSYNC__LCD_VSYNC		0x79
				MX6SLL_PAD_LCD_RESET__LCD_RESET		0x79
				MX6SLL_PAD_ECSPI1_SCLK__GPIO4_IO08	0x79
			>;
		};

		pinctrl_max17135: max17135grp-1 {
			fsl,pins = <
				MX6SLL_PAD_EPDC_PWR_STAT__GPIO2_IO13	0x80000000  /* pwrgood */
				MX6SLL_PAD_EPDC_VCOM0__GPIO2_IO03	0x80000000  /* vcom_ctrl */
				MX6SLL_PAD_EPDC_PWR_WAKE__GPIO2_IO14	0x80000000  /* wakeup */
				MX6SLL_PAD_EPDC_PWR_CTRL0__GPIO2_IO07	0x80000000  /* v3p3 */
				MX6SLL_PAD_EPDC_PWR_IRQ__GPIO2_IO12	0x80000000  /* pwr int */
			>;
		};

		pinctrl_spdif: spdifgrp {
			fsl,pins = <
				MX6SLL_PAD_SD2_RESET__SPDIF_OUT 0x4130b0
			>;
		};

		pinctrl_uart1: uart1grp {
			fsl,pins = <
				MX6SLL_PAD_UART1_TXD__UART1_DCE_TX 0x1b0b1
				MX6SLL_PAD_UART1_RXD__UART1_DCE_RX 0x1b0b1
			>;
		};

		pinctrl_usdhc1: usdhc1grp {
			fsl,pins = <
				MX6SLL_PAD_SD1_CMD__SD1_CMD	0x17059
				MX6SLL_PAD_SD1_CLK__SD1_CLK	0x17059
				MX6SLL_PAD_SD1_DATA0__SD1_DATA0	0x17059
				MX6SLL_PAD_SD1_DATA1__SD1_DATA1	0x17059
				MX6SLL_PAD_SD1_DATA2__SD1_DATA2	0x17059
				MX6SLL_PAD_SD1_DATA3__SD1_DATA3	0x17059
			>;
		};

		pinctrl_usdhc1_100mhz: usdhc1grp_100mhz {
			fsl,pins = <
				MX6SLL_PAD_SD1_CMD__SD1_CMD	0x170b9
				MX6SLL_PAD_SD1_CLK__SD1_CLK	0x170b9
				MX6SLL_PAD_SD1_DATA0__SD1_DATA0	0x170b9
				MX6SLL_PAD_SD1_DATA1__SD1_DATA1	0x170b9
				MX6SLL_PAD_SD1_DATA2__SD1_DATA2	0x170b9
				MX6SLL_PAD_SD1_DATA3__SD1_DATA3	0x170b9
			>;
		};

		pinctrl_usdhc1_200mhz: usdhc1grp_200mhz {
			fsl,pins = <
				MX6SLL_PAD_SD1_CMD__SD1_CMD	0x170f9
				MX6SLL_PAD_SD1_CLK__SD1_CLK	0x170f9
				MX6SLL_PAD_SD1_DATA0__SD1_DATA0	0x170f9
				MX6SLL_PAD_SD1_DATA1__SD1_DATA1	0x170f9
				MX6SLL_PAD_SD1_DATA2__SD1_DATA2	0x170f9
				MX6SLL_PAD_SD1_DATA3__SD1_DATA3	0x170f9
			>;
		};

		pinctrl_usdhc2: usdhc2grp {
			fsl,pins = <
				MX6SLL_PAD_SD2_CMD__SD2_CMD		0x17059
				MX6SLL_PAD_SD2_CLK__SD2_CLK		0x13059
				MX6SLL_PAD_SD2_DATA0__SD2_DATA0 	0x17059
				MX6SLL_PAD_SD2_DATA1__SD2_DATA1		0x17059
				MX6SLL_PAD_SD2_DATA2__SD2_DATA2		0x17059
				MX6SLL_PAD_SD2_DATA3__SD2_DATA3		0x17059
				MX6SLL_PAD_SD2_DATA4__SD2_DATA4		0x17059
				MX6SLL_PAD_SD2_DATA5__SD2_DATA5		0x17059
				MX6SLL_PAD_SD2_DATA6__SD2_DATA6		0x17059
				MX6SLL_PAD_SD2_DATA7__SD2_DATA7		0x17059
				MX6SLL_PAD_GPIO4_IO21__SD2_STROBE	0x413059
			>;
		};

		pinctrl_usdhc2_100mhz: usdhc2grp_100mhz {
			fsl,pins = <
				MX6SLL_PAD_SD2_CMD__SD2_CMD		0x170b9
				MX6SLL_PAD_SD2_CLK__SD2_CLK		0x130b9
				MX6SLL_PAD_SD2_DATA0__SD2_DATA0 	0x170b9
				MX6SLL_PAD_SD2_DATA1__SD2_DATA1		0x170b9
				MX6SLL_PAD_SD2_DATA2__SD2_DATA2		0x170b9
				MX6SLL_PAD_SD2_DATA3__SD2_DATA3		0x170b9
				MX6SLL_PAD_SD2_DATA4__SD2_DATA4		0x170b9
				MX6SLL_PAD_SD2_DATA5__SD2_DATA5		0x170b9
				MX6SLL_PAD_SD2_DATA6__SD2_DATA6		0x170b9
				MX6SLL_PAD_SD2_DATA7__SD2_DATA7		0x170b9
				MX6SLL_PAD_GPIO4_IO21__SD2_STROBE	0x4130b9
			>;
		};

		pinctrl_usdhc2_200mhz: usdhc2grp_200mhz {
			fsl,pins = <
				MX6SLL_PAD_SD2_CMD__SD2_CMD		0x170f9
				MX6SLL_PAD_SD2_CLK__SD2_CLK		0x130f9
				MX6SLL_PAD_SD2_DATA0__SD2_DATA0 	0x170f9
				MX6SLL_PAD_SD2_DATA1__SD2_DATA1		0x170f9
				MX6SLL_PAD_SD2_DATA2__SD2_DATA2		0x170f9
				MX6SLL_PAD_SD2_DATA3__SD2_DATA3		0x170f9
				MX6SLL_PAD_SD2_DATA4__SD2_DATA4		0x170f9
				MX6SLL_PAD_SD2_DATA5__SD2_DATA5		0x170f9
				MX6SLL_PAD_SD2_DATA6__SD2_DATA6		0x170f9
				MX6SLL_PAD_SD2_DATA7__SD2_DATA7		0x170f9
				MX6SLL_PAD_GPIO4_IO21__SD2_STROBE	0x4130f9
			>;
		};
		pinctrl_usdhc3: usdhc3grp {
			fsl,pins = <
				MX6SLL_PAD_SD3_CMD__SD3_CMD	0x17059
				MX6SLL_PAD_SD3_CLK__SD3_CLK	0x17059
				MX6SLL_PAD_SD3_DATA0__SD3_DATA0	0x17059
				MX6SLL_PAD_SD3_DATA1__SD3_DATA1	0x17059
				MX6SLL_PAD_SD3_DATA2__SD3_DATA2	0x17059
				MX6SLL_PAD_SD3_DATA3__SD3_DATA3	0x17059
			>;
		};

		pinctrl_usdhc3_100mhz: usdhc3grp_100mhz {
			fsl,pins = <
				MX6SLL_PAD_SD3_CMD__SD3_CMD	0x170b9
				MX6SLL_PAD_SD3_CLK__SD3_CLK	0x170b9
				MX6SLL_PAD_SD3_DATA0__SD3_DATA0	0x170b9
				MX6SLL_PAD_SD3_DATA1__SD3_DATA1	0x170b9
				MX6SLL_PAD_SD3_DATA2__SD3_DATA2	0x170b9
				MX6SLL_PAD_SD3_DATA3__SD3_DATA3	0x170b9
			>;
		};

		pinctrl_usdhc3_200mhz: usdhc3grp_200mhz {
			fsl,pins = <
				MX6SLL_PAD_SD3_CMD__SD3_CMD	0x170f9
				MX6SLL_PAD_SD3_CLK__SD3_CLK	0x170f9
				MX6SLL_PAD_SD3_DATA0__SD3_DATA0	0x170f9
				MX6SLL_PAD_SD3_DATA1__SD3_DATA1	0x170f9
				MX6SLL_PAD_SD3_DATA2__SD3_DATA2	0x170f9
				MX6SLL_PAD_SD3_DATA3__SD3_DATA3	0x170f9
			>;
		};

		pinctrl_usbotg1: usbotg1grp {
			fsl,pins = <
				MX6SLL_PAD_EPDC_PWR_COM__USB_OTG1_ID 0x17059
			>;
		};

		pinctrl_i2c1: i2c1grp {
			fsl,pins = <
				MX6SLL_PAD_I2C1_SCL__I2C1_SCL	 0x4001b8b1
				MX6SLL_PAD_I2C1_SDA__I2C1_SDA	 0x4001b8b1
			>;
		};

		pinctrl_i2c1_gpio: i2c1grp_gpio {
			fsl,pins = <
				MX6SLL_PAD_I2C1_SCL__GPIO3_IO12    0x1b8b1
				MX6SLL_PAD_I2C1_SDA__GPIO3_IO13    0x1b8b1
			>;
		};

		pinctrl_i2c3: i2c3grp {
			fsl,pins = <
				MX6SLL_PAD_EPDC_SDCE2__I2C3_SCL  0x4041b8b1
				MX6SLL_PAD_EPDC_SDCE3__I2C3_SDA  0x4041b8b1
			>;
		};

		pinctrl_i2c3_gpio: i2c3grp_gpio {
			fsl,pins = <
				MX6SLL_PAD_EPDC_SDCE2__GPIO1_IO29  0x41b8b1
				MX6SLL_PAD_EPDC_SDCE3__GPIO1_IO30  0x41b8b1
			>;
		};

		pinctrl_pwm1: pmw1grp {
			fsl,pins = <
				MX6SLL_PAD_PWM1__PWM1_OUT   0x110b0
			>;
		};

		pinctrl_ecspi1: ecspi1grp {
			fsl,pins = <
				MX6SLL_PAD_ECSPI1_MISO__ECSPI1_MISO	 0x100b1
				MX6SLL_PAD_ECSPI1_MOSI__ECSPI1_MOSI	 0x100b1
				MX6SLL_PAD_ECSPI1_SCLK__ECSPI1_SCLK	 0x100b1
				MX6SLL_PAD_ECSPI1_SS0__GPIO4_IO11	 0x100b1
			>;
		};
	};
};

&lcdif {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_lcdif_dat
		     &pinctrl_lcdif_ctrl>;
	lcd-supply = <&reg_lcd>;
	display = <&display>;
	status = "okay";

	display: display {
		bits-per-pixel = <16>;
		bus-width = <24>;

		display-timings {
			native-mode = <&timing0>;
			timing0: timing0 {
				clock-frequency = <33500000>;
				hactive = <800>;
				vactive = <480>;
				hback-porch = <89>;
				hfront-porch = <164>;
				vback-porch = <23>;
				vfront-porch = <10>;
				hsync-len = <10>;
				vsync-len = <10>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <1>;
				pixelclk-active = <0>;
			};
		};
	};
};

&pxp {
	status = "okay";
};

&pwm1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_pwm1>;
	status = "okay";
};

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

&usdhc1 {
	pinctrl-names = "default", "state_100mhz", "state_200mhz";
	pinctrl-0 = <&pinctrl_usdhc1>;
	pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
	pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
	cd-gpios = <&gpio4 7 GPIO_ACTIVE_LOW>;
	wp-gpios = <&gpio4 22 GPIO_ACTIVE_HIGH>;
	keep-power-in-suspend;
	enable-sdio-wakeup;
	vmmc-supply = <&reg_sd1_vmmc>;
	status = "okay";
};

&usdhc2 {
	pinctrl-names = "default", "state_100mhz", "state_200mhz";
	pinctrl-0 = <&pinctrl_usdhc2>;
	pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
	pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
	vqmmc-supply = <&reg_sd2_vmmc>;
	bus-width = <8>;
	no-removable;
	status = "okay";
};

&usdhc3 {
	pinctrl-names = "default", "state_100mhz", "state_200mhz";
	pinctrl-0 = <&pinctrl_usdhc3>;
	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
	cd-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
	keep-power-in-suspend;
	enable-sdio-wakeup;
	vmmc-supply = <&reg_sd3_vmmc>;
	status = "okay";
};

&usbotg1 {
	vbus-supply = <&reg_usb_otg1_vbus>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usbotg1>;
	disable-over-current;
	srp-disable;
	hnp-disable;
	adp-disable;
	status = "okay";
};

&usbotg2 {
	vbus-supply = <&reg_usb_otg2_vbus>;
	dr_mode = "host";
	disable-over-current;
	status = "okay";
};

&ecspi1 {
	fsl,spi-num-chipselects = <1>;
	cs-gpios = <&gpio4 11 0>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_ecspi1>;
	status = "disabled";

	#address-cells = <1>;
	#size-cells = <0>;

	flash: m25p80@0 {
		compatible = "st,m25p32";
		spi-max-frequency = <20000000>;
		reg = <0>;
	};
};

&epdc {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_epdc0>;
	V3P3-supply = <&V3P3_reg>;
	VCOM-supply = <&VCOM_reg>;
	DISPLAY-supply = <&DISPLAY_reg>;
	status = "okay";
};

&ssi2 {
	status = "okay";
};
