1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2 /*
3  * Copyright 2014-2022 Toradex
4  * Copyright 2012 Freescale Semiconductor, Inc.
5  * Copyright 2011 Linaro Ltd.
6  */
7 
8 /dts-v1/;
9 
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/input/input.h>
12 #include <dt-bindings/interrupt-controller/irq.h>
13 #include "imx6q.dtsi"
14 #include "imx6qdl-apalis.dtsi"
15 
16 / {
17 	model = "Toradex Apalis iMX6Q/D Module on Ixora Carrier Board";
18 	compatible = "toradex,apalis_imx6q-ixora", "toradex,apalis_imx6q",
19 		     "fsl,imx6q";
20 
21 	aliases {
22 		i2c0 = &i2c1;
23 		i2c1 = &i2c3;
24 		i2c2 = &i2c2;
25 		rtc0 = &rtc_i2c;
26 		rtc1 = &snvs_rtc;
27 	};
28 
29 	chosen {
30 		stdout-path = "serial0:115200n8";
31 	};
32 
33 	leds {
34 		compatible = "gpio-leds";
35 		pinctrl-names = "default";
36 		pinctrl-0 = <&pinctrl_leds_ixora>;
37 
38 		led4-green {
39 			gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>;
40 			label = "LED_4_GREEN";
41 		};
42 
43 		led4-red {
44 			gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>;
45 			label = "LED_4_RED";
46 		};
47 
48 		led5-green {
49 			gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
50 			label = "LED_5_GREEN";
51 		};
52 
53 		led5-red {
54 			gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
55 			label = "LED_5_RED";
56 		};
57 	};
58 };
59 
60 &can1 {
61 	status = "okay";
62 };
63 
64 &can2 {
65 	status = "okay";
66 };
67 
68 /* I2C1_SDA/SCL on MXM3 209/211 (e.g. RTC on carrier board) */
69 &i2c1 {
70 	status = "okay";
71 
72 	eeprom@50 {
73 		compatible = "atmel,24c02";
74 		reg = <0x50>;
75 	};
76 
77 	/* M41T0M6 real time clock on carrier board */
78 	rtc_i2c: rtc@68 {
79 		compatible = "st,m41t0";
80 		reg = <0x68>;
81 	};
82 };
83 
84 /*
85  * I2C3_SDA/SCL (CAM) on MXM3 pin 201/203 (e.g. camera sensor on carrier
86  * board)
87  */
88 &i2c3 {
89 	status = "okay";
90 };
91 
92 &pcie {
93 	pinctrl-names = "default";
94 	pinctrl-0 = <&pinctrl_reset_moci>;
95 	/* active-high meaning opposite of regular PERST# active-low polarity */
96 	reset-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
97 	reset-gpio-active-high;
98 	status = "okay";
99 };
100 
101 &pwm1 {
102 	status = "okay";
103 };
104 
105 &pwm2 {
106 	status = "okay";
107 };
108 
109 &pwm3 {
110 	status = "okay";
111 };
112 
113 &pwm4 {
114 	status = "okay";
115 };
116 
117 &reg_usb_host_vbus {
118 	status = "okay";
119 };
120 
121 &reg_usb_otg_vbus {
122 	status = "okay";
123 };
124 
125 &sata {
126 	status = "okay";
127 };
128 
129 &sound_spdif {
130 	status = "okay";
131 };
132 
133 &spdif {
134 	status = "okay";
135 };
136 
137 &uart1 {
138 	status = "okay";
139 };
140 
141 &uart2 {
142 	status = "okay";
143 };
144 
145 &uart4 {
146 	status = "okay";
147 };
148 
149 &uart5 {
150 	status = "okay";
151 };
152 
153 &usbh1 {
154 	disable-over-current;
155 	vbus-supply = <&reg_usb_host_vbus>;
156 	status = "okay";
157 };
158 
159 &usbotg {
160 	disable-over-current;
161 	vbus-supply = <&reg_usb_otg_vbus>;
162 	status = "okay";
163 };
164 
165 /* SD1 */
166 &usdhc2 {
167 	cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
168 	pinctrl-names = "default";
169 	pinctrl-0 = <&pinctrl_usdhc2 &pinctrl_sd_cd>;
170 	status = "okay";
171 };
172 
173 &iomuxc {
174 	pinctrl_leds_ixora: ledsixoragrp {
175 		fsl,pins = <
176 			MX6QDL_PAD_SD1_DAT1__GPIO1_IO17 0x1b0b0
177 			MX6QDL_PAD_SD1_DAT3__GPIO1_IO21 0x1b0b0
178 			MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x1b0b0
179 			MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x1b0b0
180 		>;
181 	};
182 };
183