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