1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Copyright (C) 2015 4 * Nikolaus Schaller <hns@goldelico.com> 5 * 6 * Common device tree include for OpenPandora devices. 7 */ 8 9#include <dt-bindings/input/input.h> 10 11/ { 12 cpus { 13 cpu@0 { 14 cpu0-supply = <&vcc>; 15 }; 16 }; 17 18 memory@80000000 { 19 device_type = "memory"; 20 reg = <0x80000000 0x20000000>; /* 512 MB */ 21 }; 22 23 aliases { 24 display0 = &lcd; 25 }; 26 27 /* fixed 26MHz oscillator */ 28 hfclk_26m: oscillator { 29 #clock-cells = <0>; 30 compatible = "fixed-clock"; 31 clock-frequency = <26000000>; 32 }; 33 34 tv: connector { 35 compatible = "connector-analog-tv"; 36 label = "tv"; 37 38 port { 39 tv_connector_in: endpoint { 40 remote-endpoint = <&venc_out>; 41 }; 42 }; 43 }; 44 45 gpio-leds { 46 47 compatible = "gpio-leds"; 48 49 pinctrl-names = "default"; 50 pinctrl-0 = <&led_pins>; 51 52 led1 { 53 label = "pandora::sd1"; 54 gpios = <&gpio5 0 GPIO_ACTIVE_HIGH>; /* GPIO_128 */ 55 linux,default-trigger = "mmc0"; 56 default-state = "off"; 57 }; 58 59 led2 { 60 label = "pandora::sd2"; 61 gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>; /* GPIO_129 */ 62 linux,default-trigger = "mmc1"; 63 default-state = "off"; 64 }; 65 66 led3 { 67 label = "pandora::bluetooth"; 68 gpios = <&gpio5 30 GPIO_ACTIVE_HIGH>; /* GPIO_158 */ 69 linux,default-trigger = "heartbeat"; 70 default-state = "off"; 71 }; 72 73 led4 { 74 label = "pandora::wifi"; 75 gpios = <&gpio5 31 GPIO_ACTIVE_HIGH>; /* GPIO_159 */ 76 linux,default-trigger = "mmc2"; 77 default-state = "off"; 78 }; 79 }; 80 81 gpio-keys { 82 compatible = "gpio-keys"; 83 84 pinctrl-names = "default"; 85 pinctrl-0 = <&button_pins>; 86 87 up-button { 88 label = "up"; 89 linux,code = <KEY_UP>; 90 gpios = <&gpio4 14 GPIO_ACTIVE_LOW>; /* GPIO_110 */ 91 wakeup-source; 92 }; 93 94 down-button { 95 label = "down"; 96 linux,code = <KEY_DOWN>; 97 gpios = <&gpio4 7 GPIO_ACTIVE_LOW>; /* GPIO_103 */ 98 wakeup-source; 99 }; 100 101 left-button { 102 label = "left"; 103 linux,code = <KEY_LEFT>; 104 gpios = <&gpio4 0 GPIO_ACTIVE_LOW>; /* GPIO_96 */ 105 wakeup-source; 106 }; 107 108 right-button { 109 label = "right"; 110 linux,code = <KEY_RIGHT>; 111 gpios = <&gpio4 2 GPIO_ACTIVE_LOW>; /* GPIO_98 */ 112 wakeup-source; 113 }; 114 115 pageup-button { 116 label = "game 1"; 117 linux,code = <KEY_PAGEUP>; 118 gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; /* GPIO_109 */ 119 wakeup-source; 120 }; 121 122 pagedown-button { 123 label = "game 3"; 124 linux,code = <KEY_PAGEDOWN>; 125 gpios = <&gpio4 10 GPIO_ACTIVE_LOW>; /* GPIO_106 */ 126 wakeup-source; 127 }; 128 129 home-button { 130 label = "game 4"; 131 linux,code = <KEY_HOME>; 132 gpios = <&gpio4 5 GPIO_ACTIVE_LOW>; /* GPIO_101 */ 133 wakeup-source; 134 }; 135 136 end-button { 137 label = "game 2"; 138 linux,code = <KEY_END>; 139 gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; /* GPIO_111 */ 140 wakeup-source; 141 }; 142 143 right-shift { 144 label = "l"; 145 linux,code = <KEY_RIGHTSHIFT>; 146 gpios = <&gpio4 6 GPIO_ACTIVE_LOW>; /* GPIO_102 */ 147 wakeup-source; 148 }; 149 150 kp-plus { 151 label = "l2"; 152 linux,code = <KEY_KPPLUS>; 153 gpios = <&gpio4 1 GPIO_ACTIVE_LOW>; /* GPIO_97 */ 154 wakeup-source; 155 }; 156 157 right-ctrl { 158 label = "r"; 159 linux,code = <KEY_RIGHTCTRL>; 160 gpios = <&gpio4 9 GPIO_ACTIVE_LOW>; /* GPIO_105 */ 161 wakeup-source; 162 }; 163 164 kp-minus { 165 label = "r2"; 166 linux,code = <KEY_KPMINUS>; 167 gpios = <&gpio4 11 GPIO_ACTIVE_LOW>; /* GPIO_107 */ 168 wakeup-source; 169 }; 170 171 left-ctrl { 172 label = "ctrl"; 173 linux,code = <KEY_LEFTCTRL>; 174 gpios = <&gpio4 8 GPIO_ACTIVE_LOW>; /* GPIO_104 */ 175 wakeup-source; 176 }; 177 178 menu { 179 label = "menu"; 180 linux,code = <KEY_MENU>; 181 gpios = <&gpio4 3 GPIO_ACTIVE_LOW>; /* GPIO_99 */ 182 wakeup-source; 183 }; 184 185 hold { 186 label = "hold"; 187 linux,code = <KEY_COFFEE>; 188 gpios = <&gpio6 16 GPIO_ACTIVE_LOW>; /* GPIO_176 */ 189 wakeup-source; 190 }; 191 192 left-alt { 193 label = "alt"; 194 linux,code = <KEY_LEFTALT>; 195 gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>; /* GPIO_100 */ 196 wakeup-source; 197 }; 198 199 lid { 200 label = "lid"; 201 linux,code = <0x00>; /* SW_LID lid shut */ 202 linux,input-type = <0x05>; /* EV_SW */ 203 gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>; /* GPIO_108 */ 204 }; 205 }; 206 207 /* HS USB Host PHY on PORT 2 */ 208 hsusb2_phy: hsusb2-phy-pins { 209 compatible = "usb-nop-xceiv"; 210 reset-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>; /* GPIO_16 */ 211 vcc-supply = <&vaux2>; 212 #phy-cells = <0>; 213 }; 214 215 /* HS USB Host VBUS supply 216 * disabling this regulator causes current leakage, and LCD flicker 217 * on earlier (CC) board revisions, so keep it always on */ 218 usb_host_5v: fixed-regulator-usb_host_5v { 219 compatible = "regulator-fixed"; 220 regulator-name = "usb_host_5v"; 221 regulator-min-microvolt = <5000000>; 222 regulator-max-microvolt = <5000000>; 223 regulator-always-on; 224 regulator-boot-on; 225 enable-active-high; 226 gpio = <&gpio6 4 GPIO_ACTIVE_HIGH>; /* GPIO_164 */ 227 }; 228 229 /* wl1251 wifi+bt module */ 230 wlan_en: fixed-regulator-wg7210_en { 231 compatible = "regulator-fixed"; 232 regulator-name = "vwlan"; 233 regulator-min-microvolt = <1800000>; 234 regulator-max-microvolt = <1800000>; 235 startup-delay-us = <50000>; 236 enable-active-high; 237 gpio = <&gpio1 23 GPIO_ACTIVE_HIGH>; 238 }; 239 240 /* wg7210 (wifi+bt module) 32k clock buffer */ 241 wg7210_32k: fixed-regulator-wg7210_32k { 242 compatible = "regulator-fixed"; 243 regulator-name = "wg7210_32k"; 244 regulator-min-microvolt = <1800000>; 245 regulator-max-microvolt = <1800000>; 246 regulator-always-on; 247 enable-active-high; 248 gpio = <&twl_gpio 13 GPIO_ACTIVE_HIGH>; 249 }; 250}; 251 252&omap3_pmx_core { 253 254 mmc1_pins: mmc1-pins { 255 pinctrl-single,pins = < 256 OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */ 257 OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */ 258 OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */ 259 OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */ 260 OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */ 261 OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */ 262 >; 263 }; 264 265 mmc2_pins: mmc2-pins { 266 pinctrl-single,pins = < 267 OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk.sdmmc2_clk */ 268 OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd.sdmmc2_cmd */ 269 OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat0.sdmmc2_dat0 */ 270 OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1.sdmmc2_dat1 */ 271 OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2.sdmmc2_dat2 */ 272 OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3.sdmmc2_dat3 */ 273 OMAP3_CORE1_IOPAD(0x2164, PIN_OUTPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat4.sdmmc2_dirdat0 */ 274 OMAP3_CORE1_IOPAD(0x2166, PIN_OUTPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat5.sdmmc2_dirdat1 */ 275 OMAP3_CORE1_IOPAD(0x2168, PIN_OUTPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat6.sdmmc2_dircmd */ 276 OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat7.sdmmc2_clkin */ 277 >; 278 }; 279 280 dss_dpi_pins: dss-dpi-pins { 281 pinctrl-single,pins = < 282 OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */ 283 OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */ 284 OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */ 285 OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */ 286 OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */ 287 OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */ 288 OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */ 289 OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */ 290 OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */ 291 OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */ 292 OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */ 293 OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */ 294 OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */ 295 OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */ 296 OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */ 297 OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */ 298 OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */ 299 OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */ 300 OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */ 301 OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */ 302 OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */ 303 OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */ 304 OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE0) /* dss_data18.dss_data18 */ 305 OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE0) /* dss_data19.dss_data19 */ 306 OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE0) /* dss_data20.dss_data20 */ 307 OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE0) /* dss_data21.dss_data21 */ 308 OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */ 309 OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */ 310 OMAP3_CORE1_IOPAD(0x218e, PIN_OUTPUT | MUX_MODE4) /* GPIO_157 = lcd reset */ 311 >; 312 }; 313 314 uart3_pins: uart3-pins { 315 pinctrl-single,pins = < 316 OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */ 317 OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */ 318 >; 319 }; 320 321 led_pins: leds-pins { 322 pinctrl-single,pins = < 323 OMAP3_CORE1_IOPAD(0x2154, PIN_OUTPUT | MUX_MODE4) /* GPIO_128 */ 324 OMAP3_CORE1_IOPAD(0x2156, PIN_OUTPUT | MUX_MODE4) /* GPIO_129 */ 325 OMAP3_CORE1_IOPAD(0x2190, PIN_OUTPUT | MUX_MODE4) /* GPIO_158 */ 326 OMAP3_CORE1_IOPAD(0x2192, PIN_OUTPUT | MUX_MODE4) /* GPIO_159 */ 327 >; 328 }; 329 330 button_pins: button-pins { 331 pinctrl-single,pins = < 332 OMAP3_CORE1_IOPAD(0x2110, PIN_INPUT | MUX_MODE4) /* GPIO_96 */ 333 OMAP3_CORE1_IOPAD(0x2112, PIN_INPUT | MUX_MODE4) /* GPIO_97 */ 334 OMAP3_CORE1_IOPAD(0x2114, PIN_INPUT | MUX_MODE4) /* GPIO_98 */ 335 OMAP3_CORE1_IOPAD(0x2116, PIN_INPUT | MUX_MODE4) /* GPIO_99 */ 336 OMAP3_CORE1_IOPAD(0x2118, PIN_INPUT | MUX_MODE4) /* GPIO_100 */ 337 OMAP3_CORE1_IOPAD(0x211a, PIN_INPUT | MUX_MODE4) /* GPIO_101 */ 338 OMAP3_CORE1_IOPAD(0x211c, PIN_INPUT | MUX_MODE4) /* GPIO_102 */ 339 OMAP3_CORE1_IOPAD(0x211e, PIN_INPUT | MUX_MODE4) /* GPIO_103 */ 340 OMAP3_CORE1_IOPAD(0x2120, PIN_INPUT | MUX_MODE4) /* GPIO_104 */ 341 OMAP3_CORE1_IOPAD(0x2122, PIN_INPUT | MUX_MODE4) /* GPIO_105 */ 342 OMAP3_CORE1_IOPAD(0x2124, PIN_INPUT | MUX_MODE4) /* GPIO_106 */ 343 OMAP3_CORE1_IOPAD(0x2126, PIN_INPUT | MUX_MODE4) /* GPIO_107 */ 344 OMAP3_CORE1_IOPAD(0x2128, PIN_INPUT | MUX_MODE4) /* GPIO_108 */ 345 OMAP3_CORE1_IOPAD(0x212a, PIN_INPUT | MUX_MODE4) /* GPIO_109 */ 346 OMAP3_CORE1_IOPAD(0x212c, PIN_INPUT | MUX_MODE4) /* GPIO_110 */ 347 OMAP3_CORE1_IOPAD(0x212e, PIN_INPUT | MUX_MODE4) /* GPIO_111 */ 348 OMAP3_CORE1_IOPAD(0x21d2, PIN_INPUT | MUX_MODE4) /* GPIO_176 */ 349 >; 350 }; 351 352 penirq_pins: penirq-pins { 353 pinctrl-single,pins = < 354 /* here we could enable to wakeup the cpu from suspend by a pen touch */ 355 OMAP3_CORE1_IOPAD(0x210c, PIN_INPUT | MUX_MODE4) /* GPIO_94 */ 356 >; 357 }; 358 359}; 360 361&omap3_pmx_core2 { 362 /* define in CPU specific file that includes this one 363 * use either OMAP3430_CORE2_IOPAD() or OMAP3630_CORE2_IOPAD() 364 */ 365}; 366 367&i2c1 { 368 clock-frequency = <2600000>; 369 370 twl: twl@48 { 371 reg = <0x48>; 372 interrupts = <7>; /* SYS_NIRQ cascaded to intc */ 373 interrupt-parent = <&intc>; 374 375 clocks = <&hfclk_26m>; 376 clock-names = "fck"; 377 378 twl_power: power { 379 compatible = "ti,twl4030-power-reset"; 380 ti,use_poweroff; 381 }; 382 383 twl_audio: audio { 384 compatible = "ti,twl4030-audio"; 385 386 codec { 387 ti,ramp_delay_value = <3>; 388 }; 389 }; 390 }; 391}; 392 393#include "twl4030.dtsi" 394#include "twl4030_omap3.dtsi" 395 396&twl_keypad { 397 keypad,num-rows = <8>; 398 keypad,num-columns = <6>; 399 linux,keymap = < 400 MATRIX_KEY(0, 0, KEY_9) 401 MATRIX_KEY(0, 1, KEY_8) 402 MATRIX_KEY(0, 2, KEY_I) 403 MATRIX_KEY(0, 3, KEY_J) 404 MATRIX_KEY(0, 4, KEY_N) 405 MATRIX_KEY(0, 5, KEY_M) 406 MATRIX_KEY(1, 0, KEY_0) 407 MATRIX_KEY(1, 1, KEY_7) 408 MATRIX_KEY(1, 2, KEY_U) 409 MATRIX_KEY(1, 3, KEY_H) 410 MATRIX_KEY(1, 4, KEY_B) 411 MATRIX_KEY(1, 5, KEY_SPACE) 412 MATRIX_KEY(2, 0, KEY_BACKSPACE) 413 MATRIX_KEY(2, 1, KEY_6) 414 MATRIX_KEY(2, 2, KEY_Y) 415 MATRIX_KEY(2, 3, KEY_G) 416 MATRIX_KEY(2, 4, KEY_V) 417 MATRIX_KEY(2, 5, KEY_FN) 418 MATRIX_KEY(3, 0, KEY_O) 419 MATRIX_KEY(3, 1, KEY_5) 420 MATRIX_KEY(3, 2, KEY_T) 421 MATRIX_KEY(3, 3, KEY_F) 422 MATRIX_KEY(3, 4, KEY_C) 423 MATRIX_KEY(4, 0, KEY_P) 424 MATRIX_KEY(4, 1, KEY_4) 425 MATRIX_KEY(4, 2, KEY_R) 426 MATRIX_KEY(4, 3, KEY_D) 427 MATRIX_KEY(4, 4, KEY_X) 428 MATRIX_KEY(5, 0, KEY_K) 429 MATRIX_KEY(5, 1, KEY_3) 430 MATRIX_KEY(5, 2, KEY_E) 431 MATRIX_KEY(5, 3, KEY_S) 432 MATRIX_KEY(5, 4, KEY_Z) 433 MATRIX_KEY(6, 0, KEY_L) 434 MATRIX_KEY(6, 1, KEY_2) 435 MATRIX_KEY(6, 2, KEY_W) 436 MATRIX_KEY(6, 3, KEY_A) 437 MATRIX_KEY(6, 4, KEY_RIGHTBRACE) 438 MATRIX_KEY(7, 0, KEY_ENTER) 439 MATRIX_KEY(7, 1, KEY_1) 440 MATRIX_KEY(7, 2, KEY_Q) 441 MATRIX_KEY(7, 3, KEY_LEFTSHIFT) 442 MATRIX_KEY(7, 4, KEY_LEFTBRACE ) 443 >; 444}; 445 446/* backup battery charger */ 447&charger { 448 ti,bb-uvolt = <3200000>; 449 ti,bb-uamp = <150>; 450}; 451 452/* MMC2 */ 453&vmmc2 { 454 regulator-min-microvolt = <1850000>; 455 regulator-max-microvolt = <3150000>; 456}; 457 458/* LCD */ 459&vaux1 { 460 regulator-min-microvolt = <3000000>; 461 regulator-max-microvolt = <3000000>; 462}; 463 464/* USB Host PHY */ 465&vaux2 { 466 regulator-min-microvolt = <1800000>; 467 regulator-max-microvolt = <1800000>; 468}; 469 470/* available on expansion connector */ 471&vaux3 { 472 regulator-min-microvolt = <2800000>; 473 regulator-max-microvolt = <2800000>; 474}; 475 476/* ADS7846 and nubs */ 477&vaux4 { 478 regulator-min-microvolt = <2800000>; 479 regulator-max-microvolt = <2800000>; 480}; 481 482/* power audio DAC and LID sensor */ 483&vsim { 484 regulator-min-microvolt = <2800000>; 485 regulator-max-microvolt = <2800000>; 486 regulator-always-on; 487}; 488 489&i2c2 { 490 clock-frequency = <100000>; 491 /* no clients so we should disable clock */ 492}; 493 494&i2c3 { 495 clock-frequency = <100000>; 496 497 bq27500@55 { 498 compatible = "ti,bq27500"; 499 reg = <0x55>; 500 }; 501 502}; 503 504&usb_otg_hs { 505 interface-type = <0>; 506 usb-phy = <&usb2_phy>; 507 phys = <&usb2_phy>; 508 phy-names = "usb2-phy"; 509 mode = <3>; 510 power = <50>; 511}; 512 513/* 514 * Many pandora boards have been produced with defective write-protect switches 515 * on either slot, so it was decided not to use this feature. If you know 516 * your board has good switches, feel free to uncomment wp-gpios below. 517 */ 518&mmc1 { 519 pinctrl-names = "default"; 520 pinctrl-0 = <&mmc1_pins>; 521 vmmc-supply = <&vmmc1>; 522 bus-width = <4>; 523 cd-gpios = <&twl_gpio 0 GPIO_ACTIVE_LOW>; 524 /*wp-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>;*/ /* GPIO_126 */ 525}; 526 527&mmc2 { 528 pinctrl-names = "default"; 529 pinctrl-0 = <&mmc2_pins>; 530 vmmc-supply = <&vmmc2>; 531 bus-width = <4>; 532 cd-gpios = <&twl_gpio 1 GPIO_ACTIVE_LOW>; 533 /*wp-gpios = <&gpio4 31 GPIO_ACTIVE_HIGH>;*/ /* GPIO_127 */ 534}; 535 536&mmc3 { 537 vmmc-supply = <&wlan_en>; 538 539 bus-width = <4>; 540 non-removable; 541 ti,non-removable; 542 cap-power-off-card; 543 544 pinctrl-names = "default"; 545 pinctrl-0 = <&mmc3_pins>; 546 547 #address-cells = <1>; 548 #size-cells = <0>; 549 550 wlan: wifi@1 { 551 compatible = "ti,wl1251"; 552 553 reg = <1>; 554 555 interrupt-parent = <&gpio1>; 556 interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; /* GPIO_21 */ 557 558 ti,wl1251-has-eeprom; 559 }; 560}; 561 562/* bluetooth*/ 563&uart1 { 564}; 565 566/* spare (expansion connector) */ 567&uart2 { 568}; 569 570/* console (expansion connector) */ 571&uart3 { 572 pinctrl-names = "default"; 573 pinctrl-0 = <&uart3_pins>; 574 interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>; 575}; 576 577&usbhshost { 578 port2-mode = "ehci-phy"; 579}; 580 581&usbhsehci { 582 phys = <0 &hsusb2_phy>; 583}; 584 585&gpmc { 586 ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */ 587 588 nand@0,0 { 589 compatible = "ti,omap2-nand"; 590 reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ 591 interrupt-parent = <&gpmc>; 592 interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */ 593 <1 IRQ_TYPE_NONE>; /* termcount */ 594 nand-bus-width = <16>; 595 ti,nand-ecc-opt = "sw"; 596 597 gpmc,sync-clk-ps = <0>; 598 gpmc,cs-on-ns = <0>; 599 gpmc,cs-rd-off-ns = <44>; 600 gpmc,cs-wr-off-ns = <44>; 601 gpmc,adv-on-ns = <6>; 602 gpmc,adv-rd-off-ns = <34>; 603 gpmc,adv-wr-off-ns = <44>; 604 gpmc,we-off-ns = <40>; 605 gpmc,oe-off-ns = <54>; 606 gpmc,access-ns = <64>; 607 gpmc,rd-cycle-ns = <82>; 608 gpmc,wr-cycle-ns = <82>; 609 gpmc,wr-access-ns = <40>; 610 gpmc,wr-data-mux-bus-ns = <0>; 611 gpmc,device-width = <2>; 612 613 #address-cells = <1>; 614 #size-cells = <1>; 615 616 /* u-boot uses mtdparts=nand:512k(xloader),1920k(uboot),128k(uboot-env),10m(boot),-(rootfs) */ 617 618 x-loader@0 { 619 label = "xloader"; 620 reg = <0 0x80000>; 621 }; 622 623 bootloaders@80000 { 624 label = "uboot"; 625 reg = <0x80000 0x1e0000>; 626 }; 627 628 bootloaders_env@260000 { 629 label = "uboot-env"; 630 reg = <0x260000 0x20000>; 631 }; 632 633 kernel@280000 { 634 label = "boot"; 635 reg = <0x280000 0xa00000>; 636 }; 637 638 filesystem@c80000 { 639 label = "rootfs"; 640 reg = <0xc80000 0>; /* 0 = MTDPART_SIZ_FULL */ 641 }; 642 }; 643}; 644 645&mcspi1 { 646 tsc2046@0 { 647 reg = <0>; /* CS0 */ 648 compatible = "ti,tsc2046"; 649 spi-max-frequency = <1000000>; 650 pinctrl-names = "default"; 651 pinctrl-0 = <&penirq_pins>; 652 interrupt-parent = <&gpio3>; 653 interrupts = <30 IRQ_TYPE_NONE>; /* GPIO_94 */ 654 pendown-gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>; 655 vcc-supply = <&vaux4>; 656 657 ti,x-min = /bits/ 16 <0>; 658 ti,x-max = /bits/ 16 <8000>; 659 ti,y-min = /bits/ 16 <0>; 660 ti,y-max = /bits/ 16 <4800>; 661 ti,x-plate-ohms = /bits/ 16 <40>; 662 ti,pressure-max = /bits/ 16 <255>; 663 664 wakeup-source; 665 }; 666 667 lcd: lcd@1 { 668 reg = <1>; /* CS1 */ 669 compatible = "tpo,td043mtea1"; 670 spi-max-frequency = <100000>; 671 spi-cpol; 672 spi-cpha; 673 674 label = "lcd"; 675 reset-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>; /* GPIO_157 */ 676 vcc-supply = <&vaux1>; 677 678 port { 679 lcd_in: endpoint { 680 remote-endpoint = <&dpi_out>; 681 }; 682 }; 683 }; 684 685 686}; 687 688/* n/a - used as GPIOs */ 689&mcbsp1 { 690}; 691 692/* audio DAC */ 693&mcbsp2 { 694}; 695 696/* bluetooth */ 697&mcbsp3 { 698}; 699 700/* to twl4030*/ 701&mcbsp4 { 702}; 703 704&venc { 705 status = "okay"; 706 707 vdda-supply = <&vdac>; 708 709 port { 710 venc_out: endpoint { 711 remote-endpoint = <&tv_connector_in>; 712 ti,channels = <2>; 713 }; 714 }; 715}; 716 717&dss { 718 pinctrl-names = "default"; 719 pinctrl-0 = < &dss_dpi_pins >; 720 721 status = "okay"; 722 vdds_dsi-supply = <&vpll2>; 723 724 port { 725 dpi_out: endpoint { 726 remote-endpoint = <&lcd_in>; 727 data-lines = <24>; 728 }; 729 }; 730}; 731