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