xref: /linux/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi (revision a3a02a52bcfcbcc4a637d4b68bf1bc391c9fad02)
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 = <2000>;
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	pmic@30 {
1135		compatible = "ti,tps65219";
1136		reg = <0x30>;
1137		pinctrl-names = "default";
1138		pinctrl-0 = <&pinctrl_pmic_extint>;
1139		interrupt-parent = <&gic500>;
1140		interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
1141
1142		buck1-supply = <&reg_vsodimm>;
1143		buck2-supply = <&reg_vsodimm>;
1144		buck3-supply = <&reg_vsodimm>;
1145		ldo1-supply = <&reg_3v3>;
1146		ldo2-supply = <&reg_1v8>;
1147		ldo3-supply = <&reg_3v3>;
1148		ldo4-supply = <&reg_3v3>;
1149		system-power-controller;
1150		ti,power-button;
1151
1152		regulators {
1153			reg_vdd_core: buck1 {
1154				regulator-always-on;
1155				regulator-boot-on;
1156				regulator-max-microvolt = <850000>;
1157				regulator-min-microvolt = <750000>;
1158				regulator-name = "+VDD_CORE (PMIC BUCK1)";
1159			};
1160
1161			reg_1v8: buck2 {
1162				regulator-always-on;
1163				regulator-boot-on;
1164				regulator-max-microvolt = <1800000>;
1165				regulator-min-microvolt = <1800000>;
1166				regulator-name = "+V1.8 (PMIC BUCK2)"; /* On-module and SODIMM 214 */
1167			};
1168
1169			reg_vdd_ddr: buck3 {
1170				regulator-always-on;
1171				regulator-boot-on;
1172				regulator-max-microvolt = <1100000>;
1173				regulator-min-microvolt = <1100000>;
1174				regulator-name = "+VDD_DDR (PMIC BUCK3)";
1175			};
1176
1177			reg_sd_3v3_1v8: ldo1 {
1178				regulator-allow-bypass;
1179				regulator-always-on;
1180				regulator-boot-on;
1181				regulator-max-microvolt = <3300000>;
1182				regulator-min-microvolt = <3300000>;
1183				regulator-name = "+V3.3_1.8_SD (PMIC LDO1)";
1184			};
1185
1186			reg_vddr_core: ldo2 {
1187				regulator-always-on;
1188				regulator-boot-on;
1189				regulator-max-microvolt = <850000>;
1190				regulator-min-microvolt = <850000>;
1191				regulator-name = "+VDDR_CORE (PMIC LDO2)";
1192			};
1193
1194			reg_1v8a: ldo3 {
1195				regulator-always-on;
1196				regulator-boot-on;
1197				regulator-max-microvolt = <1800000>;
1198				regulator-min-microvolt = <1800000>;
1199				regulator-name = "+V1.8A (PMIC LDO3)";
1200			};
1201
1202			reg_eth_2v5: ldo4 {
1203				regulator-always-on;
1204				regulator-boot-on;
1205				regulator-max-microvolt = <2500000>;
1206				regulator-min-microvolt = <2500000>;
1207				regulator-name = "+V2.5_ETH (PMIC LDO4)";
1208			};
1209		};
1210	};
1211
1212	rtc_i2c: rtc@32 {
1213		compatible = "epson,rx8130";
1214		reg = <0x32>;
1215	};
1216
1217	sensor@48 {
1218		compatible = "ti,tmp1075";
1219		reg = <0x48>;
1220	};
1221
1222	adc@49 {
1223		compatible = "ti,ads1015";
1224		reg = <0x49>;
1225		#address-cells = <1>;
1226		#size-cells = <0>;
1227
1228		/* Verdin PMIC_I2C (ADC_4 - ADC_3) */
1229		channel@0 {
1230			reg = <0>;
1231			ti,datarate = <4>;
1232			ti,gain = <2>;
1233		};
1234
1235		/* Verdin PMIC_I2C (ADC_4 - ADC_1) */
1236		channel@1 {
1237			reg = <1>;
1238			ti,datarate = <4>;
1239			ti,gain = <2>;
1240		};
1241
1242		/* Verdin PMIC_I2C (ADC_3 - ADC_1) */
1243		channel@2 {
1244			reg = <2>;
1245			ti,datarate = <4>;
1246			ti,gain = <2>;
1247		};
1248
1249		/* Verdin PMIC_I2C (ADC_2 - ADC_1) */
1250		channel@3 {
1251			reg = <3>;
1252			ti,datarate = <4>;
1253			ti,gain = <2>;
1254		};
1255
1256		/* Verdin PMIC_I2C ADC_4 */
1257		channel@4 {
1258			reg = <4>;
1259			ti,datarate = <4>;
1260			ti,gain = <2>;
1261		};
1262
1263		/* Verdin PMIC_I2C ADC_3 */
1264		channel@5 {
1265			reg = <5>;
1266			ti,datarate = <4>;
1267			ti,gain = <2>;
1268		};
1269
1270		/* Verdin PMIC_I2C ADC_2 */
1271		channel@6 {
1272			reg = <6>;
1273			ti,datarate = <4>;
1274			ti,gain = <2>;
1275		};
1276
1277		/* Verdin PMIC_I2C ADC_1 */
1278		channel@7 {
1279			reg = <7>;
1280			ti,datarate = <4>;
1281			ti,gain = <2>;
1282		};
1283	};
1284
1285	eeprom@50 {
1286		compatible = "st,24c02", "atmel,24c02";
1287		pagesize = <16>;
1288		reg = <0x50>;
1289	};
1290};
1291
1292/* Verdin I2C_1 */
1293&main_i2c1 {
1294	pinctrl-names = "default";
1295	pinctrl-0 = <&pinctrl_i2c1>;
1296	status = "disabled";
1297};
1298
1299/* Verdin I2C_2_DSI */
1300&main_i2c2 {
1301	pinctrl-names = "default";
1302	pinctrl-0 = <&pinctrl_i2c2>;
1303	status = "disabled";
1304};
1305
1306/* Verdin I2C_4_CSI */
1307&main_i2c3 {
1308	pinctrl-names = "default";
1309	pinctrl-0 = <&pinctrl_i2c3>;
1310	status = "disabled";
1311};
1312
1313&mailbox0_cluster0 {
1314	mbox_m4_0: mbox-m4-0 {
1315		ti,mbox-rx = <0 0 0>;
1316		ti,mbox-tx = <1 0 0>;
1317	};
1318};
1319
1320/* Verdin CAN_1 */
1321&main_mcan0 {
1322	pinctrl-names = "default";
1323	pinctrl-0 = <&pinctrl_mcan0>;
1324	status = "disabled";
1325};
1326
1327/* Verdin SPI_1 */
1328&main_spi1 {
1329	pinctrl-names = "default";
1330	pinctrl-0 = <&pinctrl_spi1>, <&pinctrl_spi1_cs0>;
1331	ti,pindir-d0-out-d1-in;
1332	status = "disabled";
1333};
1334
1335/* Verdin UART_3, used as the Linux console */
1336&main_uart0 {
1337	pinctrl-names = "default";
1338	pinctrl-0 = <&pinctrl_uart0>;
1339	status = "disabled";
1340};
1341
1342/* Verdin UART_1 */
1343&main_uart1 {
1344	pinctrl-names = "default";
1345	pinctrl-0 = <&pinctrl_uart1>;
1346	status = "disabled";
1347};
1348
1349/* Verdin I2S_1 */
1350&mcasp0 {
1351	pinctrl-names = "default";
1352	pinctrl-0 = <&pinctrl_mcasp0>;
1353	op-mode = <0>; /* I2S mode */
1354	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
1355	       1 2 0 0
1356	       0 0 0 0
1357	       0 0 0 0
1358	       0 0 0 0
1359	>;
1360	tdm-slots = <2>;
1361	#sound-dai-cells = <0>;
1362	status = "disabled";
1363};
1364
1365/* Verdin I2S_2 */
1366&mcasp1 {
1367	pinctrl-names = "default";
1368	pinctrl-0 = <&pinctrl_mcasp1>;
1369	op-mode = <0>; /* I2S mode */
1370	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
1371	       1 2 0 0
1372	       0 0 0 0
1373	       0 0 0 0
1374	       0 0 0 0
1375	>;
1376	tdm-slots = <2>;
1377	#sound-dai-cells = <0>;
1378	status = "disabled";
1379};
1380
1381/* Verdin I2C_3_HDMI */
1382&mcu_i2c0 {
1383	pinctrl-names = "default";
1384	pinctrl-0 = <&pinctrl_mcu_i2c0>;
1385	status = "disabled";
1386};
1387
1388&mcu_gpio0 {
1389	gpio-line-names =
1390		"SODIMM_244",
1391		"SODIMM_206",
1392		"SODIMM_208",
1393		"SODIMM_210",
1394		"SODIMM_212",
1395		"",
1396		"",
1397		"",
1398		"",
1399		"",
1400		"",
1401		"",
1402		"",
1403		"",
1404		"",
1405		"",
1406		"",
1407		"",
1408		"",
1409		"",
1410		"",
1411		"",
1412		"",
1413		"";
1414
1415	verdin_pcie_1_reset_hog: pcie-1-reset-hog {
1416		gpio-hog;
1417		/* Verdin PCIE_1_RESET# (SODIMM 244) */
1418		gpios = <0 GPIO_ACTIVE_LOW>;
1419		line-name = "PCIE_1_RESET#";
1420		output-low;
1421		status = "disabled";
1422	};
1423};
1424
1425/* Verdin CAN_2 */
1426&mcu_mcan0 {
1427	pinctrl-names = "default";
1428	pinctrl-0 = <&pinctrl_mcu_mcan0>;
1429	status = "disabled";
1430};
1431
1432/* Verdin UART_4 - Cortex-M4 UART */
1433&mcu_uart0 {
1434	pinctrl-names = "default";
1435	pinctrl-0 = <&pinctrl_mcu_uart0>;
1436	status = "disabled";
1437};
1438
1439/* Verdin QSPI_1 */
1440&ospi0 {
1441	pinctrl-names = "default";
1442	pinctrl-0 = <&pinctrl_ospi0>;
1443	status = "disabled";
1444};
1445
1446/* On-module eMMC */
1447&sdhci0 {
1448	pinctrl-names = "default";
1449	pinctrl-0 = <&pinctrl_sdhci0>;
1450	non-removable;
1451	status = "okay";
1452};
1453
1454/* Verdin SD_1 */
1455&sdhci1 {
1456	pinctrl-names = "default";
1457	pinctrl-0 = <&pinctrl_sdhci1>, <&pinctrl_sd1_cd_gpio>;
1458	cd-gpios = <&main_gpio1 48 GPIO_ACTIVE_LOW>;
1459	disable-wp;
1460	vmmc-supply = <&reg_sdhc1_vmmc>;
1461	vqmmc-supply = <&reg_sdhc1_vqmmc>;
1462	ti,fails-without-test-cd;
1463	status = "disabled";
1464};
1465
1466/* Verdin USB_1 */
1467&usbss0 {
1468	ti,vbus-divider;
1469	status = "disabled";
1470};
1471
1472&usb0 {
1473	adp-disable;
1474	usb-role-switch;
1475	status = "disabled";
1476
1477	port {
1478		usb0_ep: endpoint {
1479			remote-endpoint = <&usb_dr_connector>;
1480		};
1481	};
1482};
1483
1484/* Verdin USB_2 */
1485&usbss1 {
1486	ti,vbus-divider;
1487	status = "disabled";
1488};
1489
1490&usb1 {
1491	pinctrl-names = "default";
1492	pinctrl-0 = <&pinctrl_usb1>;
1493	dr_mode = "host";
1494	status = "disabled";
1495};
1496
1497/* Verdin UART_2 */
1498&wkup_uart0 {
1499	pinctrl-names = "default";
1500	pinctrl-0 = <&pinctrl_wkup_uart0>;
1501	status = "disabled";
1502};
1503