1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Copyright (C) 2014-2019 Texas Instruments Incorporated - http://www.ti.com/ 4 */ 5 6/dts-v1/; 7#include "dra74x.dtsi" 8#include "dra74x-mmc-iodelay.dtsi" 9#include <dt-bindings/gpio/gpio.h> 10#include <dt-bindings/interrupt-controller/irq.h> 11#include <dt-bindings/pinctrl/dra.h> 12 13/ { 14 model = "BeagleBoard.org BeagleBone AI"; 15 compatible = "beagle,am5729-beagleboneai", "ti,am5728", 16 "ti,dra742", "ti,dra74", "ti,dra7"; 17 18 aliases { 19 rtc0 = &tps659038_rtc; 20 rtc1 = &rtc; 21 display0 = &hdmi_conn; 22 }; 23 24 chosen { 25 stdout-path = &uart1; 26 }; 27 28 memory@0 { 29 device_type = "memory"; 30 reg = <0x0 0x80000000 0x0 0x40000000>; 31 }; 32 33 vdd_adc: gpioregulator-vdd_adc { 34 compatible = "regulator-gpio"; 35 regulator-name = "vdd_adc"; 36 vin-supply = <&vdd_5v>; 37 regulator-min-microvolt = <1800000>; 38 regulator-max-microvolt = <3300000>; 39 regulator-always-on; 40 regulator-boot-on; 41 gpios = <&gpio3 27 GPIO_ACTIVE_HIGH>; 42 states = <1800000 0 43 3300000 1>; 44 }; 45 46 vdd_5v: fixedregulator-vdd_5v { 47 compatible = "regulator-fixed"; 48 regulator-name = "vdd_5v"; 49 regulator-min-microvolt = <5000000>; 50 regulator-max-microvolt = <5000000>; 51 regulator-always-on; 52 regulator-boot-on; 53 }; 54 55 vtt_fixed: fixedregulator-vtt { 56 /* TPS51200 */ 57 compatible = "regulator-fixed"; 58 regulator-name = "vtt_fixed"; 59 vin-supply = <&vdd_ddr>; 60 regulator-min-microvolt = <3300000>; 61 regulator-max-microvolt = <3300000>; 62 regulator-always-on; 63 regulator-boot-on; 64 }; 65 66 leds { 67 compatible = "gpio-leds"; 68 69 led0 { 70 label = "beaglebone:green:usr0"; 71 gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>; 72 linux,default-trigger = "heartbeat"; 73 default-state = "off"; 74 }; 75 76 led1 { 77 label = "beaglebone:green:usr1"; 78 gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>; 79 linux,default-trigger = "mmc0"; 80 default-state = "off"; 81 }; 82 83 led2 { 84 label = "beaglebone:green:usr2"; 85 gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>; 86 linux,default-trigger = "cpu"; 87 default-state = "off"; 88 }; 89 90 led3 { 91 label = "beaglebone:green:usr3"; 92 gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>; 93 linux,default-trigger = "mmc1"; 94 default-state = "off"; 95 }; 96 97 led4 { 98 label = "beaglebone:green:usr4"; 99 gpios = <&gpio3 7 GPIO_ACTIVE_HIGH>; 100 linux,default-trigger = "netdev"; 101 default-state = "off"; 102 }; 103 }; 104 105 hdmi_conn: connector@0 { 106 compatible = "hdmi-connector"; 107 label = "hdmi"; 108 type = "a"; 109 110 port { 111 hdmi_connector_in: endpoint { 112 remote-endpoint = <&hdmi_encoder_out>; 113 }; 114 }; 115 }; 116 117 hdmi_enc: encoder@0 { 118 /* "ti,tpd12s016" software compatible with "ti,tpd12s015" 119 * no need for individual driver 120 */ 121 compatible = "ti,tpd12s015"; 122 gpios = <0>, 123 <0>, 124 <&gpio7 12 GPIO_ACTIVE_HIGH>; 125 126 ports { 127 #address-cells = <0x1>; 128 #size-cells = <0x0>; 129 130 port@0 { 131 reg = <0x0>; 132 133 hdmi_encoder_in: endpoint@0 { 134 remote-endpoint = <&hdmi_out>; 135 }; 136 }; 137 138 port@1 { 139 reg = <0x1>; 140 141 hdmi_encoder_out: endpoint@0 { 142 remote-endpoint = <&hdmi_connector_in>; 143 }; 144 }; 145 }; 146 }; 147 148 emmc_pwrseq: emmc_pwrseq { 149 compatible = "mmc-pwrseq-emmc"; 150 reset-gpios = <&gpio5 7 GPIO_ACTIVE_LOW>; 151 }; 152 153 brcmf_pwrseq: brcmf_pwrseq { 154 compatible = "mmc-pwrseq-simple"; 155 reset-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>, /* BT-REG-ON */ 156 <&gpio3 18 GPIO_ACTIVE_LOW>; /* WL-REG-ON */ 157 }; 158 159 extcon_usb1: extcon_usb1 { 160 compatible = "linux,extcon-usb-gpio"; 161 ti,enable-id-detection; 162 id-gpio = <&gpio3 13 GPIO_ACTIVE_HIGH>; 163 }; 164}; 165 166&i2c1 { 167 status = "okay"; 168 clock-frequency = <400000>; 169 170 tps659038: tps659038@58 { 171 compatible = "ti,tps659038"; 172 reg = <0x58>; 173 interrupt-parent = <&gpio6>; 174 interrupts = <16 IRQ_TYPE_LEVEL_LOW>; 175 176 #interrupt-cells = <2>; 177 interrupt-controller; 178 179 ti,system-power-controller; 180 ti,palmas-override-powerhold; 181 182 tps659038_pmic { 183 compatible = "ti,tps659038-pmic"; 184 185 smps12-in-supply = <&vdd_5v>; 186 smps3-in-supply = <&vdd_5v>; 187 smps45-in-supply = <&vdd_5v>; 188 smps6-in-supply = <&vdd_5v>; 189 smps7-in-supply = <&vdd_5v>; 190 mps3-in-supply = <&vdd_5v>; 191 smps8-in-supply = <&vdd_5v>; 192 smps9-in-supply = <&vdd_5v>; 193 ldo1-in-supply = <&vdd_5v>; 194 ldo2-in-supply = <&vdd_5v>; 195 ldo3-in-supply = <&vdd_5v>; 196 ldo4-in-supply = <&vdd_5v>; 197 ldo9-in-supply = <&vdd_5v>; 198 ldoln-in-supply = <&vdd_5v>; 199 ldousb-in-supply = <&vdd_5v>; 200 ldortc-in-supply = <&vdd_5v>; 201 202 regulators { 203 vdd_mpu: smps12 { 204 /* VDD_MPU */ 205 regulator-name = "smps12"; 206 regulator-min-microvolt = <850000>; 207 regulator-max-microvolt = <1250000>; 208 regulator-always-on; 209 regulator-boot-on; 210 }; 211 212 vdd_ddr: smps3 { 213 /* VDD_DDR EMIF1 EMIF2 */ 214 regulator-name = "smps3"; 215 regulator-min-microvolt = <1350000>; 216 regulator-max-microvolt = <1350000>; 217 regulator-always-on; 218 regulator-boot-on; 219 }; 220 221 vdd_dspeve: smps45 { 222 /* VDD_DSPEVE on AM572 */ 223 regulator-name = "smps45"; 224 regulator-min-microvolt = < 850000>; 225 regulator-max-microvolt = <1250000>; 226 regulator-always-on; 227 regulator-boot-on; 228 }; 229 230 vdd_gpu: smps6 { 231 /* VDD_GPU */ 232 regulator-name = "smps6"; 233 regulator-min-microvolt = < 850000>; 234 regulator-max-microvolt = <1250000>; 235 regulator-always-on; 236 regulator-boot-on; 237 }; 238 239 vdd_core: smps7 { 240 /* VDD_CORE */ 241 regulator-name = "smps7"; 242 regulator-min-microvolt = < 850000>; /*** 1.15V */ 243 regulator-max-microvolt = <1150000>; 244 regulator-always-on; 245 regulator-boot-on; 246 }; 247 248 vdd_iva: smps8 { 249 /* VDD_IVAHD */ /*** 1.06V */ 250 regulator-name = "smps8"; 251 }; 252 253 vdd_3v3: smps9 { 254 /* VDD_3V3 */ 255 regulator-name = "smps9"; 256 regulator-min-microvolt = <3300000>; 257 regulator-max-microvolt = <3300000>; 258 regulator-always-on; 259 regulator-boot-on; 260 }; 261 262 vdd_sd: ldo1 { 263 /* VDDSHV8 - VSDMMC */ 264 regulator-name = "ldo1"; 265 regulator-min-microvolt = <1800000>; 266 regulator-max-microvolt = <3300000>; 267 regulator-boot-on; 268 regulator-always-on; 269 }; 270 271 vdd_1v8: ldo2 { 272 /* VDDSH18V */ 273 regulator-name = "ldo2"; 274 regulator-min-microvolt = <1800000>; 275 regulator-max-microvolt = <1800000>; 276 regulator-always-on; 277 regulator-boot-on; 278 }; 279 280 vdd_1v8_phy_ldo3: ldo3 { 281 /* R1.3a 572x V1_8PHY_LDO3: USB, SATA */ 282 regulator-name = "ldo3"; 283 regulator-min-microvolt = <1800000>; 284 regulator-max-microvolt = <1800000>; 285 regulator-always-on; 286 regulator-boot-on; 287 }; 288 289 vdd_1v8_phy_ldo4: ldo4 { 290 /* R1.3a 572x V1_8PHY_LDO4: PCIE, HDMI*/ 291 regulator-name = "ldo4"; 292 regulator-min-microvolt = <1800000>; 293 regulator-max-microvolt = <1800000>; 294 regulator-always-on; 295 regulator-boot-on; 296 }; 297 298 /* LDO5-8 unused */ 299 300 vdd_rtc: ldo9 { 301 /* VDD_RTC */ 302 regulator-name = "ldo9"; 303 regulator-min-microvolt = < 840000>; 304 regulator-max-microvolt = <1160000>; 305 regulator-always-on; 306 regulator-boot-on; 307 }; 308 309 vdd_1v8_pll: ldoln { 310 /* VDDA_1V8_PLL */ 311 regulator-name = "ldoln"; 312 regulator-min-microvolt = <1800000>; 313 regulator-max-microvolt = <1800000>; 314 regulator-always-on; 315 regulator-boot-on; 316 }; 317 318 ldousb_reg: ldousb { 319 /* VDDA_3V_USB: VDDA_USBHS33 */ 320 regulator-name = "ldousb"; 321 regulator-min-microvolt = <3300000>; 322 regulator-max-microvolt = <3300000>; 323 regulator-always-on; 324 regulator-boot-on; 325 }; 326 327 ldortc_reg: ldortc { 328 /* VDDA_RTC */ 329 regulator-name = "ldortc"; 330 regulator-min-microvolt = <1800000>; 331 regulator-max-microvolt = <1800000>; 332 regulator-always-on; 333 regulator-boot-on; 334 }; 335 336 regen1: regen1 { 337 /* VDD_3V3_ON */ 338 regulator-name = "regen1"; 339 regulator-boot-on; 340 regulator-always-on; 341 }; 342 343 regen2: regen2 { 344 /* Needed for PMIC internal resource */ 345 regulator-name = "regen2"; 346 regulator-boot-on; 347 regulator-always-on; 348 }; 349 }; 350 }; 351 352 tps659038_rtc: tps659038_rtc { 353 compatible = "ti,palmas-rtc"; 354 interrupt-parent = <&tps659038>; 355 interrupts = <8 IRQ_TYPE_EDGE_FALLING>; 356 wakeup-source; 357 }; 358 359 tps659038_pwr_button: tps659038_pwr_button { 360 compatible = "ti,palmas-pwrbutton"; 361 interrupt-parent = <&tps659038>; 362 interrupts = <1 IRQ_TYPE_EDGE_FALLING>; 363 wakeup-source; 364 ti,palmas-long-press-seconds = <12>; 365 }; 366 367 tps659038_gpio: tps659038_gpio { 368 compatible = "ti,palmas-gpio"; 369 gpio-controller; 370 #gpio-cells = <2>; 371 }; 372 }; 373}; 374 375&mcspi3 { 376 status = "okay"; 377 ti,pindir-d0-out-d1-in; 378 379 sn65hvs882: sn65hvs882@0 { 380 compatible = "pisosr-gpio"; 381 gpio-controller; 382 #gpio-cells = <2>; 383 384 reg = <0>; 385 spi-max-frequency = <1000000>; 386 spi-cpol; 387 }; 388}; 389 390&cpu0 { 391 vdd-supply = <&vdd_mpu>; 392 voltage-tolerance = <1>; 393}; 394 395&uart1 { 396 status = "okay"; 397}; 398 399&davinci_mdio { 400 reset-gpios = <&gpio2 23 GPIO_ACTIVE_LOW>; 401 reset-delay-us = <2>; 402 403 phy0: ethernet-phy@1 { 404 reg = <4>; 405 eee-broken-100tx; 406 eee-broken-1000t; 407 }; 408}; 409 410&mac { 411 slaves = <1>; 412 status = "okay"; 413}; 414 415&cpsw_emac0 { 416 phy-handle = <&phy0>; 417 phy-mode = "rgmii"; 418}; 419 420&mmc1 { 421 status = "okay"; 422 vmmc-supply = <&vdd_3v3>; 423 vqmmc-supply = <&vdd_sd>; 424 bus-width = <4>; 425 cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */ 426 427 pinctrl-names = "default"; 428 pinctrl-0 = <&mmc1_pins_default>; 429}; 430 431&mmc2 { 432 status = "okay"; 433 vmmc-supply = <&vdd_1v8>; 434 vqmmc-supply = <&vdd_1v8>; 435 bus-width = <8>; 436 ti,non-removable; 437 non-removable; 438 mmc-pwrseq = <&emmc_pwrseq>; 439 440 ti,needs-special-reset; 441 dmas = <&sdma_xbar 47>, <&sdma_xbar 48>; 442 dma-names = "tx", "rx"; 443 444 pinctrl-names = "default", "hs", "ddr_1_8v", "hs200_1_8v"; 445 pinctrl-0 = <&mmc2_pins_default>; 446 pinctrl-1 = <&mmc2_pins_hs>; 447 pinctrl-2 = <&mmc2_pins_ddr_rev20>; 448 pinctrl-3 = <&mmc2_pins_hs200>; 449 450}; 451 452&mmc4 { 453 /* DS: Default speed (DS) up to 25 MHz, including 1- and 4-bit modes (3.3 V signaling). */ 454 /* HS: High speed up to 50 MHz (3.3 V signaling). */ 455 /* SDR12: SDR up to 25 MHz (1.8 V signaling). */ 456 /* SDR25: SDR up to 50 MHz (1.8 V signaling). */ 457 /* SDR50: SDR up to 100 MHz (1.8 V signaling). */ 458 /* SDR104: SDR up to 208 MHz (1.8 V signaling) */ 459 /* DDR50: DDR up to 50 MHz (1.8 V signaling). */ 460 status = "okay"; 461 462 ti,needs-special-reset; 463 vmmc-supply = <&vdd_3v3>; 464 cap-power-off-card; 465 keep-power-in-suspend; 466 bus-width = <4>; 467 ti,non-removable; 468 non-removable; 469 no-1-8-v; 470 max-frequency = <24000000>; 471 472 #address-cells = <1>; 473 #size-cells = <0>; 474 mmc-pwrseq = <&brcmf_pwrseq>; 475 476 brcmf: wifi@1 { 477 status = "okay"; 478 reg = <1>; 479 compatible = "brcm,bcm4329-fmac"; 480 481 brcm,sd-head-align = <4>; 482 brcm,sd_head_align = <4>; 483 brcm,sd_sgentry_align = <512>; 484 485 interrupt-parent = <&gpio3>; 486 interrupts = <23 IRQ_TYPE_LEVEL_LOW>; 487 interrupt-names = "host-wake"; 488 }; 489}; 490 491&usb2_phy1 { 492 phy-supply = <&ldousb_reg>; 493}; 494 495&usb2_phy2 { 496 phy-supply = <&ldousb_reg>; 497}; 498 499&usb1 { 500 status = "okay"; 501 dr_mode = "otg"; 502}; 503 504&omap_dwc3_1 { 505 extcon = <&extcon_usb1>; 506}; 507 508&usb2 { 509 status = "okay"; 510 dr_mode = "host"; 511}; 512 513&dss { 514 status = "okay"; 515 vdda_video-supply = <&vdd_1v8_pll>; 516}; 517 518&hdmi { 519 status = "okay"; 520 vdda-supply = <&vdd_1v8_phy_ldo4>; 521 522 port { 523 hdmi_out: endpoint { 524 remote-endpoint = <&hdmi_encoder_in>; 525 }; 526 }; 527}; 528 529&bandgap { 530 status = "okay"; 531}; 532 533&cpu_alert0 { 534 temperature = <55000>; /* milliCelsius */ 535}; 536 537&cpu_crit { 538 temperature = <85000>; /* milliCelsius */ 539}; 540 541&gpu_crit { 542 temperature = <85000>; /* milliCelsius */ 543}; 544 545&core_crit { 546 temperature = <85000>; /* milliCelsius */ 547}; 548 549&dspeve_crit { 550 temperature = <85000>; /* milliCelsius */ 551}; 552 553&iva_crit { 554 temperature = <85000>; /* milliCelsius */ 555}; 556 557&sata { 558 status = "disabled"; 559}; 560 561&sata_phy { 562 status = "disabled"; 563}; 564 565/* bluetooth */ 566&uart6 { 567 status = "okay"; 568}; 569 570/* cape header stuff */ 571&i2c4 { 572 status = "okay"; 573 clock-frequency = <100000>; 574}; 575 576#include "omap5-u-boot.dtsi" 577