xref: /freebsd/sys/contrib/device-tree/src/arm64/ti/k3-am62p-verdin-ivy.dtsi (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
1*ae5de77eSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2*ae5de77eSEmmanuel Vadot/*
3*ae5de77eSEmmanuel Vadot * Copyright 2025 Toradex
4*ae5de77eSEmmanuel Vadot *
5*ae5de77eSEmmanuel Vadot * Common dtsi for Verdin AM62P SoM on Ivy carrier board
6*ae5de77eSEmmanuel Vadot *
7*ae5de77eSEmmanuel Vadot * https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62p
8*ae5de77eSEmmanuel Vadot * https://www.toradex.com/products/carrier-board/ivy-carrier-board
9*ae5de77eSEmmanuel Vadot */
10*ae5de77eSEmmanuel Vadot
11*ae5de77eSEmmanuel Vadot#include <dt-bindings/mux/mux.h>
12*ae5de77eSEmmanuel Vadot#include <dt-bindings/leds/common.h>
13*ae5de77eSEmmanuel Vadot#include <dt-bindings/net/ti-dp83867.h>
14*ae5de77eSEmmanuel Vadot
15*ae5de77eSEmmanuel Vadot/ {
16*ae5de77eSEmmanuel Vadot	aliases {
17*ae5de77eSEmmanuel Vadot		eeprom1 = &carrier_eeprom;
18*ae5de77eSEmmanuel Vadot	};
19*ae5de77eSEmmanuel Vadot
20*ae5de77eSEmmanuel Vadot	/* AIN1 Voltage w/o AIN1_MODE gpio control */
21*ae5de77eSEmmanuel Vadot	ain1_voltage_unmanaged: voltage-divider-ain1 {
22*ae5de77eSEmmanuel Vadot		compatible = "voltage-divider";
23*ae5de77eSEmmanuel Vadot		#io-channel-cells = <1>;
24*ae5de77eSEmmanuel Vadot		io-channels = <&ivy_adc1 0>;
25*ae5de77eSEmmanuel Vadot		full-ohms = <19>;
26*ae5de77eSEmmanuel Vadot		output-ohms = <1>;
27*ae5de77eSEmmanuel Vadot	};
28*ae5de77eSEmmanuel Vadot
29*ae5de77eSEmmanuel Vadot	/* AIN1 Current w/o AIN1_MODE gpio control */
30*ae5de77eSEmmanuel Vadot	ain1_current_unmanaged: current-sense-shunt-ain1 {
31*ae5de77eSEmmanuel Vadot		compatible = "current-sense-shunt";
32*ae5de77eSEmmanuel Vadot		#io-channel-cells = <0>;
33*ae5de77eSEmmanuel Vadot		io-channels = <&ivy_adc1 1>;
34*ae5de77eSEmmanuel Vadot		shunt-resistor-micro-ohms = <100000000>;
35*ae5de77eSEmmanuel Vadot	};
36*ae5de77eSEmmanuel Vadot
37*ae5de77eSEmmanuel Vadot	/* AIN1_MODE - SODIMM 216 */
38*ae5de77eSEmmanuel Vadot	ain1_mode_mux_ctrl: mux-controller-0 {
39*ae5de77eSEmmanuel Vadot		compatible = "gpio-mux";
40*ae5de77eSEmmanuel Vadot		pinctrl-names = "default";
41*ae5de77eSEmmanuel Vadot		pinctrl-0 = <&pinctrl_gpio_5>;
42*ae5de77eSEmmanuel Vadot		#mux-control-cells = <0>;
43*ae5de77eSEmmanuel Vadot		mux-gpios = <&main_gpio0 49 GPIO_ACTIVE_HIGH>;
44*ae5de77eSEmmanuel Vadot	};
45*ae5de77eSEmmanuel Vadot
46*ae5de77eSEmmanuel Vadot	ain1-voltage {
47*ae5de77eSEmmanuel Vadot		compatible = "io-channel-mux";
48*ae5de77eSEmmanuel Vadot		channels = "ain1_voltage", "";
49*ae5de77eSEmmanuel Vadot		io-channels = <&ain1_voltage_unmanaged 0>;
50*ae5de77eSEmmanuel Vadot		io-channel-names = "parent";
51*ae5de77eSEmmanuel Vadot		mux-controls = <&ain1_mode_mux_ctrl>;
52*ae5de77eSEmmanuel Vadot		settle-time-us = <1000>;
53*ae5de77eSEmmanuel Vadot	};
54*ae5de77eSEmmanuel Vadot
55*ae5de77eSEmmanuel Vadot	ain1-current {
56*ae5de77eSEmmanuel Vadot		compatible = "io-channel-mux";
57*ae5de77eSEmmanuel Vadot		channels = "", "ain1_current";
58*ae5de77eSEmmanuel Vadot		io-channels = <&ain1_current_unmanaged>;
59*ae5de77eSEmmanuel Vadot		io-channel-names = "parent";
60*ae5de77eSEmmanuel Vadot		mux-controls = <&ain1_mode_mux_ctrl>;
61*ae5de77eSEmmanuel Vadot		settle-time-us = <1000>;
62*ae5de77eSEmmanuel Vadot	};
63*ae5de77eSEmmanuel Vadot
64*ae5de77eSEmmanuel Vadot	/* AIN2 Voltage w/o AIN2_MODE gpio control */
65*ae5de77eSEmmanuel Vadot	ain2_voltage_unmanaged: voltage-divider-ain2 {
66*ae5de77eSEmmanuel Vadot		compatible = "voltage-divider";
67*ae5de77eSEmmanuel Vadot		#io-channel-cells = <1>;
68*ae5de77eSEmmanuel Vadot		io-channels = <&ivy_adc2 0>;
69*ae5de77eSEmmanuel Vadot		full-ohms = <19>;
70*ae5de77eSEmmanuel Vadot		output-ohms = <1>;
71*ae5de77eSEmmanuel Vadot	};
72*ae5de77eSEmmanuel Vadot
73*ae5de77eSEmmanuel Vadot	/* AIN2 Current w/o AIN2_MODE gpio control */
74*ae5de77eSEmmanuel Vadot	ain2_current_unmanaged: current-sense-shunt-ain2 {
75*ae5de77eSEmmanuel Vadot		compatible = "current-sense-shunt";
76*ae5de77eSEmmanuel Vadot		#io-channel-cells = <0>;
77*ae5de77eSEmmanuel Vadot		io-channels = <&ivy_adc2 1>;
78*ae5de77eSEmmanuel Vadot		shunt-resistor-micro-ohms = <100000000>;
79*ae5de77eSEmmanuel Vadot	};
80*ae5de77eSEmmanuel Vadot
81*ae5de77eSEmmanuel Vadot	/* AIN2_MODE - SODIMM 218 */
82*ae5de77eSEmmanuel Vadot	ain2_mode_mux_ctrl: mux-controller-1 {
83*ae5de77eSEmmanuel Vadot		compatible = "gpio-mux";
84*ae5de77eSEmmanuel Vadot		pinctrl-names = "default";
85*ae5de77eSEmmanuel Vadot		pinctrl-0 = <&pinctrl_gpio_6>;
86*ae5de77eSEmmanuel Vadot		#mux-control-cells = <0>;
87*ae5de77eSEmmanuel Vadot		mux-gpios = <&main_gpio0 50 GPIO_ACTIVE_HIGH>;
88*ae5de77eSEmmanuel Vadot	};
89*ae5de77eSEmmanuel Vadot
90*ae5de77eSEmmanuel Vadot	ain2-voltage {
91*ae5de77eSEmmanuel Vadot		compatible = "io-channel-mux";
92*ae5de77eSEmmanuel Vadot		channels = "ain2_voltage", "";
93*ae5de77eSEmmanuel Vadot		io-channels = <&ain2_voltage_unmanaged 0>;
94*ae5de77eSEmmanuel Vadot		io-channel-names = "parent";
95*ae5de77eSEmmanuel Vadot		mux-controls = <&ain2_mode_mux_ctrl>;
96*ae5de77eSEmmanuel Vadot		settle-time-us = <1000>;
97*ae5de77eSEmmanuel Vadot	};
98*ae5de77eSEmmanuel Vadot
99*ae5de77eSEmmanuel Vadot	ain2-current {
100*ae5de77eSEmmanuel Vadot		compatible = "io-channel-mux";
101*ae5de77eSEmmanuel Vadot		channels = "", "ain2_current";
102*ae5de77eSEmmanuel Vadot		io-channels = <&ain2_current_unmanaged>;
103*ae5de77eSEmmanuel Vadot		io-channel-names = "parent";
104*ae5de77eSEmmanuel Vadot		mux-controls = <&ain2_mode_mux_ctrl>;
105*ae5de77eSEmmanuel Vadot		settle-time-us = <1000>;
106*ae5de77eSEmmanuel Vadot	};
107*ae5de77eSEmmanuel Vadot
108*ae5de77eSEmmanuel Vadot	leds {
109*ae5de77eSEmmanuel Vadot		compatible = "gpio-leds";
110*ae5de77eSEmmanuel Vadot		pinctrl-names = "default";
111*ae5de77eSEmmanuel Vadot		pinctrl-0 = <&pinctrl_ivy_leds>;
112*ae5de77eSEmmanuel Vadot
113*ae5de77eSEmmanuel Vadot		/* D7 Blue - SODIMM 30 - LEDs.GPIO1 */
114*ae5de77eSEmmanuel Vadot		led-0 {
115*ae5de77eSEmmanuel Vadot			color = <LED_COLOR_ID_BLUE>;
116*ae5de77eSEmmanuel Vadot			default-state = "off";
117*ae5de77eSEmmanuel Vadot			function = LED_FUNCTION_STATUS;
118*ae5de77eSEmmanuel Vadot			function-enumerator = <1>;
119*ae5de77eSEmmanuel Vadot			gpios = <&main_gpio1 11 GPIO_ACTIVE_HIGH>;
120*ae5de77eSEmmanuel Vadot		};
121*ae5de77eSEmmanuel Vadot
122*ae5de77eSEmmanuel Vadot		/* D7 Green - SODIMM 32 - LEDs.GPIO2 */
123*ae5de77eSEmmanuel Vadot		led-1 {
124*ae5de77eSEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
125*ae5de77eSEmmanuel Vadot			default-state = "off";
126*ae5de77eSEmmanuel Vadot			function = LED_FUNCTION_STATUS;
127*ae5de77eSEmmanuel Vadot			function-enumerator = <1>;
128*ae5de77eSEmmanuel Vadot			gpios = <&main_gpio1 12 GPIO_ACTIVE_HIGH>;
129*ae5de77eSEmmanuel Vadot		};
130*ae5de77eSEmmanuel Vadot
131*ae5de77eSEmmanuel Vadot		/* D7 Red - SODIMM 34 - LEDs.GPIO3 */
132*ae5de77eSEmmanuel Vadot		led-2 {
133*ae5de77eSEmmanuel Vadot			color = <LED_COLOR_ID_RED>;
134*ae5de77eSEmmanuel Vadot			default-state = "off";
135*ae5de77eSEmmanuel Vadot			function = LED_FUNCTION_STATUS;
136*ae5de77eSEmmanuel Vadot			function-enumerator = <1>;
137*ae5de77eSEmmanuel Vadot			gpios = <&main_gpio1 10 GPIO_ACTIVE_HIGH>;
138*ae5de77eSEmmanuel Vadot		};
139*ae5de77eSEmmanuel Vadot
140*ae5de77eSEmmanuel Vadot		/* D8 Blue - SODIMM 36 - LEDs.GPIO4 */
141*ae5de77eSEmmanuel Vadot		led-3 {
142*ae5de77eSEmmanuel Vadot			color = <LED_COLOR_ID_BLUE>;
143*ae5de77eSEmmanuel Vadot			default-state = "off";
144*ae5de77eSEmmanuel Vadot			function = LED_FUNCTION_STATUS;
145*ae5de77eSEmmanuel Vadot			function-enumerator = <2>;
146*ae5de77eSEmmanuel Vadot			gpios = <&main_gpio1 9 GPIO_ACTIVE_HIGH>;
147*ae5de77eSEmmanuel Vadot		};
148*ae5de77eSEmmanuel Vadot
149*ae5de77eSEmmanuel Vadot		/* D8 Green - SODIMM 54 - LEDs.GPIO5 */
150*ae5de77eSEmmanuel Vadot		led-4 {
151*ae5de77eSEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
152*ae5de77eSEmmanuel Vadot			default-state = "off";
153*ae5de77eSEmmanuel Vadot			function = LED_FUNCTION_STATUS;
154*ae5de77eSEmmanuel Vadot			function-enumerator = <2>;
155*ae5de77eSEmmanuel Vadot			gpios = <&main_gpio0 11 GPIO_ACTIVE_HIGH>;
156*ae5de77eSEmmanuel Vadot		};
157*ae5de77eSEmmanuel Vadot
158*ae5de77eSEmmanuel Vadot		/* D8 Red - SODIMM 44 - LEDs.GPIO6 */
159*ae5de77eSEmmanuel Vadot		led-5 {
160*ae5de77eSEmmanuel Vadot			color = <LED_COLOR_ID_RED>;
161*ae5de77eSEmmanuel Vadot			default-state = "off";
162*ae5de77eSEmmanuel Vadot			function = LED_FUNCTION_STATUS;
163*ae5de77eSEmmanuel Vadot			function-enumerator = <2>;
164*ae5de77eSEmmanuel Vadot			gpios = <&main_gpio0 37 GPIO_ACTIVE_HIGH>;
165*ae5de77eSEmmanuel Vadot		};
166*ae5de77eSEmmanuel Vadot
167*ae5de77eSEmmanuel Vadot		/* D9 Blue - SODIMM 46 - LEDs.GPIO7 */
168*ae5de77eSEmmanuel Vadot		led-6 {
169*ae5de77eSEmmanuel Vadot			color = <LED_COLOR_ID_BLUE>;
170*ae5de77eSEmmanuel Vadot			default-state = "off";
171*ae5de77eSEmmanuel Vadot			function = LED_FUNCTION_STATUS;
172*ae5de77eSEmmanuel Vadot			function-enumerator = <3>;
173*ae5de77eSEmmanuel Vadot			gpios = <&main_gpio0 34 GPIO_ACTIVE_HIGH>;
174*ae5de77eSEmmanuel Vadot		};
175*ae5de77eSEmmanuel Vadot
176*ae5de77eSEmmanuel Vadot		/* D9 Red - SODIMM 48 - LEDs.GPIO8 */
177*ae5de77eSEmmanuel Vadot		led-7 {
178*ae5de77eSEmmanuel Vadot			color = <LED_COLOR_ID_RED>;
179*ae5de77eSEmmanuel Vadot			default-state = "off";
180*ae5de77eSEmmanuel Vadot			function = LED_FUNCTION_STATUS;
181*ae5de77eSEmmanuel Vadot			function-enumerator = <3>;
182*ae5de77eSEmmanuel Vadot			gpios = <&main_gpio0 33 GPIO_ACTIVE_HIGH>;
183*ae5de77eSEmmanuel Vadot		};
184*ae5de77eSEmmanuel Vadot	};
185*ae5de77eSEmmanuel Vadot
186*ae5de77eSEmmanuel Vadot	reg_3v2_ain1: regulator-3v2-ain1 {
187*ae5de77eSEmmanuel Vadot		compatible = "regulator-fixed";
188*ae5de77eSEmmanuel Vadot		regulator-max-microvolt = <3200000>;
189*ae5de77eSEmmanuel Vadot		regulator-min-microvolt = <3200000>;
190*ae5de77eSEmmanuel Vadot		regulator-name = "+3V2_AIN1";
191*ae5de77eSEmmanuel Vadot	};
192*ae5de77eSEmmanuel Vadot
193*ae5de77eSEmmanuel Vadot	reg_3v2_ain2: regulator-3v2-ain2 {
194*ae5de77eSEmmanuel Vadot		compatible = "regulator-fixed";
195*ae5de77eSEmmanuel Vadot		regulator-max-microvolt = <3200000>;
196*ae5de77eSEmmanuel Vadot		regulator-min-microvolt = <3200000>;
197*ae5de77eSEmmanuel Vadot		regulator-name = "+3V2_AIN2";
198*ae5de77eSEmmanuel Vadot	};
199*ae5de77eSEmmanuel Vadot
200*ae5de77eSEmmanuel Vadot	/* Ivy Power Supply Input Voltage */
201*ae5de77eSEmmanuel Vadot	ivy-input-voltage {
202*ae5de77eSEmmanuel Vadot		compatible = "voltage-divider";
203*ae5de77eSEmmanuel Vadot		/* Verdin ADC_1 */
204*ae5de77eSEmmanuel Vadot		io-channels = <&som_adc 7>;
205*ae5de77eSEmmanuel Vadot		full-ohms = <204700>; /* 200K + 4.7K */
206*ae5de77eSEmmanuel Vadot		output-ohms = <4700>;
207*ae5de77eSEmmanuel Vadot	};
208*ae5de77eSEmmanuel Vadot
209*ae5de77eSEmmanuel Vadot	ivy-5v-voltage {
210*ae5de77eSEmmanuel Vadot		compatible = "voltage-divider";
211*ae5de77eSEmmanuel Vadot		/* Verdin ADC_2 */
212*ae5de77eSEmmanuel Vadot		io-channels = <&som_adc 6>;
213*ae5de77eSEmmanuel Vadot		full-ohms = <39000>; /* 27K + 12K */
214*ae5de77eSEmmanuel Vadot		output-ohms = <12000>;
215*ae5de77eSEmmanuel Vadot	};
216*ae5de77eSEmmanuel Vadot
217*ae5de77eSEmmanuel Vadot	ivy-3v3-voltage {
218*ae5de77eSEmmanuel Vadot		compatible = "voltage-divider";
219*ae5de77eSEmmanuel Vadot		/* Verdin ADC_3 */
220*ae5de77eSEmmanuel Vadot		io-channels = <&som_adc 5>;
221*ae5de77eSEmmanuel Vadot		full-ohms = <54000>; /* 27K + 27K */
222*ae5de77eSEmmanuel Vadot		output-ohms = <27000>;
223*ae5de77eSEmmanuel Vadot	};
224*ae5de77eSEmmanuel Vadot
225*ae5de77eSEmmanuel Vadot	ivy-1v8-voltage {
226*ae5de77eSEmmanuel Vadot		compatible = "voltage-divider";
227*ae5de77eSEmmanuel Vadot		/* Verdin ADC_4 */
228*ae5de77eSEmmanuel Vadot		io-channels = <&som_adc 4>;
229*ae5de77eSEmmanuel Vadot		full-ohms = <39000>; /* 12K + 27K */
230*ae5de77eSEmmanuel Vadot		output-ohms = <27000>;
231*ae5de77eSEmmanuel Vadot	};
232*ae5de77eSEmmanuel Vadot};
233*ae5de77eSEmmanuel Vadot
234*ae5de77eSEmmanuel Vadot&main_pmx0 {
235*ae5de77eSEmmanuel Vadot	pinctrl_ivy_leds: ivy-leds-default-pins {
236*ae5de77eSEmmanuel Vadot		pinctrl-single,pins = <
237*ae5de77eSEmmanuel Vadot			AM62PX_IOPAD(0x019c, PIN_INPUT, 7) /* (E24)  MCASP0_AXR1.GPIO1_9    */ /* SODIMM 36 */
238*ae5de77eSEmmanuel Vadot			AM62PX_IOPAD(0x01a0, PIN_INPUT, 7) /* (F23)  MCASP0_AXR0.GPIO1_10   */ /* SODIMM 34 */
239*ae5de77eSEmmanuel Vadot			AM62PX_IOPAD(0x01a4, PIN_INPUT, 7) /* (F24)  MCASP0_ACLKX.GPIO1_11  */ /* SODIMM 30 */
240*ae5de77eSEmmanuel Vadot			AM62PX_IOPAD(0x01a8, PIN_INPUT, 7) /* (F25)  MCASP0_AFSX.GPIO1_12   */ /* SODIMM 32 */
241*ae5de77eSEmmanuel Vadot			AM62PX_IOPAD(0x0088, PIN_INPUT, 7) /* (R24)  GPMC0_OEn_REn.GPIO0_33 */ /* SODIMM 48 */
242*ae5de77eSEmmanuel Vadot			AM62PX_IOPAD(0x0098, PIN_INPUT, 7) /* (AA24) GPMC0_WAIT0.GPIO0_37   */ /* SODIMM 44 */
243*ae5de77eSEmmanuel Vadot			AM62PX_IOPAD(0x008c, PIN_INPUT, 7) /* (T25)  GPMC0_WEn.GPIO0_34     */ /* SODIMM 46 */
244*ae5de77eSEmmanuel Vadot			AM62PX_IOPAD(0x002c, PIN_INPUT, 7) /* (M25)  OSPI0_CSn0.GPIO0_11    */ /* SODIMM 54 */
245*ae5de77eSEmmanuel Vadot		>;
246*ae5de77eSEmmanuel Vadot	};
247*ae5de77eSEmmanuel Vadot};
248*ae5de77eSEmmanuel Vadot
249*ae5de77eSEmmanuel Vadot/* Verdin ETHs */
250*ae5de77eSEmmanuel Vadot&cpsw3g {
251*ae5de77eSEmmanuel Vadot	pinctrl-names = "default";
252*ae5de77eSEmmanuel Vadot	pinctrl-0 = <&pinctrl_rgmii1>, <&pinctrl_rgmii2>;
253*ae5de77eSEmmanuel Vadot	status = "okay";
254*ae5de77eSEmmanuel Vadot};
255*ae5de77eSEmmanuel Vadot
256*ae5de77eSEmmanuel Vadot/* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */
257*ae5de77eSEmmanuel Vadot&cpsw3g_mdio {
258*ae5de77eSEmmanuel Vadot	status = "okay";
259*ae5de77eSEmmanuel Vadot
260*ae5de77eSEmmanuel Vadot	carrier_eth_phy: ethernet-phy@2 {
261*ae5de77eSEmmanuel Vadot		reg = <2>;
262*ae5de77eSEmmanuel Vadot		pinctrl-names = "default";
263*ae5de77eSEmmanuel Vadot		pinctrl-0 = <&pinctrl_eth2_rgmii_int>;
264*ae5de77eSEmmanuel Vadot		interrupt-parent = <&main_gpio0>;
265*ae5de77eSEmmanuel Vadot		interrupts = <42 IRQ_TYPE_EDGE_FALLING>;
266*ae5de77eSEmmanuel Vadot		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
267*ae5de77eSEmmanuel Vadot	};
268*ae5de77eSEmmanuel Vadot};
269*ae5de77eSEmmanuel Vadot
270*ae5de77eSEmmanuel Vadot/* Verdin ETH_1 (On-module PHY) */
271*ae5de77eSEmmanuel Vadot&cpsw_port1 {
272*ae5de77eSEmmanuel Vadot	status = "okay";
273*ae5de77eSEmmanuel Vadot};
274*ae5de77eSEmmanuel Vadot
275*ae5de77eSEmmanuel Vadot/* Verdin ETH_2_RGMII */
276*ae5de77eSEmmanuel Vadot&cpsw_port2 {
277*ae5de77eSEmmanuel Vadot	phy-handle = <&carrier_eth_phy>;
278*ae5de77eSEmmanuel Vadot	phy-mode = "rgmii-rxid";
279*ae5de77eSEmmanuel Vadot	status = "okay";
280*ae5de77eSEmmanuel Vadot};
281*ae5de77eSEmmanuel Vadot
282*ae5de77eSEmmanuel Vadot&main_gpio0 {
283*ae5de77eSEmmanuel Vadot	pinctrl-names = "default";
284*ae5de77eSEmmanuel Vadot	pinctrl-0 = <&pinctrl_pcie_1_reset>,
285*ae5de77eSEmmanuel Vadot		    <&pinctrl_qspi1_cs2_gpio>,
286*ae5de77eSEmmanuel Vadot		    <&pinctrl_qspi1_dqs_gpio>,
287*ae5de77eSEmmanuel Vadot		    <&pinctrl_qspi1_io0_gpio>,
288*ae5de77eSEmmanuel Vadot		    <&pinctrl_qspi1_io1_gpio>,
289*ae5de77eSEmmanuel Vadot		    <&pinctrl_qspi1_io2_gpio>,
290*ae5de77eSEmmanuel Vadot		    <&pinctrl_qspi1_io3_gpio>;
291*ae5de77eSEmmanuel Vadot	gpio-line-names =
292*ae5de77eSEmmanuel Vadot		"", /* 0 */
293*ae5de77eSEmmanuel Vadot		"",
294*ae5de77eSEmmanuel Vadot		"REL4",   /* SODIMM 66 */
295*ae5de77eSEmmanuel Vadot		"DIGI_1", /* SODIMM 56 */
296*ae5de77eSEmmanuel Vadot		"DIGI_2", /* SODIMM 58 */
297*ae5de77eSEmmanuel Vadot		"REL1",   /* SODIMM 60 */
298*ae5de77eSEmmanuel Vadot		"REL2",   /* SODIMM 62 */
299*ae5de77eSEmmanuel Vadot		"",
300*ae5de77eSEmmanuel Vadot		"",
301*ae5de77eSEmmanuel Vadot		"",
302*ae5de77eSEmmanuel Vadot		"", /* 10 */
303*ae5de77eSEmmanuel Vadot		"",
304*ae5de77eSEmmanuel Vadot		"REL3", /* SODIMM 64 */
305*ae5de77eSEmmanuel Vadot		"",
306*ae5de77eSEmmanuel Vadot		"",
307*ae5de77eSEmmanuel Vadot		"",
308*ae5de77eSEmmanuel Vadot		"",
309*ae5de77eSEmmanuel Vadot		"",
310*ae5de77eSEmmanuel Vadot		"",
311*ae5de77eSEmmanuel Vadot		"",
312*ae5de77eSEmmanuel Vadot		"", /* 20 */
313*ae5de77eSEmmanuel Vadot		"",
314*ae5de77eSEmmanuel Vadot		"",
315*ae5de77eSEmmanuel Vadot		"",
316*ae5de77eSEmmanuel Vadot		"",
317*ae5de77eSEmmanuel Vadot		"",
318*ae5de77eSEmmanuel Vadot		"",
319*ae5de77eSEmmanuel Vadot		"",
320*ae5de77eSEmmanuel Vadot		"",
321*ae5de77eSEmmanuel Vadot		"",
322*ae5de77eSEmmanuel Vadot		"", /* 30 */
323*ae5de77eSEmmanuel Vadot		"",
324*ae5de77eSEmmanuel Vadot		"",
325*ae5de77eSEmmanuel Vadot		"",
326*ae5de77eSEmmanuel Vadot		"",
327*ae5de77eSEmmanuel Vadot		"",
328*ae5de77eSEmmanuel Vadot		"",
329*ae5de77eSEmmanuel Vadot		"",
330*ae5de77eSEmmanuel Vadot		"",
331*ae5de77eSEmmanuel Vadot		"",
332*ae5de77eSEmmanuel Vadot		"", /* 40 */
333*ae5de77eSEmmanuel Vadot		"",
334*ae5de77eSEmmanuel Vadot		"",
335*ae5de77eSEmmanuel Vadot		"",
336*ae5de77eSEmmanuel Vadot		"",
337*ae5de77eSEmmanuel Vadot		"",
338*ae5de77eSEmmanuel Vadot		"",
339*ae5de77eSEmmanuel Vadot		"",
340*ae5de77eSEmmanuel Vadot		"",
341*ae5de77eSEmmanuel Vadot		"",
342*ae5de77eSEmmanuel Vadot		"", /* 50 */
343*ae5de77eSEmmanuel Vadot		"",
344*ae5de77eSEmmanuel Vadot		"",
345*ae5de77eSEmmanuel Vadot		"",
346*ae5de77eSEmmanuel Vadot		"",
347*ae5de77eSEmmanuel Vadot		"",
348*ae5de77eSEmmanuel Vadot		"",
349*ae5de77eSEmmanuel Vadot		"",
350*ae5de77eSEmmanuel Vadot		"",
351*ae5de77eSEmmanuel Vadot		"",
352*ae5de77eSEmmanuel Vadot		"", /* 60 */
353*ae5de77eSEmmanuel Vadot		"",
354*ae5de77eSEmmanuel Vadot		"",
355*ae5de77eSEmmanuel Vadot		"",
356*ae5de77eSEmmanuel Vadot		"",
357*ae5de77eSEmmanuel Vadot		"",
358*ae5de77eSEmmanuel Vadot		"",
359*ae5de77eSEmmanuel Vadot		"",
360*ae5de77eSEmmanuel Vadot		"",
361*ae5de77eSEmmanuel Vadot		"",
362*ae5de77eSEmmanuel Vadot		"", /* 70 */
363*ae5de77eSEmmanuel Vadot		"",
364*ae5de77eSEmmanuel Vadot		"",
365*ae5de77eSEmmanuel Vadot		"",
366*ae5de77eSEmmanuel Vadot		"",
367*ae5de77eSEmmanuel Vadot		"",
368*ae5de77eSEmmanuel Vadot		"",
369*ae5de77eSEmmanuel Vadot		"",
370*ae5de77eSEmmanuel Vadot		"",
371*ae5de77eSEmmanuel Vadot		"",
372*ae5de77eSEmmanuel Vadot		"", /* 80 */
373*ae5de77eSEmmanuel Vadot		"",
374*ae5de77eSEmmanuel Vadot		"",
375*ae5de77eSEmmanuel Vadot		"",
376*ae5de77eSEmmanuel Vadot		"",
377*ae5de77eSEmmanuel Vadot		"",
378*ae5de77eSEmmanuel Vadot		"",
379*ae5de77eSEmmanuel Vadot		"",
380*ae5de77eSEmmanuel Vadot		"",
381*ae5de77eSEmmanuel Vadot		"",
382*ae5de77eSEmmanuel Vadot		"", /* 90 */
383*ae5de77eSEmmanuel Vadot		"";
384*ae5de77eSEmmanuel Vadot};
385*ae5de77eSEmmanuel Vadot
386*ae5de77eSEmmanuel Vadot&main_gpio1 {
387*ae5de77eSEmmanuel Vadot	gpio-line-names =
388*ae5de77eSEmmanuel Vadot		"", /* 0 */
389*ae5de77eSEmmanuel Vadot		"",
390*ae5de77eSEmmanuel Vadot		"",
391*ae5de77eSEmmanuel Vadot		"",
392*ae5de77eSEmmanuel Vadot		"",
393*ae5de77eSEmmanuel Vadot		"",
394*ae5de77eSEmmanuel Vadot		"",
395*ae5de77eSEmmanuel Vadot		"",
396*ae5de77eSEmmanuel Vadot		"",
397*ae5de77eSEmmanuel Vadot		"",
398*ae5de77eSEmmanuel Vadot		"", /* 10 */
399*ae5de77eSEmmanuel Vadot		"",
400*ae5de77eSEmmanuel Vadot		"",
401*ae5de77eSEmmanuel Vadot		"",
402*ae5de77eSEmmanuel Vadot		"",
403*ae5de77eSEmmanuel Vadot		"",
404*ae5de77eSEmmanuel Vadot		"",
405*ae5de77eSEmmanuel Vadot		"",
406*ae5de77eSEmmanuel Vadot		"",
407*ae5de77eSEmmanuel Vadot		"",
408*ae5de77eSEmmanuel Vadot		"", /* 20 */
409*ae5de77eSEmmanuel Vadot		"",
410*ae5de77eSEmmanuel Vadot		"",
411*ae5de77eSEmmanuel Vadot		"",
412*ae5de77eSEmmanuel Vadot		"",
413*ae5de77eSEmmanuel Vadot		"",
414*ae5de77eSEmmanuel Vadot		"",
415*ae5de77eSEmmanuel Vadot		"",
416*ae5de77eSEmmanuel Vadot		"",
417*ae5de77eSEmmanuel Vadot		"",
418*ae5de77eSEmmanuel Vadot		"", /* 30 */
419*ae5de77eSEmmanuel Vadot		"",
420*ae5de77eSEmmanuel Vadot		"",
421*ae5de77eSEmmanuel Vadot		"",
422*ae5de77eSEmmanuel Vadot		"",
423*ae5de77eSEmmanuel Vadot		"",
424*ae5de77eSEmmanuel Vadot		"",
425*ae5de77eSEmmanuel Vadot		"",
426*ae5de77eSEmmanuel Vadot		"",
427*ae5de77eSEmmanuel Vadot		"",
428*ae5de77eSEmmanuel Vadot		"", /* 40 */
429*ae5de77eSEmmanuel Vadot		"",
430*ae5de77eSEmmanuel Vadot		"",
431*ae5de77eSEmmanuel Vadot		"",
432*ae5de77eSEmmanuel Vadot		"",
433*ae5de77eSEmmanuel Vadot		"",
434*ae5de77eSEmmanuel Vadot		"",
435*ae5de77eSEmmanuel Vadot		"",
436*ae5de77eSEmmanuel Vadot		"",
437*ae5de77eSEmmanuel Vadot		"",
438*ae5de77eSEmmanuel Vadot		"", /* 50 */
439*ae5de77eSEmmanuel Vadot		"";
440*ae5de77eSEmmanuel Vadot};
441*ae5de77eSEmmanuel Vadot
442*ae5de77eSEmmanuel Vadot/* Verdin I2C_1 */
443*ae5de77eSEmmanuel Vadot&main_i2c0 {
444*ae5de77eSEmmanuel Vadot	status = "okay";
445*ae5de77eSEmmanuel Vadot
446*ae5de77eSEmmanuel Vadot	temperature-sensor@4f {
447*ae5de77eSEmmanuel Vadot		compatible = "ti,tmp1075";
448*ae5de77eSEmmanuel Vadot		reg = <0x4f>;
449*ae5de77eSEmmanuel Vadot	};
450*ae5de77eSEmmanuel Vadot
451*ae5de77eSEmmanuel Vadot	carrier_eeprom: eeprom@57 {
452*ae5de77eSEmmanuel Vadot		compatible = "st,24c02", "atmel,24c02";
453*ae5de77eSEmmanuel Vadot		reg = <0x57>;
454*ae5de77eSEmmanuel Vadot		pagesize = <16>;
455*ae5de77eSEmmanuel Vadot	};
456*ae5de77eSEmmanuel Vadot};
457*ae5de77eSEmmanuel Vadot
458*ae5de77eSEmmanuel Vadot/* Verdin I2C_4_CSI */
459*ae5de77eSEmmanuel Vadot&main_i2c3 {
460*ae5de77eSEmmanuel Vadot	status = "okay";
461*ae5de77eSEmmanuel Vadot
462*ae5de77eSEmmanuel Vadot	ivy_adc1: adc@40 {
463*ae5de77eSEmmanuel Vadot		compatible = "ti,ads1119";
464*ae5de77eSEmmanuel Vadot		reg = <0x40>;
465*ae5de77eSEmmanuel Vadot		pinctrl-names = "default";
466*ae5de77eSEmmanuel Vadot		pinctrl-0 = <&pinctrl_gpio_7>;
467*ae5de77eSEmmanuel Vadot		interrupt-parent = <&main_gpio0>;
468*ae5de77eSEmmanuel Vadot		interrupts = <51 IRQ_TYPE_EDGE_FALLING>;
469*ae5de77eSEmmanuel Vadot		avdd-supply = <&reg_3v2_ain1>;
470*ae5de77eSEmmanuel Vadot		dvdd-supply = <&reg_3v2_ain1>;
471*ae5de77eSEmmanuel Vadot		vref-supply = <&reg_3v2_ain1>;
472*ae5de77eSEmmanuel Vadot		#address-cells = <1>;
473*ae5de77eSEmmanuel Vadot		#io-channel-cells = <1>;
474*ae5de77eSEmmanuel Vadot		#size-cells = <0>;
475*ae5de77eSEmmanuel Vadot
476*ae5de77eSEmmanuel Vadot		/* AIN1 0-33V Voltage Input */
477*ae5de77eSEmmanuel Vadot		channel@0 {
478*ae5de77eSEmmanuel Vadot			reg = <0>;
479*ae5de77eSEmmanuel Vadot			diff-channels = <0 1>;
480*ae5de77eSEmmanuel Vadot		};
481*ae5de77eSEmmanuel Vadot
482*ae5de77eSEmmanuel Vadot		/* AIN1 0-20mA Current Input */
483*ae5de77eSEmmanuel Vadot		channel@1 {
484*ae5de77eSEmmanuel Vadot			reg = <1>;
485*ae5de77eSEmmanuel Vadot			diff-channels = <2 3>;
486*ae5de77eSEmmanuel Vadot		};
487*ae5de77eSEmmanuel Vadot	};
488*ae5de77eSEmmanuel Vadot
489*ae5de77eSEmmanuel Vadot	ivy_adc2: adc@41 {
490*ae5de77eSEmmanuel Vadot		compatible = "ti,ads1119";
491*ae5de77eSEmmanuel Vadot		reg = <0x41>;
492*ae5de77eSEmmanuel Vadot		pinctrl-names = "default";
493*ae5de77eSEmmanuel Vadot		pinctrl-0 = <&pinctrl_gpio_8>;
494*ae5de77eSEmmanuel Vadot		interrupt-parent = <&main_gpio0>;
495*ae5de77eSEmmanuel Vadot		interrupts = <52 IRQ_TYPE_EDGE_FALLING>;
496*ae5de77eSEmmanuel Vadot		avdd-supply = <&reg_3v2_ain2>;
497*ae5de77eSEmmanuel Vadot		dvdd-supply = <&reg_3v2_ain2>;
498*ae5de77eSEmmanuel Vadot		vref-supply = <&reg_3v2_ain2>;
499*ae5de77eSEmmanuel Vadot		#address-cells = <1>;
500*ae5de77eSEmmanuel Vadot		#io-channel-cells = <1>;
501*ae5de77eSEmmanuel Vadot		#size-cells = <0>;
502*ae5de77eSEmmanuel Vadot
503*ae5de77eSEmmanuel Vadot		/* AIN2 0-33V Voltage Input */
504*ae5de77eSEmmanuel Vadot		channel@0 {
505*ae5de77eSEmmanuel Vadot			reg = <0>;
506*ae5de77eSEmmanuel Vadot			diff-channels = <0 1>;
507*ae5de77eSEmmanuel Vadot		};
508*ae5de77eSEmmanuel Vadot
509*ae5de77eSEmmanuel Vadot		/* AIN2 0-20mA Current Input */
510*ae5de77eSEmmanuel Vadot		channel@1 {
511*ae5de77eSEmmanuel Vadot			reg = <1>;
512*ae5de77eSEmmanuel Vadot			diff-channels = <2 3>;
513*ae5de77eSEmmanuel Vadot		};
514*ae5de77eSEmmanuel Vadot	};
515*ae5de77eSEmmanuel Vadot};
516*ae5de77eSEmmanuel Vadot
517*ae5de77eSEmmanuel Vadot/* Verdin CAN_1 */
518*ae5de77eSEmmanuel Vadot&main_mcan0 {
519*ae5de77eSEmmanuel Vadot	status = "okay";
520*ae5de77eSEmmanuel Vadot};
521*ae5de77eSEmmanuel Vadot
522*ae5de77eSEmmanuel Vadot/* Verdin SPI_1 */
523*ae5de77eSEmmanuel Vadot&main_spi1 {
524*ae5de77eSEmmanuel Vadot	pinctrl-0 = <&pinctrl_main_spi1>,
525*ae5de77eSEmmanuel Vadot		    <&pinctrl_main_spi1_cs0>,
526*ae5de77eSEmmanuel Vadot		    <&pinctrl_gpio_1>,
527*ae5de77eSEmmanuel Vadot		    <&pinctrl_gpio_4>;
528*ae5de77eSEmmanuel Vadot	cs-gpios = <0>,
529*ae5de77eSEmmanuel Vadot		   <&mcu_gpio0 1 GPIO_ACTIVE_LOW>,
530*ae5de77eSEmmanuel Vadot		   <&mcu_gpio0 4 GPIO_ACTIVE_LOW>;
531*ae5de77eSEmmanuel Vadot	status = "okay";
532*ae5de77eSEmmanuel Vadot
533*ae5de77eSEmmanuel Vadot	tpm@1 {
534*ae5de77eSEmmanuel Vadot		compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
535*ae5de77eSEmmanuel Vadot		reg = <1>;
536*ae5de77eSEmmanuel Vadot		spi-max-frequency = <18500000>;
537*ae5de77eSEmmanuel Vadot	};
538*ae5de77eSEmmanuel Vadot
539*ae5de77eSEmmanuel Vadot	fram@2 {
540*ae5de77eSEmmanuel Vadot		compatible = "fujitsu,mb85rs256", "atmel,at25";
541*ae5de77eSEmmanuel Vadot		reg = <2>;
542*ae5de77eSEmmanuel Vadot		address-width = <16>;
543*ae5de77eSEmmanuel Vadot		size = <32768>;
544*ae5de77eSEmmanuel Vadot		spi-max-frequency = <33000000>;
545*ae5de77eSEmmanuel Vadot		pagesize = <1>;
546*ae5de77eSEmmanuel Vadot	};
547*ae5de77eSEmmanuel Vadot};
548*ae5de77eSEmmanuel Vadot
549*ae5de77eSEmmanuel Vadot/* Verdin UART_3, used as the Linux console */
550*ae5de77eSEmmanuel Vadot&main_uart0 {
551*ae5de77eSEmmanuel Vadot	status = "okay";
552*ae5de77eSEmmanuel Vadot};
553*ae5de77eSEmmanuel Vadot
554*ae5de77eSEmmanuel Vadot/* Verdin UART_1 */
555*ae5de77eSEmmanuel Vadot&main_uart1 {
556*ae5de77eSEmmanuel Vadot	status = "okay";
557*ae5de77eSEmmanuel Vadot};
558*ae5de77eSEmmanuel Vadot
559*ae5de77eSEmmanuel Vadot&mcu_gpio0 {
560*ae5de77eSEmmanuel Vadot	pinctrl-names = "default";
561*ae5de77eSEmmanuel Vadot	pinctrl-0 = <&pinctrl_gpio_2>,
562*ae5de77eSEmmanuel Vadot		    <&pinctrl_gpio_3>;
563*ae5de77eSEmmanuel Vadot	gpio-line-names =
564*ae5de77eSEmmanuel Vadot		"",
565*ae5de77eSEmmanuel Vadot		"",
566*ae5de77eSEmmanuel Vadot		"GPIO2", /* Verdin GPIO_2 - SODIMM 208 */
567*ae5de77eSEmmanuel Vadot		"GPIO3", /* Verdin GPIO_3 - SODIMM 210 */
568*ae5de77eSEmmanuel Vadot		"",
569*ae5de77eSEmmanuel Vadot		"",
570*ae5de77eSEmmanuel Vadot		"",
571*ae5de77eSEmmanuel Vadot		"",
572*ae5de77eSEmmanuel Vadot		"",
573*ae5de77eSEmmanuel Vadot		"",
574*ae5de77eSEmmanuel Vadot		"", /* 10 */
575*ae5de77eSEmmanuel Vadot		"",
576*ae5de77eSEmmanuel Vadot		"",
577*ae5de77eSEmmanuel Vadot		"",
578*ae5de77eSEmmanuel Vadot		"",
579*ae5de77eSEmmanuel Vadot		"",
580*ae5de77eSEmmanuel Vadot		"",
581*ae5de77eSEmmanuel Vadot		"",
582*ae5de77eSEmmanuel Vadot		"",
583*ae5de77eSEmmanuel Vadot		"",
584*ae5de77eSEmmanuel Vadot		"", /* 20 */
585*ae5de77eSEmmanuel Vadot		"",
586*ae5de77eSEmmanuel Vadot		"",
587*ae5de77eSEmmanuel Vadot		"";
588*ae5de77eSEmmanuel Vadot};
589*ae5de77eSEmmanuel Vadot
590*ae5de77eSEmmanuel Vadot/* Verdin CAN_2 */
591*ae5de77eSEmmanuel Vadot&mcu_mcan0 {
592*ae5de77eSEmmanuel Vadot	status = "okay";
593*ae5de77eSEmmanuel Vadot};
594*ae5de77eSEmmanuel Vadot
595*ae5de77eSEmmanuel Vadot/* Verdin SD_1 */
596*ae5de77eSEmmanuel Vadot&sdhci1 {
597*ae5de77eSEmmanuel Vadot	status = "okay";
598*ae5de77eSEmmanuel Vadot};
599*ae5de77eSEmmanuel Vadot
600*ae5de77eSEmmanuel Vadot/* Verdin USB_1 */
601*ae5de77eSEmmanuel Vadot&usbss0 {
602*ae5de77eSEmmanuel Vadot	status = "okay";
603*ae5de77eSEmmanuel Vadot};
604*ae5de77eSEmmanuel Vadot
605*ae5de77eSEmmanuel Vadot&usb0 {
606*ae5de77eSEmmanuel Vadot	status = "okay";
607*ae5de77eSEmmanuel Vadot};
608*ae5de77eSEmmanuel Vadot
609*ae5de77eSEmmanuel Vadot/* Verdin USB_2 */
610*ae5de77eSEmmanuel Vadot&usbss1 {
611*ae5de77eSEmmanuel Vadot	status = "okay";
612*ae5de77eSEmmanuel Vadot};
613*ae5de77eSEmmanuel Vadot
614*ae5de77eSEmmanuel Vadot&usb1 {
615*ae5de77eSEmmanuel Vadot	status = "okay";
616*ae5de77eSEmmanuel Vadot};
617*ae5de77eSEmmanuel Vadot
618*ae5de77eSEmmanuel Vadot/* Verdin PCIE_1_RESET# */
619*ae5de77eSEmmanuel Vadot&verdin_pcie_1_reset_hog {
620*ae5de77eSEmmanuel Vadot	status = "okay";
621*ae5de77eSEmmanuel Vadot};
622*ae5de77eSEmmanuel Vadot
623*ae5de77eSEmmanuel Vadot/* Verdin UART_2 */
624*ae5de77eSEmmanuel Vadot&wkup_uart0 {
625*ae5de77eSEmmanuel Vadot	rs485-rts-active-low;
626*ae5de77eSEmmanuel Vadot	rs485-rx-during-tx;
627*ae5de77eSEmmanuel Vadot	linux,rs485-enabled-at-boot-time;
628*ae5de77eSEmmanuel Vadot	status = "okay";
629*ae5de77eSEmmanuel Vadot};
630