blob: 5b45270e1176924eb88d572c3720e45109db6f8f [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>;
238
Lucas Stach52d13452014-04-07 16:29:27 +0200239 stmpe_gpio1: stmpe_gpio {
240 #gpio-cells = <2>;
241 compatible = "st,stmpe-gpio";
242 };
243 };
244
245 stmpe2: stmpe1601@44 {
246 compatible = "st,stmpe1601";
247 reg = <0x44>;
248 interrupts = <2 0>;
249 interrupt-parent = <&gpio5>;
250
251 stmpe_gpio2: stmpe_gpio {
Silvio Fc1f77e72013-11-07 14:54:27 +0100252 #gpio-cells = <2>;
253 compatible = "st,stmpe-gpio";
254 };
255 };
256
257 temp1: ad7414@4c {
258 compatible = "ad,ad7414";
259 reg = <0x4c>;
260 };
261
262 temp2: ad7414@4d {
263 compatible = "ad,ad7414";
264 reg = <0x4d>;
265 };
266
267 rtc: m41t62@68 {
268 compatible = "stm,m41t62";
269 reg = <0x68>;
270 };
271};
272
273&iomuxc {
274 pinctrl-names = "default";
275 pinctrl-0 = <&pinctrl_hog>;
276
277 imx6q-dmo-edmqmx6 {
278 pinctrl_hog: hoggrp {
279 fsl,pins = <
280 MX6QDL_PAD_EIM_A16__GPIO2_IO22 0x80000000
281 MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x80000000
282 >;
283 };
284
Lucas Stach819826a2014-05-07 20:09:05 +0200285 pinctrl_ecspi5: ecspi5rp-1 {
286 fsl,pins = <
287 MX6QDL_PAD_SD1_DAT0__ECSPI5_MISO 0x80000000
288 MX6QDL_PAD_SD1_CMD__ECSPI5_MOSI 0x80000000
289 MX6QDL_PAD_SD1_CLK__ECSPI5_SCLK 0x80000000
290 MX6QDL_PAD_SD2_DAT3__GPIO1_IO12 0x80000000
291 >;
292 };
293
Silvio Fc1f77e72013-11-07 14:54:27 +0100294 pinctrl_enet: enetgrp {
295 fsl,pins = <
296 MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
297 MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
298 MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
299 MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
300 MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
301 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
302 MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
303 MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
304 MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
305 MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
306 MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
307 MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
308 MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
309 MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
310 MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
311 MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
312 >;
313 };
314
315 pinctrl_i2c2: i2c2grp {
316 fsl,pins = <
317 MX6QDL_PAD_EIM_EB2__I2C2_SCL 0x4001b8b1
318 MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
319 >;
320 };
321
Lucas Stachd02f74a2014-05-07 20:09:04 +0200322 pinctrl_pfuze: pfuze100grp1 {
323 fsl,pins = <
324 MX6QDL_PAD_EIM_D20__GPIO3_IO20 0x80000000
325 >;
326 };
327
Lucas Stach52d13452014-04-07 16:29:27 +0200328 pinctrl_stmpe1: stmpe1grp {
Silvio Fc1f77e72013-11-07 14:54:27 +0100329 fsl,pins = <MX6QDL_PAD_EIM_D30__GPIO3_IO30 0x80000000>;
330 };
331
Lucas Stach52d13452014-04-07 16:29:27 +0200332 pinctrl_stmpe2: stmpe2grp {
333 fsl,pins = <MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x80000000>;
334 };
335
Silvio Fc1f77e72013-11-07 14:54:27 +0100336 pinctrl_uart1: uart1grp {
337 fsl,pins = <
338 MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1
339 MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1
340 >;
341 };
342
343 pinctrl_uart2: uart2grp {
344 fsl,pins = <
345 MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1
346 MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1
347 >;
348 };
349
350 pinctrl_usbotg: usbotggrp {
351 fsl,pins = <
Lucas Stach19f7cb62014-04-07 16:29:24 +0200352 MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
Silvio Fc1f77e72013-11-07 14:54:27 +0100353 >;
354 };
355
356 pinctrl_usdhc3: usdhc3grp {
357 fsl,pins = <
358 MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
359 MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
360 MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
361 MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
362 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
363 MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
364 >;
365 };
366
367 pinctrl_usdhc4: usdhc4grp {
368 fsl,pins = <
369 MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17059
370 MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10059
371 MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059
372 MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059
373 MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059
374 MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059
375 MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x17059
376 MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x17059
377 MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x17059
378 MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x17059
379 >;
380 };
381 };
382};
383
384&sata {
385 status = "okay";
386};
387
388&uart1 {
389 pinctrl-names = "default";
390 pinctrl-0 = <&pinctrl_uart1>;
391 status = "okay";
392};
393
394&uart2 {
395 pinctrl-names = "default";
396 pinctrl-0 = <&pinctrl_uart2>;
397 status = "okay";
398};
399
400&usbh1 {
401 vbus-supply = <&reg_usb_host1>;
402 disable-over-current;
Lucas Stach8dde78e2014-04-07 16:29:26 +0200403 dr_mode = "host";
Silvio Fc1f77e72013-11-07 14:54:27 +0100404 status = "okay";
405};
406
407&usbotg {
Silvio Fc1f77e72013-11-07 14:54:27 +0100408 pinctrl-names = "default";
409 pinctrl-0 = <&pinctrl_usbotg>;
410 disable-over-current;
411 status = "okay";
412};
413
414&usdhc3 {
415 pinctrl-names = "default";
416 pinctrl-0 = <&pinctrl_usdhc3>;
417 vmmc-supply = <&reg_3p3v>;
418 status = "okay";
419};
420
421&usdhc4 {
422 pinctrl-names = "default";
423 pinctrl-0 = <&pinctrl_usdhc4>;
424 vmmc-supply = <&reg_3p3v>;
425 non-removable;
426 bus-width = <8>;
427 status = "okay";
428};