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