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