blob: aac4690afed3a215e49b715f7a49bab433db65a0 [file] [log] [blame]
Silvio Fc1f77e72013-11-07 14:54:27 +01001/*
2 * Copyright 2013 Data Modul AG
3 *
4 * The code contained herein is licensed under the GNU General Public
5 * License. You may obtain a copy of the GNU General Public License
6 * Version 2 or later at the following locations:
7 *
8 * http://www.opensource.org/licenses/gpl-license.html
9 * http://www.gnu.org/copyleft/gpl.html
10 */
11
12/dts-v1/;
13
14#include <dt-bindings/gpio/gpio.h>
15#include "imx6q.dtsi"
16
17/ {
18 model = "Data Modul eDM-QMX6 Board";
19 compatible = "dmo,imx6q-edmqmx6", "fsl,imx6q";
20
Sascha Hauer48f51962014-05-07 15:19:00 +020021 chosen {
22 stdout-path = &uart2;
23 };
24
Silvio Fc1f77e72013-11-07 14:54:27 +010025 aliases {
Lucas Stach52d13452014-04-07 16:29:27 +020026 gpio7 = &stmpe_gpio1;
27 gpio8 = &stmpe_gpio2;
28 stmpe-i2c0 = &stmpe1;
29 stmpe-i2c1 = &stmpe2;
Silvio Fc1f77e72013-11-07 14:54:27 +010030 };
31
32 memory {
33 reg = <0x10000000 0x80000000>;
34 };
35
36 regulators {
37 compatible = "simple-bus";
38 #address-cells = <1>;
39 #size-cells = <0>;
40
41 reg_3p3v: regulator@0 {
42 compatible = "regulator-fixed";
43 reg = <0>;
44 regulator-name = "3P3V";
45 regulator-min-microvolt = <3300000>;
46 regulator-max-microvolt = <3300000>;
47 regulator-always-on;
48 };
49
Sascha Hauer465ca5dc2014-04-07 16:29:25 +020050 reg_usb_otg_switch: regulator@1 {
Silvio Fc1f77e72013-11-07 14:54:27 +010051 compatible = "regulator-fixed";
52 reg = <1>;
Sascha Hauer465ca5dc2014-04-07 16:29:25 +020053 regulator-name = "usb_otg_switch";
Silvio Fc1f77e72013-11-07 14:54:27 +010054 regulator-min-microvolt = <5000000>;
55 regulator-max-microvolt = <5000000>;
56 gpio = <&gpio7 12 0>;
Sascha Hauer465ca5dc2014-04-07 16:29:25 +020057 regulator-boot-on;
58 regulator-always-on;
Silvio Fc1f77e72013-11-07 14:54:27 +010059 };
60
61 reg_usb_host1: regulator@2 {
62 compatible = "regulator-fixed";
63 reg = <2>;
64 regulator-name = "usb_host1_en";
65 regulator-min-microvolt = <3300000>;
66 regulator-max-microvolt = <3300000>;
67 gpio = <&gpio3 31 0>;
68 enable-active-high;
69 };
70 };
71
72 gpio-leds {
73 compatible = "gpio-leds";
74
75 led-blue {
76 label = "blue";
Lucas Stach52d13452014-04-07 16:29:27 +020077 gpios = <&stmpe_gpio1 8 GPIO_ACTIVE_HIGH>;
Silvio Fc1f77e72013-11-07 14:54:27 +010078 linux,default-trigger = "heartbeat";
79 };
80
81 led-green {
82 label = "green";
Lucas Stach52d13452014-04-07 16:29:27 +020083 gpios = <&stmpe_gpio1 9 GPIO_ACTIVE_HIGH>;
Silvio Fc1f77e72013-11-07 14:54:27 +010084 };
85
86 led-pink {
87 label = "pink";
Lucas Stach52d13452014-04-07 16:29:27 +020088 gpios = <&stmpe_gpio1 10 GPIO_ACTIVE_HIGH>;
Silvio Fc1f77e72013-11-07 14:54:27 +010089 };
90
91 led-red {
92 label = "red";
Lucas Stach52d13452014-04-07 16:29:27 +020093 gpios = <&stmpe_gpio1 11 GPIO_ACTIVE_HIGH>;
Silvio Fc1f77e72013-11-07 14:54:27 +010094 };
95 };
96};
97
98&fec {
99 pinctrl-names = "default";
100 pinctrl-0 = <&pinctrl_enet>;
101 phy-mode = "rgmii";
102 phy-reset-gpios = <&gpio3 23 0>;
103 phy-supply = <&vgen2_1v2_eth>;
104 status = "okay";
105};
106
107&i2c2 {
108 clock-frequency = <100000>;
109 pinctrl-names = "default";
110 pinctrl-0 = <&pinctrl_i2c2
Lucas Stach52d13452014-04-07 16:29:27 +0200111 &pinctrl_stmpe1
Lucas Stachd02f74a2014-05-07 20:09:04 +0200112 &pinctrl_stmpe2
113 &pinctrl_pfuze>;
Silvio Fc1f77e72013-11-07 14:54:27 +0100114 status = "okay";
115
116 pmic: pfuze100@08 {
117 compatible = "fsl,pfuze100";
118 reg = <0x08>;
119 interrupt-parent = <&gpio3>;
120 interrupts = <20 8>;
121
122 regulators {
123 sw1a_reg: sw1ab {
124 regulator-min-microvolt = <300000>;
125 regulator-max-microvolt = <1875000>;
126 regulator-boot-on;
127 regulator-always-on;
128 };
129
130 sw1c_reg: sw1c {
131 regulator-min-microvolt = <300000>;
132 regulator-max-microvolt = <1875000>;
133 regulator-boot-on;
134 regulator-always-on;
135 };
136
137 sw2_reg: sw2 {
138 regulator-min-microvolt = <800000>;
139 regulator-max-microvolt = <3300000>;
140 regulator-boot-on;
141 regulator-always-on;
142 };
143
144 sw3a_reg: sw3a {
145 regulator-min-microvolt = <400000>;
146 regulator-max-microvolt = <1975000>;
147 regulator-boot-on;
148 regulator-always-on;
149 };
150
151 sw3b_reg: sw3b {
152 regulator-min-microvolt = <400000>;
153 regulator-max-microvolt = <1975000>;
154 regulator-boot-on;
155 regulator-always-on;
156 };
157
158 sw4_reg: sw4 {
159 regulator-min-microvolt = <400000>;
160 regulator-max-microvolt = <1975000>;
161 regulator-always-on;
162 };
163
164 swbst_reg: swbst {
165 regulator-min-microvolt = <5000000>;
166 regulator-max-microvolt = <5150000>;
167 regulator-always-on;
168 };
169
170 snvs_reg: vsnvs {
171 regulator-min-microvolt = <1000000>;
172 regulator-max-microvolt = <3000000>;
173 regulator-boot-on;
174 regulator-always-on;
175 };
176
177 vref_reg: vrefddr {
178 regulator-boot-on;
179 regulator-always-on;
180 };
181
182 vgen1_reg: vgen1 {
183 regulator-min-microvolt = <800000>;
184 regulator-max-microvolt = <1550000>;
185 };
186
187 vgen2_1v2_eth: vgen2 {
188 regulator-min-microvolt = <800000>;
189 regulator-max-microvolt = <1550000>;
190 };
191
192 vdd_high_in: vgen3 {
193 regulator-min-microvolt = <1800000>;
194 regulator-max-microvolt = <3300000>;
195 regulator-boot-on;
196 regulator-always-on;
197 };
198
199 vgen4_reg: vgen4 {
200 regulator-min-microvolt = <1800000>;
201 regulator-max-microvolt = <3300000>;
202 regulator-always-on;
203 };
204
205 vgen5_reg: vgen5 {
206 regulator-min-microvolt = <1800000>;
207 regulator-max-microvolt = <3300000>;
208 regulator-always-on;
209 };
210
211 vgen6_reg: vgen6 {
212 regulator-min-microvolt = <1800000>;
213 regulator-max-microvolt = <3300000>;
214 regulator-always-on;
215 };
216 };
217 };
218
Lucas Stach52d13452014-04-07 16:29:27 +0200219 stmpe1: stmpe1601@40 {
Silvio Fc1f77e72013-11-07 14:54:27 +0100220 compatible = "st,stmpe1601";
221 reg = <0x40>;
222 interrupts = <30 0>;
223 interrupt-parent = <&gpio3>;
224
Lucas Stach52d13452014-04-07 16:29:27 +0200225 stmpe_gpio1: stmpe_gpio {
226 #gpio-cells = <2>;
227 compatible = "st,stmpe-gpio";
228 };
229 };
230
231 stmpe2: stmpe1601@44 {
232 compatible = "st,stmpe1601";
233 reg = <0x44>;
234 interrupts = <2 0>;
235 interrupt-parent = <&gpio5>;
236
237 stmpe_gpio2: stmpe_gpio {
Silvio Fc1f77e72013-11-07 14:54:27 +0100238 #gpio-cells = <2>;
239 compatible = "st,stmpe-gpio";
240 };
241 };
242
243 temp1: ad7414@4c {
244 compatible = "ad,ad7414";
245 reg = <0x4c>;
246 };
247
248 temp2: ad7414@4d {
249 compatible = "ad,ad7414";
250 reg = <0x4d>;
251 };
252
253 rtc: m41t62@68 {
254 compatible = "stm,m41t62";
255 reg = <0x68>;
256 };
257};
258
259&iomuxc {
260 pinctrl-names = "default";
261 pinctrl-0 = <&pinctrl_hog>;
262
263 imx6q-dmo-edmqmx6 {
264 pinctrl_hog: hoggrp {
265 fsl,pins = <
266 MX6QDL_PAD_EIM_A16__GPIO2_IO22 0x80000000
267 MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x80000000
268 >;
269 };
270
271 pinctrl_enet: enetgrp {
272 fsl,pins = <
273 MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
274 MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
275 MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
276 MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
277 MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
278 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
279 MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
280 MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
281 MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
282 MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
283 MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
284 MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
285 MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
286 MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
287 MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
288 MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
289 >;
290 };
291
292 pinctrl_i2c2: i2c2grp {
293 fsl,pins = <
294 MX6QDL_PAD_EIM_EB2__I2C2_SCL 0x4001b8b1
295 MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
296 >;
297 };
298
Lucas Stachd02f74a2014-05-07 20:09:04 +0200299 pinctrl_pfuze: pfuze100grp1 {
300 fsl,pins = <
301 MX6QDL_PAD_EIM_D20__GPIO3_IO20 0x80000000
302 >;
303 };
304
Lucas Stach52d13452014-04-07 16:29:27 +0200305 pinctrl_stmpe1: stmpe1grp {
Silvio Fc1f77e72013-11-07 14:54:27 +0100306 fsl,pins = <MX6QDL_PAD_EIM_D30__GPIO3_IO30 0x80000000>;
307 };
308
Lucas Stach52d13452014-04-07 16:29:27 +0200309 pinctrl_stmpe2: stmpe2grp {
310 fsl,pins = <MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x80000000>;
311 };
312
Silvio Fc1f77e72013-11-07 14:54:27 +0100313 pinctrl_uart1: uart1grp {
314 fsl,pins = <
315 MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1
316 MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1
317 >;
318 };
319
320 pinctrl_uart2: uart2grp {
321 fsl,pins = <
322 MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1
323 MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1
324 >;
325 };
326
327 pinctrl_usbotg: usbotggrp {
328 fsl,pins = <
Lucas Stach19f7cb62014-04-07 16:29:24 +0200329 MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
Silvio Fc1f77e72013-11-07 14:54:27 +0100330 >;
331 };
332
333 pinctrl_usdhc3: usdhc3grp {
334 fsl,pins = <
335 MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
336 MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
337 MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
338 MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
339 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
340 MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
341 >;
342 };
343
344 pinctrl_usdhc4: usdhc4grp {
345 fsl,pins = <
346 MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17059
347 MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10059
348 MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059
349 MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059
350 MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059
351 MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059
352 MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x17059
353 MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x17059
354 MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x17059
355 MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x17059
356 >;
357 };
358 };
359};
360
361&sata {
362 status = "okay";
363};
364
365&uart1 {
366 pinctrl-names = "default";
367 pinctrl-0 = <&pinctrl_uart1>;
368 status = "okay";
369};
370
371&uart2 {
372 pinctrl-names = "default";
373 pinctrl-0 = <&pinctrl_uart2>;
374 status = "okay";
375};
376
377&usbh1 {
378 vbus-supply = <&reg_usb_host1>;
379 disable-over-current;
Lucas Stach8dde78e2014-04-07 16:29:26 +0200380 dr_mode = "host";
Silvio Fc1f77e72013-11-07 14:54:27 +0100381 status = "okay";
382};
383
384&usbotg {
Silvio Fc1f77e72013-11-07 14:54:27 +0100385 pinctrl-names = "default";
386 pinctrl-0 = <&pinctrl_usbotg>;
387 disable-over-current;
388 status = "okay";
389};
390
391&usdhc3 {
392 pinctrl-names = "default";
393 pinctrl-0 = <&pinctrl_usdhc3>;
394 vmmc-supply = <&reg_3p3v>;
395 status = "okay";
396};
397
398&usdhc4 {
399 pinctrl-names = "default";
400 pinctrl-0 = <&pinctrl_usdhc4>;
401 vmmc-supply = <&reg_3p3v>;
402 non-removable;
403 bus-width = <8>;
404 status = "okay";
405};