1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Copyright (C) 2014-2016 Texas Instruments Incorporated - https://www.ti.com/ 4 */ 5/dts-v1/; 6 7#include "am5728.dtsi" 8#include "am57xx-commercial-grade.dtsi" 9#include "dra74x-mmc-iodelay.dtsi" 10#include "dra74-ipu-dsp-common.dtsi" 11#include <dt-bindings/gpio/gpio.h> 12#include <dt-bindings/interrupt-controller/irq.h> 13 14/ { 15 compatible = "ti,am572x-beagle-x15", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"; 16 17 aliases { 18 rtc0 = &mcp_rtc; 19 rtc1 = &tps659038_rtc; 20 rtc2 = &rtc; 21 display0 = &hdmi0; 22 }; 23 24 chosen { 25 stdout-path = &uart3; 26 }; 27 28 memory@0 { 29 device_type = "memory"; 30 reg = <0x0 0x80000000 0x0 0x80000000>; 31 }; 32 33 main_12v0: fixedregulator-main_12v0 { 34 /* main supply */ 35 compatible = "regulator-fixed"; 36 regulator-name = "main_12v0"; 37 regulator-min-microvolt = <12000000>; 38 regulator-max-microvolt = <12000000>; 39 regulator-always-on; 40 regulator-boot-on; 41 }; 42 43 evm_5v0: fixedregulator-evm_5v0 { 44 /* Output of TPS54531D */ 45 compatible = "regulator-fixed"; 46 regulator-name = "evm_5v0"; 47 regulator-min-microvolt = <5000000>; 48 regulator-max-microvolt = <5000000>; 49 vin-supply = <&main_12v0>; 50 regulator-always-on; 51 regulator-boot-on; 52 }; 53 54 reserved-memory { 55 #address-cells = <2>; 56 #size-cells = <2>; 57 ranges; 58 59 ipu2_memory_region: ipu2-memory@95800000 { 60 compatible = "shared-dma-pool"; 61 reg = <0x0 0x95800000 0x0 0x3800000>; 62 reusable; 63 status = "okay"; 64 }; 65 66 dsp1_memory_region: dsp1-memory@99000000 { 67 compatible = "shared-dma-pool"; 68 reg = <0x0 0x99000000 0x0 0x4000000>; 69 reusable; 70 status = "okay"; 71 }; 72 73 ipu1_memory_region: ipu1-memory@9d000000 { 74 compatible = "shared-dma-pool"; 75 reg = <0x0 0x9d000000 0x0 0x2000000>; 76 reusable; 77 status = "okay"; 78 }; 79 80 dsp2_memory_region: dsp2-memory@9f000000 { 81 compatible = "shared-dma-pool"; 82 reg = <0x0 0x9f000000 0x0 0x800000>; 83 reusable; 84 status = "okay"; 85 }; 86 }; 87 88 vdd_3v3: fixedregulator-vdd_3v3 { 89 compatible = "regulator-fixed"; 90 regulator-name = "vdd_3v3"; 91 vin-supply = <®en1>; 92 regulator-min-microvolt = <3300000>; 93 regulator-max-microvolt = <3300000>; 94 }; 95 96 aic_dvdd: fixedregulator-aic_dvdd { 97 compatible = "regulator-fixed"; 98 regulator-name = "aic_dvdd_fixed"; 99 vin-supply = <&vdd_3v3>; 100 regulator-min-microvolt = <1800000>; 101 regulator-max-microvolt = <1800000>; 102 }; 103 104 vtt_fixed: fixedregulator-vtt { 105 /* TPS51200 */ 106 compatible = "regulator-fixed"; 107 regulator-name = "vtt_fixed"; 108 vin-supply = <&smps3_reg>; 109 regulator-min-microvolt = <3300000>; 110 regulator-max-microvolt = <3300000>; 111 regulator-always-on; 112 regulator-boot-on; 113 enable-active-high; 114 gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>; 115 }; 116 117 leds { 118 compatible = "gpio-leds"; 119 120 led0 { 121 label = "beagle-x15:usr0"; 122 gpios = <&gpio7 9 GPIO_ACTIVE_HIGH>; 123 linux,default-trigger = "heartbeat"; 124 default-state = "off"; 125 }; 126 127 led1 { 128 label = "beagle-x15:usr1"; 129 gpios = <&gpio7 8 GPIO_ACTIVE_HIGH>; 130 linux,default-trigger = "cpu0"; 131 default-state = "off"; 132 }; 133 134 led2 { 135 label = "beagle-x15:usr2"; 136 gpios = <&gpio7 14 GPIO_ACTIVE_HIGH>; 137 linux,default-trigger = "mmc0"; 138 default-state = "off"; 139 }; 140 141 led3 { 142 label = "beagle-x15:usr3"; 143 gpios = <&gpio7 15 GPIO_ACTIVE_HIGH>; 144 linux,default-trigger = "disk-activity"; 145 default-state = "off"; 146 }; 147 }; 148 149 gpio_fan: gpio_fan { 150 /* Based on 5v 500mA AFB02505HHB */ 151 compatible = "gpio-fan"; 152 gpios = <&tps659038_gpio 2 GPIO_ACTIVE_HIGH>; 153 gpio-fan,speed-map = <0 0>, 154 <13000 1>; 155 #cooling-cells = <2>; 156 }; 157 158 hdmi0: connector { 159 compatible = "hdmi-connector"; 160 label = "hdmi"; 161 162 type = "a"; 163 164 port { 165 hdmi_connector_in: endpoint { 166 remote-endpoint = <&tpd12s015_out>; 167 }; 168 }; 169 }; 170 171 tpd12s015: encoder { 172 compatible = "ti,tpd12s015"; 173 174 ports { 175 #address-cells = <1>; 176 #size-cells = <0>; 177 178 port@0 { 179 reg = <0>; 180 181 tpd12s015_in: endpoint { 182 remote-endpoint = <&hdmi_out>; 183 }; 184 }; 185 186 port@1 { 187 reg = <1>; 188 189 tpd12s015_out: endpoint { 190 remote-endpoint = <&hdmi_connector_in>; 191 }; 192 }; 193 }; 194 }; 195 196 sound0: sound0 { 197 compatible = "simple-audio-card"; 198 simple-audio-card,name = "BeagleBoard-X15"; 199 simple-audio-card,widgets = 200 "Line", "Line Out", 201 "Line", "Line In"; 202 simple-audio-card,routing = 203 "Line Out", "LLOUT", 204 "Line Out", "RLOUT", 205 "MIC2L", "Line In", 206 "MIC2R", "Line In"; 207 simple-audio-card,format = "dsp_b"; 208 simple-audio-card,bitclock-master = <&sound0_master>; 209 simple-audio-card,frame-master = <&sound0_master>; 210 simple-audio-card,bitclock-inversion; 211 212 simple-audio-card,cpu { 213 sound-dai = <&mcasp3>; 214 }; 215 216 sound0_master: simple-audio-card,codec { 217 sound-dai = <&tlv320aic3104>; 218 clocks = <&clkout2_clk>; 219 }; 220 }; 221}; 222 223&i2c1 { 224 status = "okay"; 225 clock-frequency = <400000>; 226 227 tps659038: tps659038@58 { 228 compatible = "ti,tps659038"; 229 reg = <0x58>; 230 interrupt-parent = <&gpio1>; 231 interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 232 233 #interrupt-cells = <2>; 234 interrupt-controller; 235 236 ti,system-power-controller; 237 ti,palmas-override-powerhold; 238 239 tps659038_pmic { 240 compatible = "ti,tps659038-pmic"; 241 242 regulators { 243 smps12_reg: smps12 { 244 /* VDD_MPU */ 245 regulator-name = "smps12"; 246 regulator-min-microvolt = < 850000>; 247 regulator-max-microvolt = <1250000>; 248 regulator-always-on; 249 regulator-boot-on; 250 }; 251 252 smps3_reg: smps3 { 253 /* VDD_DDR */ 254 regulator-name = "smps3"; 255 regulator-min-microvolt = <1350000>; 256 regulator-max-microvolt = <1350000>; 257 regulator-always-on; 258 regulator-boot-on; 259 }; 260 261 smps45_reg: smps45 { 262 /* VDD_DSPEVE, VDD_IVA, VDD_GPU */ 263 regulator-name = "smps45"; 264 regulator-min-microvolt = < 850000>; 265 regulator-max-microvolt = <1250000>; 266 regulator-always-on; 267 regulator-boot-on; 268 }; 269 270 smps6_reg: smps6 { 271 /* VDD_CORE */ 272 regulator-name = "smps6"; 273 regulator-min-microvolt = <850000>; 274 regulator-max-microvolt = <1150000>; 275 regulator-always-on; 276 regulator-boot-on; 277 }; 278 279 /* SMPS7 unused */ 280 281 smps8_reg: smps8 { 282 /* VDD_1V8 */ 283 regulator-name = "smps8"; 284 regulator-min-microvolt = <1800000>; 285 regulator-max-microvolt = <1800000>; 286 regulator-always-on; 287 regulator-boot-on; 288 }; 289 290 /* SMPS9 unused */ 291 292 ldo1_reg: ldo1 { 293 /* VDD_SD / VDDSHV8 */ 294 regulator-name = "ldo1"; 295 regulator-min-microvolt = <1800000>; 296 regulator-max-microvolt = <3300000>; 297 regulator-boot-on; 298 regulator-always-on; 299 }; 300 301 ldo2_reg: ldo2 { 302 /* VDD_SHV5 */ 303 regulator-name = "ldo2"; 304 regulator-min-microvolt = <3300000>; 305 regulator-max-microvolt = <3300000>; 306 regulator-always-on; 307 regulator-boot-on; 308 }; 309 310 ldo3_reg: ldo3 { 311 /* VDDA_1V8_PHYA */ 312 regulator-name = "ldo3"; 313 regulator-min-microvolt = <1800000>; 314 regulator-max-microvolt = <1800000>; 315 regulator-always-on; 316 regulator-boot-on; 317 }; 318 319 ldo4_reg: ldo4 { 320 /* VDDA_1V8_PHYB */ 321 regulator-name = "ldo4"; 322 regulator-min-microvolt = <1800000>; 323 regulator-max-microvolt = <1800000>; 324 regulator-always-on; 325 regulator-boot-on; 326 }; 327 328 ldo9_reg: ldo9 { 329 /* VDD_RTC */ 330 regulator-name = "ldo9"; 331 regulator-min-microvolt = <1050000>; 332 regulator-max-microvolt = <1050000>; 333 regulator-always-on; 334 regulator-boot-on; 335 }; 336 337 ldoln_reg: ldoln { 338 /* VDDA_1V8_PLL */ 339 regulator-name = "ldoln"; 340 regulator-min-microvolt = <1800000>; 341 regulator-max-microvolt = <1800000>; 342 regulator-always-on; 343 regulator-boot-on; 344 }; 345 346 ldousb_reg: ldousb { 347 /* VDDA_3V_USB: VDDA_USBHS33 */ 348 regulator-name = "ldousb"; 349 regulator-min-microvolt = <3300000>; 350 regulator-max-microvolt = <3300000>; 351 regulator-boot-on; 352 }; 353 354 regen1: regen1 { 355 /* VDD_3V3_ON */ 356 regulator-name = "regen1"; 357 regulator-boot-on; 358 regulator-always-on; 359 }; 360 }; 361 }; 362 363 tps659038_rtc: tps659038_rtc { 364 compatible = "ti,palmas-rtc"; 365 interrupt-parent = <&tps659038>; 366 interrupts = <8 IRQ_TYPE_EDGE_FALLING>; 367 wakeup-source; 368 }; 369 370 tps659038_pwr_button: tps659038_pwr_button { 371 compatible = "ti,palmas-pwrbutton"; 372 interrupt-parent = <&tps659038>; 373 interrupts = <1 IRQ_TYPE_EDGE_FALLING>; 374 wakeup-source; 375 ti,palmas-long-press-seconds = <12>; 376 }; 377 378 tps659038_gpio: tps659038_gpio { 379 compatible = "ti,palmas-gpio"; 380 gpio-controller; 381 #gpio-cells = <2>; 382 }; 383 384 extcon_usb2: tps659038_usb { 385 compatible = "ti,palmas-usb-vid"; 386 ti,enable-vbus-detection; 387 vbus-gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>; 388 }; 389 390 }; 391 392 tmp102: tmp102@48 { 393 compatible = "ti,tmp102"; 394 reg = <0x48>; 395 interrupt-parent = <&gpio7>; 396 interrupts = <16 IRQ_TYPE_LEVEL_LOW>; 397 #thermal-sensor-cells = <1>; 398 }; 399 400 tlv320aic3104: tlv320aic3104@18 { 401 #sound-dai-cells = <0>; 402 compatible = "ti,tlv320aic3104"; 403 reg = <0x18>; 404 assigned-clocks = <&clkoutmux2_clk_mux>; 405 assigned-clock-parents = <&sys_clk2_dclk_div>; 406 407 status = "okay"; 408 adc-settle-ms = <40>; 409 410 AVDD-supply = <&vdd_3v3>; 411 IOVDD-supply = <&vdd_3v3>; 412 DRVDD-supply = <&vdd_3v3>; 413 DVDD-supply = <&aic_dvdd>; 414 }; 415 416 eeprom: eeprom@50 { 417 compatible = "atmel,24c32"; 418 reg = <0x50>; 419 }; 420}; 421 422&i2c3 { 423 status = "okay"; 424 clock-frequency = <400000>; 425 426 mcp_rtc: rtc@6f { 427 compatible = "microchip,mcp7941x"; 428 reg = <0x6f>; 429 interrupts-extended = <&crossbar_mpu GIC_SPI 2 IRQ_TYPE_EDGE_RISING>, 430 <&dra7_pmx_core 0x424>; 431 interrupt-names = "irq", "wakeup"; 432 433 vcc-supply = <&vdd_3v3>; 434 wakeup-source; 435 }; 436}; 437 438&gpio7_target { 439 ti,no-reset-on-init; 440 ti,no-idle-on-init; 441}; 442 443&cpu0 { 444 vdd-supply = <&smps12_reg>; 445 voltage-tolerance = <1>; 446}; 447 448&uart3 { 449 status = "okay"; 450 interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, 451 <&dra7_pmx_core 0x3f8>; 452}; 453 454&davinci_mdio_sw { 455 phy0: ethernet-phy@1 { 456 reg = <1>; 457 }; 458 459 phy1: ethernet-phy@2 { 460 reg = <2>; 461 }; 462}; 463 464&mac_sw { 465 status = "okay"; 466}; 467 468&cpsw_port1 { 469 phy-handle = <&phy0>; 470 phy-mode = "rgmii-rxid"; 471 ti,dual-emac-pvid = <1>; 472}; 473 474&cpsw_port2 { 475 phy-handle = <&phy1>; 476 phy-mode = "rgmii-rxid"; 477 ti,dual-emac-pvid = <2>; 478}; 479 480&mmc1 { 481 status = "okay"; 482 483 pinctrl-names = "default"; 484 pinctrl-0 = <&mmc1_pins_default>; 485 486 bus-width = <4>; 487 cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */ 488 no-1-8-v; 489}; 490 491&mmc2 { 492 status = "okay"; 493 494 pinctrl-names = "default"; 495 pinctrl-0 = <&mmc2_pins_default>; 496 497 vmmc-supply = <&vdd_3v3>; 498 vqmmc-supply = <&vdd_3v3>; 499 bus-width = <8>; 500 non-removable; 501 no-1-8-v; 502}; 503 504&sata { 505 status = "okay"; 506}; 507 508&usb2_phy1 { 509 phy-supply = <&ldousb_reg>; 510}; 511 512&usb2_phy2 { 513 phy-supply = <&ldousb_reg>; 514}; 515 516&usb1 { 517 dr_mode = "host"; 518}; 519 520&omap_dwc3_2 { 521 extcon = <&extcon_usb2>; 522}; 523 524&usb2 { 525 /* 526 * Stand alone usage is peripheral only. 527 * However, with some resistor modifications 528 * this port can be used via expansion connectors 529 * as "host" or "dual-role". If so, provide 530 * the necessary dr_mode override in the expansion 531 * board's DT. 532 */ 533 dr_mode = "peripheral"; 534}; 535 536&cpu_trips { 537 cpu_alert1: cpu_alert1 { 538 temperature = <50000>; /* millicelsius */ 539 hysteresis = <2000>; /* millicelsius */ 540 type = "active"; 541 }; 542}; 543 544&cpu_cooling_maps { 545 map1 { 546 trip = <&cpu_alert1>; 547 cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 548 }; 549}; 550 551&thermal_zones { 552 board_thermal: board_thermal { 553 polling-delay-passive = <1250>; /* milliseconds */ 554 polling-delay = <1500>; /* milliseconds */ 555 556 /* sensor ID */ 557 thermal-sensors = <&tmp102 0>; 558 559 board_trips: trips { 560 board_alert0: board_alert { 561 temperature = <40000>; /* millicelsius */ 562 hysteresis = <2000>; /* millicelsius */ 563 type = "active"; 564 }; 565 566 board_crit: board_crit { 567 temperature = <105000>; /* millicelsius */ 568 hysteresis = <0>; /* millicelsius */ 569 type = "critical"; 570 }; 571 }; 572 573 board_cooling_maps: cooling-maps { 574 map0 { 575 trip = <&board_alert0>; 576 cooling-device = 577 <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 578 }; 579 }; 580 }; 581}; 582 583&dss { 584 status = "okay"; 585 586 vdda_video-supply = <&ldoln_reg>; 587}; 588 589&hdmi { 590 status = "okay"; 591 vdda-supply = <&ldo4_reg>; 592 593 port { 594 hdmi_out: endpoint { 595 remote-endpoint = <&tpd12s015_in>; 596 }; 597 }; 598}; 599 600&pcie1_rc { 601 status = "okay"; 602 gpios = <&gpio2 8 GPIO_ACTIVE_LOW>; 603}; 604 605&mcasp3 { 606 #sound-dai-cells = <0>; 607 assigned-clocks = <&l4per2_clkctrl DRA7_L4PER2_MCASP3_CLKCTRL 24>; 608 assigned-clock-parents = <&sys_clkin2>; 609 status = "okay"; 610 611 op-mode = <0>; /* MCASP_IIS_MODE */ 612 tdm-slots = <2>; 613 /* 4 serializers */ 614 serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */ 615 1 2 0 0 616 >; 617 tx-num-evt = <32>; 618 rx-num-evt = <32>; 619}; 620 621&ipu2 { 622 status = "okay"; 623 memory-region = <&ipu2_memory_region>; 624}; 625 626&ipu1 { 627 status = "okay"; 628 memory-region = <&ipu1_memory_region>; 629}; 630 631&dsp1 { 632 status = "okay"; 633 memory-region = <&dsp1_memory_region>; 634}; 635 636&dsp2 { 637 status = "okay"; 638 memory-region = <&dsp2_memory_region>; 639}; 640 641&pruss1_mdio { 642 status = "disabled"; 643}; 644 645&pruss2_mdio { 646 status = "disabled"; 647}; 648