1/* 2 * SAMSUNG Snow board device tree source 3 * 4 * Copyright (c) 2012 Samsung Electronics Co., Ltd. 5 * http://www.samsung.com 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/dts-v1/; 13#include <dt-bindings/gpio/gpio.h> 14#include <dt-bindings/interrupt-controller/irq.h> 15#include <dt-bindings/input/input.h> 16#include "exynos5250.dtsi" 17 18/ { 19 model = "Google Snow"; 20 compatible = "google,snow", "samsung,exynos5250", "samsung,exynos5"; 21 22 aliases { 23 i2c0 = "/i2c@12C60000"; 24 i2c1 = "/i2c@12C70000"; 25 i2c2 = "/i2c@12C80000"; 26 i2c3 = "/i2c@12C90000"; 27 i2c4 = "/i2c@12CA0000"; 28 i2c104 = &i2c_104; 29 i2c5 = "/i2c@12CB0000"; 30 i2c6 = "/i2c@12CC0000"; 31 i2c7 = "/i2c@12CD0000"; 32 spi0 = "/spi@12d20000"; 33 spi1 = "/spi@12d30000"; 34 spi2 = "/spi@12d40000"; 35 spi3 = "/spi@131a0000"; 36 spi4 = "/spi@131b0000"; 37 mmc0 = "/mmc@12200000"; 38 mmc1 = "/mmc@12210000"; 39 mmc2 = "/mmc@12220000"; 40 mmc3 = "/mmc@12230000"; 41 serial0 = "/serial@12C30000"; 42 console = "/serial@12C30000"; 43 i2s = "/sound@3830000"; 44 }; 45 46 memory { 47 reg = <0x40000000 0x80000000>; 48 }; 49 50 chosen { 51 bootargs = "console=tty1"; 52 stdout-path = "serial3:115200n8"; 53 }; 54 55 iram { 56 reg = <0x02020000 0x60000>; 57 }; 58 59 config { 60 samsung,bl1-offset = <0x1400>; 61 samsung,bl2-offset = <0x3400>; 62 u-boot-memory = "/memory"; 63 u-boot-offset = <0x3e00000 0x100000>; 64 }; 65 66 flash { 67 reg = <0 0x100000>; 68 #address-cells = <1>; 69 #size-cells = <1>; 70 pre-boot { 71 label = "bl1 pre-boot"; 72 reg = <0 0x2000>; 73 read-only; 74 filename = "e5250.nbl1.bin"; 75 type = "blob exynos-bl1"; 76 required; 77 }; 78 79 spl { 80 label = "bl2 spl"; 81 reg = <0x2000 0x4000>; 82 read-only; 83 filename = "bl2.bin"; 84 type = "blob exynos-bl2 boot,dtb"; 85 payload = "/flash/ro-boot"; 86 required; 87 }; 88 89 ro-boot { 90 label = "u-boot"; 91 reg = <0x6000 0x9a000>; 92 read-only; 93 type = "blob boot,dtb"; 94 required; 95 }; 96 }; 97 98 i2c-arbitrator { 99 compatible = "i2c-arb-gpio-challenge"; 100 #address-cells = <1>; 101 #size-cells = <0>; 102 103 i2c-parent = <&{/i2c@12CA0000}>; 104 105 our-claim-gpio = <&gpf0 3 GPIO_ACTIVE_LOW>; 106 their-claim-gpios = <&gpe0 4 GPIO_ACTIVE_LOW>; 107 slew-delay-us = <10>; 108 wait-retry-us = <3000>; 109 wait-free-us = <50000>; 110 111 /* Use ID 104 as a hint that we're on physical bus 4 */ 112 i2c_104: i2c@0 { 113 reg = <0>; 114 #address-cells = <1>; 115 #size-cells = <0>; 116 117 battery: sbs-battery@b { 118 compatible = "sbs,sbs-battery"; 119 reg = <0xb>; 120 sbs,poll-retry-count = <1>; 121 }; 122 123 cros_ec: embedded-controller { 124 compatible = "google,cros-ec-i2c"; 125 reg = <0x1e>; 126 interrupts = <6 IRQ_TYPE_NONE>; 127 interrupt-parent = <&gpx1>; 128 wakeup-source; 129 i2c-max-frequency = <100000>; 130 u-boot,i2c-offset-len = <0>; 131 ec-interrupt = <&gpx1 6 GPIO_ACTIVE_LOW>; 132 }; 133 134 power-regulator { 135 compatible = "ti,tps65090"; 136 reg = <0x48>; 137 138 regulators { 139 dcdc1 { 140 ti,enable-ext-control; 141 }; 142 dcdc2 { 143 ti,enable-ext-control; 144 }; 145 dcdc3 { 146 ti,enable-ext-control; 147 }; 148 fet1: fet1 { 149 regulator-name = "vcd_led"; 150 ti,overcurrent-wait = <3>; 151 }; 152 tps65090_fet2: fet2 { 153 regulator-name = "video_mid"; 154 regulator-always-on; 155 ti,overcurrent-wait = <3>; 156 }; 157 fet3 { 158 regulator-name = "wwan_r"; 159 regulator-always-on; 160 ti,overcurrent-wait = <3>; 161 }; 162 fet4 { 163 regulator-name = "sdcard"; 164 ti,overcurrent-wait = <3>; 165 }; 166 fet5 { 167 regulator-name = "camout"; 168 regulator-always-on; 169 ti,overcurrent-wait = <3>; 170 }; 171 fet6: fet6 { 172 regulator-name = "lcd_vdd"; 173 ti,overcurrent-wait = <3>; 174 }; 175 tps65090_fet7: fet7 { 176 regulator-name = "video_mid_1a"; 177 regulator-always-on; 178 ti,overcurrent-wait = <3>; 179 }; 180 ldo1 { 181 }; 182 ldo2 { 183 }; 184 }; 185 186 charger { 187 compatible = "ti,tps65090-charger"; 188 }; 189 }; 190 }; 191 }; 192 193 i2c@12CD0000 { 194 ptn3460: lvds-bridge@20 { 195 compatible = "nxp,ptn3460"; 196 reg = <0x20>; 197 sleep-gpios = <&gpy2 5 GPIO_ACTIVE_LOW>; 198 reset-gpios = <&gpx1 5 GPIO_ACTIVE_LOW>; 199 hotplug-gpios = <&gpx0 7 GPIO_ACTIVE_HIGH>; 200 edid-emulation = <5>; 201 }; 202 203 soundcodec@22 { 204 reg = <0x22>; 205 compatible = "maxim,max98095-codec"; 206 }; 207 }; 208 209 spi@12d30000 { 210 spi-max-frequency = <50000000>; 211 firmware_storage_spi: flash@0 { 212 compatible = "spi-flash"; 213 reg = <0>; 214 }; 215 }; 216 217 spi@131b0000 { 218 spi-max-frequency = <1000000>; 219 spi-deactivate-delay = <100>; 220 221 /* Snow did support SPI but the released version used I2C */ 222 embedded-controller { 223 compatible = "google,cros-ec-i2c"; 224 reg = <0x1e>; 225 spi-max-frequency = <5000000>; 226 ec-interrupt = <&gpx1 6 GPIO_ACTIVE_LOW>; 227 optimise-flash-write; 228 status = "disabled"; 229 }; 230 }; 231 232 sound@3830000 { 233 samsung,codec-type = "max98095"; 234 codec-enable-gpio = <&gpx1 7 GPIO_ACTIVE_HIGH>; 235 }; 236 237 sound@12d60000 { 238 status = "disabled"; 239 }; 240 241 i2c@12C60000 { 242 max77686@09 { 243 reg = <0x9>; 244 compatible = "maxim,max77686"; 245 }; 246 }; 247 248 mmc@12200000 { 249 samsung,bus-width = <8>; 250 samsung,timing = <1 3 3>; 251 samsung,removable = <0>; 252 }; 253 254 mmc@12210000 { 255 status = "disabled"; 256 }; 257 258 mmc@12220000 { 259 samsung,bus-width = <4>; 260 samsung,timing = <1 2 3>; 261 samsung,removable = <1>; 262 }; 263 264 mmc@12230000 { 265 status = "disabled"; 266 }; 267 268 ehci@12110000 { 269 samsung,vbus-gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>; 270 status = "okay"; 271 }; 272 273 xhci@12000000 { 274 samsung,vbus-gpio = <&gpx2 7 GPIO_ACTIVE_HIGH>; 275 }; 276 277 tmu@10060000 { 278 samsung,min-temp = <25>; 279 samsung,max-temp = <125>; 280 samsung,start-warning = <95>; 281 samsung,start-tripping = <105>; 282 samsung,hw-tripping = <110>; 283 samsung,efuse-min-value = <40>; 284 samsung,efuse-value = <55>; 285 samsung,efuse-max-value = <100>; 286 samsung,slope = <274761730>; 287 samsung,dc-value = <25>; 288 }; 289 290 fimd@14400000 { 291 samsung,vl-freq = <60>; 292 samsung,vl-col = <1366>; 293 samsung,vl-row = <768>; 294 samsung,vl-width = <1366>; 295 samsung,vl-height = <768>; 296 297 samsung,vl-clkp; 298 samsung,vl-dp; 299 samsung,vl-hsp; 300 samsung,vl-vsp; 301 302 samsung,vl-bpix = <4>; 303 304 samsung,vl-hspw = <32>; 305 samsung,vl-hbpd = <80>; 306 samsung,vl-hfpd = <48>; 307 samsung,vl-vspw = <5>; 308 samsung,vl-vbpd = <14>; 309 samsung,vl-vfpd = <3>; 310 samsung,vl-cmd-allow-len = <0xf>; 311 312 samsung,winid = <0>; 313 samsung,interface-mode = <1>; 314 samsung,dp-enabled = <1>; 315 samsung,dual-lcd-enabled = <0>; 316 }; 317 318 dp@145b0000 { 319 samsung,lt-status = <0>; 320 321 samsung,master-mode = <0>; 322 samsung,bist-mode = <0>; 323 samsung,bist-pattern = <0>; 324 samsung,h-sync-polarity = <0>; 325 samsung,v-sync-polarity = <0>; 326 samsung,interlaced = <0>; 327 samsung,color-space = <0>; 328 samsung,dynamic-range = <0>; 329 samsung,ycbcr-coeff = <0>; 330 samsung,color-depth = <1>; 331 }; 332 333}; 334 335&i2c_0 { 336 status = "okay"; 337 samsung,i2c-sda-delay = <100>; 338 samsung,i2c-max-bus-freq = <378000>; 339 340 max77686: max77686@09 { 341 compatible = "maxim,max77686"; 342 interrupt-parent = <&gpx3>; 343 interrupts = <2 IRQ_TYPE_NONE>; 344 wakeup-source; 345 reg = <0x09>; 346 #clock-cells = <1>; 347 348 voltage-regulators { 349 ldo1_reg: LDO1 { 350 regulator-name = "P1.0V_LDO_OUT1"; 351 regulator-min-microvolt = <1000000>; 352 regulator-max-microvolt = <1000000>; 353 regulator-always-on; 354 }; 355 356 ldo2_reg: LDO2 { 357 regulator-name = "P1.8V_LDO_OUT2"; 358 regulator-min-microvolt = <1800000>; 359 regulator-max-microvolt = <1800000>; 360 regulator-always-on; 361 }; 362 363 ldo3_reg: LDO3 { 364 regulator-name = "P1.8V_LDO_OUT3"; 365 regulator-min-microvolt = <1800000>; 366 regulator-max-microvolt = <1800000>; 367 regulator-always-on; 368 }; 369 370 ldo7_reg: LDO7 { 371 regulator-name = "P1.1V_LDO_OUT7"; 372 regulator-min-microvolt = <1100000>; 373 regulator-max-microvolt = <1100000>; 374 regulator-always-on; 375 }; 376 377 ldo8_reg: LDO8 { 378 regulator-name = "P1.0V_LDO_OUT8"; 379 regulator-min-microvolt = <1000000>; 380 regulator-max-microvolt = <1000000>; 381 regulator-always-on; 382 }; 383 384 ldo10_reg: LDO10 { 385 regulator-name = "P1.8V_LDO_OUT10"; 386 regulator-min-microvolt = <1800000>; 387 regulator-max-microvolt = <1800000>; 388 regulator-always-on; 389 }; 390 391 ldo12_reg: LDO12 { 392 regulator-name = "P3.0V_LDO_OUT12"; 393 regulator-min-microvolt = <3000000>; 394 regulator-max-microvolt = <3000000>; 395 regulator-always-on; 396 }; 397 398 ldo14_reg: LDO14 { 399 regulator-name = "P1.8V_LDO_OUT14"; 400 regulator-min-microvolt = <1800000>; 401 regulator-max-microvolt = <1800000>; 402 regulator-always-on; 403 }; 404 405 ldo15_reg: LDO15 { 406 regulator-name = "P1.0V_LDO_OUT15"; 407 regulator-min-microvolt = <1000000>; 408 regulator-max-microvolt = <1000000>; 409 regulator-always-on; 410 }; 411 412 ldo16_reg: LDO16 { 413 regulator-name = "P1.8V_LDO_OUT16"; 414 regulator-min-microvolt = <1800000>; 415 regulator-max-microvolt = <1800000>; 416 regulator-always-on; 417 }; 418 419 ldo17_reg: LDO17 { 420 regulator-name = "vdd_mydp"; 421 regulator-min-microvolt = <1200000>; 422 regulator-max-microvolt = <1200000>; 423 }; 424 425 buck1_reg: BUCK1 { 426 regulator-name = "vdd_mif"; 427 regulator-min-microvolt = <950000>; 428 regulator-max-microvolt = <1300000>; 429 regulator-always-on; 430 regulator-boot-on; 431 }; 432 433 buck2_reg: BUCK2 { 434 regulator-name = "vdd_arm"; 435 regulator-min-microvolt = <850000>; 436 regulator-max-microvolt = <1350000>; 437 regulator-always-on; 438 regulator-boot-on; 439 }; 440 441 buck3_reg: BUCK3 { 442 regulator-name = "vdd_int"; 443 regulator-min-microvolt = <900000>; 444 regulator-max-microvolt = <1200000>; 445 regulator-always-on; 446 regulator-boot-on; 447 }; 448 449 buck4_reg: BUCK4 { 450 regulator-name = "vdd_g3d"; 451 regulator-min-microvolt = <850000>; 452 regulator-max-microvolt = <1300000>; 453 regulator-always-on; 454 regulator-boot-on; 455 }; 456 457 buck5_reg: BUCK5 { 458 regulator-name = "P1.8V_BUCK_OUT5"; 459 regulator-min-microvolt = <1800000>; 460 regulator-max-microvolt = <1800000>; 461 regulator-always-on; 462 regulator-boot-on; 463 }; 464 465 buck6_reg: BUCK6 { 466 regulator-name = "P1.35V_BUCK_OUT6"; 467 regulator-min-microvolt = <1350000>; 468 regulator-max-microvolt = <1350000>; 469 regulator-always-on; 470 }; 471 472 buck7_reg: BUCK7 { 473 regulator-name = "P2.0V_BUCK_OUT7"; 474 regulator-min-microvolt = <2000000>; 475 regulator-max-microvolt = <2000000>; 476 regulator-always-on; 477 }; 478 479 buck8_reg: BUCK8 { 480 regulator-name = "P2.85V_BUCK_OUT8"; 481 regulator-min-microvolt = <2850000>; 482 regulator-max-microvolt = <2850000>; 483 regulator-always-on; 484 }; 485 }; 486 }; 487}; 488 489#include "cros-ec-keyboard.dtsi" 490