blob: f36dab0e711ca5df87b8cf618d31013ba2922a3b [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
Lucas Stach819826a2014-05-07 20:09:05 +020098&ecspi5 {
99 pinctrl-names = "default";
100 pinctrl-0 = <&pinctrl_ecspi5>;
101 fsl,spi-num-chipselects = <1>;
102 cs-gpios = <&gpio1 12 0>;
103 status = "okay";
104
105 flash: m25p80@0 {
106 compatible = "m25p80";
107 spi-max-frequency = <40000000>;
108 reg = <0>;
109 };
110};
111
Silvio Fc1f77e72013-11-07 14:54:27 +0100112&fec {
113 pinctrl-names = "default";
114 pinctrl-0 = <&pinctrl_enet>;
115 phy-mode = "rgmii";
116 phy-reset-gpios = <&gpio3 23 0>;
117 phy-supply = <&vgen2_1v2_eth>;
118 status = "okay";
119};
120
121&i2c2 {
122 clock-frequency = <100000>;
123 pinctrl-names = "default";
124 pinctrl-0 = <&pinctrl_i2c2
Lucas Stach52d13452014-04-07 16:29:27 +0200125 &pinctrl_stmpe1
Lucas Stachd02f74a2014-05-07 20:09:04 +0200126 &pinctrl_stmpe2
127 &pinctrl_pfuze>;
Silvio Fc1f77e72013-11-07 14:54:27 +0100128 status = "okay";
129
130 pmic: pfuze100@08 {
131 compatible = "fsl,pfuze100";
132 reg = <0x08>;
133 interrupt-parent = <&gpio3>;
134 interrupts = <20 8>;
135
136 regulators {
137 sw1a_reg: sw1ab {
138 regulator-min-microvolt = <300000>;
139 regulator-max-microvolt = <1875000>;
140 regulator-boot-on;
141 regulator-always-on;
142 };
143
144 sw1c_reg: sw1c {
145 regulator-min-microvolt = <300000>;
146 regulator-max-microvolt = <1875000>;
147 regulator-boot-on;
148 regulator-always-on;
149 };
150
151 sw2_reg: sw2 {
152 regulator-min-microvolt = <800000>;
153 regulator-max-microvolt = <3300000>;
154 regulator-boot-on;
155 regulator-always-on;
156 };
157
158 sw3a_reg: sw3a {
159 regulator-min-microvolt = <400000>;
160 regulator-max-microvolt = <1975000>;
161 regulator-boot-on;
162 regulator-always-on;
163 };
164
165 sw3b_reg: sw3b {
166 regulator-min-microvolt = <400000>;
167 regulator-max-microvolt = <1975000>;
168 regulator-boot-on;
169 regulator-always-on;
170 };
171
172 sw4_reg: sw4 {
173 regulator-min-microvolt = <400000>;
174 regulator-max-microvolt = <1975000>;
175 regulator-always-on;
176 };
177
178 swbst_reg: swbst {
179 regulator-min-microvolt = <5000000>;
180 regulator-max-microvolt = <5150000>;
181 regulator-always-on;
182 };
183
184 snvs_reg: vsnvs {
185 regulator-min-microvolt = <1000000>;
186 regulator-max-microvolt = <3000000>;
187 regulator-boot-on;
188 regulator-always-on;
189 };
190
191 vref_reg: vrefddr {
192 regulator-boot-on;
193 regulator-always-on;
194 };
195
196 vgen1_reg: vgen1 {
197 regulator-min-microvolt = <800000>;
198 regulator-max-microvolt = <1550000>;
199 };
200
201 vgen2_1v2_eth: vgen2 {
202 regulator-min-microvolt = <800000>;
203 regulator-max-microvolt = <1550000>;
204 };
205
206 vdd_high_in: vgen3 {
207 regulator-min-microvolt = <1800000>;
208 regulator-max-microvolt = <3300000>;
209 regulator-boot-on;
210 regulator-always-on;
211 };
212
213 vgen4_reg: vgen4 {
214 regulator-min-microvolt = <1800000>;
215 regulator-max-microvolt = <3300000>;
216 regulator-always-on;
217 };
218
219 vgen5_reg: vgen5 {
220 regulator-min-microvolt = <1800000>;
221 regulator-max-microvolt = <3300000>;
222 regulator-always-on;
223 };
224
225 vgen6_reg: vgen6 {
226 regulator-min-microvolt = <1800000>;
227 regulator-max-microvolt = <3300000>;
228 regulator-always-on;
229 };
230 };
231 };
232
Lucas Stach52d13452014-04-07 16:29:27 +0200233 stmpe1: stmpe1601@40 {
Silvio Fc1f77e72013-11-07 14:54:27 +0100234 compatible = "st,stmpe1601";
235 reg = <0x40>;
236 interrupts = <30 0>;
237 interrupt-parent = <&gpio3>;
Silvio Frickee59d28e2014-04-17 15:28:06 +0200238 vcc-supply = <&sw2_reg>;
239 vio-supply = <&sw2_reg>;
Silvio Fc1f77e72013-11-07 14:54:27 +0100240
Lucas Stach52d13452014-04-07 16:29:27 +0200241 stmpe_gpio1: stmpe_gpio {
242 #gpio-cells = <2>;
243 compatible = "st,stmpe-gpio";
244 };
245 };
246
247 stmpe2: stmpe1601@44 {
248 compatible = "st,stmpe1601";
249 reg = <0x44>;
250 interrupts = <2 0>;
251 interrupt-parent = <&gpio5>;
Silvio Frickee59d28e2014-04-17 15:28:06 +0200252 vcc-supply = <&sw2_reg>;
253 vio-supply = <&sw2_reg>;
Lucas Stach52d13452014-04-07 16:29:27 +0200254
255 stmpe_gpio2: stmpe_gpio {
Silvio Fc1f77e72013-11-07 14:54:27 +0100256 #gpio-cells = <2>;
257 compatible = "st,stmpe-gpio";
258 };
259 };
260
261 temp1: ad7414@4c {
262 compatible = "ad,ad7414";
263 reg = <0x4c>;
264 };
265
266 temp2: ad7414@4d {
267 compatible = "ad,ad7414";
268 reg = <0x4d>;
269 };
270
271 rtc: m41t62@68 {
272 compatible = "stm,m41t62";
273 reg = <0x68>;
274 };
275};
276
277&iomuxc {
278 pinctrl-names = "default";
279 pinctrl-0 = <&pinctrl_hog>;
280
281 imx6q-dmo-edmqmx6 {
282 pinctrl_hog: hoggrp {
283 fsl,pins = <
284 MX6QDL_PAD_EIM_A16__GPIO2_IO22 0x80000000
285 MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x80000000
286 >;
287 };
288
Lucas Stach819826a2014-05-07 20:09:05 +0200289 pinctrl_ecspi5: ecspi5rp-1 {
290 fsl,pins = <
291 MX6QDL_PAD_SD1_DAT0__ECSPI5_MISO 0x80000000
292 MX6QDL_PAD_SD1_CMD__ECSPI5_MOSI 0x80000000
293 MX6QDL_PAD_SD1_CLK__ECSPI5_SCLK 0x80000000
294 MX6QDL_PAD_SD2_DAT3__GPIO1_IO12 0x80000000
295 >;
296 };
297
Silvio Fc1f77e72013-11-07 14:54:27 +0100298 pinctrl_enet: enetgrp {
299 fsl,pins = <
300 MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
301 MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
302 MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
303 MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
304 MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
305 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
306 MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
307 MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
308 MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
309 MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
310 MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
311 MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
312 MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
313 MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
314 MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
315 MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
316 >;
317 };
318
319 pinctrl_i2c2: i2c2grp {
320 fsl,pins = <
321 MX6QDL_PAD_EIM_EB2__I2C2_SCL 0x4001b8b1
322 MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
323 >;
324 };
325
Silvio Frickefd101c42014-07-01 13:08:59 +0200326 pinctrl_pcie: pciegrp {
327 fsl,pins = <
328 MX6QDL_PAD_KEY_COL1__GPIO4_IO08 0x100b1
329 >;
330 };
331
Lucas Stachd02f74a2014-05-07 20:09:04 +0200332 pinctrl_pfuze: pfuze100grp1 {
333 fsl,pins = <
334 MX6QDL_PAD_EIM_D20__GPIO3_IO20 0x80000000
335 >;
336 };
337
Lucas Stach52d13452014-04-07 16:29:27 +0200338 pinctrl_stmpe1: stmpe1grp {
Silvio Fc1f77e72013-11-07 14:54:27 +0100339 fsl,pins = <MX6QDL_PAD_EIM_D30__GPIO3_IO30 0x80000000>;
340 };
341
Lucas Stach52d13452014-04-07 16:29:27 +0200342 pinctrl_stmpe2: stmpe2grp {
343 fsl,pins = <MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x80000000>;
344 };
345
Silvio Fc1f77e72013-11-07 14:54:27 +0100346 pinctrl_uart1: uart1grp {
347 fsl,pins = <
348 MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1
349 MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1
350 >;
351 };
352
353 pinctrl_uart2: uart2grp {
354 fsl,pins = <
355 MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1
356 MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1
357 >;
358 };
359
360 pinctrl_usbotg: usbotggrp {
361 fsl,pins = <
Lucas Stach19f7cb62014-04-07 16:29:24 +0200362 MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
Silvio Fc1f77e72013-11-07 14:54:27 +0100363 >;
364 };
365
366 pinctrl_usdhc3: usdhc3grp {
367 fsl,pins = <
368 MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
369 MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
370 MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
371 MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
372 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
373 MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
374 >;
375 };
376
377 pinctrl_usdhc4: usdhc4grp {
378 fsl,pins = <
379 MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17059
380 MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10059
381 MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059
382 MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059
383 MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059
384 MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059
385 MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x17059
386 MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x17059
387 MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x17059
388 MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x17059
389 >;
390 };
391 };
392};
393
Silvio Frickefd101c42014-07-01 13:08:59 +0200394&pcie {
395 pinctrl-names = "default";
396 pinctrl-0 = <&pinctrl_pcie>;
397 reset-gpio = <&gpio4 8 0>;
398 status = "okay";
399};
400
Silvio Fc1f77e72013-11-07 14:54:27 +0100401&sata {
402 status = "okay";
403};
404
405&uart1 {
406 pinctrl-names = "default";
407 pinctrl-0 = <&pinctrl_uart1>;
408 status = "okay";
409};
410
411&uart2 {
412 pinctrl-names = "default";
413 pinctrl-0 = <&pinctrl_uart2>;
414 status = "okay";
415};
416
417&usbh1 {
418 vbus-supply = <&reg_usb_host1>;
419 disable-over-current;
Lucas Stach8dde78e2014-04-07 16:29:26 +0200420 dr_mode = "host";
Silvio Fc1f77e72013-11-07 14:54:27 +0100421 status = "okay";
422};
423
424&usbotg {
Silvio Fc1f77e72013-11-07 14:54:27 +0100425 pinctrl-names = "default";
426 pinctrl-0 = <&pinctrl_usbotg>;
427 disable-over-current;
428 status = "okay";
429};
430
431&usdhc3 {
432 pinctrl-names = "default";
433 pinctrl-0 = <&pinctrl_usdhc3>;
434 vmmc-supply = <&reg_3p3v>;
435 status = "okay";
436};
437
438&usdhc4 {
439 pinctrl-names = "default";
440 pinctrl-0 = <&pinctrl_usdhc4>;
441 vmmc-supply = <&reg_3p3v>;
442 non-removable;
443 bus-width = <8>;
444 status = "okay";
445};