Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003  * Copyright (C) 2014-2016 Texas Instruments Incorporated - https://www.ti.com/
0004  */
0005 /dts-v1/;
0006 
0007 #include "am5728.dtsi"
0008 #include "am57xx-commercial-grade.dtsi"
0009 #include "dra74x-mmc-iodelay.dtsi"
0010 #include "dra74-ipu-dsp-common.dtsi"
0011 #include <dt-bindings/gpio/gpio.h>
0012 #include <dt-bindings/interrupt-controller/irq.h>
0013 
0014 / {
0015         compatible = "ti,am572x-beagle-x15", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
0016 
0017         aliases {
0018                 rtc0 = &mcp_rtc;
0019                 rtc1 = &tps659038_rtc;
0020                 rtc2 = &rtc;
0021                 display0 = &hdmi0;
0022         };
0023 
0024         chosen {
0025                 stdout-path = &uart3;
0026         };
0027 
0028         memory@0 {
0029                 device_type = "memory";
0030                 reg = <0x0 0x80000000 0x0 0x80000000>;
0031         };
0032 
0033         main_12v0: fixedregulator-main_12v0 {
0034                 /* main supply */
0035                 compatible = "regulator-fixed";
0036                 regulator-name = "main_12v0";
0037                 regulator-min-microvolt = <12000000>;
0038                 regulator-max-microvolt = <12000000>;
0039                 regulator-always-on;
0040                 regulator-boot-on;
0041         };
0042 
0043         evm_5v0: fixedregulator-evm_5v0 {
0044                 /* Output of TPS54531D */
0045                 compatible = "regulator-fixed";
0046                 regulator-name = "evm_5v0";
0047                 regulator-min-microvolt = <5000000>;
0048                 regulator-max-microvolt = <5000000>;
0049                 vin-supply = <&main_12v0>;
0050                 regulator-always-on;
0051                 regulator-boot-on;
0052         };
0053 
0054         reserved-memory {
0055                 #address-cells = <2>;
0056                 #size-cells = <2>;
0057                 ranges;
0058 
0059                 ipu2_memory_region: ipu2-memory@95800000 {
0060                         compatible = "shared-dma-pool";
0061                         reg = <0x0 0x95800000 0x0 0x3800000>;
0062                         reusable;
0063                         status = "okay";
0064                 };
0065 
0066                 dsp1_memory_region: dsp1-memory@99000000 {
0067                         compatible = "shared-dma-pool";
0068                         reg = <0x0 0x99000000 0x0 0x4000000>;
0069                         reusable;
0070                         status = "okay";
0071                 };
0072 
0073                 ipu1_memory_region: ipu1-memory@9d000000 {
0074                         compatible = "shared-dma-pool";
0075                         reg = <0x0 0x9d000000 0x0 0x2000000>;
0076                         reusable;
0077                         status = "okay";
0078                 };
0079 
0080                 dsp2_memory_region: dsp2-memory@9f000000 {
0081                         compatible = "shared-dma-pool";
0082                         reg = <0x0 0x9f000000 0x0 0x800000>;
0083                         reusable;
0084                         status = "okay";
0085                 };
0086         };
0087 
0088         vdd_3v3: fixedregulator-vdd_3v3 {
0089                 compatible = "regulator-fixed";
0090                 regulator-name = "vdd_3v3";
0091                 vin-supply = <&regen1>;
0092                 regulator-min-microvolt = <3300000>;
0093                 regulator-max-microvolt = <3300000>;
0094         };
0095 
0096         aic_dvdd: fixedregulator-aic_dvdd {
0097                 compatible = "regulator-fixed";
0098                 regulator-name = "aic_dvdd_fixed";
0099                 vin-supply = <&vdd_3v3>;
0100                 regulator-min-microvolt = <1800000>;
0101                 regulator-max-microvolt = <1800000>;
0102         };
0103 
0104         vtt_fixed: fixedregulator-vtt {
0105                 /* TPS51200 */
0106                 compatible = "regulator-fixed";
0107                 regulator-name = "vtt_fixed";
0108                 vin-supply = <&smps3_reg>;
0109                 regulator-min-microvolt = <3300000>;
0110                 regulator-max-microvolt = <3300000>;
0111                 regulator-always-on;
0112                 regulator-boot-on;
0113                 enable-active-high;
0114                 gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
0115         };
0116 
0117         leds {
0118                 compatible = "gpio-leds";
0119 
0120                 led0 {
0121                         label = "beagle-x15:usr0";
0122                         gpios = <&gpio7 9 GPIO_ACTIVE_HIGH>;
0123                         linux,default-trigger = "heartbeat";
0124                         default-state = "off";
0125                 };
0126 
0127                 led1 {
0128                         label = "beagle-x15:usr1";
0129                         gpios = <&gpio7 8 GPIO_ACTIVE_HIGH>;
0130                         linux,default-trigger = "cpu0";
0131                         default-state = "off";
0132                 };
0133 
0134                 led2 {
0135                         label = "beagle-x15:usr2";
0136                         gpios = <&gpio7 14 GPIO_ACTIVE_HIGH>;
0137                         linux,default-trigger = "mmc0";
0138                         default-state = "off";
0139                 };
0140 
0141                 led3 {
0142                         label = "beagle-x15:usr3";
0143                         gpios = <&gpio7 15 GPIO_ACTIVE_HIGH>;
0144                         linux,default-trigger = "disk-activity";
0145                         default-state = "off";
0146                 };
0147         };
0148 
0149         gpio_fan: gpio_fan {
0150                 /* Based on 5v 500mA AFB02505HHB */
0151                 compatible = "gpio-fan";
0152                 gpios =  <&tps659038_gpio 2 GPIO_ACTIVE_HIGH>;
0153                 gpio-fan,speed-map = <0     0>,
0154                                      <13000 1>;
0155                 #cooling-cells = <2>;
0156         };
0157 
0158         hdmi0: connector {
0159                 compatible = "hdmi-connector";
0160                 label = "hdmi";
0161 
0162                 type = "a";
0163 
0164                 port {
0165                         hdmi_connector_in: endpoint {
0166                                 remote-endpoint = <&tpd12s015_out>;
0167                         };
0168                 };
0169         };
0170 
0171         tpd12s015: encoder {
0172                 compatible = "ti,tpd12s015";
0173 
0174                 ports {
0175                         #address-cells = <1>;
0176                         #size-cells = <0>;
0177 
0178                         port@0 {
0179                                 reg = <0>;
0180 
0181                                 tpd12s015_in: endpoint {
0182                                         remote-endpoint = <&hdmi_out>;
0183                                 };
0184                         };
0185 
0186                         port@1 {
0187                                 reg = <1>;
0188 
0189                                 tpd12s015_out: endpoint {
0190                                         remote-endpoint = <&hdmi_connector_in>;
0191                                 };
0192                         };
0193                 };
0194         };
0195 
0196         sound0: sound0 {
0197                 compatible = "simple-audio-card";
0198                 simple-audio-card,name = "BeagleBoard-X15";
0199                 simple-audio-card,widgets =
0200                         "Line", "Line Out",
0201                         "Line", "Line In";
0202                 simple-audio-card,routing =
0203                         "Line Out",     "LLOUT",
0204                         "Line Out",     "RLOUT",
0205                         "MIC2L",        "Line In",
0206                         "MIC2R",        "Line In";
0207                 simple-audio-card,format = "dsp_b";
0208                 simple-audio-card,bitclock-master = <&sound0_master>;
0209                 simple-audio-card,frame-master = <&sound0_master>;
0210                 simple-audio-card,bitclock-inversion;
0211 
0212                 simple-audio-card,cpu {
0213                         sound-dai = <&mcasp3>;
0214                 };
0215 
0216                 sound0_master: simple-audio-card,codec {
0217                         sound-dai = <&tlv320aic3104>;
0218                         clocks = <&clkout2_clk>;
0219                 };
0220         };
0221 };
0222 
0223 &i2c1 {
0224         status = "okay";
0225         clock-frequency = <400000>;
0226 
0227         tps659038: tps659038@58 {
0228                 compatible = "ti,tps659038";
0229                 reg = <0x58>;
0230                 interrupt-parent = <&gpio1>;
0231                 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
0232 
0233                 #interrupt-cells = <2>;
0234                 interrupt-controller;
0235 
0236                 ti,system-power-controller;
0237                 ti,palmas-override-powerhold;
0238 
0239                 tps659038_pmic {
0240                         compatible = "ti,tps659038-pmic";
0241 
0242                         regulators {
0243                                 smps12_reg: smps12 {
0244                                         /* VDD_MPU */
0245                                         regulator-name = "smps12";
0246                                         regulator-min-microvolt = < 850000>;
0247                                         regulator-max-microvolt = <1250000>;
0248                                         regulator-always-on;
0249                                         regulator-boot-on;
0250                                 };
0251 
0252                                 smps3_reg: smps3 {
0253                                         /* VDD_DDR */
0254                                         regulator-name = "smps3";
0255                                         regulator-min-microvolt = <1350000>;
0256                                         regulator-max-microvolt = <1350000>;
0257                                         regulator-always-on;
0258                                         regulator-boot-on;
0259                                 };
0260 
0261                                 smps45_reg: smps45 {
0262                                         /* VDD_DSPEVE, VDD_IVA, VDD_GPU */
0263                                         regulator-name = "smps45";
0264                                         regulator-min-microvolt = < 850000>;
0265                                         regulator-max-microvolt = <1250000>;
0266                                         regulator-always-on;
0267                                         regulator-boot-on;
0268                                 };
0269 
0270                                 smps6_reg: smps6 {
0271                                         /* VDD_CORE */
0272                                         regulator-name = "smps6";
0273                                         regulator-min-microvolt = <850000>;
0274                                         regulator-max-microvolt = <1150000>;
0275                                         regulator-always-on;
0276                                         regulator-boot-on;
0277                                 };
0278 
0279                                 /* SMPS7 unused */
0280 
0281                                 smps8_reg: smps8 {
0282                                         /* VDD_1V8 */
0283                                         regulator-name = "smps8";
0284                                         regulator-min-microvolt = <1800000>;
0285                                         regulator-max-microvolt = <1800000>;
0286                                         regulator-always-on;
0287                                         regulator-boot-on;
0288                                 };
0289 
0290                                 /* SMPS9 unused */
0291 
0292                                 ldo1_reg: ldo1 {
0293                                         /* VDD_SD / VDDSHV8  */
0294                                         regulator-name = "ldo1";
0295                                         regulator-min-microvolt = <1800000>;
0296                                         regulator-max-microvolt = <3300000>;
0297                                         regulator-boot-on;
0298                                         regulator-always-on;
0299                                 };
0300 
0301                                 ldo2_reg: ldo2 {
0302                                         /* VDD_SHV5 */
0303                                         regulator-name = "ldo2";
0304                                         regulator-min-microvolt = <3300000>;
0305                                         regulator-max-microvolt = <3300000>;
0306                                         regulator-always-on;
0307                                         regulator-boot-on;
0308                                 };
0309 
0310                                 ldo3_reg: ldo3 {
0311                                         /* VDDA_1V8_PHYA */
0312                                         regulator-name = "ldo3";
0313                                         regulator-min-microvolt = <1800000>;
0314                                         regulator-max-microvolt = <1800000>;
0315                                         regulator-always-on;
0316                                         regulator-boot-on;
0317                                 };
0318 
0319                                 ldo4_reg: ldo4 {
0320                                         /* VDDA_1V8_PHYB */
0321                                         regulator-name = "ldo4";
0322                                         regulator-min-microvolt = <1800000>;
0323                                         regulator-max-microvolt = <1800000>;
0324                                         regulator-always-on;
0325                                         regulator-boot-on;
0326                                 };
0327 
0328                                 ldo9_reg: ldo9 {
0329                                         /* VDD_RTC */
0330                                         regulator-name = "ldo9";
0331                                         regulator-min-microvolt = <1050000>;
0332                                         regulator-max-microvolt = <1050000>;
0333                                         regulator-always-on;
0334                                         regulator-boot-on;
0335                                 };
0336 
0337                                 ldoln_reg: ldoln {
0338                                         /* VDDA_1V8_PLL */
0339                                         regulator-name = "ldoln";
0340                                         regulator-min-microvolt = <1800000>;
0341                                         regulator-max-microvolt = <1800000>;
0342                                         regulator-always-on;
0343                                         regulator-boot-on;
0344                                 };
0345 
0346                                 ldousb_reg: ldousb {
0347                                         /* VDDA_3V_USB: VDDA_USBHS33 */
0348                                         regulator-name = "ldousb";
0349                                         regulator-min-microvolt = <3300000>;
0350                                         regulator-max-microvolt = <3300000>;
0351                                         regulator-boot-on;
0352                                 };
0353 
0354                                 regen1: regen1 {
0355                                         /* VDD_3V3_ON */
0356                                         regulator-name = "regen1";
0357                                         regulator-boot-on;
0358                                         regulator-always-on;
0359                                 };
0360                         };
0361                 };
0362 
0363                 tps659038_rtc: tps659038_rtc {
0364                         compatible = "ti,palmas-rtc";
0365                         interrupt-parent = <&tps659038>;
0366                         interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
0367                         wakeup-source;
0368                 };
0369 
0370                 tps659038_pwr_button: tps659038_pwr_button {
0371                         compatible = "ti,palmas-pwrbutton";
0372                         interrupt-parent = <&tps659038>;
0373                         interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
0374                         wakeup-source;
0375                         ti,palmas-long-press-seconds = <12>;
0376                 };
0377 
0378                 tps659038_gpio: tps659038_gpio {
0379                         compatible = "ti,palmas-gpio";
0380                         gpio-controller;
0381                         #gpio-cells = <2>;
0382                 };
0383 
0384                 extcon_usb2: tps659038_usb {
0385                         compatible = "ti,palmas-usb-vid";
0386                         ti,enable-vbus-detection;
0387                         vbus-gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
0388                 };
0389 
0390         };
0391 
0392         tmp102: tmp102@48 {
0393                 compatible = "ti,tmp102";
0394                 reg = <0x48>;
0395                 interrupt-parent = <&gpio7>;
0396                 interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
0397                 #thermal-sensor-cells = <1>;
0398         };
0399 
0400         tlv320aic3104: tlv320aic3104@18 {
0401                 #sound-dai-cells = <0>;
0402                 compatible = "ti,tlv320aic3104";
0403                 reg = <0x18>;
0404                 assigned-clocks = <&clkoutmux2_clk_mux>;
0405                 assigned-clock-parents = <&sys_clk2_dclk_div>;
0406 
0407                 status = "okay";
0408                 adc-settle-ms = <40>;
0409 
0410                 AVDD-supply = <&vdd_3v3>;
0411                 IOVDD-supply = <&vdd_3v3>;
0412                 DRVDD-supply = <&vdd_3v3>;
0413                 DVDD-supply = <&aic_dvdd>;
0414         };
0415 
0416         eeprom: eeprom@50 {
0417                 compatible = "atmel,24c32";
0418                 reg = <0x50>;
0419         };
0420 };
0421 
0422 &i2c3 {
0423         status = "okay";
0424         clock-frequency = <400000>;
0425 
0426         mcp_rtc: rtc@6f {
0427                 compatible = "microchip,mcp7941x";
0428                 reg = <0x6f>;
0429                 interrupts-extended = <&crossbar_mpu GIC_SPI 2 IRQ_TYPE_EDGE_RISING>,
0430                                       <&dra7_pmx_core 0x424>;
0431                 interrupt-names = "irq", "wakeup";
0432 
0433                 vcc-supply = <&vdd_3v3>;
0434                 wakeup-source;
0435         };
0436 };
0437 
0438 &gpio7_target {
0439         ti,no-reset-on-init;
0440         ti,no-idle-on-init;
0441 };
0442 
0443 &cpu0 {
0444         vdd-supply = <&smps12_reg>;
0445         voltage-tolerance = <1>;
0446 };
0447 
0448 &uart3 {
0449         status = "okay";
0450         interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
0451                               <&dra7_pmx_core 0x3f8>;
0452 };
0453 
0454 &davinci_mdio_sw {
0455         phy0: ethernet-phy@1 {
0456                 reg = <1>;
0457         };
0458 
0459         phy1: ethernet-phy@2 {
0460                 reg = <2>;
0461         };
0462 };
0463 
0464 &mac_sw {
0465         status = "okay";
0466 };
0467 
0468 &cpsw_port1 {
0469         phy-handle = <&phy0>;
0470         phy-mode = "rgmii-rxid";
0471         ti,dual-emac-pvid = <1>;
0472 };
0473 
0474 &cpsw_port2 {
0475         phy-handle = <&phy1>;
0476         phy-mode = "rgmii-rxid";
0477         ti,dual-emac-pvid = <2>;
0478 };
0479 
0480 &mmc1 {
0481         status = "okay";
0482 
0483         pinctrl-names = "default";
0484         pinctrl-0 = <&mmc1_pins_default>;
0485 
0486         bus-width = <4>;
0487         cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
0488         no-1-8-v;
0489 };
0490 
0491 &mmc2 {
0492         status = "okay";
0493 
0494         pinctrl-names = "default";
0495         pinctrl-0 = <&mmc2_pins_default>;
0496 
0497         vmmc-supply = <&vdd_3v3>;
0498         vqmmc-supply = <&vdd_3v3>;
0499         bus-width = <8>;
0500         non-removable;
0501         no-1-8-v;
0502 };
0503 
0504 &sata {
0505         status = "okay";
0506 };
0507 
0508 &usb2_phy1 {
0509         phy-supply = <&ldousb_reg>;
0510 };
0511 
0512 &usb2_phy2 {
0513         phy-supply = <&ldousb_reg>;
0514 };
0515 
0516 &usb1 {
0517         dr_mode = "host";
0518 };
0519 
0520 &omap_dwc3_2 {
0521         extcon = <&extcon_usb2>;
0522 };
0523 
0524 &usb2 {
0525         /*
0526          * Stand alone usage is peripheral only.
0527          * However, with some resistor modifications
0528          * this port can be used via expansion connectors
0529          * as "host" or "dual-role". If so, provide
0530          * the necessary dr_mode override in the expansion
0531          * board's DT.
0532          */
0533         dr_mode = "peripheral";
0534 };
0535 
0536 &cpu_trips {
0537         cpu_alert1: cpu_alert1 {
0538                 temperature = <50000>; /* millicelsius */
0539                 hysteresis = <2000>; /* millicelsius */
0540                 type = "active";
0541         };
0542 };
0543 
0544 &cpu_cooling_maps {
0545         map1 {
0546                 trip = <&cpu_alert1>;
0547                 cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
0548         };
0549 };
0550 
0551 &thermal_zones {
0552         board_thermal: board_thermal {
0553                 polling-delay-passive = <1250>; /* milliseconds */
0554                 polling-delay = <1500>; /* milliseconds */
0555 
0556                                 /* sensor       ID */
0557                 thermal-sensors = <&tmp102     0>;
0558 
0559                 board_trips: trips {
0560                         board_alert0: board_alert {
0561                                 temperature = <40000>; /* millicelsius */
0562                                 hysteresis = <2000>; /* millicelsius */
0563                                 type = "active";
0564                         };
0565 
0566                         board_crit: board_crit {
0567                                 temperature = <105000>; /* millicelsius */
0568                                 hysteresis = <0>; /* millicelsius */
0569                                 type = "critical";
0570                         };
0571                 };
0572 
0573                 board_cooling_maps: cooling-maps {
0574                         map0 {
0575                                 trip = <&board_alert0>;
0576                                 cooling-device =
0577                                   <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
0578                         };
0579                 };
0580        };
0581 };
0582 
0583 &dss {
0584         status = "okay";
0585 
0586         vdda_video-supply = <&ldoln_reg>;
0587 };
0588 
0589 &hdmi {
0590         status = "okay";
0591         vdda-supply = <&ldo4_reg>;
0592 
0593         port {
0594                 hdmi_out: endpoint {
0595                         remote-endpoint = <&tpd12s015_in>;
0596                 };
0597         };
0598 };
0599 
0600 &pcie1_rc {
0601         status = "okay";
0602         gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
0603 };
0604 
0605 &mcasp3 {
0606         #sound-dai-cells = <0>;
0607         assigned-clocks = <&l4per2_clkctrl DRA7_L4PER2_MCASP3_CLKCTRL 24>;
0608         assigned-clock-parents = <&sys_clkin2>;
0609         status = "okay";
0610 
0611         op-mode = <0>;  /* MCASP_IIS_MODE */
0612         tdm-slots = <2>;
0613         /* 4 serializers */
0614         serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
0615                 1 2 0 0
0616         >;
0617         tx-num-evt = <32>;
0618         rx-num-evt = <32>;
0619 };
0620 
0621 &ipu2 {
0622         status = "okay";
0623         memory-region = <&ipu2_memory_region>;
0624 };
0625 
0626 &ipu1 {
0627         status = "okay";
0628         memory-region = <&ipu1_memory_region>;
0629 };
0630 
0631 &dsp1 {
0632         status = "okay";
0633         memory-region = <&dsp1_memory_region>;
0634 };
0635 
0636 &dsp2 {
0637         status = "okay";
0638         memory-region = <&dsp2_memory_region>;
0639 };
0640 
0641 &pruss1_mdio {
0642         status = "disabled";
0643 };
0644 
0645 &pruss2_mdio {
0646         status = "disabled";
0647 };