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