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