1/* 2 * Copyright (C) 2013 Pavel Machek <pavel@ucw.cz> 3 * Copyright (C) 2013-2014 Aaro Koskinen <aaro.koskinen@iki.fi> 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License version 2 (or later) as 7 * published by the Free Software Foundation. 8 */ 9 10/dts-v1/; 11 12#include "omap34xx-hs.dtsi" 13#include <dt-bindings/input/input.h> 14 15/ { 16 model = "Nokia N900"; 17 compatible = "nokia,omap3-n900", "ti,omap3430", "ti,omap3"; 18 19 cpus { 20 cpu@0 { 21 cpu0-supply = <&vcc>; 22 }; 23 }; 24 25 leds { 26 compatible = "gpio-leds"; 27 heartbeat { 28 label = "debug::sleep"; 29 gpios = <&gpio6 2 GPIO_ACTIVE_HIGH>; /* gpio162 */ 30 linux,default-trigger = "default-on"; 31 pinctrl-names = "default"; 32 pinctrl-0 = <&debug_leds>; 33 }; 34 }; 35 36 memory { 37 device_type = "memory"; 38 reg = <0x80000000 0x10000000>; /* 256 MB */ 39 }; 40 41 gpio_keys { 42 compatible = "gpio-keys"; 43 44 camera_lens_cover { 45 label = "Camera Lens Cover"; 46 gpios = <&gpio4 14 GPIO_ACTIVE_LOW>; /* 110 */ 47 linux,input-type = <5>; /* EV_SW */ 48 linux,code = <0x09>; /* SW_CAMERA_LENS_COVER */ 49 gpio-key,wakeup; 50 }; 51 52 camera_focus { 53 label = "Camera Focus"; 54 gpios = <&gpio3 4 GPIO_ACTIVE_LOW>; /* 68 */ 55 linux,code = <0x210>; /* KEY_CAMERA_FOCUS */ 56 gpio-key,wakeup; 57 }; 58 59 camera_capture { 60 label = "Camera Capture"; 61 gpios = <&gpio3 5 GPIO_ACTIVE_LOW>; /* 69 */ 62 linux,code = <0xd4>; /* KEY_CAMERA */ 63 gpio-key,wakeup; 64 }; 65 66 lock_button { 67 label = "Lock Button"; 68 gpios = <&gpio4 17 GPIO_ACTIVE_LOW>; /* 113 */ 69 linux,code = <0x98>; /* KEY_SCREENLOCK */ 70 gpio-key,wakeup; 71 }; 72 73 keypad_slide { 74 label = "Keypad Slide"; 75 gpios = <&gpio3 7 GPIO_ACTIVE_LOW>; /* 71 */ 76 linux,input-type = <5>; /* EV_SW */ 77 linux,code = <0x0a>; /* SW_KEYPAD_SLIDE */ 78 gpio-key,wakeup; 79 }; 80 81 proximity_sensor { 82 label = "Proximity Sensor"; 83 gpios = <&gpio3 25 GPIO_ACTIVE_HIGH>; /* 89 */ 84 linux,input-type = <5>; /* EV_SW */ 85 linux,code = <0x0b>; /* SW_FRONT_PROXIMITY */ 86 }; 87 }; 88 89 isp1704: isp1704 { 90 compatible = "nxp,isp1704"; 91 nxp,enable-gpio = <&gpio3 3 GPIO_ACTIVE_HIGH>; 92 usb-phy = <&usb2_phy>; 93 }; 94 95 tv: connector { 96 compatible = "composite-video-connector"; 97 label = "tv"; 98 99 port { 100 tv_connector_in: endpoint { 101 remote-endpoint = <&venc_out>; 102 }; 103 }; 104 }; 105 106 sound: n900-audio { 107 compatible = "nokia,n900-audio"; 108 109 nokia,cpu-dai = <&mcbsp2>; 110 nokia,audio-codec = <&tlv320aic3x>, <&tlv320aic3x_aux>; 111 nokia,headphone-amplifier = <&tpa6130a2>; 112 113 tvout-selection-gpios = <&gpio2 8 GPIO_ACTIVE_HIGH>; /* 40 */ 114 jack-detection-gpios = <&gpio6 17 GPIO_ACTIVE_HIGH>; /* 177 */ 115 eci-switch-gpios = <&gpio6 22 GPIO_ACTIVE_HIGH>; /* 182 */ 116 speaker-amplifier-gpios = <&twl_gpio 7 GPIO_ACTIVE_HIGH>; 117 }; 118}; 119 120&omap3_pmx_core { 121 pinctrl-names = "default"; 122 123 uart2_pins: pinmux_uart2_pins { 124 pinctrl-single,pins = < 125 0x14a (PIN_INPUT | MUX_MODE0) /* uart2_rx */ 126 0x148 (PIN_OUTPUT | MUX_MODE0) /* uart2_tx */ 127 >; 128 }; 129 130 uart3_pins: pinmux_uart3_pins { 131 pinctrl-single,pins = < 132 0x16e (PIN_INPUT | MUX_MODE0) /* uart3_rx */ 133 0x170 (PIN_OUTPUT | MUX_MODE0) /* uart3_tx */ 134 >; 135 }; 136 137 ethernet_pins: pinmux_ethernet_pins { 138 pinctrl-single,pins = < 139 OMAP3_CORE1_IOPAD(0x20b4, PIN_INPUT_PULLDOWN | MUX_MODE4) /* gpmc_ncs3.gpio_54 */ 140 OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE4) /* dss_data16.gpio_86 */ 141 OMAP3_CORE1_IOPAD(0x219c, PIN_OUTPUT | MUX_MODE4) /* uart3_rts_sd.gpio_164 */ 142 >; 143 }; 144 145 i2c1_pins: pinmux_i2c1_pins { 146 pinctrl-single,pins = < 147 0x18a (PIN_INPUT | MUX_MODE0) /* i2c1_scl */ 148 0x18c (PIN_INPUT | MUX_MODE0) /* i2c1_sda */ 149 >; 150 }; 151 152 i2c2_pins: pinmux_i2c2_pins { 153 pinctrl-single,pins = < 154 0x18e (PIN_INPUT | MUX_MODE0) /* i2c2_scl */ 155 0x190 (PIN_INPUT | MUX_MODE0) /* i2c2_sda */ 156 >; 157 }; 158 159 i2c3_pins: pinmux_i2c3_pins { 160 pinctrl-single,pins = < 161 0x192 (PIN_INPUT | MUX_MODE0) /* i2c3_scl */ 162 0x194 (PIN_INPUT | MUX_MODE0) /* i2c3_sda */ 163 >; 164 }; 165 166 debug_leds: pinmux_debug_led_pins { 167 pinctrl-single,pins = < 168 OMAP3_CORE1_IOPAD(0x2198, PIN_OUTPUT | MUX_MODE4) /* mcbsp1_clkx.gpio_162 */ 169 >; 170 }; 171 172 mcspi4_pins: pinmux_mcspi4_pins { 173 pinctrl-single,pins = < 174 0x15c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_clk */ 175 0x162 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_somi */ 176 0x160 (PIN_OUTPUT | MUX_MODE1) /* mcspi4_simo */ 177 0x166 (PIN_OUTPUT | MUX_MODE1) /* mcspi4_cs0 */ 178 >; 179 }; 180 181 mmc1_pins: pinmux_mmc1_pins { 182 pinctrl-single,pins = < 183 0x114 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk */ 184 0x116 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd */ 185 0x118 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0 */ 186 0x11a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1 */ 187 0x11c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2 */ 188 0x11e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3 */ 189 >; 190 }; 191 192 mmc2_pins: pinmux_mmc2_pins { 193 pinctrl-single,pins = < 194 0x128 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk */ 195 0x12a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd */ 196 0x12c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat0 */ 197 0x12e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1 */ 198 0x130 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2 */ 199 0x132 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3 */ 200 0x134 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat4 */ 201 0x136 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat5 */ 202 0x138 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat6 */ 203 0x13a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat7 */ 204 >; 205 }; 206 207 acx565akm_pins: pinmux_acx565akm_pins { 208 pinctrl-single,pins = < 209 0x0d4 (PIN_OUTPUT | MUX_MODE4) /* RX51_LCD_RESET_GPIO */ 210 >; 211 }; 212 213 dss_sdi_pins: pinmux_dss_sdi_pins { 214 pinctrl-single,pins = < 215 0x0c0 (PIN_OUTPUT | MUX_MODE1) /* dss_data10.sdi_dat1n */ 216 0x0c2 (PIN_OUTPUT | MUX_MODE1) /* dss_data11.sdi_dat1p */ 217 0x0c4 (PIN_OUTPUT | MUX_MODE1) /* dss_data12.sdi_dat2n */ 218 0x0c6 (PIN_OUTPUT | MUX_MODE1) /* dss_data13.sdi_dat2p */ 219 220 0x0d8 (PIN_OUTPUT | MUX_MODE1) /* dss_data22.sdi_clkp */ 221 0x0da (PIN_OUTPUT | MUX_MODE1) /* dss_data23.sdi_clkn */ 222 >; 223 }; 224 225 wl1251_pins: pinmux_wl1251 { 226 pinctrl-single,pins = < 227 0x0ce (PIN_OUTPUT | MUX_MODE4) /* gpio 87 => wl1251 enable */ 228 0x05a (PIN_INPUT | MUX_MODE4) /* gpio 42 => wl1251 irq */ 229 >; 230 }; 231 232 ssi_pins: pinmux_ssi { 233 pinctrl-single,pins = < 234 0x150 (PIN_INPUT_PULLUP | MUX_MODE1) /* ssi1_rdy_tx */ 235 0x14e (PIN_OUTPUT | MUX_MODE1) /* ssi1_flag_tx */ 236 0x152 (PIN_INPUT | WAKEUP_EN | MUX_MODE4) /* ssi1_wake_tx (cawake) */ 237 0x14c (PIN_OUTPUT | MUX_MODE1) /* ssi1_dat_tx */ 238 0x154 (PIN_INPUT | MUX_MODE1) /* ssi1_dat_rx */ 239 0x156 (PIN_INPUT | MUX_MODE1) /* ssi1_flag_rx */ 240 0x158 (PIN_OUTPUT | MUX_MODE1) /* ssi1_rdy_rx */ 241 0x15a (PIN_OUTPUT | MUX_MODE1) /* ssi1_wake */ 242 >; 243 }; 244 245 modem_pins: pinmux_modem { 246 pinctrl-single,pins = < 247 0x0ac (PIN_OUTPUT | MUX_MODE4) /* gpio 70 => cmt_apeslpx */ 248 0x0b0 (PIN_INPUT | WAKEUP_EN | MUX_MODE4) /* gpio 72 => ape_rst_rq */ 249 0x0b2 (PIN_OUTPUT | MUX_MODE4) /* gpio 73 => cmt_rst_rq */ 250 0x0b4 (PIN_OUTPUT | MUX_MODE4) /* gpio 74 => cmt_en */ 251 0x0b6 (PIN_OUTPUT | MUX_MODE4) /* gpio 75 => cmt_rst */ 252 0x15e (PIN_OUTPUT | MUX_MODE4) /* gpio 157 => cmt_bsi */ 253 >; 254 }; 255}; 256 257&i2c1 { 258 pinctrl-names = "default"; 259 pinctrl-0 = <&i2c1_pins>; 260 261 clock-frequency = <2200000>; 262 263 twl: twl@48 { 264 reg = <0x48>; 265 interrupts = <7>; /* SYS_NIRQ cascaded to intc */ 266 interrupt-parent = <&intc>; 267 }; 268}; 269 270#include "twl4030.dtsi" 271#include "twl4030_omap3.dtsi" 272 273&vaux1 { 274 regulator-name = "V28"; 275 regulator-min-microvolt = <2800000>; 276 regulator-max-microvolt = <2800000>; 277 regulator-always-on; /* due battery cover sensor */ 278}; 279 280&vaux2 { 281 regulator-name = "VCSI"; 282 regulator-min-microvolt = <1800000>; 283 regulator-max-microvolt = <1800000>; 284}; 285 286&vaux3 { 287 regulator-name = "VMMC2_30"; 288 regulator-min-microvolt = <2800000>; 289 regulator-max-microvolt = <3000000>; 290}; 291 292&vaux4 { 293 regulator-name = "VCAM_ANA_28"; 294 regulator-min-microvolt = <2800000>; 295 regulator-max-microvolt = <2800000>; 296}; 297 298&vmmc1 { 299 regulator-name = "VMMC1"; 300 regulator-min-microvolt = <1850000>; 301 regulator-max-microvolt = <3150000>; 302}; 303 304&vmmc2 { 305 regulator-name = "V28_A"; 306 regulator-min-microvolt = <2800000>; 307 regulator-max-microvolt = <3000000>; 308 regulator-always-on; /* due VIO leak to AIC34 VDDs */ 309}; 310 311&vpll1 { 312 regulator-name = "VPLL"; 313 regulator-min-microvolt = <1800000>; 314 regulator-max-microvolt = <1800000>; 315 regulator-always-on; 316}; 317 318&vpll2 { 319 regulator-name = "VSDI_CSI"; 320 regulator-min-microvolt = <1800000>; 321 regulator-max-microvolt = <1800000>; 322 regulator-always-on; 323}; 324 325&vsim { 326 regulator-name = "VMMC2_IO_18"; 327 regulator-min-microvolt = <1800000>; 328 regulator-max-microvolt = <1800000>; 329}; 330 331&vio { 332 regulator-name = "VIO"; 333 regulator-min-microvolt = <1800000>; 334 regulator-max-microvolt = <1800000>; 335 336}; 337 338&vintana1 { 339 regulator-name = "VINTANA1"; 340 /* fixed to 1500000 */ 341 regulator-always-on; 342}; 343 344&vintana2 { 345 regulator-name = "VINTANA2"; 346 regulator-min-microvolt = <2750000>; 347 regulator-max-microvolt = <2750000>; 348 regulator-always-on; 349}; 350 351&vintdig { 352 regulator-name = "VINTDIG"; 353 /* fixed to 1500000 */ 354 regulator-always-on; 355}; 356 357&twl { 358 twl_audio: audio { 359 compatible = "ti,twl4030-audio"; 360 ti,enable-vibra = <1>; 361 }; 362 363 twl_power: power { 364 compatible = "ti,twl4030-power-n900", "ti,twl4030-power-idle-osc-off"; 365 ti,use_poweroff; 366 }; 367}; 368 369&twl_keypad { 370 linux,keymap = < MATRIX_KEY(0x00, 0x00, KEY_Q) 371 MATRIX_KEY(0x00, 0x01, KEY_O) 372 MATRIX_KEY(0x00, 0x02, KEY_P) 373 MATRIX_KEY(0x00, 0x03, KEY_COMMA) 374 MATRIX_KEY(0x00, 0x04, KEY_BACKSPACE) 375 MATRIX_KEY(0x00, 0x06, KEY_A) 376 MATRIX_KEY(0x00, 0x07, KEY_S) 377 378 MATRIX_KEY(0x01, 0x00, KEY_W) 379 MATRIX_KEY(0x01, 0x01, KEY_D) 380 MATRIX_KEY(0x01, 0x02, KEY_F) 381 MATRIX_KEY(0x01, 0x03, KEY_G) 382 MATRIX_KEY(0x01, 0x04, KEY_H) 383 MATRIX_KEY(0x01, 0x05, KEY_J) 384 MATRIX_KEY(0x01, 0x06, KEY_K) 385 MATRIX_KEY(0x01, 0x07, KEY_L) 386 387 MATRIX_KEY(0x02, 0x00, KEY_E) 388 MATRIX_KEY(0x02, 0x01, KEY_DOT) 389 MATRIX_KEY(0x02, 0x02, KEY_UP) 390 MATRIX_KEY(0x02, 0x03, KEY_ENTER) 391 MATRIX_KEY(0x02, 0x05, KEY_Z) 392 MATRIX_KEY(0x02, 0x06, KEY_X) 393 MATRIX_KEY(0x02, 0x07, KEY_C) 394 MATRIX_KEY(0x02, 0x08, KEY_F9) 395 396 MATRIX_KEY(0x03, 0x00, KEY_R) 397 MATRIX_KEY(0x03, 0x01, KEY_V) 398 MATRIX_KEY(0x03, 0x02, KEY_B) 399 MATRIX_KEY(0x03, 0x03, KEY_N) 400 MATRIX_KEY(0x03, 0x04, KEY_M) 401 MATRIX_KEY(0x03, 0x05, KEY_SPACE) 402 MATRIX_KEY(0x03, 0x06, KEY_SPACE) 403 MATRIX_KEY(0x03, 0x07, KEY_LEFT) 404 405 MATRIX_KEY(0x04, 0x00, KEY_T) 406 MATRIX_KEY(0x04, 0x01, KEY_DOWN) 407 MATRIX_KEY(0x04, 0x02, KEY_RIGHT) 408 MATRIX_KEY(0x04, 0x04, KEY_LEFTCTRL) 409 MATRIX_KEY(0x04, 0x05, KEY_RIGHTALT) 410 MATRIX_KEY(0x04, 0x06, KEY_LEFTSHIFT) 411 MATRIX_KEY(0x04, 0x08, KEY_F10) 412 413 MATRIX_KEY(0x05, 0x00, KEY_Y) 414 MATRIX_KEY(0x05, 0x08, KEY_F11) 415 416 MATRIX_KEY(0x06, 0x00, KEY_U) 417 418 MATRIX_KEY(0x07, 0x00, KEY_I) 419 MATRIX_KEY(0x07, 0x01, KEY_F7) 420 MATRIX_KEY(0x07, 0x02, KEY_F8) 421 >; 422}; 423 424&twl_gpio { 425 ti,pullups = <0x0>; 426 ti,pulldowns = <0x03ff3f>; /* BIT(0..5) | BIT(8..17) */ 427}; 428 429&i2c2 { 430 pinctrl-names = "default"; 431 pinctrl-0 = <&i2c2_pins>; 432 433 clock-frequency = <100000>; 434 435 tlv320aic3x: tlv320aic3x@18 { 436 compatible = "ti,tlv320aic3x"; 437 reg = <0x18>; 438 gpio-reset = <&gpio2 28 GPIO_ACTIVE_HIGH>; /* 60 */ 439 ai3x-gpio-func = < 440 0 /* AIC3X_GPIO1_FUNC_DISABLED */ 441 5 /* AIC3X_GPIO2_FUNC_DIGITAL_MIC_INPUT */ 442 >; 443 444 AVDD-supply = <&vmmc2>; 445 DRVDD-supply = <&vmmc2>; 446 IOVDD-supply = <&vio>; 447 DVDD-supply = <&vio>; 448 449 ai3x-micbias-vg = <1>; 450 }; 451 452 tlv320aic3x_aux: tlv320aic3x@19 { 453 compatible = "ti,tlv320aic3x"; 454 reg = <0x19>; 455 gpio-reset = <&gpio2 28 GPIO_ACTIVE_HIGH>; /* 60 */ 456 457 AVDD-supply = <&vmmc2>; 458 DRVDD-supply = <&vmmc2>; 459 IOVDD-supply = <&vio>; 460 DVDD-supply = <&vio>; 461 462 ai3x-micbias-vg = <2>; 463 }; 464 465 tsl2563: tsl2563@29 { 466 compatible = "amstaos,tsl2563"; 467 reg = <0x29>; 468 469 amstaos,cover-comp-gain = <16>; 470 }; 471 472 lp5523: lp5523@32 { 473 compatible = "national,lp5523"; 474 reg = <0x32>; 475 clock-mode = /bits/ 8 <0>; /* LP55XX_CLOCK_AUTO */ 476 enable-gpio = <&gpio2 9 GPIO_ACTIVE_HIGH>; /* 41 */ 477 478 chan0 { 479 chan-name = "lp5523:kb1"; 480 led-cur = /bits/ 8 <50>; 481 max-cur = /bits/ 8 <100>; 482 }; 483 484 chan1 { 485 chan-name = "lp5523:kb2"; 486 led-cur = /bits/ 8 <50>; 487 max-cur = /bits/ 8 <100>; 488 }; 489 490 chan2 { 491 chan-name = "lp5523:kb3"; 492 led-cur = /bits/ 8 <50>; 493 max-cur = /bits/ 8 <100>; 494 }; 495 496 chan3 { 497 chan-name = "lp5523:kb4"; 498 led-cur = /bits/ 8 <50>; 499 max-cur = /bits/ 8 <100>; 500 }; 501 502 chan4 { 503 chan-name = "lp5523:b"; 504 led-cur = /bits/ 8 <50>; 505 max-cur = /bits/ 8 <100>; 506 }; 507 508 chan5 { 509 chan-name = "lp5523:g"; 510 led-cur = /bits/ 8 <50>; 511 max-cur = /bits/ 8 <100>; 512 }; 513 514 chan6 { 515 chan-name = "lp5523:r"; 516 led-cur = /bits/ 8 <50>; 517 max-cur = /bits/ 8 <100>; 518 }; 519 520 chan7 { 521 chan-name = "lp5523:kb5"; 522 led-cur = /bits/ 8 <50>; 523 max-cur = /bits/ 8 <100>; 524 }; 525 526 chan8 { 527 chan-name = "lp5523:kb6"; 528 led-cur = /bits/ 8 <50>; 529 max-cur = /bits/ 8 <100>; 530 }; 531 }; 532 533 bq27200: bq27200@55 { 534 compatible = "ti,bq27200"; 535 reg = <0x55>; 536 }; 537 538 tpa6130a2: tpa6130a2@60 { 539 compatible = "ti,tpa6130a2"; 540 reg = <0x60>; 541 542 Vdd-supply = <&vmmc2>; 543 544 power-gpio = <&gpio4 2 GPIO_ACTIVE_HIGH>; /* 98 */ 545 }; 546 547 bq24150a: bq24150a@6b { 548 compatible = "ti,bq24150a"; 549 reg = <0x6b>; 550 551 ti,current-limit = <100>; 552 ti,weak-battery-voltage = <3400>; 553 ti,battery-regulation-voltage = <4200>; 554 ti,charge-current = <650>; 555 ti,termination-current = <100>; 556 ti,resistor-sense = <68>; 557 558 ti,usb-charger-detection = <&isp1704>; 559 }; 560}; 561 562&i2c3 { 563 pinctrl-names = "default"; 564 pinctrl-0 = <&i2c3_pins>; 565 566 clock-frequency = <400000>; 567}; 568 569&mmc1 { 570 pinctrl-names = "default"; 571 pinctrl-0 = <&mmc1_pins>; 572 vmmc-supply = <&vmmc1>; 573 bus-width = <4>; 574 cd-gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>; /* 160 */ 575}; 576 577/* most boards use vaux3, only some old versions use vmmc2 instead */ 578&mmc2 { 579 pinctrl-names = "default"; 580 pinctrl-0 = <&mmc2_pins>; 581 vmmc-supply = <&vaux3>; 582 vmmc_aux-supply = <&vsim>; 583 bus-width = <8>; 584 non-removable; 585 no-sdio; 586 no-sd; 587}; 588 589&mmc3 { 590 status = "disabled"; 591}; 592 593&gpmc { 594 ranges = <0 0 0x04000000 0x10000000>; /* 256MB */ 595 ranges = <0 0 0x01000000 0x01000000>, /* 16 MB for OneNAND */ 596 <1 0 0x02000000 0x01000000>; /* 16 MB for smc91c96 */ 597 598 /* gpio-irq for dma: 65 */ 599 600 onenand@0,0 { 601 #address-cells = <1>; 602 #size-cells = <1>; 603 reg = <0 0 0x10000000>; 604 605 gpmc,sync-read; 606 gpmc,sync-write; 607 gpmc,burst-length = <16>; 608 gpmc,burst-read; 609 gpmc,burst-wrap; 610 gpmc,burst-write; 611 gpmc,device-width = <2>; /* GPMC_DEVWIDTH_16BIT */ 612 gpmc,mux-add-data = <2>; /* GPMC_MUX_AD */ 613 gpmc,cs-on-ns = <0>; 614 gpmc,cs-rd-off-ns = <87>; 615 gpmc,cs-wr-off-ns = <87>; 616 gpmc,adv-on-ns = <0>; 617 gpmc,adv-rd-off-ns = <10>; 618 gpmc,adv-wr-off-ns = <10>; 619 gpmc,oe-on-ns = <15>; 620 gpmc,oe-off-ns = <87>; 621 gpmc,we-on-ns = <0>; 622 gpmc,we-off-ns = <87>; 623 gpmc,rd-cycle-ns = <112>; 624 gpmc,wr-cycle-ns = <112>; 625 gpmc,access-ns = <81>; 626 gpmc,page-burst-access-ns = <15>; 627 gpmc,bus-turnaround-ns = <0>; 628 gpmc,cycle2cycle-delay-ns = <0>; 629 gpmc,wait-monitoring-ns = <0>; 630 gpmc,clk-activation-ns = <5>; 631 gpmc,wr-data-mux-bus-ns = <30>; 632 gpmc,wr-access-ns = <81>; 633 gpmc,sync-clk-ps = <15000>; 634 635 /* 636 * MTD partition table corresponding to Nokia's 637 * Maemo 5 (Fremantle) release. 638 */ 639 partition@0 { 640 label = "bootloader"; 641 reg = <0x00000000 0x00020000>; 642 read-only; 643 }; 644 partition@1 { 645 label = "config"; 646 reg = <0x00020000 0x00060000>; 647 }; 648 partition@2 { 649 label = "log"; 650 reg = <0x00080000 0x00040000>; 651 }; 652 partition@3 { 653 label = "kernel"; 654 reg = <0x000c0000 0x00200000>; 655 }; 656 partition@4 { 657 label = "initfs"; 658 reg = <0x002c0000 0x00200000>; 659 }; 660 partition@5 { 661 label = "rootfs"; 662 reg = <0x004c0000 0x0fb40000>; 663 }; 664 }; 665 666 ethernet@gpmc { 667 compatible = "smsc,lan91c94"; 668 669 status = "disabled"; 670 671 interrupt-parent = <&gpio2>; 672 interrupts = <22 IRQ_TYPE_LEVEL_HIGH>; /* gpio54 */ 673 reg = <1 0x300 0xf>; /* 16 byte IO range at offset 0x300 */ 674 bank-width = <2>; 675 pinctrl-names = "default"; 676 pinctrl-0 = <ðernet_pins>; 677 power-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>; /* gpio86 */ 678 reset-gpios = <&gpio6 4 GPIO_ACTIVE_HIGH>; /* gpio164 */ 679 gpmc,device-width = <2>; 680 gpmc,sync-clk-ps = <0>; 681 gpmc,cs-on-ns = <0>; 682 gpmc,cs-rd-off-ns = <48>; 683 gpmc,cs-wr-off-ns = <24>; 684 gpmc,adv-on-ns = <0>; 685 gpmc,adv-rd-off-ns = <0>; 686 gpmc,adv-wr-off-ns = <0>; 687 gpmc,we-on-ns = <12>; 688 gpmc,we-off-ns = <18>; 689 gpmc,oe-on-ns = <12>; 690 gpmc,oe-off-ns = <48>; 691 gpmc,page-burst-access-ns = <0>; 692 gpmc,access-ns = <42>; 693 gpmc,rd-cycle-ns = <180>; 694 gpmc,wr-cycle-ns = <180>; 695 gpmc,bus-turnaround-ns = <0>; 696 gpmc,cycle2cycle-delay-ns = <0>; 697 gpmc,wait-monitoring-ns = <0>; 698 gpmc,clk-activation-ns = <0>; 699 gpmc,wr-access-ns = <0>; 700 gpmc,wr-data-mux-bus-ns = <12>; 701 }; 702}; 703 704&mcspi1 { 705 /* 706 * For some reason, touchscreen is necessary for screen to work at 707 * all on real hw. It works well without it on emulator. 708 * 709 * Also... order in the device tree actually matters here. 710 */ 711 tsc2005@0 { 712 compatible = "ti,tsc2005"; 713 spi-max-frequency = <6000000>; 714 reg = <0>; 715 716 vio-supply = <&vio>; 717 718 reset-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* 104 */ 719 interrupts-extended = <&gpio4 4 IRQ_TYPE_EDGE_RISING>; /* 100 */ 720 721 touchscreen-fuzz-x = <4>; 722 touchscreen-fuzz-y = <7>; 723 touchscreen-fuzz-pressure = <2>; 724 touchscreen-max-x = <4096>; 725 touchscreen-max-y = <4096>; 726 touchscreen-max-pressure = <2048>; 727 728 ti,x-plate-ohms = <280>; 729 ti,esd-recovery-timeout-ms = <8000>; 730 }; 731 732 acx565akm@2 { 733 compatible = "sony,acx565akm"; 734 spi-max-frequency = <6000000>; 735 reg = <2>; 736 737 pinctrl-names = "default"; 738 pinctrl-0 = <&acx565akm_pins>; 739 740 label = "lcd"; 741 reset-gpios = <&gpio3 26 GPIO_ACTIVE_HIGH>; /* 90 */ 742 743 port { 744 lcd_in: endpoint { 745 remote-endpoint = <&sdi_out>; 746 }; 747 }; 748 }; 749}; 750 751&mcspi4 { 752 pinctrl-names = "default"; 753 pinctrl-0 = <&mcspi4_pins>; 754 755 wl1251@0 { 756 pinctrl-names = "default"; 757 pinctrl-0 = <&wl1251_pins>; 758 759 vio-supply = <&vio>; 760 761 compatible = "ti,wl1251"; 762 reg = <0>; 763 spi-max-frequency = <48000000>; 764 765 spi-cpol; 766 spi-cpha; 767 768 ti,power-gpio = <&gpio3 23 GPIO_ACTIVE_HIGH>; /* 87 */ 769 770 interrupt-parent = <&gpio2>; 771 interrupts = <10 IRQ_TYPE_NONE>; /* gpio line 42 */ 772 }; 773}; 774 775&usb_otg_hs { 776 interface-type = <0>; 777 usb-phy = <&usb2_phy>; 778 phys = <&usb2_phy>; 779 phy-names = "usb2-phy"; 780 mode = <2>; 781 power = <50>; 782}; 783 784&uart1 { 785 status = "disabled"; 786}; 787 788&uart2 { 789 interrupts-extended = <&intc 73 &omap3_pmx_core OMAP3_UART2_RX>; 790 pinctrl-names = "default"; 791 pinctrl-0 = <&uart2_pins>; 792}; 793 794&uart3 { 795 interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>; 796 pinctrl-names = "default"; 797 pinctrl-0 = <&uart3_pins>; 798}; 799 800&dss { 801 status = "ok"; 802 803 pinctrl-names = "default"; 804 pinctrl-0 = <&dss_sdi_pins>; 805 806 vdds_sdi-supply = <&vaux1>; 807 808 ports { 809 #address-cells = <1>; 810 #size-cells = <0>; 811 812 port@1 { 813 reg = <1>; 814 815 sdi_out: endpoint { 816 remote-endpoint = <&lcd_in>; 817 datapairs = <2>; 818 }; 819 }; 820 }; 821}; 822 823&venc { 824 status = "ok"; 825 826 vdda-supply = <&vdac>; 827 828 port { 829 venc_out: endpoint { 830 remote-endpoint = <&tv_connector_in>; 831 ti,channels = <1>; 832 }; 833 }; 834}; 835 836&mcbsp2 { 837 status = "ok"; 838}; 839 840&ssi_port1 { 841 pinctrl-names = "default"; 842 pinctrl-0 = <&ssi_pins>; 843 844 ti,ssi-cawake-gpio = <&gpio5 23 GPIO_ACTIVE_HIGH>; /* 151 */ 845 846 modem: hsi-client { 847 compatible = "nokia,n900-modem"; 848 849 pinctrl-names = "default"; 850 pinctrl-0 = <&modem_pins>; 851 852 hsi-channel-ids = <0>, <1>, <2>, <3>; 853 hsi-channel-names = "mcsaab-control", 854 "speech-control", 855 "speech-data", 856 "mcsaab-data"; 857 hsi-speed-kbps = <55000>; 858 hsi-mode = "frame"; 859 hsi-flow = "synchronized"; 860 hsi-arb-mode = "round-robin"; 861 862 interrupts-extended = <&gpio3 8 IRQ_TYPE_EDGE_FALLING>; /* 72 */ 863 864 gpios = <&gpio3 6 GPIO_ACTIVE_HIGH>, /* 70 */ 865 <&gpio3 9 GPIO_ACTIVE_HIGH>, /* 73 */ 866 <&gpio3 10 GPIO_ACTIVE_HIGH>, /* 74 */ 867 <&gpio3 11 GPIO_ACTIVE_HIGH>, /* 75 */ 868 <&gpio5 29 GPIO_ACTIVE_HIGH>; /* 157 */ 869 gpio-names = "cmt_apeslpx", 870 "cmt_rst_rq", 871 "cmt_en", 872 "cmt_rst", 873 "cmt_bsi"; 874 }; 875}; 876 877&ssi_port2 { 878 status = "disabled"; 879}; 880