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