1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Hardkernel Odroid XU3/XU3-Lite/XU4/HC1 boards core device tree source 4 * 5 * Copyright (c) 2017 Marek Szyprowski 6 * Copyright (c) 2013-2017 Samsung Electronics Co., Ltd. 7 * http://www.samsung.com 8 */ 9 10#include <dt-bindings/clock/samsung,s2mps11.h> 11#include <dt-bindings/interrupt-controller/irq.h> 12#include <dt-bindings/gpio/gpio.h> 13#include "exynos5800.dtsi" 14#include "exynos5422-cpus.dtsi" 15 16/ { 17 memory@40000000 { 18 device_type = "memory"; 19 reg = <0x40000000 0x7EA00000>; 20 }; 21 22 chosen { 23 stdout-path = "serial2:115200n8"; 24 }; 25 26 firmware@2073000 { 27 compatible = "samsung,secure-firmware"; 28 reg = <0x02073000 0x1000>; 29 }; 30 31 fixed-rate-clocks { 32 oscclk { 33 compatible = "samsung,exynos5420-oscclk"; 34 clock-frequency = <24000000>; 35 }; 36 }; 37}; 38 39&adc { 40 vdd-supply = <&ldo4_reg>; 41 status = "okay"; 42}; 43 44&bus_wcore { 45 devfreq-events = <&nocp_mem0_0>, <&nocp_mem0_1>, 46 <&nocp_mem1_0>, <&nocp_mem1_1>; 47 vdd-supply = <&buck3_reg>; 48 exynos,saturation-ratio = <100>; 49 status = "okay"; 50}; 51 52&bus_noc { 53 devfreq = <&bus_wcore>; 54 status = "okay"; 55}; 56 57&bus_fsys_apb { 58 devfreq = <&bus_wcore>; 59 status = "okay"; 60}; 61 62&bus_fsys { 63 devfreq = <&bus_wcore>; 64 status = "okay"; 65}; 66 67&bus_fsys2 { 68 devfreq = <&bus_wcore>; 69 status = "okay"; 70}; 71 72&bus_mfc { 73 devfreq = <&bus_wcore>; 74 status = "okay"; 75}; 76 77&bus_gen { 78 devfreq = <&bus_wcore>; 79 status = "okay"; 80}; 81 82&bus_peri { 83 devfreq = <&bus_wcore>; 84 status = "okay"; 85}; 86 87&bus_g2d { 88 devfreq = <&bus_wcore>; 89 status = "okay"; 90}; 91 92&bus_g2d_acp { 93 devfreq = <&bus_wcore>; 94 status = "okay"; 95}; 96 97&bus_jpeg { 98 devfreq = <&bus_wcore>; 99 status = "okay"; 100}; 101 102&bus_jpeg_apb { 103 devfreq = <&bus_wcore>; 104 status = "okay"; 105}; 106 107&bus_disp1_fimd { 108 devfreq = <&bus_wcore>; 109 status = "okay"; 110}; 111 112&bus_disp1 { 113 devfreq = <&bus_wcore>; 114 status = "okay"; 115}; 116 117&bus_gscl_scaler { 118 devfreq = <&bus_wcore>; 119 status = "okay"; 120}; 121 122&bus_mscl { 123 devfreq = <&bus_wcore>; 124 status = "okay"; 125}; 126 127&cpu0 { 128 cpu-supply = <&buck6_reg>; 129}; 130 131&cpu4 { 132 cpu-supply = <&buck2_reg>; 133}; 134 135&hsi2c_4 { 136 status = "okay"; 137 138 s2mps11_pmic@66 { 139 compatible = "samsung,s2mps11-pmic"; 140 reg = <0x66>; 141 samsung,s2mps11-acokb-ground; 142 143 interrupt-parent = <&gpx0>; 144 interrupts = <4 IRQ_TYPE_EDGE_FALLING>; 145 pinctrl-names = "default"; 146 pinctrl-0 = <&s2mps11_irq>; 147 148 s2mps11_osc: clocks { 149 compatible = "samsung,s2mps11-clk"; 150 #clock-cells = <1>; 151 clock-output-names = "s2mps11_ap", 152 "s2mps11_cp", "s2mps11_bt"; 153 }; 154 155 regulators { 156 ldo1_reg: LDO1 { 157 regulator-name = "vdd_ldo1"; 158 regulator-min-microvolt = <1000000>; 159 regulator-max-microvolt = <1000000>; 160 regulator-always-on; 161 }; 162 163 ldo2_reg: LDO2 { 164 regulator-name = "vdd_ldo2"; 165 regulator-min-microvolt = <1800000>; 166 regulator-max-microvolt = <1800000>; 167 regulator-always-on; 168 }; 169 170 ldo3_reg: LDO3 { 171 regulator-name = "vddq_mmc0"; 172 regulator-min-microvolt = <1800000>; 173 regulator-max-microvolt = <1800000>; 174 }; 175 176 ldo4_reg: LDO4 { 177 regulator-name = "vdd_adc"; 178 regulator-min-microvolt = <1800000>; 179 regulator-max-microvolt = <1800000>; 180 }; 181 182 ldo5_reg: LDO5 { 183 regulator-name = "vdd_ldo5"; 184 regulator-min-microvolt = <1800000>; 185 regulator-max-microvolt = <1800000>; 186 regulator-always-on; 187 }; 188 189 ldo6_reg: LDO6 { 190 regulator-name = "vdd_ldo6"; 191 regulator-min-microvolt = <1000000>; 192 regulator-max-microvolt = <1000000>; 193 regulator-always-on; 194 }; 195 196 ldo7_reg: LDO7 { 197 regulator-name = "vdd_ldo7"; 198 regulator-min-microvolt = <1800000>; 199 regulator-max-microvolt = <1800000>; 200 regulator-always-on; 201 }; 202 203 ldo8_reg: LDO8 { 204 regulator-name = "vdd_ldo8"; 205 regulator-min-microvolt = <1800000>; 206 regulator-max-microvolt = <1800000>; 207 regulator-always-on; 208 }; 209 210 ldo9_reg: LDO9 { 211 regulator-name = "vdd_ldo9"; 212 regulator-min-microvolt = <3000000>; 213 regulator-max-microvolt = <3000000>; 214 regulator-always-on; 215 }; 216 217 ldo10_reg: LDO10 { 218 regulator-name = "vdd_ldo10"; 219 regulator-min-microvolt = <1800000>; 220 regulator-max-microvolt = <1800000>; 221 regulator-always-on; 222 }; 223 224 ldo11_reg: LDO11 { 225 regulator-name = "vdd_ldo11"; 226 regulator-min-microvolt = <1000000>; 227 regulator-max-microvolt = <1000000>; 228 regulator-always-on; 229 }; 230 231 ldo12_reg: LDO12 { 232 /* Unused */ 233 regulator-name = "vdd_ldo12"; 234 regulator-min-microvolt = <800000>; 235 regulator-max-microvolt = <2375000>; 236 }; 237 238 ldo13_reg: LDO13 { 239 regulator-name = "vddq_mmc2"; 240 regulator-min-microvolt = <1800000>; 241 regulator-max-microvolt = <2800000>; 242 }; 243 244 ldo14_reg: LDO14 { 245 /* Unused */ 246 regulator-name = "vdd_ldo14"; 247 regulator-min-microvolt = <800000>; 248 regulator-max-microvolt = <3950000>; 249 }; 250 251 ldo15_reg: LDO15 { 252 regulator-name = "vdd_ldo15"; 253 regulator-min-microvolt = <3300000>; 254 regulator-max-microvolt = <3300000>; 255 regulator-always-on; 256 }; 257 258 ldo16_reg: LDO16 { 259 /* Unused */ 260 regulator-name = "vdd_ldo16"; 261 regulator-min-microvolt = <800000>; 262 regulator-max-microvolt = <3950000>; 263 }; 264 265 ldo17_reg: LDO17 { 266 regulator-name = "vdd_ldo17"; 267 regulator-min-microvolt = <3300000>; 268 regulator-max-microvolt = <3300000>; 269 regulator-always-on; 270 }; 271 272 ldo18_reg: LDO18 { 273 regulator-name = "vdd_emmc_1V8"; 274 regulator-min-microvolt = <1800000>; 275 regulator-max-microvolt = <1800000>; 276 }; 277 278 ldo19_reg: LDO19 { 279 regulator-name = "vdd_sd"; 280 regulator-min-microvolt = <2800000>; 281 regulator-max-microvolt = <2800000>; 282 }; 283 284 ldo20_reg: LDO20 { 285 /* Unused */ 286 regulator-name = "vdd_ldo20"; 287 regulator-min-microvolt = <800000>; 288 regulator-max-microvolt = <3950000>; 289 }; 290 291 ldo21_reg: LDO21 { 292 /* Unused */ 293 regulator-name = "vdd_ldo21"; 294 regulator-min-microvolt = <800000>; 295 regulator-max-microvolt = <3950000>; 296 }; 297 298 ldo22_reg: LDO22 { 299 /* Unused */ 300 regulator-name = "vdd_ldo22"; 301 regulator-min-microvolt = <800000>; 302 regulator-max-microvolt = <2375000>; 303 }; 304 305 ldo23_reg: LDO23 { 306 regulator-name = "vdd_mifs"; 307 regulator-min-microvolt = <1100000>; 308 regulator-max-microvolt = <1100000>; 309 regulator-always-on; 310 }; 311 312 ldo24_reg: LDO24 { 313 /* Unused */ 314 regulator-name = "vdd_ldo24"; 315 regulator-min-microvolt = <800000>; 316 regulator-max-microvolt = <3950000>; 317 }; 318 319 ldo25_reg: LDO25 { 320 /* Unused */ 321 regulator-name = "vdd_ldo25"; 322 regulator-min-microvolt = <800000>; 323 regulator-max-microvolt = <3950000>; 324 }; 325 326 ldo26_reg: LDO26 { 327 /* Used on XU3, XU3-Lite and XU4 */ 328 regulator-name = "vdd_ldo26"; 329 regulator-min-microvolt = <800000>; 330 regulator-max-microvolt = <3950000>; 331 }; 332 333 ldo27_reg: LDO27 { 334 regulator-name = "vdd_g3ds"; 335 regulator-min-microvolt = <1000000>; 336 regulator-max-microvolt = <1000000>; 337 regulator-always-on; 338 }; 339 340 ldo28_reg: LDO28 { 341 /* Used on XU3 */ 342 regulator-name = "vdd_ldo28"; 343 regulator-min-microvolt = <800000>; 344 regulator-max-microvolt = <3950000>; 345 }; 346 347 ldo29_reg: LDO29 { 348 /* Unused */ 349 regulator-name = "vdd_ldo29"; 350 regulator-min-microvolt = <800000>; 351 regulator-max-microvolt = <3950000>; 352 }; 353 354 ldo30_reg: LDO30 { 355 /* Unused */ 356 regulator-name = "vdd_ldo30"; 357 regulator-min-microvolt = <800000>; 358 regulator-max-microvolt = <3950000>; 359 }; 360 361 ldo31_reg: LDO31 { 362 /* Unused */ 363 regulator-name = "vdd_ldo31"; 364 regulator-min-microvolt = <800000>; 365 regulator-max-microvolt = <3950000>; 366 }; 367 368 ldo32_reg: LDO32 { 369 /* Unused */ 370 regulator-name = "vdd_ldo32"; 371 regulator-min-microvolt = <800000>; 372 regulator-max-microvolt = <3950000>; 373 }; 374 375 ldo33_reg: LDO33 { 376 /* Unused */ 377 regulator-name = "vdd_ldo33"; 378 regulator-min-microvolt = <800000>; 379 regulator-max-microvolt = <3950000>; 380 }; 381 382 ldo34_reg: LDO34 { 383 /* Unused */ 384 regulator-name = "vdd_ldo34"; 385 regulator-min-microvolt = <800000>; 386 regulator-max-microvolt = <3950000>; 387 }; 388 389 ldo35_reg: LDO35 { 390 /* Unused */ 391 regulator-name = "vdd_ldo35"; 392 regulator-min-microvolt = <800000>; 393 regulator-max-microvolt = <2375000>; 394 }; 395 396 ldo36_reg: LDO36 { 397 /* Unused */ 398 regulator-name = "vdd_ldo36"; 399 regulator-min-microvolt = <800000>; 400 regulator-max-microvolt = <3950000>; 401 }; 402 403 ldo37_reg: LDO37 { 404 /* Unused */ 405 regulator-name = "vdd_ldo37"; 406 regulator-min-microvolt = <800000>; 407 regulator-max-microvolt = <3950000>; 408 }; 409 410 ldo38_reg: LDO38 { 411 /* Unused */ 412 regulator-name = "vdd_ldo38"; 413 regulator-min-microvolt = <800000>; 414 regulator-max-microvolt = <3950000>; 415 }; 416 417 buck1_reg: BUCK1 { 418 regulator-name = "vdd_mif"; 419 regulator-min-microvolt = <800000>; 420 regulator-max-microvolt = <1300000>; 421 regulator-always-on; 422 regulator-boot-on; 423 }; 424 425 buck2_reg: BUCK2 { 426 regulator-name = "vdd_arm"; 427 regulator-min-microvolt = <800000>; 428 regulator-max-microvolt = <1500000>; 429 regulator-always-on; 430 regulator-boot-on; 431 }; 432 433 buck3_reg: BUCK3 { 434 regulator-name = "vdd_int"; 435 regulator-min-microvolt = <800000>; 436 regulator-max-microvolt = <1400000>; 437 regulator-always-on; 438 regulator-boot-on; 439 }; 440 441 buck4_reg: BUCK4 { 442 regulator-name = "vdd_g3d"; 443 regulator-min-microvolt = <800000>; 444 regulator-max-microvolt = <1400000>; 445 regulator-always-on; 446 regulator-boot-on; 447 }; 448 449 buck5_reg: BUCK5 { 450 regulator-name = "vdd_mem"; 451 regulator-min-microvolt = <800000>; 452 regulator-max-microvolt = <1400000>; 453 regulator-always-on; 454 regulator-boot-on; 455 }; 456 457 buck6_reg: BUCK6 { 458 regulator-name = "vdd_kfc"; 459 regulator-min-microvolt = <800000>; 460 regulator-max-microvolt = <1500000>; 461 regulator-always-on; 462 regulator-boot-on; 463 }; 464 465 buck7_reg: BUCK7 { 466 regulator-name = "vdd_1.0v_ldo"; 467 regulator-min-microvolt = <800000>; 468 regulator-max-microvolt = <1500000>; 469 regulator-always-on; 470 regulator-boot-on; 471 }; 472 473 buck8_reg: BUCK8 { 474 regulator-name = "vdd_1.8v_ldo"; 475 regulator-min-microvolt = <800000>; 476 regulator-max-microvolt = <2000000>; 477 regulator-always-on; 478 regulator-boot-on; 479 }; 480 481 buck9_reg: BUCK9 { 482 regulator-name = "vdd_2.8v_ldo"; 483 regulator-min-microvolt = <3000000>; 484 regulator-max-microvolt = <3750000>; 485 regulator-always-on; 486 regulator-boot-on; 487 }; 488 489 buck10_reg: BUCK10 { 490 regulator-name = "vdd_vmem"; 491 regulator-min-microvolt = <2850000>; 492 regulator-max-microvolt = <2850000>; 493 regulator-always-on; 494 regulator-boot-on; 495 }; 496 }; 497 }; 498}; 499 500&mmc_2 { 501 status = "okay"; 502 card-detect-delay = <200>; 503 samsung,dw-mshc-ciu-div = <3>; 504 samsung,dw-mshc-sdr-timing = <0 4>; 505 samsung,dw-mshc-ddr-timing = <0 2>; 506 pinctrl-names = "default"; 507 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_wp &sd2_bus1 &sd2_bus4>; 508 bus-width = <4>; 509 cap-sd-highspeed; 510 max-frequency = <200000000>; 511 vmmc-supply = <&ldo19_reg>; 512 vqmmc-supply = <&ldo13_reg>; 513 sd-uhs-sdr50; 514 sd-uhs-sdr104; 515 sd-uhs-ddr50; 516}; 517 518&nocp_mem0_0 { 519 status = "okay"; 520}; 521 522&nocp_mem0_1 { 523 status = "okay"; 524}; 525 526&nocp_mem1_0 { 527 status = "okay"; 528}; 529 530&nocp_mem1_1 { 531 status = "okay"; 532}; 533 534&pinctrl_0 { 535 s2mps11_irq: s2mps11-irq { 536 samsung,pins = "gpx0-4"; 537 samsung,pin-function = <EXYNOS_PIN_FUNC_F>; 538 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 539 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 540 }; 541}; 542 543&tmu_cpu0 { 544 vtmu-supply = <&ldo7_reg>; 545}; 546 547&tmu_cpu1 { 548 vtmu-supply = <&ldo7_reg>; 549}; 550 551&tmu_cpu2 { 552 vtmu-supply = <&ldo7_reg>; 553}; 554 555&tmu_cpu3 { 556 vtmu-supply = <&ldo7_reg>; 557}; 558 559&tmu_gpu { 560 vtmu-supply = <&ldo7_reg>; 561}; 562 563&rtc { 564 status = "okay"; 565 clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>; 566 clock-names = "rtc", "rtc_src"; 567}; 568 569&usbdrd_dwc3_0 { 570 dr_mode = "host"; 571}; 572 573/* usbdrd_dwc3_1 mode customized in each board */ 574 575&usbdrd3_0 { 576 vdd33-supply = <&ldo9_reg>; 577 vdd10-supply = <&ldo11_reg>; 578}; 579 580&usbdrd3_1 { 581 vdd33-supply = <&ldo9_reg>; 582 vdd10-supply = <&ldo11_reg>; 583}; 584