xref: /freebsd/sys/contrib/device-tree/src/arm/nxp/imx/imx6q-dmo-edmqmx6.dts (revision 96190b4fef3b4a0cc3ca0606b0c4e3e69a5e6717)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Copyright 2013 Data Modul AG
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/gpio/gpio.h>
9#include "imx6q.dtsi"
10
11/ {
12	model = "Data Modul eDM-QMX6 Board";
13	compatible = "dmo,imx6q-edmqmx6", "fsl,imx6q";
14
15	chosen {
16		stdout-path = &uart2;
17	};
18
19	aliases {
20		gpio7 = &stmpe_gpio1;
21		gpio8 = &stmpe_gpio2;
22		stmpe-i2c0 = &stmpe1;
23		stmpe-i2c1 = &stmpe2;
24	};
25
26	memory@10000000 {
27		device_type = "memory";
28		reg = <0x10000000 0x80000000>;
29	};
30
31	reg_3p3v: regulator-3p3v {
32		compatible = "regulator-fixed";
33		regulator-name = "3P3V";
34		regulator-min-microvolt = <3300000>;
35		regulator-max-microvolt = <3300000>;
36		regulator-always-on;
37	};
38
39	reg_usb_otg_switch: regulator-usb-otg-switch {
40		compatible = "regulator-fixed";
41		regulator-name = "usb_otg_switch";
42		regulator-min-microvolt = <5000000>;
43		regulator-max-microvolt = <5000000>;
44		gpio = <&gpio7 12 0>;
45		regulator-boot-on;
46		regulator-always-on;
47	};
48
49	reg_usb_host1: regulator-usb-host1 {
50		compatible = "regulator-fixed";
51		regulator-name = "usb_host1_en";
52		regulator-min-microvolt = <3300000>;
53		regulator-max-microvolt = <3300000>;
54		gpio = <&gpio3 31 0>;
55		enable-active-high;
56	};
57
58	gpio-leds {
59		compatible = "gpio-leds";
60
61		led-blue {
62			label = "blue";
63			gpios = <&stmpe_gpio1 8 GPIO_ACTIVE_HIGH>;
64			linux,default-trigger = "heartbeat";
65		};
66
67		led-green {
68			label = "green";
69			gpios = <&stmpe_gpio1 9 GPIO_ACTIVE_HIGH>;
70		};
71
72		led-pink {
73			label = "pink";
74			gpios = <&stmpe_gpio1 10 GPIO_ACTIVE_HIGH>;
75		};
76
77		led-red {
78			label = "red";
79			gpios = <&stmpe_gpio1 11 GPIO_ACTIVE_HIGH>;
80		};
81	};
82};
83
84&can1 {
85	pinctrl-names = "default";
86	pinctrl-0 = <&pinctrl_can1>;
87	status = "okay";
88};
89
90&ecspi5 {
91	pinctrl-names = "default";
92	pinctrl-0 = <&pinctrl_ecspi5>;
93	cs-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
94	status = "okay";
95
96	flash: flash@0 {
97		compatible = "m25p80", "jedec,spi-nor";
98		spi-max-frequency = <40000000>;
99		reg = <0>;
100	};
101};
102
103&fec {
104	pinctrl-names = "default";
105	pinctrl-0 = <&pinctrl_enet>;
106	phy-mode = "rgmii-id";
107	phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
108	phy-supply = <&vgen2_1v2_eth>;
109	status = "okay";
110};
111
112&i2c1 {
113	clock-frequency = <100000>;
114	pinctrl-names = "default";
115	pinctrl-0 = <&pinctrl_i2c1>;
116	status = "okay";
117};
118
119&i2c2 {
120	clock-frequency = <100000>;
121	pinctrl-names = "default";
122	pinctrl-0 = <&pinctrl_i2c2
123		     &pinctrl_stmpe1
124		     &pinctrl_stmpe2
125		     &pinctrl_pfuze>;
126	status = "okay";
127
128	pmic: pmic@8 {
129		compatible = "fsl,pfuze100";
130		reg = <0x08>;
131		interrupt-parent = <&gpio3>;
132		interrupts = <20 8>;
133
134		regulators {
135			sw1a_reg: sw1ab {
136				regulator-min-microvolt = <300000>;
137				regulator-max-microvolt = <1875000>;
138				regulator-boot-on;
139				regulator-always-on;
140			};
141
142			sw1c_reg: sw1c {
143				regulator-min-microvolt = <300000>;
144				regulator-max-microvolt = <1875000>;
145				regulator-boot-on;
146				regulator-always-on;
147			};
148
149			sw2_reg: sw2 {
150				regulator-min-microvolt = <800000>;
151				regulator-max-microvolt = <3300000>;
152				regulator-boot-on;
153				regulator-always-on;
154			};
155
156			sw3a_reg: sw3a {
157				regulator-min-microvolt = <400000>;
158				regulator-max-microvolt = <1975000>;
159				regulator-boot-on;
160				regulator-always-on;
161			};
162
163			sw3b_reg: sw3b {
164				regulator-min-microvolt = <400000>;
165				regulator-max-microvolt = <1975000>;
166				regulator-boot-on;
167				regulator-always-on;
168			};
169
170			sw4_reg: sw4 {
171				regulator-min-microvolt = <400000>;
172				regulator-max-microvolt = <1975000>;
173				regulator-always-on;
174			};
175
176			swbst_reg: swbst {
177				regulator-min-microvolt = <5000000>;
178				regulator-max-microvolt = <5150000>;
179				regulator-always-on;
180			};
181
182			snvs_reg: vsnvs {
183				regulator-min-microvolt = <1000000>;
184				regulator-max-microvolt = <3000000>;
185				regulator-boot-on;
186				regulator-always-on;
187			};
188
189			vref_reg: vrefddr {
190				regulator-boot-on;
191				regulator-always-on;
192			};
193
194			vgen1_reg: vgen1 {
195				regulator-min-microvolt = <800000>;
196				regulator-max-microvolt = <1550000>;
197			};
198
199			vgen2_1v2_eth: vgen2 {
200				regulator-min-microvolt = <800000>;
201				regulator-max-microvolt = <1550000>;
202			};
203
204			vdd_high_in: vgen3 {
205				regulator-min-microvolt = <1800000>;
206				regulator-max-microvolt = <3300000>;
207				regulator-boot-on;
208				regulator-always-on;
209			};
210
211			vgen4_reg: vgen4 {
212				regulator-min-microvolt = <1800000>;
213				regulator-max-microvolt = <3300000>;
214				regulator-always-on;
215			};
216
217			vgen5_reg: vgen5 {
218				regulator-min-microvolt = <1800000>;
219				regulator-max-microvolt = <3300000>;
220				regulator-always-on;
221			};
222
223			vgen6_reg: vgen6 {
224				regulator-min-microvolt = <1800000>;
225				regulator-max-microvolt = <3300000>;
226				regulator-always-on;
227			};
228		};
229	};
230
231	stmpe1: stmpe1601@40 {
232		compatible = "st,stmpe1601";
233		reg = <0x40>;
234		interrupts = <30 0>;
235		interrupt-parent = <&gpio3>;
236		vcc-supply = <&sw2_reg>;
237		vio-supply = <&sw2_reg>;
238
239		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		vcc-supply = <&sw2_reg>;
251		vio-supply = <&sw2_reg>;
252
253		stmpe_gpio2: stmpe_gpio {
254			#gpio-cells = <2>;
255			compatible = "st,stmpe-gpio";
256		};
257	};
258
259	temp1: ad7414@4c {
260		compatible = "ad,ad7414";
261		reg = <0x4c>;
262	};
263
264	temp2: ad7414@4d {
265		compatible = "ad,ad7414";
266		reg = <0x4d>;
267	};
268
269	rtc: m41t62@68 {
270		compatible = "st,m41t62";
271		reg = <0x68>;
272	};
273};
274
275&i2c3 {
276	clock-frequency = <100000>;
277	pinctrl-names = "default";
278	pinctrl-0 = <&pinctrl_i2c3>;
279	status = "okay";
280};
281
282&iomuxc {
283	pinctrl-names = "default";
284	pinctrl-0 = <&pinctrl_hog>;
285
286	imx6q-dmo-edmqmx6 {
287		pinctrl_hog: hoggrp {
288			fsl,pins = <
289				MX6QDL_PAD_EIM_A16__GPIO2_IO22 0x80000000
290				MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x80000000
291			>;
292		};
293
294		pinctrl_can1: can1grp {
295			fsl,pins = <
296				MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX	0x1b0b0
297				MX6QDL_PAD_GPIO_7__FLEXCAN1_TX		0x1b0b0
298			>;
299		};
300
301		pinctrl_ecspi5: ecspi5rp-1 {
302			fsl,pins = <
303				MX6QDL_PAD_SD1_DAT0__ECSPI5_MISO	0x80000000
304				MX6QDL_PAD_SD1_CMD__ECSPI5_MOSI		0x80000000
305				MX6QDL_PAD_SD1_CLK__ECSPI5_SCLK		0x80000000
306				MX6QDL_PAD_SD2_DAT3__GPIO1_IO12		0x80000000
307			>;
308		};
309
310		pinctrl_enet: enetgrp {
311			fsl,pins = <
312				MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b030
313				MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b030
314				MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b030
315				MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b030
316				MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b030
317				MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b030
318				MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b030
319				MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b030
320				MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b030
321				MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b030
322				MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b030
323				MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b030
324				MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b0b0
325				MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
326				MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
327				MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25	0x1b0b0
328				MX6QDL_PAD_GPIO_16__ENET_REF_CLK	0x4001b0a8
329			>;
330		};
331
332		pinctrl_i2c1: i2c1grp {
333			fsl,pins = <
334				MX6QDL_PAD_EIM_D21__I2C1_SCL		0x4001b8b1
335				MX6QDL_PAD_EIM_D28__I2C1_SDA		0x4001b8b1
336			>;
337		};
338
339		pinctrl_i2c2: i2c2grp {
340			fsl,pins = <
341				MX6QDL_PAD_EIM_EB2__I2C2_SCL		0x4001b8b1
342				MX6QDL_PAD_KEY_ROW3__I2C2_SDA		0x4001b8b1
343			>;
344		};
345
346		pinctrl_i2c3: i2c3grp {
347			fsl,pins = <
348				MX6QDL_PAD_EIM_D17__I2C3_SCL		0x4001b8b1
349				MX6QDL_PAD_GPIO_6__I2C3_SDA		0x4001b8b1
350			>;
351		};
352
353		pinctrl_pcie: pciegrp {
354			fsl,pins = <
355				MX6QDL_PAD_KEY_COL1__GPIO4_IO08		0x100b1
356			>;
357		};
358
359		pinctrl_pfuze: pfuze100grp1 {
360			fsl,pins = <
361				MX6QDL_PAD_EIM_D20__GPIO3_IO20		0x80000000
362			>;
363		};
364
365		pinctrl_stmpe1: stmpe1grp {
366			fsl,pins = <MX6QDL_PAD_EIM_D30__GPIO3_IO30 0x80000000>;
367		};
368
369		pinctrl_stmpe2: stmpe2grp {
370			fsl,pins = <MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x80000000>;
371		};
372
373		pinctrl_uart1: uart1grp {
374			fsl,pins = <
375				MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA	0x1b0b1
376				MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA	0x1b0b1
377			>;
378		};
379
380		pinctrl_uart2: uart2grp {
381			fsl,pins = <
382				MX6QDL_PAD_EIM_D26__UART2_TX_DATA	0x1b0b1
383				MX6QDL_PAD_EIM_D27__UART2_RX_DATA	0x1b0b1
384			>;
385		};
386
387		pinctrl_usbotg: usbotggrp {
388			fsl,pins = <
389				MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID	0x17059
390			>;
391		};
392
393		pinctrl_usdhc3: usdhc3grp {
394			fsl,pins = <
395				MX6QDL_PAD_SD3_CMD__SD3_CMD		0x17059
396				MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10059
397				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059
398				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
399				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
400				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
401			>;
402		};
403
404		pinctrl_usdhc4: usdhc4grp {
405			fsl,pins = <
406				MX6QDL_PAD_SD4_CMD__SD4_CMD		0x17059
407				MX6QDL_PAD_SD4_CLK__SD4_CLK		0x10059
408				MX6QDL_PAD_SD4_DAT0__SD4_DATA0		0x17059
409				MX6QDL_PAD_SD4_DAT1__SD4_DATA1		0x17059
410				MX6QDL_PAD_SD4_DAT2__SD4_DATA2		0x17059
411				MX6QDL_PAD_SD4_DAT3__SD4_DATA3		0x17059
412				MX6QDL_PAD_SD4_DAT4__SD4_DATA4		0x17059
413				MX6QDL_PAD_SD4_DAT5__SD4_DATA5		0x17059
414				MX6QDL_PAD_SD4_DAT6__SD4_DATA6		0x17059
415				MX6QDL_PAD_SD4_DAT7__SD4_DATA7		0x17059
416			>;
417		};
418	};
419};
420
421&pcie {
422	pinctrl-names = "default";
423	pinctrl-0 = <&pinctrl_pcie>;
424	reset-gpio = <&gpio4 8 GPIO_ACTIVE_LOW>;
425	status = "okay";
426};
427
428&sata {
429	status = "okay";
430};
431
432&uart1 {
433	pinctrl-names = "default";
434	pinctrl-0 = <&pinctrl_uart1>;
435	status = "okay";
436};
437
438&uart2 {
439	pinctrl-names = "default";
440	pinctrl-0 = <&pinctrl_uart2>;
441	status = "okay";
442};
443
444&usbh1 {
445	vbus-supply = <&reg_usb_host1>;
446	disable-over-current;
447	dr_mode = "host";
448	status = "okay";
449};
450
451&usbotg {
452	pinctrl-names = "default";
453	pinctrl-0 = <&pinctrl_usbotg>;
454	disable-over-current;
455	status = "okay";
456};
457
458&usdhc3 {
459	pinctrl-names = "default";
460	pinctrl-0 = <&pinctrl_usdhc3>;
461	vmmc-supply = <&reg_3p3v>;
462	status = "okay";
463};
464
465&usdhc4 {
466	pinctrl-names = "default";
467	pinctrl-0 = <&pinctrl_usdhc4>;
468	vmmc-supply = <&reg_3p3v>;
469	non-removable;
470	bus-width = <8>;
471	status = "okay";
472};
473