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