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