1c982ecfaSAlexander Stein// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
2c982ecfaSAlexander Stein/*
3c982ecfaSAlexander Stein * Copyright (c) 2022-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
4c982ecfaSAlexander Stein * D-82229 Seefeld, Germany.
5c982ecfaSAlexander Stein * Author: Markus Niebel
6c982ecfaSAlexander Stein * Author: Alexander Stein
7c982ecfaSAlexander Stein */
8c982ecfaSAlexander Stein/dts-v1/;
9c982ecfaSAlexander Stein
10c982ecfaSAlexander Stein#include <dt-bindings/input/input.h>
11c982ecfaSAlexander Stein#include <dt-bindings/leds/common.h>
12c982ecfaSAlexander Stein#include <dt-bindings/net/ti-dp83867.h>
13c982ecfaSAlexander Stein#include <dt-bindings/pwm/pwm.h>
14c982ecfaSAlexander Stein#include <dt-bindings/usb/pd.h>
15c982ecfaSAlexander Stein#include "imx93-tqma9352.dtsi"
16c982ecfaSAlexander Stein
17c982ecfaSAlexander Stein/{
18c982ecfaSAlexander Stein	model = "TQ-Systems i.MX93 TQMa93xxLA on MBa93xxLA SBC";
19c982ecfaSAlexander Stein	compatible = "tq,imx93-tqma9352-mba93xxla",
20c982ecfaSAlexander Stein		     "tq,imx93-tqma9352", "fsl,imx93";
21c982ecfaSAlexander Stein
22c982ecfaSAlexander Stein	chosen {
23c982ecfaSAlexander Stein		stdout-path = &lpuart1;
24c982ecfaSAlexander Stein	};
25c982ecfaSAlexander Stein
26c982ecfaSAlexander Stein	aliases {
27c982ecfaSAlexander Stein		eeprom0 = &eeprom0;
28c982ecfaSAlexander Stein		rtc0 = &pcf85063;
29c982ecfaSAlexander Stein		rtc1 = &bbnsm_rtc;
30c982ecfaSAlexander Stein	};
31c982ecfaSAlexander Stein
32c982ecfaSAlexander Stein	backlight_lvds: backlight {
33c982ecfaSAlexander Stein		compatible = "pwm-backlight";
34c982ecfaSAlexander Stein		pwms = <&tpm5 0 5000000 0>;
35c982ecfaSAlexander Stein		brightness-levels = <0 4 8 16 32 64 128 255>;
36c982ecfaSAlexander Stein		default-brightness-level = <7>;
37c982ecfaSAlexander Stein		power-supply = <&reg_12v0>;
38c982ecfaSAlexander Stein		enable-gpios = <&expander2 2 GPIO_ACTIVE_HIGH>;
39c982ecfaSAlexander Stein		status = "disabled";
40c982ecfaSAlexander Stein	};
41c982ecfaSAlexander Stein
42c982ecfaSAlexander Stein	clk_dp: clk-dp {
43c982ecfaSAlexander Stein		compatible = "fixed-clock";
44c982ecfaSAlexander Stein		#clock-cells = <0>;
45c982ecfaSAlexander Stein		clock-frequency = <26000000>;
46c982ecfaSAlexander Stein	};
47c982ecfaSAlexander Stein
48c982ecfaSAlexander Stein	gpio-keys {
49c982ecfaSAlexander Stein		compatible = "gpio-keys";
50c982ecfaSAlexander Stein		autorepeat;
51c982ecfaSAlexander Stein
52c982ecfaSAlexander Stein		switch-a {
53c982ecfaSAlexander Stein			label = "switcha";
54c982ecfaSAlexander Stein			linux,code = <BTN_0>;
55c982ecfaSAlexander Stein			gpios = <&expander0 6 GPIO_ACTIVE_LOW>;
56c982ecfaSAlexander Stein			wakeup-source;
57c982ecfaSAlexander Stein		};
58c982ecfaSAlexander Stein
59c982ecfaSAlexander Stein		switch-b {
60c982ecfaSAlexander Stein			label = "switchb";
61c982ecfaSAlexander Stein			linux,code = <BTN_1>;
62c982ecfaSAlexander Stein			gpios = <&expander0 7 GPIO_ACTIVE_LOW>;
63c982ecfaSAlexander Stein			wakeup-source;
64c982ecfaSAlexander Stein		};
65c982ecfaSAlexander Stein	};
66c982ecfaSAlexander Stein
67c982ecfaSAlexander Stein	gpio-leds {
68c982ecfaSAlexander Stein		compatible = "gpio-leds";
69c982ecfaSAlexander Stein
70c982ecfaSAlexander Stein		led-1 {
71c982ecfaSAlexander Stein			color = <LED_COLOR_ID_GREEN>;
72c982ecfaSAlexander Stein			function = LED_FUNCTION_STATUS;
73c982ecfaSAlexander Stein			gpios = <&expander2 6 GPIO_ACTIVE_HIGH>;
74c982ecfaSAlexander Stein			linux,default-trigger = "default-on";
75c982ecfaSAlexander Stein		};
76c982ecfaSAlexander Stein
77c982ecfaSAlexander Stein		led-2 {
78c982ecfaSAlexander Stein			color = <LED_COLOR_ID_AMBER>;
79c982ecfaSAlexander Stein			function = LED_FUNCTION_HEARTBEAT;
80c982ecfaSAlexander Stein			gpios = <&expander2 7 GPIO_ACTIVE_HIGH>;
81c982ecfaSAlexander Stein			linux,default-trigger = "heartbeat";
82c982ecfaSAlexander Stein		};
83c982ecfaSAlexander Stein	};
84c982ecfaSAlexander Stein
85c982ecfaSAlexander Stein	iio-hwmon {
86c982ecfaSAlexander Stein		compatible = "iio-hwmon";
87c982ecfaSAlexander Stein		io-channels = <&adc1 0>, <&adc1 1>, <&adc1 2>, <&adc1 3>;
88c982ecfaSAlexander Stein	};
89c982ecfaSAlexander Stein
90c982ecfaSAlexander Stein	reg_3v3: regulator-3v3 {
91c982ecfaSAlexander Stein		compatible = "regulator-fixed";
92c982ecfaSAlexander Stein		regulator-name = "V_3V3_MB";
93c982ecfaSAlexander Stein		regulator-min-microvolt = <3300000>;
94c982ecfaSAlexander Stein		regulator-max-microvolt = <3300000>;
95c982ecfaSAlexander Stein	};
96c982ecfaSAlexander Stein
97c982ecfaSAlexander Stein	reg_3v8: regulator-3v8 {
98c982ecfaSAlexander Stein		compatible = "regulator-fixed";
99c982ecfaSAlexander Stein		regulator-name = "V_3V8";
100c982ecfaSAlexander Stein		regulator-min-microvolt = <3800000>;
101c982ecfaSAlexander Stein		regulator-max-microvolt = <3800000>;
102c982ecfaSAlexander Stein		gpio = <&expander0 0 GPIO_ACTIVE_HIGH>;
103c982ecfaSAlexander Stein		enable-active-high;
104c982ecfaSAlexander Stein		/* TODO: this is supply for IOT module */
105c982ecfaSAlexander Stein		regulator-always-on;
106c982ecfaSAlexander Stein	};
107c982ecfaSAlexander Stein
108c982ecfaSAlexander Stein	reg_5v0: regulator-5v0 {
109c982ecfaSAlexander Stein		compatible = "regulator-fixed";
110c982ecfaSAlexander Stein		regulator-name = "V_5V0_MB";
111c982ecfaSAlexander Stein		regulator-min-microvolt = <5000000>;
112c982ecfaSAlexander Stein		regulator-max-microvolt = <5000000>;
113c982ecfaSAlexander Stein	};
114c982ecfaSAlexander Stein
115c982ecfaSAlexander Stein	reg_12v0: regulator-12v0 {
116c982ecfaSAlexander Stein		compatible = "regulator-fixed";
117c982ecfaSAlexander Stein		regulator-name = "V_12V";
118c982ecfaSAlexander Stein		regulator-min-microvolt = <12000000>;
119c982ecfaSAlexander Stein		regulator-max-microvolt = <12000000>;
120c982ecfaSAlexander Stein		gpio = <&expander1 7 GPIO_ACTIVE_HIGH>;
121c982ecfaSAlexander Stein		enable-active-high;
122c982ecfaSAlexander Stein	};
123c982ecfaSAlexander Stein};
124c982ecfaSAlexander Stein
125c982ecfaSAlexander Stein&adc1 {
126c982ecfaSAlexander Stein	status = "okay";
127c982ecfaSAlexander Stein};
128c982ecfaSAlexander Stein
129c982ecfaSAlexander Stein&eqos {
130c982ecfaSAlexander Stein	pinctrl-names = "default";
131c982ecfaSAlexander Stein	pinctrl-0 = <&pinctrl_eqos>;
132c982ecfaSAlexander Stein	phy-mode = "rgmii-id";
133c982ecfaSAlexander Stein	phy-handle = <&ethphy_eqos>;
134c982ecfaSAlexander Stein	status = "okay";
135c982ecfaSAlexander Stein
136c982ecfaSAlexander Stein	mdio {
137c982ecfaSAlexander Stein		compatible = "snps,dwmac-mdio";
138c982ecfaSAlexander Stein		#address-cells = <1>;
139c982ecfaSAlexander Stein		#size-cells = <0>;
140c982ecfaSAlexander Stein
141c982ecfaSAlexander Stein		ethphy_eqos: ethernet-phy@0 {
142c982ecfaSAlexander Stein			compatible = "ethernet-phy-ieee802.3-c22";
143c982ecfaSAlexander Stein			reg = <0>;
144c982ecfaSAlexander Stein			pinctrl-names = "default";
145c982ecfaSAlexander Stein			pinctrl-0 = <&pinctrl_eqos_phy>;
146c982ecfaSAlexander Stein			interrupt-parent = <&gpio3>;
147c982ecfaSAlexander Stein			interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
148c982ecfaSAlexander Stein			reset-gpios = <&expander1 0 GPIO_ACTIVE_LOW>;
149c982ecfaSAlexander Stein			reset-assert-us = <500000>;
150c982ecfaSAlexander Stein			reset-deassert-us = <50000>;
151c982ecfaSAlexander Stein			enet-phy-lane-no-swap;
152c982ecfaSAlexander Stein			ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
153c982ecfaSAlexander Stein			ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
154c982ecfaSAlexander Stein			ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
155c982ecfaSAlexander Stein			ti,dp83867-rxctrl-strap-quirk;
156c982ecfaSAlexander Stein			ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
157c982ecfaSAlexander Stein		};
158c982ecfaSAlexander Stein	};
159c982ecfaSAlexander Stein};
160c982ecfaSAlexander Stein
161c982ecfaSAlexander Stein&fec {
162c982ecfaSAlexander Stein	pinctrl-names = "default";
163c982ecfaSAlexander Stein	pinctrl-0 = <&pinctrl_fec>;
164c982ecfaSAlexander Stein	phy-mode = "rgmii-id";
165c982ecfaSAlexander Stein	phy-handle = <&ethphy_fec>;
166c982ecfaSAlexander Stein	fsl,magic-packet;
167c982ecfaSAlexander Stein	status = "okay";
168c982ecfaSAlexander Stein
169c982ecfaSAlexander Stein	mdio {
170c982ecfaSAlexander Stein		#address-cells = <1>;
171c982ecfaSAlexander Stein		#size-cells = <0>;
172c982ecfaSAlexander Stein		clock-frequency = <5000000>;
173c982ecfaSAlexander Stein
174c982ecfaSAlexander Stein		ethphy_fec: ethernet-phy@0 {
175c982ecfaSAlexander Stein			compatible = "ethernet-phy-ieee802.3-c22";
176c982ecfaSAlexander Stein			reg = <0>;
177c982ecfaSAlexander Stein			pinctrl-names = "default";
178c982ecfaSAlexander Stein			pinctrl-0 = <&pinctrl_fec_phy>;
179c982ecfaSAlexander Stein			interrupt-parent = <&gpio3>;
180c982ecfaSAlexander Stein			interrupts = <27 IRQ_TYPE_EDGE_FALLING>;
181c982ecfaSAlexander Stein			reset-gpios = <&expander1 1 GPIO_ACTIVE_LOW>;
182c982ecfaSAlexander Stein			reset-assert-us = <500000>;
183c982ecfaSAlexander Stein			reset-deassert-us = <50000>;
184c982ecfaSAlexander Stein			enet-phy-lane-no-swap;
185c982ecfaSAlexander Stein			ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
186c982ecfaSAlexander Stein			ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
187c982ecfaSAlexander Stein			ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
188c982ecfaSAlexander Stein			ti,dp83867-rxctrl-strap-quirk;
189c982ecfaSAlexander Stein			ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
190c982ecfaSAlexander Stein		};
191c982ecfaSAlexander Stein	};
192c982ecfaSAlexander Stein};
193c982ecfaSAlexander Stein
194c982ecfaSAlexander Stein&flexcan1 {
195c982ecfaSAlexander Stein	pinctrl-names = "default";
196c982ecfaSAlexander Stein	pinctrl-0 = <&pinctrl_flexcan1>;
197c982ecfaSAlexander Stein	xceiver-supply = <&reg_3v3>;
198c982ecfaSAlexander Stein	status = "okay";
199c982ecfaSAlexander Stein};
200c982ecfaSAlexander Stein
201c982ecfaSAlexander Stein&flexcan2 {
202c982ecfaSAlexander Stein	pinctrl-names = "default";
203c982ecfaSAlexander Stein	pinctrl-0 = <&pinctrl_flexcan2>;
204c982ecfaSAlexander Stein	xceiver-supply = <&reg_3v3>;
205c982ecfaSAlexander Stein	status = "okay";
206c982ecfaSAlexander Stein};
207c982ecfaSAlexander Stein
208c982ecfaSAlexander Stein&gpio1 {
209c982ecfaSAlexander Stein	expander-irq-hog {
210c982ecfaSAlexander Stein		gpio-hog;
211c982ecfaSAlexander Stein		gpios = <12 GPIO_ACTIVE_LOW>;
212c982ecfaSAlexander Stein		input;
213c982ecfaSAlexander Stein		line-name = "PEX_INT#";
214c982ecfaSAlexander Stein	};
215c982ecfaSAlexander Stein
216c982ecfaSAlexander Stein	rtc-irq-hog {
217c982ecfaSAlexander Stein		gpio-hog;
218c982ecfaSAlexander Stein		gpios = <14 GPIO_ACTIVE_LOW>;
219c982ecfaSAlexander Stein		input;
220c982ecfaSAlexander Stein		line-name = "RTC_EVENT#";
221c982ecfaSAlexander Stein	};
222c982ecfaSAlexander Stein};
223c982ecfaSAlexander Stein
224c982ecfaSAlexander Stein&gpio3 {
225c982ecfaSAlexander Stein	ethphy-eqos-irq-hog {
226c982ecfaSAlexander Stein		gpio-hog;
227c982ecfaSAlexander Stein		gpios = <26 GPIO_ACTIVE_LOW>;
228c982ecfaSAlexander Stein		input;
229c982ecfaSAlexander Stein		line-name = "ENET0_IRQ#";
230c982ecfaSAlexander Stein	};
231c982ecfaSAlexander Stein
232c982ecfaSAlexander Stein	ethphy-fec-irq-hog {
233c982ecfaSAlexander Stein		gpio-hog;
234c982ecfaSAlexander Stein		gpios = <27 GPIO_ACTIVE_LOW>;
235c982ecfaSAlexander Stein		input;
236c982ecfaSAlexander Stein		line-name = "ENET1_IRQ#";
237c982ecfaSAlexander Stein	};
238c982ecfaSAlexander Stein};
239c982ecfaSAlexander Stein
240c982ecfaSAlexander Stein&lpi2c3 {
241c982ecfaSAlexander Stein	#address-cells = <1>;
242c982ecfaSAlexander Stein	#size-cells = <0>;
243c982ecfaSAlexander Stein	clock-frequency = <400000>;
244c982ecfaSAlexander Stein	pinctrl-names = "default", "sleep";
245c982ecfaSAlexander Stein	pinctrl-0 = <&pinctrl_lpi2c3>;
246c982ecfaSAlexander Stein	pinctrl-1 = <&pinctrl_lpi2c3>;
247c982ecfaSAlexander Stein	status = "okay";
248c982ecfaSAlexander Stein
249c982ecfaSAlexander Stein	temperature-sensor@1c {
250c982ecfaSAlexander Stein		compatible = "nxp,se97b", "jedec,jc-42.4-temp";
251c982ecfaSAlexander Stein		reg = <0x1c>;
252c982ecfaSAlexander Stein	};
253c982ecfaSAlexander Stein
254c982ecfaSAlexander Stein	eeprom2: eeprom@54 {
255c982ecfaSAlexander Stein		compatible = "nxp,se97b", "atmel,24c02";
256c982ecfaSAlexander Stein		reg = <0x54>;
257c982ecfaSAlexander Stein		pagesize = <16>;
258c982ecfaSAlexander Stein		vcc-supply = <&reg_3v3>;
259c982ecfaSAlexander Stein	};
260c982ecfaSAlexander Stein
261c982ecfaSAlexander Stein	expander0: gpio@70 {
262c982ecfaSAlexander Stein		compatible = "nxp,pca9538";
263c982ecfaSAlexander Stein		reg = <0x70>;
264c982ecfaSAlexander Stein		pinctrl-names = "default";
265c982ecfaSAlexander Stein		pinctrl-0 = <&pinctrl_pexp_irq>;
266c982ecfaSAlexander Stein		gpio-controller;
267c982ecfaSAlexander Stein		#gpio-cells = <2>;
268c982ecfaSAlexander Stein		interrupt-controller;
269c982ecfaSAlexander Stein		#interrupt-cells = <2>;
270c982ecfaSAlexander Stein		interrupt-parent = <&gpio1>;
271c982ecfaSAlexander Stein		interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
272c982ecfaSAlexander Stein		vcc-supply = <&reg_3v3>;
273c982ecfaSAlexander Stein		gpio-line-names = "3V8_EN", "",
274c982ecfaSAlexander Stein				  "", "IOT_PWRKEY",
275c982ecfaSAlexander Stein				  "IOT_RESET", "IOT_W_DISABLE",
276c982ecfaSAlexander Stein				  "BUTTON_A#", "BUTTON_B#";
277c982ecfaSAlexander Stein
278c982ecfaSAlexander Stein		/*
279c982ecfaSAlexander Stein		 * Controls the IOT W_DISABLE pin which is low active
280c982ecfaSAlexander Stein		 * as disable signal but inverted as seen from the CPU.
281c982ecfaSAlexander Stein		 * The output-low states, the signal is
282c982ecfaSAlexander Stein		 * inactive, e.g. not disabled
283c982ecfaSAlexander Stein		 */
284c982ecfaSAlexander Stein		iot_wdisable_hog: iot-wdisable-hog {
285c982ecfaSAlexander Stein			gpio-hog;
286c982ecfaSAlexander Stein			gpios = <5 GPIO_ACTIVE_HIGH>;
287c982ecfaSAlexander Stein			output-low;
288c982ecfaSAlexander Stein			line-name = "IOT_W_DISABLE";
289c982ecfaSAlexander Stein		};
290c982ecfaSAlexander Stein	};
291c982ecfaSAlexander Stein
292c982ecfaSAlexander Stein	expander1: gpio@71 {
293c982ecfaSAlexander Stein		compatible = "nxp,pca9538";
294c982ecfaSAlexander Stein		reg = <0x71>;
295c982ecfaSAlexander Stein		gpio-controller;
296c982ecfaSAlexander Stein		#gpio-cells = <2>;
297c982ecfaSAlexander Stein		vcc-supply = <&reg_3v3>;
298c982ecfaSAlexander Stein		gpio-line-names = "ENET1_RESET#", "ENET2_RESET#",
299c982ecfaSAlexander Stein				  "USB_RESET#", "",
300c982ecfaSAlexander Stein				  "WLAN_PD#", "WLAN_W_DISABLE#",
301c982ecfaSAlexander Stein				  "WLAN_PERST#", "12V_EN";
302c982ecfaSAlexander Stein
303c982ecfaSAlexander Stein		/*
304c982ecfaSAlexander Stein		 * Controls the WiFi card PD pin which is low active
305c982ecfaSAlexander Stein		 * as power down signal. The output-low states, the signal
306c982ecfaSAlexander Stein		 * is inactive, e.g. not power down
307c982ecfaSAlexander Stein		 */
308c982ecfaSAlexander Stein		wlan-pd-hog {
309c982ecfaSAlexander Stein			gpio-hog;
310c982ecfaSAlexander Stein			gpios = <4 GPIO_ACTIVE_LOW>;
311c982ecfaSAlexander Stein			output-low;
312c982ecfaSAlexander Stein			line-name = "WLAN_PD#";
313c982ecfaSAlexander Stein		};
314c982ecfaSAlexander Stein
315c982ecfaSAlexander Stein		/*
316c982ecfaSAlexander Stein		 * Controls the WiFi card disable pin which is low active
317c982ecfaSAlexander Stein		 * as disable signal. The output-low states, the signal
318c982ecfaSAlexander Stein		 * is inactive, e.g. not disabled
319c982ecfaSAlexander Stein		 */
320c982ecfaSAlexander Stein		wlan-wdisable-hog {
321c982ecfaSAlexander Stein			gpio-hog;
322c982ecfaSAlexander Stein			gpios = <5 GPIO_ACTIVE_LOW>;
323c982ecfaSAlexander Stein			output-low;
324c982ecfaSAlexander Stein			line-name = "WLAN_W_DISABLE#";
325c982ecfaSAlexander Stein		};
326c982ecfaSAlexander Stein
327c982ecfaSAlexander Stein		/*
328c982ecfaSAlexander Stein		 * Controls the WiFi card reset pin which is low active
329c982ecfaSAlexander Stein		 * as reset signal. The output-low states, the signal
330c982ecfaSAlexander Stein		 * is inactive, e.g. not in reset
331c982ecfaSAlexander Stein		 */
332c982ecfaSAlexander Stein		wlan-perst-hog {
333c982ecfaSAlexander Stein			gpio-hog;
334c982ecfaSAlexander Stein			gpios = <6 GPIO_ACTIVE_LOW>;
335c982ecfaSAlexander Stein			output-low;
336c982ecfaSAlexander Stein			line-name = "WLAN_PERST#";
337c982ecfaSAlexander Stein		};
338c982ecfaSAlexander Stein	};
339c982ecfaSAlexander Stein
340c982ecfaSAlexander Stein	expander2: gpio@72 {
341c982ecfaSAlexander Stein		compatible = "nxp,pca9538";
342c982ecfaSAlexander Stein		reg = <0x72>;
343c982ecfaSAlexander Stein		gpio-controller;
344c982ecfaSAlexander Stein		#gpio-cells = <2>;
345c982ecfaSAlexander Stein		vcc-supply = <&reg_3v3>;
346c982ecfaSAlexander Stein		gpio-line-names = "LCD_RESET#", "LCD_PWR_EN",
347c982ecfaSAlexander Stein				  "LCD_BL_EN", "DP_EN",
348c982ecfaSAlexander Stein				  "MIPI_CSI_EN", "MIPI_CSI_RST#",
349c982ecfaSAlexander Stein				  "USER_LED1", "USER_LED2";
350c982ecfaSAlexander Stein	};
351c982ecfaSAlexander Stein};
352c982ecfaSAlexander Stein
353c982ecfaSAlexander Stein&lpi2c5 {
354c982ecfaSAlexander Stein	#address-cells = <1>;
355c982ecfaSAlexander Stein	#size-cells = <0>;
356c982ecfaSAlexander Stein	clock-frequency = <400000>;
357c982ecfaSAlexander Stein	pinctrl-names = "default", "sleep";
358c982ecfaSAlexander Stein	pinctrl-0 = <&pinctrl_lpi2c5>;
359c982ecfaSAlexander Stein	pinctrl-1 = <&pinctrl_lpi2c5>;
360c982ecfaSAlexander Stein	status = "okay";
361c982ecfaSAlexander Stein
362c982ecfaSAlexander Stein	dp_bridge: dp-bridge@f {
363c982ecfaSAlexander Stein		compatible = "toshiba,tc9595", "toshiba,tc358767";
364c982ecfaSAlexander Stein		reg = <0x0f>;
365c982ecfaSAlexander Stein		pinctrl-names = "default";
366c982ecfaSAlexander Stein		pinctrl-0 = <&pinctrl_tc9595>;
367c982ecfaSAlexander Stein		clock-names = "ref";
368c982ecfaSAlexander Stein		clocks = <&clk_dp>;
369c982ecfaSAlexander Stein		reset-gpios = <&expander2 3 GPIO_ACTIVE_HIGH>;
370c982ecfaSAlexander Stein		interrupt-parent = <&gpio4>;
371c982ecfaSAlexander Stein		interrupts = <29 IRQ_TYPE_EDGE_RISING>;
372c982ecfaSAlexander Stein		toshiba,hpd-pin = <0>;
373c982ecfaSAlexander Stein		status = "disabled";
374c982ecfaSAlexander Stein
375c982ecfaSAlexander Stein		ports {
376c982ecfaSAlexander Stein			#address-cells = <1>;
377c982ecfaSAlexander Stein			#size-cells = <0>;
378c982ecfaSAlexander Stein
379c982ecfaSAlexander Stein			port@0 {
380c982ecfaSAlexander Stein				reg = <0>;
381c982ecfaSAlexander Stein
382c982ecfaSAlexander Stein				dp_dsi_in: endpoint {
383c982ecfaSAlexander Stein					data-lanes = <1 2 3 4>;
384c982ecfaSAlexander Stein				};
385c982ecfaSAlexander Stein			};
386c982ecfaSAlexander Stein		};
387c982ecfaSAlexander Stein	};
388c982ecfaSAlexander Stein};
389c982ecfaSAlexander Stein
390c982ecfaSAlexander Stein&lpuart1 {
391c982ecfaSAlexander Stein	pinctrl-names = "default";
392c982ecfaSAlexander Stein	pinctrl-0 = <&pinctrl_uart1>;
393c982ecfaSAlexander Stein	status = "okay";
394c982ecfaSAlexander Stein};
395c982ecfaSAlexander Stein
396c982ecfaSAlexander Stein&lpuart2 {
397c982ecfaSAlexander Stein	pinctrl-names = "default";
398c982ecfaSAlexander Stein	pinctrl-0 = <&pinctrl_uart2>;
399c982ecfaSAlexander Stein	linux,rs485-enabled-at-boot-time;
400c982ecfaSAlexander Stein	status = "okay";
401c982ecfaSAlexander Stein};
402c982ecfaSAlexander Stein
403c982ecfaSAlexander Stein/* disabled per default, console for M33 */
404c982ecfaSAlexander Stein&lpuart3 {
405c982ecfaSAlexander Stein	pinctrl-names = "default";
406c982ecfaSAlexander Stein	pinctrl-0 = <&pinctrl_uart3>;
407c982ecfaSAlexander Stein	status = "disabled";
408c982ecfaSAlexander Stein};
409c982ecfaSAlexander Stein
410c982ecfaSAlexander Stein&lpuart6 {
411c982ecfaSAlexander Stein	pinctrl-names = "default";
412c982ecfaSAlexander Stein	pinctrl-0 = <&pinctrl_uart6>;
413c982ecfaSAlexander Stein	status = "okay";
414c982ecfaSAlexander Stein};
415c982ecfaSAlexander Stein
416c982ecfaSAlexander Stein&lpuart8 {
417c982ecfaSAlexander Stein	pinctrl-names = "default";
418c982ecfaSAlexander Stein	pinctrl-0 = <&pinctrl_uart8>;
419c982ecfaSAlexander Stein	status = "okay";
420c982ecfaSAlexander Stein};
421c982ecfaSAlexander Stein
422c982ecfaSAlexander Stein&pcf85063 {
423c982ecfaSAlexander Stein	/* RTC_EVENT# is connected on MBa93xxLA */
424c982ecfaSAlexander Stein	pinctrl-names = "default";
425c982ecfaSAlexander Stein	pinctrl-0 = <&pinctrl_pcf85063>;
426c982ecfaSAlexander Stein	interrupt-parent = <&gpio1>;
427c982ecfaSAlexander Stein	interrupts = <14 IRQ_TYPE_EDGE_FALLING>;
428c982ecfaSAlexander Stein};
429c982ecfaSAlexander Stein
430c982ecfaSAlexander Stein&tpm5 {
431c982ecfaSAlexander Stein	pinctrl-names = "default";
432c982ecfaSAlexander Stein	pinctrl-0 = <&pinctrl_tpm5>;
433c982ecfaSAlexander Stein};
434c982ecfaSAlexander Stein
435c982ecfaSAlexander Stein&usdhc2 {
436c982ecfaSAlexander Stein	pinctrl-names = "default", "state_100mhz", "state_200mhz";
437c982ecfaSAlexander Stein	pinctrl-0 = <&pinctrl_usdhc2_hs>, <&pinctrl_usdhc2_gpio>;
438c982ecfaSAlexander Stein	pinctrl-1 = <&pinctrl_usdhc2_uhs>, <&pinctrl_usdhc2_gpio>;
439c982ecfaSAlexander Stein	pinctrl-2 = <&pinctrl_usdhc2_uhs>, <&pinctrl_usdhc2_gpio>;
440c982ecfaSAlexander Stein	cd-gpios = <&gpio3 00 GPIO_ACTIVE_LOW>;
441c982ecfaSAlexander Stein	vmmc-supply = <&reg_usdhc2_vmmc>;
442c982ecfaSAlexander Stein	bus-width = <4>;
443c982ecfaSAlexander Stein	no-sdio;
444c982ecfaSAlexander Stein	no-mmc;
445c982ecfaSAlexander Stein	disable-wp;
446c982ecfaSAlexander Stein	status = "okay";
447c982ecfaSAlexander Stein};
448c982ecfaSAlexander Stein
449c982ecfaSAlexander Stein&iomuxc {
450c982ecfaSAlexander Stein	pinctrl_eqos: eqosgrp {
451c982ecfaSAlexander Stein		fsl,pins = <
452c982ecfaSAlexander Stein			/* PD | FSEL_2 | DSE X4 */
453c982ecfaSAlexander Stein			MX93_PAD_ENET1_MDC__ENET_QOS_MDC		0x51e
454c982ecfaSAlexander Stein			MX93_PAD_ENET1_MDIO__ENET_QOS_MDIO		0x4000051e
455c982ecfaSAlexander Stein			/* PD | FSEL_2 | DSE X6 */
456c982ecfaSAlexander Stein			MX93_PAD_ENET1_RD0__ENET_QOS_RGMII_RD0		0x57e
457c982ecfaSAlexander Stein			MX93_PAD_ENET1_RD1__ENET_QOS_RGMII_RD1		0x57e
458c982ecfaSAlexander Stein			MX93_PAD_ENET1_RD2__ENET_QOS_RGMII_RD2		0x57e
459c982ecfaSAlexander Stein			MX93_PAD_ENET1_RD3__ENET_QOS_RGMII_RD3		0x57e
460c982ecfaSAlexander Stein			/* PD | FSEL_3 | DSE X6 */
461c982ecfaSAlexander Stein			MX93_PAD_ENET1_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK	0x5fe
462c982ecfaSAlexander Stein			MX93_PAD_ENET1_RX_CTL__ENET_QOS_RGMII_RX_CTL	0x57e
463c982ecfaSAlexander Stein			/* PD | FSEL_2 | DSE X4 */
464c982ecfaSAlexander Stein			MX93_PAD_ENET1_TD0__ENET_QOS_RGMII_TD0		0x51e
465c982ecfaSAlexander Stein			MX93_PAD_ENET1_TD1__ENET_QOS_RGMII_TD1		0x51e
466c982ecfaSAlexander Stein			MX93_PAD_ENET1_TD2__ENET_QOS_RGMII_TD2		0x51e
467c982ecfaSAlexander Stein			MX93_PAD_ENET1_TD3__ENET_QOS_RGMII_TD3		0x51e
468c982ecfaSAlexander Stein			MX93_PAD_ENET1_TX_CTL__ENET_QOS_RGMII_TX_CTL	0x51e
469c982ecfaSAlexander Stein			/* PD | FSEL_3 | DSE X3 */
470c982ecfaSAlexander Stein			MX93_PAD_ENET1_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK	0x58e
471c982ecfaSAlexander Stein		>;
472c982ecfaSAlexander Stein	};
473c982ecfaSAlexander Stein
474c982ecfaSAlexander Stein	pinctrl_eqos_phy: eqosphygrp {
475c982ecfaSAlexander Stein		fsl,pins = <
476c982ecfaSAlexander Stein			MX93_PAD_CCM_CLKO1__GPIO3_IO26		0x1306
477c982ecfaSAlexander Stein		>;
478c982ecfaSAlexander Stein	};
479c982ecfaSAlexander Stein
480c982ecfaSAlexander Stein	pinctrl_fec: fecgrp {
481c982ecfaSAlexander Stein		fsl,pins = <
482c982ecfaSAlexander Stein			/* PD | FSEL_2 | DSE X4 */
483c982ecfaSAlexander Stein			MX93_PAD_ENET2_MDC__ENET1_MDC			0x51e
484c982ecfaSAlexander Stein			MX93_PAD_ENET2_MDIO__ENET1_MDIO			0x4000051e
485c982ecfaSAlexander Stein			/* PD | FSEL_2 | DSE X6 */
486c982ecfaSAlexander Stein			MX93_PAD_ENET2_RD0__ENET1_RGMII_RD0		0x57e
487c982ecfaSAlexander Stein			MX93_PAD_ENET2_RD1__ENET1_RGMII_RD1		0x57e
488c982ecfaSAlexander Stein			MX93_PAD_ENET2_RD2__ENET1_RGMII_RD2		0x57e
489c982ecfaSAlexander Stein			MX93_PAD_ENET2_RD3__ENET1_RGMII_RD3		0x57e
490c982ecfaSAlexander Stein			/* PD | FSEL_3 | DSE X6 */
491c982ecfaSAlexander Stein			MX93_PAD_ENET2_RXC__ENET1_RGMII_RXC		0x5fe
492c982ecfaSAlexander Stein			MX93_PAD_ENET2_RX_CTL__ENET1_RGMII_RX_CTL	0x57e
493c982ecfaSAlexander Stein			/* PD | FSEL_2 | DSE X4 */
494c982ecfaSAlexander Stein			MX93_PAD_ENET2_TD0__ENET1_RGMII_TD0		0x51e
495c982ecfaSAlexander Stein			MX93_PAD_ENET2_TD1__ENET1_RGMII_TD1		0x51e
496c982ecfaSAlexander Stein			MX93_PAD_ENET2_TD2__ENET1_RGMII_TD2		0x51e
497c982ecfaSAlexander Stein			MX93_PAD_ENET2_TD3__ENET1_RGMII_TD3		0x51e
498c982ecfaSAlexander Stein			MX93_PAD_ENET2_TX_CTL__ENET1_RGMII_TX_CTL	0x51e
499c982ecfaSAlexander Stein			/* PD | FSEL_3 | DSE X3 */
500c982ecfaSAlexander Stein			MX93_PAD_ENET2_TXC__ENET1_RGMII_TXC		0x58e
501c982ecfaSAlexander Stein		>;
502c982ecfaSAlexander Stein	};
503c982ecfaSAlexander Stein
504c982ecfaSAlexander Stein	pinctrl_fec_phy: fecphygrp {
505c982ecfaSAlexander Stein		fsl,pins = <
506c982ecfaSAlexander Stein			MX93_PAD_CCM_CLKO2__GPIO3_IO27		0x1306
507c982ecfaSAlexander Stein		>;
508c982ecfaSAlexander Stein	};
509c982ecfaSAlexander Stein
510c982ecfaSAlexander Stein	pinctrl_flexcan1: flexcan1grp {
511c982ecfaSAlexander Stein		fsl,pins = <
512c982ecfaSAlexander Stein			MX93_PAD_PDM_BIT_STREAM0__CAN1_RX	0x139e
513c982ecfaSAlexander Stein			MX93_PAD_PDM_CLK__CAN1_TX		0x139e
514c982ecfaSAlexander Stein		>;
515c982ecfaSAlexander Stein	};
516c982ecfaSAlexander Stein
517c982ecfaSAlexander Stein	pinctrl_flexcan2: flexcan2grp {
518c982ecfaSAlexander Stein		fsl,pins = <
519c982ecfaSAlexander Stein			MX93_PAD_GPIO_IO25__CAN2_TX		0x139e
520c982ecfaSAlexander Stein			MX93_PAD_GPIO_IO27__CAN2_RX		0x139e
521c982ecfaSAlexander Stein		>;
522c982ecfaSAlexander Stein	};
523c982ecfaSAlexander Stein
524c982ecfaSAlexander Stein	pinctrl_lpi2c3: lpi2c3grp {
525c982ecfaSAlexander Stein		fsl,pins = <
526c982ecfaSAlexander Stein			MX93_PAD_GPIO_IO28__LPI2C3_SDA		0x40000b9e
527c982ecfaSAlexander Stein			MX93_PAD_GPIO_IO29__LPI2C3_SCL		0x40000b9e
528c982ecfaSAlexander Stein		>;
529c982ecfaSAlexander Stein	};
530c982ecfaSAlexander Stein
531c982ecfaSAlexander Stein	pinctrl_lpi2c5: lpi2c5grp {
532c982ecfaSAlexander Stein		fsl,pins = <
533c982ecfaSAlexander Stein			MX93_PAD_GPIO_IO22__LPI2C5_SDA		0x40000b9e
534c982ecfaSAlexander Stein			MX93_PAD_GPIO_IO23__LPI2C5_SCL		0x40000b9e
535c982ecfaSAlexander Stein		>;
536c982ecfaSAlexander Stein	};
537c982ecfaSAlexander Stein
538c982ecfaSAlexander Stein	pinctrl_pcf85063: pcf85063grp {
539c982ecfaSAlexander Stein		fsl,pins = <
540c982ecfaSAlexander Stein			MX93_PAD_SAI1_RXD0__GPIO1_IO14		0x1306
541c982ecfaSAlexander Stein		>;
542c982ecfaSAlexander Stein	};
543c982ecfaSAlexander Stein
544c982ecfaSAlexander Stein	pinctrl_pexp_irq: pexpirqgrp {
545c982ecfaSAlexander Stein		fsl,pins = <
546c982ecfaSAlexander Stein			MX93_PAD_SAI1_TXC__GPIO1_IO12		0x1306
547c982ecfaSAlexander Stein		>;
548c982ecfaSAlexander Stein	};
549c982ecfaSAlexander Stein
550c982ecfaSAlexander Stein	pinctrl_tc9595: tc9595-grp {
551c982ecfaSAlexander Stein		fsl,pins = <
552c982ecfaSAlexander Stein			/* DP_IRQ */
553c982ecfaSAlexander Stein			MX93_PAD_CCM_CLKO4__GPIO4_IO29		0x1306
554c982ecfaSAlexander Stein		>;
555c982ecfaSAlexander Stein	};
556c982ecfaSAlexander Stein
557c982ecfaSAlexander Stein	pinctrl_tpm5: tpm5grp {
558c982ecfaSAlexander Stein		fsl,pins = <
559c982ecfaSAlexander Stein			MX93_PAD_GPIO_IO06__TPM5_CH0		0x57e
560c982ecfaSAlexander Stein		>;
561c982ecfaSAlexander Stein	};
562c982ecfaSAlexander Stein
563c982ecfaSAlexander Stein	pinctrl_typec: typecgrp {
564c982ecfaSAlexander Stein		fsl,pins = <
565c982ecfaSAlexander Stein			MX93_PAD_I2C2_SCL__GPIO1_IO02		0x1306
566c982ecfaSAlexander Stein		>;
567c982ecfaSAlexander Stein	};
568c982ecfaSAlexander Stein
569c982ecfaSAlexander Stein	pinctrl_uart1: uart1grp {
570c982ecfaSAlexander Stein		fsl,pins = <
571c982ecfaSAlexander Stein			MX93_PAD_UART1_RXD__LPUART1_RX		0x31e
572c982ecfaSAlexander Stein			MX93_PAD_UART1_TXD__LPUART1_TX		0x31e
573c982ecfaSAlexander Stein		>;
574c982ecfaSAlexander Stein	};
575c982ecfaSAlexander Stein
576c982ecfaSAlexander Stein	pinctrl_uart2: uart2grp {
577c982ecfaSAlexander Stein		fsl,pins = <
578c982ecfaSAlexander Stein			MX93_PAD_UART2_TXD__LPUART2_TX		0x31e
579c982ecfaSAlexander Stein			MX93_PAD_UART2_RXD__LPUART2_RX		0x31e
580*231ab2ffSAlexander Stein			MX93_PAD_SAI1_TXD0__LPUART2_RTS_B	0x51e
581c982ecfaSAlexander Stein		>;
582c982ecfaSAlexander Stein	};
583c982ecfaSAlexander Stein
584c982ecfaSAlexander Stein	pinctrl_uart3: uart3grp {
585c982ecfaSAlexander Stein		fsl,pins = <
586c982ecfaSAlexander Stein			MX93_PAD_GPIO_IO14__LPUART3_TX		0x31e
587c982ecfaSAlexander Stein			MX93_PAD_GPIO_IO15__LPUART3_RX		0x31e
588c982ecfaSAlexander Stein		>;
589c982ecfaSAlexander Stein	};
590c982ecfaSAlexander Stein
591c982ecfaSAlexander Stein	pinctrl_uart6: uart6grp {
592c982ecfaSAlexander Stein		fsl,pins = <
593c982ecfaSAlexander Stein			MX93_PAD_GPIO_IO04__LPUART6_TX		0x31e
594c982ecfaSAlexander Stein			MX93_PAD_GPIO_IO05__LPUART6_RX		0x31e
595c982ecfaSAlexander Stein		>;
596c982ecfaSAlexander Stein	};
597c982ecfaSAlexander Stein
598c982ecfaSAlexander Stein	pinctrl_uart8: uart8grp {
599c982ecfaSAlexander Stein		fsl,pins = <
600c982ecfaSAlexander Stein			MX93_PAD_GPIO_IO12__LPUART8_TX		0x31e
601c982ecfaSAlexander Stein			MX93_PAD_GPIO_IO13__LPUART8_RX		0x31e
602c982ecfaSAlexander Stein		>;
603c982ecfaSAlexander Stein	};
604c982ecfaSAlexander Stein
605c982ecfaSAlexander Stein	pinctrl_usdhc2_gpio: usdhc2gpiogrp {
606c982ecfaSAlexander Stein		fsl,pins = <
607c982ecfaSAlexander Stein			MX93_PAD_SD2_CD_B__GPIO3_IO00		0x31e
608c982ecfaSAlexander Stein		>;
609c982ecfaSAlexander Stein	};
610c982ecfaSAlexander Stein
611c982ecfaSAlexander Stein	pinctrl_usdhc2_hs: usdhc2hsgrp {
612c982ecfaSAlexander Stein		fsl,pins = <
613c982ecfaSAlexander Stein			/* HYS | PD | PU | FSEL_3 | DSE X5 */
614c982ecfaSAlexander Stein			MX93_PAD_SD2_CLK__USDHC2_CLK		0x17be
615c982ecfaSAlexander Stein			/* HYS | PD | PU | FSEL_3 | DSE X4 */
616c982ecfaSAlexander Stein			MX93_PAD_SD2_CMD__USDHC2_CMD		0x139e
617c982ecfaSAlexander Stein			/* HYS | PD | PU | FSEL_3 | DSE X3 */
618c982ecfaSAlexander Stein			MX93_PAD_SD2_DATA0__USDHC2_DATA0	0x138e
619c982ecfaSAlexander Stein			MX93_PAD_SD2_DATA1__USDHC2_DATA1	0x138e
620c982ecfaSAlexander Stein			MX93_PAD_SD2_DATA2__USDHC2_DATA2	0x138e
621c982ecfaSAlexander Stein			MX93_PAD_SD2_DATA3__USDHC2_DATA3	0x138e
622c982ecfaSAlexander Stein			/* PD | PU | FSEL_2 | DSE X3 */
623c982ecfaSAlexander Stein			MX93_PAD_SD2_VSELECT__USDHC2_VSELECT	0x50e
624c982ecfaSAlexander Stein		>;
625c982ecfaSAlexander Stein	};
626c982ecfaSAlexander Stein
627c982ecfaSAlexander Stein	pinctrl_usdhc2_uhs: usdhc2uhsgrp {
628c982ecfaSAlexander Stein		fsl,pins = <
629c982ecfaSAlexander Stein			/* HYS | PD | PU | FSEL_3 | DSE X6 */
630c982ecfaSAlexander Stein			MX93_PAD_SD2_CLK__USDHC2_CLK		0x17fe
631c982ecfaSAlexander Stein			/* HYS | PD | PU | FSEL_3 | DSE X4 */
632c982ecfaSAlexander Stein			MX93_PAD_SD2_CMD__USDHC2_CMD		0x139e
633c982ecfaSAlexander Stein			MX93_PAD_SD2_DATA0__USDHC2_DATA0	0x139e
634c982ecfaSAlexander Stein			MX93_PAD_SD2_DATA1__USDHC2_DATA1	0x139e
635c982ecfaSAlexander Stein			MX93_PAD_SD2_DATA2__USDHC2_DATA2	0x139e
636c982ecfaSAlexander Stein			MX93_PAD_SD2_DATA3__USDHC2_DATA3	0x139e
637c982ecfaSAlexander Stein			/* PD | PU | FSEL_2 | DSE X3 */
638c982ecfaSAlexander Stein			MX93_PAD_SD2_VSELECT__USDHC2_VSELECT	0x50e
639c982ecfaSAlexander Stein		>;
640c982ecfaSAlexander Stein	};
641c982ecfaSAlexander Stein};
642