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