Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.2.
  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 V1.2";
 18	compatible = "toradex,apalis_imx6q-ixora-v1.2", "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
 36		pinctrl-names = "default";
 37		pinctrl-0 = <&pinctrl_leds_ixora>;
 38
 39		led4-green {
 40			gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
 41			label = "LED_4_GREEN";
 42		};
 43
 44		led4-red {
 45			gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
 46			label = "LED_4_RED";
 47		};
 48
 49		led5-green {
 50			gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
 51			label = "LED_5_GREEN";
 52		};
 53
 54		led5-red {
 55			gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
 56			label = "LED_5_RED";
 57		};
 58	};
 59
 60	reg_3v3_vmmc: regulator-3v3-vmmc {
 61		compatible = "regulator-fixed";
 62		enable-active-high;
 63		gpio = <&gpio2 0 GPIO_ACTIVE_HIGH>;
 64		pinctrl-names = "default";
 65		pinctrl-0 = <&pinctrl_enable_3v3_vmmc>;
 66		regulator-max-microvolt = <3300000>;
 67		regulator-min-microvolt = <3300000>;
 68		regulator-name = "3v3_vmmc";
 69		startup-delay-us = <100>;
 70	};
 71
 72	reg_can1_supply: regulator-can1-supply {
 73		compatible = "regulator-fixed";
 74		enable-active-high;
 75		gpio = <&gpio2 3 GPIO_ACTIVE_HIGH>;
 76		pinctrl-names = "default";
 77		pinctrl-0 = <&pinctrl_enable_can1_power>;
 78		regulator-name = "can1_supply";
 79		startup-delay-us = <1000>;
 80	};
 81
 82	reg_can2_supply: regulator-can2-supply {
 83		compatible = "regulator-fixed";
 84		enable-active-high;
 85		gpio = <&gpio3 15 GPIO_ACTIVE_HIGH>;
 86		pinctrl-names = "default";
 87		pinctrl-0 = <&pinctrl_enable_can2_power>;
 88		regulator-name = "can2_supply";
 89		startup-delay-us = <1000>;
 90	};
 91};
 92
 93&can1 {
 94	xceiver-supply = <&reg_can1_supply>;
 95	status = "okay";
 96};
 97
 98&can2 {
 99	xceiver-supply = <&reg_can2_supply>;
100	status = "okay";
101};
102
103&gpio1 {
104	pinctrl-names = "default";
105	pinctrl-0 = <&pinctrl_uart24_forceoff>;
106
107	/*
108	 * uart-2-4-on-x21-enable-hog enables the UART transceiver for Apalis
109	 * UART2 and UART3. If one wants to disable the transceiver force
110	 * the GPIO to output-low, if one wants to control the transceiver
111	 * from user space delete the hog node.
112	 */
113	uart-2-4-on-x21-enable-hog {
114		gpio-hog;
115		gpios = <11 GPIO_ACTIVE_HIGH>; /* MXM3 180 */
116		output-high;
117	};
118};
119
120/* I2C1_SDA/SCL on MXM3 209/211 (e.g. RTC on carrier board) */
121&i2c1 {
122	status = "okay";
123
124	/* M41T0M6 real time clock on carrier board */
125	rtc_i2c: rtc@68 {
126		compatible = "st,m41t0";
127		reg = <0x68>;
128	};
129
130	eeprom: eeprom@50 {
131		compatible = "atmel,24c02";
132		reg = <0x50>;
133		pagesize = <16>;
134	};
135};
136
137/*
138 * I2C3_SDA/SCL (CAM) on MXM3 pin 201/203 (e.g. camera sensor on carrier
139 * board)
140 */
141&i2c3 {
142	status = "okay";
143};
144
145&pcie {
146	pinctrl-names = "default";
147	pinctrl-0 = <&pinctrl_reset_moci>;
148	/* active-high meaning opposite of regular PERST# active-low polarity */
149	reset-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
150	reset-gpio-active-high;
151	status = "okay";
152};
153
154&pwm1 {
155	status = "okay";
156};
157
158&pwm2 {
159	status = "okay";
160};
161
162&pwm3 {
163	status = "okay";
164};
165
166&pwm4 {
167	status = "okay";
168};
169
170&reg_usb_host_vbus {
171	status = "okay";
172};
173
174&reg_usb_otg_vbus {
175	status = "okay";
176};
177
178&sata {
179	status = "okay";
180};
181
182&sound_spdif {
183	status = "okay";
184};
185
186&spdif {
187	status = "okay";
188};
189
190&uart1 {
191	status = "okay";
192};
193
194&uart2 {
195	status = "okay";
196};
197
198&uart4 {
199	status = "okay";
200};
201
202&uart5 {
203	status = "okay";
204};
205
206&usbh1 {
207	disable-over-current;
208	vbus-supply = <&reg_usb_host_vbus>;
209	status = "okay";
210};
211
212&usbotg {
213	disable-over-current;
214	vbus-supply = <&reg_usb_otg_vbus>;
215	status = "okay";
216};
217
218/* MMC1 */
219&usdhc1 {
220	pinctrl-names = "default", "sleep";
221	pinctrl-0 = <&pinctrl_usdhc1_4bit &pinctrl_mmc_cd>;
222	pinctrl-1 = <&pinctrl_usdhc1_4bit_sleep &pinctrl_mmc_cd_sleep>;
223	bus-width = <4>;
224	cap-power-off-card;
225	vmmc-supply = <&reg_3v3_vmmc>;
226	status = "okay";
227};
228
229&iomuxc {
230	pinctrl_enable_3v3_vmmc: enable3v3vmmcgrp {
231		fsl,pins = <
232			MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x1b0b0
233		>;
234	};
235
236	pinctrl_enable_can1_power: enablecan1powergrp {
237		fsl,pins = <
238			MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x1b0b0
239		>;
240	};
241
242	pinctrl_enable_can2_power: enablecan2powergrp {
243		fsl,pins = <
244			MX6QDL_PAD_EIM_DA15__GPIO3_IO15 0x1b0b0
245		>;
246	};
247
248	pinctrl_uart24_forceoff: uart24forceoffgrp {
249		fsl,pins = <
250			MX6QDL_PAD_SD2_CMD__GPIO1_IO11 0x1b0b0
251		>;
252	};
253
254	pinctrl_leds_ixora: ledsixoragrp {
255		fsl,pins = <
256			MX6QDL_PAD_SD2_DAT1__GPIO1_IO14 0x1b0b0
257			MX6QDL_PAD_SD2_DAT3__GPIO1_IO12 0x1b0b0
258			MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x1b0b0
259			MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x1b0b0
260		>;
261	};
262
263	pinctrl_mmc_cd_sleep: mmccdslpgrp {
264		fsl,pins = <
265			 /* MMC1 CD */
266			MX6QDL_PAD_DI0_PIN4__GPIO4_IO20 0x0
267		>;
268	};
269
270	pinctrl_usdhc1_4bit_sleep: usdhc1-4bitslpgrp {
271		fsl,pins = <
272			MX6QDL_PAD_SD1_CMD__SD1_CMD     0x3000
273			MX6QDL_PAD_SD1_CLK__SD1_CLK     0x3000
274			MX6QDL_PAD_SD1_DAT0__SD1_DATA0  0x3000
275			MX6QDL_PAD_SD1_DAT1__SD1_DATA1  0x3000
276			MX6QDL_PAD_SD1_DAT2__SD1_DATA2  0x3000
277			MX6QDL_PAD_SD1_DAT3__SD1_DATA3  0x3000
278		>;
279	};
280};