/*
 * Copyright 2013 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.
 *
 */

#include "imx6qdl.dtsi"
#include "imx6dl-pinfunc.h"

/ {
	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		cpu@0 {
			compatible = "arm,cortex-a9";
			reg = <0>;
			next-level-cache = <&L2>;
		};

		cpu@1 {
			compatible = "arm,cortex-a9";
			reg = <1>;
			next-level-cache = <&L2>;
		};
	};

	soc {
		aips1: aips-bus@02000000 {
			iomuxc: iomuxc@020e0000 {
				compatible = "fsl,imx6dl-iomuxc";
				reg = <0x020e0000 0x4000>;

				enet {
					pinctrl_enet_1: enetgrp-1 {
						fsl,pins = <
							MX6DL_PAD_ENET_MDIO__ENET_MDIO       0x1b0b0
							MX6DL_PAD_ENET_MDC__ENET_MDC         0x1b0b0
							MX6DL_PAD_RGMII_TXC__RGMII_TXC       0x1b0b0
							MX6DL_PAD_RGMII_TD0__RGMII_TD0       0x1b0b0
							MX6DL_PAD_RGMII_TD1__RGMII_TD1       0x1b0b0
							MX6DL_PAD_RGMII_TD2__RGMII_TD2       0x1b0b0
							MX6DL_PAD_RGMII_TD3__RGMII_TD3       0x1b0b0
							MX6DL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
							MX6DL_PAD_ENET_REF_CLK__ENET_TX_CLK  0x1b0b0
							MX6DL_PAD_RGMII_RXC__RGMII_RXC       0x1b0b0
							MX6DL_PAD_RGMII_RD0__RGMII_RD0       0x1b0b0
							MX6DL_PAD_RGMII_RD1__RGMII_RD1       0x1b0b0
							MX6DL_PAD_RGMII_RD2__RGMII_RD2       0x1b0b0
							MX6DL_PAD_RGMII_RD3__RGMII_RD3       0x1b0b0
							MX6DL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
							MX6DL_PAD_GPIO_16__ENET_REF_CLK      0x4001b0a8
						>;
					};

					pinctrl_enet_2: enetgrp-2 {
						fsl,pins = <
							MX6DL_PAD_KEY_COL1__ENET_MDIO        0x1b0b0
							MX6DL_PAD_KEY_COL2__ENET_MDC         0x1b0b0
							MX6DL_PAD_RGMII_TXC__RGMII_TXC       0x1b0b0
							MX6DL_PAD_RGMII_TD0__RGMII_TD0       0x1b0b0
							MX6DL_PAD_RGMII_TD1__RGMII_TD1       0x1b0b0
							MX6DL_PAD_RGMII_TD2__RGMII_TD2       0x1b0b0
							MX6DL_PAD_RGMII_TD3__RGMII_TD3       0x1b0b0
							MX6DL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
							MX6DL_PAD_ENET_REF_CLK__ENET_TX_CLK  0x1b0b0
							MX6DL_PAD_RGMII_RXC__RGMII_RXC       0x1b0b0
							MX6DL_PAD_RGMII_RD0__RGMII_RD0       0x1b0b0
							MX6DL_PAD_RGMII_RD1__RGMII_RD1       0x1b0b0
							MX6DL_PAD_RGMII_RD2__RGMII_RD2       0x1b0b0
							MX6DL_PAD_RGMII_RD3__RGMII_RD3       0x1b0b0
							MX6DL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
						>;
					};
				};

				uart1 {
					pinctrl_uart1_1: uart1grp-1 {
						fsl,pins = <
							MX6DL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1
							MX6DL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1
						>;
					};
				};

				uart4 {
					pinctrl_uart4_1: uart4grp-1 {
						fsl,pins = <
							MX6DL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1
							MX6DL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1
						>;
					};
				};

				usbotg {
					pinctrl_usbotg_2: usbotggrp-2 {
						fsl,pins = <
							MX6DL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
						>;
					};
				};

				usdhc2 {
					pinctrl_usdhc2_1: usdhc2grp-1 {
						fsl,pins = <
							MX6DL_PAD_SD2_CMD__SD2_CMD    0x17059
							MX6DL_PAD_SD2_CLK__SD2_CLK    0x10059
							MX6DL_PAD_SD2_DAT0__SD2_DATA0 0x17059
							MX6DL_PAD_SD2_DAT1__SD2_DATA1 0x17059
							MX6DL_PAD_SD2_DAT2__SD2_DATA2 0x17059
							MX6DL_PAD_SD2_DAT3__SD2_DATA3 0x17059
							MX6DL_PAD_NANDF_D4__SD2_DATA4 0x17059
							MX6DL_PAD_NANDF_D5__SD2_DATA5 0x17059
							MX6DL_PAD_NANDF_D6__SD2_DATA6 0x17059
							MX6DL_PAD_NANDF_D7__SD2_DATA7 0x17059
						>;
					};
				};

				usdhc3 {
					pinctrl_usdhc3_1: usdhc3grp-1 {
						fsl,pins = <
							MX6DL_PAD_SD3_CMD__SD3_CMD    0x17059
							MX6DL_PAD_SD3_CLK__SD3_CLK    0x10059
							MX6DL_PAD_SD3_DAT0__SD3_DATA0 0x17059
							MX6DL_PAD_SD3_DAT1__SD3_DATA1 0x17059
							MX6DL_PAD_SD3_DAT2__SD3_DATA2 0x17059
							MX6DL_PAD_SD3_DAT3__SD3_DATA3 0x17059
							MX6DL_PAD_SD3_DAT4__SD3_DATA4 0x17059
							MX6DL_PAD_SD3_DAT5__SD3_DATA5 0x17059
							MX6DL_PAD_SD3_DAT6__SD3_DATA6 0x17059
							MX6DL_PAD_SD3_DAT7__SD3_DATA7 0x17059
						>;
					};

					pinctrl_usdhc3_2: usdhc3grp_2 {
						fsl,pins = <
							MX6DL_PAD_SD3_CMD__SD3_CMD    0x17059
							MX6DL_PAD_SD3_CLK__SD3_CLK    0x10059
							MX6DL_PAD_SD3_DAT0__SD3_DATA0 0x17059
							MX6DL_PAD_SD3_DAT1__SD3_DATA1 0x17059
							MX6DL_PAD_SD3_DAT2__SD3_DATA2 0x17059
							MX6DL_PAD_SD3_DAT3__SD3_DATA3 0x17059
						>;
					};
				};


			};

			pxp: pxp@020f0000 {
				reg = <0x020f0000 0x4000>;
				interrupts = <0 98 0x04>;
			};

			epdc: epdc@020f4000 {
				reg = <0x020f4000 0x4000>;
				interrupts = <0 97 0x04>;
			};

			lcdif: lcdif@020f8000 {
				reg = <0x020f8000 0x4000>;
				interrupts = <0 39 0x04>;
			};
		};

		aips2: aips-bus@02100000 {
			i2c4: i2c@021f8000 {
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,imx1-i2c";
				reg = <0x021f8000 0x4000>;
				interrupts = <0 35 0x04>;
				status = "disabled";
			};
		};
	};
};