xref: /linux/scripts/dtc/include-prefixes/arm64/freescale/imx8mm-var-dart.dtsi (revision 67f8bc848ee31831336bd478e57d2f993551902e)
1*5297deefSStefano Radaelli// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*5297deefSStefano Radaelli/*
3*5297deefSStefano Radaelli * Common dtsi for Variscite DART-MX8M-MINI
4*5297deefSStefano Radaelli *
5*5297deefSStefano Radaelli * Link: https://variscite.com/system-on-module-som/i-mx-8/i-mx-8m-mini/dart-mx8m-mini/
6*5297deefSStefano Radaelli *
7*5297deefSStefano Radaelli * Copyright (C) 2026 Variscite Ltd. - https://www.variscite.com/
8*5297deefSStefano Radaelli *
9*5297deefSStefano Radaelli */
10*5297deefSStefano Radaelli
11*5297deefSStefano Radaelli/dts-v1/;
12*5297deefSStefano Radaelli
13*5297deefSStefano Radaelli#include "imx8mm.dtsi"
14*5297deefSStefano Radaelli
15*5297deefSStefano Radaelli/ {
16*5297deefSStefano Radaelli	model = "Variscite DART-MX8M-MINI Module";
17*5297deefSStefano Radaelli	compatible = "variscite,var-dart-mx8mm", "fsl,imx8mm";
18*5297deefSStefano Radaelli
19*5297deefSStefano Radaelli	memory@40000000 {
20*5297deefSStefano Radaelli		device_type = "memory";
21*5297deefSStefano Radaelli		reg = <0x0 0x40000000 0 0x80000000>;
22*5297deefSStefano Radaelli	};
23*5297deefSStefano Radaelli
24*5297deefSStefano Radaelli	reg_audio_supply: regulator-3p3v {
25*5297deefSStefano Radaelli		compatible = "regulator-fixed";
26*5297deefSStefano Radaelli		regulator-name = "wm8904-supply";
27*5297deefSStefano Radaelli		regulator-min-microvolt = <3300000>;
28*5297deefSStefano Radaelli		regulator-max-microvolt = <3300000>;
29*5297deefSStefano Radaelli		regulator-always-on;
30*5297deefSStefano Radaelli	};
31*5297deefSStefano Radaelli
32*5297deefSStefano Radaelli	reg_eth_phy: regulator-eth-phy {
33*5297deefSStefano Radaelli		compatible = "regulator-fixed";
34*5297deefSStefano Radaelli		pinctrl-names = "default";
35*5297deefSStefano Radaelli		pinctrl-0 = <&pinctrl_reg_eth_phy>;
36*5297deefSStefano Radaelli		regulator-name = "eth_phy_pwr";
37*5297deefSStefano Radaelli		regulator-min-microvolt = <3300000>;
38*5297deefSStefano Radaelli		regulator-max-microvolt = <3300000>;
39*5297deefSStefano Radaelli		regulator-enable-ramp-delay = <20000>;
40*5297deefSStefano Radaelli		gpio = <&gpio1 7 GPIO_ACTIVE_LOW>;
41*5297deefSStefano Radaelli	};
42*5297deefSStefano Radaelli
43*5297deefSStefano Radaelli	reg_phy_vddio: regulator-phy-vddio {
44*5297deefSStefano Radaelli		compatible = "regulator-fixed";
45*5297deefSStefano Radaelli		regulator-name = "vddio-1v8";
46*5297deefSStefano Radaelli		regulator-min-microvolt = <1800000>;
47*5297deefSStefano Radaelli		regulator-max-microvolt = <1800000>;
48*5297deefSStefano Radaelli	};
49*5297deefSStefano Radaelli
50*5297deefSStefano Radaelli	sound-wm8904 {
51*5297deefSStefano Radaelli		compatible = "simple-audio-card";
52*5297deefSStefano Radaelli		simple-audio-card,bitclock-master = <&codec_dai>;
53*5297deefSStefano Radaelli		simple-audio-card,format = "i2s";
54*5297deefSStefano Radaelli		simple-audio-card,frame-master = <&codec_dai>;
55*5297deefSStefano Radaelli		simple-audio-card,mclk-fs = <256>;
56*5297deefSStefano Radaelli		simple-audio-card,name = "wm8904-audio";
57*5297deefSStefano Radaelli		simple-audio-card,routing =
58*5297deefSStefano Radaelli			"Headphone Jack", "HPOUTL",
59*5297deefSStefano Radaelli			"Headphone Jack", "HPOUTR",
60*5297deefSStefano Radaelli			"IN2L", "Line In Jack",
61*5297deefSStefano Radaelli			"IN2R", "Line In Jack",
62*5297deefSStefano Radaelli			"IN1L", "Microphone Jack",
63*5297deefSStefano Radaelli			"IN1R", "Microphone Jack";
64*5297deefSStefano Radaelli		simple-audio-card,widgets =
65*5297deefSStefano Radaelli			"Microphone", "Microphone Jack",
66*5297deefSStefano Radaelli			"Headphone", "Headphone Jack",
67*5297deefSStefano Radaelli			"Line", "Line In Jack";
68*5297deefSStefano Radaelli
69*5297deefSStefano Radaelli		codec_dai: simple-audio-card,codec {
70*5297deefSStefano Radaelli			sound-dai = <&wm8904>;
71*5297deefSStefano Radaelli		};
72*5297deefSStefano Radaelli
73*5297deefSStefano Radaelli		simple-audio-card,cpu {
74*5297deefSStefano Radaelli			sound-dai = <&sai3>;
75*5297deefSStefano Radaelli		};
76*5297deefSStefano Radaelli	};
77*5297deefSStefano Radaelli
78*5297deefSStefano Radaelli	wifi_pwrseq: wifi-pwrseq {
79*5297deefSStefano Radaelli		compatible = "mmc-pwrseq-simple";
80*5297deefSStefano Radaelli		post-power-on-delay-ms = <100>;
81*5297deefSStefano Radaelli		power-off-delay-us = <10000>;
82*5297deefSStefano Radaelli		reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>, /* WIFI_RESET */
83*5297deefSStefano Radaelli			      <&gpio2 20 GPIO_ACTIVE_LOW>; /* WIFI_PWR_EN */
84*5297deefSStefano Radaelli	};
85*5297deefSStefano Radaelli};
86*5297deefSStefano Radaelli
87*5297deefSStefano Radaelli&A53_0 {
88*5297deefSStefano Radaelli	cpu-supply = <&buck2_reg>;
89*5297deefSStefano Radaelli};
90*5297deefSStefano Radaelli
91*5297deefSStefano Radaelli&A53_1 {
92*5297deefSStefano Radaelli	cpu-supply = <&buck2_reg>;
93*5297deefSStefano Radaelli};
94*5297deefSStefano Radaelli
95*5297deefSStefano Radaelli&A53_2 {
96*5297deefSStefano Radaelli	cpu-supply = <&buck2_reg>;
97*5297deefSStefano Radaelli};
98*5297deefSStefano Radaelli
99*5297deefSStefano Radaelli&A53_3 {
100*5297deefSStefano Radaelli	cpu-supply = <&buck2_reg>;
101*5297deefSStefano Radaelli};
102*5297deefSStefano Radaelli
103*5297deefSStefano Radaelli&fec1 {
104*5297deefSStefano Radaelli	pinctrl-names = "default", "sleep";
105*5297deefSStefano Radaelli	pinctrl-0 = <&pinctrl_fec1>;
106*5297deefSStefano Radaelli	pinctrl-1 = <&pinctrl_fec1_sleep>;
107*5297deefSStefano Radaelli	/*
108*5297deefSStefano Radaelli	 * The required RGMII TX and RX 2ns delays are implemented directly
109*5297deefSStefano Radaelli	 * in hardware via passive delay elements on the SOM PCB.
110*5297deefSStefano Radaelli	 * No delay configuration is needed in software via PHY driver.
111*5297deefSStefano Radaelli	 */
112*5297deefSStefano Radaelli	phy-mode = "rgmii";
113*5297deefSStefano Radaelli	phy-handle = <&ethphy0>;
114*5297deefSStefano Radaelli	phy-supply = <&reg_eth_phy>;
115*5297deefSStefano Radaelli	status = "okay";
116*5297deefSStefano Radaelli
117*5297deefSStefano Radaelli	mdio {
118*5297deefSStefano Radaelli		#address-cells = <1>;
119*5297deefSStefano Radaelli		#size-cells = <0>;
120*5297deefSStefano Radaelli
121*5297deefSStefano Radaelli		ethphy0: ethernet-phy@0 {
122*5297deefSStefano Radaelli			compatible = "ethernet-phy-ieee802.3-c22";
123*5297deefSStefano Radaelli			reg = <0>;
124*5297deefSStefano Radaelli			reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
125*5297deefSStefano Radaelli			reset-assert-us = <10000>;
126*5297deefSStefano Radaelli			reset-deassert-us = <100000>;
127*5297deefSStefano Radaelli			vddio-supply = <&reg_phy_vddio>;
128*5297deefSStefano Radaelli		};
129*5297deefSStefano Radaelli	};
130*5297deefSStefano Radaelli};
131*5297deefSStefano Radaelli
132*5297deefSStefano Radaelli&i2c1 {
133*5297deefSStefano Radaelli	clock-frequency = <100000>;
134*5297deefSStefano Radaelli	pinctrl-names = "default", "gpio";
135*5297deefSStefano Radaelli	pinctrl-0 = <&pinctrl_i2c1>;
136*5297deefSStefano Radaelli	pinctrl-1 = <&pinctrl_i2c1_gpio>;
137*5297deefSStefano Radaelli	scl-gpios = <&gpio5 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
138*5297deefSStefano Radaelli	sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
139*5297deefSStefano Radaelli	status = "okay";
140*5297deefSStefano Radaelli
141*5297deefSStefano Radaelli	pmic@4b {
142*5297deefSStefano Radaelli		compatible = "rohm,bd71847";
143*5297deefSStefano Radaelli		reg = <0x4b>;
144*5297deefSStefano Radaelli		pinctrl-names = "default";
145*5297deefSStefano Radaelli		pinctrl-0 = <&pinctrl_pmic>;
146*5297deefSStefano Radaelli		interrupt-parent = <&gpio2>;
147*5297deefSStefano Radaelli		interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
148*5297deefSStefano Radaelli		rohm,reset-snvs-powered;
149*5297deefSStefano Radaelli
150*5297deefSStefano Radaelli		regulators {
151*5297deefSStefano Radaelli			buck1_reg: BUCK1 {
152*5297deefSStefano Radaelli				regulator-name = "buck1";
153*5297deefSStefano Radaelli				regulator-min-microvolt = <700000>;
154*5297deefSStefano Radaelli				regulator-max-microvolt = <1300000>;
155*5297deefSStefano Radaelli				regulator-boot-on;
156*5297deefSStefano Radaelli				regulator-always-on;
157*5297deefSStefano Radaelli				regulator-ramp-delay = <1250>;
158*5297deefSStefano Radaelli			};
159*5297deefSStefano Radaelli
160*5297deefSStefano Radaelli			buck2_reg: BUCK2 {
161*5297deefSStefano Radaelli				regulator-name = "buck2";
162*5297deefSStefano Radaelli				regulator-min-microvolt = <700000>;
163*5297deefSStefano Radaelli				regulator-max-microvolt = <1300000>;
164*5297deefSStefano Radaelli				regulator-boot-on;
165*5297deefSStefano Radaelli				regulator-always-on;
166*5297deefSStefano Radaelli				regulator-ramp-delay = <1250>;
167*5297deefSStefano Radaelli				rohm,dvs-run-voltage = <1000000>;
168*5297deefSStefano Radaelli				rohm,dvs-idle-voltage = <900000>;
169*5297deefSStefano Radaelli			};
170*5297deefSStefano Radaelli
171*5297deefSStefano Radaelli			buck3_reg: BUCK3 {
172*5297deefSStefano Radaelli				// BUCK5 in datasheet
173*5297deefSStefano Radaelli				regulator-name = "buck3";
174*5297deefSStefano Radaelli				regulator-min-microvolt = <700000>;
175*5297deefSStefano Radaelli				regulator-max-microvolt = <1350000>;
176*5297deefSStefano Radaelli				regulator-boot-on;
177*5297deefSStefano Radaelli				regulator-always-on;
178*5297deefSStefano Radaelli			};
179*5297deefSStefano Radaelli
180*5297deefSStefano Radaelli			buck4_reg: BUCK4 {
181*5297deefSStefano Radaelli				// BUCK6 in datasheet
182*5297deefSStefano Radaelli				regulator-name = "buck4";
183*5297deefSStefano Radaelli				regulator-min-microvolt = <2600000>;
184*5297deefSStefano Radaelli				regulator-max-microvolt = <3300000>;
185*5297deefSStefano Radaelli				regulator-boot-on;
186*5297deefSStefano Radaelli				regulator-always-on;
187*5297deefSStefano Radaelli			};
188*5297deefSStefano Radaelli
189*5297deefSStefano Radaelli			buck5_reg: BUCK5 {
190*5297deefSStefano Radaelli				// BUCK7 in datasheet
191*5297deefSStefano Radaelli				regulator-name = "buck5";
192*5297deefSStefano Radaelli				regulator-min-microvolt = <1605000>;
193*5297deefSStefano Radaelli				regulator-max-microvolt = <1995000>;
194*5297deefSStefano Radaelli				regulator-boot-on;
195*5297deefSStefano Radaelli				regulator-always-on;
196*5297deefSStefano Radaelli			};
197*5297deefSStefano Radaelli
198*5297deefSStefano Radaelli			buck6_reg: BUCK6 {
199*5297deefSStefano Radaelli				// BUCK8 in datasheet
200*5297deefSStefano Radaelli				regulator-name = "buck6";
201*5297deefSStefano Radaelli				regulator-min-microvolt = <800000>;
202*5297deefSStefano Radaelli				regulator-max-microvolt = <1400000>;
203*5297deefSStefano Radaelli				regulator-boot-on;
204*5297deefSStefano Radaelli				regulator-always-on;
205*5297deefSStefano Radaelli			};
206*5297deefSStefano Radaelli
207*5297deefSStefano Radaelli			ldo1_reg: LDO1 {
208*5297deefSStefano Radaelli				regulator-name = "ldo1";
209*5297deefSStefano Radaelli				regulator-min-microvolt = <1600000>;
210*5297deefSStefano Radaelli				regulator-max-microvolt = <1900000>;
211*5297deefSStefano Radaelli				regulator-boot-on;
212*5297deefSStefano Radaelli				regulator-always-on;
213*5297deefSStefano Radaelli			};
214*5297deefSStefano Radaelli
215*5297deefSStefano Radaelli			ldo2_reg: LDO2 {
216*5297deefSStefano Radaelli				regulator-name = "ldo2";
217*5297deefSStefano Radaelli				regulator-min-microvolt = <800000>;
218*5297deefSStefano Radaelli				regulator-max-microvolt = <900000>;
219*5297deefSStefano Radaelli				regulator-boot-on;
220*5297deefSStefano Radaelli				regulator-always-on;
221*5297deefSStefano Radaelli			};
222*5297deefSStefano Radaelli
223*5297deefSStefano Radaelli			ldo3_reg: LDO3 {
224*5297deefSStefano Radaelli				regulator-name = "ldo3";
225*5297deefSStefano Radaelli				regulator-min-microvolt = <1800000>;
226*5297deefSStefano Radaelli				regulator-max-microvolt = <3300000>;
227*5297deefSStefano Radaelli				regulator-boot-on;
228*5297deefSStefano Radaelli				regulator-always-on;
229*5297deefSStefano Radaelli			};
230*5297deefSStefano Radaelli
231*5297deefSStefano Radaelli			ldo4_reg: LDO4 {
232*5297deefSStefano Radaelli				regulator-name = "ldo4";
233*5297deefSStefano Radaelli				regulator-min-microvolt = <900000>;
234*5297deefSStefano Radaelli				regulator-max-microvolt = <1800000>;
235*5297deefSStefano Radaelli				regulator-always-on;
236*5297deefSStefano Radaelli			};
237*5297deefSStefano Radaelli
238*5297deefSStefano Radaelli			ldo5_reg: LDO5 {
239*5297deefSStefano Radaelli				regulator-name = "ldo5";
240*5297deefSStefano Radaelli				regulator-min-microvolt = <1800000>;
241*5297deefSStefano Radaelli				regulator-max-microvolt = <1800000>;
242*5297deefSStefano Radaelli				regulator-always-on;
243*5297deefSStefano Radaelli			};
244*5297deefSStefano Radaelli
245*5297deefSStefano Radaelli			ldo6_reg: LDO6 {
246*5297deefSStefano Radaelli				regulator-name = "ldo6";
247*5297deefSStefano Radaelli				regulator-min-microvolt = <900000>;
248*5297deefSStefano Radaelli				regulator-max-microvolt = <1800000>;
249*5297deefSStefano Radaelli				regulator-boot-on;
250*5297deefSStefano Radaelli				regulator-always-on;
251*5297deefSStefano Radaelli			};
252*5297deefSStefano Radaelli		};
253*5297deefSStefano Radaelli	};
254*5297deefSStefano Radaelli};
255*5297deefSStefano Radaelli
256*5297deefSStefano Radaelli&i2c3 {
257*5297deefSStefano Radaelli	clock-frequency = <100000>;
258*5297deefSStefano Radaelli	pinctrl-names = "default", "gpio";
259*5297deefSStefano Radaelli	pinctrl-0 = <&pinctrl_i2c3>;
260*5297deefSStefano Radaelli	pinctrl-1 = <&pinctrl_i2c3_gpio>;
261*5297deefSStefano Radaelli	scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
262*5297deefSStefano Radaelli	sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
263*5297deefSStefano Radaelli	status = "okay";
264*5297deefSStefano Radaelli
265*5297deefSStefano Radaelli	wm8904: audio-codec@1a {
266*5297deefSStefano Radaelli		compatible = "wlf,wm8904";
267*5297deefSStefano Radaelli		reg = <0x1a>;
268*5297deefSStefano Radaelli		#sound-dai-cells = <0>;
269*5297deefSStefano Radaelli		clocks = <&clk IMX8MM_CLK_SAI3_ROOT>;
270*5297deefSStefano Radaelli		clock-names = "mclk";
271*5297deefSStefano Radaelli		AVDD-supply = <&ldo5_reg>;
272*5297deefSStefano Radaelli		CPVDD-supply = <&ldo5_reg>;
273*5297deefSStefano Radaelli		DBVDD-supply = <&reg_audio_supply>;
274*5297deefSStefano Radaelli		DCVDD-supply = <&ldo5_reg>;
275*5297deefSStefano Radaelli		MICVDD-supply = <&ldo5_reg>;
276*5297deefSStefano Radaelli		wlf,drc-cfg-names = "default", "peaklimiter", "tradition",
277*5297deefSStefano Radaelli				    "soft", "music";
278*5297deefSStefano Radaelli		/*
279*5297deefSStefano Radaelli		 * Config registers per name, respectively:
280*5297deefSStefano Radaelli		 * KNEE_IP = 0,   KNEE_OP = 0,     HI_COMP = 1,   LO_COMP = 1
281*5297deefSStefano Radaelli		 * KNEE_IP = -24, KNEE_OP = -6,    HI_COMP = 1/4, LO_COMP = 1
282*5297deefSStefano Radaelli		 * KNEE_IP = -42, KNEE_OP = -3,    HI_COMP = 0,   LO_COMP = 1
283*5297deefSStefano Radaelli		 * KNEE_IP = -45, KNEE_OP = -9,    HI_COMP = 1/8, LO_COMP = 1
284*5297deefSStefano Radaelli		 * KNEE_IP = -30, KNEE_OP = -10.5, HI_COMP = 1/4, LO_COMP = 1
285*5297deefSStefano Radaelli		 */
286*5297deefSStefano Radaelli		wlf,drc-cfg-regs = /bits/ 16 <0x01af 0x3248 0x0000 0x0000>,
287*5297deefSStefano Radaelli				   /bits/ 16 <0x04af 0x324b 0x0010 0x0408>,
288*5297deefSStefano Radaelli				   /bits/ 16 <0x04af 0x324b 0x0028 0x0704>,
289*5297deefSStefano Radaelli				   /bits/ 16 <0x04af 0x324b 0x0018 0x078c>,
290*5297deefSStefano Radaelli				   /bits/ 16 <0x04af 0x324b 0x0010 0x050e>;
291*5297deefSStefano Radaelli		/* GPIO1 = DMIC_CLK, don't touch others */
292*5297deefSStefano Radaelli		wlf,gpio-cfg = <0x0018>, <0xffff>, <0xffff>, <0xffff>;
293*5297deefSStefano Radaelli	};
294*5297deefSStefano Radaelli};
295*5297deefSStefano Radaelli
296*5297deefSStefano Radaelli&mu {
297*5297deefSStefano Radaelli	status = "okay";
298*5297deefSStefano Radaelli};
299*5297deefSStefano Radaelli
300*5297deefSStefano Radaelli&sai3 {
301*5297deefSStefano Radaelli	#sound-dai-cells = <0>;
302*5297deefSStefano Radaelli	pinctrl-names = "default";
303*5297deefSStefano Radaelli	pinctrl-0 = <&pinctrl_sai3>;
304*5297deefSStefano Radaelli	assigned-clocks = <&clk IMX8MM_CLK_SAI3>;
305*5297deefSStefano Radaelli	assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>;
306*5297deefSStefano Radaelli	assigned-clock-rates = <1536000>;
307*5297deefSStefano Radaelli	fsl,sai-mclk-direction-output;
308*5297deefSStefano Radaelli	status = "okay";
309*5297deefSStefano Radaelli};
310*5297deefSStefano Radaelli
311*5297deefSStefano Radaelli/* BT module */
312*5297deefSStefano Radaelli&uart4 {
313*5297deefSStefano Radaelli	pinctrl-names = "default";
314*5297deefSStefano Radaelli	pinctrl-0 = <&pinctrl_uart4>, <&pinctrl_bt>;
315*5297deefSStefano Radaelli	assigned-clocks = <&clk IMX8MM_CLK_UART4>;
316*5297deefSStefano Radaelli	assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_80M>;
317*5297deefSStefano Radaelli	uart-has-rtscts;
318*5297deefSStefano Radaelli	status = "okay";
319*5297deefSStefano Radaelli
320*5297deefSStefano Radaelli	bluetooth_iw61x: bluetooth {
321*5297deefSStefano Radaelli		compatible = "nxp,88w8987-bt";
322*5297deefSStefano Radaelli	};
323*5297deefSStefano Radaelli};
324*5297deefSStefano Radaelli
325*5297deefSStefano Radaelli/* WIFI */
326*5297deefSStefano Radaelli&usdhc1 {
327*5297deefSStefano Radaelli	pinctrl-names = "default", "state_100mhz", "state_200mhz";
328*5297deefSStefano Radaelli	pinctrl-0 = <&pinctrl_usdhc1>, <&pinctrl_wifi>;
329*5297deefSStefano Radaelli	pinctrl-1 = <&pinctrl_usdhc1_100mhz>, <&pinctrl_wifi>;
330*5297deefSStefano Radaelli	pinctrl-2 = <&pinctrl_usdhc1_200mhz>, <&pinctrl_wifi>;
331*5297deefSStefano Radaelli	bus-width = <4>;
332*5297deefSStefano Radaelli	keep-power-in-suspend;
333*5297deefSStefano Radaelli	mmc-pwrseq = <&wifi_pwrseq>;
334*5297deefSStefano Radaelli	non-removable;
335*5297deefSStefano Radaelli	status = "okay";
336*5297deefSStefano Radaelli};
337*5297deefSStefano Radaelli
338*5297deefSStefano Radaelli/* eMMC */
339*5297deefSStefano Radaelli&usdhc3 {
340*5297deefSStefano Radaelli	pinctrl-names = "default", "state_100mhz", "state_200mhz";
341*5297deefSStefano Radaelli	pinctrl-0 = <&pinctrl_usdhc3>;
342*5297deefSStefano Radaelli	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
343*5297deefSStefano Radaelli	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
344*5297deefSStefano Radaelli	bus-width = <8>;
345*5297deefSStefano Radaelli	non-removable;
346*5297deefSStefano Radaelli	status = "okay";
347*5297deefSStefano Radaelli};
348*5297deefSStefano Radaelli
349*5297deefSStefano Radaelli&wdog1 {
350*5297deefSStefano Radaelli	pinctrl-names = "default";
351*5297deefSStefano Radaelli	pinctrl-0 = <&pinctrl_wdog>;
352*5297deefSStefano Radaelli	fsl,ext-reset-output;
353*5297deefSStefano Radaelli	status = "okay";
354*5297deefSStefano Radaelli};
355*5297deefSStefano Radaelli
356*5297deefSStefano Radaelli&iomuxc {
357*5297deefSStefano Radaelli	pinctrl_bt: btgrp {
358*5297deefSStefano Radaelli		fsl,pins = <
359*5297deefSStefano Radaelli			MX8MM_IOMUXC_SD1_DATA4_GPIO2_IO6		0xc1
360*5297deefSStefano Radaelli			MX8MM_IOMUXC_SPDIF_EXT_CLK_GPIO5_IO5		0xc1
361*5297deefSStefano Radaelli		>;
362*5297deefSStefano Radaelli	};
363*5297deefSStefano Radaelli
364*5297deefSStefano Radaelli	pinctrl_fec1: fec1grp {
365*5297deefSStefano Radaelli		fsl,pins = <
366*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_MDC_ENET1_MDC			0x3
367*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO		0x3
368*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_TD3_ENET1_RGMII_TD3		0x1f
369*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_TD2_ENET1_RGMII_TD2		0x1f
370*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_TD1_ENET1_RGMII_TD1		0x1f
371*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_TD0_ENET1_RGMII_TD0		0x1f
372*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_RD3_ENET1_RGMII_RD3		0x91
373*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_RD2_ENET1_RGMII_RD2		0x91
374*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_RD1_ENET1_RGMII_RD1		0x91
375*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_RD0_ENET1_RGMII_RD0		0x91
376*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_TXC_ENET1_RGMII_TXC		0x1f
377*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC		0x91
378*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL	0x91
379*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL	0x1f
380*5297deefSStefano Radaelli			MX8MM_IOMUXC_GPIO1_IO09_GPIO1_IO9		0x19
381*5297deefSStefano Radaelli		>;
382*5297deefSStefano Radaelli	};
383*5297deefSStefano Radaelli
384*5297deefSStefano Radaelli	pinctrl_fec1_sleep: fec1sleepgrp {
385*5297deefSStefano Radaelli		fsl,pins = <
386*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_MDC_GPIO1_IO16		0x120
387*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_MDIO_GPIO1_IO17		0x120
388*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_TD3_GPIO1_IO18		0x120
389*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_TD2_GPIO1_IO19		0x120
390*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_TD1_GPIO1_IO20		0x120
391*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_TD0_GPIO1_IO21		0x120
392*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_RD3_GPIO1_IO29		0x120
393*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_RD2_GPIO1_IO28		0x120
394*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_RD1_GPIO1_IO27		0x120
395*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_RD0_GPIO1_IO26		0x120
396*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_TXC_GPIO1_IO23		0x120
397*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_RXC_GPIO1_IO25		0x120
398*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_RX_CTL_GPIO1_IO24		0x120
399*5297deefSStefano Radaelli			MX8MM_IOMUXC_ENET_TX_CTL_GPIO1_IO22		0x120
400*5297deefSStefano Radaelli			MX8MM_IOMUXC_GPIO1_IO09_GPIO1_IO9		0x100
401*5297deefSStefano Radaelli		>;
402*5297deefSStefano Radaelli	};
403*5297deefSStefano Radaelli
404*5297deefSStefano Radaelli	pinctrl_i2c1: i2c1grp {
405*5297deefSStefano Radaelli		fsl,pins = <
406*5297deefSStefano Radaelli			MX8MM_IOMUXC_I2C1_SCL_I2C1_SCL			0x400001c3
407*5297deefSStefano Radaelli			MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA			0x400001c3
408*5297deefSStefano Radaelli		>;
409*5297deefSStefano Radaelli	};
410*5297deefSStefano Radaelli
411*5297deefSStefano Radaelli	pinctrl_i2c1_gpio: i2c1-gpiogrp {
412*5297deefSStefano Radaelli		fsl,pins = <
413*5297deefSStefano Radaelli			MX8MM_IOMUXC_I2C1_SCL_GPIO5_IO14		0x400001c3
414*5297deefSStefano Radaelli			MX8MM_IOMUXC_I2C1_SDA_GPIO5_IO15		0x400001c3
415*5297deefSStefano Radaelli		>;
416*5297deefSStefano Radaelli	};
417*5297deefSStefano Radaelli
418*5297deefSStefano Radaelli	pinctrl_i2c3: i2c3grp {
419*5297deefSStefano Radaelli		fsl,pins = <
420*5297deefSStefano Radaelli			MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL			0x400001c3
421*5297deefSStefano Radaelli			MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA			0x400001c3
422*5297deefSStefano Radaelli		>;
423*5297deefSStefano Radaelli	};
424*5297deefSStefano Radaelli
425*5297deefSStefano Radaelli	pinctrl_i2c3_gpio: i2c3-gpiogrp {
426*5297deefSStefano Radaelli		fsl,pins = <
427*5297deefSStefano Radaelli			MX8MM_IOMUXC_I2C3_SCL_GPIO5_IO18		0x400001c3
428*5297deefSStefano Radaelli			MX8MM_IOMUXC_I2C3_SDA_GPIO5_IO19		0x400001c3
429*5297deefSStefano Radaelli		>;
430*5297deefSStefano Radaelli	};
431*5297deefSStefano Radaelli
432*5297deefSStefano Radaelli	pinctrl_pmic: pmicgrp {
433*5297deefSStefano Radaelli		fsl,pins = <
434*5297deefSStefano Radaelli			MX8MM_IOMUXC_SD1_DATA6_GPIO2_IO8		0x140
435*5297deefSStefano Radaelli		>;
436*5297deefSStefano Radaelli	};
437*5297deefSStefano Radaelli
438*5297deefSStefano Radaelli	pinctrl_reg_eth_phy: regeth-phygrp {
439*5297deefSStefano Radaelli		fsl,pins = <
440*5297deefSStefano Radaelli			MX8MM_IOMUXC_GPIO1_IO07_GPIO1_IO7		0x41
441*5297deefSStefano Radaelli		>;
442*5297deefSStefano Radaelli	};
443*5297deefSStefano Radaelli
444*5297deefSStefano Radaelli	pinctrl_sai3: sai3grp {
445*5297deefSStefano Radaelli		fsl,pins = <
446*5297deefSStefano Radaelli			MX8MM_IOMUXC_SAI3_RXFS_SAI3_RX_SYNC		0xd6
447*5297deefSStefano Radaelli			MX8MM_IOMUXC_SAI3_RXC_SAI3_RX_BCLK		0xd6
448*5297deefSStefano Radaelli			MX8MM_IOMUXC_SAI3_RXD_SAI3_RX_DATA0		0xd6
449*5297deefSStefano Radaelli			MX8MM_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC		0xd6
450*5297deefSStefano Radaelli			MX8MM_IOMUXC_SAI3_TXC_SAI3_TX_BCLK		0xd6
451*5297deefSStefano Radaelli			MX8MM_IOMUXC_SAI3_TXD_SAI3_TX_DATA0		0xd6
452*5297deefSStefano Radaelli			MX8MM_IOMUXC_SAI3_MCLK_SAI3_MCLK		0xd6
453*5297deefSStefano Radaelli		>;
454*5297deefSStefano Radaelli	};
455*5297deefSStefano Radaelli
456*5297deefSStefano Radaelli	pinctrl_uart4: uart4grp {
457*5297deefSStefano Radaelli		fsl,pins = <
458*5297deefSStefano Radaelli			MX8MM_IOMUXC_ECSPI2_SCLK_UART4_DCE_RX		0x140
459*5297deefSStefano Radaelli			MX8MM_IOMUXC_ECSPI2_MOSI_UART4_DCE_TX		0x140
460*5297deefSStefano Radaelli			MX8MM_IOMUXC_ECSPI2_SS0_UART4_DCE_RTS_B		0x140
461*5297deefSStefano Radaelli			MX8MM_IOMUXC_ECSPI2_MISO_UART4_DCE_CTS_B	0x140
462*5297deefSStefano Radaelli		>;
463*5297deefSStefano Radaelli	};
464*5297deefSStefano Radaelli
465*5297deefSStefano Radaelli	pinctrl_usdhc1: usdhc1grp {
466*5297deefSStefano Radaelli		fsl,pins = <
467*5297deefSStefano Radaelli			MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK			0x190
468*5297deefSStefano Radaelli			MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD			0x1d0
469*5297deefSStefano Radaelli			MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0		0x1d0
470*5297deefSStefano Radaelli			MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1		0x1d0
471*5297deefSStefano Radaelli			MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2		0x1d0
472*5297deefSStefano Radaelli			MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3		0x1d0
473*5297deefSStefano Radaelli		>;
474*5297deefSStefano Radaelli	};
475*5297deefSStefano Radaelli
476*5297deefSStefano Radaelli	pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
477*5297deefSStefano Radaelli		fsl,pins = <
478*5297deefSStefano Radaelli			MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK			0x194
479*5297deefSStefano Radaelli			MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD			0x1d4
480*5297deefSStefano Radaelli			MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0		0x1d4
481*5297deefSStefano Radaelli			MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1		0x1d4
482*5297deefSStefano Radaelli			MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2		0x1d4
483*5297deefSStefano Radaelli			MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3		0x1d4
484*5297deefSStefano Radaelli		>;
485*5297deefSStefano Radaelli	};
486*5297deefSStefano Radaelli
487*5297deefSStefano Radaelli	pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
488*5297deefSStefano Radaelli		fsl,pins = <
489*5297deefSStefano Radaelli			MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK			0x196
490*5297deefSStefano Radaelli			MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD			0x1d6
491*5297deefSStefano Radaelli			MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0		0x1d6
492*5297deefSStefano Radaelli			MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1		0x1d6
493*5297deefSStefano Radaelli			MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2		0x1d6
494*5297deefSStefano Radaelli			MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3		0x1d6
495*5297deefSStefano Radaelli		>;
496*5297deefSStefano Radaelli	};
497*5297deefSStefano Radaelli
498*5297deefSStefano Radaelli	pinctrl_usdhc3: usdhc3grp {
499*5297deefSStefano Radaelli		fsl,pins = <
500*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK		0x190
501*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD		0x1d0
502*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0		0x1d0
503*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1		0x1d0
504*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2		0x1d0
505*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3		0x1d0
506*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4		0x1d0
507*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5		0x1d0
508*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6		0x1d0
509*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7		0x1d0
510*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE		0x190
511*5297deefSStefano Radaelli		>;
512*5297deefSStefano Radaelli	};
513*5297deefSStefano Radaelli
514*5297deefSStefano Radaelli	pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
515*5297deefSStefano Radaelli		fsl,pins = <
516*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK		0x194
517*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD		0x1d4
518*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0		0x1d4
519*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1		0x1d4
520*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2		0x1d4
521*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3		0x1d4
522*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4		0x1d4
523*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5		0x1d4
524*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6		0x1d4
525*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7		0x1d4
526*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE		0x194
527*5297deefSStefano Radaelli		>;
528*5297deefSStefano Radaelli	};
529*5297deefSStefano Radaelli
530*5297deefSStefano Radaelli	pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
531*5297deefSStefano Radaelli		fsl,pins = <
532*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK		0x196
533*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD		0x1d6
534*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0		0x1d6
535*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1		0x1d6
536*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2		0x1d6
537*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3		0x1d6
538*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4		0x1d6
539*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5		0x1d6
540*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6		0x1d6
541*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7		0x1d6
542*5297deefSStefano Radaelli			MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE		0x196
543*5297deefSStefano Radaelli		>;
544*5297deefSStefano Radaelli	};
545*5297deefSStefano Radaelli
546*5297deefSStefano Radaelli	pinctrl_wdog: wdoggrp {
547*5297deefSStefano Radaelli		fsl,pins = <
548*5297deefSStefano Radaelli			MX8MM_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B		0xc6
549*5297deefSStefano Radaelli		>;
550*5297deefSStefano Radaelli	};
551*5297deefSStefano Radaelli
552*5297deefSStefano Radaelli	pinctrl_wifi: wifigrp {
553*5297deefSStefano Radaelli		fsl,pins = <
554*5297deefSStefano Radaelli			MX8MM_IOMUXC_SD2_WP_GPIO2_IO20			0x140
555*5297deefSStefano Radaelli			MX8MM_IOMUXC_SD1_RESET_B_GPIO2_IO10		0xc1
556*5297deefSStefano Radaelli		>;
557*5297deefSStefano Radaelli	};
558*5297deefSStefano Radaelli};
559