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 reg_force_sleep_moci: regulator-force-sleep-moci { 142 compatible = "regulator-fixed"; 143 enable-active-high; 144 /* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */ 145 gpio = <&main_gpio0 31 GPIO_ACTIVE_HIGH>; 146 regulator-always-on; 147 regulator-boot-on; 148 regulator-name = "CTRL_SLEEP_MOCI#"; 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_en>; 156 enable-active-high; 157 /* Verdin SD_1_PWR_EN (SODIMM 76) */ 158 gpio = <&main_gpio0 29 GPIO_ACTIVE_HIGH>; 159 off-on-delay-us = <100000>; 160 regulator-max-microvolt = <3300000>; 161 regulator-min-microvolt = <3300000>; 162 regulator-name = "+V3.3_SD"; 163 startup-delay-us = <20000>; 164 }; 165 166 reg_sdhc1_vqmmc: regulator-sdhci1-vqmmc { 167 compatible = "regulator-gpio"; 168 pinctrl-names = "default"; 169 pinctrl-0 = <&pinctrl_vsel_sd>; 170 /* PMIC_VSEL_SD */ 171 gpios = <&main_gpio0 21 GPIO_ACTIVE_HIGH>; 172 regulator-name = "LDO1-VSEL-SD (PMIC)"; 173 regulator-min-microvolt = <1800000>; 174 regulator-max-microvolt = <3300000>; 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_ACTIVE_HIGH>; 187 regulator-max-microvolt = <5000000>; 188 regulator-min-microvolt = <5000000>; 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 0x00 0x80000>; 199 alignment = <0x1000>; 200 no-map; 201 }; 202 203 secure_ddr: optee@9e800000 { 204 reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */ 205 alignment = <0x1000>; 206 no-map; 207 }; 208 209 wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9db00000 { 210 compatible = "shared-dma-pool"; 211 reg = <0x00 0x9db00000 0x00 0xc00000>; 212 no-map; 213 }; 214 }; 215}; 216 217&main_pmx0 { 218 /* Verdin PWM_1 */ 219 pinctrl_epwm0_a: main-epwm0a-default-pins { 220 pinctrl-single,pins = < 221 AM62X_IOPAD(0x01b4, PIN_OUTPUT, 2) /* (A13) SPI0_CS0.EHRPWM0_A */ /* SODIMM 15 */ 222 >; 223 }; 224 225 /* Verdin PWM_2 */ 226 pinctrl_epwm0_b: main-epwm0b-default-pins { 227 pinctrl-single,pins = < 228 AM62X_IOPAD(0x01b8, PIN_OUTPUT, 2) /* (C13) SPI0_CS1.EHRPWM0_B */ /* SODIMM 16 */ 229 >; 230 }; 231 232 /* Verdin PWM_3_DSI */ 233 pinctrl_epwm1_a: main-epwm1a-default-pins { 234 pinctrl-single,pins = < 235 AM62X_IOPAD(0x01bc, PIN_OUTPUT, 2) /* (A14) SPI0_CLK.EHRPWM1_A */ /* SODIMM 19 */ 236 >; 237 }; 238 239 /* Verdin QSPI_1_CLK as GPIO (conflict with Verdin QSPI_1 interface) */ 240 pinctrl_qspi1_clk_gpio: main-gpio0-0-default-pins { 241 pinctrl-single,pins = < 242 AM62X_IOPAD(0x0000, PIN_INPUT, 7) /* (H24) OSPI0_CLK.GPIO0_0 */ /* SODIMM 52 */ 243 >; 244 }; 245 246 /* Verdin QSPI_1_IO0 as GPIO (conflict with Verdin QSPI_1 interface) */ 247 pinctrl_qspi1_io0_gpio: main-gpio0-3-default-pins { 248 pinctrl-single,pins = < 249 AM62X_IOPAD(0x000c, PIN_INPUT, 7) /* (E25) OSPI0_D0.GPIO0_3 */ /* SODIMM 56 */ 250 >; 251 }; 252 253 /* Verdin QSPI_1_IO1 as GPIO (conflict with Verdin QSPI_1 interface) */ 254 pinctrl_qspi1_io1_gpio: main-gpio0-4-default-pins { 255 pinctrl-single,pins = < 256 AM62X_IOPAD(0x0010, PIN_INPUT, 7) /* (G24) OSPI0_D1.GPIO0_4 */ /* SODIMM 58 */ 257 >; 258 }; 259 260 /* Verdin QSPI_1_IO2 as GPIO (conflict with Verdin QSPI_1 interface) */ 261 pinctrl_qspi1_io2_gpio: main-gpio0-5-default-pins { 262 pinctrl-single,pins = < 263 AM62X_IOPAD(0x0014, PIN_INPUT, 7) /* (F25) OSPI0_D2.GPIO0_5 */ /* SODIMM 60 */ 264 >; 265 }; 266 267 /* Verdin QSPI_1_IO3 as GPIO (conflict with Verdin QSPI_1 interface) */ 268 pinctrl_qspi1_io3_gpio: main-gpio0-6-default-pins { 269 pinctrl-single,pins = < 270 AM62X_IOPAD(0x0018, PIN_INPUT, 7) /* (F24) OSPI0_D3.GPIO0_6 */ /* SODIMM 62 */ 271 >; 272 }; 273 274 /* Verdin SPI_1 CS as GPIO */ 275 pinctrl_qspi1_io4_gpio: main-gpio0-7-default-pins { 276 pinctrl-single,pins = < 277 AM62X_IOPAD(0x001c, PIN_INPUT, 7) /* (J23) OSPI0_D4.GPIO0_7 */ /* SODIMM 202 */ 278 >; 279 }; 280 281 /* Verdin QSPI_1_CS# as GPIO (conflict with Verdin QSPI_1 interface) */ 282 pinctrl_qspi1_cs_gpio: main-gpio0-11-default-pins { 283 pinctrl-single,pins = < 284 AM62X_IOPAD(0x002c, PIN_INPUT, 7) /* (F23) OSPI0_CSn0.GPIO0_11 */ /* SODIMM 54 */ 285 >; 286 }; 287 288 /* Verdin QSPI_1_CS2# as GPIO (conflict with Verdin QSPI_1 interface) */ 289 pinctrl_qspi1_cs2_gpio: main-gpio0-12-default-pins { 290 pinctrl-single,pins = < 291 AM62X_IOPAD(0x0030, PIN_INPUT, 7) /* (G21) OSPI0_CSn1.GPIO0_12 */ /* SODIMM 64 */ 292 >; 293 }; 294 295 /* WiFi_W_WKUP_HOST# */ 296 pinctrl_wifi_w_wkup_host: main-gpio0-15-default-pins { 297 pinctrl-single,pins = < 298 AM62X_IOPAD(0x003c, PIN_INPUT, 7) /* (M25) GPMC0_AD0.GPIO0_15 */ /* SODIMM 174 */ 299 >; 300 }; 301 302 /* WiFi_BT_WKUP_HOST# */ 303 pinctrl_bt_wkup_host: main-gpio0-16-default-pins { 304 pinctrl-single,pins = < 305 AM62X_IOPAD(0x0040, PIN_INPUT, 7) /* (N23) GPMC0_AD1.GPIO0_16 */ /* SODIMM 172 */ 306 >; 307 }; 308 309 /* PMIC_ETH_RESET# */ 310 pinctrl_eth_reset: main-gpio0-17-default-pins { 311 pinctrl-single,pins = < 312 AM62X_IOPAD(0x0044, PIN_INPUT, 7) /* (N24) GPMC0_AD2.GPIO0_17 */ 313 >; 314 }; 315 316 /* PMIC_BRIDGE_RESET# */ 317 pinctrl_bridge_reset: main-gpio0-20-default-pins { 318 pinctrl-single,pins = < 319 AM62X_IOPAD(0x0050, PIN_INPUT, 7) /* (P22) GPMC0_AD5.GPIO0_20 */ 320 >; 321 }; 322 323 /* PMIC_VSEL_SD */ 324 pinctrl_vsel_sd: main-gpio0-21-default-pins { 325 pinctrl-single,pins = < 326 AM62X_IOPAD(0x0054, PIN_INPUT, 7) /* (P21) GPMC0_AD6.GPIO0_21 */ 327 >; 328 }; 329 330 /* PMIC_EN_WIFI */ 331 pinctrl_wifi_en: main-gpio0-22-default-pins { 332 pinctrl-single,pins = < 333 AM62X_IOPAD(0x0058, PIN_INPUT, 7) /* (R23) GPMC0_AD7.GPIO0_22 */ 334 >; 335 }; 336 337 /* PMIC_ETH_INT# */ 338 pinctrl_eth_int: main-gpio0-25-default-pins { 339 pinctrl-single,pins = < 340 AM62X_IOPAD(0x0064, PIN_INPUT_PULLUP, 7) /* (T25) GPMC0_AD10.GPIO0_25 */ 341 >; 342 }; 343 344 /* WiFi_WKUP_BT# */ 345 pinctrl_wifi_wkup_bt: main-gpio0-26-default-pins { 346 pinctrl-single,pins = < 347 AM62X_IOPAD(0x0068, PIN_INPUT, 7) /* (R21) GPMC0_AD11.GPIO0_26 */ 348 >; 349 }; 350 351 /* WiFi_WKUP_WLAN# */ 352 pinctrl_wifi_wkup_wlan: main-gpio0-27-default-pins { 353 pinctrl-single,pins = < 354 AM62X_IOPAD(0x006c, PIN_INPUT, 7) /* (T22) GPMC0_AD12.GPIO0_27 */ 355 >; 356 }; 357 358 /* Verdin SD_1_PWR_EN */ 359 pinctrl_sd1_pwr_en: main-gpio0-29-default-pins { 360 pinctrl-single,pins = < 361 AM62X_IOPAD(0x0074, PIN_INPUT, 7) /* (U25) GPMC0_AD14.GPIO0_29 */ /* SODIMM 76 */ 362 >; 363 }; 364 365 /* Verdin DSI_1_BKL_EN */ 366 pinctrl_dsi1_bkl_en: main-gpio0-30-default-pins { 367 pinctrl-single,pins = < 368 AM62X_IOPAD(0x0078, PIN_INPUT, 7) /* (U24) GPMC0_AD15.GPIO0_30 */ /* SODIMM 21 */ 369 >; 370 }; 371 372 /* Verdin CTRL_SLEEP_MOCI# */ 373 pinctrl_ctrl_sleep_moci: main-gpio0-31-default-pins { 374 pinctrl-single,pins = < 375 AM62X_IOPAD(0x007c, PIN_INPUT, 7) /* (P25) GPMC0_CLK.GPIO0_31 */ /* SODIMM 256 */ 376 >; 377 }; 378 379 /* Verdin CTRL_WAKE1_MICO# */ 380 pinctrl_ctrl_wake1_mico: main-gpio0-32-default-pins { 381 pinctrl-single,pins = < 382 AM62X_IOPAD(0x0084, PIN_INPUT_PULLUP, 7) /* (L23) GPMC0_ADVn_ALE.GPIO0_32 */ /* SODIMM 252 */ 383 >; 384 }; 385 386 /* Verdin I2S_2_D_OUT as GPIO (conflict with Verdin I2S_2 interface) */ 387 pinctrl_i2s_2_d_out_gpio: main-gpio0-34-default-pins { 388 pinctrl-single,pins = < 389 AM62X_IOPAD(0x008c, PIN_INPUT, 7) /* (L25) GPMC0_WEn.GPIO0_34 */ /* SODIMM 46 */ 390 >; 391 }; 392 393 /* Verdin I2S_2_BCLK as GPIO (conflict with Verdin I2S_2 interface) */ 394 pinctrl_i2s_2_bclk_gpio: main-gpio0-35-default-pins { 395 pinctrl-single,pins = < 396 AM62X_IOPAD(0x0090, PIN_INPUT, 7) /* (M24) GPMC0_BE0n_CLE.GPIO0_35 */ /* SODIMM 42 */ 397 >; 398 }; 399 400 /* Verdin GPIO_6 */ 401 pinctrl_gpio_6: main-gpio0-36-default-pins { 402 pinctrl-single,pins = < 403 AM62X_IOPAD(0x0094, PIN_INPUT, 7) /* (N20) GPMC0_BE1n.GPIO0_36 */ /* SODIMM 218 */ 404 >; 405 }; 406 407 /* Verdin ETH_2_RGMII_INT# */ 408 pinctrl_eth2_rgmii_int: main-gpio0-38-default-pins { 409 pinctrl-single,pins = < 410 AM62X_IOPAD(0x009c, PIN_INPUT, 7) /* (V25) GPMC0_WAIT1.GPIO0_38 */ /* SODIMM 189 */ 411 >; 412 }; 413 414 /* Verdin GPIO_5 */ 415 pinctrl_gpio_5: main-gpio0-40-default-pins { 416 pinctrl-single,pins = < 417 AM62X_IOPAD(0x00a4, PIN_INPUT, 7) /* (M22) GPMC0_DIR.GPIO0_40 */ /* SODIMM 216 */ 418 >; 419 }; 420 421 /* Verdin GPIO_7 */ 422 pinctrl_gpio_7: main-gpio0-41-default-pins { 423 pinctrl-single,pins = < 424 AM62X_IOPAD(0x00a8, PIN_INPUT, 7) /* (M21) GPMC0_CSn0.GPIO0_41 */ /* SODIMM 220 */ 425 >; 426 }; 427 428 /* Verdin GPIO_8 */ 429 pinctrl_gpio_8: main-gpio0-42-default-pins { 430 pinctrl-single,pins = < 431 AM62X_IOPAD(0x00ac, PIN_INPUT, 7) /* (L21) GPMC0_CSn1.GPIO0_42 */ /* SODIMM 222 */ 432 >; 433 }; 434 435 /* Verdin USB_1_OC# */ 436 pinctrl_usb1_oc: main-gpio0-71-default-pins { 437 pinctrl-single,pins = < 438 AM62X_IOPAD(0x0124, PIN_INPUT, 7) /* (A23) MMC2_SDCD.GPIO0_71 */ /* SODIMM 157 */ 439 >; 440 }; 441 442 /* Verdin USB_2_OC# */ 443 pinctrl_usb2_oc: main-gpio0-72-default-pins { 444 pinctrl-single,pins = < 445 AM62X_IOPAD(0x0128, PIN_INPUT, 7) /* (B23) MMC2_SDWP.GPIO0_72 */ /* SODIMM 187 */ 446 >; 447 }; 448 449 /* Verdin PWM_3_DSI as GPIO */ 450 pinctrl_pwm3_dsi_gpio: main-gpio1-17-default-pins { 451 pinctrl-single,pins = < 452 AM62X_IOPAD(0x01bc, PIN_INPUT, 7) /* (A14) SPI0_CLK.GPIO1_17 */ /* SODIMM 19 */ 453 >; 454 }; 455 456 /* Verdin QSPI_1_DQS as GPIO */ 457 pinctrl_qspi1_dqs_gpio: main-gpio1-18-default-pins { 458 pinctrl-single,pins = < 459 AM62X_IOPAD(0x01c0, PIN_INPUT, 7) /* (B13) SPI0_D0.GPIO1_18 */ /* SODIMM 66 */ 460 >; 461 }; 462 463 /* Verdin USB_1_ID */ 464 pinctrl_usb0_id: main-gpio1-19-default-pins { 465 pinctrl-single,pins = < 466 AM62X_IOPAD(0x01c4, PIN_INPUT, 7) /* (B14) SPI0_D1.GPIO1_19 */ /* SODIMM 161 */ 467 >; 468 }; 469 470 /* Verdin SD_1_CD# as GPIO */ 471 pinctrl_sd1_cd_gpio: main-gpio1-48-default-pins { 472 pinctrl-single,pins = < 473 AM62X_IOPAD(0x240, PIN_INPUT_PULLUP, 7) /* (D17) MMC1_SDCD.GPIO1_48 */ /* SODIMM 84 */ 474 >; 475 }; 476 477 /* Verdin DSI_1_INT# (pulled-up as active-low) */ 478 pinctrl_dsi1_int: main-gpio1-49-default-pins { 479 pinctrl-single,pins = < 480 AM62X_IOPAD(0x0244, PIN_INPUT_PULLUP, 7) /* (C17) MMC1_SDWP.GPIO1_49 */ /* SODIMM 17 */ 481 >; 482 }; 483 484 /* Verdin USB_1_EN */ 485 pinctrl_usb0_en: main-gpio1-50-default-pins { 486 pinctrl-single,pins = < 487 AM62X_IOPAD(0x0254, PIN_INPUT, 7) /* (C20) USB0_DRVVBUS.GPIO1_50 */ /* SODIMM 155 */ 488 >; 489 }; 490 491 /* On-module I2C - PMIC_I2C */ 492 pinctrl_i2c0: main-i2c0-default-pins { 493 pinctrl-single,pins = < 494 AM62X_IOPAD(0x01e0, PIN_INPUT, 0) /* (B16) I2C0_SCL */ /* PMIC_I2C_SCL */ 495 AM62X_IOPAD(0x01e4, PIN_INPUT, 0) /* (A16) I2C0_SDA */ /* PMIC_I2C_SDA */ 496 >; 497 }; 498 499 /* Verdin I2C_1 */ 500 pinctrl_i2c1: main-i2c1-default-pins { 501 pinctrl-single,pins = < 502 AM62X_IOPAD(0x01e8, PIN_INPUT_PULLUP, 0) /* (B17) I2C1_SCL */ /* SODIMM 14 */ 503 AM62X_IOPAD(0x01ec, PIN_INPUT_PULLUP, 0) /* (A17) I2C1_SDA */ /* SODIMM 12 */ 504 >; 505 }; 506 507 /* Verdin I2C_2_DSI */ 508 pinctrl_i2c2: main-i2c2-default-pins { 509 pinctrl-single,pins = < 510 AM62X_IOPAD(0x00b0, PIN_INPUT, 1) /* (K22) GPMC0_CSn2.I2C2_SCL */ /* SODIMM 55 */ 511 AM62X_IOPAD(0x00b4, PIN_INPUT, 1) /* (K24) GPMC0_CSn3.I2C2_SDA */ /* SODIMM 53 */ 512 >; 513 }; 514 515 /* Verdin I2C_4_CSI */ 516 pinctrl_i2c3: main-i2c3-default-pins { 517 pinctrl-single,pins = < 518 AM62X_IOPAD(0x01d0, PIN_INPUT, 2) /* (A15) UART0_CTSn.I2C3_SCL */ /* SODIMM 95 */ 519 AM62X_IOPAD(0x01d4, PIN_INPUT, 2) /* (B15) UART0_RTSn.I2C3_SDA */ /* SODIMM 93 */ 520 >; 521 }; 522 523 /* I2S_1_MCLK */ 524 pinctrl_i2s1_mclk: main-system-audio-ext-reflock1-default-pins { 525 pinctrl-single,pins = < 526 AM62X_IOPAD(0x00a0, PIN_OUTPUT, 1) /* (K25) GPMC0_WPn.AUDIO_EXT_REFCLK1 */ /* SODIMM 38 */ 527 >; 528 }; 529 530 /* Verdin I2S_1 */ 531 pinctrl_mcasp0: main-mcasp0-default-pins { 532 pinctrl-single,pins = < 533 AM62X_IOPAD(0x01a4, PIN_INPUT, 0) /* (B20) MCASP0_ACLKX */ /* SODIMM 30 */ 534 AM62X_IOPAD(0x01a8, PIN_INPUT, 0) /* (D20) MCASP0_AFSX */ /* SODIMM 32 */ 535 AM62X_IOPAD(0x01a0, PIN_OUTPUT, 0) /* (E18) MCASP0_AXR0 */ /* SODIMM 34 */ 536 AM62X_IOPAD(0x019c, PIN_INPUT, 0) /* (B18) MCASP0_AXR1 */ /* SODIMM 36 */ 537 >; 538 }; 539 540 /* Verdin I2S_2 */ 541 pinctrl_mcasp1: main-mcasp1-default-pins { 542 pinctrl-single,pins = < 543 AM62X_IOPAD(0x0090, PIN_INPUT, 2) /* (M24) GPMC0_BE0n_CLE.MCASP1_ACLKX */ /* SODIMM 42 */ 544 AM62X_IOPAD(0x0098, PIN_INPUT, 2) /* (U23) GPMC0_WAIT0.MCASP1_AFSX */ /* SODIMM 44 */ 545 AM62X_IOPAD(0x008c, PIN_OUTPUT, 2) /* (L25) GPMC0_WEn.MCASP1_AXR0 */ /* SODIMM 46 */ 546 AM62X_IOPAD(0x0088, PIN_INPUT, 2) /* (L24) GPMC0_OEn_REn.MCASP1_AXR1 */ /* SODIMM 48 */ 547 >; 548 }; 549 550 /* Verdin CAN_1 */ 551 pinctrl_mcan0: main-mcan0-default-pins { 552 pinctrl-single,pins = < 553 AM62X_IOPAD(0x01dc, PIN_INPUT, 0) /* (E15) MCAN0_RX */ /* SODIMM 22 */ 554 AM62X_IOPAD(0x01d8, PIN_OUTPUT, 0) /* (C15) MCAN0_TX */ /* SODIMM 20 */ 555 >; 556 }; 557 558 /* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */ 559 pinctrl_mdio: main-mdio1-default-pins { 560 pinctrl-single,pins = < 561 AM62X_IOPAD(0x160, PIN_OUTPUT, 0) /* (AD24) MDIO0_MDC */ /* ETH_1_MDC, SODIMM 193 */ 562 AM62X_IOPAD(0x15c, PIN_INPUT, 0) /* (AB22) MDIO0_MDIO */ /* ETH_1_MDIO, SODIMM 191 */ 563 >; 564 }; 565 566 /* On-module eMMC */ 567 pinctrl_sdhci0: main-mmc0-default-pins { 568 pinctrl-single,pins = < 569 AM62X_IOPAD(0x220, PIN_INPUT, 0) /* (Y3) MMC0_CMD */ 570 AM62X_IOPAD(0x218, PIN_INPUT, 0) /* (AB1) MMC0_CLK */ 571 AM62X_IOPAD(0x214, PIN_INPUT, 0) /* (AA2) MMC0_DAT0 */ 572 AM62X_IOPAD(0x210, PIN_INPUT, 0) /* (AA1) MMC0_DAT1 */ 573 AM62X_IOPAD(0x20c, PIN_INPUT, 0) /* (AA3) MMC0_DAT2 */ 574 AM62X_IOPAD(0x208, PIN_INPUT, 0) /* (Y4) MMC0_DAT3 */ 575 AM62X_IOPAD(0x204, PIN_INPUT, 0) /* (AB2) MMC0_DAT4 */ 576 AM62X_IOPAD(0x200, PIN_INPUT, 0) /* (AC1) MMC0_DAT5 */ 577 AM62X_IOPAD(0x1fc, PIN_INPUT, 0) /* (AD2) MMC0_DAT6 */ 578 AM62X_IOPAD(0x1f8, PIN_INPUT, 0) /* (AC2) MMC0_DAT7 */ 579 >; 580 }; 581 582 /* Verdin SD_1 */ 583 pinctrl_sdhci1: main-mmc1-default-pins { 584 pinctrl-single,pins = < 585 AM62X_IOPAD(0x23c, PIN_INPUT, 0) /* (A21) MMC1_CMD */ /* SODIMM 74 */ 586 AM62X_IOPAD(0x234, PIN_INPUT, 0) /* (B22) MMC1_CLK */ /* SODIMM 78 */ 587 AM62X_IOPAD(0x230, PIN_INPUT, 0) /* (A22) MMC1_DAT0 */ /* SODIMM 80 */ 588 AM62X_IOPAD(0x22c, PIN_INPUT, 0) /* (B21) MMC1_DAT1 */ /* SODIMM 82 */ 589 AM62X_IOPAD(0x228, PIN_INPUT, 0) /* (C21) MMC1_DAT2 */ /* SODIMM 70 */ 590 AM62X_IOPAD(0x224, PIN_INPUT, 0) /* (D22) MMC1_DAT3 */ /* SODIMM 72 */ 591 >; 592 }; 593 594 /* On-module Wi-Fi on WB SKUs, module-specific SDIO otherwise */ 595 pinctrl_sdhci2: main-mmc2-default-pins { 596 pinctrl-single,pins = < 597 AM62X_IOPAD(0x120, PIN_INPUT, 0) /* (C24) MMC2_CMD */ /* WiFi_SDIO_CMD */ 598 AM62X_IOPAD(0x118, PIN_INPUT, 0) /* (D25) MMC2_CLK */ /* WiFi_SDIO_CLK */ 599 AM62X_IOPAD(0x114, PIN_INPUT, 0) /* (B24) MMC2_DAT0 */ /* WiFi_SDIO_DATA0 */ 600 AM62X_IOPAD(0x110, PIN_INPUT, 0) /* (C25) MMC2_DAT1 */ /* WiFi_SDIO_DATA1 */ 601 AM62X_IOPAD(0x10c, PIN_INPUT, 0) /* (E23) MMC2_DAT2 */ /* WiFi_SDIO_DATA2 */ 602 AM62X_IOPAD(0x108, PIN_INPUT, 0) /* (D24) MMC2_DAT3 */ /* WiFi_SDIO_DATA3 */ 603 AM62X_IOPAD(0x11c, PIN_INPUT, 0) /* (#N/A) MMC2_CLKB */ 604 >; 605 }; 606 607 /* Verdin QSPI_1 */ 608 pinctrl_ospi0: main-ospi0-default-pins { 609 pinctrl-single,pins = < 610 AM62X_IOPAD(0x0000, PIN_OUTPUT, 0) /* (H24) OSPI0_CLK */ /* SODIMM 52 */ 611 AM62X_IOPAD(0x002c, PIN_OUTPUT, 0) /* (F23) OSPI0_CSn0 */ /* SODIMM 54 */ 612 AM62X_IOPAD(0x0030, PIN_OUTPUT, 0) /* (G21) OSPI0_CSn1 */ /* SODIMM 64 */ 613 AM62X_IOPAD(0x000c, PIN_INPUT, 0) /* (E25) OSPI0_D0 */ /* SODIMM 56 */ 614 AM62X_IOPAD(0x0010, PIN_INPUT, 0) /* (G24) OSPI0_D1 */ /* SODIMM 58 */ 615 AM62X_IOPAD(0x0014, PIN_INPUT, 0) /* (F25) OSPI0_D2 */ /* SODIMM 60 */ 616 AM62X_IOPAD(0x0018, PIN_INPUT, 0) /* (F24) OSPI0_D3 */ /* SODIMM 62 */ 617 >; 618 }; 619 620 /* Verdin ETH_1 RGMII (On-module PHY) */ 621 pinctrl_rgmii1: main-rgmii1-default-pins { 622 pinctrl-single,pins = < 623 AM62X_IOPAD(0x14c, PIN_INPUT, 0) /* (AB17) RGMII1_RD0 */ 624 AM62X_IOPAD(0x150, PIN_INPUT, 0) /* (AC17) RGMII1_RD1 */ 625 AM62X_IOPAD(0x154, PIN_INPUT, 0) /* (AB16) RGMII1_RD2 */ 626 AM62X_IOPAD(0x158, PIN_INPUT, 0) /* (AA15) RGMII1_RD3 */ 627 AM62X_IOPAD(0x148, PIN_INPUT, 0) /* (AD17) RGMII1_RXC */ 628 AM62X_IOPAD(0x144, PIN_INPUT, 0) /* (AE17) RGMII1_RX_CTL */ 629 AM62X_IOPAD(0x134, PIN_OUTPUT, 0) /* (AE20) RGMII1_TD0 */ 630 AM62X_IOPAD(0x138, PIN_OUTPUT, 0) /* (AD20) RGMII1_TD1 */ 631 AM62X_IOPAD(0x13c, PIN_OUTPUT, 0) /* (AE18) RGMII1_TD2 */ 632 AM62X_IOPAD(0x140, PIN_OUTPUT, 0) /* (AD18) RGMII1_TD3 */ 633 AM62X_IOPAD(0x130, PIN_OUTPUT, 0) /* (AE19) RGMII1_TXC */ 634 AM62X_IOPAD(0x12c, PIN_OUTPUT, 0) /* (AD19) RGMII1_TX_CTL */ 635 >; 636 }; 637 638 /* Verdin ETH_2 RGMII */ 639 pinctrl_rgmii2: main-rgmii2-default-pins { 640 pinctrl-single,pins = < 641 AM62X_IOPAD(0x184, PIN_INPUT, 0) /* (AE23) RGMII2_RD0 */ /* SODIMM 201 */ 642 AM62X_IOPAD(0x188, PIN_INPUT, 0) /* (AB20) RGMII2_RD1 */ /* SODIMM 203 */ 643 AM62X_IOPAD(0x18c, PIN_INPUT, 0) /* (AC21) RGMII2_RD2 */ /* SODIMM 205 */ 644 AM62X_IOPAD(0x190, PIN_INPUT, 0) /* (AE22) RGMII2_RD3 */ /* SODIMM 207 */ 645 AM62X_IOPAD(0x180, PIN_INPUT, 0) /* (AD23) RGMII2_RXC */ /* SODIMM 197 */ 646 AM62X_IOPAD(0x17c, PIN_INPUT, 0) /* (AD22) RGMII2_RX_CTL */ /* SODIMM 199 */ 647 AM62X_IOPAD(0x16c, PIN_OUTPUT, 0) /* (Y18) RGMII2_TD0 */ /* SODIMM 221 */ 648 AM62X_IOPAD(0x170, PIN_OUTPUT, 0) /* (AA18) RGMII2_TD1 */ /* SODIMM 219 */ 649 AM62X_IOPAD(0x174, PIN_OUTPUT, 0) /* (AD21) RGMII2_TD2 */ /* SODIMM 217 */ 650 AM62X_IOPAD(0x178, PIN_OUTPUT, 0) /* (AC20) RGMII2_TD3 */ /* SODIMM 215 */ 651 AM62X_IOPAD(0x168, PIN_OUTPUT, 0) /* (AE21) RGMII2_TXC */ /* SODIMM 213 */ 652 AM62X_IOPAD(0x164, PIN_OUTPUT, 0) /* (AA19) RGMII2_TX_CTL */ /* SODIMM 211 */ 653 >; 654 }; 655 656 /* Verdin SPI_1 */ 657 pinctrl_spi1: main-spi1-default-pins { 658 pinctrl-single,pins = < 659 AM62X_IOPAD(0x0020, PIN_INPUT, 1) /* (J25) OSPI0_D5.SPI1_CLK */ /* SODIMM 196 */ 660 AM62X_IOPAD(0x0024, PIN_INPUT, 1) /* (H25) OSPI0_D6.SPI1_D0 */ /* SODIMM 200 */ 661 AM62X_IOPAD(0x0028, PIN_INPUT, 1) /* (J22) OSPI0_D7.SPI1_D1 */ /* SODIMM 198 */ 662 >; 663 }; 664 665 /* Verdin SPI_1 CS */ 666 pinctrl_spi1_cs0: main-spi1-cs0-default-pins { 667 pinctrl-single,pins = < 668 AM62X_IOPAD(0x001c, PIN_INPUT, 1) /* (J23) OSPI0_D4.SPI1_CS0 */ /* SODIMM 202 */ 669 >; 670 }; 671 672 /* ETH_25MHz_CLK */ 673 pinctrl_eth_clock: main-system-clkout0-default-pins { 674 pinctrl-single,pins = < 675 AM62X_IOPAD(0x01f0, PIN_OUTPUT_PULLUP, 5) /* (A18) EXT_REFCLK1.CLKOUT0 */ 676 >; 677 }; 678 679 /* PMIC_EXTINT# */ 680 pinctrl_pmic_extint: main-system-extint-default-pins { 681 pinctrl-single,pins = < 682 AM62X_IOPAD(0x01f4, PIN_INPUT, 0) /* (D16) EXTINTn */ 683 >; 684 }; 685 686 /* Verdin UART_3, used as the Linux console */ 687 pinctrl_uart0: main-uart0-default-pins { 688 pinctrl-single,pins = < 689 AM62X_IOPAD(0x1c8, PIN_INPUT_PULLUP, 0) /* (D14) UART0_RXD */ /* SODIMM 147 */ 690 AM62X_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (E14) UART0_TXD */ /* SODIMM 149 */ 691 >; 692 }; 693 694 /* Verdin UART_1 */ 695 pinctrl_uart1: main-uart1-default-pins { 696 pinctrl-single,pins = < 697 AM62X_IOPAD(0x0194, PIN_INPUT_PULLUP, 2) /* (B19) MCASP0_AXR3.UART1_CTSn */ /* SODIMM 135 */ 698 AM62X_IOPAD(0x0198, PIN_OUTPUT, 2) /* (A19) MCASP0_AXR2.UART1_RTSn */ /* SODIMM 133 */ 699 AM62X_IOPAD(0x01ac, PIN_INPUT_PULLUP, 2) /* (E19) MCASP0_AFSR.UART1_RXD */ /* SODIMM 129 */ 700 AM62X_IOPAD(0x01b0, PIN_OUTPUT, 2) /* (A20) MCASP0_ACLKR.UART1_TXD */ /* SODIMM 131 */ 701 >; 702 }; 703 704 /* Bluetooth on WB SKUs, module-specific UART otherwise */ 705 pinctrl_uart5: main-uart5-default-pins { 706 pinctrl-single,pins = < 707 AM62X_IOPAD(0x0008, PIN_INPUT_PULLUP, 5) /* (J24) OSPI0_DQS.UART5_CTSn */ /* WiFi_UART_CTS */ 708 AM62X_IOPAD(0x0004, PIN_OUTPUT, 5) /* (G25) OSPI0_LBCLKO.UART5_RTSn */ /* WiFi_UART_RTS */ 709 AM62X_IOPAD(0x0034, PIN_INPUT_PULLUP, 5) /* (H21) OSPI0_CSn2.UART5_RXD */ /* WiFi_UART_RXD */ 710 AM62X_IOPAD(0x0038, PIN_OUTPUT, 5) /* (E24) OSPI0_CSn3.UART5_TXD */ /* WiFi_UART_TXD */ 711 >; 712 }; 713 714 /* Verdin USB_2 */ 715 pinctrl_usb1: main-usb1-default-pins { 716 pinctrl-single,pins = < 717 AM62X_IOPAD(0x0258, PIN_OUTPUT, 0) /* (F18) USB1_DRVVBUS */ /* SODIMM 185 */ 718 >; 719 }; 720 721 /* DSS VOUT0 RGB */ 722 pinctrl_parallel_rgb: main-vout-default-pins { 723 pinctrl-single,pins = < 724 AM62X_IOPAD(0x0100, PIN_OUTPUT, 0) /* (AC25) VOUT0_VSYNC */ 725 AM62X_IOPAD(0x00f8, PIN_OUTPUT, 0) /* (AB24) VOUT0_HSYNC */ 726 AM62X_IOPAD(0x0104, PIN_OUTPUT, 0) /* (AC24) VOUT0_PCLK */ 727 AM62X_IOPAD(0x00fc, PIN_OUTPUT, 0) /* (Y20) VOUT0_DE */ 728 AM62X_IOPAD(0x00b8, PIN_OUTPUT, 0) /* (U22) VOUT0_DATA0 */ 729 AM62X_IOPAD(0x00bc, PIN_OUTPUT, 0) /* (V24) VOUT0_DATA1 */ 730 AM62X_IOPAD(0x00c0, PIN_OUTPUT, 0) /* (W25) VOUT0_DATA2 */ 731 AM62X_IOPAD(0x00c4, PIN_OUTPUT, 0) /* (W24) VOUT0_DATA3 */ 732 AM62X_IOPAD(0x00c8, PIN_OUTPUT, 0) /* (Y25) VOUT0_DATA4 */ 733 AM62X_IOPAD(0x00cc, PIN_OUTPUT, 0) /* (Y24) VOUT0_DATA5 */ 734 AM62X_IOPAD(0x00d0, PIN_OUTPUT, 0) /* (Y23) VOUT0_DATA6 */ 735 AM62X_IOPAD(0x00d4, PIN_OUTPUT, 0) /* (AA25) VOUT0_DATA7 */ 736 AM62X_IOPAD(0x00d8, PIN_OUTPUT, 0) /* (V21) VOUT0_DATA8 */ 737 AM62X_IOPAD(0x00dc, PIN_OUTPUT, 0) /* (W21) VOUT0_DATA9 */ 738 AM62X_IOPAD(0x00e0, PIN_OUTPUT, 0) /* (V20) VOUT0_DATA10 */ 739 AM62X_IOPAD(0x00e4, PIN_OUTPUT, 0) /* (AA23) VOUT0_DATA11 */ 740 AM62X_IOPAD(0x00e8, PIN_OUTPUT, 0) /* (AB25) VOUT0_DATA12 */ 741 AM62X_IOPAD(0x00ec, PIN_OUTPUT, 0) /* (AA24) VOUT0_DATA13 */ 742 AM62X_IOPAD(0x00f0, PIN_OUTPUT, 0) /* (Y22) VOUT0_DATA14 */ 743 AM62X_IOPAD(0x00f4, PIN_OUTPUT, 0) /* (AA21) VOUT0_DATA15 */ 744 AM62X_IOPAD(0x005c, PIN_OUTPUT, 1) /* (R24) GPMC0_AD8.VOUT0_DATA16 */ 745 AM62X_IOPAD(0x0060, PIN_OUTPUT, 1) /* (R25) GPMC0_AD9.VOUT0_DATA17 */ 746 >; 747 }; 748}; 749 750&mcu_pmx0 { 751 /* Verdin PCIE_1_RESET# */ 752 pinctrl_pcie_1_reset: mcu-gpio0-0-default-pins { 753 pinctrl-single,pins = < 754 AM62X_MCU_IOPAD(0x0000, PIN_INPUT, 7) /* (E8) MCU_SPI0_CS0.MCU_GPIO0_0 */ /* SODIMM 244 */ 755 >; 756 }; 757 758 /* Verdin GPIO_1 */ 759 pinctrl_gpio_1: mcu-gpio0-1-default-pins { 760 pinctrl-single,pins = < 761 AM62X_MCU_IOPAD(0x0004, PIN_INPUT, 7) /* (B8) MCU_SPI0_CS1.MCU_GPIO0_1 */ /* SODIMM 206 */ 762 >; 763 }; 764 765 /* Verdin GPIO_2 */ 766 pinctrl_gpio_2: mcu-gpio0-2-default-pins { 767 pinctrl-single,pins = < 768 AM62X_MCU_IOPAD(0x0008, PIN_INPUT, 7) /* (A7) MCU_SPI0_CLK.MCU_GPIO0_2 */ /* SODIMM 208 */ 769 >; 770 }; 771 772 /* Verdin GPIO_3 */ 773 pinctrl_gpio_3: mcu-gpio0-3-default-pins { 774 pinctrl-single,pins = < 775 AM62X_MCU_IOPAD(0x000c, PIN_INPUT, 7) /* (D9) MCU_SPI0_D0.MCU_GPIO0_3 */ /* SODIMM 210 */ 776 >; 777 }; 778 779 /* Verdin GPIO_4 */ 780 pinctrl_gpio_4: mcu-gpio0-4-default-pins { 781 pinctrl-single,pins = < 782 AM62X_MCU_IOPAD(0x0010, PIN_INPUT, 7) /* (C9) MCU_SPI0_D1.MCU_GPIO0_4 */ /* SODIMM 212 */ 783 >; 784 }; 785 786 /* Verdin I2C_3_HDMI */ 787 pinctrl_mcu_i2c0: mcu-i2c0-default-pins { 788 pinctrl-single,pins = < 789 AM62X_MCU_IOPAD(0x0044, PIN_INPUT, 0) /* (A8) MCU_I2C0_SCL */ /* SODIMM 59 */ 790 AM62X_MCU_IOPAD(0x0048, PIN_INPUT, 0) /* (D10) MCU_I2C0_SDA */ /* SODIMM 57 */ 791 >; 792 }; 793 794 /* Verdin CAN_2 */ 795 pinctrl_mcu_mcan0: mcu-mcan0-default-pins { 796 pinctrl-single,pins = < 797 AM62X_MCU_IOPAD(0x0038, PIN_INPUT, 0) /* (B3) MCU_MCAN0_RX */ /* SODIMM 26 */ 798 AM62X_MCU_IOPAD(0x0034, PIN_OUTPUT, 0) /* (D6) MCU_MCAN0_TX */ /* SODIMM 24 */ 799 >; 800 }; 801 802 /* Verdin UART_4 - Reserved to Cortex-M4 */ 803 pinctrl_mcu_uart0: mcu-uart0-default-pins { 804 pinctrl-single,pins = < 805 AM62X_MCU_IOPAD(0x0014, PIN_INPUT_PULLUP, 0) /* (B5) MCU_UART0_RXD */ /* SODIMM 151 */ 806 AM62X_MCU_IOPAD(0x0018, PIN_OUTPUT, 0) /* (A5) MCU_UART0_TXD */ /* SODIMM 153 */ 807 >; 808 }; 809 810 /* Verdin CSI_1_MCLK */ 811 pinctrl_csi1_mclk: wkup-clkout0-default-pins { 812 pinctrl-single,pins = < 813 AM62X_MCU_IOPAD(0x0084, PIN_OUTPUT, 0) /* (A12) WKUP_CLKOUT0 */ /* SODIMM 91 */ 814 >; 815 }; 816 817 /* Verdin UART_2 */ 818 pinctrl_wkup_uart0: wkup-uart0-default-pins { 819 pinctrl-single,pins = < 820 AM62X_MCU_IOPAD(0x002c, PIN_INPUT_PULLUP, 0) /* (C6) WKUP_UART0_CTSn */ /* SODIMM 143 */ 821 AM62X_MCU_IOPAD(0x0030, PIN_OUTPUT, 0) /* (A4) WKUP_UART0_RTSn */ /* SODIMM 141 */ 822 AM62X_MCU_IOPAD(0x0024, PIN_INPUT_PULLUP, 0) /* (B4) WKUP_UART0_RXD */ /* SODIMM 137 */ 823 AM62X_MCU_IOPAD(0x0028, PIN_OUTPUT, 0) /* (C5) WKUP_UART0_TXD */ /* SODIMM 139 */ 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) and Verdin ETH_2_RGMII */ 852&cpsw3g_mdio { 853 assigned-clocks = <&k3_clks 157 20>; 854 assigned-clock-parents = <&k3_clks 157 22>; 855 assigned-clock-rates = <25000000>; 856 pinctrl-names = "default"; 857 pinctrl-0 = <&pinctrl_eth_clock>, <&pinctrl_mdio>; 858 status = "disabled"; 859 860 cpsw3g_phy0: ethernet-phy@0 { 861 compatible = "ethernet-phy-id2000.a231"; 862 reg = <0>; 863 interrupt-parent = <&main_gpio0>; 864 interrupts = <25 IRQ_TYPE_EDGE_FALLING>; 865 pinctrl-names = "default"; 866 pinctrl-0 = <&pinctrl_eth_int>, <&pinctrl_eth_reset>; 867 reset-gpios = <&main_gpio0 17 GPIO_ACTIVE_LOW>; 868 reset-assert-us = <10>; 869 reset-deassert-us = <1000>; 870 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; 871 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; 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 = <&rgb_in>; 891 }; 892 }; 893}; 894 895/* Verdin PWM_1, PWM_2 */ 896&epwm0 { 897 pinctrl-names = "default"; 898 pinctrl-0 = <&pinctrl_epwm0_a>, <&pinctrl_epwm0_b>; 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,tc358778"; 1101 reg = <0xe>; 1102 assigned-clocks = <&k3_clks 157 20>; 1103 assigned-clock-parents = <&k3_clks 157 22>; 1104 assigned-clock-rates = <25000000>; 1105 pinctrl-names = "default"; 1106 pinctrl-0 = <&pinctrl_bridge_reset>; 1107 clocks = <&k3_clks 157 20>; 1108 clock-names = "refclk"; 1109 reset-gpios = <&main_gpio0 20 GPIO_ACTIVE_LOW>; 1110 vddc-supply = <®_1v2_dsi>; 1111 vddmipi-supply = <®_1v2_dsi>; 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: endpoint { 1123 data-lines = <18>; 1124 remote-endpoint = <&dpi_out>; 1125 }; 1126 }; 1127 1128 port@1 { 1129 reg = <1>; 1130 }; 1131 }; 1132 }; 1133 1134 tpm@2e { 1135 compatible = "st,st33ktpm2xi2c", "tcg,tpm-tis-i2c"; 1136 reg = <0x2e>; 1137 }; 1138 1139 pmic@30 { 1140 compatible = "ti,tps65219"; 1141 reg = <0x30>; 1142 pinctrl-names = "default"; 1143 pinctrl-0 = <&pinctrl_pmic_extint>; 1144 interrupt-parent = <&gic500>; 1145 interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>; 1146 1147 buck1-supply = <®_vsodimm>; 1148 buck2-supply = <®_vsodimm>; 1149 buck3-supply = <®_vsodimm>; 1150 ldo1-supply = <®_3v3>; 1151 ldo2-supply = <®_1v8>; 1152 ldo3-supply = <®_3v3>; 1153 ldo4-supply = <®_3v3>; 1154 system-power-controller; 1155 ti,power-button; 1156 1157 regulators { 1158 reg_vdd_core: buck1 { 1159 regulator-always-on; 1160 regulator-boot-on; 1161 regulator-max-microvolt = <850000>; 1162 regulator-min-microvolt = <750000>; 1163 regulator-name = "+VDD_CORE (PMIC BUCK1)"; 1164 }; 1165 1166 reg_1v8: buck2 { 1167 regulator-always-on; 1168 regulator-boot-on; 1169 regulator-max-microvolt = <1800000>; 1170 regulator-min-microvolt = <1800000>; 1171 regulator-name = "+V1.8 (PMIC BUCK2)"; /* On-module and SODIMM 214 */ 1172 }; 1173 1174 reg_vdd_ddr: buck3 { 1175 regulator-always-on; 1176 regulator-boot-on; 1177 regulator-max-microvolt = <1100000>; 1178 regulator-min-microvolt = <1100000>; 1179 regulator-name = "+VDD_DDR (PMIC BUCK3)"; 1180 }; 1181 1182 reg_sd_3v3_1v8: ldo1 { 1183 regulator-allow-bypass; 1184 regulator-always-on; 1185 regulator-boot-on; 1186 regulator-max-microvolt = <3300000>; 1187 regulator-min-microvolt = <3300000>; 1188 regulator-name = "+V3.3_1.8_SD (PMIC LDO1)"; 1189 }; 1190 1191 reg_vddr_core: ldo2 { 1192 regulator-always-on; 1193 regulator-boot-on; 1194 regulator-max-microvolt = <850000>; 1195 regulator-min-microvolt = <850000>; 1196 regulator-name = "+VDDR_CORE (PMIC LDO2)"; 1197 }; 1198 1199 reg_1v8a: ldo3 { 1200 regulator-always-on; 1201 regulator-boot-on; 1202 regulator-max-microvolt = <1800000>; 1203 regulator-min-microvolt = <1800000>; 1204 regulator-name = "+V1.8A (PMIC LDO3)"; 1205 }; 1206 1207 reg_eth_2v5: ldo4 { 1208 regulator-always-on; 1209 regulator-boot-on; 1210 regulator-max-microvolt = <2500000>; 1211 regulator-min-microvolt = <2500000>; 1212 regulator-name = "+V2.5_ETH (PMIC LDO4)"; 1213 }; 1214 }; 1215 }; 1216 1217 rtc_i2c: rtc@32 { 1218 compatible = "epson,rx8130"; 1219 reg = <0x32>; 1220 }; 1221 1222 sensor@48 { 1223 compatible = "ti,tmp1075"; 1224 reg = <0x48>; 1225 }; 1226 1227 verdin_som_adc: adc@49 { 1228 compatible = "ti,tla2024"; 1229 reg = <0x49>; 1230 #address-cells = <1>; 1231 #size-cells = <0>; 1232 #io-channel-cells = <1>; 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