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