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