xref: /freebsd/sys/contrib/device-tree/src/arm/nxp/imx/imx6q-apalis-eval-v1.2.dts (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1*01950c46SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2*01950c46SEmmanuel Vadot/*
3*01950c46SEmmanuel Vadot * Copyright 2024 Toradex
4*01950c46SEmmanuel Vadot */
5*01950c46SEmmanuel Vadot
6*01950c46SEmmanuel Vadot/dts-v1/;
7*01950c46SEmmanuel Vadot
8*01950c46SEmmanuel Vadot#include "imx6q-apalis-eval.dtsi"
9*01950c46SEmmanuel Vadot
10*01950c46SEmmanuel Vadot/ {
11*01950c46SEmmanuel Vadot	model = "Toradex Apalis iMX6Q/D Module on Apalis Evaluation Board v1.2";
12*01950c46SEmmanuel Vadot	compatible = "toradex,apalis_imx6q-eval-v1.2", "toradex,apalis_imx6q",
13*01950c46SEmmanuel Vadot		     "fsl,imx6q";
14*01950c46SEmmanuel Vadot
15*01950c46SEmmanuel Vadot	reg_3v3_mmc: regulator-3v3-mmc {
16*01950c46SEmmanuel Vadot		compatible = "regulator-fixed";
17*01950c46SEmmanuel Vadot		enable-active-high;
18*01950c46SEmmanuel Vadot		gpio = <&gpio2 0 GPIO_ACTIVE_HIGH>;
19*01950c46SEmmanuel Vadot		off-on-delay-us = <100000>;
20*01950c46SEmmanuel Vadot		pinctrl-names = "default";
21*01950c46SEmmanuel Vadot		pinctrl-0 = <&pinctrl_enable_3v3_mmc>;
22*01950c46SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
23*01950c46SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
24*01950c46SEmmanuel Vadot		regulator-name = "3.3V_MMC";
25*01950c46SEmmanuel Vadot		startup-delay-us = <10000>;
26*01950c46SEmmanuel Vadot	};
27*01950c46SEmmanuel Vadot
28*01950c46SEmmanuel Vadot	reg_3v3_sd: regulator-3v3-sd {
29*01950c46SEmmanuel Vadot		compatible = "regulator-fixed";
30*01950c46SEmmanuel Vadot		enable-active-high;
31*01950c46SEmmanuel Vadot		gpio = <&gpio2 1 GPIO_ACTIVE_HIGH>;
32*01950c46SEmmanuel Vadot		off-on-delay-us = <100000>;
33*01950c46SEmmanuel Vadot		pinctrl-names = "default";
34*01950c46SEmmanuel Vadot		pinctrl-0 = <&pinctrl_enable_3v3_sd>;
35*01950c46SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
36*01950c46SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
37*01950c46SEmmanuel Vadot		regulator-name = "3.3V_SD";
38*01950c46SEmmanuel Vadot		startup-delay-us = <10000>;
39*01950c46SEmmanuel Vadot	};
40*01950c46SEmmanuel Vadot
41*01950c46SEmmanuel Vadot	reg_can1: regulator-can1 {
42*01950c46SEmmanuel Vadot		compatible = "regulator-fixed";
43*01950c46SEmmanuel Vadot		enable-active-high;
44*01950c46SEmmanuel Vadot		gpio = <&gpio2 3 GPIO_ACTIVE_HIGH>;
45*01950c46SEmmanuel Vadot		pinctrl-names = "default";
46*01950c46SEmmanuel Vadot		pinctrl-0 = <&pinctrl_enable_can1_power>;
47*01950c46SEmmanuel Vadot		regulator-name = "5V_SW_CAN1";
48*01950c46SEmmanuel Vadot		startup-delay-us = <10000>;
49*01950c46SEmmanuel Vadot	};
50*01950c46SEmmanuel Vadot
51*01950c46SEmmanuel Vadot	reg_can2: regulator-can2 {
52*01950c46SEmmanuel Vadot		compatible = "regulator-fixed";
53*01950c46SEmmanuel Vadot		enable-active-high;
54*01950c46SEmmanuel Vadot		gpio = <&gpio2 2 GPIO_ACTIVE_HIGH>;
55*01950c46SEmmanuel Vadot		pinctrl-names = "default";
56*01950c46SEmmanuel Vadot		pinctrl-0 = <&pinctrl_enable_can2_power>;
57*01950c46SEmmanuel Vadot		regulator-name = "5V_SW_CAN2";
58*01950c46SEmmanuel Vadot		startup-delay-us = <10000>;
59*01950c46SEmmanuel Vadot	};
60*01950c46SEmmanuel Vadot
61*01950c46SEmmanuel Vadot	sound-carrier {
62*01950c46SEmmanuel Vadot		compatible = "simple-audio-card";
63*01950c46SEmmanuel Vadot		simple-audio-card,bitclock-master = <&codec_dai>;
64*01950c46SEmmanuel Vadot		simple-audio-card,format = "i2s";
65*01950c46SEmmanuel Vadot		simple-audio-card,frame-master = <&codec_dai>;
66*01950c46SEmmanuel Vadot		simple-audio-card,name = "apalis-nau8822";
67*01950c46SEmmanuel Vadot		simple-audio-card,routing =
68*01950c46SEmmanuel Vadot			"Headphones", "LHP",
69*01950c46SEmmanuel Vadot			"Headphones", "RHP",
70*01950c46SEmmanuel Vadot			"Speaker", "LSPK",
71*01950c46SEmmanuel Vadot			"Speaker", "RSPK",
72*01950c46SEmmanuel Vadot			"Line Out", "AUXOUT1",
73*01950c46SEmmanuel Vadot			"Line Out", "AUXOUT2",
74*01950c46SEmmanuel Vadot			"LAUX", "Line In",
75*01950c46SEmmanuel Vadot			"RAUX", "Line In",
76*01950c46SEmmanuel Vadot			"LMICP", "Mic In",
77*01950c46SEmmanuel Vadot			"RMICP", "Mic In";
78*01950c46SEmmanuel Vadot		simple-audio-card,widgets =
79*01950c46SEmmanuel Vadot			"Headphones", "Headphones",
80*01950c46SEmmanuel Vadot			"Line Out", "Line Out",
81*01950c46SEmmanuel Vadot			"Speaker", "Speaker",
82*01950c46SEmmanuel Vadot			"Microphone", "Mic In",
83*01950c46SEmmanuel Vadot			"Line", "Line In";
84*01950c46SEmmanuel Vadot
85*01950c46SEmmanuel Vadot		codec_dai: simple-audio-card,codec {
86*01950c46SEmmanuel Vadot			sound-dai = <&nau8822_1a>;
87*01950c46SEmmanuel Vadot			system-clock-frequency = <12288000>;
88*01950c46SEmmanuel Vadot		};
89*01950c46SEmmanuel Vadot
90*01950c46SEmmanuel Vadot		simple-audio-card,cpu {
91*01950c46SEmmanuel Vadot			sound-dai = <&ssi2>;
92*01950c46SEmmanuel Vadot		};
93*01950c46SEmmanuel Vadot	};
94*01950c46SEmmanuel Vadot};
95*01950c46SEmmanuel Vadot
96*01950c46SEmmanuel Vadot&can1 {
97*01950c46SEmmanuel Vadot	xceiver-supply = <&reg_can1>;
98*01950c46SEmmanuel Vadot	status = "okay";
99*01950c46SEmmanuel Vadot};
100*01950c46SEmmanuel Vadot
101*01950c46SEmmanuel Vadot&can2 {
102*01950c46SEmmanuel Vadot	xceiver-supply = <&reg_can2>;
103*01950c46SEmmanuel Vadot	status = "okay";
104*01950c46SEmmanuel Vadot};
105*01950c46SEmmanuel Vadot
106*01950c46SEmmanuel Vadot/* I2C1_SDA/SCL on MXM3 209/211 */
107*01950c46SEmmanuel Vadot&i2c1 {
108*01950c46SEmmanuel Vadot	/* Audio Codec */
109*01950c46SEmmanuel Vadot	nau8822_1a: audio-codec@1a {
110*01950c46SEmmanuel Vadot		compatible = "nuvoton,nau8822";
111*01950c46SEmmanuel Vadot		reg = <0x1a>;
112*01950c46SEmmanuel Vadot		pinctrl-names = "default";
113*01950c46SEmmanuel Vadot		pinctrl-0 = <&pinctrl_nau8822>;
114*01950c46SEmmanuel Vadot		#sound-dai-cells = <0>;
115*01950c46SEmmanuel Vadot	};
116*01950c46SEmmanuel Vadot
117*01950c46SEmmanuel Vadot	/* Current measurement into module VCC */
118*01950c46SEmmanuel Vadot	hwmon@40 {
119*01950c46SEmmanuel Vadot		compatible = "ti,ina219";
120*01950c46SEmmanuel Vadot		reg = <0x40>;
121*01950c46SEmmanuel Vadot		shunt-resistor = <5000>;
122*01950c46SEmmanuel Vadot	};
123*01950c46SEmmanuel Vadot
124*01950c46SEmmanuel Vadot	/* Temperature Sensor */
125*01950c46SEmmanuel Vadot	temperature-sensor@4f {
126*01950c46SEmmanuel Vadot		compatible = "ti,tmp75c";
127*01950c46SEmmanuel Vadot		reg = <0x4f>;
128*01950c46SEmmanuel Vadot	};
129*01950c46SEmmanuel Vadot
130*01950c46SEmmanuel Vadot	/* EEPROM */
131*01950c46SEmmanuel Vadot	eeprom@57 {
132*01950c46SEmmanuel Vadot		compatible = "st,24c02", "atmel,24c02";
133*01950c46SEmmanuel Vadot		reg = <0x57>;
134*01950c46SEmmanuel Vadot		pagesize = <16>;
135*01950c46SEmmanuel Vadot		size = <256>;
136*01950c46SEmmanuel Vadot	};
137*01950c46SEmmanuel Vadot};
138*01950c46SEmmanuel Vadot
139*01950c46SEmmanuel Vadot&pcie {
140*01950c46SEmmanuel Vadot	status = "okay";
141*01950c46SEmmanuel Vadot};
142*01950c46SEmmanuel Vadot
143*01950c46SEmmanuel Vadot&ssi2 {
144*01950c46SEmmanuel Vadot	status = "okay";
145*01950c46SEmmanuel Vadot};
146*01950c46SEmmanuel Vadot
147*01950c46SEmmanuel Vadot/* MMC1 */
148*01950c46SEmmanuel Vadot&usdhc1 {
149*01950c46SEmmanuel Vadot	bus-width = <4>;
150*01950c46SEmmanuel Vadot	pinctrl-0 = <&pinctrl_usdhc1_4bit &pinctrl_mmc_cd>;
151*01950c46SEmmanuel Vadot	vmmc-supply = <&reg_3v3_mmc>;
152*01950c46SEmmanuel Vadot	status = "okay";
153*01950c46SEmmanuel Vadot};
154*01950c46SEmmanuel Vadot
155*01950c46SEmmanuel Vadot/* SD1 */
156*01950c46SEmmanuel Vadot&usdhc2 {
157*01950c46SEmmanuel Vadot	cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
158*01950c46SEmmanuel Vadot	pinctrl-0 = <&pinctrl_usdhc2 &pinctrl_sd_cd>;
159*01950c46SEmmanuel Vadot	vmmc-supply = <&reg_3v3_sd>;
160*01950c46SEmmanuel Vadot	status = "okay";
161*01950c46SEmmanuel Vadot};
162*01950c46SEmmanuel Vadot
163*01950c46SEmmanuel Vadot&iomuxc {
164*01950c46SEmmanuel Vadot	pinctrl_enable_3v3_mmc: enable3v3mmcgrp {
165*01950c46SEmmanuel Vadot		fsl,pins = <
166*01950c46SEmmanuel Vadot			/* MMC1_PWR_CTRL */
167*01950c46SEmmanuel Vadot			MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x1b0b0
168*01950c46SEmmanuel Vadot		>;
169*01950c46SEmmanuel Vadot	};
170*01950c46SEmmanuel Vadot
171*01950c46SEmmanuel Vadot	pinctrl_enable_3v3_sd: enable3v3sdgrp {
172*01950c46SEmmanuel Vadot		fsl,pins = <
173*01950c46SEmmanuel Vadot			/* SD1_PWR_CTRL */
174*01950c46SEmmanuel Vadot			MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x1b0b0
175*01950c46SEmmanuel Vadot		>;
176*01950c46SEmmanuel Vadot	};
177*01950c46SEmmanuel Vadot
178*01950c46SEmmanuel Vadot	pinctrl_enable_can1_power: enablecan1powergrp {
179*01950c46SEmmanuel Vadot		fsl,pins = <
180*01950c46SEmmanuel Vadot			/* CAN1_PWR_EN */
181*01950c46SEmmanuel Vadot			MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x1b0b0
182*01950c46SEmmanuel Vadot		>;
183*01950c46SEmmanuel Vadot	};
184*01950c46SEmmanuel Vadot
185*01950c46SEmmanuel Vadot	pinctrl_enable_can2_power: enablecan2powergrp {
186*01950c46SEmmanuel Vadot		fsl,pins = <
187*01950c46SEmmanuel Vadot			/* CAN2_PWR_EN */
188*01950c46SEmmanuel Vadot			MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x1b0b0
189*01950c46SEmmanuel Vadot		>;
190*01950c46SEmmanuel Vadot	};
191*01950c46SEmmanuel Vadot
192*01950c46SEmmanuel Vadot	pinctrl_nau8822: nau8822grp {
193*01950c46SEmmanuel Vadot		fsl,pins = <
194*01950c46SEmmanuel Vadot			MX6QDL_PAD_DISP0_DAT16__AUD5_TXC	0x130b0
195*01950c46SEmmanuel Vadot			MX6QDL_PAD_DISP0_DAT17__AUD5_TXD	0x130b0
196*01950c46SEmmanuel Vadot			MX6QDL_PAD_DISP0_DAT18__AUD5_TXFS	0x130b0
197*01950c46SEmmanuel Vadot			MX6QDL_PAD_DISP0_DAT19__AUD5_RXD	0x130b0
198*01950c46SEmmanuel Vadot		>;
199*01950c46SEmmanuel Vadot	};
200*01950c46SEmmanuel Vadot};
201