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