1/* 2 * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License version 2 as 6 * published by the Free Software Foundation. 7 */ 8/dts-v1/; 9 10#include "omap36xx.dtsi" 11 12/ { 13 model = "TI OMAP3 BeagleBoard xM"; 14 compatible = "ti,omap3-beagle-xm", "ti,omap36xx", "ti,omap3"; 15 16 cpus { 17 cpu@0 { 18 cpu0-supply = <&vcc>; 19 }; 20 }; 21 22 memory@80000000 { 23 device_type = "memory"; 24 reg = <0x80000000 0x20000000>; /* 512 MB */ 25 }; 26 27 aliases { 28 display0 = &dvi0; 29 display1 = &tv0; 30 ethernet = ðernet; 31 }; 32 33 leds { 34 compatible = "gpio-leds"; 35 36 heartbeat { 37 label = "beagleboard::usr0"; 38 gpios = <&gpio5 22 GPIO_ACTIVE_HIGH>; /* 150 -> D6 LED */ 39 linux,default-trigger = "heartbeat"; 40 }; 41 42 mmc { 43 label = "beagleboard::usr1"; 44 gpios = <&gpio5 21 GPIO_ACTIVE_HIGH>; /* 149 -> D7 LED */ 45 linux,default-trigger = "mmc0"; 46 }; 47 }; 48 49 pwmleds { 50 compatible = "pwm-leds"; 51 52 pmu_stat { 53 label = "beagleboard::pmu_stat"; 54 pwms = <&twl_pwmled 1 7812500>; 55 max-brightness = <127>; 56 }; 57 }; 58 59 sound { 60 compatible = "ti,omap-twl4030"; 61 ti,model = "omap3beagle"; 62 63 ti,mcbsp = <&mcbsp2>; 64 }; 65 66 gpio_keys { 67 compatible = "gpio-keys"; 68 69 user { 70 label = "user"; 71 gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>; 72 linux,code = <0x114>; 73 wakeup-source; 74 }; 75 76 }; 77 78 /* HS USB Port 2 Power */ 79 hsusb2_power: hsusb2_power_reg { 80 compatible = "regulator-fixed"; 81 regulator-name = "hsusb2_vbus"; 82 regulator-min-microvolt = <3300000>; 83 regulator-max-microvolt = <3300000>; 84 gpio = <&twl_gpio 18 GPIO_ACTIVE_HIGH>; /* GPIO LEDA */ 85 startup-delay-us = <70000>; 86 }; 87 88 /* HS USB Host PHY on PORT 2 */ 89 hsusb2_phy: hsusb2_phy { 90 compatible = "usb-nop-xceiv"; 91 reset-gpios = <&gpio5 19 GPIO_ACTIVE_LOW>; /* gpio_147 */ 92 vcc-supply = <&hsusb2_power>; 93 #phy-cells = <0>; 94 }; 95 96 tfp410: encoder0 { 97 compatible = "ti,tfp410"; 98 powerdown-gpios = <&twl_gpio 2 GPIO_ACTIVE_LOW>; 99 100 /* XXX pinctrl from twl */ 101 102 ports { 103 #address-cells = <1>; 104 #size-cells = <0>; 105 106 port@0 { 107 reg = <0>; 108 109 tfp410_in: endpoint { 110 remote-endpoint = <&dpi_out>; 111 }; 112 }; 113 114 port@1 { 115 reg = <1>; 116 117 tfp410_out: endpoint { 118 remote-endpoint = <&dvi_connector_in>; 119 }; 120 }; 121 }; 122 }; 123 124 dvi0: connector0 { 125 compatible = "dvi-connector"; 126 label = "dvi"; 127 128 digital; 129 130 ddc-i2c-bus = <&i2c3>; 131 132 port { 133 dvi_connector_in: endpoint { 134 remote-endpoint = <&tfp410_out>; 135 }; 136 }; 137 }; 138 139 tv0: connector1 { 140 compatible = "svideo-connector"; 141 label = "tv"; 142 143 port { 144 tv_connector_in: endpoint { 145 remote-endpoint = <&venc_out>; 146 }; 147 }; 148 }; 149 150 etb@5401b000 { 151 compatible = "arm,coresight-etb10", "arm,primecell"; 152 reg = <0x5401b000 0x1000>; 153 154 clocks = <&emu_src_ck>; 155 clock-names = "apb_pclk"; 156 port { 157 etb_in: endpoint { 158 slave-mode; 159 remote-endpoint = <&etm_out>; 160 }; 161 }; 162 }; 163 164 etm@54010000 { 165 compatible = "arm,coresight-etm3x", "arm,primecell"; 166 reg = <0x54010000 0x1000>; 167 168 clocks = <&emu_src_ck>; 169 clock-names = "apb_pclk"; 170 port { 171 etm_out: endpoint { 172 remote-endpoint = <&etb_in>; 173 }; 174 }; 175 }; 176}; 177 178&omap3_pmx_wkup { 179 gpio1_pins: pinmux_gpio1_pins { 180 pinctrl-single,pins = < 181 OMAP3_WKUP_IOPAD(0x2a0e, PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE4) /* sys_boot2.gpio_4 */ 182 >; 183 }; 184 185 dss_dpi_pins2: pinmux_dss_dpi_pins1 { 186 pinctrl-single,pins = < 187 OMAP3_WKUP_IOPAD(0x2a0a, PIN_OUTPUT | MUX_MODE3) /* sys_boot0.dss_data18 */ 188 OMAP3_WKUP_IOPAD(0x2a0c, PIN_OUTPUT | MUX_MODE3) /* sys_boot1.dss_data19 */ 189 OMAP3_WKUP_IOPAD(0x2a10, PIN_OUTPUT | MUX_MODE3) /* sys_boot3.dss_data20 */ 190 OMAP3_WKUP_IOPAD(0x2a12, PIN_OUTPUT | MUX_MODE3) /* sys_boot4.dss_data21 */ 191 OMAP3_WKUP_IOPAD(0x2a14, PIN_OUTPUT | MUX_MODE3) /* sys_boot5.dss_data22 */ 192 OMAP3_WKUP_IOPAD(0x2a16, PIN_OUTPUT | MUX_MODE3) /* sys_boot6.dss_data23 */ 193 >; 194 }; 195}; 196 197&omap3_pmx_core { 198 pinctrl-names = "default"; 199 pinctrl-0 = < 200 &hsusb2_pins 201 >; 202 203 uart3_pins: pinmux_uart3_pins { 204 pinctrl-single,pins = < 205 OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */ 206 OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */ 207 >; 208 }; 209 210 hsusb2_pins: pinmux_hsusb2_pins { 211 pinctrl-single,pins = < 212 OMAP3_CORE1_IOPAD(0x21d4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi1_cs3.hsusb2_data2 */ 213 OMAP3_CORE1_IOPAD(0x21d6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_clk.hsusb2_data7 */ 214 OMAP3_CORE1_IOPAD(0x21d8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_simo.hsusb2_data4 */ 215 OMAP3_CORE1_IOPAD(0x21da, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_somi.hsusb2_data5 */ 216 OMAP3_CORE1_IOPAD(0x21dc, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_cs0.hsusb2_data6 */ 217 OMAP3_CORE1_IOPAD(0x21de, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcspi2_cs1.hsusb2_data3 */ 218 >; 219 }; 220 221 dss_dpi_pins1: pinmux_dss_dpi_pins2 { 222 pinctrl-single,pins = < 223 OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */ 224 OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */ 225 OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */ 226 OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */ 227 228 OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */ 229 OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */ 230 OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */ 231 OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */ 232 OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */ 233 OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */ 234 OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */ 235 OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */ 236 OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */ 237 OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */ 238 OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */ 239 OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */ 240 241 OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE3) /* dss_data18.dss_data0 */ 242 OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE3) /* dss_data19.dss_data1 */ 243 OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE3) /* dss_data20.dss_data2 */ 244 OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE3) /* dss_data21.dss_data3 */ 245 OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE3) /* dss_data22.dss_data4 */ 246 OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE3) /* dss_data23.dss_data5 */ 247 >; 248 }; 249}; 250 251&omap3_pmx_core2 { 252 pinctrl-names = "default"; 253 pinctrl-0 = < 254 &hsusb2_2_pins 255 >; 256 257 hsusb2_2_pins: pinmux_hsusb2_2_pins { 258 pinctrl-single,pins = < 259 OMAP3630_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3) /* etk_d10.hsusb2_clk */ 260 OMAP3630_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3) /* etk_d11.hsusb2_stp */ 261 OMAP3630_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d12.hsusb2_dir */ 262 OMAP3630_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d13.hsusb2_nxt */ 263 OMAP3630_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d14.hsusb2_data0 */ 264 OMAP3630_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d15.hsusb2_data1 */ 265 >; 266 }; 267}; 268 269&i2c1 { 270 clock-frequency = <2600000>; 271 272 twl: twl@48 { 273 reg = <0x48>; 274 interrupts = <7>; /* SYS_NIRQ cascaded to intc */ 275 interrupt-parent = <&intc>; 276 277 twl_audio: audio { 278 compatible = "ti,twl4030-audio"; 279 codec { 280 }; 281 }; 282 283 twl_power: power { 284 compatible = "ti,twl4030-power-beagleboard-xm", "ti,twl4030-power-idle-osc-off"; 285 ti,use_poweroff; 286 }; 287 }; 288}; 289 290#include "twl4030.dtsi" 291#include "twl4030_omap3.dtsi" 292 293&i2c2 { 294 clock-frequency = <400000>; 295}; 296 297&i2c3 { 298 clock-frequency = <100000>; 299}; 300 301&mmc1 { 302 vmmc-supply = <&vmmc1>; 303 vqmmc-supply = <&vsim>; 304 bus-width = <8>; 305}; 306 307&mmc2 { 308 status = "disabled"; 309}; 310 311&mmc3 { 312 status = "disabled"; 313}; 314 315&twl_gpio { 316 ti,use-leds; 317 /* pullups: BIT(1) */ 318 ti,pullups = <0x000002>; 319 /* 320 * pulldowns: 321 * BIT(2), BIT(6), BIT(7), BIT(8), BIT(13) 322 * BIT(15), BIT(16), BIT(17) 323 */ 324 ti,pulldowns = <0x03a1c4>; 325}; 326 327&usb_otg_hs { 328 interface-type = <0>; 329 usb-phy = <&usb2_phy>; 330 phys = <&usb2_phy>; 331 phy-names = "usb2-phy"; 332 mode = <3>; 333 power = <50>; 334}; 335 336&uart3 { 337 interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>; 338 pinctrl-names = "default"; 339 pinctrl-0 = <&uart3_pins>; 340}; 341 342&gpio1 { 343 pinctrl-names = "default"; 344 pinctrl-0 = <&gpio1_pins>; 345}; 346 347&usbhshost { 348 port2-mode = "ehci-phy"; 349}; 350 351&usbhsehci { 352 phys = <0 &hsusb2_phy>; 353 354 #address-cells = <1>; 355 #size-cells = <0>; 356 357 hub@2 { 358 compatible = "usb424,9514"; 359 reg = <2>; 360 #address-cells = <1>; 361 #size-cells = <0>; 362 363 ethernet: usbether@1 { 364 compatible = "usb424,ec00"; 365 reg = <1>; 366 }; 367 }; 368}; 369 370&vaux2 { 371 regulator-name = "usb_1v8"; 372 regulator-min-microvolt = <1800000>; 373 regulator-max-microvolt = <1800000>; 374 regulator-always-on; 375}; 376 377&mcbsp2 { 378 status = "okay"; 379}; 380 381&dss { 382 status = "ok"; 383 384 pinctrl-names = "default"; 385 pinctrl-0 = < 386 &dss_dpi_pins1 387 &dss_dpi_pins2 388 >; 389 390 port { 391 dpi_out: endpoint { 392 remote-endpoint = <&tfp410_in>; 393 data-lines = <24>; 394 }; 395 }; 396}; 397 398&venc { 399 status = "ok"; 400 401 vdda-supply = <&vdac>; 402 403 port { 404 venc_out: endpoint { 405 remote-endpoint = <&tv_connector_in>; 406 ti,channels = <2>; 407 }; 408 }; 409}; 410