xref: /linux/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi (revision 7f71507851fc7764b36a3221839607d3a45c2025)
1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2/*
3 * Copyright 2023 Toradex
4 *
5 * Common dtsi for Verdin AM62 SoM
6 *
7 * https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62
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	chosen {
18		stdout-path = "serial2:115200n8";
19	};
20
21	aliases {
22		can0 = &main_mcan0;
23		can1 = &mcu_mcan0;
24		ethernet0 = &cpsw_port1;
25		ethernet1 = &cpsw_port2;
26		i2c0 = &main_i2c0;
27		i2c1 = &main_i2c1;
28		i2c2 = &main_i2c2;
29		i2c3 = &mcu_i2c0;
30		i2c4 = &main_i2c3;
31		mmc0 = &sdhci0;
32		mmc1 = &sdhci1;
33		mmc2 = &sdhci2;
34		rtc0 = &rtc_i2c;
35		rtc1 = &wkup_rtc0;
36		serial0 = &main_uart1;
37		serial1 = &wkup_uart0;
38		serial2 = &main_uart0;
39		serial3 = &mcu_uart0;
40		serial4 = &main_uart5;
41		usb0 = &usb0;
42		usb1 = &usb1;
43	};
44
45	connector {
46		compatible = "gpio-usb-b-connector", "usb-b-connector";
47		pinctrl-names = "default";
48		pinctrl-0 = <&pinctrl_usb0_id>;
49		id-gpios = <&main_gpio1 19 GPIO_ACTIVE_HIGH>;
50		label = "USB_1";
51		self-powered;
52		vbus-supply = <&reg_usb0_vbus>;
53
54		port {
55			usb_dr_connector: endpoint {
56				remote-endpoint = <&usb0_ep>;
57			};
58		};
59	};
60
61	verdin_gpio_keys: gpio-keys {
62		compatible = "gpio-keys";
63		pinctrl-names = "default";
64		pinctrl-0 = <&pinctrl_ctrl_wake1_mico>;
65		status = "disabled";
66
67		verdin_key_wakeup: key-wakeup {
68			debounce-interval = <10>;
69			/* Verdin CTRL_WAKE1_MICO# (SODIMM 252) */
70			gpios = <&main_gpio0 32 GPIO_ACTIVE_LOW>;
71			label = "Wake-Up";
72			linux,code = <KEY_WAKEUP>;
73			wakeup-source;
74		};
75	};
76
77	memory@80000000 {
78		device_type = "memory";
79		reg = <0x00000000 0x80000000 0x00000000 0x80000000>; /* 2G RAM */
80	};
81
82	opp-table {
83		/* Add 1.4GHz OPP. Requires VDD_CORE to be at 0.85V */
84		opp-1400000000 {
85			opp-hz = /bits/ 64 <1400000000>;
86			opp-supported-hw = <0x01 0x0004>;
87			clock-latency-ns = <6000000>;
88		};
89	};
90
91	/* Module Power Supply */
92	reg_vsodimm: regulator-vsodimm {
93		compatible = "regulator-fixed";
94		regulator-name = "+V_SODIMM";
95	};
96
97	/* Non PMIC On-module Supplies */
98	reg_3v3: regulator-3v3 {
99		compatible = "regulator-fixed";
100		regulator-max-microvolt = <3300000>;
101		regulator-min-microvolt = <3300000>;
102		regulator-name = "On-module +V3.3";
103		vin-supply = <&reg_vsodimm>;
104	};
105
106	reg_1v2_dsi: regulator-1v2-dsi {
107		compatible = "regulator-fixed";
108		regulator-max-microvolt = <1200000>;
109		regulator-min-microvolt = <1200000>;
110		regulator-name = "On-module +V1.2_DSI";
111		vin-supply = <&reg_1v8>;
112	};
113
114	/* Enabled by +V1.2_DSI */
115	reg_1v8_dsi: regulator-1v8-dsi {
116		compatible = "regulator-fixed";
117		regulator-max-microvolt = <1800000>;
118		regulator-min-microvolt = <1800000>;
119		regulator-name = "On-module +V1.8_DSI";
120		vin-supply = <&reg_1v8>;
121	};
122
123	/* Enabled by +V2.5_ETH */
124	reg_1v0_eth: regulator-1v0-eth {
125		compatible = "regulator-fixed";
126		regulator-max-microvolt = <1000000>;
127		regulator-min-microvolt = <1000000>;
128		regulator-name = "On-module +V1.0_ETH";
129		vin-supply = <&reg_1v8>;
130	};
131
132	/* Enabled by +V2.5_ETH */
133	reg_1v8_eth: regulator-1v8-eth {
134		compatible = "regulator-fixed";
135		regulator-max-microvolt = <1800000>;
136		regulator-min-microvolt = <1800000>;
137		regulator-name = "On-module +V1.8_ETH";
138		vin-supply = <&reg_1v8>;
139	};
140
141	reg_force_sleep_moci: regulator-force-sleep-moci {
142		compatible = "regulator-fixed";
143		enable-active-high;
144		/* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */
145		gpio = <&main_gpio0 31 GPIO_ACTIVE_HIGH>;
146		regulator-always-on;
147		regulator-boot-on;
148		regulator-name = "CTRL_SLEEP_MOCI#";
149	};
150
151	/* Verdin SD_1 Power Supply */
152	reg_sdhc1_vmmc: regulator-sdhci1 {
153		compatible = "regulator-fixed";
154		pinctrl-names = "default";
155		pinctrl-0 = <&pinctrl_sd1_pwr_en>;
156		enable-active-high;
157		/* Verdin SD_1_PWR_EN (SODIMM 76) */
158		gpio = <&main_gpio0 29 GPIO_ACTIVE_HIGH>;
159		off-on-delay-us = <100000>;
160		regulator-max-microvolt = <3300000>;
161		regulator-min-microvolt = <3300000>;
162		regulator-name = "+V3.3_SD";
163		startup-delay-us = <20000>;
164	};
165
166	reg_sdhc1_vqmmc: regulator-sdhci1-vqmmc {
167		compatible = "regulator-gpio";
168		pinctrl-names = "default";
169		pinctrl-0 = <&pinctrl_vsel_sd>;
170		/* PMIC_VSEL_SD */
171		gpios = <&main_gpio0 21 GPIO_ACTIVE_HIGH>;
172		regulator-name = "LDO1-VSEL-SD (PMIC)";
173		regulator-min-microvolt = <1800000>;
174		regulator-max-microvolt = <3300000>;
175		states = <1800000 0x0>,
176			 <3300000 0x1>;
177		vin-supply = <&reg_sd_3v3_1v8>;
178	};
179
180	reg_usb0_vbus: regulator-usb0-vbus {
181		compatible = "regulator-fixed";
182		pinctrl-names = "default";
183		pinctrl-0 = <&pinctrl_usb0_en>;
184		enable-active-high;
185		/* Verdin USB_1_EN (SODIMM 155) */
186		gpio = <&main_gpio1 50 GPIO_ACTIVE_HIGH>;
187		regulator-max-microvolt = <5000000>;
188		regulator-min-microvolt = <5000000>;
189		regulator-name = "USB_1_EN";
190	};
191
192	reserved-memory {
193		#address-cells = <2>;
194		#size-cells = <2>;
195		ranges;
196
197		secure_tfa_ddr: tfa@9e780000 {
198			reg = <0x00 0x9e780000 0x00 0x80000>;
199			alignment = <0x1000>;
200			no-map;
201		};
202
203		secure_ddr: optee@9e800000 {
204			reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
205			alignment = <0x1000>;
206			no-map;
207		};
208
209		wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9db00000 {
210			compatible = "shared-dma-pool";
211			reg = <0x00 0x9db00000 0x00 0xc00000>;
212			no-map;
213		};
214	};
215};
216
217&main_pmx0 {
218	/* Verdin PWM_1 */
219	pinctrl_epwm0_a: main-epwm0a-default-pins {
220		pinctrl-single,pins = <
221			AM62X_IOPAD(0x01b4, PIN_OUTPUT, 2) /* (A13) SPI0_CS0.EHRPWM0_A */ /* SODIMM 15 */
222		>;
223	};
224
225	/* Verdin PWM_2 */
226	pinctrl_epwm0_b: main-epwm0b-default-pins {
227		pinctrl-single,pins = <
228			AM62X_IOPAD(0x01b8, PIN_OUTPUT, 2) /* (C13) SPI0_CS1.EHRPWM0_B */ /* SODIMM 16 */
229		>;
230	};
231
232	/* Verdin PWM_3_DSI */
233	pinctrl_epwm1_a: main-epwm1a-default-pins {
234		pinctrl-single,pins = <
235			AM62X_IOPAD(0x01bc, PIN_OUTPUT, 2) /* (A14) SPI0_CLK.EHRPWM1_A */ /* SODIMM 19 */
236		>;
237	};
238
239	/* Verdin QSPI_1_CLK as GPIO (conflict with Verdin QSPI_1 interface) */
240	pinctrl_qspi1_clk_gpio: main-gpio0-0-default-pins {
241		pinctrl-single,pins = <
242			AM62X_IOPAD(0x0000, PIN_INPUT, 7) /* (H24) OSPI0_CLK.GPIO0_0 */ /* SODIMM 52 */
243		>;
244	};
245
246	/* Verdin QSPI_1_IO0 as GPIO (conflict with Verdin QSPI_1 interface) */
247	pinctrl_qspi1_io0_gpio: main-gpio0-3-default-pins {
248		pinctrl-single,pins = <
249			AM62X_IOPAD(0x000c, PIN_INPUT, 7) /* (E25) OSPI0_D0.GPIO0_3 */ /* SODIMM 56 */
250		>;
251	};
252
253	/* Verdin QSPI_1_IO1 as GPIO (conflict with Verdin QSPI_1 interface) */
254	pinctrl_qspi1_io1_gpio: main-gpio0-4-default-pins {
255		pinctrl-single,pins = <
256			AM62X_IOPAD(0x0010, PIN_INPUT, 7) /* (G24) OSPI0_D1.GPIO0_4 */ /* SODIMM 58 */
257		>;
258	};
259
260	/* Verdin QSPI_1_IO2 as GPIO (conflict with Verdin QSPI_1 interface) */
261	pinctrl_qspi1_io2_gpio: main-gpio0-5-default-pins {
262		pinctrl-single,pins = <
263			AM62X_IOPAD(0x0014, PIN_INPUT, 7) /* (F25) OSPI0_D2.GPIO0_5 */ /* SODIMM 60 */
264		>;
265	};
266
267	/* Verdin QSPI_1_IO3 as GPIO (conflict with Verdin QSPI_1 interface) */
268	pinctrl_qspi1_io3_gpio: main-gpio0-6-default-pins {
269		pinctrl-single,pins = <
270			AM62X_IOPAD(0x0018, PIN_INPUT, 7) /* (F24) OSPI0_D3.GPIO0_6 */ /* SODIMM 62 */
271		>;
272	};
273
274	/* Verdin SPI_1 CS as GPIO */
275	pinctrl_qspi1_io4_gpio: main-gpio0-7-default-pins {
276		pinctrl-single,pins = <
277			AM62X_IOPAD(0x001c, PIN_INPUT, 7) /* (J23) OSPI0_D4.GPIO0_7 */ /* SODIMM 202 */
278		>;
279	};
280
281	/* Verdin QSPI_1_CS# as GPIO (conflict with Verdin QSPI_1 interface) */
282	pinctrl_qspi1_cs_gpio: main-gpio0-11-default-pins {
283		pinctrl-single,pins = <
284			AM62X_IOPAD(0x002c, PIN_INPUT, 7) /* (F23) OSPI0_CSn0.GPIO0_11 */ /* SODIMM 54 */
285		>;
286	};
287
288	/* Verdin QSPI_1_CS2# as GPIO (conflict with Verdin QSPI_1 interface) */
289	pinctrl_qspi1_cs2_gpio: main-gpio0-12-default-pins {
290		pinctrl-single,pins = <
291			AM62X_IOPAD(0x0030, PIN_INPUT, 7) /* (G21) OSPI0_CSn1.GPIO0_12 */ /* SODIMM 64 */
292		>;
293	};
294
295	/* WiFi_W_WKUP_HOST# */
296	pinctrl_wifi_w_wkup_host: main-gpio0-15-default-pins {
297		pinctrl-single,pins = <
298			AM62X_IOPAD(0x003c, PIN_INPUT, 7) /* (M25) GPMC0_AD0.GPIO0_15 */ /* SODIMM 174 */
299		>;
300	};
301
302	/* WiFi_BT_WKUP_HOST# */
303	pinctrl_bt_wkup_host: main-gpio0-16-default-pins {
304		pinctrl-single,pins = <
305			AM62X_IOPAD(0x0040, PIN_INPUT, 7) /* (N23) GPMC0_AD1.GPIO0_16 */ /* SODIMM 172 */
306		>;
307	};
308
309	/* PMIC_ETH_RESET# */
310	pinctrl_eth_reset: main-gpio0-17-default-pins {
311		pinctrl-single,pins = <
312			AM62X_IOPAD(0x0044, PIN_INPUT, 7) /* (N24) GPMC0_AD2.GPIO0_17 */
313		>;
314	};
315
316	/* PMIC_BRIDGE_RESET# */
317	pinctrl_bridge_reset: main-gpio0-20-default-pins {
318		pinctrl-single,pins = <
319			AM62X_IOPAD(0x0050, PIN_INPUT, 7) /* (P22) GPMC0_AD5.GPIO0_20 */
320		>;
321	};
322
323	/* PMIC_VSEL_SD */
324	pinctrl_vsel_sd: main-gpio0-21-default-pins {
325		pinctrl-single,pins = <
326			AM62X_IOPAD(0x0054, PIN_INPUT, 7) /* (P21) GPMC0_AD6.GPIO0_21 */
327		>;
328	};
329
330	/* PMIC_EN_WIFI */
331	pinctrl_wifi_en: main-gpio0-22-default-pins {
332		pinctrl-single,pins = <
333			AM62X_IOPAD(0x0058, PIN_INPUT, 7) /* (R23) GPMC0_AD7.GPIO0_22 */
334		>;
335	};
336
337	/* PMIC_ETH_INT# */
338	pinctrl_eth_int: main-gpio0-25-default-pins {
339		pinctrl-single,pins = <
340			AM62X_IOPAD(0x0064, PIN_INPUT_PULLUP, 7) /* (T25) GPMC0_AD10.GPIO0_25 */
341		>;
342	};
343
344	/* WiFi_WKUP_BT# */
345	pinctrl_wifi_wkup_bt: main-gpio0-26-default-pins {
346		pinctrl-single,pins = <
347			AM62X_IOPAD(0x0068, PIN_INPUT, 7) /* (R21) GPMC0_AD11.GPIO0_26 */
348		>;
349	};
350
351	/* WiFi_WKUP_WLAN# */
352	pinctrl_wifi_wkup_wlan: main-gpio0-27-default-pins {
353		pinctrl-single,pins = <
354			AM62X_IOPAD(0x006c, PIN_INPUT, 7) /* (T22) GPMC0_AD12.GPIO0_27 */
355		>;
356	};
357
358	/* Verdin SD_1_PWR_EN */
359	pinctrl_sd1_pwr_en: main-gpio0-29-default-pins {
360		pinctrl-single,pins = <
361			AM62X_IOPAD(0x0074, PIN_INPUT, 7) /* (U25) GPMC0_AD14.GPIO0_29 */ /* SODIMM 76 */
362		>;
363	};
364
365	/* Verdin DSI_1_BKL_EN */
366	pinctrl_dsi1_bkl_en: main-gpio0-30-default-pins {
367		pinctrl-single,pins = <
368			AM62X_IOPAD(0x0078, PIN_INPUT, 7) /* (U24) GPMC0_AD15.GPIO0_30 */ /* SODIMM 21 */
369		>;
370	};
371
372	/* Verdin CTRL_SLEEP_MOCI# */
373	pinctrl_ctrl_sleep_moci: main-gpio0-31-default-pins {
374		pinctrl-single,pins = <
375			AM62X_IOPAD(0x007c, PIN_INPUT, 7) /* (P25) GPMC0_CLK.GPIO0_31 */ /* SODIMM 256 */
376		>;
377	};
378
379	/* Verdin CTRL_WAKE1_MICO# */
380	pinctrl_ctrl_wake1_mico: main-gpio0-32-default-pins {
381		pinctrl-single,pins = <
382			AM62X_IOPAD(0x0084, PIN_INPUT_PULLUP, 7) /* (L23) GPMC0_ADVn_ALE.GPIO0_32 */ /* SODIMM 252 */
383		>;
384	};
385
386	/* Verdin I2S_2_D_OUT as GPIO (conflict with Verdin I2S_2 interface) */
387	pinctrl_i2s_2_d_out_gpio: main-gpio0-34-default-pins {
388		pinctrl-single,pins = <
389			AM62X_IOPAD(0x008c, PIN_INPUT, 7) /* (L25) GPMC0_WEn.GPIO0_34 */ /* SODIMM 46 */
390		>;
391	};
392
393	/* Verdin I2S_2_BCLK as GPIO (conflict with Verdin I2S_2 interface) */
394	pinctrl_i2s_2_bclk_gpio: main-gpio0-35-default-pins {
395		pinctrl-single,pins = <
396			AM62X_IOPAD(0x0090, PIN_INPUT, 7) /* (M24) GPMC0_BE0n_CLE.GPIO0_35 */ /* SODIMM 42 */
397		>;
398	};
399
400	/* Verdin GPIO_6 */
401	pinctrl_gpio_6: main-gpio0-36-default-pins {
402		pinctrl-single,pins = <
403			AM62X_IOPAD(0x0094, PIN_INPUT, 7) /* (N20) GPMC0_BE1n.GPIO0_36 */ /* SODIMM 218 */
404		>;
405	};
406
407	/* Verdin ETH_2_RGMII_INT# */
408	pinctrl_eth2_rgmii_int: main-gpio0-38-default-pins {
409		pinctrl-single,pins = <
410			AM62X_IOPAD(0x009c, PIN_INPUT, 7) /* (V25) GPMC0_WAIT1.GPIO0_38 */ /* SODIMM 189 */
411		>;
412	};
413
414	/* Verdin GPIO_5 */
415	pinctrl_gpio_5: main-gpio0-40-default-pins {
416		pinctrl-single,pins = <
417			AM62X_IOPAD(0x00a4, PIN_INPUT, 7) /* (M22) GPMC0_DIR.GPIO0_40 */ /* SODIMM 216 */
418		>;
419	};
420
421	/* Verdin GPIO_7 */
422	pinctrl_gpio_7: main-gpio0-41-default-pins {
423		pinctrl-single,pins = <
424			AM62X_IOPAD(0x00a8, PIN_INPUT, 7) /* (M21) GPMC0_CSn0.GPIO0_41 */ /* SODIMM 220 */
425		>;
426	};
427
428	/* Verdin GPIO_8 */
429	pinctrl_gpio_8: main-gpio0-42-default-pins {
430		pinctrl-single,pins = <
431			AM62X_IOPAD(0x00ac, PIN_INPUT, 7) /* (L21) GPMC0_CSn1.GPIO0_42 */ /* SODIMM 222 */
432		>;
433	};
434
435	/* Verdin USB_1_OC# */
436	pinctrl_usb1_oc: main-gpio0-71-default-pins {
437		pinctrl-single,pins = <
438			AM62X_IOPAD(0x0124, PIN_INPUT, 7) /* (A23) MMC2_SDCD.GPIO0_71 */ /* SODIMM 157 */
439		>;
440	};
441
442	/* Verdin USB_2_OC# */
443	pinctrl_usb2_oc: main-gpio0-72-default-pins {
444		pinctrl-single,pins = <
445			AM62X_IOPAD(0x0128, PIN_INPUT, 7) /* (B23) MMC2_SDWP.GPIO0_72 */ /* SODIMM 187 */
446		>;
447	};
448
449	/* Verdin PWM_3_DSI as GPIO */
450	pinctrl_pwm3_dsi_gpio: main-gpio1-17-default-pins {
451		pinctrl-single,pins = <
452			AM62X_IOPAD(0x01bc, PIN_INPUT, 7) /* (A14) SPI0_CLK.GPIO1_17 */ /* SODIMM 19 */
453		>;
454	};
455
456	/* Verdin QSPI_1_DQS as GPIO */
457	pinctrl_qspi1_dqs_gpio: main-gpio1-18-default-pins {
458		pinctrl-single,pins = <
459			AM62X_IOPAD(0x01c0, PIN_INPUT, 7) /* (B13) SPI0_D0.GPIO1_18 */ /* SODIMM 66 */
460		>;
461	};
462
463	/* Verdin USB_1_ID */
464	pinctrl_usb0_id: main-gpio1-19-default-pins {
465		pinctrl-single,pins = <
466			AM62X_IOPAD(0x01c4, PIN_INPUT, 7) /* (B14) SPI0_D1.GPIO1_19 */ /* SODIMM 161 */
467		>;
468	};
469
470	/* Verdin SD_1_CD# as GPIO */
471	pinctrl_sd1_cd_gpio: main-gpio1-48-default-pins {
472		pinctrl-single,pins = <
473			AM62X_IOPAD(0x240, PIN_INPUT_PULLUP, 7) /* (D17) MMC1_SDCD.GPIO1_48 */ /* SODIMM 84 */
474		>;
475	};
476
477	/* Verdin DSI_1_INT# (pulled-up as active-low) */
478	pinctrl_dsi1_int: main-gpio1-49-default-pins {
479		pinctrl-single,pins = <
480			AM62X_IOPAD(0x0244, PIN_INPUT_PULLUP, 7) /* (C17) MMC1_SDWP.GPIO1_49 */ /* SODIMM 17 */
481		>;
482	};
483
484	/* Verdin USB_1_EN */
485	pinctrl_usb0_en: main-gpio1-50-default-pins {
486		pinctrl-single,pins = <
487			AM62X_IOPAD(0x0254, PIN_INPUT, 7) /* (C20) USB0_DRVVBUS.GPIO1_50 */ /* SODIMM 155 */
488		>;
489	};
490
491	/* On-module I2C - PMIC_I2C */
492	pinctrl_i2c0: main-i2c0-default-pins {
493		pinctrl-single,pins = <
494			AM62X_IOPAD(0x01e0, PIN_INPUT, 0) /* (B16) I2C0_SCL */ /* PMIC_I2C_SCL */
495			AM62X_IOPAD(0x01e4, PIN_INPUT, 0) /* (A16) I2C0_SDA */ /* PMIC_I2C_SDA */
496		>;
497	};
498
499	/* Verdin I2C_1 */
500	pinctrl_i2c1: main-i2c1-default-pins {
501		pinctrl-single,pins = <
502			AM62X_IOPAD(0x01e8, PIN_INPUT_PULLUP, 0) /* (B17) I2C1_SCL */ /* SODIMM 14 */
503			AM62X_IOPAD(0x01ec, PIN_INPUT_PULLUP, 0) /* (A17) I2C1_SDA */ /* SODIMM 12 */
504		>;
505	};
506
507	/* Verdin I2C_2_DSI */
508	pinctrl_i2c2: main-i2c2-default-pins {
509		pinctrl-single,pins = <
510			AM62X_IOPAD(0x00b0, PIN_INPUT, 1) /* (K22) GPMC0_CSn2.I2C2_SCL */ /* SODIMM 55 */
511			AM62X_IOPAD(0x00b4, PIN_INPUT, 1) /* (K24) GPMC0_CSn3.I2C2_SDA */ /* SODIMM 53 */
512		>;
513	};
514
515	/* Verdin I2C_4_CSI */
516	pinctrl_i2c3: main-i2c3-default-pins {
517		pinctrl-single,pins = <
518			AM62X_IOPAD(0x01d0, PIN_INPUT, 2) /* (A15) UART0_CTSn.I2C3_SCL */ /* SODIMM 95 */
519			AM62X_IOPAD(0x01d4, PIN_INPUT, 2) /* (B15) UART0_RTSn.I2C3_SDA */ /* SODIMM 93 */
520		>;
521	};
522
523	/* I2S_1_MCLK */
524	pinctrl_i2s1_mclk: main-system-audio-ext-reflock1-default-pins {
525		pinctrl-single,pins = <
526			AM62X_IOPAD(0x00a0, PIN_OUTPUT, 1) /* (K25) GPMC0_WPn.AUDIO_EXT_REFCLK1 */ /* SODIMM 38 */
527		>;
528	};
529
530	/* Verdin I2S_1 */
531	pinctrl_mcasp0: main-mcasp0-default-pins {
532		pinctrl-single,pins = <
533			AM62X_IOPAD(0x01a4, PIN_INPUT,  0) /* (B20) MCASP0_ACLKX */ /* SODIMM 30 */
534			AM62X_IOPAD(0x01a8, PIN_INPUT,  0) /* (D20) MCASP0_AFSX  */ /* SODIMM 32 */
535			AM62X_IOPAD(0x01a0, PIN_OUTPUT, 0) /* (E18) MCASP0_AXR0  */ /* SODIMM 34 */
536			AM62X_IOPAD(0x019c, PIN_INPUT,  0) /* (B18) MCASP0_AXR1  */ /* SODIMM 36 */
537		>;
538	};
539
540	/* Verdin I2S_2 */
541	pinctrl_mcasp1: main-mcasp1-default-pins {
542		pinctrl-single,pins = <
543			AM62X_IOPAD(0x0090, PIN_INPUT,  2) /* (M24) GPMC0_BE0n_CLE.MCASP1_ACLKX */ /* SODIMM 42 */
544			AM62X_IOPAD(0x0098, PIN_INPUT,  2) /* (U23) GPMC0_WAIT0.MCASP1_AFSX     */ /* SODIMM 44 */
545			AM62X_IOPAD(0x008c, PIN_OUTPUT, 2) /* (L25) GPMC0_WEn.MCASP1_AXR0       */ /* SODIMM 46 */
546			AM62X_IOPAD(0x0088, PIN_INPUT,  2) /* (L24) GPMC0_OEn_REn.MCASP1_AXR1   */ /* SODIMM 48 */
547		>;
548	};
549
550	/* Verdin CAN_1 */
551	pinctrl_mcan0: main-mcan0-default-pins {
552		pinctrl-single,pins = <
553			AM62X_IOPAD(0x01dc, PIN_INPUT,  0) /* (E15) MCAN0_RX */ /* SODIMM 22 */
554			AM62X_IOPAD(0x01d8, PIN_OUTPUT, 0) /* (C15) MCAN0_TX */ /* SODIMM 20 */
555		>;
556	};
557
558	/* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */
559	pinctrl_mdio: main-mdio1-default-pins {
560		pinctrl-single,pins = <
561			AM62X_IOPAD(0x160, PIN_OUTPUT, 0) /* (AD24) MDIO0_MDC  */ /* ETH_1_MDC,  SODIMM 193 */
562			AM62X_IOPAD(0x15c, PIN_INPUT, 0)  /* (AB22) MDIO0_MDIO */ /* ETH_1_MDIO, SODIMM 191 */
563		>;
564	};
565
566	/* On-module eMMC */
567	pinctrl_sdhci0: main-mmc0-default-pins {
568		pinctrl-single,pins = <
569			AM62X_IOPAD(0x220, PIN_INPUT, 0) /*  (Y3) MMC0_CMD  */
570			AM62X_IOPAD(0x218, PIN_INPUT, 0) /* (AB1) MMC0_CLK  */
571			AM62X_IOPAD(0x214, PIN_INPUT, 0) /* (AA2) MMC0_DAT0 */
572			AM62X_IOPAD(0x210, PIN_INPUT, 0) /* (AA1) MMC0_DAT1 */
573			AM62X_IOPAD(0x20c, PIN_INPUT, 0) /* (AA3) MMC0_DAT2 */
574			AM62X_IOPAD(0x208, PIN_INPUT, 0) /*  (Y4) MMC0_DAT3 */
575			AM62X_IOPAD(0x204, PIN_INPUT, 0) /* (AB2) MMC0_DAT4 */
576			AM62X_IOPAD(0x200, PIN_INPUT, 0) /* (AC1) MMC0_DAT5 */
577			AM62X_IOPAD(0x1fc, PIN_INPUT, 0) /* (AD2) MMC0_DAT6 */
578			AM62X_IOPAD(0x1f8, PIN_INPUT, 0) /* (AC2) MMC0_DAT7 */
579		>;
580	};
581
582	/* Verdin SD_1 */
583	pinctrl_sdhci1: main-mmc1-default-pins {
584		pinctrl-single,pins = <
585			AM62X_IOPAD(0x23c, PIN_INPUT,        0) /* (A21) MMC1_CMD  */ /* SODIMM 74 */
586			AM62X_IOPAD(0x234, PIN_INPUT,        0) /* (B22) MMC1_CLK  */ /* SODIMM 78 */
587			AM62X_IOPAD(0x230, PIN_INPUT,        0) /* (A22) MMC1_DAT0 */ /* SODIMM 80 */
588			AM62X_IOPAD(0x22c, PIN_INPUT,        0) /* (B21) MMC1_DAT1 */ /* SODIMM 82 */
589			AM62X_IOPAD(0x228, PIN_INPUT,        0) /* (C21) MMC1_DAT2 */ /* SODIMM 70 */
590			AM62X_IOPAD(0x224, PIN_INPUT,        0) /* (D22) MMC1_DAT3 */ /* SODIMM 72 */
591		>;
592	};
593
594	/* On-module Wi-Fi on WB SKUs, module-specific SDIO otherwise */
595	pinctrl_sdhci2: main-mmc2-default-pins {
596		pinctrl-single,pins = <
597			AM62X_IOPAD(0x120, PIN_INPUT, 0) /* (C24) MMC2_CMD   */ /* WiFi_SDIO_CMD   */
598			AM62X_IOPAD(0x118, PIN_INPUT, 0) /* (D25) MMC2_CLK   */ /* WiFi_SDIO_CLK   */
599			AM62X_IOPAD(0x114, PIN_INPUT, 0) /* (B24) MMC2_DAT0  */ /* WiFi_SDIO_DATA0 */
600			AM62X_IOPAD(0x110, PIN_INPUT, 0) /* (C25) MMC2_DAT1  */ /* WiFi_SDIO_DATA1 */
601			AM62X_IOPAD(0x10c, PIN_INPUT, 0) /* (E23) MMC2_DAT2  */ /* WiFi_SDIO_DATA2 */
602			AM62X_IOPAD(0x108, PIN_INPUT, 0) /* (D24) MMC2_DAT3  */ /* WiFi_SDIO_DATA3 */
603			AM62X_IOPAD(0x11c, PIN_INPUT, 0) /* (#N/A) MMC2_CLKB */
604		>;
605	};
606
607	/* Verdin QSPI_1 */
608	pinctrl_ospi0: main-ospi0-default-pins {
609		pinctrl-single,pins = <
610			AM62X_IOPAD(0x0000, PIN_OUTPUT, 0) /* (H24) OSPI0_CLK  */ /* SODIMM 52 */
611			AM62X_IOPAD(0x002c, PIN_OUTPUT, 0) /* (F23) OSPI0_CSn0 */ /* SODIMM 54 */
612			AM62X_IOPAD(0x0030, PIN_OUTPUT, 0) /* (G21) OSPI0_CSn1 */ /* SODIMM 64 */
613			AM62X_IOPAD(0x000c, PIN_INPUT, 0)  /* (E25) OSPI0_D0   */ /* SODIMM 56 */
614			AM62X_IOPAD(0x0010, PIN_INPUT, 0)  /* (G24) OSPI0_D1   */ /* SODIMM 58 */
615			AM62X_IOPAD(0x0014, PIN_INPUT, 0)  /* (F25) OSPI0_D2   */ /* SODIMM 60 */
616			AM62X_IOPAD(0x0018, PIN_INPUT, 0)  /* (F24) OSPI0_D3   */ /* SODIMM 62 */
617		>;
618	};
619
620	/* Verdin ETH_1 RGMII (On-module PHY) */
621	pinctrl_rgmii1: main-rgmii1-default-pins {
622		pinctrl-single,pins = <
623			AM62X_IOPAD(0x14c, PIN_INPUT,  0) /* (AB17) RGMII1_RD0    */
624			AM62X_IOPAD(0x150, PIN_INPUT,  0) /* (AC17) RGMII1_RD1    */
625			AM62X_IOPAD(0x154, PIN_INPUT,  0) /* (AB16) RGMII1_RD2    */
626			AM62X_IOPAD(0x158, PIN_INPUT,  0) /* (AA15) RGMII1_RD3    */
627			AM62X_IOPAD(0x148, PIN_INPUT,  0) /* (AD17) RGMII1_RXC    */
628			AM62X_IOPAD(0x144, PIN_INPUT,  0) /* (AE17) RGMII1_RX_CTL */
629			AM62X_IOPAD(0x134, PIN_OUTPUT, 0) /* (AE20) RGMII1_TD0    */
630			AM62X_IOPAD(0x138, PIN_OUTPUT, 0) /* (AD20) RGMII1_TD1    */
631			AM62X_IOPAD(0x13c, PIN_OUTPUT, 0) /* (AE18) RGMII1_TD2    */
632			AM62X_IOPAD(0x140, PIN_OUTPUT, 0) /* (AD18) RGMII1_TD3    */
633			AM62X_IOPAD(0x130, PIN_OUTPUT, 0) /* (AE19) RGMII1_TXC    */
634			AM62X_IOPAD(0x12c, PIN_OUTPUT, 0) /* (AD19) RGMII1_TX_CTL */
635		>;
636	};
637
638	/* Verdin ETH_2 RGMII */
639	pinctrl_rgmii2: main-rgmii2-default-pins {
640		pinctrl-single,pins = <
641			AM62X_IOPAD(0x184, PIN_INPUT,  0) /* (AE23) RGMII2_RD0    */ /* SODIMM 201 */
642			AM62X_IOPAD(0x188, PIN_INPUT,  0) /* (AB20) RGMII2_RD1    */ /* SODIMM 203 */
643			AM62X_IOPAD(0x18c, PIN_INPUT,  0) /* (AC21) RGMII2_RD2    */ /* SODIMM 205 */
644			AM62X_IOPAD(0x190, PIN_INPUT,  0) /* (AE22) RGMII2_RD3    */ /* SODIMM 207 */
645			AM62X_IOPAD(0x180, PIN_INPUT,  0) /* (AD23) RGMII2_RXC    */ /* SODIMM 197 */
646			AM62X_IOPAD(0x17c, PIN_INPUT,  0) /* (AD22) RGMII2_RX_CTL */ /* SODIMM 199 */
647			AM62X_IOPAD(0x16c, PIN_OUTPUT, 0) /*  (Y18) RGMII2_TD0    */ /* SODIMM 221 */
648			AM62X_IOPAD(0x170, PIN_OUTPUT, 0) /* (AA18) RGMII2_TD1    */ /* SODIMM 219 */
649			AM62X_IOPAD(0x174, PIN_OUTPUT, 0) /* (AD21) RGMII2_TD2    */ /* SODIMM 217 */
650			AM62X_IOPAD(0x178, PIN_OUTPUT, 0) /* (AC20) RGMII2_TD3    */ /* SODIMM 215 */
651			AM62X_IOPAD(0x168, PIN_OUTPUT, 0) /* (AE21) RGMII2_TXC    */ /* SODIMM 213 */
652			AM62X_IOPAD(0x164, PIN_OUTPUT, 0) /* (AA19) RGMII2_TX_CTL */ /* SODIMM 211 */
653		>;
654	};
655
656	/* Verdin SPI_1 */
657	pinctrl_spi1: main-spi1-default-pins {
658		pinctrl-single,pins = <
659			AM62X_IOPAD(0x0020, PIN_INPUT, 1) /* (J25) OSPI0_D5.SPI1_CLK */ /* SODIMM 196 */
660			AM62X_IOPAD(0x0024, PIN_INPUT, 1) /* (H25) OSPI0_D6.SPI1_D0  */ /* SODIMM 200 */
661			AM62X_IOPAD(0x0028, PIN_INPUT, 1) /* (J22) OSPI0_D7.SPI1_D1  */ /* SODIMM 198 */
662		>;
663	};
664
665	/* Verdin SPI_1 CS */
666	pinctrl_spi1_cs0: main-spi1-cs0-default-pins {
667		pinctrl-single,pins = <
668			AM62X_IOPAD(0x001c, PIN_INPUT, 1) /* (J23) OSPI0_D4.SPI1_CS0 */ /* SODIMM 202 */
669		>;
670	};
671
672	/* ETH_25MHz_CLK */
673	pinctrl_eth_clock: main-system-clkout0-default-pins {
674		pinctrl-single,pins = <
675			AM62X_IOPAD(0x01f0, PIN_OUTPUT_PULLUP, 5) /* (A18) EXT_REFCLK1.CLKOUT0 */
676		>;
677	};
678
679	/* PMIC_EXTINT# */
680	pinctrl_pmic_extint: main-system-extint-default-pins {
681		pinctrl-single,pins = <
682			AM62X_IOPAD(0x01f4, PIN_INPUT, 0) /* (D16) EXTINTn */
683		>;
684	};
685
686	/* Verdin UART_3, used as the Linux console */
687	pinctrl_uart0: main-uart0-default-pins {
688		pinctrl-single,pins = <
689			AM62X_IOPAD(0x1c8, PIN_INPUT_PULLUP, 0) /* (D14) UART0_RXD */ /* SODIMM 147 */
690			AM62X_IOPAD(0x1cc, PIN_OUTPUT,       0) /* (E14) UART0_TXD */ /* SODIMM 149 */
691		>;
692	};
693
694	/* Verdin UART_1 */
695	pinctrl_uart1: main-uart1-default-pins {
696		pinctrl-single,pins = <
697			AM62X_IOPAD(0x0194, PIN_INPUT_PULLUP, 2) /* (B19) MCASP0_AXR3.UART1_CTSn */ /* SODIMM 135 */
698			AM62X_IOPAD(0x0198, PIN_OUTPUT,       2) /* (A19) MCASP0_AXR2.UART1_RTSn */ /* SODIMM 133 */
699			AM62X_IOPAD(0x01ac, PIN_INPUT_PULLUP, 2) /* (E19) MCASP0_AFSR.UART1_RXD  */ /* SODIMM 129 */
700			AM62X_IOPAD(0x01b0, PIN_OUTPUT,       2) /* (A20) MCASP0_ACLKR.UART1_TXD */ /* SODIMM 131 */
701		>;
702	};
703
704	/* Bluetooth on WB SKUs, module-specific UART otherwise */
705	pinctrl_uart5: main-uart5-default-pins {
706		pinctrl-single,pins = <
707			AM62X_IOPAD(0x0008, PIN_INPUT_PULLUP, 5) /* (J24) OSPI0_DQS.UART5_CTSn    */ /* WiFi_UART_CTS */
708			AM62X_IOPAD(0x0004, PIN_OUTPUT,       5) /* (G25) OSPI0_LBCLKO.UART5_RTSn */ /* WiFi_UART_RTS */
709			AM62X_IOPAD(0x0034, PIN_INPUT_PULLUP, 5) /* (H21) OSPI0_CSn2.UART5_RXD    */ /* WiFi_UART_RXD */
710			AM62X_IOPAD(0x0038, PIN_OUTPUT,       5) /* (E24) OSPI0_CSn3.UART5_TXD    */ /* WiFi_UART_TXD */
711		>;
712	};
713
714	/* Verdin USB_2 */
715	pinctrl_usb1: main-usb1-default-pins {
716		pinctrl-single,pins = <
717			AM62X_IOPAD(0x0258, PIN_OUTPUT, 0) /* (F18) USB1_DRVVBUS */ /* SODIMM 185 */
718		>;
719	};
720
721	/* DSS VOUT0 RGB */
722	pinctrl_parallel_rgb: main-vout-default-pins {
723		pinctrl-single,pins = <
724			AM62X_IOPAD(0x0100, PIN_OUTPUT, 0) /* (AC25) VOUT0_VSYNC            */
725			AM62X_IOPAD(0x00f8, PIN_OUTPUT, 0) /* (AB24) VOUT0_HSYNC            */
726			AM62X_IOPAD(0x0104, PIN_OUTPUT, 0) /* (AC24) VOUT0_PCLK             */
727			AM62X_IOPAD(0x00fc, PIN_OUTPUT, 0) /*  (Y20) VOUT0_DE               */
728			AM62X_IOPAD(0x00b8, PIN_OUTPUT, 0) /*  (U22) VOUT0_DATA0            */
729			AM62X_IOPAD(0x00bc, PIN_OUTPUT, 0) /*  (V24) VOUT0_DATA1            */
730			AM62X_IOPAD(0x00c0, PIN_OUTPUT, 0) /*  (W25) VOUT0_DATA2            */
731			AM62X_IOPAD(0x00c4, PIN_OUTPUT, 0) /*  (W24) VOUT0_DATA3            */
732			AM62X_IOPAD(0x00c8, PIN_OUTPUT, 0) /*  (Y25) VOUT0_DATA4            */
733			AM62X_IOPAD(0x00cc, PIN_OUTPUT, 0) /*  (Y24) VOUT0_DATA5            */
734			AM62X_IOPAD(0x00d0, PIN_OUTPUT, 0) /*  (Y23) VOUT0_DATA6            */
735			AM62X_IOPAD(0x00d4, PIN_OUTPUT, 0) /* (AA25) VOUT0_DATA7            */
736			AM62X_IOPAD(0x00d8, PIN_OUTPUT, 0) /*  (V21) VOUT0_DATA8            */
737			AM62X_IOPAD(0x00dc, PIN_OUTPUT, 0) /*  (W21) VOUT0_DATA9            */
738			AM62X_IOPAD(0x00e0, PIN_OUTPUT, 0) /*  (V20) VOUT0_DATA10           */
739			AM62X_IOPAD(0x00e4, PIN_OUTPUT, 0) /* (AA23) VOUT0_DATA11           */
740			AM62X_IOPAD(0x00e8, PIN_OUTPUT, 0) /* (AB25) VOUT0_DATA12           */
741			AM62X_IOPAD(0x00ec, PIN_OUTPUT, 0) /* (AA24) VOUT0_DATA13           */
742			AM62X_IOPAD(0x00f0, PIN_OUTPUT, 0) /*  (Y22) VOUT0_DATA14           */
743			AM62X_IOPAD(0x00f4, PIN_OUTPUT, 0) /* (AA21) VOUT0_DATA15           */
744			AM62X_IOPAD(0x005c, PIN_OUTPUT, 1) /*  (R24) GPMC0_AD8.VOUT0_DATA16 */
745			AM62X_IOPAD(0x0060, PIN_OUTPUT, 1) /*  (R25) GPMC0_AD9.VOUT0_DATA17 */
746		>;
747	};
748};
749
750&mcu_pmx0 {
751	/* Verdin PCIE_1_RESET# */
752	pinctrl_pcie_1_reset: mcu-gpio0-0-default-pins {
753		pinctrl-single,pins = <
754			AM62X_MCU_IOPAD(0x0000, PIN_INPUT, 7) /* (E8) MCU_SPI0_CS0.MCU_GPIO0_0 */ /* SODIMM 244 */
755		>;
756	};
757
758	/* Verdin GPIO_1 */
759	pinctrl_gpio_1: mcu-gpio0-1-default-pins {
760		pinctrl-single,pins = <
761			AM62X_MCU_IOPAD(0x0004, PIN_INPUT, 7) /* (B8) MCU_SPI0_CS1.MCU_GPIO0_1 */ /* SODIMM 206 */
762		>;
763	};
764
765	/* Verdin GPIO_2 */
766	pinctrl_gpio_2: mcu-gpio0-2-default-pins {
767		pinctrl-single,pins = <
768			AM62X_MCU_IOPAD(0x0008, PIN_INPUT, 7) /* (A7) MCU_SPI0_CLK.MCU_GPIO0_2 */ /* SODIMM 208 */
769		>;
770	};
771
772	/* Verdin GPIO_3 */
773	pinctrl_gpio_3: mcu-gpio0-3-default-pins {
774		pinctrl-single,pins = <
775			AM62X_MCU_IOPAD(0x000c, PIN_INPUT, 7) /* (D9) MCU_SPI0_D0.MCU_GPIO0_3 */ /* SODIMM 210 */
776		>;
777	};
778
779	/* Verdin GPIO_4 */
780	pinctrl_gpio_4: mcu-gpio0-4-default-pins {
781		pinctrl-single,pins = <
782			AM62X_MCU_IOPAD(0x0010, PIN_INPUT, 7) /* (C9) MCU_SPI0_D1.MCU_GPIO0_4 */ /* SODIMM 212 */
783		>;
784	};
785
786	/* Verdin I2C_3_HDMI */
787	pinctrl_mcu_i2c0: mcu-i2c0-default-pins {
788		pinctrl-single,pins = <
789			AM62X_MCU_IOPAD(0x0044, PIN_INPUT, 0) /*  (A8) MCU_I2C0_SCL */ /* SODIMM 59 */
790			AM62X_MCU_IOPAD(0x0048, PIN_INPUT, 0) /* (D10) MCU_I2C0_SDA */ /* SODIMM 57 */
791		>;
792	};
793
794	/* Verdin CAN_2 */
795	pinctrl_mcu_mcan0: mcu-mcan0-default-pins {
796		pinctrl-single,pins = <
797			AM62X_MCU_IOPAD(0x0038, PIN_INPUT,  0) /* (B3) MCU_MCAN0_RX */ /* SODIMM 26 */
798			AM62X_MCU_IOPAD(0x0034, PIN_OUTPUT, 0) /* (D6) MCU_MCAN0_TX */ /* SODIMM 24 */
799		>;
800	};
801
802	/* Verdin UART_4 - Reserved to Cortex-M4 */
803	pinctrl_mcu_uart0: mcu-uart0-default-pins {
804		pinctrl-single,pins = <
805			AM62X_MCU_IOPAD(0x0014, PIN_INPUT_PULLUP, 0) /* (B5) MCU_UART0_RXD */ /* SODIMM 151 */
806			AM62X_MCU_IOPAD(0x0018, PIN_OUTPUT,       0) /* (A5) MCU_UART0_TXD */ /* SODIMM 153 */
807		>;
808	};
809
810	/* Verdin CSI_1_MCLK */
811	pinctrl_csi1_mclk: wkup-clkout0-default-pins {
812		pinctrl-single,pins = <
813			AM62X_MCU_IOPAD(0x0084, PIN_OUTPUT, 0) /* (A12) WKUP_CLKOUT0 */ /* SODIMM 91 */
814		>;
815	};
816
817	/* Verdin UART_2 */
818	pinctrl_wkup_uart0: wkup-uart0-default-pins {
819		pinctrl-single,pins = <
820			AM62X_MCU_IOPAD(0x002c, PIN_INPUT_PULLUP, 0) /* (C6) WKUP_UART0_CTSn */ /* SODIMM 143 */
821			AM62X_MCU_IOPAD(0x0030, PIN_OUTPUT,       0) /* (A4) WKUP_UART0_RTSn */ /* SODIMM 141 */
822			AM62X_MCU_IOPAD(0x0024, PIN_INPUT_PULLUP, 0) /* (B4) WKUP_UART0_RXD  */ /* SODIMM 137 */
823			AM62X_MCU_IOPAD(0x0028, PIN_OUTPUT,       0) /* (C5) WKUP_UART0_TXD  */ /* SODIMM 139 */
824		>;
825	};
826};
827
828/* VERDIN I2S_1_MCLK */
829&audio_refclk1 {
830	assigned-clock-rates = <25000000>;
831};
832
833&cpsw3g {
834	pinctrl-names = "default";
835	pinctrl-0 = <&pinctrl_rgmii1>;
836	status = "disabled";
837};
838
839/* Verdin ETH_1 (On-module PHY) */
840&cpsw_port1 {
841	phy-handle = <&cpsw3g_phy0>;
842	phy-mode = "rgmii-rxid";
843	status = "disabled";
844};
845
846/* Verdin ETH_2_RGMII */
847&cpsw_port2 {
848	status = "disabled";
849};
850
851/* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */
852&cpsw3g_mdio {
853	assigned-clocks = <&k3_clks 157 20>;
854	assigned-clock-parents = <&k3_clks 157 22>;
855	assigned-clock-rates = <25000000>;
856	pinctrl-names = "default";
857	pinctrl-0 = <&pinctrl_eth_clock>, <&pinctrl_mdio>;
858	status = "disabled";
859
860	cpsw3g_phy0: ethernet-phy@0 {
861		compatible = "ethernet-phy-id2000.a231";
862		reg = <0>;
863		interrupt-parent = <&main_gpio0>;
864		interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
865		pinctrl-names = "default";
866		pinctrl-0 = <&pinctrl_eth_int>, <&pinctrl_eth_reset>;
867		reset-gpios = <&main_gpio0 17 GPIO_ACTIVE_LOW>;
868		reset-assert-us = <10>;
869		reset-deassert-us = <1000>;
870		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
871		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
872	};
873};
874
875&dss {
876	pinctrl-names = "default";
877	pinctrl-0 = <&pinctrl_parallel_rgb>;
878	status = "disabled";
879};
880
881&dss_ports {
882	#address-cells = <1>;
883	#size-cells = <0>;
884
885	/* VP2: DPI Output */
886	port@1 {
887		reg = <1>;
888
889		dpi_out: endpoint {
890			remote-endpoint = <&rgb_in>;
891		};
892	};
893};
894
895/* Verdin PWM_1, PWM_2 */
896&epwm0 {
897	pinctrl-names = "default";
898	pinctrl-0 = <&pinctrl_epwm0_a>, <&pinctrl_epwm0_b>;
899	status = "disabled";
900};
901
902/* Verdin PWM_3_DSI */
903&epwm1 {
904	pinctrl-names = "default";
905	pinctrl-0 = <&pinctrl_epwm1_a>;
906	status = "disabled";
907};
908
909&main_gpio0 {
910	gpio-line-names =
911		"SODIMM_52", /* 0 */
912		"",
913		"",
914		"SODIMM_56",
915		"SODIMM_58",
916		"SODIMM_60",
917		"SODIMM_62",
918		"",
919		"",
920		"",
921		"", /* 10 */
922		"SODIMM_54",
923		"SODIMM_64",
924		"",
925		"",
926		"SODIMM_174",
927		"SODIMM_172",
928		"",
929		"",
930		"",
931		"", /* 20 */
932		"",
933		"",
934		"",
935		"",
936		"",
937		"",
938		"",
939		"",
940		"SODIMM_76",
941		"SODIMM_21", /* 30 */
942		"SODIMM_256",
943		"SODIMM_252",
944		"",
945		"SODIMM_46",
946		"SODIMM_42",
947		"SODIMM_218",
948		"",
949		"SODIMM_189",
950		"",
951		"SODIMM_216", /* 40 */
952		"SODIMM_220",
953		"SODIMM_222",
954		"",
955		"",
956		"",
957		"",
958		"",
959		"",
960		"",
961		"", /* 50 */
962		"",
963		"",
964		"",
965		"",
966		"",
967		"",
968		"",
969		"",
970		"",
971		"", /* 60 */
972		"",
973		"",
974		"",
975		"",
976		"",
977		"",
978		"",
979		"",
980		"",
981		"", /* 70 */
982		"SODIMM_157",
983		"SODIMM_187",
984		"",
985		"",
986		"",
987		"",
988		"",
989		"",
990		"",
991		"", /* 80 */
992		"",
993		"",
994		"",
995		"",
996		"",
997		"";
998};
999
1000&main_gpio1 {
1001	gpio-line-names =
1002		"", /* 0 */
1003		"",
1004		"",
1005		"",
1006		"",
1007		"",
1008		"",
1009		"",
1010		"",
1011		"",
1012		"", /* 10 */
1013		"",
1014		"",
1015		"",
1016		"",
1017		"SODIMM_15",
1018		"SODIMM_16",
1019		"SODIMM_19",
1020		"SODIMM_66",
1021		"SODIMM_161",
1022		"", /* 20 */
1023		"",
1024		"",
1025		"",
1026		"",
1027		"",
1028		"",
1029		"",
1030		"",
1031		"",
1032		"", /* 30 */
1033		"",
1034		"",
1035		"",
1036		"",
1037		"",
1038		"",
1039		"",
1040		"",
1041		"",
1042		"", /* 40 */
1043		"",
1044		"",
1045		"",
1046		"",
1047		"",
1048		"",
1049		"",
1050		"",
1051		"SODIMM_17",
1052		"SODIMM_155", /* 50 */
1053		"",
1054		"",
1055		"",
1056		"",
1057		"",
1058		"",
1059		"",
1060		"",
1061		"",
1062		"", /* 60 */
1063		"",
1064		"",
1065		"",
1066		"",
1067		"",
1068		"",
1069		"",
1070		"",
1071		"",
1072		"", /* 70 */
1073		"",
1074		"",
1075		"",
1076		"",
1077		"",
1078		"",
1079		"",
1080		"",
1081		"",
1082		"", /* 80 */
1083		"",
1084		"",
1085		"",
1086		"",
1087		"",
1088		"",
1089		"";
1090};
1091
1092/* On-module I2C - PMIC_I2C */
1093&main_i2c0 {
1094	pinctrl-names = "default";
1095	pinctrl-0 = <&pinctrl_i2c0>;
1096	clock-frequency = <400000>;
1097	status = "okay";
1098
1099	dsi_bridge: dsi@e {
1100		compatible = "toshiba,tc358778";
1101		reg = <0xe>;
1102		assigned-clocks = <&k3_clks 157 20>;
1103		assigned-clock-parents = <&k3_clks 157 22>;
1104		assigned-clock-rates = <25000000>;
1105		pinctrl-names = "default";
1106		pinctrl-0 = <&pinctrl_bridge_reset>;
1107		clocks = <&k3_clks 157 20>;
1108		clock-names = "refclk";
1109		reset-gpios = <&main_gpio0 20 GPIO_ACTIVE_LOW>;
1110		vddc-supply = <&reg_1v2_dsi>;
1111		vddmipi-supply = <&reg_1v2_dsi>;
1112		vddio-supply = <&reg_1v8_dsi>;
1113		status = "disabled";
1114
1115		dsi_bridge_ports: ports {
1116			#address-cells = <1>;
1117			#size-cells = <0>;
1118
1119			port@0 {
1120				reg = <0>;
1121
1122				rgb_in: endpoint {
1123					data-lines = <18>;
1124					remote-endpoint = <&dpi_out>;
1125				};
1126			};
1127
1128			port@1 {
1129				reg = <1>;
1130			};
1131		};
1132	};
1133
1134	tpm@2e {
1135		compatible = "st,st33ktpm2xi2c", "tcg,tpm-tis-i2c";
1136		reg = <0x2e>;
1137	};
1138
1139	pmic@30 {
1140		compatible = "ti,tps65219";
1141		reg = <0x30>;
1142		pinctrl-names = "default";
1143		pinctrl-0 = <&pinctrl_pmic_extint>;
1144		interrupt-parent = <&gic500>;
1145		interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
1146
1147		buck1-supply = <&reg_vsodimm>;
1148		buck2-supply = <&reg_vsodimm>;
1149		buck3-supply = <&reg_vsodimm>;
1150		ldo1-supply = <&reg_3v3>;
1151		ldo2-supply = <&reg_1v8>;
1152		ldo3-supply = <&reg_3v3>;
1153		ldo4-supply = <&reg_3v3>;
1154		system-power-controller;
1155		ti,power-button;
1156
1157		regulators {
1158			reg_vdd_core: buck1 {
1159				regulator-always-on;
1160				regulator-boot-on;
1161				regulator-max-microvolt = <850000>;
1162				regulator-min-microvolt = <750000>;
1163				regulator-name = "+VDD_CORE (PMIC BUCK1)";
1164			};
1165
1166			reg_1v8: buck2 {
1167				regulator-always-on;
1168				regulator-boot-on;
1169				regulator-max-microvolt = <1800000>;
1170				regulator-min-microvolt = <1800000>;
1171				regulator-name = "+V1.8 (PMIC BUCK2)"; /* On-module and SODIMM 214 */
1172			};
1173
1174			reg_vdd_ddr: buck3 {
1175				regulator-always-on;
1176				regulator-boot-on;
1177				regulator-max-microvolt = <1100000>;
1178				regulator-min-microvolt = <1100000>;
1179				regulator-name = "+VDD_DDR (PMIC BUCK3)";
1180			};
1181
1182			reg_sd_3v3_1v8: ldo1 {
1183				regulator-allow-bypass;
1184				regulator-always-on;
1185				regulator-boot-on;
1186				regulator-max-microvolt = <3300000>;
1187				regulator-min-microvolt = <3300000>;
1188				regulator-name = "+V3.3_1.8_SD (PMIC LDO1)";
1189			};
1190
1191			reg_vddr_core: ldo2 {
1192				regulator-always-on;
1193				regulator-boot-on;
1194				regulator-max-microvolt = <850000>;
1195				regulator-min-microvolt = <850000>;
1196				regulator-name = "+VDDR_CORE (PMIC LDO2)";
1197			};
1198
1199			reg_1v8a: ldo3 {
1200				regulator-always-on;
1201				regulator-boot-on;
1202				regulator-max-microvolt = <1800000>;
1203				regulator-min-microvolt = <1800000>;
1204				regulator-name = "+V1.8A (PMIC LDO3)";
1205			};
1206
1207			reg_eth_2v5: ldo4 {
1208				regulator-always-on;
1209				regulator-boot-on;
1210				regulator-max-microvolt = <2500000>;
1211				regulator-min-microvolt = <2500000>;
1212				regulator-name = "+V2.5_ETH (PMIC LDO4)";
1213			};
1214		};
1215	};
1216
1217	rtc_i2c: rtc@32 {
1218		compatible = "epson,rx8130";
1219		reg = <0x32>;
1220	};
1221
1222	sensor@48 {
1223		compatible = "ti,tmp1075";
1224		reg = <0x48>;
1225	};
1226
1227	verdin_som_adc: adc@49 {
1228		compatible = "ti,tla2024";
1229		reg = <0x49>;
1230		#address-cells = <1>;
1231		#size-cells = <0>;
1232		#io-channel-cells = <1>;
1233
1234		/* Verdin PMIC_I2C (ADC_4 - ADC_3) */
1235		channel@0 {
1236			reg = <0>;
1237			ti,datarate = <4>;
1238			ti,gain = <2>;
1239		};
1240
1241		/* Verdin PMIC_I2C (ADC_4 - ADC_1) */
1242		channel@1 {
1243			reg = <1>;
1244			ti,datarate = <4>;
1245			ti,gain = <2>;
1246		};
1247
1248		/* Verdin PMIC_I2C (ADC_3 - ADC_1) */
1249		channel@2 {
1250			reg = <2>;
1251			ti,datarate = <4>;
1252			ti,gain = <2>;
1253		};
1254
1255		/* Verdin PMIC_I2C (ADC_2 - ADC_1) */
1256		channel@3 {
1257			reg = <3>;
1258			ti,datarate = <4>;
1259			ti,gain = <2>;
1260		};
1261
1262		/* Verdin PMIC_I2C ADC_4 */
1263		channel@4 {
1264			reg = <4>;
1265			ti,datarate = <4>;
1266			ti,gain = <2>;
1267		};
1268
1269		/* Verdin PMIC_I2C ADC_3 */
1270		channel@5 {
1271			reg = <5>;
1272			ti,datarate = <4>;
1273			ti,gain = <2>;
1274		};
1275
1276		/* Verdin PMIC_I2C ADC_2 */
1277		channel@6 {
1278			reg = <6>;
1279			ti,datarate = <4>;
1280			ti,gain = <2>;
1281		};
1282
1283		/* Verdin PMIC_I2C ADC_1 */
1284		channel@7 {
1285			reg = <7>;
1286			ti,datarate = <4>;
1287			ti,gain = <2>;
1288		};
1289	};
1290
1291	eeprom@50 {
1292		compatible = "st,24c02", "atmel,24c02";
1293		pagesize = <16>;
1294		reg = <0x50>;
1295	};
1296};
1297
1298/* Verdin I2C_1 */
1299&main_i2c1 {
1300	pinctrl-names = "default";
1301	pinctrl-0 = <&pinctrl_i2c1>;
1302	status = "disabled";
1303};
1304
1305/* Verdin I2C_2_DSI */
1306&main_i2c2 {
1307	pinctrl-names = "default";
1308	pinctrl-0 = <&pinctrl_i2c2>;
1309	status = "disabled";
1310};
1311
1312/* Verdin I2C_4_CSI */
1313&main_i2c3 {
1314	pinctrl-names = "default";
1315	pinctrl-0 = <&pinctrl_i2c3>;
1316	status = "disabled";
1317};
1318
1319&mailbox0_cluster0 {
1320	mbox_m4_0: mbox-m4-0 {
1321		ti,mbox-rx = <0 0 0>;
1322		ti,mbox-tx = <1 0 0>;
1323	};
1324};
1325
1326/* Verdin CAN_1 */
1327&main_mcan0 {
1328	pinctrl-names = "default";
1329	pinctrl-0 = <&pinctrl_mcan0>;
1330	status = "disabled";
1331};
1332
1333/* Verdin SPI_1 */
1334&main_spi1 {
1335	pinctrl-names = "default";
1336	pinctrl-0 = <&pinctrl_spi1>, <&pinctrl_spi1_cs0>;
1337	ti,pindir-d0-out-d1-in;
1338	status = "disabled";
1339};
1340
1341/* Verdin UART_3, used as the Linux console */
1342&main_uart0 {
1343	pinctrl-names = "default";
1344	pinctrl-0 = <&pinctrl_uart0>;
1345	status = "disabled";
1346};
1347
1348/* Verdin UART_1 */
1349&main_uart1 {
1350	pinctrl-names = "default";
1351	pinctrl-0 = <&pinctrl_uart1>;
1352	status = "disabled";
1353};
1354
1355/* Verdin I2S_1 */
1356&mcasp0 {
1357	pinctrl-names = "default";
1358	pinctrl-0 = <&pinctrl_mcasp0>;
1359	op-mode = <0>; /* I2S mode */
1360	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
1361	       1 2 0 0
1362	       0 0 0 0
1363	       0 0 0 0
1364	       0 0 0 0
1365	>;
1366	tdm-slots = <2>;
1367	#sound-dai-cells = <0>;
1368	status = "disabled";
1369};
1370
1371/* Verdin I2S_2 */
1372&mcasp1 {
1373	pinctrl-names = "default";
1374	pinctrl-0 = <&pinctrl_mcasp1>;
1375	op-mode = <0>; /* I2S mode */
1376	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
1377	       1 2 0 0
1378	       0 0 0 0
1379	       0 0 0 0
1380	       0 0 0 0
1381	>;
1382	tdm-slots = <2>;
1383	#sound-dai-cells = <0>;
1384	status = "disabled";
1385};
1386
1387/* Verdin I2C_3_HDMI */
1388&mcu_i2c0 {
1389	pinctrl-names = "default";
1390	pinctrl-0 = <&pinctrl_mcu_i2c0>;
1391	status = "disabled";
1392};
1393
1394&mcu_gpio0 {
1395	gpio-line-names =
1396		"SODIMM_244",
1397		"SODIMM_206",
1398		"SODIMM_208",
1399		"SODIMM_210",
1400		"SODIMM_212",
1401		"",
1402		"",
1403		"",
1404		"",
1405		"",
1406		"",
1407		"",
1408		"",
1409		"",
1410		"",
1411		"",
1412		"",
1413		"",
1414		"",
1415		"",
1416		"",
1417		"",
1418		"",
1419		"";
1420
1421	verdin_pcie_1_reset_hog: pcie-1-reset-hog {
1422		gpio-hog;
1423		/* Verdin PCIE_1_RESET# (SODIMM 244) */
1424		gpios = <0 GPIO_ACTIVE_LOW>;
1425		line-name = "PCIE_1_RESET#";
1426		output-low;
1427		status = "disabled";
1428	};
1429};
1430
1431/* Verdin CAN_2 */
1432&mcu_mcan0 {
1433	pinctrl-names = "default";
1434	pinctrl-0 = <&pinctrl_mcu_mcan0>;
1435	status = "disabled";
1436};
1437
1438/* Verdin UART_4 - Cortex-M4 UART */
1439&mcu_uart0 {
1440	pinctrl-names = "default";
1441	pinctrl-0 = <&pinctrl_mcu_uart0>;
1442	status = "disabled";
1443};
1444
1445/* Verdin QSPI_1 */
1446&ospi0 {
1447	pinctrl-names = "default";
1448	pinctrl-0 = <&pinctrl_ospi0>;
1449	status = "disabled";
1450};
1451
1452/* On-module eMMC */
1453&sdhci0 {
1454	pinctrl-names = "default";
1455	pinctrl-0 = <&pinctrl_sdhci0>;
1456	non-removable;
1457	status = "okay";
1458};
1459
1460/* Verdin SD_1 */
1461&sdhci1 {
1462	pinctrl-names = "default";
1463	pinctrl-0 = <&pinctrl_sdhci1>, <&pinctrl_sd1_cd_gpio>;
1464	cd-gpios = <&main_gpio1 48 GPIO_ACTIVE_LOW>;
1465	disable-wp;
1466	vmmc-supply = <&reg_sdhc1_vmmc>;
1467	vqmmc-supply = <&reg_sdhc1_vqmmc>;
1468	ti,fails-without-test-cd;
1469	status = "disabled";
1470};
1471
1472/* Verdin USB_1 */
1473&usbss0 {
1474	ti,vbus-divider;
1475	status = "disabled";
1476};
1477
1478&usb0 {
1479	adp-disable;
1480	usb-role-switch;
1481	status = "disabled";
1482
1483	port {
1484		usb0_ep: endpoint {
1485			remote-endpoint = <&usb_dr_connector>;
1486		};
1487	};
1488};
1489
1490/* Verdin USB_2 */
1491&usbss1 {
1492	ti,vbus-divider;
1493	status = "disabled";
1494};
1495
1496&usb1 {
1497	pinctrl-names = "default";
1498	pinctrl-0 = <&pinctrl_usb1>;
1499	dr_mode = "host";
1500	status = "disabled";
1501};
1502
1503/* Verdin UART_2 */
1504&wkup_uart0 {
1505	pinctrl-names = "default";
1506	pinctrl-0 = <&pinctrl_wkup_uart0>;
1507	status = "disabled";
1508};
1509