1 // SPDX-License-Identifier: GPL-2.0-or-later O 2 /* 3 * Copyright 2023 Toradex 4 * 5 * Common dtsi for Verdin AM62 SoM 6 * 7 * https://www.toradex.com/computer-on-modules 8 */ 9 10 #include <dt-bindings/gpio/gpio.h> 11 #include <dt-bindings/input/input.h> 12 #include <dt-bindings/interrupt-controller/arm 13 #include <dt-bindings/interrupt-controller/irq 14 #include <dt-bindings/net/ti-dp83867.h> 15 16 / { 17 chosen { 18 stdout-path = "serial2:115200n 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-conne 47 pinctrl-names = "default"; 48 pinctrl-0 = <&pinctrl_usb0_id> 49 id-gpios = <&main_gpio1 19 GPI 50 label = "USB_1"; 51 self-powered; 52 vbus-supply = <®_usb0_vbus> 53 54 port { 55 usb_dr_connector: endp 56 remote-endpoin 57 }; 58 }; 59 }; 60 61 verdin_gpio_keys: gpio-keys { 62 compatible = "gpio-keys"; 63 pinctrl-names = "default"; 64 pinctrl-0 = <&pinctrl_ctrl_wak 65 status = "disabled"; 66 67 verdin_key_wakeup: key-wakeup 68 debounce-interval = <1 69 /* Verdin CTRL_WAKE1_M 70 gpios = <&main_gpio0 3 71 label = "Wake-Up"; 72 linux,code = <KEY_WAKE 73 wakeup-source; 74 }; 75 }; 76 77 memory@80000000 { 78 device_type = "memory"; 79 reg = <0x00000000 0x80000000 0 80 }; 81 82 opp-table { 83 /* Add 1.4GHz OPP. Requires VD 84 opp-1400000000 { 85 opp-hz = /bits/ 64 <14 86 opp-supported-hw = <0x 87 clock-latency-ns = <60 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 = <330 101 regulator-min-microvolt = <330 102 regulator-name = "On-module +V 103 vin-supply = <®_vsodimm>; 104 }; 105 106 reg_1v2_dsi: regulator-1v2-dsi { 107 compatible = "regulator-fixed" 108 regulator-max-microvolt = <120 109 regulator-min-microvolt = <120 110 regulator-name = "On-module +V 111 vin-supply = <®_1v8>; 112 }; 113 114 /* Enabled by +V1.2_DSI */ 115 reg_1v8_dsi: regulator-1v8-dsi { 116 compatible = "regulator-fixed" 117 regulator-max-microvolt = <180 118 regulator-min-microvolt = <180 119 regulator-name = "On-module +V 120 vin-supply = <®_1v8>; 121 }; 122 123 /* Enabled by +V2.5_ETH */ 124 reg_1v0_eth: regulator-1v0-eth { 125 compatible = "regulator-fixed" 126 regulator-max-microvolt = <100 127 regulator-min-microvolt = <100 128 regulator-name = "On-module +V 129 vin-supply = <®_1v8>; 130 }; 131 132 /* Enabled by +V2.5_ETH */ 133 reg_1v8_eth: regulator-1v8-eth { 134 compatible = "regulator-fixed" 135 regulator-max-microvolt = <180 136 regulator-min-microvolt = <180 137 regulator-name = "On-module +V 138 vin-supply = <®_1v8>; 139 }; 140 141 reg_force_sleep_moci: regulator-force- 142 compatible = "regulator-fixed" 143 enable-active-high; 144 /* Verdin CTRL_SLEEP_MOCI# (SO 145 gpio = <&main_gpio0 31 GPIO_AC 146 regulator-always-on; 147 regulator-boot-on; 148 regulator-name = "CTRL_SLEEP_M 149 }; 150 151 /* Verdin SD_1 Power Supply */ 152 reg_sdhc1_vmmc: regulator-sdhci1 { 153 compatible = "regulator-fixed" 154 pinctrl-names = "default"; 155 pinctrl-0 = <&pinctrl_sd1_pwr_ 156 enable-active-high; 157 /* Verdin SD_1_PWR_EN (SODIMM 158 gpio = <&main_gpio0 29 GPIO_AC 159 off-on-delay-us = <100000>; 160 regulator-max-microvolt = <330 161 regulator-min-microvolt = <330 162 regulator-name = "+V3.3_SD"; 163 startup-delay-us = <2000>; 164 }; 165 166 reg_sdhc1_vqmmc: regulator-sdhci1-vqmm 167 compatible = "regulator-gpio"; 168 pinctrl-names = "default"; 169 pinctrl-0 = <&pinctrl_vsel_sd> 170 /* PMIC_VSEL_SD */ 171 gpios = <&main_gpio0 21 GPIO_A 172 regulator-name = "LDO1-VSEL-SD 173 regulator-min-microvolt = <180 174 regulator-max-microvolt = <330 175 states = <1800000 0x0>, 176 <3300000 0x1>; 177 vin-supply = <®_sd_3v3_1v8> 178 }; 179 180 reg_usb0_vbus: regulator-usb0-vbus { 181 compatible = "regulator-fixed" 182 pinctrl-names = "default"; 183 pinctrl-0 = <&pinctrl_usb0_en> 184 enable-active-high; 185 /* Verdin USB_1_EN (SODIMM 155 186 gpio = <&main_gpio1 50 GPIO_AC 187 regulator-max-microvolt = <500 188 regulator-min-microvolt = <500 189 regulator-name = "USB_1_EN"; 190 }; 191 192 reserved-memory { 193 #address-cells = <2>; 194 #size-cells = <2>; 195 ranges; 196 197 secure_tfa_ddr: tfa@9e780000 { 198 reg = <0x00 0x9e780000 199 alignment = <0x1000>; 200 no-map; 201 }; 202 203 secure_ddr: optee@9e800000 { 204 reg = <0x00 0x9e800000 205 alignment = <0x1000>; 206 no-map; 207 }; 208 209 wkup_r5fss0_core0_dma_memory_r 210 compatible = "shared-d 211 reg = <0x00 0x9db00000 212 no-map; 213 }; 214 }; 215 }; 216 217 &main_pmx0 { 218 /* Verdin PWM_1 */ 219 pinctrl_epwm0_a: main-epwm0a-default-p 220 pinctrl-single,pins = < 221 AM62X_IOPAD(0x01b4, PI 222 >; 223 }; 224 225 /* Verdin PWM_2 */ 226 pinctrl_epwm0_b: main-epwm0b-default-p 227 pinctrl-single,pins = < 228 AM62X_IOPAD(0x01b8, PI 229 >; 230 }; 231 232 /* Verdin PWM_3_DSI */ 233 pinctrl_epwm1_a: main-epwm1a-default-p 234 pinctrl-single,pins = < 235 AM62X_IOPAD(0x01bc, PI 236 >; 237 }; 238 239 /* Verdin QSPI_1_CLK as GPIO (conflict 240 pinctrl_qspi1_clk_gpio: main-gpio0-0-d 241 pinctrl-single,pins = < 242 AM62X_IOPAD(0x0000, PI 243 >; 244 }; 245 246 /* Verdin QSPI_1_IO0 as GPIO (conflict 247 pinctrl_qspi1_io0_gpio: main-gpio0-3-d 248 pinctrl-single,pins = < 249 AM62X_IOPAD(0x000c, PI 250 >; 251 }; 252 253 /* Verdin QSPI_1_IO1 as GPIO (conflict 254 pinctrl_qspi1_io1_gpio: main-gpio0-4-d 255 pinctrl-single,pins = < 256 AM62X_IOPAD(0x0010, PI 257 >; 258 }; 259 260 /* Verdin QSPI_1_IO2 as GPIO (conflict 261 pinctrl_qspi1_io2_gpio: main-gpio0-5-d 262 pinctrl-single,pins = < 263 AM62X_IOPAD(0x0014, PI 264 >; 265 }; 266 267 /* Verdin QSPI_1_IO3 as GPIO (conflict 268 pinctrl_qspi1_io3_gpio: main-gpio0-6-d 269 pinctrl-single,pins = < 270 AM62X_IOPAD(0x0018, PI 271 >; 272 }; 273 274 /* Verdin SPI_1 CS as GPIO */ 275 pinctrl_qspi1_io4_gpio: main-gpio0-7-d 276 pinctrl-single,pins = < 277 AM62X_IOPAD(0x001c, PI 278 >; 279 }; 280 281 /* Verdin QSPI_1_CS# as GPIO (conflict 282 pinctrl_qspi1_cs_gpio: main-gpio0-11-d 283 pinctrl-single,pins = < 284 AM62X_IOPAD(0x002c, PI 285 >; 286 }; 287 288 /* Verdin QSPI_1_CS2# as GPIO (conflic 289 pinctrl_qspi1_cs2_gpio: main-gpio0-12- 290 pinctrl-single,pins = < 291 AM62X_IOPAD(0x0030, PI 292 >; 293 }; 294 295 /* WiFi_W_WKUP_HOST# */ 296 pinctrl_wifi_w_wkup_host: main-gpio0-1 297 pinctrl-single,pins = < 298 AM62X_IOPAD(0x003c, PI 299 >; 300 }; 301 302 /* WiFi_BT_WKUP_HOST# */ 303 pinctrl_bt_wkup_host: main-gpio0-16-de 304 pinctrl-single,pins = < 305 AM62X_IOPAD(0x0040, PI 306 >; 307 }; 308 309 /* PMIC_ETH_RESET# */ 310 pinctrl_eth_reset: main-gpio0-17-defau 311 pinctrl-single,pins = < 312 AM62X_IOPAD(0x0044, PI 313 >; 314 }; 315 316 /* PMIC_BRIDGE_RESET# */ 317 pinctrl_bridge_reset: main-gpio0-20-de 318 pinctrl-single,pins = < 319 AM62X_IOPAD(0x0050, PI 320 >; 321 }; 322 323 /* PMIC_VSEL_SD */ 324 pinctrl_vsel_sd: main-gpio0-21-default 325 pinctrl-single,pins = < 326 AM62X_IOPAD(0x0054, PI 327 >; 328 }; 329 330 /* PMIC_EN_WIFI */ 331 pinctrl_wifi_en: main-gpio0-22-default 332 pinctrl-single,pins = < 333 AM62X_IOPAD(0x0058, PI 334 >; 335 }; 336 337 /* PMIC_ETH_INT# */ 338 pinctrl_eth_int: main-gpio0-25-default 339 pinctrl-single,pins = < 340 AM62X_IOPAD(0x0064, PI 341 >; 342 }; 343 344 /* WiFi_WKUP_BT# */ 345 pinctrl_wifi_wkup_bt: main-gpio0-26-de 346 pinctrl-single,pins = < 347 AM62X_IOPAD(0x0068, PI 348 >; 349 }; 350 351 /* WiFi_WKUP_WLAN# */ 352 pinctrl_wifi_wkup_wlan: main-gpio0-27- 353 pinctrl-single,pins = < 354 AM62X_IOPAD(0x006c, PI 355 >; 356 }; 357 358 /* Verdin SD_1_PWR_EN */ 359 pinctrl_sd1_pwr_en: main-gpio0-29-defa 360 pinctrl-single,pins = < 361 AM62X_IOPAD(0x0074, PI 362 >; 363 }; 364 365 /* Verdin DSI_1_BKL_EN */ 366 pinctrl_dsi1_bkl_en: main-gpio0-30-def 367 pinctrl-single,pins = < 368 AM62X_IOPAD(0x0078, PI 369 >; 370 }; 371 372 /* Verdin CTRL_SLEEP_MOCI# */ 373 pinctrl_ctrl_sleep_moci: main-gpio0-31 374 pinctrl-single,pins = < 375 AM62X_IOPAD(0x007c, PI 376 >; 377 }; 378 379 /* Verdin CTRL_WAKE1_MICO# */ 380 pinctrl_ctrl_wake1_mico: main-gpio0-32 381 pinctrl-single,pins = < 382 AM62X_IOPAD(0x0084, PI 383 >; 384 }; 385 386 /* Verdin I2S_2_D_OUT as GPIO (conflic 387 pinctrl_i2s_2_d_out_gpio: main-gpio0-3 388 pinctrl-single,pins = < 389 AM62X_IOPAD(0x008c, PI 390 >; 391 }; 392 393 /* Verdin I2S_2_BCLK as GPIO (conflict 394 pinctrl_i2s_2_bclk_gpio: main-gpio0-35 395 pinctrl-single,pins = < 396 AM62X_IOPAD(0x0090, PI 397 >; 398 }; 399 400 /* Verdin GPIO_6 */ 401 pinctrl_gpio_6: main-gpio0-36-default- 402 pinctrl-single,pins = < 403 AM62X_IOPAD(0x0094, PI 404 >; 405 }; 406 407 /* Verdin ETH_2_RGMII_INT# */ 408 pinctrl_eth2_rgmii_int: main-gpio0-38- 409 pinctrl-single,pins = < 410 AM62X_IOPAD(0x009c, PI 411 >; 412 }; 413 414 /* Verdin GPIO_5 */ 415 pinctrl_gpio_5: main-gpio0-40-default- 416 pinctrl-single,pins = < 417 AM62X_IOPAD(0x00a4, PI 418 >; 419 }; 420 421 /* Verdin GPIO_7 */ 422 pinctrl_gpio_7: main-gpio0-41-default- 423 pinctrl-single,pins = < 424 AM62X_IOPAD(0x00a8, PI 425 >; 426 }; 427 428 /* Verdin GPIO_8 */ 429 pinctrl_gpio_8: main-gpio0-42-default- 430 pinctrl-single,pins = < 431 AM62X_IOPAD(0x00ac, PI 432 >; 433 }; 434 435 /* Verdin USB_1_OC# */ 436 pinctrl_usb1_oc: main-gpio0-71-default 437 pinctrl-single,pins = < 438 AM62X_IOPAD(0x0124, PI 439 >; 440 }; 441 442 /* Verdin USB_2_OC# */ 443 pinctrl_usb2_oc: main-gpio0-72-default 444 pinctrl-single,pins = < 445 AM62X_IOPAD(0x0128, PI 446 >; 447 }; 448 449 /* Verdin PWM_3_DSI as GPIO */ 450 pinctrl_pwm3_dsi_gpio: main-gpio1-17-d 451 pinctrl-single,pins = < 452 AM62X_IOPAD(0x01bc, PI 453 >; 454 }; 455 456 /* Verdin QSPI_1_DQS as GPIO */ 457 pinctrl_qspi1_dqs_gpio: main-gpio1-18- 458 pinctrl-single,pins = < 459 AM62X_IOPAD(0x01c0, PI 460 >; 461 }; 462 463 /* Verdin USB_1_ID */ 464 pinctrl_usb0_id: main-gpio1-19-default 465 pinctrl-single,pins = < 466 AM62X_IOPAD(0x01c4, PI 467 >; 468 }; 469 470 /* Verdin SD_1_CD# as GPIO */ 471 pinctrl_sd1_cd_gpio: main-gpio1-48-def 472 pinctrl-single,pins = < 473 AM62X_IOPAD(0x240, PIN 474 >; 475 }; 476 477 /* Verdin DSI_1_INT# (pulled-up as act 478 pinctrl_dsi1_int: main-gpio1-49-defaul 479 pinctrl-single,pins = < 480 AM62X_IOPAD(0x0244, PI 481 >; 482 }; 483 484 /* Verdin USB_1_EN */ 485 pinctrl_usb0_en: main-gpio1-50-default 486 pinctrl-single,pins = < 487 AM62X_IOPAD(0x0254, PI 488 >; 489 }; 490 491 /* On-module I2C - PMIC_I2C */ 492 pinctrl_i2c0: main-i2c0-default-pins { 493 pinctrl-single,pins = < 494 AM62X_IOPAD(0x01e0, PI 495 AM62X_IOPAD(0x01e4, PI 496 >; 497 }; 498 499 /* Verdin I2C_1 */ 500 pinctrl_i2c1: main-i2c1-default-pins { 501 pinctrl-single,pins = < 502 AM62X_IOPAD(0x01e8, PI 503 AM62X_IOPAD(0x01ec, PI 504 >; 505 }; 506 507 /* Verdin I2C_2_DSI */ 508 pinctrl_i2c2: main-i2c2-default-pins { 509 pinctrl-single,pins = < 510 AM62X_IOPAD(0x00b0, PI 511 AM62X_IOPAD(0x00b4, PI 512 >; 513 }; 514 515 /* Verdin I2C_4_CSI */ 516 pinctrl_i2c3: main-i2c3-default-pins { 517 pinctrl-single,pins = < 518 AM62X_IOPAD(0x01d0, PI 519 AM62X_IOPAD(0x01d4, PI 520 >; 521 }; 522 523 /* I2S_1_MCLK */ 524 pinctrl_i2s1_mclk: main-system-audio-e 525 pinctrl-single,pins = < 526 AM62X_IOPAD(0x00a0, PI 527 >; 528 }; 529 530 /* Verdin I2S_1 */ 531 pinctrl_mcasp0: main-mcasp0-default-pi 532 pinctrl-single,pins = < 533 AM62X_IOPAD(0x01a4, PI 534 AM62X_IOPAD(0x01a8, PI 535 AM62X_IOPAD(0x01a0, PI 536 AM62X_IOPAD(0x019c, PI 537 >; 538 }; 539 540 /* Verdin I2S_2 */ 541 pinctrl_mcasp1: main-mcasp1-default-pi 542 pinctrl-single,pins = < 543 AM62X_IOPAD(0x0090, PI 544 AM62X_IOPAD(0x0098, PI 545 AM62X_IOPAD(0x008c, PI 546 AM62X_IOPAD(0x0088, PI 547 >; 548 }; 549 550 /* Verdin CAN_1 */ 551 pinctrl_mcan0: main-mcan0-default-pins 552 pinctrl-single,pins = < 553 AM62X_IOPAD(0x01dc, PI 554 AM62X_IOPAD(0x01d8, PI 555 >; 556 }; 557 558 /* MDIO, shared by Verdin ETH_1 (On-mo 559 pinctrl_mdio: main-mdio1-default-pins 560 pinctrl-single,pins = < 561 AM62X_IOPAD(0x160, PIN 562 AM62X_IOPAD(0x15c, PIN 563 >; 564 }; 565 566 /* On-module eMMC */ 567 pinctrl_sdhci0: main-mmc0-default-pins 568 pinctrl-single,pins = < 569 AM62X_IOPAD(0x220, PIN 570 AM62X_IOPAD(0x218, PIN 571 AM62X_IOPAD(0x214, PIN 572 AM62X_IOPAD(0x210, PIN 573 AM62X_IOPAD(0x20c, PIN 574 AM62X_IOPAD(0x208, PIN 575 AM62X_IOPAD(0x204, PIN 576 AM62X_IOPAD(0x200, PIN 577 AM62X_IOPAD(0x1fc, PIN 578 AM62X_IOPAD(0x1f8, PIN 579 >; 580 }; 581 582 /* Verdin SD_1 */ 583 pinctrl_sdhci1: main-mmc1-default-pins 584 pinctrl-single,pins = < 585 AM62X_IOPAD(0x23c, PIN 586 AM62X_IOPAD(0x234, PIN 587 AM62X_IOPAD(0x230, PIN 588 AM62X_IOPAD(0x22c, PIN 589 AM62X_IOPAD(0x228, PIN 590 AM62X_IOPAD(0x224, PIN 591 >; 592 }; 593 594 /* On-module Wi-Fi on WB SKUs, module- 595 pinctrl_sdhci2: main-mmc2-default-pins 596 pinctrl-single,pins = < 597 AM62X_IOPAD(0x120, PIN 598 AM62X_IOPAD(0x118, PIN 599 AM62X_IOPAD(0x114, PIN 600 AM62X_IOPAD(0x110, PIN 601 AM62X_IOPAD(0x10c, PIN 602 AM62X_IOPAD(0x108, PIN 603 AM62X_IOPAD(0x11c, PIN 604 >; 605 }; 606 607 /* Verdin QSPI_1 */ 608 pinctrl_ospi0: main-ospi0-default-pins 609 pinctrl-single,pins = < 610 AM62X_IOPAD(0x0000, PI 611 AM62X_IOPAD(0x002c, PI 612 AM62X_IOPAD(0x0030, PI 613 AM62X_IOPAD(0x000c, PI 614 AM62X_IOPAD(0x0010, PI 615 AM62X_IOPAD(0x0014, PI 616 AM62X_IOPAD(0x0018, PI 617 >; 618 }; 619 620 /* Verdin ETH_1 RGMII (On-module PHY) 621 pinctrl_rgmii1: main-rgmii1-default-pi 622 pinctrl-single,pins = < 623 AM62X_IOPAD(0x14c, PIN 624 AM62X_IOPAD(0x150, PIN 625 AM62X_IOPAD(0x154, PIN 626 AM62X_IOPAD(0x158, PIN 627 AM62X_IOPAD(0x148, PIN 628 AM62X_IOPAD(0x144, PIN 629 AM62X_IOPAD(0x134, PIN 630 AM62X_IOPAD(0x138, PIN 631 AM62X_IOPAD(0x13c, PIN 632 AM62X_IOPAD(0x140, PIN 633 AM62X_IOPAD(0x130, PIN 634 AM62X_IOPAD(0x12c, PIN 635 >; 636 }; 637 638 /* Verdin ETH_2 RGMII */ 639 pinctrl_rgmii2: main-rgmii2-default-pi 640 pinctrl-single,pins = < 641 AM62X_IOPAD(0x184, PIN 642 AM62X_IOPAD(0x188, PIN 643 AM62X_IOPAD(0x18c, PIN 644 AM62X_IOPAD(0x190, PIN 645 AM62X_IOPAD(0x180, PIN 646 AM62X_IOPAD(0x17c, PIN 647 AM62X_IOPAD(0x16c, PIN 648 AM62X_IOPAD(0x170, PIN 649 AM62X_IOPAD(0x174, PIN 650 AM62X_IOPAD(0x178, PIN 651 AM62X_IOPAD(0x168, PIN 652 AM62X_IOPAD(0x164, PIN 653 >; 654 }; 655 656 /* Verdin SPI_1 */ 657 pinctrl_spi1: main-spi1-default-pins { 658 pinctrl-single,pins = < 659 AM62X_IOPAD(0x0020, PI 660 AM62X_IOPAD(0x0024, PI 661 AM62X_IOPAD(0x0028, PI 662 >; 663 }; 664 665 /* Verdin SPI_1 CS */ 666 pinctrl_spi1_cs0: main-spi1-cs0-defaul 667 pinctrl-single,pins = < 668 AM62X_IOPAD(0x001c, PI 669 >; 670 }; 671 672 /* ETH_25MHz_CLK */ 673 pinctrl_eth_clock: main-system-clkout0 674 pinctrl-single,pins = < 675 AM62X_IOPAD(0x01f0, PI 676 >; 677 }; 678 679 /* PMIC_EXTINT# */ 680 pinctrl_pmic_extint: main-system-extin 681 pinctrl-single,pins = < 682 AM62X_IOPAD(0x01f4, PI 683 >; 684 }; 685 686 /* Verdin UART_3, used as the Linux co 687 pinctrl_uart0: main-uart0-default-pins 688 pinctrl-single,pins = < 689 AM62X_IOPAD(0x1c8, PIN 690 AM62X_IOPAD(0x1cc, PIN 691 >; 692 }; 693 694 /* Verdin UART_1 */ 695 pinctrl_uart1: main-uart1-default-pins 696 pinctrl-single,pins = < 697 AM62X_IOPAD(0x0194, PI 698 AM62X_IOPAD(0x0198, PI 699 AM62X_IOPAD(0x01ac, PI 700 AM62X_IOPAD(0x01b0, PI 701 >; 702 }; 703 704 /* Bluetooth on WB SKUs, module-specif 705 pinctrl_uart5: main-uart5-default-pins 706 pinctrl-single,pins = < 707 AM62X_IOPAD(0x0008, PI 708 AM62X_IOPAD(0x0004, PI 709 AM62X_IOPAD(0x0034, PI 710 AM62X_IOPAD(0x0038, PI 711 >; 712 }; 713 714 /* Verdin USB_2 */ 715 pinctrl_usb1: main-usb1-default-pins { 716 pinctrl-single,pins = < 717 AM62X_IOPAD(0x0258, PI 718 >; 719 }; 720 721 /* DSS VOUT0 RGB */ 722 pinctrl_parallel_rgb: main-vout-defaul 723 pinctrl-single,pins = < 724 AM62X_IOPAD(0x0100, PI 725 AM62X_IOPAD(0x00f8, PI 726 AM62X_IOPAD(0x0104, PI 727 AM62X_IOPAD(0x00fc, PI 728 AM62X_IOPAD(0x00b8, PI 729 AM62X_IOPAD(0x00bc, PI 730 AM62X_IOPAD(0x00c0, PI 731 AM62X_IOPAD(0x00c4, PI 732 AM62X_IOPAD(0x00c8, PI 733 AM62X_IOPAD(0x00cc, PI 734 AM62X_IOPAD(0x00d0, PI 735 AM62X_IOPAD(0x00d4, PI 736 AM62X_IOPAD(0x00d8, PI 737 AM62X_IOPAD(0x00dc, PI 738 AM62X_IOPAD(0x00e0, PI 739 AM62X_IOPAD(0x00e4, PI 740 AM62X_IOPAD(0x00e8, PI 741 AM62X_IOPAD(0x00ec, PI 742 AM62X_IOPAD(0x00f0, PI 743 AM62X_IOPAD(0x00f4, PI 744 AM62X_IOPAD(0x005c, PI 745 AM62X_IOPAD(0x0060, PI 746 >; 747 }; 748 }; 749 750 &mcu_pmx0 { 751 /* Verdin PCIE_1_RESET# */ 752 pinctrl_pcie_1_reset: mcu-gpio0-0-defa 753 pinctrl-single,pins = < 754 AM62X_MCU_IOPAD(0x0000 755 >; 756 }; 757 758 /* Verdin GPIO_1 */ 759 pinctrl_gpio_1: mcu-gpio0-1-default-pi 760 pinctrl-single,pins = < 761 AM62X_MCU_IOPAD(0x0004 762 >; 763 }; 764 765 /* Verdin GPIO_2 */ 766 pinctrl_gpio_2: mcu-gpio0-2-default-pi 767 pinctrl-single,pins = < 768 AM62X_MCU_IOPAD(0x0008 769 >; 770 }; 771 772 /* Verdin GPIO_3 */ 773 pinctrl_gpio_3: mcu-gpio0-3-default-pi 774 pinctrl-single,pins = < 775 AM62X_MCU_IOPAD(0x000c 776 >; 777 }; 778 779 /* Verdin GPIO_4 */ 780 pinctrl_gpio_4: mcu-gpio0-4-default-pi 781 pinctrl-single,pins = < 782 AM62X_MCU_IOPAD(0x0010 783 >; 784 }; 785 786 /* Verdin I2C_3_HDMI */ 787 pinctrl_mcu_i2c0: mcu-i2c0-default-pin 788 pinctrl-single,pins = < 789 AM62X_MCU_IOPAD(0x0044 790 AM62X_MCU_IOPAD(0x0048 791 >; 792 }; 793 794 /* Verdin CAN_2 */ 795 pinctrl_mcu_mcan0: mcu-mcan0-default-p 796 pinctrl-single,pins = < 797 AM62X_MCU_IOPAD(0x0038 798 AM62X_MCU_IOPAD(0x0034 799 >; 800 }; 801 802 /* Verdin UART_4 - Reserved to Cortex- 803 pinctrl_mcu_uart0: mcu-uart0-default-p 804 pinctrl-single,pins = < 805 AM62X_MCU_IOPAD(0x0014 806 AM62X_MCU_IOPAD(0x0018 807 >; 808 }; 809 810 /* Verdin CSI_1_MCLK */ 811 pinctrl_csi1_mclk: wkup-clkout0-defaul 812 pinctrl-single,pins = < 813 AM62X_MCU_IOPAD(0x0084 814 >; 815 }; 816 817 /* Verdin UART_2 */ 818 pinctrl_wkup_uart0: wkup-uart0-default 819 pinctrl-single,pins = < 820 AM62X_MCU_IOPAD(0x002c 821 AM62X_MCU_IOPAD(0x0030 822 AM62X_MCU_IOPAD(0x0024 823 AM62X_MCU_IOPAD(0x0028 824 >; 825 }; 826 }; 827 828 /* VERDIN I2S_1_MCLK */ 829 &audio_refclk1 { 830 assigned-clock-rates = <25000000>; 831 }; 832 833 &cpsw3g { 834 pinctrl-names = "default"; 835 pinctrl-0 = <&pinctrl_rgmii1>; 836 status = "disabled"; 837 }; 838 839 /* Verdin ETH_1 (On-module PHY) */ 840 &cpsw_port1 { 841 phy-handle = <&cpsw3g_phy0>; 842 phy-mode = "rgmii-rxid"; 843 status = "disabled"; 844 }; 845 846 /* Verdin ETH_2_RGMII */ 847 &cpsw_port2 { 848 status = "disabled"; 849 }; 850 851 /* MDIO, shared by Verdin ETH_1 (On-module PHY 852 &cpsw3g_mdio { 853 assigned-clocks = <&k3_clks 157 20>; 854 assigned-clock-parents = <&k3_clks 157 855 assigned-clock-rates = <25000000>; 856 pinctrl-names = "default"; 857 pinctrl-0 = <&pinctrl_eth_clock>, <&pi 858 status = "disabled"; 859 860 cpsw3g_phy0: ethernet-phy@0 { 861 compatible = "ethernet-phy-id2 862 reg = <0>; 863 interrupt-parent = <&main_gpio 864 interrupts = <25 IRQ_TYPE_EDGE 865 pinctrl-names = "default"; 866 pinctrl-0 = <&pinctrl_eth_int> 867 reset-gpios = <&main_gpio0 17 868 reset-assert-us = <10>; 869 reset-deassert-us = <1000>; 870 ti,fifo-depth = <DP83867_PHYCR 871 ti,rx-internal-delay = <DP8386 872 }; 873 }; 874 875 &dss { 876 pinctrl-names = "default"; 877 pinctrl-0 = <&pinctrl_parallel_rgb>; 878 status = "disabled"; 879 }; 880 881 &dss_ports { 882 #address-cells = <1>; 883 #size-cells = <0>; 884 885 /* VP2: DPI Output */ 886 port@1 { 887 reg = <1>; 888 889 dpi_out: endpoint { 890 remote-endpoint = <&rg 891 }; 892 }; 893 }; 894 895 /* Verdin PWM_1, PWM_2 */ 896 &epwm0 { 897 pinctrl-names = "default"; 898 pinctrl-0 = <&pinctrl_epwm0_a>, <&pinc 899 status = "disabled"; 900 }; 901 902 /* Verdin PWM_3_DSI */ 903 &epwm1 { 904 pinctrl-names = "default"; 905 pinctrl-0 = <&pinctrl_epwm1_a>; 906 status = "disabled"; 907 }; 908 909 &main_gpio0 { 910 gpio-line-names = 911 "SODIMM_52", /* 0 */ 912 "", 913 "", 914 "SODIMM_56", 915 "SODIMM_58", 916 "SODIMM_60", 917 "SODIMM_62", 918 "", 919 "", 920 "", 921 "", /* 10 */ 922 "SODIMM_54", 923 "SODIMM_64", 924 "", 925 "", 926 "SODIMM_174", 927 "SODIMM_172", 928 "", 929 "", 930 "", 931 "", /* 20 */ 932 "", 933 "", 934 "", 935 "", 936 "", 937 "", 938 "", 939 "", 940 "SODIMM_76", 941 "SODIMM_21", /* 30 */ 942 "SODIMM_256", 943 "SODIMM_252", 944 "", 945 "SODIMM_46", 946 "SODIMM_42", 947 "SODIMM_218", 948 "", 949 "SODIMM_189", 950 "", 951 "SODIMM_216", /* 40 */ 952 "SODIMM_220", 953 "SODIMM_222", 954 "", 955 "", 956 "", 957 "", 958 "", 959 "", 960 "", 961 "", /* 50 */ 962 "", 963 "", 964 "", 965 "", 966 "", 967 "", 968 "", 969 "", 970 "", 971 "", /* 60 */ 972 "", 973 "", 974 "", 975 "", 976 "", 977 "", 978 "", 979 "", 980 "", 981 "", /* 70 */ 982 "SODIMM_157", 983 "SODIMM_187", 984 "", 985 "", 986 "", 987 "", 988 "", 989 "", 990 "", 991 "", /* 80 */ 992 "", 993 "", 994 "", 995 "", 996 "", 997 ""; 998 }; 999 1000 &main_gpio1 { 1001 gpio-line-names = 1002 "", /* 0 */ 1003 "", 1004 "", 1005 "", 1006 "", 1007 "", 1008 "", 1009 "", 1010 "", 1011 "", 1012 "", /* 10 */ 1013 "", 1014 "", 1015 "", 1016 "", 1017 "SODIMM_15", 1018 "SODIMM_16", 1019 "SODIMM_19", 1020 "SODIMM_66", 1021 "SODIMM_161", 1022 "", /* 20 */ 1023 "", 1024 "", 1025 "", 1026 "", 1027 "", 1028 "", 1029 "", 1030 "", 1031 "", 1032 "", /* 30 */ 1033 "", 1034 "", 1035 "", 1036 "", 1037 "", 1038 "", 1039 "", 1040 "", 1041 "", 1042 "", /* 40 */ 1043 "", 1044 "", 1045 "", 1046 "", 1047 "", 1048 "", 1049 "", 1050 "", 1051 "SODIMM_17", 1052 "SODIMM_155", /* 50 */ 1053 "", 1054 "", 1055 "", 1056 "", 1057 "", 1058 "", 1059 "", 1060 "", 1061 "", 1062 "", /* 60 */ 1063 "", 1064 "", 1065 "", 1066 "", 1067 "", 1068 "", 1069 "", 1070 "", 1071 "", 1072 "", /* 70 */ 1073 "", 1074 "", 1075 "", 1076 "", 1077 "", 1078 "", 1079 "", 1080 "", 1081 "", 1082 "", /* 80 */ 1083 "", 1084 "", 1085 "", 1086 "", 1087 "", 1088 "", 1089 ""; 1090 }; 1091 1092 /* On-module I2C - PMIC_I2C */ 1093 &main_i2c0 { 1094 pinctrl-names = "default"; 1095 pinctrl-0 = <&pinctrl_i2c0>; 1096 clock-frequency = <400000>; 1097 status = "okay"; 1098 1099 dsi_bridge: dsi@e { 1100 compatible = "toshiba,tc35877 1101 reg = <0xe>; 1102 assigned-clocks = <&k3_clks 1 1103 assigned-clock-parents = <&k3 1104 assigned-clock-rates = <25000 1105 pinctrl-names = "default"; 1106 pinctrl-0 = <&pinctrl_bridge_ 1107 clocks = <&k3_clks 157 20>; 1108 clock-names = "refclk"; 1109 reset-gpios = <&main_gpio0 20 1110 vddc-supply = <®_1v2_dsi>; 1111 vddmipi-supply = <®_1v2_ds 1112 vddio-supply = <®_1v8_dsi> 1113 status = "disabled"; 1114 1115 dsi_bridge_ports: ports { 1116 #address-cells = <1>; 1117 #size-cells = <0>; 1118 1119 port@0 { 1120 reg = <0>; 1121 1122 rgb_in: endpo 1123 data- 1124 remot 1125 }; 1126 }; 1127 1128 port@1 { 1129 reg = <1>; 1130 }; 1131 }; 1132 }; 1133 1134 pmic@30 { 1135 compatible = "ti,tps65219"; 1136 reg = <0x30>; 1137 pinctrl-names = "default"; 1138 pinctrl-0 = <&pinctrl_pmic_ex 1139 interrupt-parent = <&gic500>; 1140 interrupts = <GIC_SPI 224 IRQ 1141 1142 buck1-supply = <®_vsodimm> 1143 buck2-supply = <®_vsodimm> 1144 buck3-supply = <®_vsodimm> 1145 ldo1-supply = <®_3v3>; 1146 ldo2-supply = <®_1v8>; 1147 ldo3-supply = <®_3v3>; 1148 ldo4-supply = <®_3v3>; 1149 system-power-controller; 1150 ti,power-button; 1151 1152 regulators { 1153 reg_vdd_core: buck1 { 1154 regulator-alw 1155 regulator-boo 1156 regulator-max 1157 regulator-min 1158 regulator-nam 1159 }; 1160 1161 reg_1v8: buck2 { 1162 regulator-alw 1163 regulator-boo 1164 regulator-max 1165 regulator-min 1166 regulator-nam 1167 }; 1168 1169 reg_vdd_ddr: buck3 { 1170 regulator-alw 1171 regulator-boo 1172 regulator-max 1173 regulator-min 1174 regulator-nam 1175 }; 1176 1177 reg_sd_3v3_1v8: ldo1 1178 regulator-all 1179 regulator-alw 1180 regulator-boo 1181 regulator-max 1182 regulator-min 1183 regulator-nam 1184 }; 1185 1186 reg_vddr_core: ldo2 { 1187 regulator-alw 1188 regulator-boo 1189 regulator-max 1190 regulator-min 1191 regulator-nam 1192 }; 1193 1194 reg_1v8a: ldo3 { 1195 regulator-alw 1196 regulator-boo 1197 regulator-max 1198 regulator-min 1199 regulator-nam 1200 }; 1201 1202 reg_eth_2v5: ldo4 { 1203 regulator-alw 1204 regulator-boo 1205 regulator-max 1206 regulator-min 1207 regulator-nam 1208 }; 1209 }; 1210 }; 1211 1212 rtc_i2c: rtc@32 { 1213 compatible = "epson,rx8130"; 1214 reg = <0x32>; 1215 }; 1216 1217 sensor@48 { 1218 compatible = "ti,tmp1075"; 1219 reg = <0x48>; 1220 }; 1221 1222 adc@49 { 1223 compatible = "ti,ads1015"; 1224 reg = <0x49>; 1225 #address-cells = <1>; 1226 #size-cells = <0>; 1227 1228 /* Verdin PMIC_I2C (ADC_4 - A 1229 channel@0 { 1230 reg = <0>; 1231 ti,datarate = <4>; 1232 ti,gain = <2>; 1233 }; 1234 1235 /* Verdin PMIC_I2C (ADC_4 - A 1236 channel@1 { 1237 reg = <1>; 1238 ti,datarate = <4>; 1239 ti,gain = <2>; 1240 }; 1241 1242 /* Verdin PMIC_I2C (ADC_3 - A 1243 channel@2 { 1244 reg = <2>; 1245 ti,datarate = <4>; 1246 ti,gain = <2>; 1247 }; 1248 1249 /* Verdin PMIC_I2C (ADC_2 - A 1250 channel@3 { 1251 reg = <3>; 1252 ti,datarate = <4>; 1253 ti,gain = <2>; 1254 }; 1255 1256 /* Verdin PMIC_I2C ADC_4 */ 1257 channel@4 { 1258 reg = <4>; 1259 ti,datarate = <4>; 1260 ti,gain = <2>; 1261 }; 1262 1263 /* Verdin PMIC_I2C ADC_3 */ 1264 channel@5 { 1265 reg = <5>; 1266 ti,datarate = <4>; 1267 ti,gain = <2>; 1268 }; 1269 1270 /* Verdin PMIC_I2C ADC_2 */ 1271 channel@6 { 1272 reg = <6>; 1273 ti,datarate = <4>; 1274 ti,gain = <2>; 1275 }; 1276 1277 /* Verdin PMIC_I2C ADC_1 */ 1278 channel@7 { 1279 reg = <7>; 1280 ti,datarate = <4>; 1281 ti,gain = <2>; 1282 }; 1283 }; 1284 1285 eeprom@50 { 1286 compatible = "st,24c02", "atm 1287 pagesize = <16>; 1288 reg = <0x50>; 1289 }; 1290 }; 1291 1292 /* Verdin I2C_1 */ 1293 &main_i2c1 { 1294 pinctrl-names = "default"; 1295 pinctrl-0 = <&pinctrl_i2c1>; 1296 status = "disabled"; 1297 }; 1298 1299 /* Verdin I2C_2_DSI */ 1300 &main_i2c2 { 1301 pinctrl-names = "default"; 1302 pinctrl-0 = <&pinctrl_i2c2>; 1303 status = "disabled"; 1304 }; 1305 1306 /* Verdin I2C_4_CSI */ 1307 &main_i2c3 { 1308 pinctrl-names = "default"; 1309 pinctrl-0 = <&pinctrl_i2c3>; 1310 status = "disabled"; 1311 }; 1312 1313 &mailbox0_cluster0 { 1314 mbox_m4_0: mbox-m4-0 { 1315 ti,mbox-rx = <0 0 0>; 1316 ti,mbox-tx = <1 0 0>; 1317 }; 1318 }; 1319 1320 /* Verdin CAN_1 */ 1321 &main_mcan0 { 1322 pinctrl-names = "default"; 1323 pinctrl-0 = <&pinctrl_mcan0>; 1324 status = "disabled"; 1325 }; 1326 1327 /* Verdin SPI_1 */ 1328 &main_spi1 { 1329 pinctrl-names = "default"; 1330 pinctrl-0 = <&pinctrl_spi1>, <&pinctr 1331 ti,pindir-d0-out-d1-in; 1332 status = "disabled"; 1333 }; 1334 1335 /* Verdin UART_3, used as the Linux console * 1336 &main_uart0 { 1337 pinctrl-names = "default"; 1338 pinctrl-0 = <&pinctrl_uart0>; 1339 status = "disabled"; 1340 }; 1341 1342 /* Verdin UART_1 */ 1343 &main_uart1 { 1344 pinctrl-names = "default"; 1345 pinctrl-0 = <&pinctrl_uart1>; 1346 status = "disabled"; 1347 }; 1348 1349 /* Verdin I2S_1 */ 1350 &mcasp0 { 1351 pinctrl-names = "default"; 1352 pinctrl-0 = <&pinctrl_mcasp0>; 1353 op-mode = <0>; /* I2S mode */ 1354 serial-dir = < /* 0: INACTIVE, 1: TX 1355 1 2 0 0 1356 0 0 0 0 1357 0 0 0 0 1358 0 0 0 0 1359 >; 1360 tdm-slots = <2>; 1361 #sound-dai-cells = <0>; 1362 status = "disabled"; 1363 }; 1364 1365 /* Verdin I2S_2 */ 1366 &mcasp1 { 1367 pinctrl-names = "default"; 1368 pinctrl-0 = <&pinctrl_mcasp1>; 1369 op-mode = <0>; /* I2S mode */ 1370 serial-dir = < /* 0: INACTIVE, 1: TX 1371 1 2 0 0 1372 0 0 0 0 1373 0 0 0 0 1374 0 0 0 0 1375 >; 1376 tdm-slots = <2>; 1377 #sound-dai-cells = <0>; 1378 status = "disabled"; 1379 }; 1380 1381 /* Verdin I2C_3_HDMI */ 1382 &mcu_i2c0 { 1383 pinctrl-names = "default"; 1384 pinctrl-0 = <&pinctrl_mcu_i2c0>; 1385 status = "disabled"; 1386 }; 1387 1388 &mcu_gpio0 { 1389 gpio-line-names = 1390 "SODIMM_244", 1391 "SODIMM_206", 1392 "SODIMM_208", 1393 "SODIMM_210", 1394 "SODIMM_212", 1395 "", 1396 "", 1397 "", 1398 "", 1399 "", 1400 "", 1401 "", 1402 "", 1403 "", 1404 "", 1405 "", 1406 "", 1407 "", 1408 "", 1409 "", 1410 "", 1411 "", 1412 "", 1413 ""; 1414 1415 verdin_pcie_1_reset_hog: pcie-1-reset 1416 gpio-hog; 1417 /* Verdin PCIE_1_RESET# (SODI 1418 gpios = <0 GPIO_ACTIVE_LOW>; 1419 line-name = "PCIE_1_RESET#"; 1420 output-low; 1421 status = "disabled"; 1422 }; 1423 }; 1424 1425 /* Verdin CAN_2 */ 1426 &mcu_mcan0 { 1427 pinctrl-names = "default"; 1428 pinctrl-0 = <&pinctrl_mcu_mcan0>; 1429 status = "disabled"; 1430 }; 1431 1432 /* Verdin UART_4 - Cortex-M4 UART */ 1433 &mcu_uart0 { 1434 pinctrl-names = "default"; 1435 pinctrl-0 = <&pinctrl_mcu_uart0>; 1436 status = "disabled"; 1437 }; 1438 1439 /* Verdin QSPI_1 */ 1440 &ospi0 { 1441 pinctrl-names = "default"; 1442 pinctrl-0 = <&pinctrl_ospi0>; 1443 status = "disabled"; 1444 }; 1445 1446 /* On-module eMMC */ 1447 &sdhci0 { 1448 pinctrl-names = "default"; 1449 pinctrl-0 = <&pinctrl_sdhci0>; 1450 non-removable; 1451 status = "okay"; 1452 }; 1453 1454 /* Verdin SD_1 */ 1455 &sdhci1 { 1456 pinctrl-names = "default"; 1457 pinctrl-0 = <&pinctrl_sdhci1>, <&pinc 1458 cd-gpios = <&main_gpio1 48 GPIO_ACTIV 1459 disable-wp; 1460 vmmc-supply = <®_sdhc1_vmmc>; 1461 vqmmc-supply = <®_sdhc1_vqmmc>; 1462 ti,fails-without-test-cd; 1463 status = "disabled"; 1464 }; 1465 1466 /* Verdin USB_1 */ 1467 &usbss0 { 1468 ti,vbus-divider; 1469 status = "disabled"; 1470 }; 1471 1472 &usb0 { 1473 adp-disable; 1474 usb-role-switch; 1475 status = "disabled"; 1476 1477 port { 1478 usb0_ep: endpoint { 1479 remote-endpoint = <&u 1480 }; 1481 }; 1482 }; 1483 1484 /* Verdin USB_2 */ 1485 &usbss1 { 1486 ti,vbus-divider; 1487 status = "disabled"; 1488 }; 1489 1490 &usb1 { 1491 pinctrl-names = "default"; 1492 pinctrl-0 = <&pinctrl_usb1>; 1493 dr_mode = "host"; 1494 status = "disabled"; 1495 }; 1496 1497 /* Verdin UART_2 */ 1498 &wkup_uart0 { 1499 pinctrl-names = "default"; 1500 pinctrl-0 = <&pinctrl_wkup_uart0>; 1501 status = "disabled"; 1502 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.