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 = <2000>; 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 pmic@30 { 1135 compatible = "ti,tps65219"; 1136 reg = <0x30>; 1137 pinctrl-names = "default"; 1138 pinctrl-0 = <&pinctrl_pmic_extint>; 1139 interrupt-parent = <&gic500>; 1140 interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>; 1141 1142 buck1-supply = <®_vsodimm>; 1143 buck2-supply = <®_vsodimm>; 1144 buck3-supply = <®_vsodimm>; 1145 ldo1-supply = <®_3v3>; 1146 ldo2-supply = <®_1v8>; 1147 ldo3-supply = <®_3v3>; 1148 ldo4-supply = <®_3v3>; 1149 system-power-controller; 1150 ti,power-button; 1151 1152 regulators { 1153 reg_vdd_core: buck1 { 1154 regulator-always-on; 1155 regulator-boot-on; 1156 regulator-max-microvolt = <850000>; 1157 regulator-min-microvolt = <750000>; 1158 regulator-name = "+VDD_CORE (PMIC BUCK1)"; 1159 }; 1160 1161 reg_1v8: buck2 { 1162 regulator-always-on; 1163 regulator-boot-on; 1164 regulator-max-microvolt = <1800000>; 1165 regulator-min-microvolt = <1800000>; 1166 regulator-name = "+V1.8 (PMIC BUCK2)"; /* On-module and SODIMM 214 */ 1167 }; 1168 1169 reg_vdd_ddr: buck3 { 1170 regulator-always-on; 1171 regulator-boot-on; 1172 regulator-max-microvolt = <1100000>; 1173 regulator-min-microvolt = <1100000>; 1174 regulator-name = "+VDD_DDR (PMIC BUCK3)"; 1175 }; 1176 1177 reg_sd_3v3_1v8: ldo1 { 1178 regulator-allow-bypass; 1179 regulator-always-on; 1180 regulator-boot-on; 1181 regulator-max-microvolt = <3300000>; 1182 regulator-min-microvolt = <3300000>; 1183 regulator-name = "+V3.3_1.8_SD (PMIC LDO1)"; 1184 }; 1185 1186 reg_vddr_core: ldo2 { 1187 regulator-always-on; 1188 regulator-boot-on; 1189 regulator-max-microvolt = <850000>; 1190 regulator-min-microvolt = <850000>; 1191 regulator-name = "+VDDR_CORE (PMIC LDO2)"; 1192 }; 1193 1194 reg_1v8a: ldo3 { 1195 regulator-always-on; 1196 regulator-boot-on; 1197 regulator-max-microvolt = <1800000>; 1198 regulator-min-microvolt = <1800000>; 1199 regulator-name = "+V1.8A (PMIC LDO3)"; 1200 }; 1201 1202 reg_eth_2v5: ldo4 { 1203 regulator-always-on; 1204 regulator-boot-on; 1205 regulator-max-microvolt = <2500000>; 1206 regulator-min-microvolt = <2500000>; 1207 regulator-name = "+V2.5_ETH (PMIC LDO4)"; 1208 }; 1209 }; 1210 }; 1211 1212 rtc_i2c: rtc@32 { 1213 compatible = "epson,rx8130"; 1214 reg = <0x32>; 1215 }; 1216 1217 sensor@48 { 1218 compatible = "ti,tmp1075"; 1219 reg = <0x48>; 1220 }; 1221 1222 adc@49 { 1223 compatible = "ti,ads1015"; 1224 reg = <0x49>; 1225 #address-cells = <1>; 1226 #size-cells = <0>; 1227 1228 /* Verdin PMIC_I2C (ADC_4 - ADC_3) */ 1229 channel@0 { 1230 reg = <0>; 1231 ti,datarate = <4>; 1232 ti,gain = <2>; 1233 }; 1234 1235 /* Verdin PMIC_I2C (ADC_4 - ADC_1) */ 1236 channel@1 { 1237 reg = <1>; 1238 ti,datarate = <4>; 1239 ti,gain = <2>; 1240 }; 1241 1242 /* Verdin PMIC_I2C (ADC_3 - ADC_1) */ 1243 channel@2 { 1244 reg = <2>; 1245 ti,datarate = <4>; 1246 ti,gain = <2>; 1247 }; 1248 1249 /* Verdin PMIC_I2C (ADC_2 - ADC_1) */ 1250 channel@3 { 1251 reg = <3>; 1252 ti,datarate = <4>; 1253 ti,gain = <2>; 1254 }; 1255 1256 /* Verdin PMIC_I2C ADC_4 */ 1257 channel@4 { 1258 reg = <4>; 1259 ti,datarate = <4>; 1260 ti,gain = <2>; 1261 }; 1262 1263 /* Verdin PMIC_I2C ADC_3 */ 1264 channel@5 { 1265 reg = <5>; 1266 ti,datarate = <4>; 1267 ti,gain = <2>; 1268 }; 1269 1270 /* Verdin PMIC_I2C ADC_2 */ 1271 channel@6 { 1272 reg = <6>; 1273 ti,datarate = <4>; 1274 ti,gain = <2>; 1275 }; 1276 1277 /* Verdin PMIC_I2C ADC_1 */ 1278 channel@7 { 1279 reg = <7>; 1280 ti,datarate = <4>; 1281 ti,gain = <2>; 1282 }; 1283 }; 1284 1285 eeprom@50 { 1286 compatible = "st,24c02", "atmel,24c02"; 1287 pagesize = <16>; 1288 reg = <0x50>; 1289 }; 1290}; 1291 1292/* Verdin I2C_1 */ 1293&main_i2c1 { 1294 pinctrl-names = "default"; 1295 pinctrl-0 = <&pinctrl_i2c1>; 1296 status = "disabled"; 1297}; 1298 1299/* Verdin I2C_2_DSI */ 1300&main_i2c2 { 1301 pinctrl-names = "default"; 1302 pinctrl-0 = <&pinctrl_i2c2>; 1303 status = "disabled"; 1304}; 1305 1306/* Verdin I2C_4_CSI */ 1307&main_i2c3 { 1308 pinctrl-names = "default"; 1309 pinctrl-0 = <&pinctrl_i2c3>; 1310 status = "disabled"; 1311}; 1312 1313&mailbox0_cluster0 { 1314 mbox_m4_0: mbox-m4-0 { 1315 ti,mbox-rx = <0 0 0>; 1316 ti,mbox-tx = <1 0 0>; 1317 }; 1318}; 1319 1320/* Verdin CAN_1 */ 1321&main_mcan0 { 1322 pinctrl-names = "default"; 1323 pinctrl-0 = <&pinctrl_mcan0>; 1324 status = "disabled"; 1325}; 1326 1327/* Verdin SPI_1 */ 1328&main_spi1 { 1329 pinctrl-names = "default"; 1330 pinctrl-0 = <&pinctrl_spi1>, <&pinctrl_spi1_cs0>; 1331 ti,pindir-d0-out-d1-in; 1332 status = "disabled"; 1333}; 1334 1335/* Verdin UART_3, used as the Linux console */ 1336&main_uart0 { 1337 pinctrl-names = "default"; 1338 pinctrl-0 = <&pinctrl_uart0>; 1339 status = "disabled"; 1340}; 1341 1342/* Verdin UART_1 */ 1343&main_uart1 { 1344 pinctrl-names = "default"; 1345 pinctrl-0 = <&pinctrl_uart1>; 1346 status = "disabled"; 1347}; 1348 1349/* Verdin I2S_1 */ 1350&mcasp0 { 1351 pinctrl-names = "default"; 1352 pinctrl-0 = <&pinctrl_mcasp0>; 1353 op-mode = <0>; /* I2S mode */ 1354 serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */ 1355 1 2 0 0 1356 0 0 0 0 1357 0 0 0 0 1358 0 0 0 0 1359 >; 1360 tdm-slots = <2>; 1361 #sound-dai-cells = <0>; 1362 status = "disabled"; 1363}; 1364 1365/* Verdin I2S_2 */ 1366&mcasp1 { 1367 pinctrl-names = "default"; 1368 pinctrl-0 = <&pinctrl_mcasp1>; 1369 op-mode = <0>; /* I2S mode */ 1370 serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */ 1371 1 2 0 0 1372 0 0 0 0 1373 0 0 0 0 1374 0 0 0 0 1375 >; 1376 tdm-slots = <2>; 1377 #sound-dai-cells = <0>; 1378 status = "disabled"; 1379}; 1380 1381/* Verdin I2C_3_HDMI */ 1382&mcu_i2c0 { 1383 pinctrl-names = "default"; 1384 pinctrl-0 = <&pinctrl_mcu_i2c0>; 1385 status = "disabled"; 1386}; 1387 1388&mcu_gpio0 { 1389 gpio-line-names = 1390 "SODIMM_244", 1391 "SODIMM_206", 1392 "SODIMM_208", 1393 "SODIMM_210", 1394 "SODIMM_212", 1395 "", 1396 "", 1397 "", 1398 "", 1399 "", 1400 "", 1401 "", 1402 "", 1403 "", 1404 "", 1405 "", 1406 "", 1407 "", 1408 "", 1409 "", 1410 "", 1411 "", 1412 "", 1413 ""; 1414 1415 verdin_pcie_1_reset_hog: pcie-1-reset-hog { 1416 gpio-hog; 1417 /* Verdin PCIE_1_RESET# (SODIMM 244) */ 1418 gpios = <0 GPIO_ACTIVE_LOW>; 1419 line-name = "PCIE_1_RESET#"; 1420 output-low; 1421 status = "disabled"; 1422 }; 1423}; 1424 1425/* Verdin CAN_2 */ 1426&mcu_mcan0 { 1427 pinctrl-names = "default"; 1428 pinctrl-0 = <&pinctrl_mcu_mcan0>; 1429 status = "disabled"; 1430}; 1431 1432/* Verdin UART_4 - Cortex-M4 UART */ 1433&mcu_uart0 { 1434 pinctrl-names = "default"; 1435 pinctrl-0 = <&pinctrl_mcu_uart0>; 1436 status = "disabled"; 1437}; 1438 1439/* Verdin QSPI_1 */ 1440&ospi0 { 1441 pinctrl-names = "default"; 1442 pinctrl-0 = <&pinctrl_ospi0>; 1443 status = "disabled"; 1444}; 1445 1446/* On-module eMMC */ 1447&sdhci0 { 1448 pinctrl-names = "default"; 1449 pinctrl-0 = <&pinctrl_sdhci0>; 1450 non-removable; 1451 status = "okay"; 1452}; 1453 1454/* Verdin SD_1 */ 1455&sdhci1 { 1456 pinctrl-names = "default"; 1457 pinctrl-0 = <&pinctrl_sdhci1>, <&pinctrl_sd1_cd_gpio>; 1458 cd-gpios = <&main_gpio1 48 GPIO_ACTIVE_LOW>; 1459 disable-wp; 1460 vmmc-supply = <®_sdhc1_vmmc>; 1461 vqmmc-supply = <®_sdhc1_vqmmc>; 1462 ti,fails-without-test-cd; 1463 status = "disabled"; 1464}; 1465 1466/* Verdin USB_1 */ 1467&usbss0 { 1468 ti,vbus-divider; 1469 status = "disabled"; 1470}; 1471 1472&usb0 { 1473 adp-disable; 1474 usb-role-switch; 1475 status = "disabled"; 1476 1477 port { 1478 usb0_ep: endpoint { 1479 remote-endpoint = <&usb_dr_connector>; 1480 }; 1481 }; 1482}; 1483 1484/* Verdin USB_2 */ 1485&usbss1 { 1486 ti,vbus-divider; 1487 status = "disabled"; 1488}; 1489 1490&usb1 { 1491 pinctrl-names = "default"; 1492 pinctrl-0 = <&pinctrl_usb1>; 1493 dr_mode = "host"; 1494 status = "disabled"; 1495}; 1496 1497/* Verdin UART_2 */ 1498&wkup_uart0 { 1499 pinctrl-names = "default"; 1500 pinctrl-0 = <&pinctrl_wkup_uart0>; 1501 status = "disabled"; 1502}; 1503