1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Samsung's Exynos5250 based Arndale board device tree source 4 * 5 * Copyright (c) 2013 Samsung Electronics Co., Ltd. 6 * http://www.samsung.com 7 */ 8 9/dts-v1/; 10#include <dt-bindings/gpio/gpio.h> 11#include <dt-bindings/interrupt-controller/irq.h> 12#include <dt-bindings/input/input.h> 13#include <dt-bindings/clock/samsung,s2mps11.h> 14#include <dt-bindings/sound/samsung-i2s.h> 15#include "exynos5250.dtsi" 16 17/ { 18 model = "Insignal Arndale evaluation board based on Exynos5250"; 19 compatible = "insignal,arndale", "samsung,exynos5250", "samsung,exynos5"; 20 21 memory@40000000 { 22 device_type = "memory"; 23 reg = <0x40000000 0x80000000>; 24 }; 25 26 chosen { 27 stdout-path = "serial2:115200n8"; 28 }; 29 30 gpio_keys { 31 compatible = "gpio-keys"; 32 33 menu { 34 label = "SW-TACT2"; 35 gpios = <&gpx1 4 GPIO_ACTIVE_LOW>; 36 linux,code = <KEY_MENU>; 37 wakeup-source; 38 }; 39 40 home { 41 label = "SW-TACT3"; 42 gpios = <&gpx1 5 GPIO_ACTIVE_LOW>; 43 linux,code = <KEY_HOME>; 44 wakeup-source; 45 }; 46 47 up { 48 label = "SW-TACT4"; 49 gpios = <&gpx1 6 GPIO_ACTIVE_LOW>; 50 linux,code = <KEY_UP>; 51 wakeup-source; 52 }; 53 54 down { 55 label = "SW-TACT5"; 56 gpios = <&gpx1 7 GPIO_ACTIVE_LOW>; 57 linux,code = <KEY_DOWN>; 58 wakeup-source; 59 }; 60 61 back { 62 label = "SW-TACT6"; 63 gpios = <&gpx2 0 GPIO_ACTIVE_LOW>; 64 linux,code = <KEY_BACK>; 65 wakeup-source; 66 }; 67 68 wakeup { 69 label = "SW-TACT7"; 70 gpios = <&gpx2 1 GPIO_ACTIVE_LOW>; 71 linux,code = <KEY_WAKEUP>; 72 wakeup-source; 73 }; 74 }; 75 76 panel: panel { 77 compatible = "boe,hv070wsa-100"; 78 power-supply = <&vcc_3v3_reg>; 79 enable-gpios = <&gpd1 3 GPIO_ACTIVE_HIGH>; 80 port { 81 panel_ep: endpoint { 82 remote-endpoint = <&bridge_out_ep>; 83 }; 84 }; 85 }; 86 87 regulators { 88 compatible = "simple-bus"; 89 #address-cells = <1>; 90 #size-cells = <0>; 91 92 main_dc_reg: regulator@0 { 93 compatible = "regulator-fixed"; 94 reg = <0>; 95 regulator-name = "MAIN_DC"; 96 }; 97 98 mmc_reg: regulator@1 { 99 compatible = "regulator-fixed"; 100 reg = <1>; 101 regulator-name = "VDD_33ON_2.8V"; 102 regulator-min-microvolt = <2800000>; 103 regulator-max-microvolt = <2800000>; 104 gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>; 105 enable-active-high; 106 }; 107 108 reg_hdmi_en: regulator@2 { 109 compatible = "regulator-fixed"; 110 reg = <2>; 111 regulator-name = "hdmi-en"; 112 }; 113 114 vcc_1v2_reg: regulator@3 { 115 compatible = "regulator-fixed"; 116 reg = <3>; 117 regulator-name = "VCC_1V2"; 118 regulator-min-microvolt = <1200000>; 119 regulator-max-microvolt = <1200000>; 120 }; 121 122 vcc_1v8_reg: regulator@4 { 123 compatible = "regulator-fixed"; 124 reg = <4>; 125 regulator-name = "VCC_1V8"; 126 regulator-min-microvolt = <1800000>; 127 regulator-max-microvolt = <1800000>; 128 }; 129 130 vcc_3v3_reg: regulator@5 { 131 compatible = "regulator-fixed"; 132 reg = <5>; 133 regulator-name = "VCC_3V3"; 134 regulator-min-microvolt = <3300000>; 135 regulator-max-microvolt = <3300000>; 136 }; 137 }; 138 139 sound { 140 compatible = "samsung,arndale-wm1811"; 141 samsung,audio-cpu = <&i2s0>; 142 samsung,audio-codec = <&wm1811>; 143 }; 144 145 fixed-rate-clocks { 146 xxti { 147 compatible = "samsung,clock-xxti"; 148 clock-frequency = <24000000>; 149 }; 150 }; 151 152 // SMSC USB3503 connected in hardware only mode as a PHY 153 usb_hub: usb-hub { 154 compatible = "smsc,usb3503a"; 155 156 reset-gpios = <&gpx3 5 GPIO_ACTIVE_LOW>; 157 connect-gpios = <&gpd1 7 GPIO_ACTIVE_HIGH>; 158 }; 159}; 160 161&clock { 162 assigned-clocks = <&clock CLK_FOUT_EPLL>; 163 assigned-clock-rates = <49152000>; 164}; 165 166&clock_audss { 167 assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>; 168 assigned-clock-parents = <&clock CLK_FOUT_EPLL>; 169}; 170 171&cpu0 { 172 cpu0-supply = <&buck2_reg>; 173}; 174 175&dsi_0 { 176 vddcore-supply = <&ldo8_reg>; 177 vddio-supply = <&ldo10_reg>; 178 samsung,pll-clock-frequency = <24000000>; 179 samsung,burst-clock-frequency = <320000000>; 180 samsung,esc-clock-frequency = <10000000>; 181 status = "okay"; 182 183 bridge@0 { 184 reg = <0>; 185 compatible = "toshiba,tc358764"; 186 vddc-supply = <&vcc_1v2_reg>; 187 vddio-supply = <&vcc_1v8_reg>; 188 vddlvds-supply = <&vcc_3v3_reg>; 189 reset-gpios = <&gpd1 6 GPIO_ACTIVE_LOW>; 190 #address-cells = <1>; 191 #size-cells = <0>; 192 port@1 { 193 reg = <1>; 194 bridge_out_ep: endpoint { 195 remote-endpoint = <&panel_ep>; 196 }; 197 }; 198 }; 199}; 200 201&fimd { 202 status = "okay"; 203}; 204 205&hdmi { 206 pinctrl-names = "default"; 207 pinctrl-0 = <&hdmi_hpd>; 208 status = "okay"; 209 ddc = <&i2c_ddc>; 210 hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>; 211 vdd_osc-supply = <&ldo10_reg>; 212 vdd_pll-supply = <&ldo8_reg>; 213 vdd-supply = <&ldo8_reg>; 214}; 215 216&i2c_0 { 217 status = "okay"; 218 samsung,i2c-sda-delay = <100>; 219 samsung,i2c-max-bus-freq = <20000>; 220 samsung,i2c-slave-addr = <0x66>; 221 222 s5m8767_pmic@66 { 223 compatible = "samsung,s5m8767-pmic"; 224 reg = <0x66>; 225 interrupt-parent = <&gpx3>; 226 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 227 pinctrl-names = "default"; 228 pinctrl-0 = <&s5m8767_irq>; 229 230 vinb1-supply = <&main_dc_reg>; 231 vinb2-supply = <&main_dc_reg>; 232 vinb3-supply = <&main_dc_reg>; 233 vinb4-supply = <&main_dc_reg>; 234 vinb5-supply = <&main_dc_reg>; 235 vinb6-supply = <&main_dc_reg>; 236 vinb7-supply = <&main_dc_reg>; 237 vinb8-supply = <&main_dc_reg>; 238 vinb9-supply = <&main_dc_reg>; 239 240 vinl1-supply = <&buck7_reg>; 241 vinl2-supply = <&buck7_reg>; 242 vinl3-supply = <&buck7_reg>; 243 vinl4-supply = <&main_dc_reg>; 244 vinl5-supply = <&main_dc_reg>; 245 vinl6-supply = <&main_dc_reg>; 246 vinl7-supply = <&main_dc_reg>; 247 vinl8-supply = <&buck8_reg>; 248 vinl9-supply = <&buck8_reg>; 249 250 s5m8767,pmic-buck2-dvs-voltage = <1300000>; 251 s5m8767,pmic-buck3-dvs-voltage = <1100000>; 252 s5m8767,pmic-buck4-dvs-voltage = <1200000>; 253 s5m8767,pmic-buck-dvs-gpios = <&gpd1 0 GPIO_ACTIVE_HIGH>, 254 <&gpd1 1 GPIO_ACTIVE_HIGH>, 255 <&gpd1 2 GPIO_ACTIVE_HIGH>; 256 s5m8767,pmic-buck-ds-gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>, 257 <&gpx2 4 GPIO_ACTIVE_HIGH>, 258 <&gpx2 5 GPIO_ACTIVE_HIGH>; 259 260 s5m8767_osc: clocks { 261 compatible = "samsung,s5m8767-clk"; 262 #clock-cells = <1>; 263 clock-output-names = "s5m8767_ap", "unused1", "unused2"; 264 }; 265 266 regulators { 267 ldo1_reg: LDO1 { 268 regulator-name = "VDD_ALIVE_1.0V"; 269 regulator-min-microvolt = <1100000>; 270 regulator-max-microvolt = <1100000>; 271 regulator-always-on; 272 regulator-boot-on; 273 op_mode = <1>; 274 }; 275 276 ldo2_reg: LDO2 { 277 regulator-name = "VDD_28IO_DP_1.35V"; 278 regulator-min-microvolt = <1200000>; 279 regulator-max-microvolt = <1200000>; 280 regulator-always-on; 281 regulator-boot-on; 282 op_mode = <1>; 283 }; 284 285 ldo3_reg: LDO3 { 286 regulator-name = "VDD_COMMON1_1.8V"; 287 regulator-min-microvolt = <1800000>; 288 regulator-max-microvolt = <1800000>; 289 regulator-always-on; 290 regulator-boot-on; 291 op_mode = <1>; 292 }; 293 294 ldo4_reg: LDO4 { 295 regulator-name = "VDD_IOPERI_1.8V"; 296 regulator-min-microvolt = <1800000>; 297 regulator-max-microvolt = <1800000>; 298 regulator-always-on; 299 op_mode = <1>; 300 }; 301 302 ldo5_reg: LDO5 { 303 regulator-name = "VDD_EXT_1.8V"; 304 regulator-min-microvolt = <1800000>; 305 regulator-max-microvolt = <1800000>; 306 regulator-always-on; 307 regulator-boot-on; 308 op_mode = <1>; 309 }; 310 311 ldo6_reg: LDO6 { 312 regulator-name = "VDD_MPLL_1.1V"; 313 regulator-min-microvolt = <1100000>; 314 regulator-max-microvolt = <1100000>; 315 regulator-always-on; 316 regulator-boot-on; 317 op_mode = <1>; 318 }; 319 320 ldo7_reg: LDO7 { 321 regulator-name = "VDD_XPLL_1.1V"; 322 regulator-min-microvolt = <1100000>; 323 regulator-max-microvolt = <1100000>; 324 regulator-always-on; 325 regulator-boot-on; 326 op_mode = <1>; 327 }; 328 329 ldo8_reg: LDO8 { 330 regulator-name = "VDD_COMMON2_1.0V"; 331 regulator-min-microvolt = <1000000>; 332 regulator-max-microvolt = <1000000>; 333 regulator-always-on; 334 regulator-boot-on; 335 op_mode = <1>; 336 }; 337 338 ldo9_reg: LDO9 { 339 regulator-name = "VDD_33ON_3.0V"; 340 regulator-min-microvolt = <3000000>; 341 regulator-max-microvolt = <3000000>; 342 op_mode = <1>; 343 }; 344 345 ldo10_reg: LDO10 { 346 regulator-name = "VDD_COMMON3_1.8V"; 347 regulator-min-microvolt = <1800000>; 348 regulator-max-microvolt = <1800000>; 349 regulator-always-on; 350 regulator-boot-on; 351 op_mode = <1>; 352 }; 353 354 ldo11_reg: LDO11 { 355 regulator-name = "VDD_ABB2_1.8V"; 356 regulator-min-microvolt = <1800000>; 357 regulator-max-microvolt = <1800000>; 358 regulator-always-on; 359 regulator-boot-on; 360 op_mode = <1>; 361 }; 362 363 ldo12_reg: LDO12 { 364 regulator-name = "VDD_USB_3.0V"; 365 regulator-min-microvolt = <3000000>; 366 regulator-max-microvolt = <3000000>; 367 regulator-always-on; 368 regulator-boot-on; 369 op_mode = <1>; 370 }; 371 372 ldo13_reg: LDO13 { 373 regulator-name = "VDDQ_C2C_W_1.8V"; 374 regulator-min-microvolt = <1800000>; 375 regulator-max-microvolt = <1800000>; 376 regulator-always-on; 377 regulator-boot-on; 378 op_mode = <1>; 379 }; 380 381 ldo14_reg: LDO14 { 382 regulator-name = "VDD18_ABB0_3_1.8V"; 383 regulator-min-microvolt = <1800000>; 384 regulator-max-microvolt = <1800000>; 385 regulator-always-on; 386 regulator-boot-on; 387 op_mode = <1>; 388 }; 389 390 ldo15_reg: LDO15 { 391 regulator-name = "VDD10_COMMON4_1.0V"; 392 regulator-min-microvolt = <1000000>; 393 regulator-max-microvolt = <1000000>; 394 regulator-always-on; 395 regulator-boot-on; 396 op_mode = <1>; 397 }; 398 399 ldo16_reg: LDO16 { 400 regulator-name = "VDD18_HSIC_1.8V"; 401 regulator-min-microvolt = <1800000>; 402 regulator-max-microvolt = <1800000>; 403 regulator-always-on; 404 regulator-boot-on; 405 op_mode = <1>; 406 }; 407 408 ldo17_reg: LDO17 { 409 regulator-name = "VDDQ_MMC2_3_2.8V"; 410 regulator-min-microvolt = <2800000>; 411 regulator-max-microvolt = <2800000>; 412 regulator-always-on; 413 regulator-boot-on; 414 op_mode = <1>; 415 }; 416 417 ldo18_reg: LDO18 { 418 regulator-name = "VDD_33ON_2.8V"; 419 regulator-min-microvolt = <2800000>; 420 regulator-max-microvolt = <2800000>; 421 op_mode = <1>; 422 }; 423 424 ldo22_reg: LDO22 { 425 regulator-name = "EXT_33_OFF"; 426 regulator-min-microvolt = <3300000>; 427 regulator-max-microvolt = <3300000>; 428 op_mode = <1>; 429 }; 430 431 ldo23_reg: LDO23 { 432 regulator-name = "EXT_28_OFF"; 433 regulator-min-microvolt = <2800000>; 434 regulator-max-microvolt = <2800000>; 435 op_mode = <1>; 436 }; 437 438 ldo25_reg: LDO25 { 439 regulator-name = "PVDD_LDO25"; 440 regulator-min-microvolt = <1200000>; 441 regulator-max-microvolt = <1200000>; 442 op_mode = <1>; 443 }; 444 445 ldo26_reg: LDO26 { 446 regulator-name = "EXT_18_OFF"; 447 regulator-min-microvolt = <1800000>; 448 regulator-max-microvolt = <1800000>; 449 op_mode = <1>; 450 }; 451 452 buck1_reg: BUCK1 { 453 regulator-name = "vdd_mif"; 454 regulator-min-microvolt = <950000>; 455 regulator-max-microvolt = <1200000>; 456 regulator-always-on; 457 regulator-boot-on; 458 op_mode = <1>; 459 }; 460 461 buck2_reg: BUCK2 { 462 regulator-name = "vdd_arm"; 463 regulator-min-microvolt = <912500>; 464 regulator-max-microvolt = <1300000>; 465 regulator-always-on; 466 regulator-boot-on; 467 op_mode = <1>; 468 }; 469 470 buck3_reg: BUCK3 { 471 regulator-name = "vdd_int"; 472 regulator-min-microvolt = <900000>; 473 regulator-max-microvolt = <1200000>; 474 regulator-always-on; 475 regulator-boot-on; 476 op_mode = <1>; 477 }; 478 479 buck4_reg: BUCK4 { 480 regulator-name = "vdd_g3d"; 481 regulator-min-microvolt = <850000>; 482 regulator-max-microvolt = <1300000>; 483 regulator-always-on; 484 regulator-boot-on; 485 op_mode = <1>; 486 }; 487 488 buck5_reg: BUCK5 { 489 regulator-name = "VDD_MEM_1.35V"; 490 regulator-min-microvolt = <750000>; 491 regulator-max-microvolt = <1355000>; 492 regulator-always-on; 493 regulator-boot-on; 494 op_mode = <1>; 495 }; 496 497 buck7_reg: BUCK7 { 498 regulator-name = "PVDD_BUCK7"; 499 regulator-always-on; 500 op_mode = <1>; 501 }; 502 503 buck8_reg: BUCK8 { 504 regulator-name = "PVDD_BUCK8"; 505 regulator-always-on; 506 op_mode = <1>; 507 }; 508 509 buck9_reg: BUCK9 { 510 regulator-name = "VDD_33_OFF_EXT1"; 511 regulator-min-microvolt = <750000>; 512 regulator-max-microvolt = <3000000>; 513 op_mode = <1>; 514 }; 515 }; 516 }; 517}; 518 519&i2c_3 { 520 status = "okay"; 521 522 wm1811: codec@1a { 523 compatible = "wlf,wm1811"; 524 reg = <0x1a>; 525 clocks = <&i2s0 CLK_I2S_CDCLK>; 526 clock-names = "MCLK1"; 527 528 AVDD2-supply = <&main_dc_reg>; 529 CPVDD-supply = <&main_dc_reg>; 530 DBVDD1-supply = <&main_dc_reg>; 531 DBVDD2-supply = <&main_dc_reg>; 532 DBVDD3-supply = <&main_dc_reg>; 533 LDO1VDD-supply = <&main_dc_reg>; 534 SPKVDD1-supply = <&main_dc_reg>; 535 SPKVDD2-supply = <&main_dc_reg>; 536 537 wlf,ldo1ena = <&gpb0 0 GPIO_ACTIVE_HIGH>; 538 wlf,ldo2ena = <&gpb0 1 GPIO_ACTIVE_HIGH>; 539 }; 540}; 541 542&i2c_8 { 543 status = "okay"; 544 /* used by HDMI PHY */ 545 samsung,i2c-sda-delay = <100>; 546 samsung,i2c-max-bus-freq = <66000>; 547}; 548 549&i2c_9 { 550 status = "okay"; 551 samsung,i2c-sda-delay = <100>; 552 samsung,i2c-max-bus-freq = <40000>; 553 samsung,i2c-slave-addr = <0x38>; 554 555 sata_phy_i2c:sata-phy@38 { 556 compatible = "samsung,exynos-sataphy-i2c"; 557 reg = <0x38>; 558 }; 559}; 560 561&i2s0 { 562 assigned-clocks = <&i2s0 CLK_I2S_RCLK_SRC>; 563 assigned-clock-parents = <&clock_audss EXYNOS_I2S_BUS>; 564 status = "okay"; 565}; 566 567&i2s0_bus { 568 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV2>; 569}; 570 571&mali { 572 mali-supply = <&buck4_reg>; 573 status = "okay"; 574}; 575 576&mixer { 577 status = "okay"; 578}; 579 580&mmc_0 { 581 status = "okay"; 582 broken-cd; 583 card-detect-delay = <200>; 584 samsung,dw-mshc-ciu-div = <3>; 585 samsung,dw-mshc-sdr-timing = <2 3>; 586 samsung,dw-mshc-ddr-timing = <1 2>; 587 vmmc-supply = <&mmc_reg>; 588 pinctrl-names = "default"; 589 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>; 590 bus-width = <8>; 591 cap-mmc-highspeed; 592}; 593 594&mmc_2 { 595 status = "okay"; 596 card-detect-delay = <200>; 597 samsung,dw-mshc-ciu-div = <3>; 598 samsung,dw-mshc-sdr-timing = <2 3>; 599 samsung,dw-mshc-ddr-timing = <1 2>; 600 vmmc-supply = <&mmc_reg>; 601 pinctrl-names = "default"; 602 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; 603 bus-width = <4>; 604 disable-wp; 605 cap-sd-highspeed; 606}; 607 608&pinctrl_0 { 609 s5m8767_irq: s5m8767-irq { 610 samsung,pins = "gpx3-2"; 611 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 612 }; 613}; 614 615&rtc { 616 clocks = <&clock CLK_RTC>, <&s5m8767_osc S2MPS11_CLK_AP>; 617 clock-names = "rtc", "rtc_src"; 618 status = "okay"; 619}; 620 621&sata { 622 status = "okay"; 623}; 624 625&sata_phy { 626 status = "okay"; 627 samsung,exynos-sataphy-i2c-phandle = <&sata_phy_i2c>; 628}; 629 630&soc { 631 /* 632 * For unknown reasons HDMI-DDC does not work with Exynos I2C 633 * controllers. Lets use software I2C over GPIO pins as a workaround. 634 */ 635 i2c_ddc: i2c-gpio { 636 pinctrl-names = "default"; 637 pinctrl-0 = <&i2c2_gpio_bus>; 638 status = "okay"; 639 compatible = "i2c-gpio"; 640 gpios = <&gpa0 6 0 /* sda */ 641 &gpa0 7 0 /* scl */ 642 >; 643 i2c-gpio,delay-us = <2>; 644 #address-cells = <1>; 645 #size-cells = <0>; 646 }; 647}; 648