1262569Simp/*
2262569Simp * Copyright 2011 Freescale Semiconductor, Inc.
3262569Simp * Copyright 2011 Linaro Ltd.
4262569Simp *
5262569Simp * The code contained herein is licensed under the GNU General Public
6262569Simp * License. You may obtain a copy of the GNU General Public License
7262569Simp * Version 2 or later at the following locations:
8262569Simp *
9262569Simp * http://www.opensource.org/licenses/gpl-license.html
10262569Simp * http://www.gnu.org/copyleft/gpl.html
11262569Simp */
12262569Simp
13262569Simp/dts-v1/;
14262569Simp#include "imx6q.dtsi"
15262569Simp
16262569Simp/ {
17262569Simp	model = "Freescale i.MX6 Quad Armadillo2 Board";
18262569Simp	compatible = "fsl,imx6q-arm2", "fsl,imx6q";
19262569Simp
20262569Simp	memory {
21262569Simp		reg = <0x10000000 0x80000000>;
22262569Simp	};
23262569Simp
24262569Simp	regulators {
25262569Simp		compatible = "simple-bus";
26270864Simp		#address-cells = <1>;
27270864Simp		#size-cells = <0>;
28262569Simp
29270864Simp		reg_3p3v: regulator@0 {
30262569Simp			compatible = "regulator-fixed";
31270864Simp			reg = <0>;
32262569Simp			regulator-name = "3P3V";
33262569Simp			regulator-min-microvolt = <3300000>;
34262569Simp			regulator-max-microvolt = <3300000>;
35262569Simp			regulator-always-on;
36262569Simp		};
37270864Simp
38270864Simp		reg_usb_otg_vbus: regulator@1 {
39270864Simp			compatible = "regulator-fixed";
40270864Simp			reg = <1>;
41270864Simp			regulator-name = "usb_otg_vbus";
42270864Simp			regulator-min-microvolt = <5000000>;
43270864Simp			regulator-max-microvolt = <5000000>;
44270864Simp			gpio = <&gpio3 22 0>;
45270864Simp			enable-active-high;
46270864Simp		};
47262569Simp	};
48262569Simp
49262569Simp	leds {
50262569Simp		compatible = "gpio-leds";
51262569Simp
52262569Simp		debug-led {
53262569Simp			label = "Heartbeat";
54262569Simp			gpios = <&gpio3 25 0>;
55262569Simp			linux,default-trigger = "heartbeat";
56262569Simp		};
57262569Simp	};
58262569Simp};
59262569Simp
60262569Simp&gpmi {
61262569Simp	pinctrl-names = "default";
62270864Simp	pinctrl-0 = <&pinctrl_gpmi_nand>;
63262569Simp	status = "disabled"; /* gpmi nand conflicts with SD */
64262569Simp};
65262569Simp
66262569Simp&iomuxc {
67262569Simp	pinctrl-names = "default";
68262569Simp	pinctrl-0 = <&pinctrl_hog>;
69262569Simp
70270864Simp	imx6q-arm2 {
71262569Simp		pinctrl_hog: hoggrp {
72262569Simp			fsl,pins = <
73262569Simp				MX6QDL_PAD_EIM_D25__GPIO3_IO25 0x80000000
74262569Simp			>;
75262569Simp		};
76262569Simp
77270864Simp		pinctrl_enet: enetgrp {
78262569Simp			fsl,pins = <
79270864Simp				MX6QDL_PAD_KEY_COL1__ENET_MDIO		0x1b0b0
80270864Simp				MX6QDL_PAD_KEY_COL2__ENET_MDC		0x1b0b0
81270864Simp				MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b0b0
82270864Simp				MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b0b0
83270864Simp				MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b0b0
84270864Simp				MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b0b0
85270864Simp				MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b0b0
86270864Simp				MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b0b0
87270864Simp				MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b0b0
88270864Simp				MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b0b0
89270864Simp				MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b0b0
90270864Simp				MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b0b0
91270864Simp				MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b0b0
92270864Simp				MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b0b0
93270864Simp				MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b0b0
94270864Simp				MX6QDL_PAD_GPIO_6__ENET_IRQ		0x000b1
95270864Simp			>;
96270864Simp		};
97270864Simp
98270864Simp		pinctrl_gpmi_nand: gpminandgrp {
99270864Simp			fsl,pins = <
100270864Simp				MX6QDL_PAD_NANDF_CLE__NAND_CLE		0xb0b1
101270864Simp				MX6QDL_PAD_NANDF_ALE__NAND_ALE		0xb0b1
102270864Simp				MX6QDL_PAD_NANDF_WP_B__NAND_WP_B	0xb0b1
103270864Simp				MX6QDL_PAD_NANDF_RB0__NAND_READY_B	0xb000
104270864Simp				MX6QDL_PAD_NANDF_CS0__NAND_CE0_B	0xb0b1
105270864Simp				MX6QDL_PAD_NANDF_CS1__NAND_CE1_B	0xb0b1
106270864Simp				MX6QDL_PAD_SD4_CMD__NAND_RE_B		0xb0b1
107270864Simp				MX6QDL_PAD_SD4_CLK__NAND_WE_B		0xb0b1
108270864Simp				MX6QDL_PAD_NANDF_D0__NAND_DATA00	0xb0b1
109270864Simp				MX6QDL_PAD_NANDF_D1__NAND_DATA01	0xb0b1
110270864Simp				MX6QDL_PAD_NANDF_D2__NAND_DATA02	0xb0b1
111270864Simp				MX6QDL_PAD_NANDF_D3__NAND_DATA03	0xb0b1
112270864Simp				MX6QDL_PAD_NANDF_D4__NAND_DATA04	0xb0b1
113270864Simp				MX6QDL_PAD_NANDF_D5__NAND_DATA05	0xb0b1
114270864Simp				MX6QDL_PAD_NANDF_D6__NAND_DATA06	0xb0b1
115270864Simp				MX6QDL_PAD_NANDF_D7__NAND_DATA07	0xb0b1
116270864Simp				MX6QDL_PAD_SD4_DAT0__NAND_DQS		0x00b1
117270864Simp			>;
118270864Simp		};
119270864Simp
120270864Simp		pinctrl_uart2: uart2grp {
121270864Simp			fsl,pins = <
122270864Simp				MX6QDL_PAD_EIM_D26__UART2_RX_DATA	0x1b0b1
123270864Simp				MX6QDL_PAD_EIM_D27__UART2_TX_DATA	0x1b0b1
124270864Simp				MX6QDL_PAD_EIM_D28__UART2_DTE_CTS_B	0x1b0b1
125270864Simp				MX6QDL_PAD_EIM_D29__UART2_DTE_RTS_B	0x1b0b1
126270864Simp			>;
127270864Simp		};
128270864Simp
129270864Simp		pinctrl_uart4: uart4grp {
130270864Simp			fsl,pins = <
131270864Simp				MX6QDL_PAD_KEY_COL0__UART4_TX_DATA	0x1b0b1
132270864Simp				MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA	0x1b0b1
133270864Simp			>;
134270864Simp		};
135270864Simp
136270864Simp		pinctrl_usbotg: usbotggrp {
137270864Simp			fsl,pins = <
138270864Simp				MX6QDL_PAD_GPIO_1__USB_OTG_ID		0x17059
139270864Simp			>;
140270864Simp		};
141270864Simp
142270864Simp		pinctrl_usdhc3: usdhc3grp {
143270864Simp			fsl,pins = <
144270864Simp				MX6QDL_PAD_SD3_CMD__SD3_CMD		0x17059
145270864Simp				MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10059
146270864Simp				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059
147270864Simp				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
148270864Simp				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
149270864Simp				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
150270864Simp				MX6QDL_PAD_SD3_DAT4__SD3_DATA4		0x17059
151270864Simp				MX6QDL_PAD_SD3_DAT5__SD3_DATA5		0x17059
152270864Simp				MX6QDL_PAD_SD3_DAT6__SD3_DATA6		0x17059
153270864Simp				MX6QDL_PAD_SD3_DAT7__SD3_DATA7		0x17059
154270864Simp			>;
155270864Simp		};
156270864Simp
157270864Simp		pinctrl_usdhc3_cdwp: usdhc3cdwp {
158270864Simp			fsl,pins = <
159262569Simp				MX6QDL_PAD_NANDF_CS0__GPIO6_IO11 0x80000000
160262569Simp				MX6QDL_PAD_NANDF_CS1__GPIO6_IO14 0x80000000
161262569Simp			>;
162262569Simp		};
163270864Simp
164270864Simp		pinctrl_usdhc4: usdhc4grp {
165270864Simp			fsl,pins = <
166270864Simp				MX6QDL_PAD_SD4_CMD__SD4_CMD		0x17059
167270864Simp				MX6QDL_PAD_SD4_CLK__SD4_CLK		0x10059
168270864Simp				MX6QDL_PAD_SD4_DAT0__SD4_DATA0		0x17059
169270864Simp				MX6QDL_PAD_SD4_DAT1__SD4_DATA1		0x17059
170270864Simp				MX6QDL_PAD_SD4_DAT2__SD4_DATA2		0x17059
171270864Simp				MX6QDL_PAD_SD4_DAT3__SD4_DATA3		0x17059
172270864Simp				MX6QDL_PAD_SD4_DAT4__SD4_DATA4		0x17059
173270864Simp				MX6QDL_PAD_SD4_DAT5__SD4_DATA5		0x17059
174270864Simp				MX6QDL_PAD_SD4_DAT6__SD4_DATA6		0x17059
175270864Simp				MX6QDL_PAD_SD4_DAT7__SD4_DATA7		0x17059
176270864Simp			>;
177270864Simp		};
178262569Simp	};
179262569Simp};
180262569Simp
181262569Simp&fec {
182262569Simp	pinctrl-names = "default";
183270864Simp	pinctrl-0 = <&pinctrl_enet>;
184262569Simp	phy-mode = "rgmii";
185270864Simp	interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>,
186270864Simp			      <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>;
187262569Simp	status = "okay";
188262569Simp};
189262569Simp
190270864Simp&usbotg {
191270864Simp	vbus-supply = <&reg_usb_otg_vbus>;
192270864Simp	pinctrl-names = "default";
193270864Simp	pinctrl-0 = <&pinctrl_usbotg>;
194270864Simp	disable-over-current;
195270864Simp	status = "okay";
196270864Simp};
197270864Simp
198262569Simp&usdhc3 {
199262569Simp	cd-gpios = <&gpio6 11 0>;
200262569Simp	wp-gpios = <&gpio6 14 0>;
201262569Simp	vmmc-supply = <&reg_3p3v>;
202262569Simp	pinctrl-names = "default";
203270864Simp	pinctrl-0 = <&pinctrl_usdhc3
204270864Simp		     &pinctrl_usdhc3_cdwp>;
205262569Simp	status = "okay";
206262569Simp};
207262569Simp
208262569Simp&usdhc4 {
209262569Simp	non-removable;
210262569Simp	vmmc-supply = <&reg_3p3v>;
211262569Simp	pinctrl-names = "default";
212270864Simp	pinctrl-0 = <&pinctrl_usdhc4>;
213262569Simp	status = "okay";
214262569Simp};
215262569Simp
216262569Simp&uart2 {
217262569Simp	pinctrl-names = "default";
218270864Simp	pinctrl-0 = <&pinctrl_uart2>;
219262569Simp	fsl,dte-mode;
220262569Simp	fsl,uart-has-rtscts;
221262569Simp	status = "okay";
222262569Simp};
223262569Simp
224262569Simp&uart4 {
225262569Simp	pinctrl-names = "default";
226270864Simp	pinctrl-0 = <&pinctrl_uart4>;
227262569Simp	status = "okay";
228262569Simp};
229