Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003  * Copyright (C) 2011 Texas Instruments Incorporated - https://www.ti.com/
0004  */
0005 /dts-v1/;
0006 
0007 #include "omap36xx.dtsi"
0008 
0009 / {
0010         model = "TI OMAP3 BeagleBoard xM";
0011         compatible = "ti,omap3-beagle-xm", "ti,omap3630", "ti,omap36xx", "ti,omap3";
0012 
0013         cpus {
0014                 cpu@0 {
0015                         cpu0-supply = <&vcc>;
0016                 };
0017         };
0018 
0019         memory@80000000 {
0020                 device_type = "memory";
0021                 reg = <0x80000000 0x20000000>; /* 512 MB */
0022         };
0023 
0024         aliases {
0025                 display0 = &dvi0;
0026                 display1 = &tv0;
0027                 ethernet = &ethernet;
0028         };
0029 
0030         /* fixed 26MHz oscillator */
0031         hfclk_26m: oscillator {
0032                 #clock-cells = <0>;
0033                 compatible = "fixed-clock";
0034                 clock-frequency = <26000000>;
0035         };
0036 
0037         led-controller-1 {
0038                 compatible = "gpio-leds";
0039 
0040                 led-1 {
0041                         label = "beagleboard::usr0";
0042                         gpios = <&gpio5 22 GPIO_ACTIVE_HIGH>; /* 150 -> D6 LED */
0043                         linux,default-trigger = "heartbeat";
0044                 };
0045 
0046                 led-2 {
0047                         label = "beagleboard::usr1";
0048                         gpios = <&gpio5 21 GPIO_ACTIVE_HIGH>; /* 149 -> D7 LED */
0049                         linux,default-trigger = "mmc0";
0050                 };
0051         };
0052 
0053         led-controller-2 {
0054                 compatible = "pwm-leds";
0055 
0056                 led-3 {
0057                         label = "beagleboard::pmu_stat";
0058                         pwms = <&twl_pwmled 1 7812500>;
0059                         max-brightness = <127>;
0060                 };
0061         };
0062 
0063         sound {
0064                 compatible = "ti,omap-twl4030";
0065                 ti,model = "omap3beagle";
0066 
0067                 ti,mcbsp = <&mcbsp2>;
0068         };
0069 
0070         gpio_keys {
0071                 compatible = "gpio-keys";
0072 
0073                 user {
0074                         label = "user";
0075                         gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
0076                         linux,code = <0x114>;
0077                         wakeup-source;
0078                 };
0079 
0080         };
0081 
0082         /* HS USB Port 2 Power */
0083         hsusb2_power: hsusb2_power_reg {
0084                 compatible = "regulator-fixed";
0085                 regulator-name = "hsusb2_vbus";
0086                 regulator-min-microvolt = <3300000>;
0087                 regulator-max-microvolt = <3300000>;
0088                 gpio = <&twl_gpio 18 GPIO_ACTIVE_HIGH>; /* GPIO LEDA */
0089                 startup-delay-us = <70000>;
0090         };
0091 
0092         /* HS USB Host PHY on PORT 2 */
0093         hsusb2_phy: hsusb2_phy {
0094                 compatible = "usb-nop-xceiv";
0095                 reset-gpios = <&gpio5 19 GPIO_ACTIVE_LOW>; /* gpio_147 */
0096                 vcc-supply = <&hsusb2_power>;
0097                 #phy-cells = <0>;
0098         };
0099 
0100         tfp410: encoder0 {
0101                 compatible = "ti,tfp410";
0102                 powerdown-gpios = <&twl_gpio 2 GPIO_ACTIVE_LOW>;
0103 
0104                 /* XXX pinctrl from twl */
0105 
0106                 ports {
0107                         #address-cells = <1>;
0108                         #size-cells = <0>;
0109 
0110                         port@0 {
0111                                 reg = <0>;
0112 
0113                                 tfp410_in: endpoint {
0114                                         remote-endpoint = <&dpi_out>;
0115                                 };
0116                         };
0117 
0118                         port@1 {
0119                                 reg = <1>;
0120 
0121                                 tfp410_out: endpoint {
0122                                         remote-endpoint = <&dvi_connector_in>;
0123                                 };
0124                         };
0125                 };
0126         };
0127 
0128         dvi0: connector0 {
0129                 compatible = "dvi-connector";
0130                 label = "dvi";
0131 
0132                 digital;
0133 
0134                 ddc-i2c-bus = <&i2c3>;
0135 
0136                 port {
0137                         dvi_connector_in: endpoint {
0138                                 remote-endpoint = <&tfp410_out>;
0139                         };
0140                 };
0141         };
0142 
0143         tv0: connector1 {
0144                 compatible = "svideo-connector";
0145                 label = "tv";
0146 
0147                 port {
0148                         tv_connector_in: endpoint {
0149                                 remote-endpoint = <&venc_out>;
0150                         };
0151                 };
0152         };
0153 
0154         etb@5401b000 {
0155                 compatible = "arm,coresight-etb10", "arm,primecell";
0156                 reg = <0x5401b000 0x1000>;
0157 
0158                 clocks = <&emu_src_ck>;
0159                 clock-names = "apb_pclk";
0160                 in-ports {
0161                         port {
0162                                 etb_in: endpoint {
0163                                         remote-endpoint = <&etm_out>;
0164                                 };
0165                         };
0166                 };
0167         };
0168 
0169         etm@54010000 {
0170                 compatible = "arm,coresight-etm3x", "arm,primecell";
0171                 reg = <0x54010000 0x1000>;
0172 
0173                 clocks = <&emu_src_ck>;
0174                 clock-names = "apb_pclk";
0175                 out-ports {
0176                         port {
0177                                 etm_out: endpoint {
0178                                         remote-endpoint = <&etb_in>;
0179                                 };
0180                         };
0181                 };
0182         };
0183 };
0184 
0185 &omap3_pmx_wkup {
0186         gpio1_pins: pinmux_gpio1_pins {
0187                 pinctrl-single,pins = <
0188                         OMAP3_WKUP_IOPAD(0x2a0e, PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE4) /* sys_boot2.gpio_4 */
0189                 >;
0190         };
0191 
0192         dss_dpi_pins2: pinmux_dss_dpi_pins1 {
0193                 pinctrl-single,pins = <
0194                         OMAP3_WKUP_IOPAD(0x2a0a, PIN_OUTPUT | MUX_MODE3)   /* sys_boot0.dss_data18 */
0195                         OMAP3_WKUP_IOPAD(0x2a0c, PIN_OUTPUT | MUX_MODE3)   /* sys_boot1.dss_data19 */
0196                         OMAP3_WKUP_IOPAD(0x2a10, PIN_OUTPUT | MUX_MODE3)   /* sys_boot3.dss_data20 */
0197                         OMAP3_WKUP_IOPAD(0x2a12, PIN_OUTPUT | MUX_MODE3)   /* sys_boot4.dss_data21 */
0198                         OMAP3_WKUP_IOPAD(0x2a14, PIN_OUTPUT | MUX_MODE3)   /* sys_boot5.dss_data22 */
0199                         OMAP3_WKUP_IOPAD(0x2a16, PIN_OUTPUT | MUX_MODE3)   /* sys_boot6.dss_data23 */
0200                 >;
0201         };
0202 };
0203 
0204 &omap3_pmx_core {
0205         pinctrl-names = "default";
0206         pinctrl-0 = <
0207                         &hsusb2_pins
0208         >;
0209 
0210         uart3_pins: pinmux_uart3_pins {
0211                 pinctrl-single,pins = <
0212                         OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | MUX_MODE0)        /* uart3_rx_irrx.uart3_rx_irrx */
0213                         OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0)       /* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */
0214                 >;
0215         };
0216 
0217         hsusb2_pins: pinmux_hsusb2_pins {
0218                 pinctrl-single,pins = <
0219                         OMAP3_CORE1_IOPAD(0x21d4, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi1_cs3.hsusb2_data2 */
0220                         OMAP3_CORE1_IOPAD(0x21d6, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_clk.hsusb2_data7 */
0221                         OMAP3_CORE1_IOPAD(0x21d8, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_simo.hsusb2_data4 */
0222                         OMAP3_CORE1_IOPAD(0x21da, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_somi.hsusb2_data5 */
0223                         OMAP3_CORE1_IOPAD(0x21dc, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_cs0.hsusb2_data6 */
0224                         OMAP3_CORE1_IOPAD(0x21de, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_cs1.hsusb2_data3 */
0225                 >;
0226         };
0227 
0228         dss_dpi_pins1: pinmux_dss_dpi_pins2 {
0229                 pinctrl-single,pins = <
0230                         OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0)   /* dss_pclk.dss_pclk */
0231                         OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0)   /* dss_hsync.dss_hsync */
0232                         OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0)   /* dss_vsync.dss_vsync */
0233                         OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0)   /* dss_acbias.dss_acbias */
0234 
0235                         OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0)   /* dss_data6.dss_data6 */
0236                         OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0)   /* dss_data7.dss_data7 */
0237                         OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0)   /* dss_data8.dss_data8 */
0238                         OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0)   /* dss_data9.dss_data9 */
0239                         OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0)   /* dss_data10.dss_data10 */
0240                         OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0)   /* dss_data11.dss_data11 */
0241                         OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0)   /* dss_data12.dss_data12 */
0242                         OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0)   /* dss_data13.dss_data13 */
0243                         OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0)   /* dss_data14.dss_data14 */
0244                         OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0)   /* dss_data15.dss_data15 */
0245                         OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0)   /* dss_data16.dss_data16 */
0246                         OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0)   /* dss_data17.dss_data17 */
0247 
0248                         OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE3)   /* dss_data18.dss_data0 */
0249                         OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE3)   /* dss_data19.dss_data1 */
0250                         OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE3)   /* dss_data20.dss_data2 */
0251                         OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE3)   /* dss_data21.dss_data3 */
0252                         OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE3)   /* dss_data22.dss_data4 */
0253                         OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE3)   /* dss_data23.dss_data5 */
0254                 >;
0255         };
0256 };
0257 
0258 &omap3_pmx_core2 {
0259         pinctrl-names = "default";
0260         pinctrl-0 = <
0261                         &hsusb2_2_pins
0262         >;
0263 
0264         hsusb2_2_pins: pinmux_hsusb2_2_pins {
0265                 pinctrl-single,pins = <
0266                         OMAP3630_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3)            /* etk_d10.hsusb2_clk */
0267                         OMAP3630_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3)            /* etk_d11.hsusb2_stp */
0268                         OMAP3630_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d12.hsusb2_dir */
0269                         OMAP3630_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d13.hsusb2_nxt */
0270                         OMAP3630_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d14.hsusb2_data0 */
0271                         OMAP3630_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d15.hsusb2_data1 */
0272                 >;
0273         };
0274 };
0275 
0276 &i2c1 {
0277         clock-frequency = <2600000>;
0278 
0279         twl: twl@48 {
0280                 reg = <0x48>;
0281                 interrupts = <7>; /* SYS_NIRQ cascaded to intc */
0282                 interrupt-parent = <&intc>;
0283 
0284                 clocks = <&hfclk_26m>;
0285                 clock-names = "fck";
0286 
0287                 twl_audio: audio {
0288                         compatible = "ti,twl4030-audio";
0289                         codec {
0290                         };
0291                 };
0292 
0293                 twl_power: power {
0294                         compatible = "ti,twl4030-power-beagleboard-xm", "ti,twl4030-power-idle-osc-off";
0295                         ti,use_poweroff;
0296                 };
0297         };
0298 };
0299 
0300 #include "twl4030.dtsi"
0301 #include "twl4030_omap3.dtsi"
0302 
0303 &i2c2 {
0304         clock-frequency = <400000>;
0305 };
0306 
0307 &i2c3 {
0308         clock-frequency = <100000>;
0309 };
0310 
0311 &mmc1 {
0312         vmmc-supply = <&vmmc1>;
0313         vqmmc-supply = <&vsim>;
0314         bus-width = <8>;
0315 };
0316 
0317 &mmc2 {
0318         status = "disabled";
0319 };
0320 
0321 &mmc3 {
0322         status = "disabled";
0323 };
0324 
0325 &twl_gpio {
0326         ti,use-leds;
0327         /* pullups: BIT(1) */
0328         ti,pullups = <0x000002>;
0329         /*
0330          * pulldowns:
0331          * BIT(2), BIT(6), BIT(7), BIT(8), BIT(13)
0332          * BIT(15), BIT(16), BIT(17)
0333          */
0334         ti,pulldowns = <0x03a1c4>;
0335 };
0336 
0337 &usb_otg_hs {
0338         interface-type = <0>;
0339         usb-phy = <&usb2_phy>;
0340         phys = <&usb2_phy>;
0341         phy-names = "usb2-phy";
0342         mode = <3>;
0343         power = <50>;
0344 };
0345 
0346 &uart3 {
0347         interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>;
0348         pinctrl-names = "default";
0349         pinctrl-0 = <&uart3_pins>;
0350 };
0351 
0352 &gpio1 {
0353         pinctrl-names = "default";
0354         pinctrl-0 = <&gpio1_pins>;
0355 };
0356 
0357 &usbhshost {
0358         port2-mode = "ehci-phy";
0359 };
0360 
0361 &usbhsehci {
0362         phys = <0 &hsusb2_phy>;
0363 
0364         #address-cells = <1>;
0365         #size-cells = <0>;
0366 
0367         hub@2 {
0368                 compatible = "usb424,9514";
0369                 reg = <2>;
0370                 #address-cells = <1>;
0371                 #size-cells = <0>;
0372 
0373                 ethernet: ethernet@1 {
0374                         compatible = "usb424,ec00";
0375                         reg = <1>;
0376                 };
0377         };
0378 };
0379 
0380 &vaux2 {
0381         regulator-name = "usb_1v8";
0382         regulator-min-microvolt = <1800000>;
0383         regulator-max-microvolt = <1800000>;
0384         regulator-always-on;
0385 };
0386 
0387 &mcbsp2 {
0388         status = "okay";
0389 };
0390 
0391 &dss {
0392         status = "okay";
0393 
0394         pinctrl-names = "default";
0395         pinctrl-0 = <
0396                 &dss_dpi_pins1
0397                 &dss_dpi_pins2
0398         >;
0399 
0400         port {
0401                 dpi_out: endpoint {
0402                         remote-endpoint = <&tfp410_in>;
0403                         data-lines = <24>;
0404                 };
0405         };
0406 };
0407 
0408 &venc {
0409         status = "okay";
0410 
0411         vdda-supply = <&vdac>;
0412 
0413         port {
0414                 venc_out: endpoint {
0415                         remote-endpoint = <&tv_connector_in>;
0416                         ti,channels = <2>;
0417                 };
0418         };
0419 };