1/* 2 * Samsung's Exynos4210 based Universal C210 board device tree source 3 * 4 * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd. 5 * http://www.samsung.com 6 * 7 * Device tree source file for Samsung's Universal C210 board which is based on 8 * Samsung's Exynos4210 rev0 SoC. 9 * 10 * This program is free software; you can redistribute it and/or modify 11 * it under the terms of the GNU General Public License version 2 as 12 * published by the Free Software Foundation. 13*/ 14 15/dts-v1/; 16#include "exynos4210.dtsi" 17#include <dt-bindings/gpio/gpio.h> 18 19/ { 20 model = "Samsung Universal C210 based on Exynos4210 rev0"; 21 compatible = "samsung,universal_c210", "samsung,exynos4210", "samsung,exynos4"; 22 23 memory@40000000 { 24 device_type = "memory"; 25 reg = <0x40000000 0x10000000 26 0x50000000 0x10000000>; 27 }; 28 29 chosen { 30 bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p5 rw rootwait earlyprintk panic=5 maxcpus=1"; 31 stdout-path = &serial_2; 32 }; 33 34 sysram@02020000 { 35 smp-sysram@0 { 36 status = "disabled"; 37 }; 38 39 smp-sysram@5000 { 40 compatible = "samsung,exynos4210-sysram"; 41 reg = <0x5000 0x1000>; 42 }; 43 44 smp-sysram@1f000 { 45 status = "disabled"; 46 }; 47 }; 48 49 mct@10050000 { 50 compatible = "none"; 51 }; 52 53 fixed-rate-clocks { 54 xxti { 55 compatible = "samsung,clock-xxti"; 56 clock-frequency = <0>; 57 }; 58 59 xusbxti { 60 compatible = "samsung,clock-xusbxti"; 61 clock-frequency = <24000000>; 62 }; 63 }; 64 65 vemmc_reg: voltage-regulator { 66 compatible = "regulator-fixed"; 67 regulator-name = "VMEM_VDD_2_8V"; 68 regulator-min-microvolt = <2800000>; 69 regulator-max-microvolt = <2800000>; 70 gpio = <&gpe1 3 GPIO_ACTIVE_HIGH>; 71 enable-active-high; 72 }; 73 74 gpio-keys { 75 compatible = "gpio-keys"; 76 77 vol-up-key { 78 gpios = <&gpx2 0 GPIO_ACTIVE_LOW>; 79 linux,code = <115>; 80 label = "volume up"; 81 debounce-interval = <1>; 82 }; 83 84 vol-down-key { 85 gpios = <&gpx2 1 GPIO_ACTIVE_LOW>; 86 linux,code = <114>; 87 label = "volume down"; 88 debounce-interval = <1>; 89 }; 90 91 config-key { 92 gpios = <&gpx2 2 GPIO_ACTIVE_LOW>; 93 linux,code = <171>; 94 label = "config"; 95 debounce-interval = <1>; 96 wakeup-source; 97 }; 98 99 camera-key { 100 gpios = <&gpx2 3 GPIO_ACTIVE_LOW>; 101 linux,code = <212>; 102 label = "camera"; 103 debounce-interval = <1>; 104 }; 105 106 power-key { 107 gpios = <&gpx2 7 GPIO_ACTIVE_LOW>; 108 linux,code = <116>; 109 label = "power"; 110 debounce-interval = <1>; 111 wakeup-source; 112 }; 113 114 ok-key { 115 gpios = <&gpx3 5 GPIO_ACTIVE_LOW>; 116 linux,code = <352>; 117 label = "ok"; 118 debounce-interval = <1>; 119 }; 120 }; 121 122 tsp_reg: voltage-regulator { 123 compatible = "regulator-fixed"; 124 regulator-name = "TSP_2_8V"; 125 regulator-min-microvolt = <2800000>; 126 regulator-max-microvolt = <2800000>; 127 gpio = <&gpe2 3 GPIO_ACTIVE_HIGH>; 128 enable-active-high; 129 }; 130 131 spi-lcd { 132 compatible = "spi-gpio"; 133 #address-cells = <1>; 134 #size-cells = <0>; 135 136 gpio-sck = <&gpy3 1 GPIO_ACTIVE_HIGH>; 137 gpio-mosi = <&gpy3 3 GPIO_ACTIVE_HIGH>; 138 num-chipselects = <1>; 139 cs-gpios = <&gpy4 3 GPIO_ACTIVE_HIGH>; 140 141 lcd@0 { 142 compatible = "samsung,ld9040"; 143 reg = <0>; 144 vdd3-supply = <&ldo7_reg>; 145 vci-supply = <&ldo17_reg>; 146 reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>; 147 spi-max-frequency = <1200000>; 148 spi-cpol; 149 spi-cpha; 150 power-on-delay = <10>; 151 reset-delay = <10>; 152 panel-width-mm = <90>; 153 panel-height-mm = <154>; 154 display-timings { 155 timing { 156 clock-frequency = <23492370>; 157 hactive = <480>; 158 vactive = <800>; 159 hback-porch = <16>; 160 hfront-porch = <16>; 161 vback-porch = <2>; 162 vfront-porch = <28>; 163 hsync-len = <2>; 164 vsync-len = <1>; 165 hsync-active = <0>; 166 vsync-active = <0>; 167 de-active = <0>; 168 pixelclk-active = <0>; 169 }; 170 }; 171 port { 172 lcd_ep: endpoint { 173 remote-endpoint = <&fimd_dpi_ep>; 174 }; 175 }; 176 }; 177 }; 178 179 camera { 180 status = "okay"; 181 182 pinctrl-names = "default"; 183 pinctrl-0 = <>; 184 185 fimc_0: fimc@11800000 { 186 status = "okay"; 187 assigned-clocks = <&clock CLK_MOUT_FIMC0>, 188 <&clock CLK_SCLK_FIMC0>; 189 assigned-clock-parents = <&clock CLK_SCLK_MPLL>; 190 assigned-clock-rates = <0>, <160000000>; 191 }; 192 193 fimc_1: fimc@11810000 { 194 status = "okay"; 195 assigned-clocks = <&clock CLK_MOUT_FIMC1>, 196 <&clock CLK_SCLK_FIMC1>; 197 assigned-clock-parents = <&clock CLK_SCLK_MPLL>; 198 assigned-clock-rates = <0>, <160000000>; 199 }; 200 201 fimc_2: fimc@11820000 { 202 status = "okay"; 203 assigned-clocks = <&clock CLK_MOUT_FIMC2>, 204 <&clock CLK_SCLK_FIMC2>; 205 assigned-clock-parents = <&clock CLK_SCLK_MPLL>; 206 assigned-clock-rates = <0>, <160000000>; 207 }; 208 209 fimc_3: fimc@11830000 { 210 status = "okay"; 211 assigned-clocks = <&clock CLK_MOUT_FIMC3>, 212 <&clock CLK_SCLK_FIMC3>; 213 assigned-clock-parents = <&clock CLK_SCLK_MPLL>; 214 assigned-clock-rates = <0>, <160000000>; 215 }; 216 }; 217 218 hdmi_en: voltage-regulator-hdmi-5v { 219 compatible = "regulator-fixed"; 220 regulator-name = "HDMI_5V"; 221 regulator-min-microvolt = <5000000>; 222 regulator-max-microvolt = <5000000>; 223 gpio = <&gpe0 1 GPIO_ACTIVE_HIGH>; 224 enable-active-high; 225 }; 226 227 hdmi_ddc: i2c-ddc { 228 compatible = "i2c-gpio"; 229 gpios = <&gpe4 2 GPIO_ACTIVE_HIGH &gpe4 3 GPIO_ACTIVE_HIGH>; 230 i2c-gpio,delay-us = <100>; 231 #address-cells = <1>; 232 #size-cells = <0>; 233 234 pinctrl-0 = <&i2c_ddc_bus>; 235 pinctrl-names = "default"; 236 status = "okay"; 237 }; 238}; 239 240&cpu0 { 241 cpu0-supply = <&vdd_arm_reg>; 242}; 243 244&ehci { 245 status = "okay"; 246 port@0 { 247 status = "okay"; 248 }; 249}; 250 251&exynos_usbphy { 252 status = "okay"; 253 vbus-supply = <&safeout1_reg>; 254}; 255 256&fimd { 257 pinctrl-0 = <&lcd_clk>, <&lcd_data24>; 258 pinctrl-names = "default"; 259 status = "okay"; 260 samsung,invert-vden; 261 samsung,invert-vclk; 262 #address-cells = <1>; 263 #size-cells = <0>; 264 port@3 { 265 reg = <3>; 266 fimd_dpi_ep: endpoint { 267 remote-endpoint = <&lcd_ep>; 268 }; 269 }; 270}; 271 272&hdmi { 273 hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>; 274 pinctrl-names = "default"; 275 pinctrl-0 = <&hdmi_hpd>; 276 hdmi-en-supply = <&hdmi_en>; 277 vdd-supply = <&ldo3_reg>; 278 vdd_osc-supply = <&ldo4_reg>; 279 vdd_pll-supply = <&ldo3_reg>; 280 ddc = <&hdmi_ddc>; 281 status = "okay"; 282}; 283 284&hsotg { 285 vusb_d-supply = <&ldo3_reg>; 286 vusb_a-supply = <&ldo8_reg>; 287 dr_mode = "peripheral"; 288 status = "okay"; 289}; 290 291&i2c_3 { 292 samsung,i2c-sda-delay = <100>; 293 samsung,i2c-slave-addr = <0x10>; 294 samsung,i2c-max-bus-freq = <100000>; 295 pinctrl-0 = <&i2c3_bus>; 296 pinctrl-names = "default"; 297 status = "okay"; 298 299 tsp@4a { 300 /* TBD: Atmel maXtouch touchscreen */ 301 reg = <0x4a>; 302 }; 303}; 304 305&i2c_5 { 306 samsung,i2c-sda-delay = <100>; 307 samsung,i2c-slave-addr = <0x10>; 308 samsung,i2c-max-bus-freq = <100000>; 309 pinctrl-0 = <&i2c5_bus>; 310 pinctrl-names = "default"; 311 status = "okay"; 312 313 vdd_arm_reg: pmic@60 { 314 compatible = "maxim,max8952"; 315 reg = <0x60>; 316 317 max8952,vid-gpios = <&gpx0 3 GPIO_ACTIVE_HIGH>, 318 <&gpx0 4 GPIO_ACTIVE_HIGH>; 319 max8952,default-mode = <0>; 320 max8952,dvs-mode-microvolt = <1250000>, <1200000>, 321 <1050000>, <950000>; 322 max8952,sync-freq = <0>; 323 max8952,ramp-speed = <0>; 324 325 regulator-name = "vdd_arm"; 326 regulator-min-microvolt = <770000>; 327 regulator-max-microvolt = <1400000>; 328 regulator-always-on; 329 regulator-boot-on; 330 }; 331 332 pmic@66 { 333 compatible = "national,lp3974"; 334 reg = <0x66>; 335 336 max8998,pmic-buck1-default-dvs-idx = <0>; 337 max8998,pmic-buck1-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>, 338 <&gpx0 6 GPIO_ACTIVE_HIGH>; 339 max8998,pmic-buck1-dvs-voltage = <1100000>, <1000000>, 340 <1100000>, <1000000>; 341 342 max8998,pmic-buck2-default-dvs-idx = <0>; 343 max8998,pmic-buck2-dvs-gpio = <&gpe2 0 GPIO_ACTIVE_HIGH>; 344 max8998,pmic-buck2-dvs-voltage = <1200000>, <1100000>; 345 346 regulators { 347 ldo2_reg: LDO2 { 348 regulator-name = "VALIVE_1.2V"; 349 regulator-min-microvolt = <1200000>; 350 regulator-max-microvolt = <1200000>; 351 regulator-always-on; 352 }; 353 354 ldo3_reg: LDO3 { 355 regulator-name = "VUSB+MIPI_1.1V"; 356 regulator-min-microvolt = <1100000>; 357 regulator-max-microvolt = <1100000>; 358 regulator-always-on; 359 }; 360 361 ldo4_reg: LDO4 { 362 regulator-name = "VADC_3.3V"; 363 regulator-min-microvolt = <3300000>; 364 regulator-max-microvolt = <3300000>; 365 }; 366 367 ldo5_reg: LDO5 { 368 regulator-name = "VTF_2.8V"; 369 regulator-min-microvolt = <2800000>; 370 regulator-max-microvolt = <2800000>; 371 }; 372 373 ldo6_reg: LDO6 { 374 regulator-name = "LDO6"; 375 regulator-min-microvolt = <2000000>; 376 regulator-max-microvolt = <2000000>; 377 }; 378 379 ldo7_reg: LDO7 { 380 regulator-name = "VLCD+VMIPI_1.8V"; 381 regulator-min-microvolt = <1800000>; 382 regulator-max-microvolt = <1800000>; 383 }; 384 385 ldo8_reg: LDO8 { 386 regulator-name = "VUSB+VDAC_3.3V"; 387 regulator-min-microvolt = <3300000>; 388 regulator-max-microvolt = <3300000>; 389 regulator-always-on; 390 }; 391 392 ldo9_reg: LDO9 { 393 regulator-name = "VCC_2.8V"; 394 regulator-min-microvolt = <2800000>; 395 regulator-max-microvolt = <2800000>; 396 regulator-always-on; 397 }; 398 399 ldo10_reg: LDO10 { 400 regulator-name = "VPLL_1.1V"; 401 regulator-min-microvolt = <1100000>; 402 regulator-max-microvolt = <1100000>; 403 regulator-boot-on; 404 regulator-always-on; 405 }; 406 407 ldo11_reg: LDO11 { 408 regulator-name = "CAM_AF_3.3V"; 409 regulator-min-microvolt = <3300000>; 410 regulator-max-microvolt = <3300000>; 411 }; 412 413 ldo12_reg: LDO12 { 414 regulator-name = "PS_2.8V"; 415 regulator-min-microvolt = <2800000>; 416 regulator-max-microvolt = <2800000>; 417 }; 418 419 ldo13_reg: LDO13 { 420 regulator-name = "VHIC_1.2V"; 421 regulator-min-microvolt = <1200000>; 422 regulator-max-microvolt = <1200000>; 423 }; 424 425 ldo14_reg: LDO14 { 426 regulator-name = "CAM_I_HOST_1.8V"; 427 regulator-min-microvolt = <1800000>; 428 regulator-max-microvolt = <1800000>; 429 }; 430 431 ldo15_reg: LDO15 { 432 regulator-name = "CAM_S_DIG+FM33_CORE_1.2V"; 433 regulator-min-microvolt = <1200000>; 434 regulator-max-microvolt = <1200000>; 435 }; 436 437 ldo16_reg: LDO16 { 438 regulator-name = "CAM_S_ANA_2.8V"; 439 regulator-min-microvolt = <2800000>; 440 regulator-max-microvolt = <2800000>; 441 }; 442 443 ldo17_reg: LDO17 { 444 regulator-name = "VCC_3.0V_LCD"; 445 regulator-min-microvolt = <3000000>; 446 regulator-max-microvolt = <3000000>; 447 }; 448 449 buck1_reg: BUCK1 { 450 regulator-name = "VINT_1.1V"; 451 regulator-min-microvolt = <750000>; 452 regulator-max-microvolt = <1500000>; 453 regulator-boot-on; 454 regulator-always-on; 455 }; 456 457 buck2_reg: BUCK2 { 458 regulator-name = "VG3D_1.1V"; 459 regulator-min-microvolt = <750000>; 460 regulator-max-microvolt = <1500000>; 461 regulator-boot-on; 462 }; 463 464 buck3_reg: BUCK3 { 465 regulator-name = "VCC_1.8V"; 466 regulator-min-microvolt = <1800000>; 467 regulator-max-microvolt = <1800000>; 468 regulator-always-on; 469 }; 470 471 buck4_reg: BUCK4 { 472 regulator-name = "VMEM_1.2V"; 473 regulator-min-microvolt = <1200000>; 474 regulator-max-microvolt = <1200000>; 475 regulator-always-on; 476 }; 477 478 ap32khz_reg: EN32KHz-AP { 479 regulator-name = "32KHz AP"; 480 regulator-always-on; 481 }; 482 483 cp32khz_reg: EN32KHz-CP { 484 regulator-name = "32KHz CP"; 485 }; 486 487 vichg_reg: ENVICHG { 488 regulator-name = "VICHG"; 489 }; 490 491 safeout1_reg: ESAFEOUT1 { 492 regulator-name = "SAFEOUT1"; 493 }; 494 495 safeout2_reg: ESAFEOUT2 { 496 regulator-name = "SAFEOUT2"; 497 regulator-boot-on; 498 }; 499 }; 500 }; 501}; 502 503&i2c_8 { 504 status = "okay"; 505}; 506 507&mdma1 { 508 reg = <0x12840000 0x1000>; 509}; 510 511&mixer { 512 status = "okay"; 513}; 514 515&ohci { 516 status = "okay"; 517 port@0 { 518 status = "okay"; 519 }; 520}; 521 522&pinctrl_1 { 523 hdmi_hpd: hdmi-hpd { 524 samsung,pins = "gpx3-7"; 525 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 526 }; 527}; 528 529&pinctrl_0 { 530 i2c_ddc_bus: i2c-ddc-bus { 531 samsung,pins = "gpe4-2", "gpe4-3"; 532 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 533 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 534 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 535 }; 536}; 537 538&pwm { 539 compatible = "samsung,s5p6440-pwm"; 540 status = "okay"; 541}; 542 543&sdhci_0 { 544 bus-width = <8>; 545 non-removable; 546 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>; 547 pinctrl-names = "default"; 548 vmmc-supply = <&vemmc_reg>; 549 status = "okay"; 550}; 551 552&sdhci_2 { 553 bus-width = <4>; 554 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>; 555 pinctrl-names = "default"; 556 vmmc-supply = <&ldo5_reg>; 557 cd-gpios = <&gpx3 4 GPIO_ACTIVE_HIGH>; 558 cd-inverted; 559 status = "okay"; 560}; 561 562&serial_0 { 563 status = "okay"; 564 /delete-property/dmas; 565 /delete-property/dma-names; 566}; 567 568&serial_1 { 569 status = "okay"; 570 /delete-property/dmas; 571 /delete-property/dma-names; 572}; 573 574&serial_2 { 575 status = "okay"; 576 /delete-property/dmas; 577 /delete-property/dma-names; 578}; 579 580&serial_3 { 581 status = "okay"; 582 /delete-property/dmas; 583 /delete-property/dma-names; 584}; 585