blob: e4ae38fd02692a1d4a41876da4958519bb1465da [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
21 aliases {
Lucas Stach52d13452014-04-07 16:29:27 +020022 gpio7 = &stmpe_gpio1;
23 gpio8 = &stmpe_gpio2;
24 stmpe-i2c0 = &stmpe1;
25 stmpe-i2c1 = &stmpe2;
Silvio Fc1f77e72013-11-07 14:54:27 +010026 };
27
28 memory {
29 reg = <0x10000000 0x80000000>;
30 };
31
32 regulators {
33 compatible = "simple-bus";
34 #address-cells = <1>;
35 #size-cells = <0>;
36
37 reg_3p3v: regulator@0 {
38 compatible = "regulator-fixed";
39 reg = <0>;
40 regulator-name = "3P3V";
41 regulator-min-microvolt = <3300000>;
42 regulator-max-microvolt = <3300000>;
43 regulator-always-on;
44 };
45
Sascha Hauer465ca5dc2014-04-07 16:29:25 +020046 reg_usb_otg_switch: regulator@1 {
Silvio Fc1f77e72013-11-07 14:54:27 +010047 compatible = "regulator-fixed";
48 reg = <1>;
Sascha Hauer465ca5dc2014-04-07 16:29:25 +020049 regulator-name = "usb_otg_switch";
Silvio Fc1f77e72013-11-07 14:54:27 +010050 regulator-min-microvolt = <5000000>;
51 regulator-max-microvolt = <5000000>;
52 gpio = <&gpio7 12 0>;
Sascha Hauer465ca5dc2014-04-07 16:29:25 +020053 regulator-boot-on;
54 regulator-always-on;
Silvio Fc1f77e72013-11-07 14:54:27 +010055 };
56
57 reg_usb_host1: regulator@2 {
58 compatible = "regulator-fixed";
59 reg = <2>;
60 regulator-name = "usb_host1_en";
61 regulator-min-microvolt = <3300000>;
62 regulator-max-microvolt = <3300000>;
63 gpio = <&gpio3 31 0>;
64 enable-active-high;
65 };
66 };
67
68 gpio-leds {
69 compatible = "gpio-leds";
70
71 led-blue {
72 label = "blue";
Lucas Stach52d13452014-04-07 16:29:27 +020073 gpios = <&stmpe_gpio1 8 GPIO_ACTIVE_HIGH>;
Silvio Fc1f77e72013-11-07 14:54:27 +010074 linux,default-trigger = "heartbeat";
75 };
76
77 led-green {
78 label = "green";
Lucas Stach52d13452014-04-07 16:29:27 +020079 gpios = <&stmpe_gpio1 9 GPIO_ACTIVE_HIGH>;
Silvio Fc1f77e72013-11-07 14:54:27 +010080 };
81
82 led-pink {
83 label = "pink";
Lucas Stach52d13452014-04-07 16:29:27 +020084 gpios = <&stmpe_gpio1 10 GPIO_ACTIVE_HIGH>;
Silvio Fc1f77e72013-11-07 14:54:27 +010085 };
86
87 led-red {
88 label = "red";
Lucas Stach52d13452014-04-07 16:29:27 +020089 gpios = <&stmpe_gpio1 11 GPIO_ACTIVE_HIGH>;
Silvio Fc1f77e72013-11-07 14:54:27 +010090 };
91 };
92};
93
94&fec {
95 pinctrl-names = "default";
96 pinctrl-0 = <&pinctrl_enet>;
97 phy-mode = "rgmii";
98 phy-reset-gpios = <&gpio3 23 0>;
99 phy-supply = <&vgen2_1v2_eth>;
100 status = "okay";
101};
102
103&i2c2 {
104 clock-frequency = <100000>;
105 pinctrl-names = "default";
106 pinctrl-0 = <&pinctrl_i2c2
Lucas Stach52d13452014-04-07 16:29:27 +0200107 &pinctrl_stmpe1
108 &pinctrl_stmpe2>;
Silvio Fc1f77e72013-11-07 14:54:27 +0100109 status = "okay";
110
111 pmic: pfuze100@08 {
112 compatible = "fsl,pfuze100";
113 reg = <0x08>;
114 interrupt-parent = <&gpio3>;
115 interrupts = <20 8>;
116
117 regulators {
118 sw1a_reg: sw1ab {
119 regulator-min-microvolt = <300000>;
120 regulator-max-microvolt = <1875000>;
121 regulator-boot-on;
122 regulator-always-on;
123 };
124
125 sw1c_reg: sw1c {
126 regulator-min-microvolt = <300000>;
127 regulator-max-microvolt = <1875000>;
128 regulator-boot-on;
129 regulator-always-on;
130 };
131
132 sw2_reg: sw2 {
133 regulator-min-microvolt = <800000>;
134 regulator-max-microvolt = <3300000>;
135 regulator-boot-on;
136 regulator-always-on;
137 };
138
139 sw3a_reg: sw3a {
140 regulator-min-microvolt = <400000>;
141 regulator-max-microvolt = <1975000>;
142 regulator-boot-on;
143 regulator-always-on;
144 };
145
146 sw3b_reg: sw3b {
147 regulator-min-microvolt = <400000>;
148 regulator-max-microvolt = <1975000>;
149 regulator-boot-on;
150 regulator-always-on;
151 };
152
153 sw4_reg: sw4 {
154 regulator-min-microvolt = <400000>;
155 regulator-max-microvolt = <1975000>;
156 regulator-always-on;
157 };
158
159 swbst_reg: swbst {
160 regulator-min-microvolt = <5000000>;
161 regulator-max-microvolt = <5150000>;
162 regulator-always-on;
163 };
164
165 snvs_reg: vsnvs {
166 regulator-min-microvolt = <1000000>;
167 regulator-max-microvolt = <3000000>;
168 regulator-boot-on;
169 regulator-always-on;
170 };
171
172 vref_reg: vrefddr {
173 regulator-boot-on;
174 regulator-always-on;
175 };
176
177 vgen1_reg: vgen1 {
178 regulator-min-microvolt = <800000>;
179 regulator-max-microvolt = <1550000>;
180 };
181
182 vgen2_1v2_eth: vgen2 {
183 regulator-min-microvolt = <800000>;
184 regulator-max-microvolt = <1550000>;
185 };
186
187 vdd_high_in: vgen3 {
188 regulator-min-microvolt = <1800000>;
189 regulator-max-microvolt = <3300000>;
190 regulator-boot-on;
191 regulator-always-on;
192 };
193
194 vgen4_reg: vgen4 {
195 regulator-min-microvolt = <1800000>;
196 regulator-max-microvolt = <3300000>;
197 regulator-always-on;
198 };
199
200 vgen5_reg: vgen5 {
201 regulator-min-microvolt = <1800000>;
202 regulator-max-microvolt = <3300000>;
203 regulator-always-on;
204 };
205
206 vgen6_reg: vgen6 {
207 regulator-min-microvolt = <1800000>;
208 regulator-max-microvolt = <3300000>;
209 regulator-always-on;
210 };
211 };
212 };
213
Lucas Stach52d13452014-04-07 16:29:27 +0200214 stmpe1: stmpe1601@40 {
Silvio Fc1f77e72013-11-07 14:54:27 +0100215 compatible = "st,stmpe1601";
216 reg = <0x40>;
217 interrupts = <30 0>;
218 interrupt-parent = <&gpio3>;
219
Lucas Stach52d13452014-04-07 16:29:27 +0200220 stmpe_gpio1: stmpe_gpio {
221 #gpio-cells = <2>;
222 compatible = "st,stmpe-gpio";
223 };
224 };
225
226 stmpe2: stmpe1601@44 {
227 compatible = "st,stmpe1601";
228 reg = <0x44>;
229 interrupts = <2 0>;
230 interrupt-parent = <&gpio5>;
231
232 stmpe_gpio2: stmpe_gpio {
Silvio Fc1f77e72013-11-07 14:54:27 +0100233 #gpio-cells = <2>;
234 compatible = "st,stmpe-gpio";
235 };
236 };
237
238 temp1: ad7414@4c {
239 compatible = "ad,ad7414";
240 reg = <0x4c>;
241 };
242
243 temp2: ad7414@4d {
244 compatible = "ad,ad7414";
245 reg = <0x4d>;
246 };
247
248 rtc: m41t62@68 {
249 compatible = "stm,m41t62";
250 reg = <0x68>;
251 };
252};
253
254&iomuxc {
255 pinctrl-names = "default";
256 pinctrl-0 = <&pinctrl_hog>;
257
258 imx6q-dmo-edmqmx6 {
259 pinctrl_hog: hoggrp {
260 fsl,pins = <
261 MX6QDL_PAD_EIM_A16__GPIO2_IO22 0x80000000
262 MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x80000000
263 >;
264 };
265
266 pinctrl_enet: enetgrp {
267 fsl,pins = <
268 MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
269 MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
270 MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
271 MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
272 MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
273 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
274 MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
275 MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
276 MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
277 MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
278 MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
279 MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
280 MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
281 MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
282 MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
283 MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
284 >;
285 };
286
287 pinctrl_i2c2: i2c2grp {
288 fsl,pins = <
289 MX6QDL_PAD_EIM_EB2__I2C2_SCL 0x4001b8b1
290 MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
291 >;
292 };
293
Lucas Stach52d13452014-04-07 16:29:27 +0200294 pinctrl_stmpe1: stmpe1grp {
Silvio Fc1f77e72013-11-07 14:54:27 +0100295 fsl,pins = <MX6QDL_PAD_EIM_D30__GPIO3_IO30 0x80000000>;
296 };
297
Lucas Stach52d13452014-04-07 16:29:27 +0200298 pinctrl_stmpe2: stmpe2grp {
299 fsl,pins = <MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x80000000>;
300 };
301
Silvio Fc1f77e72013-11-07 14:54:27 +0100302 pinctrl_uart1: uart1grp {
303 fsl,pins = <
304 MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1
305 MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1
306 >;
307 };
308
309 pinctrl_uart2: uart2grp {
310 fsl,pins = <
311 MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1
312 MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1
313 >;
314 };
315
316 pinctrl_usbotg: usbotggrp {
317 fsl,pins = <
Lucas Stach19f7cb62014-04-07 16:29:24 +0200318 MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
Silvio Fc1f77e72013-11-07 14:54:27 +0100319 >;
320 };
321
322 pinctrl_usdhc3: usdhc3grp {
323 fsl,pins = <
324 MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
325 MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
326 MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
327 MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
328 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
329 MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
330 >;
331 };
332
333 pinctrl_usdhc4: usdhc4grp {
334 fsl,pins = <
335 MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17059
336 MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10059
337 MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059
338 MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059
339 MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059
340 MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059
341 MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x17059
342 MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x17059
343 MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x17059
344 MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x17059
345 >;
346 };
347 };
348};
349
350&sata {
351 status = "okay";
352};
353
354&uart1 {
355 pinctrl-names = "default";
356 pinctrl-0 = <&pinctrl_uart1>;
357 status = "okay";
358};
359
360&uart2 {
361 pinctrl-names = "default";
362 pinctrl-0 = <&pinctrl_uart2>;
363 status = "okay";
364};
365
366&usbh1 {
367 vbus-supply = <&reg_usb_host1>;
368 disable-over-current;
Lucas Stach8dde78e2014-04-07 16:29:26 +0200369 dr_mode = "host";
Silvio Fc1f77e72013-11-07 14:54:27 +0100370 status = "okay";
371};
372
373&usbotg {
Silvio Fc1f77e72013-11-07 14:54:27 +0100374 pinctrl-names = "default";
375 pinctrl-0 = <&pinctrl_usbotg>;
376 disable-over-current;
377 status = "okay";
378};
379
380&usdhc3 {
381 pinctrl-names = "default";
382 pinctrl-0 = <&pinctrl_usdhc3>;
383 vmmc-supply = <&reg_3p3v>;
384 status = "okay";
385};
386
387&usdhc4 {
388 pinctrl-names = "default";
389 pinctrl-0 = <&pinctrl_usdhc4>;
390 vmmc-supply = <&reg_3p3v>;
391 non-removable;
392 bus-width = <8>;
393 status = "okay";
394};