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