xref: /linux/arch/arm64/boot/dts/freescale/imx8mp-verdin-mallow.dtsi (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2/*
3 * Copyright 2023 Toradex
4 *
5 * Common dtsi for Verdin IMX8MP SoM on Mallow carrier board
6 *
7 * https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx-8m-plus
8 * https://www.toradex.com/products/carrier-board/mallow-carrier-board
9 */
10
11#include <dt-bindings/leds/common.h>
12
13/ {
14	native-hdmi-connector {
15		compatible = "hdmi-connector";
16		label = "X14";
17		type = "a";
18
19		port {
20			native_hdmi_connector_in: endpoint {
21				remote-endpoint = <&hdmi_tx_out>;
22			};
23		};
24	};
25
26	leds {
27		compatible = "gpio-leds";
28		pinctrl-names = "default";
29		pinctrl-0 = <&pinctrl_leds>;
30
31		/* SODIMM 52 - USER_LED_1_RED */
32		led-0 {
33			color = <LED_COLOR_ID_RED>;
34			function = LED_FUNCTION_DEBUG;
35			function-enumerator = <1>;
36			gpios = <&gpio3 0 GPIO_ACTIVE_HIGH>;
37		};
38
39		/* SODIMM 54 - USER_LED_1_GREEN */
40		led-1 {
41			color = <LED_COLOR_ID_GREEN>;
42			function = LED_FUNCTION_DEBUG;
43			function-enumerator = <1>;
44			gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>;
45		};
46
47		/* SODIMM 56 - USER_LED_2_RED */
48		led-2 {
49			color = <LED_COLOR_ID_RED>;
50			function = LED_FUNCTION_DEBUG;
51			function-enumerator = <2>;
52			gpios = <&gpio3 6 GPIO_ACTIVE_HIGH>;
53		};
54
55		/* SODIMM 58 - USER_LED_2_GREEN */
56		led-3 {
57			color = <LED_COLOR_ID_GREEN>;
58			function = LED_FUNCTION_DEBUG;
59			function-enumerator = <2>;
60			gpios = <&gpio3 7 GPIO_ACTIVE_HIGH>;
61		};
62	};
63};
64
65/* Verdin HDMI_1 Audio */
66&aud2htx {
67	status = "okay";
68};
69
70&backlight {
71	power-supply = <&reg_3p3v>;
72};
73
74/* Verdin SPI_1 */
75&ecspi1 {
76	pinctrl-0 = <&pinctrl_ecspi1>, <&pinctrl_tpm_cs>;
77	cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>, <&gpio3 16 GPIO_ACTIVE_LOW>;
78	status = "okay";
79
80	tpm@1 {
81		compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
82		reg = <1>;
83		pinctrl-names = "default";
84		pinctrl-0 = <&pinctrl_tpm_irq>;
85		interrupt-parent = <&gpio3>;
86		interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
87		spi-max-frequency = <18500000>;
88	};
89};
90
91/* EEPROM on Mallow */
92&eeprom_carrier_board {
93	status = "okay";
94};
95
96/* Verdin ETH_1 */
97&eqos {
98	status = "okay";
99};
100
101/* Verdin CAN_1 */
102&flexcan1 {
103	status = "okay";
104};
105
106/* Verdin CAN_2 */
107&flexcan2 {
108	status = "okay";
109};
110
111/* Verdin HDMI_1 */
112&hdmi_pvi {
113	status = "okay";
114};
115
116&hdmi_tx {
117	status = "okay";
118
119	ports {
120		port@1 {
121			hdmi_tx_out: endpoint {
122				remote-endpoint = <&native_hdmi_connector_in>;
123			};
124		};
125	};
126};
127
128&hdmi_tx_phy {
129	status = "okay";
130};
131
132/* Temperature sensor on Mallow */
133&hwmon_temp {
134	compatible = "ti,tmp1075";
135	status = "okay";
136};
137
138/* Verdin I2C_2_DSI */
139&i2c2 {
140	status = "okay";
141};
142
143/* Verdin I2C_4_CSI */
144&i2c3 {
145	status = "okay";
146};
147
148/* Verdin I2C_1 */
149&i2c4 {
150	status = "okay";
151};
152
153/* Verdin I2C_3_HDMI */
154&i2c5 {
155	status = "okay";
156};
157
158&lcdif3 {
159	status = "okay";
160};
161
162/* Verdin PCIE_1 */
163&pcie {
164	status = "okay";
165};
166
167&pcie_phy {
168	status = "okay";
169};
170
171/* Verdin PWM_1 */
172&pwm1 {
173	status = "okay";
174};
175
176/* Verdin PWM_2 */
177&pwm2 {
178	status = "okay";
179};
180
181/* Verdin PWM_3_DSI */
182&pwm3 {
183	status = "okay";
184};
185
186&reg_usdhc2_vmmc {
187	vin-supply = <&reg_3p3v>;
188};
189
190/* Verdin HDMI_1 Audio */
191&sound_hdmi {
192	status = "okay";
193};
194
195/* Verdin UART_1 */
196&uart1 {
197	status = "okay";
198};
199
200/* Verdin UART_2 */
201&uart2 {
202	status = "okay";
203};
204
205/* Verdin UART_3 */
206&uart3 {
207	status = "okay";
208};
209
210/* Verdin USB_1 */
211&usb3_0 {
212	status = "okay";
213};
214
215&usb3_phy0 {
216	status = "okay";
217};
218
219/* Verdin USB_2 */
220&usb3_1 {
221	status = "okay";
222};
223
224&usb3_phy1 {
225	status = "okay";
226};
227
228/* Verdin SD_1 */
229&usdhc2 {
230	status = "okay";
231};
232
233&iomuxc {
234	pinctrl_leds: ledsgrp {
235		fsl,pins =
236			<MX8MP_IOMUXC_NAND_ALE__GPIO3_IO00	0x106>, /* SODIMM 52 */
237			<MX8MP_IOMUXC_NAND_CE0_B__GPIO3_IO01	0x106>, /* SODIMM 54 */
238			<MX8MP_IOMUXC_NAND_DATA00__GPIO3_IO06	0x106>, /* SODIMM 56 */
239			<MX8MP_IOMUXC_NAND_DATA01__GPIO3_IO07	0x106>; /* SODIMM 58 */
240	};
241
242	pinctrl_tpm_cs: tpmcsgrp {
243		fsl,pins =
244			<MX8MP_IOMUXC_NAND_READY_B__GPIO3_IO16	0x82>; /* SODIMM 64 */
245	};
246
247	pinctrl_tpm_irq: tpmirqgrp {
248		fsl,pins =
249			<MX8MP_IOMUXC_NAND_DQS__GPIO3_IO14	0x16>; /* SODIMM 66 */
250	};
251};
252