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