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 i2c@12C90000 { 210 clock-frequency = <100000>; 211 tpm@20 { 212 reg = <0x20>; 213 u-boot,i2c-offset-len = <0>; 214 compatible = "infineon,slb9635tt"; 215 }; 216 }; 217 218 spi@12d30000 { 219 spi-max-frequency = <50000000>; 220 firmware_storage_spi: flash@0 { 221 compatible = "spi-flash"; 222 reg = <0>; 223 }; 224 }; 225 226 spi@131b0000 { 227 spi-max-frequency = <1000000>; 228 spi-deactivate-delay = <100>; 229 230 /* Snow did support SPI but the released version used I2C */ 231 embedded-controller { 232 compatible = "google,cros-ec-i2c"; 233 reg = <0x1e>; 234 spi-max-frequency = <5000000>; 235 ec-interrupt = <&gpx1 6 GPIO_ACTIVE_LOW>; 236 optimise-flash-write; 237 status = "disabled"; 238 }; 239 }; 240 241 sound@3830000 { 242 samsung,codec-type = "max98095"; 243 codec-enable-gpio = <&gpx1 7 GPIO_ACTIVE_HIGH>; 244 }; 245 246 sound@12d60000 { 247 status = "disabled"; 248 }; 249 250 i2c@12C60000 { 251 max77686@09 { 252 reg = <0x9>; 253 compatible = "maxim,max77686"; 254 }; 255 }; 256 257 mmc@12200000 { 258 samsung,bus-width = <8>; 259 samsung,timing = <1 3 3>; 260 samsung,removable = <0>; 261 }; 262 263 mmc@12210000 { 264 status = "disabled"; 265 }; 266 267 mmc@12220000 { 268 samsung,bus-width = <4>; 269 samsung,timing = <1 2 3>; 270 samsung,removable = <1>; 271 }; 272 273 mmc@12230000 { 274 status = "disabled"; 275 }; 276 277 ehci@12110000 { 278 samsung,vbus-gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>; 279 status = "okay"; 280 }; 281 282 xhci@12000000 { 283 samsung,vbus-gpio = <&gpx2 7 GPIO_ACTIVE_HIGH>; 284 }; 285 286 tmu@10060000 { 287 samsung,min-temp = <25>; 288 samsung,max-temp = <125>; 289 samsung,start-warning = <95>; 290 samsung,start-tripping = <105>; 291 samsung,hw-tripping = <110>; 292 samsung,efuse-min-value = <40>; 293 samsung,efuse-value = <55>; 294 samsung,efuse-max-value = <100>; 295 samsung,slope = <274761730>; 296 samsung,dc-value = <25>; 297 }; 298 299 fimd@14400000 { 300 samsung,vl-freq = <60>; 301 samsung,vl-col = <1366>; 302 samsung,vl-row = <768>; 303 samsung,vl-width = <1366>; 304 samsung,vl-height = <768>; 305 306 samsung,vl-clkp; 307 samsung,vl-dp; 308 samsung,vl-hsp; 309 samsung,vl-vsp; 310 311 samsung,vl-bpix = <4>; 312 313 samsung,vl-hspw = <32>; 314 samsung,vl-hbpd = <80>; 315 samsung,vl-hfpd = <48>; 316 samsung,vl-vspw = <5>; 317 samsung,vl-vbpd = <14>; 318 samsung,vl-vfpd = <3>; 319 samsung,vl-cmd-allow-len = <0xf>; 320 321 samsung,winid = <0>; 322 samsung,interface-mode = <1>; 323 samsung,dp-enabled = <1>; 324 samsung,dual-lcd-enabled = <0>; 325 }; 326 327 dp@145b0000 { 328 samsung,lt-status = <0>; 329 330 samsung,master-mode = <0>; 331 samsung,bist-mode = <0>; 332 samsung,bist-pattern = <0>; 333 samsung,h-sync-polarity = <0>; 334 samsung,v-sync-polarity = <0>; 335 samsung,interlaced = <0>; 336 samsung,color-space = <0>; 337 samsung,dynamic-range = <0>; 338 samsung,ycbcr-coeff = <0>; 339 samsung,color-depth = <1>; 340 }; 341 342}; 343 344&i2c_0 { 345 status = "okay"; 346 samsung,i2c-sda-delay = <100>; 347 samsung,i2c-max-bus-freq = <378000>; 348 349 max77686: max77686@09 { 350 compatible = "maxim,max77686"; 351 interrupt-parent = <&gpx3>; 352 interrupts = <2 IRQ_TYPE_NONE>; 353 wakeup-source; 354 reg = <0x09>; 355 #clock-cells = <1>; 356 357 voltage-regulators { 358 ldo1_reg: LDO1 { 359 regulator-name = "P1.0V_LDO_OUT1"; 360 regulator-min-microvolt = <1000000>; 361 regulator-max-microvolt = <1000000>; 362 regulator-always-on; 363 }; 364 365 ldo2_reg: LDO2 { 366 regulator-name = "P1.8V_LDO_OUT2"; 367 regulator-min-microvolt = <1800000>; 368 regulator-max-microvolt = <1800000>; 369 regulator-always-on; 370 }; 371 372 ldo3_reg: LDO3 { 373 regulator-name = "P1.8V_LDO_OUT3"; 374 regulator-min-microvolt = <1800000>; 375 regulator-max-microvolt = <1800000>; 376 regulator-always-on; 377 }; 378 379 ldo7_reg: LDO7 { 380 regulator-name = "P1.1V_LDO_OUT7"; 381 regulator-min-microvolt = <1100000>; 382 regulator-max-microvolt = <1100000>; 383 regulator-always-on; 384 }; 385 386 ldo8_reg: LDO8 { 387 regulator-name = "P1.0V_LDO_OUT8"; 388 regulator-min-microvolt = <1000000>; 389 regulator-max-microvolt = <1000000>; 390 regulator-always-on; 391 }; 392 393 ldo10_reg: LDO10 { 394 regulator-name = "P1.8V_LDO_OUT10"; 395 regulator-min-microvolt = <1800000>; 396 regulator-max-microvolt = <1800000>; 397 regulator-always-on; 398 }; 399 400 ldo12_reg: LDO12 { 401 regulator-name = "P3.0V_LDO_OUT12"; 402 regulator-min-microvolt = <3000000>; 403 regulator-max-microvolt = <3000000>; 404 regulator-always-on; 405 }; 406 407 ldo14_reg: LDO14 { 408 regulator-name = "P1.8V_LDO_OUT14"; 409 regulator-min-microvolt = <1800000>; 410 regulator-max-microvolt = <1800000>; 411 regulator-always-on; 412 }; 413 414 ldo15_reg: LDO15 { 415 regulator-name = "P1.0V_LDO_OUT15"; 416 regulator-min-microvolt = <1000000>; 417 regulator-max-microvolt = <1000000>; 418 regulator-always-on; 419 }; 420 421 ldo16_reg: LDO16 { 422 regulator-name = "P1.8V_LDO_OUT16"; 423 regulator-min-microvolt = <1800000>; 424 regulator-max-microvolt = <1800000>; 425 regulator-always-on; 426 }; 427 428 ldo17_reg: LDO17 { 429 regulator-name = "vdd_mydp"; 430 regulator-min-microvolt = <1200000>; 431 regulator-max-microvolt = <1200000>; 432 }; 433 434 buck1_reg: BUCK1 { 435 regulator-name = "vdd_mif"; 436 regulator-min-microvolt = <950000>; 437 regulator-max-microvolt = <1300000>; 438 regulator-always-on; 439 regulator-boot-on; 440 }; 441 442 buck2_reg: BUCK2 { 443 regulator-name = "vdd_arm"; 444 regulator-min-microvolt = <850000>; 445 regulator-max-microvolt = <1350000>; 446 regulator-always-on; 447 regulator-boot-on; 448 }; 449 450 buck3_reg: BUCK3 { 451 regulator-name = "vdd_int"; 452 regulator-min-microvolt = <900000>; 453 regulator-max-microvolt = <1200000>; 454 regulator-always-on; 455 regulator-boot-on; 456 }; 457 458 buck4_reg: BUCK4 { 459 regulator-name = "vdd_g3d"; 460 regulator-min-microvolt = <850000>; 461 regulator-max-microvolt = <1300000>; 462 regulator-always-on; 463 regulator-boot-on; 464 }; 465 466 buck5_reg: BUCK5 { 467 regulator-name = "P1.8V_BUCK_OUT5"; 468 regulator-min-microvolt = <1800000>; 469 regulator-max-microvolt = <1800000>; 470 regulator-always-on; 471 regulator-boot-on; 472 }; 473 474 buck6_reg: BUCK6 { 475 regulator-name = "P1.35V_BUCK_OUT6"; 476 regulator-min-microvolt = <1350000>; 477 regulator-max-microvolt = <1350000>; 478 regulator-always-on; 479 }; 480 481 buck7_reg: BUCK7 { 482 regulator-name = "P2.0V_BUCK_OUT7"; 483 regulator-min-microvolt = <2000000>; 484 regulator-max-microvolt = <2000000>; 485 regulator-always-on; 486 }; 487 488 buck8_reg: BUCK8 { 489 regulator-name = "P2.85V_BUCK_OUT8"; 490 regulator-min-microvolt = <2850000>; 491 regulator-max-microvolt = <2850000>; 492 regulator-always-on; 493 }; 494 }; 495 }; 496}; 497 498#include "cros-ec-keyboard.dtsi" 499