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