1/* 2 * Samsung's Exynos3250 based Monk board device tree source 3 * 4 * Copyright (c) 2014 Samsung Electronics Co., Ltd. 5 * http://www.samsung.com 6 * 7 * Device tree source file for Samsung's Monk board which is based on 8 * Samsung Exynos3250 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 "exynos3250.dtsi" 17#include "exynos4412-ppmu-common.dtsi" 18#include <dt-bindings/input/input.h> 19#include <dt-bindings/gpio/gpio.h> 20#include <dt-bindings/clock/samsung,s2mps11.h> 21 22/ { 23 model = "Samsung Monk board"; 24 compatible = "samsung,monk", "samsung,exynos3250", "samsung,exynos3"; 25 26 aliases { 27 i2c7 = &i2c_max77836; 28 }; 29 30 memory@40000000 { 31 device_type = "memory"; 32 reg = <0x40000000 0x1ff00000>; 33 }; 34 35 firmware@0205F000 { 36 compatible = "samsung,secure-firmware"; 37 reg = <0x0205F000 0x1000>; 38 }; 39 40 gpio_keys { 41 compatible = "gpio-keys"; 42 43 power_key { 44 gpios = <&gpx2 7 GPIO_ACTIVE_LOW>; 45 linux,code = <KEY_POWER>; 46 label = "power key"; 47 debounce-interval = <10>; 48 wakeup-source; 49 }; 50 }; 51 52 vemmc_reg: voltage-regulator-0 { 53 compatible = "regulator-fixed"; 54 regulator-name = "V_EMMC_2.8V-fixed"; 55 regulator-min-microvolt = <2800000>; 56 regulator-max-microvolt = <2800000>; 57 gpio = <&gpk0 2 GPIO_ACTIVE_HIGH>; 58 enable-active-high; 59 }; 60 61 i2c_max77836: i2c-gpio-0 { 62 compatible = "i2c-gpio"; 63 gpios = <&gpd0 2 GPIO_ACTIVE_HIGH>, <&gpd0 3 GPIO_ACTIVE_HIGH>; 64 #address-cells = <1>; 65 #size-cells = <0>; 66 67 max77836: subpmic@25 { 68 compatible = "maxim,max77836"; 69 interrupt-parent = <&gpx1>; 70 interrupts = <5 IRQ_TYPE_NONE>; 71 reg = <0x25>; 72 wakeup-source; 73 74 muic: max77836-muic { 75 compatible = "maxim,max77836-muic"; 76 }; 77 78 regulators { 79 compatible = "maxim,max77836-regulator"; 80 safeout_reg: SAFEOUT { 81 regulator-name = "SAFEOUT"; 82 }; 83 84 charger_reg: CHARGER { 85 regulator-name = "CHARGER"; 86 regulator-min-microamp = <45000>; 87 regulator-max-microamp = <475000>; 88 regulator-boot-on; 89 }; 90 91 motor_reg: LDO1 { 92 regulator-name = "MOT_2.7V"; 93 regulator-min-microvolt = <1100000>; 94 regulator-max-microvolt = <2700000>; 95 }; 96 97 LDO2 { 98 regulator-name = "UNUSED_LDO2"; 99 regulator-min-microvolt = <800000>; 100 regulator-max-microvolt = <3950000>; 101 }; 102 }; 103 104 charger { 105 compatible = "maxim,max77836-charger"; 106 107 maxim,constant-uvolt = <4350000>; 108 maxim,fast-charge-uamp = <225000>; 109 maxim,eoc-uamp = <7500>; 110 maxim,ovp-uvolt = <6500000>; 111 }; 112 }; 113 }; 114 115 haptics { 116 compatible = "regulator-haptic"; 117 haptic-supply = <&motor_reg>; 118 min-microvolt = <1100000>; 119 max-microvolt = <2700000>; 120 }; 121 122 thermal-zones { 123 cpu_thermal: cpu-thermal { 124 cooling-maps { 125 map0 { 126 /* Correspond to 500MHz at freq_table */ 127 cooling-device = <&cpu0 5 5>; 128 }; 129 map1 { 130 /* Correspond to 200MHz at freq_table */ 131 cooling-device = <&cpu0 8 8>; 132 }; 133 }; 134 }; 135 }; 136}; 137 138&adc { 139 vdd-supply = <&ldo3_reg>; 140 status = "okay"; 141 assigned-clocks = <&cmu CLK_SCLK_TSADC>; 142 assigned-clock-rates = <6000000>; 143 144 thermistor-ap { 145 compatible = "ntc,ncp15wb473"; 146 pullup-uv = <1800000>; 147 pullup-ohm = <100000>; 148 pulldown-ohm = <100000>; 149 io-channels = <&adc 0>; 150 }; 151 152 thermistor-battery { 153 compatible = "ntc,ncp15wb473"; 154 pullup-uv = <1800000>; 155 pullup-ohm = <100000>; 156 pulldown-ohm = <100000>; 157 io-channels = <&adc 1>; 158 }; 159}; 160 161&bus_dmc { 162 devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>; 163 vdd-supply = <&buck1_reg>; 164 status = "okay"; 165}; 166 167&cpu0 { 168 cpu0-supply = <&buck2_reg>; 169}; 170 171&exynos_usbphy { 172 vbus-supply = <&safeout_reg>; 173 status = "okay"; 174}; 175 176&hsotg { 177 vusb_d-supply = <&ldo15_reg>; 178 vusb_a-supply = <&ldo12_reg>; 179 dr_mode = "peripheral"; 180 status = "okay"; 181}; 182 183&i2c_0 { 184 #address-cells = <1>; 185 #size-cells = <0>; 186 samsung,i2c-sda-delay = <100>; 187 samsung,i2c-slave-addr = <0x10>; 188 samsung,i2c-max-bus-freq = <100000>; 189 status = "okay"; 190 191 s2mps14_pmic@66 { 192 compatible = "samsung,s2mps14-pmic"; 193 interrupt-parent = <&gpx0>; 194 interrupts = <7 IRQ_TYPE_NONE>; 195 reg = <0x66>; 196 wakeup-source; 197 198 s2mps14_osc: clocks { 199 compatible = "samsung,s2mps14-clk"; 200 #clock-cells = <1>; 201 clock-output-names = "s2mps14_ap", "unused", 202 "s2mps14_bt"; 203 }; 204 205 regulators { 206 ldo1_reg: LDO1 { 207 regulator-name = "VAP_ALIVE_1.0V"; 208 regulator-min-microvolt = <1000000>; 209 regulator-max-microvolt = <1000000>; 210 regulator-always-on; 211 }; 212 213 ldo2_reg: LDO2 { 214 regulator-name = "VAP_M1_1.2V"; 215 regulator-min-microvolt = <1200000>; 216 regulator-max-microvolt = <1200000>; 217 regulator-always-on; 218 }; 219 220 ldo3_reg: LDO3 { 221 regulator-name = "VCC_AP_1.8V"; 222 regulator-min-microvolt = <1800000>; 223 regulator-max-microvolt = <1800000>; 224 regulator-always-on; 225 }; 226 227 ldo4_reg: LDO4 { 228 regulator-name = "VAP_AVDD_PLL1"; 229 regulator-min-microvolt = <1800000>; 230 regulator-max-microvolt = <1800000>; 231 regulator-always-on; 232 }; 233 234 ldo5_reg: LDO5 { 235 regulator-name = "VAP_PLL_ISO_1.0V"; 236 regulator-min-microvolt = <1000000>; 237 regulator-max-microvolt = <1000000>; 238 regulator-always-on; 239 }; 240 241 ldo6_reg: LDO6 { 242 regulator-name = "VAP_MIPI_1.0V"; 243 regulator-min-microvolt = <1000000>; 244 regulator-max-microvolt = <1000000>; 245 }; 246 247 ldo7_reg: LDO7 { 248 regulator-name = "VAP_AVDD_1.8V"; 249 regulator-min-microvolt = <1800000>; 250 regulator-max-microvolt = <1800000>; 251 regulator-always-on; 252 }; 253 254 ldo8_reg: LDO8 { 255 regulator-name = "VAP_USB_3.0V"; 256 regulator-min-microvolt = <3000000>; 257 regulator-max-microvolt = <3000000>; 258 regulator-always-on; 259 }; 260 261 ldo9_reg: LDO9 { 262 regulator-name = "V_LPDDR_1.2V"; 263 regulator-min-microvolt = <1200000>; 264 regulator-max-microvolt = <1200000>; 265 regulator-always-on; 266 }; 267 268 ldo10_reg: LDO10 { 269 regulator-name = "UNUSED_LDO10"; 270 regulator-min-microvolt = <1000000>; 271 regulator-max-microvolt = <1000000>; 272 }; 273 274 ldo11_reg: LDO11 { 275 regulator-name = "V_EMMC_1.8V"; 276 regulator-min-microvolt = <1800000>; 277 regulator-max-microvolt = <1800000>; 278 samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>; 279 }; 280 281 ldo12_reg: LDO12 { 282 regulator-name = "V_EMMC_2.8V"; 283 regulator-min-microvolt = <2800000>; 284 regulator-max-microvolt = <2800000>; 285 samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>; 286 }; 287 288 ldo13_reg: LDO13 { 289 regulator-name = "VSENSOR_2.85V"; 290 regulator-min-microvolt = <2850000>; 291 regulator-max-microvolt = <2850000>; 292 regulator-always-on; 293 }; 294 295 ldo14_reg: LDO14 { 296 regulator-name = "UNUSED_LDO14"; 297 regulator-min-microvolt = <1800000>; 298 regulator-max-microvolt = <1800000>; 299 }; 300 301 ldo15_reg: LDO15 { 302 regulator-name = "TSP_AVDD_3.3V"; 303 regulator-min-microvolt = <3300000>; 304 regulator-max-microvolt = <3300000>; 305 }; 306 307 ldo16_reg: LDO16 { 308 regulator-name = "LCD_VDD_3.3V"; 309 regulator-min-microvolt = <3300000>; 310 regulator-max-microvolt = <3300000>; 311 }; 312 313 ldo17_reg: LDO17 { 314 regulator-name = "UNUSED_LDO17"; 315 regulator-min-microvolt = <1800000>; 316 regulator-max-microvolt = <1800000>; 317 }; 318 319 ldo18_reg: LDO18 { 320 regulator-name = "UNUSED_LDO18"; 321 regulator-min-microvolt = <1800000>; 322 regulator-max-microvolt = <1800000>; 323 }; 324 325 ldo19_reg: LDO19 { 326 regulator-name = "TSP_VDD_1.8V"; 327 regulator-min-microvolt = <1800000>; 328 regulator-max-microvolt = <1800000>; 329 }; 330 331 ldo20_reg: LDO20 { 332 regulator-name = "LCD_VDD_1.8V"; 333 regulator-min-microvolt = <1800000>; 334 regulator-max-microvolt = <1800000>; 335 }; 336 337 ldo21_reg: LDO21 { 338 regulator-name = "UNUSED_LDO21"; 339 regulator-min-microvolt = <1000000>; 340 regulator-max-microvolt = <1000000>; 341 }; 342 343 ldo22_reg: LDO22 { 344 regulator-name = "UNUSED_LDO22"; 345 regulator-min-microvolt = <1000000>; 346 regulator-max-microvolt = <1000000>; 347 }; 348 349 ldo23_reg: LDO23 { 350 regulator-name = "UNUSED_LDO23"; 351 regulator-min-microvolt = <1000000>; 352 regulator-max-microvolt = <1000000>; 353 regulator-always-on; 354 }; 355 356 ldo24_reg: LDO24 { 357 regulator-name = "UNUSED_LDO24"; 358 regulator-min-microvolt = <1800000>; 359 regulator-max-microvolt = <1800000>; 360 }; 361 362 ldo25_reg: LDO25 { 363 regulator-name = "UNUSED_LDO25"; 364 regulator-min-microvolt = <1800000>; 365 regulator-max-microvolt = <1800000>; 366 }; 367 368 buck1_reg: BUCK1 { 369 regulator-name = "VAP_MIF_1.0V"; 370 regulator-min-microvolt = <800000>; 371 regulator-max-microvolt = <900000>; 372 regulator-always-on; 373 }; 374 375 buck2_reg: BUCK2 { 376 regulator-name = "VAP_ARM_1.0V"; 377 regulator-min-microvolt = <850000>; 378 regulator-max-microvolt = <1150000>; 379 regulator-always-on; 380 }; 381 382 buck3_reg: BUCK3 { 383 regulator-name = "VAP_INT3D_1.0V"; 384 regulator-min-microvolt = <850000>; 385 regulator-max-microvolt = <1000000>; 386 regulator-always-on; 387 }; 388 389 buck4_reg: BUCK4 { 390 regulator-name = "VCC_SUB_1.95V"; 391 regulator-min-microvolt = <1950000>; 392 regulator-max-microvolt = <1950000>; 393 regulator-always-on; 394 }; 395 396 buck5_reg: BUCK5 { 397 regulator-name = "VCC_SUB_1.35V"; 398 regulator-min-microvolt = <1350000>; 399 regulator-max-microvolt = <1350000>; 400 regulator-always-on; 401 }; 402 }; 403 }; 404}; 405 406&i2c_1 { 407 #address-cells = <1>; 408 #size-cells = <0>; 409 samsung,i2c-sda-delay = <100>; 410 samsung,i2c-slave-addr = <0x10>; 411 samsung,i2c-max-bus-freq = <400000>; 412 status = "okay"; 413 414 fuelgauge@36 { 415 compatible = "maxim,max77836-battery"; 416 interrupt-parent = <&gpx1>; 417 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 418 reg = <0x36>; 419 }; 420}; 421 422&i2s2 { 423 status = "okay"; 424}; 425 426&mshc_0 { 427 #address-cells = <1>; 428 #size-cells = <0>; 429 broken-cd; 430 non-removable; 431 cap-mmc-highspeed; 432 desc-num = <4>; 433 mmc-hs200-1_8v; 434 card-detect-delay = <200>; 435 vmmc-supply = <&vemmc_reg>; 436 clock-frequency = <100000000>; 437 max-frequency = <100000000>; 438 samsung,dw-mshc-ciu-div = <1>; 439 samsung,dw-mshc-sdr-timing = <0 1>; 440 samsung,dw-mshc-ddr-timing = <1 2>; 441 pinctrl-names = "default"; 442 pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>; 443 bus-width = <8>; 444 status = "okay"; 445}; 446 447&serial_0 { 448 assigned-clocks = <&cmu CLK_SCLK_UART0>; 449 assigned-clock-rates = <100000000>; 450 status = "okay"; 451}; 452 453&serial_1 { 454 status = "okay"; 455}; 456 457&tmu { 458 vtmu-supply = <&ldo7_reg>; 459 status = "okay"; 460}; 461 462&rtc { 463 clocks = <&cmu CLK_RTC>, <&s2mps14_osc S2MPS11_CLK_AP>; 464 clock-names = "rtc", "rtc_src"; 465 status = "okay"; 466}; 467 468&xusbxti { 469 clock-frequency = <24000000>; 470}; 471 472&pinctrl_0 { 473 pinctrl-names = "default"; 474 pinctrl-0 = <&sleep0>; 475 476 sleep0: sleep-state { 477 PIN_SLP(gpa0-0, INPUT, DOWN); 478 PIN_SLP(gpa0-1, INPUT, DOWN); 479 PIN_SLP(gpa0-2, INPUT, DOWN); 480 PIN_SLP(gpa0-3, INPUT, DOWN); 481 PIN_SLP(gpa0-4, INPUT, DOWN); 482 PIN_SLP(gpa0-5, INPUT, DOWN); 483 PIN_SLP(gpa0-6, INPUT, DOWN); 484 PIN_SLP(gpa0-7, INPUT, DOWN); 485 486 PIN_SLP(gpa1-0, INPUT, DOWN); 487 PIN_SLP(gpa1-1, INPUT, DOWN); 488 PIN_SLP(gpa1-2, INPUT, DOWN); 489 PIN_SLP(gpa1-3, INPUT, DOWN); 490 PIN_SLP(gpa1-4, INPUT, DOWN); 491 PIN_SLP(gpa1-5, INPUT, DOWN); 492 493 PIN_SLP(gpb-0, PREV, NONE); 494 PIN_SLP(gpb-1, PREV, NONE); 495 PIN_SLP(gpb-2, PREV, NONE); 496 PIN_SLP(gpb-3, PREV, NONE); 497 PIN_SLP(gpb-4, INPUT, DOWN); 498 PIN_SLP(gpb-5, INPUT, DOWN); 499 PIN_SLP(gpb-6, INPUT, DOWN); 500 PIN_SLP(gpb-7, INPUT, DOWN); 501 502 PIN_SLP(gpc0-0, INPUT, DOWN); 503 PIN_SLP(gpc0-1, INPUT, DOWN); 504 PIN_SLP(gpc0-2, INPUT, DOWN); 505 PIN_SLP(gpc0-3, INPUT, DOWN); 506 PIN_SLP(gpc0-4, INPUT, DOWN); 507 508 PIN_SLP(gpc1-0, INPUT, DOWN); 509 PIN_SLP(gpc1-1, INPUT, DOWN); 510 PIN_SLP(gpc1-2, INPUT, DOWN); 511 PIN_SLP(gpc1-3, INPUT, DOWN); 512 PIN_SLP(gpc1-4, INPUT, DOWN); 513 514 PIN_SLP(gpd0-0, INPUT, DOWN); 515 PIN_SLP(gpd0-1, INPUT, DOWN); 516 PIN_SLP(gpd0-2, INPUT, NONE); 517 PIN_SLP(gpd0-3, INPUT, NONE); 518 519 PIN_SLP(gpd1-0, INPUT, NONE); 520 PIN_SLP(gpd1-1, INPUT, NONE); 521 PIN_SLP(gpd1-2, INPUT, NONE); 522 PIN_SLP(gpd1-3, INPUT, NONE); 523 }; 524}; 525 526&pinctrl_1 { 527 pinctrl-names = "default"; 528 pinctrl-0 = <&initial1 &sleep1>; 529 530 initial1: initial-state { 531 PIN_IN(gpk2-0, DOWN, LV1); 532 PIN_IN(gpk2-1, DOWN, LV1); 533 PIN_IN(gpk2-2, DOWN, LV1); 534 PIN_IN(gpk2-3, DOWN, LV1); 535 PIN_IN(gpk2-4, DOWN, LV1); 536 PIN_IN(gpk2-5, DOWN, LV1); 537 PIN_IN(gpk2-6, DOWN, LV1); 538 }; 539 540 sleep1: sleep-state { 541 PIN_SLP(gpe0-0, PREV, NONE); 542 PIN_SLP(gpe0-1, PREV, NONE); 543 PIN_SLP(gpe0-2, INPUT, DOWN); 544 PIN_SLP(gpe0-3, INPUT, DOWN); 545 PIN_SLP(gpe0-4, PREV, NONE); 546 PIN_SLP(gpe0-5, INPUT, DOWN); 547 PIN_SLP(gpe0-6, INPUT, DOWN); 548 PIN_SLP(gpe0-7, INPUT, DOWN); 549 550 PIN_SLP(gpe1-0, INPUT, DOWN); 551 PIN_SLP(gpe1-1, PREV, NONE); 552 PIN_SLP(gpe1-2, INPUT, DOWN); 553 PIN_SLP(gpe1-3, INPUT, DOWN); 554 PIN_SLP(gpe1-4, INPUT, DOWN); 555 PIN_SLP(gpe1-5, INPUT, DOWN); 556 PIN_SLP(gpe1-6, INPUT, DOWN); 557 PIN_SLP(gpe1-7, INPUT, NONE); 558 559 PIN_SLP(gpe2-0, INPUT, NONE); 560 PIN_SLP(gpe2-1, INPUT, NONE); 561 PIN_SLP(gpe2-2, INPUT, NONE); 562 563 PIN_SLP(gpk0-0, INPUT, DOWN); 564 PIN_SLP(gpk0-1, INPUT, DOWN); 565 PIN_SLP(gpk0-2, OUT0, NONE); 566 PIN_SLP(gpk0-3, INPUT, DOWN); 567 PIN_SLP(gpk0-4, INPUT, DOWN); 568 PIN_SLP(gpk0-5, INPUT, DOWN); 569 PIN_SLP(gpk0-6, INPUT, DOWN); 570 PIN_SLP(gpk0-7, INPUT, DOWN); 571 572 PIN_SLP(gpk1-0, PREV, NONE); 573 PIN_SLP(gpk1-1, PREV, NONE); 574 PIN_SLP(gpk1-2, INPUT, DOWN); 575 PIN_SLP(gpk1-3, PREV, NONE); 576 PIN_SLP(gpk1-4, PREV, NONE); 577 PIN_SLP(gpk1-5, PREV, NONE); 578 PIN_SLP(gpk1-6, PREV, NONE); 579 580 PIN_SLP(gpk2-0, INPUT, DOWN); 581 PIN_SLP(gpk2-1, INPUT, DOWN); 582 PIN_SLP(gpk2-2, INPUT, DOWN); 583 PIN_SLP(gpk2-3, INPUT, DOWN); 584 PIN_SLP(gpk2-4, INPUT, DOWN); 585 PIN_SLP(gpk2-5, INPUT, DOWN); 586 PIN_SLP(gpk2-6, INPUT, DOWN); 587 588 PIN_SLP(gpl0-0, INPUT, DOWN); 589 PIN_SLP(gpl0-1, INPUT, DOWN); 590 PIN_SLP(gpl0-2, INPUT, DOWN); 591 PIN_SLP(gpl0-3, INPUT, DOWN); 592 593 PIN_SLP(gpm0-0, INPUT, DOWN); 594 PIN_SLP(gpm0-1, INPUT, DOWN); 595 PIN_SLP(gpm0-2, INPUT, DOWN); 596 PIN_SLP(gpm0-3, INPUT, DOWN); 597 PIN_SLP(gpm0-4, INPUT, DOWN); 598 PIN_SLP(gpm0-5, INPUT, DOWN); 599 PIN_SLP(gpm0-6, INPUT, DOWN); 600 PIN_SLP(gpm0-7, INPUT, DOWN); 601 602 PIN_SLP(gpm1-0, INPUT, DOWN); 603 PIN_SLP(gpm1-1, INPUT, DOWN); 604 PIN_SLP(gpm1-2, INPUT, DOWN); 605 PIN_SLP(gpm1-3, INPUT, DOWN); 606 PIN_SLP(gpm1-4, INPUT, DOWN); 607 PIN_SLP(gpm1-5, INPUT, DOWN); 608 PIN_SLP(gpm1-6, INPUT, DOWN); 609 610 PIN_SLP(gpm2-0, INPUT, DOWN); 611 PIN_SLP(gpm2-1, INPUT, DOWN); 612 PIN_SLP(gpm2-2, INPUT, DOWN); 613 PIN_SLP(gpm2-3, INPUT, DOWN); 614 PIN_SLP(gpm2-4, INPUT, DOWN); 615 616 PIN_SLP(gpm3-0, INPUT, DOWN); 617 PIN_SLP(gpm3-1, INPUT, DOWN); 618 PIN_SLP(gpm3-2, INPUT, DOWN); 619 PIN_SLP(gpm3-3, INPUT, DOWN); 620 PIN_SLP(gpm3-4, INPUT, DOWN); 621 PIN_SLP(gpm3-5, INPUT, DOWN); 622 PIN_SLP(gpm3-6, INPUT, DOWN); 623 PIN_SLP(gpm3-7, INPUT, DOWN); 624 625 PIN_SLP(gpm4-0, INPUT, DOWN); 626 PIN_SLP(gpm4-1, INPUT, DOWN); 627 PIN_SLP(gpm4-2, INPUT, DOWN); 628 PIN_SLP(gpm4-3, INPUT, DOWN); 629 PIN_SLP(gpm4-4, INPUT, DOWN); 630 PIN_SLP(gpm4-5, INPUT, DOWN); 631 PIN_SLP(gpm4-6, INPUT, DOWN); 632 PIN_SLP(gpm4-7, INPUT, DOWN); 633 }; 634}; 635