blob: 52446ea4e4c783cefec1764058165d0c3992a111 [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
112 &pinctrl_stmpe2>;
Silvio Fc1f77e72013-11-07 14:54:27 +0100113 status = "okay";
114
115 pmic: pfuze100@08 {
116 compatible = "fsl,pfuze100";
117 reg = <0x08>;
118 interrupt-parent = <&gpio3>;
119 interrupts = <20 8>;
120
121 regulators {
122 sw1a_reg: sw1ab {
123 regulator-min-microvolt = <300000>;
124 regulator-max-microvolt = <1875000>;
125 regulator-boot-on;
126 regulator-always-on;
127 };
128
129 sw1c_reg: sw1c {
130 regulator-min-microvolt = <300000>;
131 regulator-max-microvolt = <1875000>;
132 regulator-boot-on;
133 regulator-always-on;
134 };
135
136 sw2_reg: sw2 {
137 regulator-min-microvolt = <800000>;
138 regulator-max-microvolt = <3300000>;
139 regulator-boot-on;
140 regulator-always-on;
141 };
142
143 sw3a_reg: sw3a {
144 regulator-min-microvolt = <400000>;
145 regulator-max-microvolt = <1975000>;
146 regulator-boot-on;
147 regulator-always-on;
148 };
149
150 sw3b_reg: sw3b {
151 regulator-min-microvolt = <400000>;
152 regulator-max-microvolt = <1975000>;
153 regulator-boot-on;
154 regulator-always-on;
155 };
156
157 sw4_reg: sw4 {
158 regulator-min-microvolt = <400000>;
159 regulator-max-microvolt = <1975000>;
160 regulator-always-on;
161 };
162
163 swbst_reg: swbst {
164 regulator-min-microvolt = <5000000>;
165 regulator-max-microvolt = <5150000>;
166 regulator-always-on;
167 };
168
169 snvs_reg: vsnvs {
170 regulator-min-microvolt = <1000000>;
171 regulator-max-microvolt = <3000000>;
172 regulator-boot-on;
173 regulator-always-on;
174 };
175
176 vref_reg: vrefddr {
177 regulator-boot-on;
178 regulator-always-on;
179 };
180
181 vgen1_reg: vgen1 {
182 regulator-min-microvolt = <800000>;
183 regulator-max-microvolt = <1550000>;
184 };
185
186 vgen2_1v2_eth: vgen2 {
187 regulator-min-microvolt = <800000>;
188 regulator-max-microvolt = <1550000>;
189 };
190
191 vdd_high_in: vgen3 {
192 regulator-min-microvolt = <1800000>;
193 regulator-max-microvolt = <3300000>;
194 regulator-boot-on;
195 regulator-always-on;
196 };
197
198 vgen4_reg: vgen4 {
199 regulator-min-microvolt = <1800000>;
200 regulator-max-microvolt = <3300000>;
201 regulator-always-on;
202 };
203
204 vgen5_reg: vgen5 {
205 regulator-min-microvolt = <1800000>;
206 regulator-max-microvolt = <3300000>;
207 regulator-always-on;
208 };
209
210 vgen6_reg: vgen6 {
211 regulator-min-microvolt = <1800000>;
212 regulator-max-microvolt = <3300000>;
213 regulator-always-on;
214 };
215 };
216 };
217
Lucas Stach52d13452014-04-07 16:29:27 +0200218 stmpe1: stmpe1601@40 {
Silvio Fc1f77e72013-11-07 14:54:27 +0100219 compatible = "st,stmpe1601";
220 reg = <0x40>;
221 interrupts = <30 0>;
222 interrupt-parent = <&gpio3>;
223
Lucas Stach52d13452014-04-07 16:29:27 +0200224 stmpe_gpio1: stmpe_gpio {
225 #gpio-cells = <2>;
226 compatible = "st,stmpe-gpio";
227 };
228 };
229
230 stmpe2: stmpe1601@44 {
231 compatible = "st,stmpe1601";
232 reg = <0x44>;
233 interrupts = <2 0>;
234 interrupt-parent = <&gpio5>;
235
236 stmpe_gpio2: stmpe_gpio {
Silvio Fc1f77e72013-11-07 14:54:27 +0100237 #gpio-cells = <2>;
238 compatible = "st,stmpe-gpio";
239 };
240 };
241
242 temp1: ad7414@4c {
243 compatible = "ad,ad7414";
244 reg = <0x4c>;
245 };
246
247 temp2: ad7414@4d {
248 compatible = "ad,ad7414";
249 reg = <0x4d>;
250 };
251
252 rtc: m41t62@68 {
253 compatible = "stm,m41t62";
254 reg = <0x68>;
255 };
256};
257
258&iomuxc {
259 pinctrl-names = "default";
260 pinctrl-0 = <&pinctrl_hog>;
261
262 imx6q-dmo-edmqmx6 {
263 pinctrl_hog: hoggrp {
264 fsl,pins = <
265 MX6QDL_PAD_EIM_A16__GPIO2_IO22 0x80000000
266 MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x80000000
267 >;
268 };
269
270 pinctrl_enet: enetgrp {
271 fsl,pins = <
272 MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
273 MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
274 MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
275 MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
276 MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
277 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
278 MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
279 MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
280 MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
281 MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
282 MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
283 MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
284 MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
285 MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
286 MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
287 MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
288 >;
289 };
290
291 pinctrl_i2c2: i2c2grp {
292 fsl,pins = <
293 MX6QDL_PAD_EIM_EB2__I2C2_SCL 0x4001b8b1
294 MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
295 >;
296 };
297
Lucas Stach52d13452014-04-07 16:29:27 +0200298 pinctrl_stmpe1: stmpe1grp {
Silvio Fc1f77e72013-11-07 14:54:27 +0100299 fsl,pins = <MX6QDL_PAD_EIM_D30__GPIO3_IO30 0x80000000>;
300 };
301
Lucas Stach52d13452014-04-07 16:29:27 +0200302 pinctrl_stmpe2: stmpe2grp {
303 fsl,pins = <MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x80000000>;
304 };
305
Silvio Fc1f77e72013-11-07 14:54:27 +0100306 pinctrl_uart1: uart1grp {
307 fsl,pins = <
308 MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1
309 MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1
310 >;
311 };
312
313 pinctrl_uart2: uart2grp {
314 fsl,pins = <
315 MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1
316 MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1
317 >;
318 };
319
320 pinctrl_usbotg: usbotggrp {
321 fsl,pins = <
Lucas Stach19f7cb62014-04-07 16:29:24 +0200322 MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
Silvio Fc1f77e72013-11-07 14:54:27 +0100323 >;
324 };
325
326 pinctrl_usdhc3: usdhc3grp {
327 fsl,pins = <
328 MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
329 MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
330 MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
331 MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
332 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
333 MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
334 >;
335 };
336
337 pinctrl_usdhc4: usdhc4grp {
338 fsl,pins = <
339 MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17059
340 MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10059
341 MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059
342 MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059
343 MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059
344 MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059
345 MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x17059
346 MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x17059
347 MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x17059
348 MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x17059
349 >;
350 };
351 };
352};
353
354&sata {
355 status = "okay";
356};
357
358&uart1 {
359 pinctrl-names = "default";
360 pinctrl-0 = <&pinctrl_uart1>;
361 status = "okay";
362};
363
364&uart2 {
365 pinctrl-names = "default";
366 pinctrl-0 = <&pinctrl_uart2>;
367 status = "okay";
368};
369
370&usbh1 {
371 vbus-supply = <&reg_usb_host1>;
372 disable-over-current;
Lucas Stach8dde78e2014-04-07 16:29:26 +0200373 dr_mode = "host";
Silvio Fc1f77e72013-11-07 14:54:27 +0100374 status = "okay";
375};
376
377&usbotg {
Silvio Fc1f77e72013-11-07 14:54:27 +0100378 pinctrl-names = "default";
379 pinctrl-0 = <&pinctrl_usbotg>;
380 disable-over-current;
381 status = "okay";
382};
383
384&usdhc3 {
385 pinctrl-names = "default";
386 pinctrl-0 = <&pinctrl_usdhc3>;
387 vmmc-supply = <&reg_3p3v>;
388 status = "okay";
389};
390
391&usdhc4 {
392 pinctrl-names = "default";
393 pinctrl-0 = <&pinctrl_usdhc4>;
394 vmmc-supply = <&reg_3p3v>;
395 non-removable;
396 bus-width = <8>;
397 status = "okay";
398};