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