xref: /freebsd/sys/contrib/device-tree/src/arm64/freescale/mba8xx.dtsi (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1*01950c46SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
2*01950c46SEmmanuel Vadot/*
3*01950c46SEmmanuel Vadot * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
4*01950c46SEmmanuel Vadot * D-82229 Seefeld, Germany.
5*01950c46SEmmanuel Vadot * Author: Alexander Stein
6*01950c46SEmmanuel Vadot */
7*01950c46SEmmanuel Vadot
8*01950c46SEmmanuel Vadot#include <dt-bindings/input/input.h>
9*01950c46SEmmanuel Vadot#include <dt-bindings/leds/common.h>
10*01950c46SEmmanuel Vadot#include <dt-bindings/net/ti-dp83867.h>
11*01950c46SEmmanuel Vadot
12*01950c46SEmmanuel Vadot/ {
13*01950c46SEmmanuel Vadot	adc {
14*01950c46SEmmanuel Vadot		compatible = "iio-hwmon";
15*01950c46SEmmanuel Vadot		io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>;
16*01950c46SEmmanuel Vadot	};
17*01950c46SEmmanuel Vadot
18*01950c46SEmmanuel Vadot	aliases {
19*01950c46SEmmanuel Vadot		rtc0 = &pcf85063;
20*01950c46SEmmanuel Vadot		rtc1 = &rtc;
21*01950c46SEmmanuel Vadot	};
22*01950c46SEmmanuel Vadot
23*01950c46SEmmanuel Vadot	backlight_lvds: backlight-lvds {
24*01950c46SEmmanuel Vadot		compatible = "pwm-backlight";
25*01950c46SEmmanuel Vadot		pinctrl-names = "default";
26*01950c46SEmmanuel Vadot		pinctrl-0 = <&pinctrl_bl_lvds>;
27*01950c46SEmmanuel Vadot		pwms = <&adma_pwm 0 5000000 0>;
28*01950c46SEmmanuel Vadot		brightness-levels = <0 4 8 16 32 64 128 255>;
29*01950c46SEmmanuel Vadot		default-brightness-level = <7>;
30*01950c46SEmmanuel Vadot		power-supply = <&reg_12v0>;
31*01950c46SEmmanuel Vadot		enable-gpios = <&lsio_gpio1 30 GPIO_ACTIVE_HIGH>;
32*01950c46SEmmanuel Vadot		status = "disabled";
33*01950c46SEmmanuel Vadot	};
34*01950c46SEmmanuel Vadot
35*01950c46SEmmanuel Vadot	chosen {
36*01950c46SEmmanuel Vadot		stdout-path = &lpuart1;
37*01950c46SEmmanuel Vadot	};
38*01950c46SEmmanuel Vadot
39*01950c46SEmmanuel Vadot	gpio-keys {
40*01950c46SEmmanuel Vadot		compatible = "gpio-keys";
41*01950c46SEmmanuel Vadot		pinctrl-names = "default";
42*01950c46SEmmanuel Vadot		pinctrl-0 = <&pinctrl_gpiobuttons>;
43*01950c46SEmmanuel Vadot		autorepeat;
44*01950c46SEmmanuel Vadot
45*01950c46SEmmanuel Vadot		switch-a {
46*01950c46SEmmanuel Vadot			label = "switcha";
47*01950c46SEmmanuel Vadot			linux,code = <BTN_0>;
48*01950c46SEmmanuel Vadot			gpios = <&lsio_gpio1 13 GPIO_ACTIVE_LOW>;
49*01950c46SEmmanuel Vadot		};
50*01950c46SEmmanuel Vadot
51*01950c46SEmmanuel Vadot		switch-b {
52*01950c46SEmmanuel Vadot			label = "switchb";
53*01950c46SEmmanuel Vadot			linux,code = <BTN_1>;
54*01950c46SEmmanuel Vadot			gpios = <&lsio_gpio1 14 GPIO_ACTIVE_LOW>;
55*01950c46SEmmanuel Vadot		};
56*01950c46SEmmanuel Vadot	};
57*01950c46SEmmanuel Vadot
58*01950c46SEmmanuel Vadot	gpio-leds {
59*01950c46SEmmanuel Vadot		compatible = "gpio-leds";
60*01950c46SEmmanuel Vadot
61*01950c46SEmmanuel Vadot		led1 {
62*01950c46SEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
63*01950c46SEmmanuel Vadot			function = LED_FUNCTION_STATUS;
64*01950c46SEmmanuel Vadot			gpios = <&expander 1 GPIO_ACTIVE_HIGH>;
65*01950c46SEmmanuel Vadot			linux,default-trigger = "default-on";
66*01950c46SEmmanuel Vadot		};
67*01950c46SEmmanuel Vadot
68*01950c46SEmmanuel Vadot		led2 {
69*01950c46SEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
70*01950c46SEmmanuel Vadot			function = LED_FUNCTION_HEARTBEAT;
71*01950c46SEmmanuel Vadot			gpios = <&expander 2 GPIO_ACTIVE_HIGH>;
72*01950c46SEmmanuel Vadot			linux,default-trigger = "heartbeat";
73*01950c46SEmmanuel Vadot		};
74*01950c46SEmmanuel Vadot	};
75*01950c46SEmmanuel Vadot
76*01950c46SEmmanuel Vadot	/* TODO LVDS panels */
77*01950c46SEmmanuel Vadot
78*01950c46SEmmanuel Vadot	reg_12v0: regulator-12v0 {
79*01950c46SEmmanuel Vadot		compatible = "regulator-fixed";
80*01950c46SEmmanuel Vadot		regulator-name = "V_12V";
81*01950c46SEmmanuel Vadot		regulator-min-microvolt = <12000000>;
82*01950c46SEmmanuel Vadot		regulator-max-microvolt = <12000000>;
83*01950c46SEmmanuel Vadot		gpio = <&expander 6 GPIO_ACTIVE_HIGH>;
84*01950c46SEmmanuel Vadot		enable-active-high;
85*01950c46SEmmanuel Vadot	};
86*01950c46SEmmanuel Vadot
87*01950c46SEmmanuel Vadot	reg_pcie_1v5: regulator-pcie-1v5 {
88*01950c46SEmmanuel Vadot		compatible = "regulator-fixed";
89*01950c46SEmmanuel Vadot		regulator-name = "MBA8XX_PCIE_1V5";
90*01950c46SEmmanuel Vadot		pinctrl-names = "default";
91*01950c46SEmmanuel Vadot		pinctrl-0 = <&pinctrl_reg_pcie_1v5>;
92*01950c46SEmmanuel Vadot		regulator-min-microvolt = <1500000>;
93*01950c46SEmmanuel Vadot		regulator-max-microvolt = <1500000>;
94*01950c46SEmmanuel Vadot		gpio = <&lsio_gpio0 30 GPIO_ACTIVE_HIGH>;
95*01950c46SEmmanuel Vadot		startup-delay-us = <1000>;
96*01950c46SEmmanuel Vadot		enable-active-high;
97*01950c46SEmmanuel Vadot	};
98*01950c46SEmmanuel Vadot
99*01950c46SEmmanuel Vadot	reg_pcie_3v3: regulator-pcie-3v3 {
100*01950c46SEmmanuel Vadot		compatible = "regulator-fixed";
101*01950c46SEmmanuel Vadot		regulator-name = "MBA8XX_PCIE_3V3";
102*01950c46SEmmanuel Vadot		pinctrl-names = "default";
103*01950c46SEmmanuel Vadot		pinctrl-0 = <&pinctrl_reg_pcie_3v3>;
104*01950c46SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
105*01950c46SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
106*01950c46SEmmanuel Vadot		gpio = <&lsio_gpio0 31 GPIO_ACTIVE_HIGH>;
107*01950c46SEmmanuel Vadot		startup-delay-us = <1000>;
108*01950c46SEmmanuel Vadot		enable-active-high;
109*01950c46SEmmanuel Vadot		regulator-always-on;
110*01950c46SEmmanuel Vadot	};
111*01950c46SEmmanuel Vadot
112*01950c46SEmmanuel Vadot	reg_3v3_mb: regulator-usdhc2-vmmc {
113*01950c46SEmmanuel Vadot		compatible = "regulator-fixed";
114*01950c46SEmmanuel Vadot		regulator-name = "V_3V3_MB";
115*01950c46SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
116*01950c46SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
117*01950c46SEmmanuel Vadot	};
118*01950c46SEmmanuel Vadot
119*01950c46SEmmanuel Vadot	sound {
120*01950c46SEmmanuel Vadot		compatible = "fsl,imx-audio-tlv320aic32x4";
121*01950c46SEmmanuel Vadot		model = "tqm-tlv320aic32";
122*01950c46SEmmanuel Vadot		audio-codec = <&tlv320aic3x04>;
123*01950c46SEmmanuel Vadot		ssi-controller = <&sai1>;
124*01950c46SEmmanuel Vadot	};
125*01950c46SEmmanuel Vadot};
126*01950c46SEmmanuel Vadot
127*01950c46SEmmanuel Vadot&adc0 {
128*01950c46SEmmanuel Vadot	pinctrl-names = "default";
129*01950c46SEmmanuel Vadot	pinctrl-0 = <&pinctrl_adc0>;
130*01950c46SEmmanuel Vadot	vref-supply = <&reg_1v8>;
131*01950c46SEmmanuel Vadot	#io-channel-cells = <1>;
132*01950c46SEmmanuel Vadot	status = "okay";
133*01950c46SEmmanuel Vadot};
134*01950c46SEmmanuel Vadot
135*01950c46SEmmanuel Vadot&adma_pwm {
136*01950c46SEmmanuel Vadot	pinctrl-names = "default";
137*01950c46SEmmanuel Vadot	pinctrl-0 = <&pinctrl_admapwm>;
138*01950c46SEmmanuel Vadot};
139*01950c46SEmmanuel Vadot
140*01950c46SEmmanuel Vadot&fec1 {
141*01950c46SEmmanuel Vadot	pinctrl-names = "default";
142*01950c46SEmmanuel Vadot	pinctrl-0 = <&pinctrl_fec1>;
143*01950c46SEmmanuel Vadot	phy-mode = "rgmii-id";
144*01950c46SEmmanuel Vadot	phy-handle = <&ethphy0>;
145*01950c46SEmmanuel Vadot	status = "okay";
146*01950c46SEmmanuel Vadot
147*01950c46SEmmanuel Vadot	mdio {
148*01950c46SEmmanuel Vadot		#address-cells = <1>;
149*01950c46SEmmanuel Vadot		#size-cells = <0>;
150*01950c46SEmmanuel Vadot
151*01950c46SEmmanuel Vadot		ethphy0: ethernet-phy@0 {
152*01950c46SEmmanuel Vadot			compatible = "ethernet-phy-ieee802.3-c22";
153*01950c46SEmmanuel Vadot			reg = <0>;
154*01950c46SEmmanuel Vadot			pinctrl-names = "default";
155*01950c46SEmmanuel Vadot			pinctrl-0 = <&pinctrl_ethphy0>;
156*01950c46SEmmanuel Vadot			ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
157*01950c46SEmmanuel Vadot			ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
158*01950c46SEmmanuel Vadot			ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
159*01950c46SEmmanuel Vadot			ti,dp83867-rxctrl-strap-quirk;
160*01950c46SEmmanuel Vadot			ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
161*01950c46SEmmanuel Vadot			reset-gpios = <&lsio_gpio3 2 GPIO_ACTIVE_LOW>;
162*01950c46SEmmanuel Vadot			reset-assert-us = <500000>;
163*01950c46SEmmanuel Vadot			reset-deassert-us = <50000>;
164*01950c46SEmmanuel Vadot			enet-phy-lane-no-swap;
165*01950c46SEmmanuel Vadot			interrupt-parent = <&lsio_gpio3>;
166*01950c46SEmmanuel Vadot			interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
167*01950c46SEmmanuel Vadot		};
168*01950c46SEmmanuel Vadot
169*01950c46SEmmanuel Vadot		ethphy3: ethernet-phy@3 {
170*01950c46SEmmanuel Vadot			compatible = "ethernet-phy-ieee802.3-c22";
171*01950c46SEmmanuel Vadot			reg = <3>;
172*01950c46SEmmanuel Vadot			pinctrl-names = "default";
173*01950c46SEmmanuel Vadot			pinctrl-0 = <&pinctrl_ethphy3>;
174*01950c46SEmmanuel Vadot			ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
175*01950c46SEmmanuel Vadot			ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
176*01950c46SEmmanuel Vadot			ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
177*01950c46SEmmanuel Vadot			ti,dp83867-rxctrl-strap-quirk;
178*01950c46SEmmanuel Vadot			ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
179*01950c46SEmmanuel Vadot			reset-gpios = <&lsio_gpio3 3 GPIO_ACTIVE_LOW>;
180*01950c46SEmmanuel Vadot			reset-assert-us = <500000>;
181*01950c46SEmmanuel Vadot			reset-deassert-us = <50000>;
182*01950c46SEmmanuel Vadot			enet-phy-lane-no-swap;
183*01950c46SEmmanuel Vadot			interrupt-parent = <&lsio_gpio3>;
184*01950c46SEmmanuel Vadot			interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
185*01950c46SEmmanuel Vadot		};
186*01950c46SEmmanuel Vadot	};
187*01950c46SEmmanuel Vadot};
188*01950c46SEmmanuel Vadot
189*01950c46SEmmanuel Vadot&fec2 {
190*01950c46SEmmanuel Vadot	pinctrl-names = "default";
191*01950c46SEmmanuel Vadot	pinctrl-0 = <&pinctrl_fec2>;
192*01950c46SEmmanuel Vadot	phy-mode = "rgmii-id";
193*01950c46SEmmanuel Vadot	phy-handle = <&ethphy3>;
194*01950c46SEmmanuel Vadot	status = "okay";
195*01950c46SEmmanuel Vadot};
196*01950c46SEmmanuel Vadot
197*01950c46SEmmanuel Vadot&flexcan1 {
198*01950c46SEmmanuel Vadot	pinctrl-names = "default";
199*01950c46SEmmanuel Vadot	pinctrl-0 = <&pinctrl_can0>;
200*01950c46SEmmanuel Vadot	xceiver-supply = <&reg_3v3>;
201*01950c46SEmmanuel Vadot	status = "okay";
202*01950c46SEmmanuel Vadot};
203*01950c46SEmmanuel Vadot
204*01950c46SEmmanuel Vadot&flexcan2 {
205*01950c46SEmmanuel Vadot	pinctrl-names = "default";
206*01950c46SEmmanuel Vadot	pinctrl-0 = <&pinctrl_can1>;
207*01950c46SEmmanuel Vadot	xceiver-supply = <&reg_3v3>;
208*01950c46SEmmanuel Vadot	status = "okay";
209*01950c46SEmmanuel Vadot};
210*01950c46SEmmanuel Vadot
211*01950c46SEmmanuel Vadot&i2c1 {
212*01950c46SEmmanuel Vadot	tlv320aic3x04: audio-codec@18 {
213*01950c46SEmmanuel Vadot		compatible = "ti,tlv320aic32x4";
214*01950c46SEmmanuel Vadot		reg = <0x18>;
215*01950c46SEmmanuel Vadot		clocks = <&mclkout0_lpcg 0>;
216*01950c46SEmmanuel Vadot		clock-names = "mclk";
217*01950c46SEmmanuel Vadot		iov-supply = <&reg_1v8>;
218*01950c46SEmmanuel Vadot		ldoin-supply = <&reg_3v3>;
219*01950c46SEmmanuel Vadot	};
220*01950c46SEmmanuel Vadot
221*01950c46SEmmanuel Vadot	se97b_1c: temperature-sensor@1c {
222*01950c46SEmmanuel Vadot		compatible = "nxp,se97b", "jedec,jc-42.4-temp";
223*01950c46SEmmanuel Vadot		reg = <0x1c>;
224*01950c46SEmmanuel Vadot	};
225*01950c46SEmmanuel Vadot
226*01950c46SEmmanuel Vadot	at24c02_54: eeprom@54 {
227*01950c46SEmmanuel Vadot		compatible = "nxp,se97b", "atmel,24c02";
228*01950c46SEmmanuel Vadot		reg = <0x54>;
229*01950c46SEmmanuel Vadot		pagesize = <16>;
230*01950c46SEmmanuel Vadot		vcc-supply = <&reg_3v3>;
231*01950c46SEmmanuel Vadot	};
232*01950c46SEmmanuel Vadot
233*01950c46SEmmanuel Vadot	expander: gpio@70 {
234*01950c46SEmmanuel Vadot		compatible = "nxp,pca9538";
235*01950c46SEmmanuel Vadot		reg = <0x70>;
236*01950c46SEmmanuel Vadot		pinctrl-names = "default";
237*01950c46SEmmanuel Vadot		pinctrl-0 = <&pinctrl_pca9538>;
238*01950c46SEmmanuel Vadot		gpio-controller;
239*01950c46SEmmanuel Vadot		#gpio-cells = <2>;
240*01950c46SEmmanuel Vadot		interrupt-parent = <&lsio_gpio4>;
241*01950c46SEmmanuel Vadot		interrupts = <19 IRQ_TYPE_LEVEL_LOW>;
242*01950c46SEmmanuel Vadot		interrupt-controller;
243*01950c46SEmmanuel Vadot		#interrupt-cells = <2>;
244*01950c46SEmmanuel Vadot		vcc-supply = <&reg_1v8>;
245*01950c46SEmmanuel Vadot
246*01950c46SEmmanuel Vadot		gpio-line-names = "", "LED_A",
247*01950c46SEmmanuel Vadot				  "LED_B", "",
248*01950c46SEmmanuel Vadot				  "DSI_EN", "USB_RESET#",
249*01950c46SEmmanuel Vadot				  "V_12V_EN", "PCIE_DIS#";
250*01950c46SEmmanuel Vadot	};
251*01950c46SEmmanuel Vadot};
252*01950c46SEmmanuel Vadot
253*01950c46SEmmanuel Vadot&i2c2 {
254*01950c46SEmmanuel Vadot	clock-frequency = <100000>;
255*01950c46SEmmanuel Vadot	pinctrl-names = "default", "gpio";
256*01950c46SEmmanuel Vadot	pinctrl-0 = <&pinctrl_lpi2c2>;
257*01950c46SEmmanuel Vadot	pinctrl-1 = <&pinctrl_lpi2c2gpio>;
258*01950c46SEmmanuel Vadot	scl-gpios = <&lsio_gpio1 31 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
259*01950c46SEmmanuel Vadot	sda-gpios = <&lsio_gpio2 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
260*01950c46SEmmanuel Vadot	status = "okay";
261*01950c46SEmmanuel Vadot};
262*01950c46SEmmanuel Vadot
263*01950c46SEmmanuel Vadot/* TODO LDB */
264*01950c46SEmmanuel Vadot
265*01950c46SEmmanuel Vadot&lpspi1 {
266*01950c46SEmmanuel Vadot	pinctrl-names = "default";
267*01950c46SEmmanuel Vadot	pinctrl-0 = <&pinctrl_spi1>;
268*01950c46SEmmanuel Vadot	cs-gpios = <&lsio_gpio0 27 GPIO_ACTIVE_LOW>, <&lsio_gpio0 29 GPIO_ACTIVE_LOW>;
269*01950c46SEmmanuel Vadot	status = "okay";
270*01950c46SEmmanuel Vadot};
271*01950c46SEmmanuel Vadot
272*01950c46SEmmanuel Vadot&lpspi2 {
273*01950c46SEmmanuel Vadot	pinctrl-names = "default";
274*01950c46SEmmanuel Vadot	pinctrl-0 = <&pinctrl_spi2>;
275*01950c46SEmmanuel Vadot	cs-gpios = <&lsio_gpio1 0 GPIO_ACTIVE_LOW>;
276*01950c46SEmmanuel Vadot	status = "okay";
277*01950c46SEmmanuel Vadot};
278*01950c46SEmmanuel Vadot
279*01950c46SEmmanuel Vadot&lpspi3 {
280*01950c46SEmmanuel Vadot	pinctrl-names = "default";
281*01950c46SEmmanuel Vadot	pinctrl-0 = <&pinctrl_spi3>;
282*01950c46SEmmanuel Vadot	num-cs = <2>;
283*01950c46SEmmanuel Vadot	cs-gpios = <&lsio_gpio0 16 GPIO_ACTIVE_LOW>;
284*01950c46SEmmanuel Vadot	status = "okay";
285*01950c46SEmmanuel Vadot};
286*01950c46SEmmanuel Vadot
287*01950c46SEmmanuel Vadot&lpuart1 {
288*01950c46SEmmanuel Vadot	pinctrl-names = "default";
289*01950c46SEmmanuel Vadot	pinctrl-0 = <&pinctrl_lpuart1>;
290*01950c46SEmmanuel Vadot	status = "okay";
291*01950c46SEmmanuel Vadot};
292*01950c46SEmmanuel Vadot
293*01950c46SEmmanuel Vadot&lpuart3 {
294*01950c46SEmmanuel Vadot	pinctrl-names = "default";
295*01950c46SEmmanuel Vadot	pinctrl-0 = <&pinctrl_lpuart3>;
296*01950c46SEmmanuel Vadot	status = "okay";
297*01950c46SEmmanuel Vadot};
298*01950c46SEmmanuel Vadot
299*01950c46SEmmanuel Vadot&lsio_gpio3 {
300*01950c46SEmmanuel Vadot	pinctrl-names = "default";
301*01950c46SEmmanuel Vadot	pinctrl-0 = <&pinctrl_lsgpio3>;
302*01950c46SEmmanuel Vadot	gpio-line-names = "", "", "", "",
303*01950c46SEmmanuel Vadot			  "", "", "", "",
304*01950c46SEmmanuel Vadot			  "", "", "", "",
305*01950c46SEmmanuel Vadot			  "", "", "", "X4_15",
306*01950c46SEmmanuel Vadot			  "", "", "", "",
307*01950c46SEmmanuel Vadot			  "", "", "", "",
308*01950c46SEmmanuel Vadot			  "", "", "", "",
309*01950c46SEmmanuel Vadot			  "", "", "", "";
310*01950c46SEmmanuel Vadot};
311*01950c46SEmmanuel Vadot
312*01950c46SEmmanuel Vadot/* TODO: Mini-PCIe */
313*01950c46SEmmanuel Vadot
314*01950c46SEmmanuel Vadot&sai1 {
315*01950c46SEmmanuel Vadot	assigned-clocks = <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_PLL>,
316*01950c46SEmmanuel Vadot			  <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_SLV_BUS>,
317*01950c46SEmmanuel Vadot			  <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_MST_BUS>,
318*01950c46SEmmanuel Vadot			  <&sai1_lpcg 0>;
319*01950c46SEmmanuel Vadot	assigned-clock-rates = <786432000>, <49152000>, <12288000>, <49152000>;
320*01950c46SEmmanuel Vadot	pinctrl-names = "default";
321*01950c46SEmmanuel Vadot	pinctrl-0 = <&pinctrl_sai1>;
322*01950c46SEmmanuel Vadot	status = "okay";
323*01950c46SEmmanuel Vadot};
324*01950c46SEmmanuel Vadot
325*01950c46SEmmanuel Vadot&usbotg1 {
326*01950c46SEmmanuel Vadot	pinctrl-names = "default";
327*01950c46SEmmanuel Vadot	pinctrl-0 = <&pinctrl_usbotg1>;
328*01950c46SEmmanuel Vadot	srp-disable;
329*01950c46SEmmanuel Vadot	hnp-disable;
330*01950c46SEmmanuel Vadot	adp-disable;
331*01950c46SEmmanuel Vadot	power-active-high;
332*01950c46SEmmanuel Vadot	over-current-active-low;
333*01950c46SEmmanuel Vadot	dr_mode = "otg";
334*01950c46SEmmanuel Vadot	status = "okay";
335*01950c46SEmmanuel Vadot};
336*01950c46SEmmanuel Vadot
337*01950c46SEmmanuel Vadot&usbotg3 {
338*01950c46SEmmanuel Vadot	status = "okay";
339*01950c46SEmmanuel Vadot};
340*01950c46SEmmanuel Vadot
341*01950c46SEmmanuel Vadot&usbotg3_cdns3 {
342*01950c46SEmmanuel Vadot	dr_mode = "host";
343*01950c46SEmmanuel Vadot	status = "okay";
344*01950c46SEmmanuel Vadot};
345*01950c46SEmmanuel Vadot
346*01950c46SEmmanuel Vadot&usbphy1 {
347*01950c46SEmmanuel Vadot	status = "okay";
348*01950c46SEmmanuel Vadot};
349*01950c46SEmmanuel Vadot
350*01950c46SEmmanuel Vadot&usb3_phy {
351*01950c46SEmmanuel Vadot	status = "okay";
352*01950c46SEmmanuel Vadot};
353*01950c46SEmmanuel Vadot
354*01950c46SEmmanuel Vadot&usdhc2 {
355*01950c46SEmmanuel Vadot	pinctrl-names = "default", "state_100mhz", "state_200mhz";
356*01950c46SEmmanuel Vadot	pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
357*01950c46SEmmanuel Vadot	pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
358*01950c46SEmmanuel Vadot	pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
359*01950c46SEmmanuel Vadot	bus-width = <4>;
360*01950c46SEmmanuel Vadot	cd-gpios = <&lsio_gpio4 22 GPIO_ACTIVE_LOW>;
361*01950c46SEmmanuel Vadot	wp-gpios = <&lsio_gpio4 21 GPIO_ACTIVE_HIGH>;
362*01950c46SEmmanuel Vadot	vmmc-supply = <&reg_3v3_mb>;
363*01950c46SEmmanuel Vadot	no-1-8-v;
364*01950c46SEmmanuel Vadot	no-sdio;
365*01950c46SEmmanuel Vadot	no-mmc;
366*01950c46SEmmanuel Vadot	status = "okay";
367*01950c46SEmmanuel Vadot};
368*01950c46SEmmanuel Vadot
369*01950c46SEmmanuel Vadot&iomuxc {
370*01950c46SEmmanuel Vadot	pinctrl_adc0: adc0grp {
371*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_ADC_IN0_ADMA_ADC_IN0	0x02000060>,
372*01950c46SEmmanuel Vadot			   <IMX8QXP_ADC_IN1_ADMA_ADC_IN1	0x02000060>,
373*01950c46SEmmanuel Vadot			   <IMX8QXP_ADC_IN2_ADMA_ADC_IN2	0x02000060>,
374*01950c46SEmmanuel Vadot			   <IMX8QXP_ADC_IN3_ADMA_ADC_IN3	0x02000060>;
375*01950c46SEmmanuel Vadot	};
376*01950c46SEmmanuel Vadot
377*01950c46SEmmanuel Vadot	pinctrl_admapwm: admapwmgrp {
378*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_SPI0_CS1_ADMA_LCD_PWM0_OUT	0x00000021>;
379*01950c46SEmmanuel Vadot	};
380*01950c46SEmmanuel Vadot
381*01950c46SEmmanuel Vadot	pinctrl_bl_lvds: bllvdsgrp {
382*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_MIPI_DSI1_I2C0_SDA_LSIO_GPIO1_IO30	0x00000021>;
383*01950c46SEmmanuel Vadot	};
384*01950c46SEmmanuel Vadot
385*01950c46SEmmanuel Vadot	pinctrl_can0: can0grp {
386*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_UART0_RX_ADMA_FLEXCAN0_RX		0x00000021>,
387*01950c46SEmmanuel Vadot			   <IMX8QXP_UART0_TX_ADMA_FLEXCAN0_TX		0x00000021>;
388*01950c46SEmmanuel Vadot	};
389*01950c46SEmmanuel Vadot
390*01950c46SEmmanuel Vadot	pinctrl_can1: can1grp {
391*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_UART2_RX_ADMA_FLEXCAN1_RX		0x00000021>,
392*01950c46SEmmanuel Vadot			   <IMX8QXP_UART2_TX_ADMA_FLEXCAN1_TX		0x00000021>;
393*01950c46SEmmanuel Vadot	};
394*01950c46SEmmanuel Vadot
395*01950c46SEmmanuel Vadot	pinctrl_ethphy0: ethphy0grp {
396*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_CSI_EN_LSIO_GPIO3_IO02		0x00000040>,
397*01950c46SEmmanuel Vadot			   <IMX8QXP_CSI_PCLK_LSIO_GPIO3_IO00		0x00000040>;
398*01950c46SEmmanuel Vadot	};
399*01950c46SEmmanuel Vadot
400*01950c46SEmmanuel Vadot	pinctrl_ethphy3: ethphy3grp {
401*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_CSI_RESET_LSIO_GPIO3_IO03		0x00000040>,
402*01950c46SEmmanuel Vadot			   <IMX8QXP_CSI_MCLK_LSIO_GPIO3_IO01		0x00000040>;
403*01950c46SEmmanuel Vadot	};
404*01950c46SEmmanuel Vadot
405*01950c46SEmmanuel Vadot	pinctrl_fec1: fec1grp {
406*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_ENET0_MDC_CONN_ENET0_MDC			0x06000041>,
407*01950c46SEmmanuel Vadot			   <IMX8QXP_ENET0_MDIO_CONN_ENET0_MDIO			0x06000041>,
408*01950c46SEmmanuel Vadot			   <IMX8QXP_ENET0_RGMII_TX_CTL_CONN_ENET0_RGMII_TX_CTL	0x00000040>,
409*01950c46SEmmanuel Vadot			   <IMX8QXP_ENET0_RGMII_TXC_CONN_ENET0_RGMII_TXC	0x00000040>,
410*01950c46SEmmanuel Vadot			   <IMX8QXP_ENET0_RGMII_TXD0_CONN_ENET0_RGMII_TXD0	0x00000040>,
411*01950c46SEmmanuel Vadot			   <IMX8QXP_ENET0_RGMII_TXD1_CONN_ENET0_RGMII_TXD1	0x00000040>,
412*01950c46SEmmanuel Vadot			   <IMX8QXP_ENET0_RGMII_TXD2_CONN_ENET0_RGMII_TXD2	0x00000040>,
413*01950c46SEmmanuel Vadot			   <IMX8QXP_ENET0_RGMII_TXD3_CONN_ENET0_RGMII_TXD3	0x00000040>,
414*01950c46SEmmanuel Vadot			   <IMX8QXP_ENET0_RGMII_RX_CTL_CONN_ENET0_RGMII_RX_CTL	0x00000040>,
415*01950c46SEmmanuel Vadot			   <IMX8QXP_ENET0_RGMII_RXC_CONN_ENET0_RGMII_RXC	0x00000040>,
416*01950c46SEmmanuel Vadot			   <IMX8QXP_ENET0_RGMII_RXD0_CONN_ENET0_RGMII_RXD0	0x00000040>,
417*01950c46SEmmanuel Vadot			   <IMX8QXP_ENET0_RGMII_RXD1_CONN_ENET0_RGMII_RXD1	0x00000040>,
418*01950c46SEmmanuel Vadot			   <IMX8QXP_ENET0_RGMII_RXD2_CONN_ENET0_RGMII_RXD2	0x00000040>,
419*01950c46SEmmanuel Vadot			   <IMX8QXP_ENET0_RGMII_RXD3_CONN_ENET0_RGMII_RXD3	0x00000040>;
420*01950c46SEmmanuel Vadot	};
421*01950c46SEmmanuel Vadot
422*01950c46SEmmanuel Vadot	pinctrl_fec2: fec2grp {
423*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_ESAI0_SCKR_CONN_ENET1_RGMII_TX_CTL		0x00000040>,
424*01950c46SEmmanuel Vadot			   <IMX8QXP_ESAI0_FSR_CONN_ENET1_RGMII_TXC		0x00000040>,
425*01950c46SEmmanuel Vadot			   <IMX8QXP_ESAI0_TX4_RX1_CONN_ENET1_RGMII_TXD0		0x00000040>,
426*01950c46SEmmanuel Vadot			   <IMX8QXP_ESAI0_TX5_RX0_CONN_ENET1_RGMII_TXD1		0x00000040>,
427*01950c46SEmmanuel Vadot			   <IMX8QXP_ESAI0_FST_CONN_ENET1_RGMII_TXD2		0x00000040>,
428*01950c46SEmmanuel Vadot			   <IMX8QXP_ESAI0_SCKT_CONN_ENET1_RGMII_TXD3		0x00000040>,
429*01950c46SEmmanuel Vadot			   <IMX8QXP_ESAI0_TX0_CONN_ENET1_RGMII_RXC		0x00000040>,
430*01950c46SEmmanuel Vadot			   <IMX8QXP_SPDIF0_TX_CONN_ENET1_RGMII_RX_CTL		0x00000040>,
431*01950c46SEmmanuel Vadot			   <IMX8QXP_SPDIF0_RX_CONN_ENET1_RGMII_RXD0		0x00000040>,
432*01950c46SEmmanuel Vadot			   <IMX8QXP_ESAI0_TX3_RX2_CONN_ENET1_RGMII_RXD1		0x00000040>,
433*01950c46SEmmanuel Vadot			   <IMX8QXP_ESAI0_TX2_RX3_CONN_ENET1_RGMII_RXD2		0x00000040>,
434*01950c46SEmmanuel Vadot			   <IMX8QXP_ESAI0_TX1_CONN_ENET1_RGMII_RXD3		0x00000040>;
435*01950c46SEmmanuel Vadot	};
436*01950c46SEmmanuel Vadot
437*01950c46SEmmanuel Vadot	pinctrl_gpiobuttons: gpiobuttonsgrp {
438*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_ADC_IN5_LSIO_GPIO1_IO13	0x00000020>,
439*01950c46SEmmanuel Vadot			   <IMX8QXP_ADC_IN4_LSIO_GPIO1_IO14	0x00000020>;
440*01950c46SEmmanuel Vadot	};
441*01950c46SEmmanuel Vadot
442*01950c46SEmmanuel Vadot	pinctrl_lpi2c2: lpi2c2grp {
443*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_MIPI_DSI1_GPIO0_00_ADMA_I2C2_SCL	0x06000021>,
444*01950c46SEmmanuel Vadot			   <IMX8QXP_MIPI_DSI1_GPIO0_01_ADMA_I2C2_SDA	0x06000021>;
445*01950c46SEmmanuel Vadot	};
446*01950c46SEmmanuel Vadot
447*01950c46SEmmanuel Vadot	pinctrl_lpi2c2gpio: lpi2c2gpiogrp {
448*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_MIPI_DSI1_GPIO0_00_LSIO_GPIO1_IO31	0x06000021>,
449*01950c46SEmmanuel Vadot			   <IMX8QXP_MIPI_DSI1_GPIO0_01_LSIO_GPIO2_IO00	0x06000021>;
450*01950c46SEmmanuel Vadot	};
451*01950c46SEmmanuel Vadot
452*01950c46SEmmanuel Vadot	pinctrl_lpuart1: lpuart1grp {
453*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_UART1_RX_ADMA_UART1_RX	0x06000020>,
454*01950c46SEmmanuel Vadot			   <IMX8QXP_UART1_TX_ADMA_UART1_TX	0x06000020>;
455*01950c46SEmmanuel Vadot	};
456*01950c46SEmmanuel Vadot
457*01950c46SEmmanuel Vadot	pinctrl_lpuart3: lpuart3grp {
458*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_FLEXCAN2_RX_ADMA_UART3_RX	0x06000020>,
459*01950c46SEmmanuel Vadot			   <IMX8QXP_FLEXCAN2_TX_ADMA_UART3_TX	0x06000020>;
460*01950c46SEmmanuel Vadot	};
461*01950c46SEmmanuel Vadot
462*01950c46SEmmanuel Vadot	pinctrl_lsgpio3: lsgpio3grp {
463*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_QSPI0A_SS1_B_LSIO_GPIO3_IO15	0x00000021>;
464*01950c46SEmmanuel Vadot	};
465*01950c46SEmmanuel Vadot
466*01950c46SEmmanuel Vadot	pinctrl_pca9538: pca9538grp {
467*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_USDHC1_RESET_B_LSIO_GPIO4_IO19	0x00000020>;
468*01950c46SEmmanuel Vadot	};
469*01950c46SEmmanuel Vadot
470*01950c46SEmmanuel Vadot	pinctrl_pcieb: pcieagrp {
471*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_PCIE_CTRL0_PERST_B_LSIO_GPIO4_IO00	0x06000041>,
472*01950c46SEmmanuel Vadot			   <IMX8QXP_PCIE_CTRL0_CLKREQ_B_LSIO_GPIO4_IO01	0x06000041>,
473*01950c46SEmmanuel Vadot			   <IMX8QXP_PCIE_CTRL0_WAKE_B_LSIO_GPIO4_IO02	0x04000041>;
474*01950c46SEmmanuel Vadot	};
475*01950c46SEmmanuel Vadot
476*01950c46SEmmanuel Vadot	pinctrl_reg_pcie_1v5: regpcie1v5grp {
477*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_SAI1_RXC_LSIO_GPIO0_IO30	0x00000021>;
478*01950c46SEmmanuel Vadot	};
479*01950c46SEmmanuel Vadot
480*01950c46SEmmanuel Vadot	pinctrl_reg_pcie_3v3: regpcie3v3grp {
481*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_SAI1_RXFS_LSIO_GPIO0_IO31	0x00000021>;
482*01950c46SEmmanuel Vadot	};
483*01950c46SEmmanuel Vadot
484*01950c46SEmmanuel Vadot	pinctrl_sai1: sai1grp {
485*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_MCLK_OUT0_ADMA_ACM_MCLK_OUT0	0x06000041>,
486*01950c46SEmmanuel Vadot			   <IMX8QXP_FLEXCAN0_RX_ADMA_SAI1_TXC		0x06000041>,
487*01950c46SEmmanuel Vadot			   <IMX8QXP_FLEXCAN0_TX_ADMA_SAI1_TXFS		0x06000041>,
488*01950c46SEmmanuel Vadot			   <IMX8QXP_FLEXCAN1_RX_ADMA_SAI1_TXD		0x06000041>,
489*01950c46SEmmanuel Vadot			   <IMX8QXP_FLEXCAN1_TX_ADMA_SAI1_RXD		0x06000041>;
490*01950c46SEmmanuel Vadot	};
491*01950c46SEmmanuel Vadot
492*01950c46SEmmanuel Vadot	pinctrl_spi1: spi1grp {
493*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_SAI0_TXC_ADMA_SPI1_SDI	0x00000041>,
494*01950c46SEmmanuel Vadot			   <IMX8QXP_SAI0_TXD_ADMA_SPI1_SDO	0x00000041>,
495*01950c46SEmmanuel Vadot			   <IMX8QXP_SAI0_TXFS_ADMA_SPI1_SCK	0x00000041>,
496*01950c46SEmmanuel Vadot			   <IMX8QXP_SAI0_RXD_LSIO_GPIO0_IO27	0x00000021>,
497*01950c46SEmmanuel Vadot			   <IMX8QXP_SAI1_RXD_LSIO_GPIO0_IO29	0x00000021>;
498*01950c46SEmmanuel Vadot	};
499*01950c46SEmmanuel Vadot
500*01950c46SEmmanuel Vadot	pinctrl_spi2: spi2grp {
501*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_SPI2_SCK_ADMA_SPI2_SCK	0x00000041>,
502*01950c46SEmmanuel Vadot			   <IMX8QXP_SPI2_SDI_ADMA_SPI2_SDI	0x00000041>,
503*01950c46SEmmanuel Vadot			   <IMX8QXP_SPI2_SDO_ADMA_SPI2_SDO	0x00000041>,
504*01950c46SEmmanuel Vadot			   <IMX8QXP_SPI2_CS0_LSIO_GPIO1_IO00	0x00000021>;
505*01950c46SEmmanuel Vadot	};
506*01950c46SEmmanuel Vadot
507*01950c46SEmmanuel Vadot	pinctrl_spi3: spi3grp {
508*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_SPI3_SCK_ADMA_SPI3_SCK	0x00000041>,
509*01950c46SEmmanuel Vadot			   <IMX8QXP_SPI3_SDI_ADMA_SPI3_SDI	0x00000041>,
510*01950c46SEmmanuel Vadot			   <IMX8QXP_SPI3_SDO_ADMA_SPI3_SDO	0x00000041>,
511*01950c46SEmmanuel Vadot			   <IMX8QXP_SPI3_CS0_LSIO_GPIO0_IO16	0x00000021>,
512*01950c46SEmmanuel Vadot			   <IMX8QXP_SPI3_CS1_ADMA_SPI3_CS1	0x00000021>;
513*01950c46SEmmanuel Vadot	};
514*01950c46SEmmanuel Vadot
515*01950c46SEmmanuel Vadot	pinctrl_usbotg1: usbotg1grp {
516*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_USB_SS3_TC0_CONN_USB_OTG1_PWR	0x00000021>,
517*01950c46SEmmanuel Vadot			   <IMX8QXP_USB_SS3_TC2_CONN_USB_OTG1_OC	0x00000021>;
518*01950c46SEmmanuel Vadot	};
519*01950c46SEmmanuel Vadot
520*01950c46SEmmanuel Vadot	pinctrl_usdhc2_gpio: usdhc2gpiogrp {
521*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_USDHC1_WP_LSIO_GPIO4_IO21		0x00000021>,
522*01950c46SEmmanuel Vadot			   <IMX8QXP_USDHC1_CD_B_LSIO_GPIO4_IO22		0x00000021>;
523*01950c46SEmmanuel Vadot	};
524*01950c46SEmmanuel Vadot
525*01950c46SEmmanuel Vadot	pinctrl_usdhc2: usdhc2grp {
526*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_USDHC1_CLK_CONN_USDHC1_CLK		0x06000041>,
527*01950c46SEmmanuel Vadot			   <IMX8QXP_USDHC1_CMD_CONN_USDHC1_CMD		0x00000021>,
528*01950c46SEmmanuel Vadot			   <IMX8QXP_USDHC1_DATA0_CONN_USDHC1_DATA0	0x00000021>,
529*01950c46SEmmanuel Vadot			   <IMX8QXP_USDHC1_DATA1_CONN_USDHC1_DATA1	0x00000021>,
530*01950c46SEmmanuel Vadot			   <IMX8QXP_USDHC1_DATA2_CONN_USDHC1_DATA2	0x00000021>,
531*01950c46SEmmanuel Vadot			   <IMX8QXP_USDHC1_DATA3_CONN_USDHC1_DATA3	0x00000021>,
532*01950c46SEmmanuel Vadot			   <IMX8QXP_USDHC1_VSELECT_CONN_USDHC1_VSELECT	0x00000021>;
533*01950c46SEmmanuel Vadot	};
534*01950c46SEmmanuel Vadot
535*01950c46SEmmanuel Vadot	pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
536*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_USDHC1_CLK_CONN_USDHC1_CLK		0x06000040>,
537*01950c46SEmmanuel Vadot			   <IMX8QXP_USDHC1_CMD_CONN_USDHC1_CMD		0x00000020>,
538*01950c46SEmmanuel Vadot			   <IMX8QXP_USDHC1_DATA0_CONN_USDHC1_DATA0	0x00000020>,
539*01950c46SEmmanuel Vadot			   <IMX8QXP_USDHC1_DATA1_CONN_USDHC1_DATA1	0x00000020>,
540*01950c46SEmmanuel Vadot			   <IMX8QXP_USDHC1_DATA2_CONN_USDHC1_DATA2	0x00000020>,
541*01950c46SEmmanuel Vadot			   <IMX8QXP_USDHC1_DATA3_CONN_USDHC1_DATA3	0x00000020>,
542*01950c46SEmmanuel Vadot			   <IMX8QXP_USDHC1_VSELECT_CONN_USDHC1_VSELECT	0x00000020>;
543*01950c46SEmmanuel Vadot	};
544*01950c46SEmmanuel Vadot
545*01950c46SEmmanuel Vadot	pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
546*01950c46SEmmanuel Vadot		fsl,pins = <IMX8QXP_USDHC1_CLK_CONN_USDHC1_CLK		0x06000040>,
547*01950c46SEmmanuel Vadot			   <IMX8QXP_USDHC1_CMD_CONN_USDHC1_CMD		0x00000020>,
548*01950c46SEmmanuel Vadot			   <IMX8QXP_USDHC1_DATA0_CONN_USDHC1_DATA0	0x00000020>,
549*01950c46SEmmanuel Vadot			   <IMX8QXP_USDHC1_DATA1_CONN_USDHC1_DATA1	0x00000020>,
550*01950c46SEmmanuel Vadot			   <IMX8QXP_USDHC1_DATA2_CONN_USDHC1_DATA2	0x00000020>,
551*01950c46SEmmanuel Vadot			   <IMX8QXP_USDHC1_DATA3_CONN_USDHC1_DATA3	0x00000020>,
552*01950c46SEmmanuel Vadot			   <IMX8QXP_USDHC1_VSELECT_CONN_USDHC1_VSELECT	0x00000020>;
553*01950c46SEmmanuel Vadot	};
554*01950c46SEmmanuel Vadot};
555