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 450 tlv320aic3x_aux: tlv320aic3x@19 { 451 compatible = "ti,tlv320aic3x"; 452 reg = <0x19>; 453 gpio-reset = <&gpio2 28 GPIO_ACTIVE_HIGH>; /* 60 */ 454 455 AVDD-supply = <&vmmc2>; 456 DRVDD-supply = <&vmmc2>; 457 IOVDD-supply = <&vio>; 458 DVDD-supply = <&vio>; 459 }; 460 461 tsl2563: tsl2563@29 { 462 compatible = "amstaos,tsl2563"; 463 reg = <0x29>; 464 465 amstaos,cover-comp-gain = <16>; 466 }; 467 468 lp5523: lp5523@32 { 469 compatible = "national,lp5523"; 470 reg = <0x32>; 471 clock-mode = /bits/ 8 <0>; /* LP55XX_CLOCK_AUTO */ 472 enable-gpio = <&gpio2 9 GPIO_ACTIVE_HIGH>; /* 41 */ 473 474 chan0 { 475 chan-name = "lp5523:kb1"; 476 led-cur = /bits/ 8 <50>; 477 max-cur = /bits/ 8 <100>; 478 }; 479 480 chan1 { 481 chan-name = "lp5523:kb2"; 482 led-cur = /bits/ 8 <50>; 483 max-cur = /bits/ 8 <100>; 484 }; 485 486 chan2 { 487 chan-name = "lp5523:kb3"; 488 led-cur = /bits/ 8 <50>; 489 max-cur = /bits/ 8 <100>; 490 }; 491 492 chan3 { 493 chan-name = "lp5523:kb4"; 494 led-cur = /bits/ 8 <50>; 495 max-cur = /bits/ 8 <100>; 496 }; 497 498 chan4 { 499 chan-name = "lp5523:b"; 500 led-cur = /bits/ 8 <50>; 501 max-cur = /bits/ 8 <100>; 502 }; 503 504 chan5 { 505 chan-name = "lp5523:g"; 506 led-cur = /bits/ 8 <50>; 507 max-cur = /bits/ 8 <100>; 508 }; 509 510 chan6 { 511 chan-name = "lp5523:r"; 512 led-cur = /bits/ 8 <50>; 513 max-cur = /bits/ 8 <100>; 514 }; 515 516 chan7 { 517 chan-name = "lp5523:kb5"; 518 led-cur = /bits/ 8 <50>; 519 max-cur = /bits/ 8 <100>; 520 }; 521 522 chan8 { 523 chan-name = "lp5523:kb6"; 524 led-cur = /bits/ 8 <50>; 525 max-cur = /bits/ 8 <100>; 526 }; 527 }; 528 529 bq27200: bq27200@55 { 530 compatible = "ti,bq27200"; 531 reg = <0x55>; 532 }; 533 534 tpa6130a2: tpa6130a2@60 { 535 compatible = "ti,tpa6130a2"; 536 reg = <0x60>; 537 538 Vdd-supply = <&vmmc2>; 539 540 power-gpio = <&gpio4 2 GPIO_ACTIVE_HIGH>; /* 98 */ 541 }; 542 543 bq24150a: bq24150a@6b { 544 compatible = "ti,bq24150a"; 545 reg = <0x6b>; 546 547 ti,current-limit = <100>; 548 ti,weak-battery-voltage = <3400>; 549 ti,battery-regulation-voltage = <4200>; 550 ti,charge-current = <650>; 551 ti,termination-current = <100>; 552 ti,resistor-sense = <68>; 553 554 ti,usb-charger-detection = <&isp1704>; 555 }; 556}; 557 558&i2c3 { 559 pinctrl-names = "default"; 560 pinctrl-0 = <&i2c3_pins>; 561 562 clock-frequency = <400000>; 563}; 564 565&mmc1 { 566 pinctrl-names = "default"; 567 pinctrl-0 = <&mmc1_pins>; 568 vmmc-supply = <&vmmc1>; 569 bus-width = <4>; 570 cd-gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>; /* 160 */ 571}; 572 573/* most boards use vaux3, only some old versions use vmmc2 instead */ 574&mmc2 { 575 pinctrl-names = "default"; 576 pinctrl-0 = <&mmc2_pins>; 577 vmmc-supply = <&vaux3>; 578 vmmc_aux-supply = <&vsim>; 579 bus-width = <8>; 580 non-removable; 581}; 582 583&mmc3 { 584 status = "disabled"; 585}; 586 587&gpmc { 588 ranges = <0 0 0x04000000 0x10000000>; /* 256MB */ 589 ranges = <0 0 0x01000000 0x01000000>, /* 16 MB for OneNAND */ 590 <1 0 0x02000000 0x01000000>; /* 16 MB for smc91c96 */ 591 592 /* gpio-irq for dma: 65 */ 593 594 onenand@0,0 { 595 #address-cells = <1>; 596 #size-cells = <1>; 597 reg = <0 0 0x10000000>; 598 599 gpmc,sync-read; 600 gpmc,sync-write; 601 gpmc,burst-length = <16>; 602 gpmc,burst-read; 603 gpmc,burst-wrap; 604 gpmc,burst-write; 605 gpmc,device-width = <2>; /* GPMC_DEVWIDTH_16BIT */ 606 gpmc,mux-add-data = <2>; /* GPMC_MUX_AD */ 607 gpmc,cs-on-ns = <0>; 608 gpmc,cs-rd-off-ns = <87>; 609 gpmc,cs-wr-off-ns = <87>; 610 gpmc,adv-on-ns = <0>; 611 gpmc,adv-rd-off-ns = <10>; 612 gpmc,adv-wr-off-ns = <10>; 613 gpmc,oe-on-ns = <15>; 614 gpmc,oe-off-ns = <87>; 615 gpmc,we-on-ns = <0>; 616 gpmc,we-off-ns = <87>; 617 gpmc,rd-cycle-ns = <112>; 618 gpmc,wr-cycle-ns = <112>; 619 gpmc,access-ns = <81>; 620 gpmc,page-burst-access-ns = <15>; 621 gpmc,bus-turnaround-ns = <0>; 622 gpmc,cycle2cycle-delay-ns = <0>; 623 gpmc,wait-monitoring-ns = <0>; 624 gpmc,clk-activation-ns = <5>; 625 gpmc,wr-data-mux-bus-ns = <30>; 626 gpmc,wr-access-ns = <81>; 627 gpmc,sync-clk-ps = <15000>; 628 629 /* 630 * MTD partition table corresponding to Nokia's 631 * Maemo 5 (Fremantle) release. 632 */ 633 partition@0 { 634 label = "bootloader"; 635 reg = <0x00000000 0x00020000>; 636 read-only; 637 }; 638 partition@1 { 639 label = "config"; 640 reg = <0x00020000 0x00060000>; 641 }; 642 partition@2 { 643 label = "log"; 644 reg = <0x00080000 0x00040000>; 645 }; 646 partition@3 { 647 label = "kernel"; 648 reg = <0x000c0000 0x00200000>; 649 }; 650 partition@4 { 651 label = "initfs"; 652 reg = <0x002c0000 0x00200000>; 653 }; 654 partition@5 { 655 label = "rootfs"; 656 reg = <0x004c0000 0x0fb40000>; 657 }; 658 }; 659 660 ethernet@gpmc { 661 compatible = "smsc,lan91c94"; 662 663 status = "disabled"; 664 665 interrupt-parent = <&gpio2>; 666 interrupts = <22 IRQ_TYPE_LEVEL_HIGH>; /* gpio54 */ 667 reg = <1 0x300 0xf>; /* 16 byte IO range at offset 0x300 */ 668 bank-width = <2>; 669 pinctrl-names = "default"; 670 pinctrl-0 = <ðernet_pins>; 671 power-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>; /* gpio86 */ 672 reset-gpios = <&gpio6 4 GPIO_ACTIVE_HIGH>; /* gpio164 */ 673 gpmc,device-width = <2>; 674 gpmc,sync-clk-ps = <0>; 675 gpmc,cs-on-ns = <0>; 676 gpmc,cs-rd-off-ns = <48>; 677 gpmc,cs-wr-off-ns = <24>; 678 gpmc,adv-on-ns = <0>; 679 gpmc,adv-rd-off-ns = <0>; 680 gpmc,adv-wr-off-ns = <0>; 681 gpmc,we-on-ns = <12>; 682 gpmc,we-off-ns = <18>; 683 gpmc,oe-on-ns = <12>; 684 gpmc,oe-off-ns = <48>; 685 gpmc,page-burst-access-ns = <0>; 686 gpmc,access-ns = <42>; 687 gpmc,rd-cycle-ns = <180>; 688 gpmc,wr-cycle-ns = <180>; 689 gpmc,bus-turnaround-ns = <0>; 690 gpmc,cycle2cycle-delay-ns = <0>; 691 gpmc,wait-monitoring-ns = <0>; 692 gpmc,clk-activation-ns = <0>; 693 gpmc,wr-access-ns = <0>; 694 gpmc,wr-data-mux-bus-ns = <12>; 695 }; 696}; 697 698&mcspi1 { 699 /* 700 * For some reason, touchscreen is necessary for screen to work at 701 * all on real hw. It works well without it on emulator. 702 * 703 * Also... order in the device tree actually matters here. 704 */ 705 tsc2005@0 { 706 compatible = "ti,tsc2005"; 707 spi-max-frequency = <6000000>; 708 reg = <0>; 709 710 vio-supply = <&vio>; 711 712 reset-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* 104 */ 713 interrupts-extended = <&gpio4 4 IRQ_TYPE_EDGE_RISING>; /* 100 */ 714 715 touchscreen-fuzz-x = <4>; 716 touchscreen-fuzz-y = <7>; 717 touchscreen-fuzz-pressure = <2>; 718 touchscreen-max-x = <4096>; 719 touchscreen-max-y = <4096>; 720 touchscreen-max-pressure = <2048>; 721 722 ti,x-plate-ohms = <280>; 723 ti,esd-recovery-timeout-ms = <8000>; 724 }; 725 726 acx565akm@2 { 727 compatible = "sony,acx565akm"; 728 spi-max-frequency = <6000000>; 729 reg = <2>; 730 731 pinctrl-names = "default"; 732 pinctrl-0 = <&acx565akm_pins>; 733 734 label = "lcd"; 735 reset-gpios = <&gpio3 26 GPIO_ACTIVE_HIGH>; /* 90 */ 736 737 port { 738 lcd_in: endpoint { 739 remote-endpoint = <&sdi_out>; 740 }; 741 }; 742 }; 743}; 744 745&mcspi4 { 746 pinctrl-names = "default"; 747 pinctrl-0 = <&mcspi4_pins>; 748 749 wl1251@0 { 750 pinctrl-names = "default"; 751 pinctrl-0 = <&wl1251_pins>; 752 753 vio-supply = <&vio>; 754 755 compatible = "ti,wl1251"; 756 reg = <0>; 757 spi-max-frequency = <48000000>; 758 759 spi-cpol; 760 spi-cpha; 761 762 ti,power-gpio = <&gpio3 23 GPIO_ACTIVE_HIGH>; /* 87 */ 763 764 interrupt-parent = <&gpio2>; 765 interrupts = <10 IRQ_TYPE_NONE>; /* gpio line 42 */ 766 }; 767}; 768 769&usb_otg_hs { 770 interface-type = <0>; 771 usb-phy = <&usb2_phy>; 772 phys = <&usb2_phy>; 773 phy-names = "usb2-phy"; 774 mode = <2>; 775 power = <50>; 776}; 777 778&uart1 { 779 status = "disabled"; 780}; 781 782&uart2 { 783 interrupts-extended = <&intc 73 &omap3_pmx_core OMAP3_UART2_RX>; 784 pinctrl-names = "default"; 785 pinctrl-0 = <&uart2_pins>; 786}; 787 788&uart3 { 789 interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>; 790 pinctrl-names = "default"; 791 pinctrl-0 = <&uart3_pins>; 792}; 793 794&dss { 795 status = "ok"; 796 797 pinctrl-names = "default"; 798 pinctrl-0 = <&dss_sdi_pins>; 799 800 vdds_sdi-supply = <&vaux1>; 801 802 ports { 803 #address-cells = <1>; 804 #size-cells = <0>; 805 806 port@1 { 807 reg = <1>; 808 809 sdi_out: endpoint { 810 remote-endpoint = <&lcd_in>; 811 datapairs = <2>; 812 }; 813 }; 814 }; 815}; 816 817&venc { 818 status = "ok"; 819 820 vdda-supply = <&vdac>; 821 822 port { 823 venc_out: endpoint { 824 remote-endpoint = <&tv_connector_in>; 825 ti,channels = <1>; 826 }; 827 }; 828}; 829 830&mcbsp2 { 831 status = "ok"; 832}; 833 834&ssi_port1 { 835 pinctrl-names = "default"; 836 pinctrl-0 = <&ssi_pins>; 837 838 ti,ssi-cawake-gpio = <&gpio5 23 GPIO_ACTIVE_HIGH>; /* 151 */ 839 840 modem: hsi-client { 841 compatible = "nokia,n900-modem"; 842 843 pinctrl-names = "default"; 844 pinctrl-0 = <&modem_pins>; 845 846 hsi-channel-ids = <0>, <1>, <2>, <3>; 847 hsi-channel-names = "mcsaab-control", 848 "speech-control", 849 "speech-data", 850 "mcsaab-data"; 851 hsi-speed-kbps = <55000>; 852 hsi-mode = "frame"; 853 hsi-flow = "synchronized"; 854 hsi-arb-mode = "round-robin"; 855 856 interrupts-extended = <&gpio3 8 IRQ_TYPE_EDGE_FALLING>; /* 72 */ 857 858 gpios = <&gpio3 6 GPIO_ACTIVE_HIGH>, /* 70 */ 859 <&gpio3 9 GPIO_ACTIVE_HIGH>, /* 73 */ 860 <&gpio3 10 GPIO_ACTIVE_HIGH>, /* 74 */ 861 <&gpio3 11 GPIO_ACTIVE_HIGH>, /* 75 */ 862 <&gpio5 29 GPIO_ACTIVE_HIGH>; /* 157 */ 863 gpio-names = "cmt_apeslpx", 864 "cmt_rst_rq", 865 "cmt_en", 866 "cmt_rst", 867 "cmt_bsi"; 868 }; 869}; 870 871&ssi_port2 { 872 status = "disabled"; 873}; 874