xref: /linux/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81-moduline-display-106.dts (revision 115e74a29b530d121891238e9551c4bcdf7b04b5) !
1*03f07be5SMaud Spierings// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2*03f07be5SMaud Spierings/*
3*03f07be5SMaud Spierings * Copyright 2025 GOcontroll B.V.
4*03f07be5SMaud Spierings * Author: Maud Spierings <maudspierings@gocontroll.com>
5*03f07be5SMaud Spierings */
6*03f07be5SMaud Spierings
7*03f07be5SMaud Spierings/dts-v1/;
8*03f07be5SMaud Spierings
9*03f07be5SMaud Spierings#include "imx8mp-tx8p-ml81.dtsi"
10*03f07be5SMaud Spierings
11*03f07be5SMaud Spierings/ {
12*03f07be5SMaud Spierings	compatible = "gocontroll,moduline-display", "fsl,imx8mp";
13*03f07be5SMaud Spierings	chassis-type = "embedded";
14*03f07be5SMaud Spierings	hardware = "Moduline Display V1.06";
15*03f07be5SMaud Spierings	model = "GOcontroll Moduline Display baseboard";
16*03f07be5SMaud Spierings
17*03f07be5SMaud Spierings	aliases {
18*03f07be5SMaud Spierings		can0 = &flexcan1;
19*03f07be5SMaud Spierings		can1 = &flexcan2;
20*03f07be5SMaud Spierings		ethernet0 = &eqos;
21*03f07be5SMaud Spierings		ethernet1 = &fec;
22*03f07be5SMaud Spierings		mmc0 = &usdhc3;
23*03f07be5SMaud Spierings		mmc1 = &usdhc2;
24*03f07be5SMaud Spierings		rtc0 = &rtc_pcf; /* i2c rtc is the main rtc */
25*03f07be5SMaud Spierings		rtc1 = &snvs_rtc;
26*03f07be5SMaud Spierings		spi0 = &ecspi2; /* spidev number compatibility */
27*03f07be5SMaud Spierings		spi1 = &ecspi1; /* spidev number compatibility */
28*03f07be5SMaud Spierings	};
29*03f07be5SMaud Spierings
30*03f07be5SMaud Spierings	chosen {
31*03f07be5SMaud Spierings		stdout-path = "serial0:115200n8";
32*03f07be5SMaud Spierings	};
33*03f07be5SMaud Spierings
34*03f07be5SMaud Spierings	external-sensor-supply {
35*03f07be5SMaud Spierings		compatible = "regulator-output";
36*03f07be5SMaud Spierings		vout-supply = <&reg_5v0_sensor>;
37*03f07be5SMaud Spierings	};
38*03f07be5SMaud Spierings
39*03f07be5SMaud Spierings	reg_1v8_per: regulator-1v8-per {
40*03f07be5SMaud Spierings		compatible = "regulator-fixed";
41*03f07be5SMaud Spierings		pinctrl-0 = <&pinctrl_reg_1v8>;
42*03f07be5SMaud Spierings		pinctrl-names = "default";
43*03f07be5SMaud Spierings		power-supply = <&reg_3v3_per>;
44*03f07be5SMaud Spierings		regulator-max-microvolt = <1800000>;
45*03f07be5SMaud Spierings		regulator-min-microvolt = <1800000>;
46*03f07be5SMaud Spierings		regulator-name = "1v8-per";
47*03f07be5SMaud Spierings		gpio = <&gpio3 25 GPIO_ACTIVE_HIGH>;
48*03f07be5SMaud Spierings		enable-active-high;
49*03f07be5SMaud Spierings	};
50*03f07be5SMaud Spierings
51*03f07be5SMaud Spierings	reg_3v3_per: regulator-3v3-per {
52*03f07be5SMaud Spierings		compatible = "regulator-fixed";
53*03f07be5SMaud Spierings		power-supply = <&reg_6v4>;
54*03f07be5SMaud Spierings		regulator-always-on;
55*03f07be5SMaud Spierings		regulator-max-microvolt = <3300000>;
56*03f07be5SMaud Spierings		regulator-min-microvolt = <3300000>;
57*03f07be5SMaud Spierings		regulator-name = "3v3-per";
58*03f07be5SMaud Spierings	};
59*03f07be5SMaud Spierings
60*03f07be5SMaud Spierings	reg_5v0: regulator-5v0 {
61*03f07be5SMaud Spierings		compatible = "regulator-fixed";
62*03f07be5SMaud Spierings		power-supply = <&reg_6v4>;
63*03f07be5SMaud Spierings		regulator-always-on;
64*03f07be5SMaud Spierings		regulator-max-microvolt = <5000000>;
65*03f07be5SMaud Spierings		regulator-min-microvolt = <5000000>;
66*03f07be5SMaud Spierings		regulator-name = "5v0";
67*03f07be5SMaud Spierings	};
68*03f07be5SMaud Spierings
69*03f07be5SMaud Spierings	reg_5v0_sensor: regulator-5v0-sensor {
70*03f07be5SMaud Spierings		compatible = "regulator-fixed";
71*03f07be5SMaud Spierings		pinctrl-0 = <&pinctrl_reg_5v0_sensor>;
72*03f07be5SMaud Spierings		pinctrl-names = "default";
73*03f07be5SMaud Spierings		regulator-max-microvolt = <5000000>;
74*03f07be5SMaud Spierings		regulator-min-microvolt = <5000000>;
75*03f07be5SMaud Spierings		regulator-name = "5v0-supply-external-sensor";
76*03f07be5SMaud Spierings		gpio = <&gpio4 9 GPIO_ACTIVE_HIGH>;
77*03f07be5SMaud Spierings		enable-active-high;
78*03f07be5SMaud Spierings	};
79*03f07be5SMaud Spierings
80*03f07be5SMaud Spierings	reg_6v4: regulator-6v4 {
81*03f07be5SMaud Spierings		compatible = "regulator-fixed";
82*03f07be5SMaud Spierings		regulator-always-on;
83*03f07be5SMaud Spierings		regulator-max-microvolt = <6400000>;
84*03f07be5SMaud Spierings		regulator-min-microvolt = <6400000>;
85*03f07be5SMaud Spierings		regulator-name = "6v4";
86*03f07be5SMaud Spierings	};
87*03f07be5SMaud Spierings
88*03f07be5SMaud Spierings	reg_can1_stby: regulator-can1-stby {
89*03f07be5SMaud Spierings		compatible = "regulator-fixed";
90*03f07be5SMaud Spierings		pinctrl-0 = <&pinctrl_flexcan1_reg>;
91*03f07be5SMaud Spierings		pinctrl-names = "default";
92*03f07be5SMaud Spierings		regulator-max-microvolt = <3300000>;
93*03f07be5SMaud Spierings		regulator-min-microvolt = <3300000>;
94*03f07be5SMaud Spierings		regulator-name = "can1-stby";
95*03f07be5SMaud Spierings		gpio = <&gpio4 3 GPIO_ACTIVE_LOW>;
96*03f07be5SMaud Spierings	};
97*03f07be5SMaud Spierings
98*03f07be5SMaud Spierings	reg_can2_stby: regulator-can2-stby {
99*03f07be5SMaud Spierings		compatible = "regulator-fixed";
100*03f07be5SMaud Spierings		pinctrl-0 = <&pinctrl_flexcan2_reg>;
101*03f07be5SMaud Spierings		pinctrl-names = "default";
102*03f07be5SMaud Spierings		regulator-max-microvolt = <3300000>;
103*03f07be5SMaud Spierings		regulator-min-microvolt = <3300000>;
104*03f07be5SMaud Spierings		regulator-name = "can2-stby";
105*03f07be5SMaud Spierings		gpio = <&gpio5 9 GPIO_ACTIVE_LOW>;
106*03f07be5SMaud Spierings	};
107*03f07be5SMaud Spierings
108*03f07be5SMaud Spierings	sound {
109*03f07be5SMaud Spierings		compatible = "simple-audio-card";
110*03f07be5SMaud Spierings		simple-audio-card,bitclock-master = <&cpudai>;
111*03f07be5SMaud Spierings		simple-audio-card,format = "i2s";
112*03f07be5SMaud Spierings		simple-audio-card,frame-master = <&cpudai>;
113*03f07be5SMaud Spierings		simple-audio-card,name = "tas2505-audio";
114*03f07be5SMaud Spierings		simple-audio-card,routing = "Speaker", "DAC";
115*03f07be5SMaud Spierings		simple-audio-card,widgets = "Speaker", "Speaker External";
116*03f07be5SMaud Spierings
117*03f07be5SMaud Spierings		simple-audio-card,codec {
118*03f07be5SMaud Spierings			sound-dai = <&tas2505>;
119*03f07be5SMaud Spierings		};
120*03f07be5SMaud Spierings
121*03f07be5SMaud Spierings		cpudai: simple-audio-card,cpu {
122*03f07be5SMaud Spierings			sound-dai = <&sai6>;
123*03f07be5SMaud Spierings		};
124*03f07be5SMaud Spierings	};
125*03f07be5SMaud Spierings
126*03f07be5SMaud Spierings	wifi_powerseq: wifi-powerseq {
127*03f07be5SMaud Spierings		compatible = "mmc-pwrseq-simple";
128*03f07be5SMaud Spierings		pinctrl-0 = <&pinctrl_wl_reg>;
129*03f07be5SMaud Spierings		pinctrl-names = "default";
130*03f07be5SMaud Spierings		post-power-on-delay-ms = <100>;
131*03f07be5SMaud Spierings		power-off-delay-us = <500000>;
132*03f07be5SMaud Spierings		reset-gpios = <&gpio2 19 GPIO_ACTIVE_LOW>;
133*03f07be5SMaud Spierings	};
134*03f07be5SMaud Spierings};
135*03f07be5SMaud Spierings
136*03f07be5SMaud Spierings&ecspi1 {
137*03f07be5SMaud Spierings	cs-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>,
138*03f07be5SMaud Spierings		   <&gpio1 11 GPIO_ACTIVE_LOW>,
139*03f07be5SMaud Spierings		   <&gpio1 10 GPIO_ACTIVE_LOW>;
140*03f07be5SMaud Spierings	pinctrl-0 = <&pinctrl_ecspi1>;
141*03f07be5SMaud Spierings	pinctrl-names = "default";
142*03f07be5SMaud Spierings	status = "okay";
143*03f07be5SMaud Spierings
144*03f07be5SMaud Spierings	connector@0 {
145*03f07be5SMaud Spierings		compatible = "gocontroll,moduline-module-slot";
146*03f07be5SMaud Spierings		reg = <0>;
147*03f07be5SMaud Spierings		interrupt-parent = <&gpio4>;
148*03f07be5SMaud Spierings		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
149*03f07be5SMaud Spierings		i2c-bus = <&i2c2>;
150*03f07be5SMaud Spierings		reset-gpios = <&gpio5 10 GPIO_ACTIVE_LOW>;
151*03f07be5SMaud Spierings		slot-number = <1>;
152*03f07be5SMaud Spierings		spi-max-frequency = <54000000>;
153*03f07be5SMaud Spierings		sync-gpios = <&gpio4 16 GPIO_ACTIVE_HIGH>;
154*03f07be5SMaud Spierings		vddhpp-supply = <&reg_6v4>;
155*03f07be5SMaud Spierings		vddp-supply = <&reg_5v0>;
156*03f07be5SMaud Spierings		vdd-supply = <&reg_3v3_per>;
157*03f07be5SMaud Spierings	};
158*03f07be5SMaud Spierings
159*03f07be5SMaud Spierings	connector@1 {
160*03f07be5SMaud Spierings		compatible = "gocontroll,moduline-module-slot";
161*03f07be5SMaud Spierings		reg = <1>;
162*03f07be5SMaud Spierings		interrupt-parent = <&gpio1>;
163*03f07be5SMaud Spierings		interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
164*03f07be5SMaud Spierings		i2c-bus = <&i2c2>;
165*03f07be5SMaud Spierings		reset-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
166*03f07be5SMaud Spierings		slot-number = <2>;
167*03f07be5SMaud Spierings		spi-max-frequency = <54000000>;
168*03f07be5SMaud Spierings		sync-gpios = <&gpio4 16 GPIO_ACTIVE_HIGH>;
169*03f07be5SMaud Spierings		vddhpp-supply = <&reg_6v4>;
170*03f07be5SMaud Spierings		vddp-supply = <&reg_5v0>;
171*03f07be5SMaud Spierings		vdd-supply = <&reg_3v3_per>;
172*03f07be5SMaud Spierings	};
173*03f07be5SMaud Spierings
174*03f07be5SMaud Spierings	adc@2 {
175*03f07be5SMaud Spierings		compatible = "microchip,mcp3004";
176*03f07be5SMaud Spierings		reg = <2>;
177*03f07be5SMaud Spierings		spi-max-frequency = <2300000>;
178*03f07be5SMaud Spierings		vref-supply = <&reg_vdd_3v3>;
179*03f07be5SMaud Spierings	};
180*03f07be5SMaud Spierings};
181*03f07be5SMaud Spierings
182*03f07be5SMaud Spierings&flexcan1 {
183*03f07be5SMaud Spierings	pinctrl-0 = <&pinctrl_flexcan1>;
184*03f07be5SMaud Spierings	pinctrl-names = "default";
185*03f07be5SMaud Spierings	xceiver-supply = <&reg_can1_stby>;
186*03f07be5SMaud Spierings	status = "okay";
187*03f07be5SMaud Spierings};
188*03f07be5SMaud Spierings
189*03f07be5SMaud Spierings&flexcan2 {
190*03f07be5SMaud Spierings	pinctrl-0 = <&pinctrl_flexcan2>;
191*03f07be5SMaud Spierings	pinctrl-names = "default";
192*03f07be5SMaud Spierings	xceiver-supply = <&reg_can2_stby>;
193*03f07be5SMaud Spierings	status = "okay";
194*03f07be5SMaud Spierings};
195*03f07be5SMaud Spierings
196*03f07be5SMaud Spierings&i2c2 {
197*03f07be5SMaud Spierings	clock-frequency = <400000>;
198*03f07be5SMaud Spierings	pinctrl-0 = <&pinctrl_i2c2>;
199*03f07be5SMaud Spierings	pinctrl-1 = <&pinctrl_i2c2_gpio>;
200*03f07be5SMaud Spierings	pinctrl-names = "default", "gpio";
201*03f07be5SMaud Spierings	scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
202*03f07be5SMaud Spierings	sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
203*03f07be5SMaud Spierings	status = "okay";
204*03f07be5SMaud Spierings};
205*03f07be5SMaud Spierings
206*03f07be5SMaud Spierings&i2c4 {
207*03f07be5SMaud Spierings	clock-frequency = <400000>;
208*03f07be5SMaud Spierings	pinctrl-0 = <&pinctrl_i2c4>;
209*03f07be5SMaud Spierings	pinctrl-1 = <&pinctrl_i2c4_gpio>;
210*03f07be5SMaud Spierings	pinctrl-names = "default", "gpio";
211*03f07be5SMaud Spierings	scl-gpios = <&gpio5 12 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
212*03f07be5SMaud Spierings	sda-gpios = <&gpio5 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
213*03f07be5SMaud Spierings	status = "okay";
214*03f07be5SMaud Spierings
215*03f07be5SMaud Spierings	tas2505: audio-codec@18 {
216*03f07be5SMaud Spierings		compatible = "ti,tas2505";
217*03f07be5SMaud Spierings		reg = <0x18>;
218*03f07be5SMaud Spierings		clocks = <&clk IMX8MP_CLK_AUDIOMIX_SAI6_MCLK1>;
219*03f07be5SMaud Spierings		clock-names = "mclk";
220*03f07be5SMaud Spierings		#sound-dai-cells = <0>;
221*03f07be5SMaud Spierings		aic32x4-gpio-func = <0xff 0xff 0xff 0xff 0xff>;
222*03f07be5SMaud Spierings		av-supply = <&reg_1v8_per>;
223*03f07be5SMaud Spierings		dv-supply = <&reg_1v8_per>;
224*03f07be5SMaud Spierings		iov-supply = <&reg_vdd_3v3>;
225*03f07be5SMaud Spierings		pinctrl-0 = <&pinctrl_tas_reset>;
226*03f07be5SMaud Spierings		pinctrl-names = "default";
227*03f07be5SMaud Spierings		reset-gpios = <&gpio3 24 GPIO_ACTIVE_LOW>;
228*03f07be5SMaud Spierings	};
229*03f07be5SMaud Spierings
230*03f07be5SMaud Spierings	rtc_pcf: rtc@51 {
231*03f07be5SMaud Spierings		compatible = "nxp,pcf85063a";
232*03f07be5SMaud Spierings		reg = <0x51>;
233*03f07be5SMaud Spierings		quartz-load-femtofarads = <7000>;
234*03f07be5SMaud Spierings
235*03f07be5SMaud Spierings		clock {
236*03f07be5SMaud Spierings			compatible = "fixed-clock";
237*03f07be5SMaud Spierings			#clock-cells = <0>;
238*03f07be5SMaud Spierings			clock-frequency = <32768>;
239*03f07be5SMaud Spierings		};
240*03f07be5SMaud Spierings	};
241*03f07be5SMaud Spierings};
242*03f07be5SMaud Spierings
243*03f07be5SMaud Spierings&iomuxc {
244*03f07be5SMaud Spierings	pinctrl_bt: btgrp {
245*03f07be5SMaud Spierings		fsl,pins = <
246*03f07be5SMaud Spierings			MX8MP_IOMUXC_GPIO1_IO14__GPIO1_IO14
247*03f07be5SMaud Spierings				MX8MP_DSE_X1
248*03f07be5SMaud Spierings			MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12
249*03f07be5SMaud Spierings				(MX8MP_PULL_UP | MX8MP_PULL_ENABLE | MX8MP_HYS_SCHMITT)
250*03f07be5SMaud Spierings			MX8MP_IOMUXC_GPIO1_IO15__GPIO1_IO15
251*03f07be5SMaud Spierings				MX8MP_DSE_X1
252*03f07be5SMaud Spierings		>;
253*03f07be5SMaud Spierings	};
254*03f07be5SMaud Spierings
255*03f07be5SMaud Spierings	pinctrl_ecspi1: ecspi1grp {
256*03f07be5SMaud Spierings		fsl,pins = <
257*03f07be5SMaud Spierings			MX8MP_IOMUXC_ECSPI1_MOSI__ECSPI1_MOSI
258*03f07be5SMaud Spierings				MX8MP_DSE_X4
259*03f07be5SMaud Spierings			MX8MP_IOMUXC_ECSPI1_MISO__ECSPI1_MISO
260*03f07be5SMaud Spierings				(MX8MP_DSE_X4 | MX8MP_HYS_SCHMITT)
261*03f07be5SMaud Spierings			MX8MP_IOMUXC_ECSPI1_SCLK__ECSPI1_SCLK
262*03f07be5SMaud Spierings				MX8MP_DSE_X4
263*03f07be5SMaud Spierings			MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12
264*03f07be5SMaud Spierings				MX8MP_DSE_X1
265*03f07be5SMaud Spierings			MX8MP_IOMUXC_GPIO1_IO11__GPIO1_IO11
266*03f07be5SMaud Spierings				MX8MP_DSE_X1
267*03f07be5SMaud Spierings			MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10
268*03f07be5SMaud Spierings				MX8MP_DSE_X1
269*03f07be5SMaud Spierings		>;
270*03f07be5SMaud Spierings	};
271*03f07be5SMaud Spierings
272*03f07be5SMaud Spierings	pinctrl_flexcan1: flexcan1grp {
273*03f07be5SMaud Spierings		fsl,pins = <
274*03f07be5SMaud Spierings			 MX8MP_IOMUXC_SPDIF_RX__CAN1_RX
275*03f07be5SMaud Spierings				 (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
276*03f07be5SMaud Spierings			 MX8MP_IOMUXC_SPDIF_TX__CAN1_TX
277*03f07be5SMaud Spierings				 (MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
278*03f07be5SMaud Spierings		>;
279*03f07be5SMaud Spierings	};
280*03f07be5SMaud Spierings
281*03f07be5SMaud Spierings	pinctrl_flexcan1_reg: flexcan1reggrp {
282*03f07be5SMaud Spierings		fsl,pins = <
283*03f07be5SMaud Spierings			MX8MP_IOMUXC_SAI1_RXD1__GPIO4_IO03
284*03f07be5SMaud Spierings				(MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
285*03f07be5SMaud Spierings		>;
286*03f07be5SMaud Spierings	};
287*03f07be5SMaud Spierings
288*03f07be5SMaud Spierings	pinctrl_flexcan2: flexcan2grp {
289*03f07be5SMaud Spierings		fsl,pins = <
290*03f07be5SMaud Spierings			MX8MP_IOMUXC_UART3_TXD__CAN2_RX
291*03f07be5SMaud Spierings				(MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
292*03f07be5SMaud Spierings			MX8MP_IOMUXC_UART3_RXD__CAN2_TX
293*03f07be5SMaud Spierings				(MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
294*03f07be5SMaud Spierings		>;
295*03f07be5SMaud Spierings	};
296*03f07be5SMaud Spierings
297*03f07be5SMaud Spierings	pinctrl_flexcan2_reg: flexcan2reggrp {
298*03f07be5SMaud Spierings		fsl,pins = <
299*03f07be5SMaud Spierings			MX8MP_IOMUXC_ECSPI1_SS0__GPIO5_IO09
300*03f07be5SMaud Spierings				(MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
301*03f07be5SMaud Spierings		>;
302*03f07be5SMaud Spierings	};
303*03f07be5SMaud Spierings
304*03f07be5SMaud Spierings	pinctrl_i2c2: i2c2grp {
305*03f07be5SMaud Spierings		fsl,pins = <
306*03f07be5SMaud Spierings			MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL
307*03f07be5SMaud Spierings				MX8MP_I2C_DEFAULT
308*03f07be5SMaud Spierings			MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA
309*03f07be5SMaud Spierings				MX8MP_I2C_DEFAULT
310*03f07be5SMaud Spierings		>;
311*03f07be5SMaud Spierings	};
312*03f07be5SMaud Spierings
313*03f07be5SMaud Spierings	pinctrl_i2c2_gpio: i2c2-gpiogrp {
314*03f07be5SMaud Spierings		fsl,pins = <
315*03f07be5SMaud Spierings			MX8MP_IOMUXC_I2C2_SCL__GPIO5_IO16
316*03f07be5SMaud Spierings				MX8MP_I2C_DEFAULT
317*03f07be5SMaud Spierings			MX8MP_IOMUXC_I2C2_SDA__GPIO5_IO17
318*03f07be5SMaud Spierings				MX8MP_I2C_DEFAULT
319*03f07be5SMaud Spierings		>;
320*03f07be5SMaud Spierings	};
321*03f07be5SMaud Spierings
322*03f07be5SMaud Spierings	pinctrl_i2c4: i2c4grp {
323*03f07be5SMaud Spierings		fsl,pins = <
324*03f07be5SMaud Spierings			MX8MP_IOMUXC_ECSPI2_MISO__I2C4_SCL
325*03f07be5SMaud Spierings				MX8MP_I2C_DEFAULT
326*03f07be5SMaud Spierings			MX8MP_IOMUXC_ECSPI2_SS0__I2C4_SDA
327*03f07be5SMaud Spierings				MX8MP_I2C_DEFAULT
328*03f07be5SMaud Spierings		>;
329*03f07be5SMaud Spierings	};
330*03f07be5SMaud Spierings
331*03f07be5SMaud Spierings	pinctrl_i2c4_gpio: i2c4-gpiogrp {
332*03f07be5SMaud Spierings		fsl,pins = <
333*03f07be5SMaud Spierings			MX8MP_IOMUXC_ECSPI2_MISO__GPIO5_IO12
334*03f07be5SMaud Spierings				MX8MP_I2C_DEFAULT
335*03f07be5SMaud Spierings			MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13
336*03f07be5SMaud Spierings				MX8MP_I2C_DEFAULT
337*03f07be5SMaud Spierings		>;
338*03f07be5SMaud Spierings	};
339*03f07be5SMaud Spierings
340*03f07be5SMaud Spierings	pinctrl_usdhc2: pinctrlusdhc2grp {
341*03f07be5SMaud Spierings		fsl,pins = <
342*03f07be5SMaud Spierings			MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK
343*03f07be5SMaud Spierings				(MX8MP_DSE_X2 | MX8MP_FSEL_FAST | MX8MP_PULL_ENABLE)
344*03f07be5SMaud Spierings			MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD
345*03f07be5SMaud Spierings				(MX8MP_DSE_X2 | MX8MP_USDHC_DATA_DEFAULT)
346*03f07be5SMaud Spierings			MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0
347*03f07be5SMaud Spierings				(MX8MP_DSE_X2 | MX8MP_USDHC_DATA_DEFAULT)
348*03f07be5SMaud Spierings			MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1
349*03f07be5SMaud Spierings				(MX8MP_DSE_X2 | MX8MP_USDHC_DATA_DEFAULT)
350*03f07be5SMaud Spierings			MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2
351*03f07be5SMaud Spierings				(MX8MP_DSE_X2 | MX8MP_USDHC_DATA_DEFAULT)
352*03f07be5SMaud Spierings			MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3
353*03f07be5SMaud Spierings				(MX8MP_DSE_X2 | MX8MP_USDHC_DATA_DEFAULT)
354*03f07be5SMaud Spierings		>;
355*03f07be5SMaud Spierings	};
356*03f07be5SMaud Spierings
357*03f07be5SMaud Spierings	pinctrl_reg_1v8: reg-1v8-grp {
358*03f07be5SMaud Spierings		fsl,pins = <
359*03f07be5SMaud Spierings			MX8MP_IOMUXC_SAI5_MCLK__GPIO3_IO25
360*03f07be5SMaud Spierings				MX8MP_DSE_X1
361*03f07be5SMaud Spierings		>;
362*03f07be5SMaud Spierings	};
363*03f07be5SMaud Spierings
364*03f07be5SMaud Spierings	pinctrl_reg_5v0_sensor: reg-5v0-sensorgrp {
365*03f07be5SMaud Spierings		fsl,pins = <
366*03f07be5SMaud Spierings			MX8MP_IOMUXC_SAI1_RXD7__GPIO4_IO09
367*03f07be5SMaud Spierings				MX8MP_DSE_X1
368*03f07be5SMaud Spierings		>;
369*03f07be5SMaud Spierings	};
370*03f07be5SMaud Spierings
371*03f07be5SMaud Spierings	pinctrl_sai6: sai6grp {
372*03f07be5SMaud Spierings		fsl,pins = <
373*03f07be5SMaud Spierings			MX8MP_IOMUXC_SAI1_TXD6__AUDIOMIX_SAI6_TX_SYNC
374*03f07be5SMaud Spierings				(MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_HYS_SCHMITT)
375*03f07be5SMaud Spierings			MX8MP_IOMUXC_SAI1_RXD4__AUDIOMIX_SAI6_TX_BCLK
376*03f07be5SMaud Spierings				(MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_HYS_SCHMITT)
377*03f07be5SMaud Spierings			MX8MP_IOMUXC_SAI1_TXD5__AUDIOMIX_SAI6_TX_DATA00
378*03f07be5SMaud Spierings				(MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_HYS_SCHMITT)
379*03f07be5SMaud Spierings			MX8MP_IOMUXC_SAI1_TXD7__AUDIOMIX_SAI6_MCLK
380*03f07be5SMaud Spierings				(MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_HYS_SCHMITT)
381*03f07be5SMaud Spierings			MX8MP_IOMUXC_SAI1_RXD5__AUDIOMIX_SAI6_RX_DATA00
382*03f07be5SMaud Spierings				(MX8MP_DSE_X6 | MX8MP_FSEL_FAST | MX8MP_HYS_SCHMITT)
383*03f07be5SMaud Spierings		>;
384*03f07be5SMaud Spierings	};
385*03f07be5SMaud Spierings
386*03f07be5SMaud Spierings	pinctrl_tas_reset: tasresetgrp {
387*03f07be5SMaud Spierings		fsl,pins = <
388*03f07be5SMaud Spierings			MX8MP_IOMUXC_SAI5_RXD3__GPIO3_IO24
389*03f07be5SMaud Spierings				MX8MP_DSE_X1
390*03f07be5SMaud Spierings		>;
391*03f07be5SMaud Spierings	};
392*03f07be5SMaud Spierings
393*03f07be5SMaud Spierings	pinctrl_uart1: uart1grp {
394*03f07be5SMaud Spierings		fsl,pins = <
395*03f07be5SMaud Spierings			MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX
396*03f07be5SMaud Spierings				(MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
397*03f07be5SMaud Spierings			MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX
398*03f07be5SMaud Spierings				(MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
399*03f07be5SMaud Spierings		>;
400*03f07be5SMaud Spierings	};
401*03f07be5SMaud Spierings
402*03f07be5SMaud Spierings	pinctrl_uart2: uart2grp {
403*03f07be5SMaud Spierings		fsl,pins = <
404*03f07be5SMaud Spierings			MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX
405*03f07be5SMaud Spierings				(MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
406*03f07be5SMaud Spierings			MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX
407*03f07be5SMaud Spierings				(MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
408*03f07be5SMaud Spierings			MX8MP_IOMUXC_SAI3_RXD__UART2_DCE_RTS
409*03f07be5SMaud Spierings				(MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
410*03f07be5SMaud Spierings			MX8MP_IOMUXC_SAI3_RXC__UART2_DCE_CTS
411*03f07be5SMaud Spierings				(MX8MP_PULL_UP | MX8MP_PULL_ENABLE)
412*03f07be5SMaud Spierings		>;
413*03f07be5SMaud Spierings	};
414*03f07be5SMaud Spierings
415*03f07be5SMaud Spierings	pinctrl_wdog: wdoggrp {
416*03f07be5SMaud Spierings		fsl,pins = <
417*03f07be5SMaud Spierings			MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B
418*03f07be5SMaud Spierings				(MX8MP_DSE_X6 | MX8MP_HYS_SCHMITT)
419*03f07be5SMaud Spierings		>;
420*03f07be5SMaud Spierings	};
421*03f07be5SMaud Spierings
422*03f07be5SMaud Spierings	pinctrl_wl_int: wlintgrp {
423*03f07be5SMaud Spierings		fsl,pins = <
424*03f07be5SMaud Spierings			MX8MP_IOMUXC_GPIO1_IO13__GPIO1_IO13
425*03f07be5SMaud Spierings				(MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
426*03f07be5SMaud Spierings		>;
427*03f07be5SMaud Spierings	};
428*03f07be5SMaud Spierings
429*03f07be5SMaud Spierings	pinctrl_wl_reg: wlreggrp {
430*03f07be5SMaud Spierings		fsl,pins = <
431*03f07be5SMaud Spierings			MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19
432*03f07be5SMaud Spierings				MX8MP_DSE_X1
433*03f07be5SMaud Spierings		>;
434*03f07be5SMaud Spierings	};
435*03f07be5SMaud Spierings};
436*03f07be5SMaud Spierings
437*03f07be5SMaud Spierings&sai6 {
438*03f07be5SMaud Spierings	assigned-clocks = <&clk IMX8MP_CLK_SAI6>;
439*03f07be5SMaud Spierings	assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
440*03f07be5SMaud Spierings	assigned-clock-rates = <12288000>;
441*03f07be5SMaud Spierings	pinctrl-0 = <&pinctrl_sai6>;
442*03f07be5SMaud Spierings	pinctrl-names = "default";
443*03f07be5SMaud Spierings	fsl,sai-mclk-direction-output;
444*03f07be5SMaud Spierings	status = "okay";
445*03f07be5SMaud Spierings};
446*03f07be5SMaud Spierings
447*03f07be5SMaud Spierings&uart1 {
448*03f07be5SMaud Spierings	pinctrl-0 = <&pinctrl_uart1>;
449*03f07be5SMaud Spierings	pinctrl-names = "default";
450*03f07be5SMaud Spierings	status = "okay";
451*03f07be5SMaud Spierings};
452*03f07be5SMaud Spierings
453*03f07be5SMaud Spierings&uart2 {
454*03f07be5SMaud Spierings	pinctrl-0 = <&pinctrl_uart2>;
455*03f07be5SMaud Spierings	pinctrl-names = "default";
456*03f07be5SMaud Spierings	uart-has-rtscts;
457*03f07be5SMaud Spierings	status = "okay";
458*03f07be5SMaud Spierings
459*03f07be5SMaud Spierings	bluetooth {
460*03f07be5SMaud Spierings		compatible = "infineon,cyw43439-bt", "brcm,bcm4329-bt";
461*03f07be5SMaud Spierings		interrupt-parent = <&gpio1>;
462*03f07be5SMaud Spierings		interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
463*03f07be5SMaud Spierings		interrupt-names = "host-wakeup";
464*03f07be5SMaud Spierings		device-wakeup-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
465*03f07be5SMaud Spierings		max-speed = <921600>;
466*03f07be5SMaud Spierings		pinctrl-0 = <&pinctrl_bt>;
467*03f07be5SMaud Spierings		pinctrl-names = "default";
468*03f07be5SMaud Spierings		shutdown-gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
469*03f07be5SMaud Spierings		vbat-supply = <&reg_3v3_per>;
470*03f07be5SMaud Spierings		vddio-supply = <&reg_3v3_per>;
471*03f07be5SMaud Spierings	};
472*03f07be5SMaud Spierings};
473*03f07be5SMaud Spierings
474*03f07be5SMaud Spierings&usb3_0 {
475*03f07be5SMaud Spierings	status = "okay";
476*03f07be5SMaud Spierings};
477*03f07be5SMaud Spierings
478*03f07be5SMaud Spierings&usb3_1 {
479*03f07be5SMaud Spierings	status = "okay";
480*03f07be5SMaud Spierings};
481*03f07be5SMaud Spierings
482*03f07be5SMaud Spierings&usb3_phy0 {
483*03f07be5SMaud Spierings	status = "okay";
484*03f07be5SMaud Spierings};
485*03f07be5SMaud Spierings
486*03f07be5SMaud Spierings&usb3_phy1 {
487*03f07be5SMaud Spierings	status = "okay";
488*03f07be5SMaud Spierings};
489*03f07be5SMaud Spierings
490*03f07be5SMaud Spierings&usb_dwc3_0 {
491*03f07be5SMaud Spierings	dr_mode = "peripheral";
492*03f07be5SMaud Spierings};
493*03f07be5SMaud Spierings
494*03f07be5SMaud Spierings&usdhc2 {
495*03f07be5SMaud Spierings	#address-cells = <1>;
496*03f07be5SMaud Spierings	#size-cells = <0>;
497*03f07be5SMaud Spierings	assigned-clocks = <&clk IMX8MP_CLK_USDHC2>;
498*03f07be5SMaud Spierings	assigned-clock-rates = <50000000>;
499*03f07be5SMaud Spierings	cap-power-off-card;
500*03f07be5SMaud Spierings	keep-power-in-suspend;
501*03f07be5SMaud Spierings	max-frequency = <50000000>;
502*03f07be5SMaud Spierings	mmc-pwrseq = <&wifi_powerseq>;
503*03f07be5SMaud Spierings	non-removable;
504*03f07be5SMaud Spierings	pinctrl-0 = <&pinctrl_usdhc2>;
505*03f07be5SMaud Spierings	pinctrl-names = "default";
506*03f07be5SMaud Spierings	sd-uhs-sdr25;
507*03f07be5SMaud Spierings	vmmc-supply = <&reg_3v3_per>;
508*03f07be5SMaud Spierings	status = "okay";
509*03f07be5SMaud Spierings
510*03f07be5SMaud Spierings	wifi@1 {
511*03f07be5SMaud Spierings		compatible = "infineon,cyw43439-fmac", "brcm,bcm4329-fmac";
512*03f07be5SMaud Spierings		reg = <1>;
513*03f07be5SMaud Spierings		interrupt-parent = <&gpio1>;
514*03f07be5SMaud Spierings		interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
515*03f07be5SMaud Spierings		interrupt-names = "host-wake";
516*03f07be5SMaud Spierings		pinctrl-0 = <&pinctrl_wl_int>;
517*03f07be5SMaud Spierings		pinctrl-names = "default";
518*03f07be5SMaud Spierings		brcm,board-type = "GOcontroll,moduline";
519*03f07be5SMaud Spierings	};
520*03f07be5SMaud Spierings};
521*03f07be5SMaud Spierings
522*03f07be5SMaud Spierings&wdog1 {
523*03f07be5SMaud Spierings	pinctrl-0 = <&pinctrl_wdog>;
524*03f07be5SMaud Spierings	pinctrl-names = "default";
525*03f07be5SMaud Spierings	fsl,ext-reset-output;
526*03f07be5SMaud Spierings	status = "okay";
527*03f07be5SMaud Spierings};
528