xref: /freebsd/sys/contrib/device-tree/src/arm64/freescale/imx8mp-verdin-dev.dtsi (revision a03411e84728e9b267056fd31c7d1d9d1dc1b01e)
1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2/*
3 * Copyright 2022 Toradex
4 */
5
6/ {
7	/* TODO: Audio Codec */
8
9	reg_eth2phy: regulator-eth2phy {
10		compatible = "regulator-fixed";
11		enable-active-high;
12		gpio = <&gpio_expander_21 4 GPIO_ACTIVE_HIGH>; /* ETH_PWR_EN */
13		off-on-delay-us = <500000>;
14		regulator-max-microvolt = <3300000>;
15		regulator-min-microvolt = <3300000>;
16		regulator-name = "+V3.3_ETH";
17		startup-delay-us = <200000>;
18		vin-supply = <&reg_3p3v>;
19	};
20};
21
22&backlight {
23	power-supply = <&reg_3p3v>;
24};
25
26/* Verdin SPI_1 */
27&ecspi1 {
28	status = "okay";
29};
30
31/* EEPROM on display adapter boards */
32&eeprom_display_adapter {
33	status = "okay";
34};
35
36/* EEPROM on Verdin Development board */
37&eeprom_carrier_board {
38	status = "okay";
39};
40
41&eqos {
42	status = "okay";
43};
44
45&fec {
46	phy-supply = <&reg_eth2phy>;
47	status = "okay";
48};
49
50&flexcan1 {
51	status = "okay";
52};
53
54&flexcan2 {
55	status = "okay";
56};
57
58/* Verdin QSPI_1 */
59&flexspi {
60	status = "okay";
61};
62
63&gpio_expander_21 {
64	status = "okay";
65	vcc-supply = <&reg_1p8v>;
66};
67
68/* Current measurement into module VCC */
69&hwmon {
70	status = "okay";
71};
72
73&hwmon_temp {
74	vs-supply = <&reg_1p8v>;
75	status = "okay";
76};
77
78/* Verdin I2C_2_DSI */
79&i2c2 {
80	status = "okay";
81};
82
83&i2c3 {
84	status = "okay";
85};
86
87/* Verdin I2C_1 */
88&i2c4 {
89	status = "okay";
90
91	/* TODO: Audio Codec */
92};
93
94/* Verdin PCIE_1 */
95&pcie {
96	status = "okay";
97};
98
99&pcie_phy {
100	status = "okay";
101};
102
103/* Verdin PWM_1 */
104&pwm1 {
105	status = "okay";
106};
107
108/* Verdin PWM_2 */
109&pwm2 {
110	status = "okay";
111};
112
113/* Verdin PWM_3_DSI */
114&pwm3 {
115	status = "okay";
116};
117
118&reg_usdhc2_vmmc {
119	vin-supply = <&reg_3p3v>;
120};
121
122/* TODO: Verdin I2C_1 with Audio Codec */
123
124/* Verdin UART_1, connector X50 through RS485 transceiver */
125&uart1 {
126	linux,rs485-enabled-at-boot-time;
127	rs485-rts-active-low;
128	rs485-rx-during-tx;
129	status = "okay";
130};
131
132/* Verdin UART_2 */
133&uart2 {
134	status = "okay";
135};
136
137/* Verdin UART_3, used as the Linux Console */
138&uart3 {
139	status = "okay";
140};
141
142/* Verdin USB_1 */
143&usb3_0 {
144	status = "okay";
145};
146
147&usb3_phy0 {
148	status = "okay";
149};
150
151/* Verdin USB_2 */
152&usb3_1 {
153	fsl,permanently-attached;
154	status = "okay";
155};
156
157&usb3_phy1 {
158	status = "okay";
159};
160
161/* Limit frequency on dev board due to long traces and bad signal integrity */
162&usdhc2 {
163	max-frequency = <100000000>;
164	status = "okay";
165};
166