0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003 * Copyright (C) 2017 Texas Instruments Incorporated - https://www.ti.com/
0004 */
0005 /dts-v1/;
0006
0007 #include "dra76x.dtsi"
0008 #include "dra7-evm-common.dtsi"
0009 #include "dra76x-mmc-iodelay.dtsi"
0010 #include <dt-bindings/net/ti-dp83867.h>
0011
0012 / {
0013 model = "TI DRA762 EVM";
0014 compatible = "ti,dra76-evm", "ti,dra762", "ti,dra7";
0015
0016 aliases {
0017 display0 = &hdmi0;
0018
0019 sound0 = &sound0;
0020 sound1 = &hdmi;
0021 };
0022
0023 memory@0 {
0024 device_type = "memory";
0025 reg = <0x0 0x80000000 0x0 0x80000000>;
0026 };
0027
0028 reserved-memory {
0029 #address-cells = <2>;
0030 #size-cells = <2>;
0031 ranges;
0032
0033 ipu2_cma_pool: ipu2_cma@95800000 {
0034 compatible = "shared-dma-pool";
0035 reg = <0x0 0x95800000 0x0 0x3800000>;
0036 reusable;
0037 status = "okay";
0038 };
0039
0040 dsp1_cma_pool: dsp1_cma@99000000 {
0041 compatible = "shared-dma-pool";
0042 reg = <0x0 0x99000000 0x0 0x4000000>;
0043 reusable;
0044 status = "okay";
0045 };
0046
0047 ipu1_cma_pool: ipu1_cma@9d000000 {
0048 compatible = "shared-dma-pool";
0049 reg = <0x0 0x9d000000 0x0 0x2000000>;
0050 reusable;
0051 status = "okay";
0052 };
0053
0054 dsp2_cma_pool: dsp2_cma@9f000000 {
0055 compatible = "shared-dma-pool";
0056 reg = <0x0 0x9f000000 0x0 0x800000>;
0057 reusable;
0058 status = "okay";
0059 };
0060 };
0061
0062 vsys_12v0: fixedregulator-vsys12v0 {
0063 /* main supply */
0064 compatible = "regulator-fixed";
0065 regulator-name = "vsys_12v0";
0066 regulator-min-microvolt = <12000000>;
0067 regulator-max-microvolt = <12000000>;
0068 regulator-always-on;
0069 regulator-boot-on;
0070 };
0071
0072 vsys_5v0: fixedregulator-vsys5v0 {
0073 /* Output of Cntlr B of TPS43351-Q1 on dra76-evm */
0074 compatible = "regulator-fixed";
0075 regulator-name = "vsys_5v0";
0076 regulator-min-microvolt = <5000000>;
0077 regulator-max-microvolt = <5000000>;
0078 vin-supply = <&vsys_12v0>;
0079 regulator-always-on;
0080 regulator-boot-on;
0081 };
0082
0083 vio_3v6: fixedregulator-vio_3v6 {
0084 compatible = "regulator-fixed";
0085 regulator-name = "vio_3v6";
0086 regulator-min-microvolt = <3600000>;
0087 regulator-max-microvolt = <3600000>;
0088 vin-supply = <&vsys_5v0>;
0089 regulator-always-on;
0090 regulator-boot-on;
0091 };
0092
0093 vsys_3v3: fixedregulator-vsys3v3 {
0094 /* Output of Cntlr A of TPS43351-Q1 on dra76-evm */
0095 compatible = "regulator-fixed";
0096 regulator-name = "vsys_3v3";
0097 regulator-min-microvolt = <3300000>;
0098 regulator-max-microvolt = <3300000>;
0099 vin-supply = <&vsys_12v0>;
0100 regulator-always-on;
0101 regulator-boot-on;
0102 };
0103
0104 vio_3v3: fixedregulator-vio_3v3 {
0105 compatible = "regulator-fixed";
0106 regulator-name = "vio_3v3";
0107 regulator-min-microvolt = <3300000>;
0108 regulator-max-microvolt = <3300000>;
0109 vin-supply = <&vsys_3v3>;
0110 regulator-always-on;
0111 regulator-boot-on;
0112 };
0113
0114 vio_3v3_sd: fixedregulator-sd {
0115 compatible = "regulator-fixed";
0116 regulator-name = "vio_3v3_sd";
0117 regulator-min-microvolt = <3300000>;
0118 regulator-max-microvolt = <3300000>;
0119 vin-supply = <&vio_3v3>;
0120 enable-active-high;
0121 gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
0122 };
0123
0124 vio_1v8: fixedregulator-vio_1v8 {
0125 compatible = "regulator-fixed";
0126 regulator-name = "vio_1v8";
0127 regulator-min-microvolt = <1800000>;
0128 regulator-max-microvolt = <1800000>;
0129 vin-supply = <&smps5_reg>;
0130 };
0131
0132 vmmcwl_fixed: fixedregulator-mmcwl {
0133 compatible = "regulator-fixed";
0134 regulator-name = "vmmcwl_fixed";
0135 regulator-min-microvolt = <1800000>;
0136 regulator-max-microvolt = <1800000>;
0137 gpio = <&gpio5 8 0>; /* gpio5_8 */
0138 startup-delay-us = <70000>;
0139 enable-active-high;
0140 };
0141
0142 vtt_fixed: fixedregulator-vtt {
0143 compatible = "regulator-fixed";
0144 regulator-name = "vtt_fixed";
0145 regulator-min-microvolt = <1350000>;
0146 regulator-max-microvolt = <1350000>;
0147 vin-supply = <&vsys_3v3>;
0148 regulator-always-on;
0149 regulator-boot-on;
0150 };
0151
0152 aic_dvdd: fixedregulator-aic_dvdd {
0153 /* TPS77018DBVT */
0154 compatible = "regulator-fixed";
0155 regulator-name = "aic_dvdd";
0156 vin-supply = <&vio_3v3>;
0157 regulator-min-microvolt = <1800000>;
0158 regulator-max-microvolt = <1800000>;
0159 };
0160
0161 hdmi0: connector {
0162 compatible = "hdmi-connector";
0163 label = "hdmi";
0164
0165 type = "a";
0166
0167 port {
0168 hdmi_connector_in: endpoint {
0169 remote-endpoint = <&tpd12s015_out>;
0170 };
0171 };
0172 };
0173
0174 tpd12s015: encoder {
0175 compatible = "ti,tpd12s015";
0176
0177 gpios = <&gpio7 30 GPIO_ACTIVE_HIGH>, /* gpio7_30, CT CP HPD */
0178 <&gpio7 31 GPIO_ACTIVE_HIGH>, /* gpio7_31, LS OE */
0179 <&gpio7 12 GPIO_ACTIVE_HIGH>; /* gpio7_12/sp1_cs2, HPD */
0180
0181 ports {
0182 #address-cells = <1>;
0183 #size-cells = <0>;
0184
0185 port@0 {
0186 reg = <0>;
0187
0188 tpd12s015_in: endpoint {
0189 remote-endpoint = <&hdmi_out>;
0190 };
0191 };
0192
0193 port@1 {
0194 reg = <1>;
0195
0196 tpd12s015_out: endpoint {
0197 remote-endpoint = <&hdmi_connector_in>;
0198 };
0199 };
0200 };
0201 };
0202 };
0203
0204 &i2c1 {
0205 status = "okay";
0206 clock-frequency = <400000>;
0207
0208 tps65917: tps65917@58 {
0209 compatible = "ti,tps65917";
0210 reg = <0x58>;
0211 ti,system-power-controller;
0212 ti,palmas-override-powerhold;
0213 interrupt-controller;
0214 #interrupt-cells = <2>;
0215
0216 tps65917_pmic {
0217 compatible = "ti,tps65917-pmic";
0218
0219 smps12-in-supply = <&vsys_3v3>;
0220 smps3-in-supply = <&vsys_3v3>;
0221 smps4-in-supply = <&vsys_3v3>;
0222 smps5-in-supply = <&vsys_3v3>;
0223 ldo1-in-supply = <&vsys_3v3>;
0224 ldo2-in-supply = <&vsys_3v3>;
0225 ldo3-in-supply = <&vsys_5v0>;
0226 ldo4-in-supply = <&vsys_5v0>;
0227 ldo5-in-supply = <&vsys_3v3>;
0228
0229 tps65917_regulators: regulators {
0230 smps12_reg: smps12 {
0231 /* VDD_DSPEVE */
0232 regulator-name = "smps12";
0233 regulator-min-microvolt = <850000>;
0234 regulator-max-microvolt = <1250000>;
0235 regulator-always-on;
0236 regulator-boot-on;
0237 };
0238
0239 smps3_reg: smps3 {
0240 /* VDD_CORE */
0241 regulator-name = "smps3";
0242 regulator-min-microvolt = <850000>;
0243 regulator-max-microvolt = <1250000>;
0244 regulator-boot-on;
0245 regulator-always-on;
0246 };
0247
0248 smps4_reg: smps4 {
0249 /* VDD_IVA */
0250 regulator-name = "smps4";
0251 regulator-min-microvolt = <850000>;
0252 regulator-max-microvolt = <1250000>;
0253 regulator-always-on;
0254 regulator-boot-on;
0255 };
0256
0257 smps5_reg: smps5 {
0258 /* VDDS1V8 */
0259 regulator-name = "smps5";
0260 regulator-min-microvolt = <1800000>;
0261 regulator-max-microvolt = <1800000>;
0262 regulator-boot-on;
0263 regulator-always-on;
0264 };
0265
0266 ldo1_reg: ldo1 {
0267 /* LDO1_OUT --> VDA_PHY1_1V8 */
0268 regulator-name = "ldo1";
0269 regulator-min-microvolt = <1800000>;
0270 regulator-max-microvolt = <1800000>;
0271 regulator-always-on;
0272 regulator-boot-on;
0273 regulator-allow-bypass;
0274 };
0275
0276 ldo2_reg: ldo2 {
0277 /* LDO2_OUT --> VDA_PHY2_1V8 */
0278 regulator-name = "ldo2";
0279 regulator-min-microvolt = <1800000>;
0280 regulator-max-microvolt = <1800000>;
0281 regulator-allow-bypass;
0282 regulator-always-on;
0283 };
0284
0285 ldo3_reg: ldo3 {
0286 /* VDA_USB_3V3 */
0287 regulator-name = "ldo3";
0288 regulator-min-microvolt = <3300000>;
0289 regulator-max-microvolt = <3300000>;
0290 regulator-boot-on;
0291 regulator-always-on;
0292 };
0293
0294 ldo5_reg: ldo5 {
0295 /* VDDA_1V8_PLL */
0296 regulator-name = "ldo5";
0297 regulator-min-microvolt = <1800000>;
0298 regulator-max-microvolt = <1800000>;
0299 regulator-always-on;
0300 regulator-boot-on;
0301 };
0302
0303 ldo4_reg: ldo4 {
0304 /* VDD_SDIO_DV */
0305 regulator-name = "ldo4";
0306 regulator-min-microvolt = <1800000>;
0307 regulator-max-microvolt = <3300000>;
0308 regulator-boot-on;
0309 regulator-always-on;
0310 };
0311 };
0312 };
0313
0314 tps65917_power_button {
0315 compatible = "ti,palmas-pwrbutton";
0316 interrupt-parent = <&tps65917>;
0317 interrupts = <1 IRQ_TYPE_NONE>;
0318 wakeup-source;
0319 ti,palmas-long-press-seconds = <6>;
0320 };
0321 };
0322
0323 lp87565: lp87565@60 {
0324 compatible = "ti,lp87565-q1";
0325 reg = <0x60>;
0326
0327 buck10-in-supply =<&vsys_3v3>;
0328 buck23-in-supply =<&vsys_3v3>;
0329
0330 regulators: regulators {
0331 buck10_reg: buck10 {
0332 /*VDD_MPU*/
0333 regulator-name = "buck10";
0334 regulator-min-microvolt = <850000>;
0335 regulator-max-microvolt = <1250000>;
0336 regulator-always-on;
0337 regulator-boot-on;
0338 };
0339
0340 buck23_reg: buck23 {
0341 /* VDD_GPU*/
0342 regulator-name = "buck23";
0343 regulator-min-microvolt = <850000>;
0344 regulator-max-microvolt = <1250000>;
0345 regulator-boot-on;
0346 regulator-always-on;
0347 };
0348 };
0349 };
0350
0351 pcf_lcd: pcf8757@20 {
0352 compatible = "nxp,pcf8575";
0353 reg = <0x20>;
0354 gpio-controller;
0355 #gpio-cells = <2>;
0356 interrupt-controller;
0357 #interrupt-cells = <2>;
0358 interrupt-parent = <&gpio1>;
0359 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
0360 };
0361
0362 pcf_gpio_21: pcf8757@21 {
0363 compatible = "nxp,pcf8575";
0364 reg = <0x21>;
0365 gpio-controller;
0366 #gpio-cells = <2>;
0367 interrupt-parent = <&gpio1>;
0368 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
0369 interrupt-controller;
0370 #interrupt-cells = <2>;
0371 };
0372
0373 pcf_hdmi: pcf8575@26 {
0374 compatible = "nxp,pcf8575";
0375 reg = <0x26>;
0376 gpio-controller;
0377 #gpio-cells = <2>;
0378 hdmi-audio-hog {
0379 /* vin6_sel_s0: high: VIN6, low: audio */
0380 gpio-hog;
0381 gpios = <1 GPIO_ACTIVE_HIGH>;
0382 output-low;
0383 line-name = "vin6_sel_s0";
0384 };
0385 };
0386
0387 tlv320aic3106: tlv320aic3106@19 {
0388 #sound-dai-cells = <0>;
0389 compatible = "ti,tlv320aic3106";
0390 reg = <0x19>;
0391 adc-settle-ms = <40>;
0392 ai3x-micbias-vg = <1>; /* 2.0V */
0393 status = "okay";
0394
0395 /* Regulators */
0396 AVDD-supply = <&vio_3v3>;
0397 IOVDD-supply = <&vio_3v3>;
0398 DRVDD-supply = <&vio_3v3>;
0399 DVDD-supply = <&aic_dvdd>;
0400 };
0401 };
0402
0403 &cpu0 {
0404 vdd-supply = <&buck10_reg>;
0405 };
0406
0407 &mmc1 {
0408 status = "okay";
0409 vmmc-supply = <&vio_3v3_sd>;
0410 vqmmc-supply = <&ldo4_reg>;
0411 bus-width = <4>;
0412 /*
0413 * SDCD signal is not being used here - using the fact that GPIO mode
0414 * is always hardwired.
0415 */
0416 cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
0417 pinctrl-names = "default", "hs";
0418 pinctrl-0 = <&mmc1_pins_default>;
0419 pinctrl-1 = <&mmc1_pins_hs>;
0420 };
0421
0422 &mmc2 {
0423 status = "okay";
0424 vmmc-supply = <&vio_1v8>;
0425 vqmmc-supply = <&vio_1v8>;
0426 bus-width = <8>;
0427 non-removable;
0428 pinctrl-names = "default", "hs", "ddr_1_8v", "hs200_1_8v";
0429 pinctrl-0 = <&mmc2_pins_default>;
0430 pinctrl-1 = <&mmc2_pins_default>;
0431 pinctrl-2 = <&mmc2_pins_default>;
0432 pinctrl-3 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_conf>;
0433 };
0434
0435 &mmc4 {
0436 status = "okay";
0437 vmmc-supply = <&vio_3v6>;
0438 vqmmc-supply = <&vmmcwl_fixed>;
0439 pinctrl-names = "default", "hs", "sdr12", "sdr25";
0440 pinctrl-0 = <&mmc4_pins_hs &mmc4_iodelay_default_conf>;
0441 pinctrl-1 = <&mmc4_pins_hs &mmc4_iodelay_manual1_conf>;
0442 pinctrl-2 = <&mmc4_pins_hs &mmc4_iodelay_manual1_conf>;
0443 pinctrl-3 = <&mmc4_pins_hs &mmc4_iodelay_manual1_conf>;
0444 };
0445
0446 /* No RTC on this device */
0447 &rtc {
0448 status = "disabled";
0449 };
0450
0451 &mac_sw {
0452 status = "okay";
0453 };
0454
0455 &cpsw_port1 {
0456 phy-handle = <&dp83867_0>;
0457 phy-mode = "rgmii-id";
0458 ti,dual-emac-pvid = <1>;
0459 };
0460
0461 &cpsw_port2 {
0462 phy-handle = <&dp83867_1>;
0463 phy-mode = "rgmii-id";
0464 ti,dual-emac-pvid = <2>;
0465 };
0466
0467 &davinci_mdio_sw {
0468 dp83867_0: ethernet-phy@2 {
0469 reg = <2>;
0470 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
0471 ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
0472 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
0473 ti,min-output-impedance;
0474 ti,dp83867-rxctrl-strap-quirk;
0475 };
0476
0477 dp83867_1: ethernet-phy@3 {
0478 reg = <3>;
0479 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
0480 ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
0481 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
0482 ti,min-output-impedance;
0483 ti,dp83867-rxctrl-strap-quirk;
0484 };
0485 };
0486
0487 &usb2_phy1 {
0488 phy-supply = <&ldo3_reg>;
0489 };
0490
0491 &usb2_phy2 {
0492 phy-supply = <&ldo3_reg>;
0493 };
0494
0495 &dss {
0496 status = "okay";
0497 vdda_video-supply = <&ldo5_reg>;
0498 };
0499
0500 &hdmi {
0501 status = "okay";
0502
0503 vdda-supply = <&ldo1_reg>;
0504
0505 port {
0506 hdmi_out: endpoint {
0507 remote-endpoint = <&tpd12s015_in>;
0508 };
0509 };
0510 };
0511
0512 &qspi {
0513 spi-max-frequency = <96000000>;
0514 flash@0 {
0515 spi-max-frequency = <96000000>;
0516 };
0517 };
0518
0519 &pcie2_phy {
0520 status = "okay";
0521 };
0522
0523 &pcie1_rc {
0524 num-lanes = <2>;
0525 phys = <&pcie1_phy>, <&pcie2_phy>;
0526 phy-names = "pcie-phy0", "pcie-phy1";
0527 };
0528
0529 &pcie1_ep {
0530 num-lanes = <2>;
0531 phys = <&pcie1_phy>, <&pcie2_phy>;
0532 phy-names = "pcie-phy0", "pcie-phy1";
0533 };
0534
0535 &extcon_usb1 {
0536 vbus-gpio = <&pcf_lcd 14 GPIO_ACTIVE_HIGH>;
0537 };
0538
0539 &extcon_usb2 {
0540 vbus-gpio = <&pcf_lcd 15 GPIO_ACTIVE_HIGH>;
0541 };
0542
0543 &m_can0 {
0544 can-transceiver {
0545 max-bitrate = <5000000>;
0546 };
0547 };
0548
0549 &ipu2 {
0550 status = "okay";
0551 memory-region = <&ipu2_cma_pool>;
0552 };
0553
0554 &ipu1 {
0555 status = "okay";
0556 memory-region = <&ipu1_cma_pool>;
0557 };
0558
0559 &dsp1 {
0560 status = "okay";
0561 memory-region = <&dsp1_cma_pool>;
0562 };
0563
0564 &dsp2 {
0565 status = "okay";
0566 memory-region = <&dsp2_cma_pool>;
0567 };