xref: /freebsd/sys/contrib/device-tree/src/arm64/ti/k3-am62p-verdin.dtsi (revision 833e5d42ab135b0238e61c5b3c19b8619677cbfa)
1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2/*
3 * Copyright 2025 Toradex
4 *
5 * Common dtsi for Verdin AM62P SoM
6 *
7 * https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62p
8 */
9
10#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/input/input.h>
12#include <dt-bindings/interrupt-controller/arm-gic.h>
13#include <dt-bindings/interrupt-controller/irq.h>
14#include <dt-bindings/net/ti-dp83867.h>
15
16/ {
17	aliases {
18		can0 = &main_mcan0;
19		can1 = &mcu_mcan0;
20		eeprom0 = &som_eeprom;
21		ethernet0 = &cpsw_port1;
22		ethernet1 = &cpsw_port2;
23		i2c0 = &wkup_i2c0;
24		i2c1 = &main_i2c0;
25		i2c2 = &main_i2c1;
26		i2c3 = &mcu_i2c0;
27		i2c4 = &main_i2c3;
28		mmc0 = &sdhci0;
29		mmc1 = &sdhci1;
30		mmc2 = &sdhci2;
31		rtc0 = &som_rtc_i2c;
32		rtc1 = &wkup_rtc0;
33		serial0 = &main_uart1;
34		serial1 = &wkup_uart0;
35		serial2 = &main_uart0;
36		serial3 = &mcu_uart0;
37		serial4 = &main_uart6;
38		usb0 = &usb0;
39		usb1 = &usb1;
40	};
41
42	chosen {
43		stdout-path = "serial2:115200n8";
44	};
45
46	connector {
47		compatible = "gpio-usb-b-connector", "usb-b-connector";
48		pinctrl-names = "default";
49		pinctrl-0 = <&pinctrl_usb0_id>;
50		id-gpios = <&main_gpio0 31 GPIO_ACTIVE_HIGH>;
51		label = "USB_1";
52		self-powered;
53		vbus-supply = <&reg_usb0_vbus>;
54
55		port {
56			usb_dr_connector: endpoint {
57				remote-endpoint = <&usb0_ep>;
58			};
59		};
60	};
61
62	verdin_gpio_keys: gpio-keys {
63		compatible = "gpio-keys";
64		pinctrl-names = "default";
65		pinctrl-0 = <&pinctrl_ctrl_wake1_mico>;
66		status = "disabled";
67
68		key-wakeup {
69			debounce-interval = <10>;
70			/* Verdin CTRL_WAKE1_MICO# (SODIMM 252) */
71			gpios = <&main_gpio0 1 GPIO_ACTIVE_LOW>;
72			label = "Wake-Up";
73			linux,code = <KEY_WAKEUP>;
74			wakeup-source;
75		};
76	};
77
78	memory@80000000 {
79		/* 2G RAM */
80		reg = <0x00000000 0x80000000 0x00000000 0x80000000>;
81		device_type = "memory";
82	};
83
84	opp-table {
85		/* Add 1.4GHz OPP. Requires VDD_CORE to be at 0.85V */
86		opp-1400000000 {
87			opp-hz = /bits/ 64 <1400000000>;
88			opp-supported-hw = <0x01 0x0004>;
89			clock-latency-ns = <6000000>;
90		};
91	};
92
93	reg_force_sleep_moci: regulator-force-sleep-moci {
94		compatible = "regulator-fixed";
95		/* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */
96		gpios = <&som_gpio_expander 0 GPIO_ACTIVE_HIGH>;
97		enable-active-high;
98		regulator-always-on;
99		regulator-boot-on;
100		regulator-name = "CTRL_SLEEP_MOCI#";
101	};
102
103	/* Verdin SD_1 Power Supply */
104	reg_sd1_vmmc: regulator-sdhci1-vmmc {
105		compatible = "regulator-fixed";
106		pinctrl-names = "default";
107		pinctrl-0 = <&pinctrl_sd1_pwr_en>;
108		/* Verdin SD_1_PWR_EN (SODIMM 76) */
109		gpios = <&main_gpio0 47 GPIO_ACTIVE_HIGH>;
110		enable-active-high;
111		off-on-delay-us = <100000>;
112		regulator-max-microvolt = <3300000>;
113		regulator-min-microvolt = <3300000>;
114		regulator-name = "+V3.3_SD";
115		startup-delay-us = <2000>;
116	};
117
118	reg_sd1_vqmmc: regulator-sdhci1-vqmmc {
119		compatible = "regulator-gpio";
120		pinctrl-names = "default";
121		pinctrl-0 = <&pinctrl_sd_vsel>;
122		/* PMIC_VSEL_SD */
123		gpios = <&main_gpio0 21 GPIO_ACTIVE_HIGH>;
124		regulator-name = "LDO1-VSEL-SD (PMIC)";
125		regulator-min-microvolt = <1800000>;
126		regulator-max-microvolt = <3300000>;
127		states = <1800000 0x0>,
128			 <3300000 0x1>;
129		vin-supply = <&reg_sd_3v3_1v8>;
130	};
131
132	reg_usb0_vbus: regulator-usb0-vbus {
133		compatible = "regulator-fixed";
134		pinctrl-names = "default";
135		pinctrl-0 = <&pinctrl_usb0_en>;
136		/* Verdin USB_1_EN (SODIMM 155) */
137		gpios = <&main_gpio1 50 GPIO_ACTIVE_HIGH>;
138		enable-active-high;
139		regulator-max-microvolt = <5000000>;
140		regulator-min-microvolt = <5000000>;
141		regulator-name = "USB_1_EN";
142	};
143
144	/* Module Power Supply */
145	reg_vsodimm: regulator-vsodimm {
146		compatible = "regulator-fixed";
147		regulator-name = "+V_SODIMM";
148	};
149
150	reserved-memory {
151		#address-cells = <2>;
152		#size-cells = <2>;
153		ranges;
154
155		secure_tfa_ddr: tfa@9e780000 {
156			reg = <0x00 0x9e780000 0x00 0x80000>;
157			no-map;
158		};
159
160		secure_ddr: optee@9e800000 {
161			reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
162			no-map;
163		};
164
165		wkup_r5fss0_core0_memory_region: r5f-dma-memory@9c900000 {
166			compatible = "shared-dma-pool";
167			reg = <0x00 0x9c900000 0x00 0x01e00000>;
168			no-map;
169		};
170	};
171};
172
173&main_pmx0 {
174	/* Verdin PWM_3_DSI */
175	pinctrl_epwm0_b: main-epwm0b-default-pins {
176		pinctrl-single,pins = <
177			AM62PX_IOPAD(0x01b8, PIN_OUTPUT, 2) /* (E20) SPI0_CS1.EHRPWM0_B */ /* SODIMM 19 */
178		>;
179	};
180
181	/* Verdin PWM_2 */
182	pinctrl_epwm2_a: main-epwm2a-default-pins {
183		pinctrl-single,pins = <
184			AM62PX_IOPAD(0x0124, PIN_OUTPUT, 4) /* (J25) MMC2_SDCD.EHRPWM2_A */ /* SODIMM 16 */
185		>;
186	};
187
188	/* Verdin PWM_1 */
189	pinctrl_epwm2_b: main-epwm2b-default-pins {
190		pinctrl-single,pins = <
191			AM62PX_IOPAD(0x0128, PIN_OUTPUT, 4) /* (K25) MMC2_SDWP.EHRPWM2_B */ /* SODIMM 15 */
192		>;
193	};
194
195	/* Verdin QSPI_1_CLK as GPIO (conflict with Verdin QSPI_1 interface) */
196	pinctrl_qspi1_clk_gpio: main-gpio0-0-default-pins {
197		pinctrl-single,pins = <
198			AM62PX_IOPAD(0x0000, PIN_INPUT, 7) /* (P23) OSPI0_CLK.GPIO0_0 */ /* SODIMM 52 */
199		>;
200	};
201
202	/* Verdin CTRL_WAKE1_MICO# */
203	pinctrl_ctrl_wake1_mico: main-gpio0-1-default-pins {
204		pinctrl-single,pins = <
205			AM62PX_IOPAD(0x0004, PIN_INPUT, 7) /* (N23) OSPI0_LBCLKO.GPIO0_1 */ /* SODIMM 252 */
206		>;
207	};
208
209	/* Verdin QSPI_1_DQS as GPIO (conflict with Verdin QSPI_1 interface) */
210	pinctrl_qspi1_dqs_gpio: main-gpio0-2-default-pins {
211		pinctrl-single,pins = <
212			AM62PX_IOPAD(0x0008, PIN_INPUT, 7) /* (P22) OSPI0_DQS.GPIO0_2 */ /* SODIMM 66 */
213		>;
214	};
215
216	/* Verdin QSPI_1_IO0 as GPIO (conflict with Verdin QSPI_1 interface) */
217	pinctrl_qspi1_io0_gpio: main-gpio0-3-default-pins {
218		pinctrl-single,pins = <
219			AM62PX_IOPAD(0x000c, PIN_INPUT, 7) /* (L25) OSPI0_D0.GPIO0_3 */ /* SODIMM 56 */
220		>;
221	};
222
223	/* Verdin QSPI_1_IO1 as GPIO (conflict with Verdin QSPI_1 interface) */
224	pinctrl_qspi1_io1_gpio: main-gpio0-4-default-pins {
225		pinctrl-single,pins = <
226			AM62PX_IOPAD(0x0010, PIN_INPUT, 7) /* (N24) OSPI0_D1.GPIO0_4 */ /* SODIMM 58 */
227		>;
228	};
229
230	/* Verdin QSPI_1_IO2 as GPIO (conflict with Verdin QSPI_1 interface) */
231	pinctrl_qspi1_io2_gpio: main-gpio0-5-default-pins {
232		pinctrl-single,pins = <
233			AM62PX_IOPAD(0x0014, PIN_INPUT, 7) /* (N25) OSPI0_D2.GPIO0_5 */ /* SODIMM 60 */
234		>;
235	};
236
237	/* Verdin QSPI_1_IO3 as GPIO (conflict with Verdin QSPI_1 interface) */
238	pinctrl_qspi1_io3_gpio: main-gpio0-6-default-pins {
239		pinctrl-single,pins = <
240			AM62PX_IOPAD(0x0018, PIN_INPUT, 7) /* (M24) OSPI0_D3.GPIO0_6 */ /* SODIMM 62 */
241		>;
242	};
243
244	/* Verdin QSPI_1_CS# as GPIO (conflict with Verdin QSPI_1 interface) */
245	pinctrl_qspi1_cs_gpio: main-gpio0-11-default-pins {
246		pinctrl-single,pins = <
247			AM62PX_IOPAD(0x002c, PIN_INPUT, 7) /* (M25) OSPI0_CSn0.GPIO0_11 */ /* SODIMM 54 */
248		>;
249	};
250
251	/* Verdin QSPI_1_CS2# as GPIO (conflict with Verdin QSPI_1 interface) */
252	pinctrl_qspi1_cs2_gpio: main-gpio0-12-default-pins {
253		pinctrl-single,pins = <
254			AM62PX_IOPAD(0x0030, PIN_INPUT, 7) /* (L24) OSPI0_CSn1.GPIO0_12 */ /* SODIMM 64 */
255		>;
256	};
257
258	/* Verdin MSP_37 as GPIO */
259	pinctrl_msp37_gpio: main-gpio0-13-default-pins {
260		pinctrl-single,pins = <
261			AM62PX_IOPAD(0x0034, PIN_INPUT, 7) /* (L22) OSPI0_CSn2.GPIO0_13 */ /* SODIMM 174 - WiFi_W_WKUP_HOST# */
262		>;
263	};
264
265	/* Verdin PCIE_1_RESET# */
266	pinctrl_pcie_1_reset: main-gpio0-14-default-pins {
267		pinctrl-single,pins = <
268			AM62PX_IOPAD(0x0038, PIN_INPUT, 7) /* (L23) OSPI0_CSn3.GPIO0_14 */ /* SODIMM 244 */
269		>;
270	};
271
272	pinctrl_sd_vsel: main-gpio0-21-default-pins {
273		pinctrl-single,pins = <
274			AM62PX_IOPAD(0x0054, PIN_INPUT, 7) /* (V24) GPMC0_AD6.GPIO0_21 */ /* PMIC_SD_VSEL */
275		>;
276	};
277
278	pinctrl_tpm_extint: main-gpio0-25-default-pins {
279		pinctrl-single,pins = <
280			AM62PX_IOPAD(0x0064, PIN_INPUT, 7) /* (AA25) GPMC0_AD10.GPIO0_25 */ /* TPM_EXTINT# */
281		>;
282	};
283
284	pinctrl_wifi_wkup_bt: main-gpio0-29-default-pins {
285		pinctrl-single,pins = <
286			AM62PX_IOPAD(0x0074, PIN_INPUT, 7) /* (AB24) GPMC0_AD14.GPIO0_29 */ /* WiFi_WKUP_BT# */
287		>;
288	};
289
290	pinctrl_wifi_wkup_wlan: main-gpio0-30-default-pins {
291		pinctrl-single,pins = <
292			AM62PX_IOPAD(0x0078, PIN_INPUT, 7) /* (AC24) GPMC0_AD15.GPIO0_30 */ /* WiFi_WKUP_WLAN# */
293		>;
294	};
295
296	/* Verdin USB_1_ID */
297	pinctrl_usb0_id: main-gpio0-31-default-pins {
298		pinctrl-single,pins = <
299			AM62PX_IOPAD(0x007c, PIN_INPUT, 7) /* (Y25) GPMC0_CLK.GPIO0_31 */ /* SODIMM 161 */
300		>;
301	};
302
303	/* Verdin USB_1_OC# */
304	pinctrl_usb1_oc: main-gpio0-32-default-pins {
305		pinctrl-single,pins = <
306			AM62PX_IOPAD(0x0084, PIN_INPUT, 7) /* (R25) GPMC0_ADVn_ALE.GPIO0_32 */ /* SODIMM 157 */
307		>;
308	};
309
310	/* Verdin I2S_2_D_IN as GPIO (conflict with Verdin I2S_2 interface) */
311	pinctrl_i2s_2_d_in_gpio: main-gpio0-33-default-pins {
312		pinctrl-single,pins = <
313			AM62PX_IOPAD(0x0088, PIN_INPUT, 7) /* (R24) GPMC0_OEn_REn.GPIO0_33 */ /* SODIMM 48 */
314		>;
315	};
316
317	/* Verdin I2S_2_D_OUT as GPIO (conflict with Verdin I2S_2 interface) */
318	pinctrl_i2s_2_d_out_gpio: main-gpio0-34-default-pins {
319		pinctrl-single,pins = <
320			AM62PX_IOPAD(0x008c, PIN_INPUT, 7) /* (T25) GPMC0_WEn.GPIO0_34 */ /* SODIMM 46 */
321		>;
322	};
323
324	/* Verdin I2S_2_BCLK as GPIO (conflict with Verdin I2S_2 interface) */
325	pinctrl_i2s_2_bclk_gpio: main-gpio0-35-default-pins {
326		pinctrl-single,pins = <
327			AM62PX_IOPAD(0x0090, PIN_INPUT, 7) /* (U24) GPMC0_BE0n_CLE.GPIO0_35 */ /* SODIMM 42 */
328		>;
329	};
330
331	pinctrl_eth_int: main-gpio0-36-default-pins {
332		pinctrl-single,pins = <
333			AM62PX_IOPAD(0x0094, PIN_INPUT, 7) /* (T24) GPMC0_BE1n.GPIO0_36 */ /* ETH_INT# */
334		>;
335	};
336
337	/* Verdin I2S_2_SYNC as GPIO (conflict with Verdin I2S_2 interface) */
338	pinctrl_i2s_2_sync_gpio: main-gpio0-37-default-pins {
339		pinctrl-single,pins = <
340			AM62PX_IOPAD(0x0098, PIN_INPUT, 7) /* (AA24) GPMC0_WAIT0.GPIO0_37 */ /* SODIMM 44 */
341		>;
342	};
343
344	/* Verdin DSI_1_INT# */
345	pinctrl_dsi1_int: main-gpio0-38-default-pins {
346		pinctrl-single,pins = <
347			AM62PX_IOPAD(0x009c, PIN_INPUT, 7) /* (AD24) GPMC0_WAIT1.GPIO0_38 */ /* SODIMM 17 */
348		>;
349	};
350
351	/* Verdin DSI_1_BLK_EN# */
352	pinctrl_dsi1_bkl_en: main-gpio0-39-default-pins {
353		pinctrl-single,pins = <
354			AM62PX_IOPAD(0x00a0, PIN_INPUT, 7) /* (P24) GPMC0_WPn.GPIO0_39 */ /* SODIMM 21 */
355		>;
356	};
357
358	/* Verdin USB_2_OC# */
359	pinctrl_usb2_oc: main-gpio0-41-default-pins {
360		pinctrl-single,pins = <
361			AM62PX_IOPAD(0x00a8, PIN_INPUT, 7) /* (T23) GPMC0_CSn0.GPIO0_41 */ /* SODIMM 187 */
362		>;
363	};
364
365	/* Verdin ETH_2_RGMII_INT# */
366	pinctrl_eth2_rgmii_int: main-gpio0-42-default-pins {
367		pinctrl-single,pins = <
368			AM62PX_IOPAD(0x00ac, PIN_INPUT, 7) /* (U23) GPMC0_CSn1.GPIO0_42 */ /* SODIMM 189 */
369		>;
370	};
371
372	/* Verdin SD_1_PWR_EN */
373	pinctrl_sd1_pwr_en: main-gpio0-47-default-pins {
374		pinctrl-single,pins = <
375			AM62PX_IOPAD(0x00c0, PIN_INPUT, 7) /* (AA23) VOUT0_DATA2.GPIO0_47 */ /* SODIMM 76 */
376		>;
377	};
378
379	/* Verdin GPIO_5 */
380	pinctrl_gpio_5: main-gpio0-49-default-pins {
381		pinctrl-single,pins = <
382			AM62PX_IOPAD(0x00c8, PIN_INPUT, 7) /* (AB23) VOUT0_DATA4.GPIO0_49 */ /* SODIMM 216 */
383		>;
384	};
385
386	/* Verdin GPIO_6 */
387	pinctrl_gpio_6: main-gpio0-50-default-pins {
388		pinctrl-single,pins = <
389			AM62PX_IOPAD(0x00cc, PIN_INPUT, 7) /* (AD23) VOUT0_DATA5.GPIO0_50 */ /* SODIMM 218 */
390		>;
391	};
392
393	/* Verdin GPIO_7 */
394	pinctrl_gpio_7: main-gpio0-51-default-pins {
395		pinctrl-single,pins = <
396			AM62PX_IOPAD(0x00d0, PIN_INPUT, 7) /* (AC23) VOUT0_DATA6.GPIO0_51 */ /* SODIMM 220 */
397		>;
398	};
399
400	/* Verdin GPIO_8 */
401	pinctrl_gpio_8: main-gpio0-52-default-pins {
402		pinctrl-single,pins = <
403			AM62PX_IOPAD(0x00d4, PIN_INPUT, 7) /* (AE23) VOUT0_DATA7.GPIO0_52 */ /* SODIMM 222 */
404		>;
405	};
406
407	/* Verdin MSP_36 as GPIO */
408	pinctrl_msp36_gpio: main-gpio0-57-default-pins {
409		pinctrl-single,pins = <
410			AM62PX_IOPAD(0x00e8, PIN_INPUT, 7) /* (AD21) VOUT0_DATA12.GPIO0_57 */ /* SODIMM 172 - WiFi_BT_WKUP_HOST#  */
411		>;
412	};
413
414	pinctrl_wifi_sd_int: main-gpio0-59-default-pins {
415		pinctrl-single,pins = <
416			AM62PX_IOPAD(0x00f0, PIN_INPUT, 7) /* (AA20) VOUT0_DATA14.GPIO0_59 */ /* WIFI_SD_INT */
417		>;
418	};
419
420	pinctrl_wifi_spi_cs: main-gpio0-60-default-pins {
421		pinctrl-single,pins = <
422			AM62PX_IOPAD(0x00f4, PIN_INPUT, 7) /* (Y20) VOUT0_DATA15.GPIO0_60 */ /* WIFI_SPI_CS# */
423		>;
424	};
425
426	/* Verdin PWM_3_DSI as GPIO */
427	pinctrl_pwm3_dsi_gpio: main-gpio1-16-default-pins {
428		pinctrl-single,pins = <
429			AM62PX_IOPAD(0x01b8, PIN_INPUT, 7) /* (E20) SPI0_CS1.GPIO1_16 */ /* SODIMM 19 */
430		>;
431	};
432
433	/* Verdin SD_1_CD# */
434	pinctrl_sd1_cd: main-gpio1-48-default-pins {
435		pinctrl-single,pins = <
436			AM62PX_IOPAD(0x0240, PIN_INPUT_PULLUP, 7) /* (D23) MMC1_SDCD.GPIO1_48 */ /* SODIMM 84 */
437		>;
438	};
439
440	/* Verdin MSP_29 as GPIO */
441	pinctl_msp29_gpio: main-gpio1-49-default-pins {
442		pinctrl-single,pins = <
443			AM62PX_IOPAD(0x0244, PIN_INPUT, 7) /* (D24) MMC1_SDWP.GPIO1_49 */ /* SODIMM 154 */
444		>;
445	};
446
447	/* Verdin USB_1_EN */
448	pinctrl_usb0_en: main-gpio1-50-default-pins {
449		pinctrl-single,pins = <
450			AM62PX_IOPAD(0x0254, PIN_INPUT, 7) /* (G22) USB0_DRVVBUS.GPIO1_50 */ /* SODIMM 155 */
451		>;
452	};
453
454	/* Verdin I2C_1 */
455	pinctrl_main_i2c0: main-i2c0-default-pins {
456		pinctrl-single,pins = <
457			AM62PX_IOPAD(0x01e0, PIN_INPUT_PULLUP, 0) /* (B25) I2C0_SCL */ /* SODIMM 14 */
458			AM62PX_IOPAD(0x01e4, PIN_INPUT_PULLUP, 0) /* (A24) I2C0_SDA */ /* SODIMM 12 */
459		>;
460	};
461
462	/* Verdin I2C_2_DSI */
463	pinctrl_main_i2c1: main-i2c1-default-pins {
464		pinctrl-single,pins = <
465			AM62PX_IOPAD(0x01e8, PIN_INPUT_PULLUP, 0) /* (C24) I2C1_SCL */ /* SODIMM 55 */
466			AM62PX_IOPAD(0x01ec, PIN_INPUT_PULLUP, 0) /* (B24) I2C1_SDA */ /* SODIMM 53 */
467		>;
468	};
469
470	/* Verdin I2C_4_CSI */
471	pinctrl_main_i2c3: main-i2c3-default-pins {
472		pinctrl-single,pins = <
473			AM62PX_IOPAD(0x01d0, PIN_INPUT_PULLUP, 2) /* (A23) UART0_CTSn.I2C3_SCL */ /* SODIMM 95 */
474			AM62PX_IOPAD(0x01d4, PIN_INPUT_PULLUP, 2) /* (C22) UART0_RTSn.I2C3_SDA */ /* SODIMM 93 */
475		>;
476	};
477
478	/* Verdin CAN_1 */
479	pinctrl_main_mcan0: main-mcan0-default-pins {
480		pinctrl-single,pins = <
481			AM62PX_IOPAD(0x01dc, PIN_INPUT, 0)  /* (F20) MCAN0_RX */ /* SODIMM 22 */
482			AM62PX_IOPAD(0x01d8, PIN_OUTPUT, 0) /* (B23) MCAN0_TX */ /* SODIMM 20 */
483		>;
484	};
485
486	/* Verdin MSP_3/MSP_8 as CAN */
487	pinctrl_main_mcan1: main-mcan1-default-pins {
488		pinctrl-single,pins = <
489			AM62PX_IOPAD(0x00b4, PIN_INPUT, 5)  /* (U25) GPMC0_CSn3.MCAN1_RX */ /* SODIMM 92  */
490			AM62PX_IOPAD(0x00b0, PIN_OUTPUT, 5) /* (T22) GPMC0_CSn2.MCAN1_TX */ /* SODIMM 104 */
491		>;
492	};
493
494	/* Verdin SD_1 */
495	pinctrl_sdhci1: main-mmc1-default-pins {
496		pinctrl-single,pins = <
497			AM62PX_IOPAD(0x023c, PIN_INPUT,  0) /* (H20) MMC1_CMD  */ /* SODIMM 74 */
498			AM62PX_IOPAD(0x0234, PIN_OUTPUT, 0) /* (J24) MMC1_CLK  */ /* SODIMM 78 */
499			AM62PX_IOPAD(0x0230, PIN_INPUT,  0) /* (H21) MMC1_DAT0 */ /* SODIMM 80 */
500			AM62PX_IOPAD(0x022c, PIN_INPUT,  0) /* (H23) MMC1_DAT1 */ /* SODIMM 82 */
501			AM62PX_IOPAD(0x0228, PIN_INPUT,  0) /* (H22) MMC1_DAT2 */ /* SODIMM 70 */
502			AM62PX_IOPAD(0x0224, PIN_INPUT,  0) /* (H25) MMC1_DAT3 */ /* SODIMM 72 */
503		>;
504	};
505
506	/* On-module Wi-Fi on WB SKUs, module-specific SDIO otherwise */
507	pinctrl_sdhci2: main-mmc2-default-pins {
508		pinctrl-single,pins = <
509			AM62PX_IOPAD(0x0120, PIN_INPUT,  0) /* (K24) MMC2_CMD  */ /* SODIMM 160, WiFi_SDIO_CMD   */
510			AM62PX_IOPAD(0x0118, PIN_OUTPUT, 0) /* (K21) MMC2_CLK  */ /* SODIMM 156, WiFi_SDIO_CLK   */
511			AM62PX_IOPAD(0x011C, PIN_INPUT,  0) /* () MMC2_CLKLB   */
512			AM62PX_IOPAD(0x0114, PIN_INPUT,  0) /* (K23) MMC2_DAT0 */ /* SODIMM 162, WiFi_SDIO_DATA0 */
513			AM62PX_IOPAD(0x0110, PIN_INPUT,  0) /* (K22) MMC2_DAT1 */ /* SODIMM 164, WiFi_SDIO_DATA1 */
514			AM62PX_IOPAD(0x010c, PIN_INPUT,  0) /* (L20) MMC2_DAT2 */ /* SODIMM 166, WiFi_SDIO_DATA2 */
515			AM62PX_IOPAD(0x0108, PIN_INPUT,  0) /* (L21) MMC2_DAT3 */ /* SODIMM 168, WiFi_SDIO_DATA3 */
516		>;
517	};
518
519	/* Verdin QSPI_1 */
520	pinctrl_ospi0: main-ospi0-default-pins {
521		pinctrl-single,pins = <
522			AM62PX_IOPAD(0x0000, PIN_OUTPUT, 0) /* (P23) OSPI0_CLK  */ /* SODIMM 52 */
523			AM62PX_IOPAD(0x002c, PIN_OUTPUT, 0) /* (M25) OSPI0_CSn0 */ /* SODIMM 54 */
524			AM62PX_IOPAD(0x0030, PIN_OUTPUT, 0) /* (L24) OSPI0_CSn1 */ /* SODIMM 64 */
525			AM62PX_IOPAD(0x000c, PIN_INPUT,  0) /* (L25) OSPI0_D0   */ /* SODIMM 56 */
526			AM62PX_IOPAD(0x0010, PIN_INPUT,  0) /* (N24) OSPI0_D1   */ /* SODIMM 58 */
527			AM62PX_IOPAD(0x0014, PIN_INPUT,  0) /* (N25) OSPI0_D2   */ /* SODIMM 60 */
528			AM62PX_IOPAD(0x0018, PIN_INPUT,  0) /* (M24) OSPI0_D3   */ /* SODIMM 62 */
529			AM62PX_IOPAD(0x0008, PIN_INPUT,  0) /* (P22) OSPI0_DQS  */ /* SODIMM 66 */
530		>;
531	};
532
533	/* Verdin ETH_1 RGMII (On-module PHY) */
534	pinctrl_rgmii1: main-rgmii1-default-pins {
535		pinctrl-single,pins = <
536			AM62PX_IOPAD(0x014c, PIN_INPUT, 0) /* (B15) RGMII1_RD0    */ /* RGMII_RXD0   */
537			AM62PX_IOPAD(0x0150, PIN_INPUT, 0) /* (B16) RGMII1_RD1    */ /* RGMII_RXD1   */
538			AM62PX_IOPAD(0x0154, PIN_INPUT, 0) /* (A14) RGMII1_RD2    */ /* RGMII_RXD2   */
539			AM62PX_IOPAD(0x0158, PIN_INPUT, 0) /* (B14) RGMII1_RD3    */ /* RGMII_RXD3   */
540			AM62PX_IOPAD(0x0148, PIN_INPUT, 0) /* (A16) RGMII1_RXC    */ /* RGMII_RXC    */
541			AM62PX_IOPAD(0x0144, PIN_INPUT, 0) /* (A15) RGMII1_RX_CTL */ /* RGMII_RX_CTL */
542			AM62PX_IOPAD(0x0134, PIN_INPUT, 0) /* (A18) RGMII1_TD0    */ /* RGMII_TXD0   */
543			AM62PX_IOPAD(0x0138, PIN_INPUT, 0) /* (C17) RGMII1_TD1    */ /* RGMII_TXD1   */
544			AM62PX_IOPAD(0x013c, PIN_INPUT, 0) /* (A17) RGMII1_TD2    */ /* RGMII_TXD2   */
545			AM62PX_IOPAD(0x0140, PIN_INPUT, 0) /* (C16) RGMII1_TD3    */ /* RGMII_TXD3   */
546			AM62PX_IOPAD(0x0130, PIN_INPUT, 0) /* (B17) RGMII1_TXC    */ /* RGMII_TXC    */
547			AM62PX_IOPAD(0x012c, PIN_INPUT, 0) /* (B18) RGMII1_TX_CTL */ /* RGMII_TX_CTL */
548		>;
549	};
550
551	/* Verdin ETH_2 RGMII */
552	pinctrl_rgmii2: main-rgmii2-default-pins {
553		pinctrl-single,pins = <
554			AM62PX_IOPAD(0x0184, PIN_INPUT, 0) /* (E19) RGMII2_RD0    */ /* SODIMM 201 */
555			AM62PX_IOPAD(0x0188, PIN_INPUT, 0) /* (E16) RGMII2_RD1    */ /* SODIMM 203 */
556			AM62PX_IOPAD(0x018c, PIN_INPUT, 0) /* (E17) RGMII2_RD2    */ /* SODIMM 205 */
557			AM62PX_IOPAD(0x0190, PIN_INPUT, 0) /* (C19) RGMII2_RD3    */ /* SODIMM 207 */
558			AM62PX_IOPAD(0x0180, PIN_INPUT, 0) /* (D19) RGMII2_RXC    */ /* SODIMM 197 */
559			AM62PX_IOPAD(0x017c, PIN_INPUT, 0) /* (F19) RGMII2_RX_CTL */ /* SODIMM 199 */
560			AM62PX_IOPAD(0x016c, PIN_INPUT, 0) /* (B19) RGMII2_TD0    */ /* SODIMM 221 */
561			AM62PX_IOPAD(0x0170, PIN_INPUT, 0) /* (A21) RGMII2_TD1    */ /* SODIMM 219 */
562			AM62PX_IOPAD(0x0174, PIN_INPUT, 0) /* (D17) RGMII2_TD2    */ /* SODIMM 217 */
563			AM62PX_IOPAD(0x0178, PIN_INPUT, 0) /* (A19) RGMII2_TD3    */ /* SODIMM 215 */
564			AM62PX_IOPAD(0x0168, PIN_INPUT, 0) /* (D16) RGMII2_TXC    */ /* SODIMM 213 */
565			AM62PX_IOPAD(0x0164, PIN_INPUT, 0) /* (A20) RGMII2_TX_CTL */ /* SODIMM 211 */
566		>;
567	};
568
569	/* TPM SPI, Optional Module Specific SPI */
570	pinctrl_main_spi0: main-spi0-default-pins {
571		pinctrl-single,pins = <
572			AM62PX_IOPAD(0x01bc, PIN_INPUT,  0) /* (B21) SPI0_CLK */ /* TPM_SPI_CLK  - SODIMM 148 */
573			AM62PX_IOPAD(0x01c0, PIN_OUTPUT, 0) /* (B20) SPI0_D0  */ /* TPM_SPI_MOSI - SODIMM 150 */
574			AM62PX_IOPAD(0x01c4, PIN_INPUT,  0) /* (C21) SPI0_D1  */ /* TPM_SPI_MISO - SODIMM 152 */
575			AM62PX_IOPAD(0x01b4, PIN_INPUT,  0) /* (D20) SPI0_CS0 */ /* TPM_SPI_CS */
576		>;
577	};
578
579	/* Verdin SPI_1 */
580	pinctrl_main_spi1: main-spi1-default-pins {
581		pinctrl-single,pins = <
582			AM62PX_IOPAD(0x0020, PIN_INPUT,  1) /* (N22) OSPI0_D5.SPI1_CLK */ /* SODIMM 196 */
583			AM62PX_IOPAD(0x0024, PIN_OUTPUT, 1) /* (P21) OSPI0_D6.SPI1_D0  */ /* SODIMM 200 */
584			AM62PX_IOPAD(0x0028, PIN_INPUT,  1) /* (N20) OSPI0_D7.SPI1_D1  */ /* SODIMM 198 */
585		>;
586	};
587
588	/* Verdin SPI_1_CS */
589	pinctrl_main_spi1_cs0: main-spi1-cs0-default-pins {
590		pinctrl-single,pins = <
591			AM62PX_IOPAD(0x001c, PIN_OUTPUT, 1) /* (N21) OSPI0_D4.SPI1_CS0 */ /* SODIMM 202 */
592		>;
593	};
594
595	/* Verdin I2S_1 MCLK */
596	pinctrl_i2s1_mclk: main-system-audio-ext-reflock0-default-pins {
597		pinctrl-single,pins = <
598			AM62PX_IOPAD(0x00c4, PIN_OUTPUT, 5) /* (Y23) VOUT0_DATA3.AUDIO_EXT_REFCLK0 */ /* SODIMM 38 */
599		>;
600	};
601
602	pinctrl_eth_clock: main-system-clkout0-default-pins {
603		pinctrl-single,pins = <
604			AM62PX_IOPAD(0x01f0, PIN_OUTPUT_PULLUP, 5) /* (C25) EXT_REFCLK1.CLKOUT0 */ /* ETH_25MHz_CLK */
605		>;
606	};
607
608	pinctrl_pmic_extint: main-system-extint-default-pins {
609		pinctrl-single,pins = <
610			AM62PX_IOPAD(0x01f4, PIN_INPUT, 0) /* (C23) EXTINTn */ /* PMIC_EXTINT# */
611		>;
612	};
613
614	/* Verdin UART_3, used as the Linux console */
615	pinctrl_uart0: main-uart0-default-pins {
616		pinctrl-single,pins = <
617			AM62PX_IOPAD(0x1c8, PIN_INPUT,  0) /* (A22) UART0_RXD */ /* SODIMM 147 */
618			AM62PX_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (B22) UART0_TXD */ /* SODIMM 149 */
619		>;
620	};
621
622	/* Verdin UART_1 */
623	pinctrl_uart1: main-uart1-default-pins {
624		pinctrl-single,pins = <
625			AM62PX_IOPAD(0x01ac, PIN_INPUT,  2) /* (G23) MCASP0_AFSR.UART1_RXD  */ /* SODIMM 129 */
626			AM62PX_IOPAD(0x01b0, PIN_OUTPUT, 2) /* (G20) MCASP0_ACLKR.UART1_TXD */ /* SODIMM 131 */
627			AM62PX_IOPAD(0x0194, PIN_INPUT,  2) /* (D25) MCASP0_AXR3.UART1_CTSn */ /* SODIMM 135 */
628			AM62PX_IOPAD(0x0198, PIN_OUTPUT, 2) /* (E25) MCASP0_AXR2.UART1_RTSn */ /* SODIMM 133 */
629		>;
630	};
631
632	/* Verdin MSP 41, 42, 44 and 45 as UART */
633	pinctrl_uart2: main-uart2-default-pins {
634		pinctrl-single,pins = <
635			AM62PX_IOPAD(0x00b8, PIN_INPUT,  4) /* (AE24) VOUT0_DATA0.UART2_RXD */ /* SODIMM 192 */
636			AM62PX_IOPAD(0x00bc, PIN_OUTPUT, 4) /* (W23) VOUT0_DATA1.UART2_TXD  */ /* SODIMM 190 */
637			AM62PX_IOPAD(0x0104, PIN_INPUT,  4) /* (Y21) VOUT0_PCLK.UART2_CTSn  */ /* SODIMM 184 */
638			AM62PX_IOPAD(0x0100, PIN_OUTPUT, 4) /* (W20) VOUT0_VSYNC.UART2_RTSn */ /* SODIMM 186 */
639		>;
640	};
641
642	/* Bluetooth on WB SKUs */
643	pinctrl_uart6: main-uart6-default-pins {
644		pinctrl-single,pins = <
645			AM62PX_IOPAD(0x00d8, PIN_INPUT,  4) /* (AE22) VOUT0_DATA8.UART6_RXD   */ /* WiFi_UART_RXD */
646			AM62PX_IOPAD(0x00dc, PIN_OUTPUT, 4) /* (AC22) VOUT0_DATA9.UART6_TXD   */ /* WiFi_UART_TXD */
647			AM62PX_IOPAD(0x00e4, PIN_INPUT,  4) /* (AE21) VOUT0_DATA11.UART6_CTSn */ /* WiFi_UART_CTS */
648			AM62PX_IOPAD(0x00e0, PIN_OUTPUT, 4) /* (W22)  VOUT0_DATA10.UART6_RTSn */ /* WiFi_UART_RTS */
649		>;
650	};
651
652	/* Verdin USB_2_EN */
653	pinctrl_usb1: main-usb1-default-pins {
654		pinctrl-single,pins = <
655			AM62PX_IOPAD(0x0258, PIN_OUTPUT, 0) /* (G21) USB1_DRVVBUS */ /* SODIMM 185 */
656		>;
657	};
658
659	/* Verdin I2S_1 */
660	pinctrl_mcasp0: mcasp0-default-pins {
661		pinctrl-single,pins = <
662			AM62PX_IOPAD(0x01a4, PIN_INPUT, 0) /* (F24) MCASP0_ACLKX */ /* SODIMM 30 */
663			AM62PX_IOPAD(0x01a8, PIN_INPUT, 0) /* (F25) MCASP0_AFSX  */ /* SODIMM 32 */
664			AM62PX_IOPAD(0x01a0, PIN_INPUT, 0) /* (F23) MCASP0_AXR0  */ /* SODIMM 34 */
665			AM62PX_IOPAD(0x019c, PIN_INPUT, 0) /* (E24) MCASP0_AXR1  */ /* SODIMM 36 */
666		>;
667	};
668
669	/* Verdin I2S_2 */
670	pinctrl_mcasp1: mcasp1-default-pins {
671		pinctrl-single,pins = <
672			AM62PX_IOPAD(0x0090, PIN_INPUT, 2) /* (U24)  GPMC0_BE0n_CLE.MCASP1_ACLKX */ /* SODIMM 42 */
673			AM62PX_IOPAD(0x0098, PIN_INPUT, 2) /* (AA24) GPMC0_WAIT0.MCASP1_AFSX     */ /* SODIMM 44 */
674			AM62PX_IOPAD(0x008c, PIN_INPUT, 2) /* (T25)  GPMC0_WEn.MCASP1_AXR0       */ /* SODIMM 46 */
675			AM62PX_IOPAD(0x0088, PIN_INPUT, 2) /* (R24)  GPMC0_OEn_REn.MCASP1_AXR1   */ /* SODIMM 48 */
676		>;
677	};
678
679	/* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */
680	pinctrl_mdio: mdio0-default-pins {
681		pinctrl-single,pins = <
682			AM62PX_IOPAD(0x0160, PIN_OUTPUT, 0) /* (F17) MDIO0_MDC  */ /* SODIMM 193 */
683			AM62PX_IOPAD(0x015c, PIN_INPUT,  0) /* (F16) MDIO0_MDIO */ /* SODIMM 191 */
684		>;
685	};
686};
687
688&mcu_pmx0 {
689	/* Verdin GPIO_1 */
690	pinctrl_gpio_1: mcu-gpio0-1-default-pins {
691		pinctrl-single,pins = <
692			AM62PX_MCU_IOPAD(0x0004, PIN_INPUT, 7) /* (E10) MCU_SPI0_CS1.MCU_GPIO0_1 */ /* SODIMM 206 */
693		>;
694	};
695
696	/* Verdin GPIO_2 */
697	pinctrl_gpio_2: mcu-gpio0-2-default-pins {
698		pinctrl-single,pins = <
699			AM62PX_MCU_IOPAD(0x0008, PIN_INPUT, 7) /* (C10) MCU_SPI0_CLK.MCU_GPIO0_2 */ /* SODIMM 208 */
700		>;
701	};
702
703	/* Verdin GPIO_3 */
704	pinctrl_gpio_3: mcu-gpio0-3-default-pins {
705		pinctrl-single,pins = <
706			AM62PX_MCU_IOPAD(0x000c, PIN_INPUT, 7) /* (B11) MCU_SPI0_D0.MCU_GPIO0_3 */ /* SODIMM 210 */
707		>;
708	};
709
710	/* Verdin GPIO_4 */
711	pinctrl_gpio_4: mcu-gpio0-4-default-pins {
712		pinctrl-single,pins = <
713			AM62PX_MCU_IOPAD(0x0010, PIN_INPUT, 7) /* (D10) MCU_SPI0_D1.MCU_GPIO0_4 */ /* SODIMM 212 */
714		>;
715	};
716
717	/* Verdin I2C_3_HDMI */
718	pinctrl_mcu_i2c0: mcu-i2c0-default-pins {
719		pinctrl-single,pins = <
720			AM62PX_MCU_IOPAD(0x0044, PIN_INPUT_PULLUP, 0) /* (E11) MCU_I2C0_SCL */ /* SODIMM 59 */
721			AM62PX_MCU_IOPAD(0x0048, PIN_INPUT_PULLUP, 0) /* (D11) MCU_I2C0_SDA */ /* SODIMM 57 */
722		>;
723	};
724
725	/* Verdin CAN_2 */
726	pinctrl_mcu_mcan0: mcu-mcan0-default-pins {
727		pinctrl-single,pins = <
728			AM62PX_MCU_IOPAD(0x0038, PIN_INPUT,  0) /* (D6) MCU_MCAN0_RX */ /* SODIMM 22 */
729			AM62PX_MCU_IOPAD(0x0034, PIN_OUTPUT, 0) /* (E8) MCU_MCAN0_TX */ /* SODIMM 20 */
730		>;
731	};
732
733	/* Verdin MSP_13/MSP_18 as CAN */
734	pinctrl_mcu_mcan1: mcu-mcan1-default-pins {
735		pinctrl-single,pins = <
736			AM62PX_MCU_IOPAD(0x0040, PIN_INPUT,  0) /* (E7) MCU_MCAN1_RX */ /* SODIMM 116 */
737			AM62PX_MCU_IOPAD(0x003c, PIN_OUTPUT, 0) /* (F8) MCU_MCAN1_TX */ /* SODIMM 128 */
738		>;
739	};
740
741	/* Verdin UART_4 */
742	pinctrl_mcu_uart0: mcu-uart0-default-pins {
743		pinctrl-single,pins = <
744			AM62PX_MCU_IOPAD(0x0014, PIN_INPUT,  0) /* (B6) MCU_UART0_RXD */ /* SODIMM 151 */
745			AM62PX_MCU_IOPAD(0x0018, PIN_OUTPUT, 0) /* (C8) MCU_UART0_TXD */ /* SODIMM 153 */
746		>;
747	};
748
749	/* On-module I2C - PMIC_I2C */
750	pinctrl_wkup_i2c0: wkup-i2c0-default-pins {
751		pinctrl-single,pins = <
752			AM62PX_MCU_IOPAD(0x004c, PIN_INPUT, 0) /* (A13) WKUP_I2C0_SCL */ /* PMIC_I2C_SCL */
753			AM62PX_MCU_IOPAD(0x0050, PIN_INPUT, 0) /* (C11) WKUP_I2C0_SDA */ /* PMIC_I2C_SDA */
754		>;
755	};
756
757	/* Verdin CSI_1_MCLK */
758	pinctrl_wkup_clkout0: wkup-system-clkout0-default-pins {
759		pinctrl-single,pins = <
760			AM62PX_MCU_IOPAD(0x0084, PIN_OUTPUT, 0) /* (F13) WKUP_CLKOUT0 */ /* SODIMM 91 */
761		>;
762	};
763
764	/* Verdin UART_2 */
765	pinctrl_wkup_uart0: wkup-uart0-default-pins {
766		pinctrl-single,pins = <
767			AM62PX_MCU_IOPAD(0x002c, PIN_INPUT,  0) /* (C7) WKUP_UART0_CTSn */ /* SODIMM 143 */
768			AM62PX_MCU_IOPAD(0x0030, PIN_OUTPUT, 0) /* (C6) WKUP_UART0_RTSn */ /* SODIMM 141 */
769			AM62PX_MCU_IOPAD(0x0024, PIN_INPUT,  0) /* (D8) WKUP_UART0_RXD  */ /* SODIMM 137 */
770			AM62PX_MCU_IOPAD(0x0028, PIN_OUTPUT, 0) /* (D7) WKUP_UART0_TXD  */ /* SODIMM 139 */
771		>;
772	};
773};
774
775/* Verdin I2S_1_MCLK */
776&audio_refclk0 {
777	assigned-clock-rates = <25000000>;
778};
779
780&cpsw3g {
781	pinctrl-names = "default";
782	pinctrl-0 = <&pinctrl_rgmii1>;
783	status = "disabled";
784};
785
786/* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */
787&cpsw3g_mdio {
788	pinctrl-names = "default";
789	pinctrl-0 = <&pinctrl_mdio>, <&pinctrl_eth_clock>;
790	assigned-clocks = <&k3_clks 157 36>;
791	assigned-clock-parents = <&k3_clks 157 38>;
792	assigned-clock-rates = <25000000>;
793	status = "disabled";
794
795	som_eth_phy: ethernet-phy@0 {
796		reg = <0>;
797		pinctrl-names = "default";
798		pinctrl-0 = <&pinctrl_eth_int>;
799		interrupt-parent = <&main_gpio0>;
800		interrupts = <36 IRQ_TYPE_EDGE_FALLING>;
801		ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
802		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
803		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
804	};
805};
806
807/* Verdin ETH_1 (On-module PHY) */
808&cpsw_port1 {
809	phy-handle = <&som_eth_phy>;
810	phy-mode = "rgmii-rxid";
811	status = "disabled";
812};
813
814/* Verdin ETH_2_RGMII */
815&cpsw_port2 {
816	status = "disabled";
817};
818
819/* Verdin PWM_3_DSI */
820&epwm0 {
821	pinctrl-names = "default";
822	pinctrl-0 = <&pinctrl_epwm0_b>;
823	status = "disabled";
824};
825
826/* Verdin PWM_1, PWM_2 */
827&epwm2 {
828	pinctrl-names = "default";
829	pinctrl-0 = <&pinctrl_epwm2_a>, <&pinctrl_epwm2_b>;
830	status = "disabled";
831};
832
833&mailbox0_cluster0 {
834	status = "okay";
835
836	mbox_r5_0: mbox-r5-0 {
837		ti,mbox-rx = <0 0 0>;
838		ti,mbox-tx = <1 0 0>;
839	};
840};
841
842&mailbox0_cluster1 {
843	status = "okay";
844
845	mbox_mcu_r5_0: mbox-mcu-r5-0 {
846		ti,mbox-rx = <0 0 0>;
847		ti,mbox-tx = <1 0 0>;
848	};
849};
850
851&main0_alert {
852	temperature = <95000>;
853};
854
855&main0_crit {
856	temperature = <105000>;
857};
858
859&main1_alert {
860	temperature = <95000>;
861};
862
863&main1_crit {
864	temperature = <105000>;
865};
866
867&main2_alert {
868	temperature = <95000>;
869};
870
871&main2_crit {
872	temperature = <105000>;
873};
874
875&main_gpio0 {
876	gpio-line-names =
877		"SODIMM_52",
878		"SODIMM_252",
879		"SODIMM_66",
880		"SODIMM_56",
881		"SODIMM_58",
882		"SODIMM_60",
883		"SODIMM_62",
884		"",
885		"",
886		"",
887		"", /* 10 */
888		"SODIMM_54",
889		"SODIMM_64",
890		"SODIMM_174",
891		"SODIMM_244",
892		"",
893		"",
894		"",
895		"",
896		"",
897		"", /* 20 */
898		"PMIC_SD_VSEL",
899		"",
900		"",
901		"",
902		"TPM_EXTINT#",
903		"",
904		"",
905		"",
906		"WiFi_WKUP_BT#",
907		"WiFi_WKUP_WLAN#", /* 30 */
908		"SODIMM_161",
909		"SODIMM_157",
910		"",
911		"",
912		"",
913		"ETH_INT#",
914		"",
915		"SODIMM_17",
916		"SODIMM_21",
917		"", /* 40 */
918		"SODIMM_187",
919		"SODIMM_189",
920		"",
921		"",
922		"",
923		"",
924		"SODIMM_76",
925		"",
926		"SODIMM_216",
927		"SODIMM_218", /* 50 */
928		"SODIMM_220",
929		"SODIMM_222",
930		"",
931		"",
932		"",
933		"",
934		"SODIMM_172",
935		"",
936		"WIFI_SD_INT",
937		"WIFI_SPI_CS#", /* 60 */
938		"",
939		"",
940		"",
941		"",
942		"",
943		"",
944		"",
945		"",
946		"",
947		"", /* 70 */
948		"",
949		"",
950		"",
951		"",
952		"",
953		"",
954		"",
955		"",
956		"",
957		"", /* 80 */
958		"",
959		"",
960		"",
961		"",
962		"",
963		"",
964		"",
965		"",
966		"",
967		"", /* 90 */
968		"";
969
970	verdin_pcie_1_reset_hog: pcie-1-reset-hog {
971		gpio-hog;
972		/* Verdin PCIE_1_RESET# (SODIMM 244) */
973		gpios = <14 GPIO_ACTIVE_LOW>;
974		line-name = "PCIE_1_RESET#";
975		output-low;
976		status = "disabled";
977	};
978};
979
980&main_gpio1 {
981	gpio-line-names =
982		"",
983		"",
984		"",
985		"",
986		"",
987		"",
988		"",
989		"",
990		"",
991		"",
992		"", /* 10 */
993		"",
994		"",
995		"",
996		"",
997		"",
998		"",
999		"",
1000		"",
1001		"",
1002		"", /* 20 */
1003		"",
1004		"",
1005		"",
1006		"",
1007		"",
1008		"",
1009		"",
1010		"",
1011		"",
1012		"", /* 30 */
1013		"",
1014		"",
1015		"",
1016		"",
1017		"",
1018		"",
1019		"",
1020		"",
1021		"",
1022		"", /* 40 */
1023		"",
1024		"",
1025		"",
1026		"",
1027		"",
1028		"",
1029		"",
1030		"SODIMM_84",
1031		"SODIMM_154",
1032		"SODIMM_155", /* 50 */
1033		"";
1034};
1035
1036/* Verdin I2C_1 */
1037&main_i2c0 {
1038	pinctrl-names = "default";
1039	pinctrl-0 = <&pinctrl_main_i2c0>;
1040	status = "disabled";
1041};
1042
1043/* Verdin I2C_2_DSI */
1044&main_i2c1 {
1045	pinctrl-names = "default";
1046	pinctrl-0 = <&pinctrl_main_i2c1>;
1047	status = "disabled";
1048};
1049
1050/* Verdin I2C_4_CSI */
1051&main_i2c3 {
1052	pinctrl-names = "default";
1053	pinctrl-0 = <&pinctrl_main_i2c3>;
1054	status = "disabled";
1055};
1056
1057/* Verdin CAN_1 */
1058&main_mcan0 {
1059	pinctrl-names = "default";
1060	pinctrl-0 = <&pinctrl_main_mcan0>;
1061	status = "disabled";
1062};
1063
1064/* TPM SPI, optional SPI on module specific pins */
1065&main_spi0 {
1066	pinctrl-names = "default";
1067	pinctrl-0 = <&pinctrl_main_spi0>;
1068	ti,pindir-d0-out-d1-in;
1069	status = "okay";
1070
1071	tpm@0 {
1072		compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
1073		reg = <0>;
1074		pinctrl-names = "default";
1075		pinctrl-0 = <&pinctrl_tpm_extint>;
1076		interrupt-parent = <&main_gpio0>;
1077		interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
1078		spi-max-frequency = <18500000>;
1079	};
1080};
1081
1082/* Verdin SPI_1 */
1083&main_spi1 {
1084	pinctrl-names = "default";
1085	pinctrl-0 = <&pinctrl_main_spi1>, <&pinctrl_main_spi1_cs0>;
1086	ti,pindir-d0-out-d1-in;
1087	status = "disabled";
1088};
1089
1090/* Verdin UART_3, used as the Linux console */
1091&main_uart0 {
1092	pinctrl-names = "default";
1093	pinctrl-0 = <&pinctrl_uart0>;
1094	status = "disabled";
1095};
1096
1097/* Verdin UART_1 */
1098&main_uart1 {
1099	pinctrl-names = "default";
1100	pinctrl-0 = <&pinctrl_uart1>;
1101	uart-has-rtscts;
1102	status = "disabled";
1103};
1104
1105/* Verdin I2S_1 */
1106&mcasp0 {
1107	pinctrl-names = "default";
1108	pinctrl-0 = <&pinctrl_mcasp0>;
1109	op-mode = <0>; /* I2S mode */
1110	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
1111	       1 2 0 0
1112	       0 0 0 0
1113	       0 0 0 0
1114	       0 0 0 0
1115	>;
1116	tdm-slots = <2>;
1117	rx-num-evt = <0>;
1118	tx-num-evt = <0>;
1119	#sound-dai-cells = <0>;
1120	status = "disabled";
1121};
1122
1123/* Verdin I2S_2 */
1124&mcasp1 {
1125	pinctrl-names = "default";
1126	pinctrl-0 = <&pinctrl_mcasp1>;
1127	op-mode = <0>; /* I2S mode */
1128	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
1129	       1 2 0 0
1130	       0 0 0 0
1131	       0 0 0 0
1132	       0 0 0 0
1133	>;
1134	tdm-slots = <2>;
1135	rx-num-evt = <0>;
1136	tx-num-evt = <0>;
1137	#sound-dai-cells = <0>;
1138	status = "disabled";
1139};
1140
1141&mcu_gpio0 {
1142	gpio-line-names =
1143		"",
1144		"SODIMM_206",
1145		"SODIMM_208",
1146		"SODIMM_210",
1147		"SODIMM_212",
1148		"",
1149		"",
1150		"",
1151		"",
1152		"",
1153		"", /* 10 */
1154		"",
1155		"",
1156		"",
1157		"",
1158		"",
1159		"",
1160		"",
1161		"",
1162		"",
1163		"", /* 20 */
1164		"",
1165		"",
1166		"";
1167};
1168
1169/* Verdin I2C_3_HDMI */
1170&mcu_i2c0 {
1171	pinctrl-names = "default";
1172	pinctrl-0 = <&pinctrl_mcu_i2c0>;
1173	status = "disabled";
1174};
1175
1176/* Verdin CAN_2 */
1177&mcu_mcan0 {
1178	pinctrl-names = "default";
1179	pinctrl-0 = <&pinctrl_mcu_mcan0>;
1180	status = "disabled";
1181};
1182
1183/* Verdin UART_4 */
1184&mcu_uart0 {
1185	pinctrl-names = "default";
1186	pinctrl-0 = <&pinctrl_mcu_uart0>;
1187	status = "disabled";
1188};
1189
1190/* Verdin QSPI_1 */
1191&ospi0 {
1192	pinctrl-names = "default";
1193	pinctrl-0 = <&pinctrl_ospi0>;
1194	status = "disabled";
1195};
1196
1197/* On-module eMMC */
1198&sdhci0 {
1199	no-mmc-hs400;
1200	non-removable;
1201	ti,driver-strength-ohm = <50>;
1202	status = "okay";
1203};
1204
1205/* Verdin SD_1 */
1206&sdhci1 {
1207	pinctrl-names = "default";
1208	pinctrl-0 = <&pinctrl_sdhci1>, <&pinctrl_sd1_cd>;
1209	cd-gpios = <&main_gpio1 48 GPIO_ACTIVE_LOW>;
1210	disable-wp;
1211	vmmc-supply = <&reg_sd1_vmmc>;
1212	vqmmc-supply = <&reg_sd1_vqmmc>;
1213	ti,fails-without-test-cd;
1214	status = "disabled";
1215};
1216
1217/* Verdin USB_1 */
1218&usbss0 {
1219	ti,vbus-divider;
1220	status = "disabled";
1221};
1222
1223&usb0 {
1224	adp-disable;
1225	usb-role-switch;
1226	status = "disabled";
1227
1228	port {
1229		usb0_ep: endpoint {
1230			remote-endpoint = <&usb_dr_connector>;
1231		};
1232	};
1233};
1234
1235/* Verdin USB_2 */
1236&usbss1 {
1237	ti,vbus-divider;
1238	status = "disabled";
1239};
1240
1241&usb1 {
1242	pinctrl-names = "default";
1243	pinctrl-0 = <&pinctrl_usb1>;
1244	dr_mode = "host";
1245	status = "disabled";
1246};
1247
1248/* On-module I2C - PMIC_I2C */
1249&wkup_i2c0 {
1250	pinctrl-names = "default";
1251	pinctrl-0 = <&pinctrl_wkup_i2c0>;
1252	clock-frequency = <400000>;
1253	status = "okay";
1254
1255	som_gpio_expander: gpio@21 {
1256		compatible = "nxp,pcal6408";
1257		reg = <0x21>;
1258		#gpio-cells = <2>;
1259		gpio-controller;
1260		gpio-line-names = "SODIMM_256";
1261	};
1262
1263	pmic@30 {
1264		compatible = "ti,tps65219";
1265		reg = <0x30>;
1266		pinctrl-names = "default";
1267		pinctrl-0 = <&pinctrl_pmic_extint>;
1268		interrupt-parent = <&gic500>;
1269		interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
1270
1271		buck1-supply = <&reg_vsodimm>;
1272		buck2-supply = <&reg_vsodimm>;
1273		buck3-supply = <&reg_vsodimm>;
1274		ldo1-supply = <&reg_3v3>;
1275		ldo2-supply = <&reg_1v8>;
1276		ldo3-supply = <&reg_3v3>;
1277		ldo4-supply = <&reg_3v3>;
1278		system-power-controller;
1279		ti,power-button;
1280
1281		regulators {
1282			reg_3v3: buck1 {
1283				regulator-always-on;
1284				regulator-boot-on;
1285				regulator-max-microvolt = <3300000>;
1286				regulator-min-microvolt = <3300000>;
1287				regulator-name = "+V3.3 (PMIC BUCK1)";
1288			};
1289
1290			reg_1v8: buck2 {
1291				regulator-always-on;
1292				regulator-boot-on;
1293				regulator-max-microvolt = <1800000>;
1294				regulator-min-microvolt = <1800000>;
1295				regulator-name = "+V1.8 (PMIC BUCK2)"; /* On-module and SODIMM 214 */
1296			};
1297
1298			buck3 {
1299				regulator-always-on;
1300				regulator-boot-on;
1301				regulator-max-microvolt = <1100000>;
1302				regulator-min-microvolt = <1100000>;
1303				regulator-name = "+VDD_DDR (PMIC BUCK3)";
1304			};
1305
1306			reg_sd_3v3_1v8: ldo1 {
1307				regulator-allow-bypass;
1308				regulator-always-on;
1309				regulator-boot-on;
1310				regulator-max-microvolt = <3300000>;
1311				regulator-min-microvolt = <3300000>;
1312				regulator-name = "+V3.3_1.8_SD (PMIC LDO1)";
1313			};
1314
1315			ldo2 {
1316				regulator-always-on;
1317				regulator-boot-on;
1318				regulator-max-microvolt = <850000>;
1319				regulator-min-microvolt = <850000>;
1320				regulator-name = "+V_PMIC_LDO2 (PMIC LDO4)"; // +VDDR_CORE
1321			};
1322
1323			ldo3 {
1324				regulator-always-on;
1325				regulator-boot-on;
1326				regulator-max-microvolt = <1800000>;
1327				regulator-min-microvolt = <1800000>;
1328				regulator-name = "+V1.8A (PMIC LDO3)";
1329			};
1330
1331			ldo4 {
1332				regulator-always-on;
1333				regulator-boot-on;
1334				regulator-max-microvolt = <2500000>;
1335				regulator-min-microvolt = <2500000>;
1336				regulator-name = "+V2.5_ETH (PMIC LDO4)";
1337			};
1338		};
1339	};
1340
1341	som_rtc_i2c: rtc@32 {
1342		compatible = "epson,rx8130";
1343		reg = <0x32>;
1344	};
1345
1346	temperature-sensor@48 {
1347		compatible = "ti,tmp1075";
1348		reg = <0x48>;
1349	};
1350
1351	som_adc: adc@49 {
1352		compatible = "ti,tla2024";
1353		reg = <0x49>;
1354		#address-cells = <1>;
1355		#size-cells = <0>;
1356		#io-channel-cells = <1>;
1357
1358		/* Verdin (ADC_4 - ADC_3) */
1359		channel@0 {
1360			reg = <0>;
1361			ti,datarate = <4>;
1362			ti,gain = <2>;
1363		};
1364
1365		/* Verdin (ADC_4 - ADC_1) */
1366		channel@1 {
1367			reg = <1>;
1368			ti,datarate = <4>;
1369			ti,gain = <2>;
1370		};
1371
1372		/* Verdin (ADC_3 - ADC_1) */
1373		channel@2 {
1374			reg = <2>;
1375			ti,datarate = <4>;
1376			ti,gain = <2>;
1377		};
1378
1379		/* Verdin (ADC_2 - ADC_1) */
1380		channel@3 {
1381			reg = <3>;
1382			ti,datarate = <4>;
1383			ti,gain = <2>;
1384		};
1385
1386		/* Verdin ADC_4 */
1387		channel@4 {
1388			reg = <4>;
1389			ti,datarate = <4>;
1390			ti,gain = <2>;
1391		};
1392
1393		/* Verdin ADC_3 */
1394		channel@5 {
1395			reg = <5>;
1396			ti,datarate = <4>;
1397			ti,gain = <2>;
1398		};
1399
1400		/* Verdin ADC_2 */
1401		channel@6 {
1402			reg = <6>;
1403			ti,datarate = <4>;
1404			ti,gain = <2>;
1405		};
1406
1407		/* Verdin ADC_1 */
1408		channel@7 {
1409			reg = <7>;
1410			ti,datarate = <4>;
1411			ti,gain = <2>;
1412		};
1413	};
1414
1415	som_eeprom: eeprom@50 {
1416		compatible = "st,24c02", "atmel,24c02";
1417		reg = <0x50>;
1418		pagesize = <16>;
1419	};
1420};
1421
1422/* Verdin UART_2 */
1423&wkup_uart0 {
1424	pinctrl-names = "default";
1425	pinctrl-0 = <&pinctrl_wkup_uart0>;
1426	uart-has-rtscts;
1427	status = "disabled";
1428};
1429