1/* 2 * SAMSUNG EXYNOS7 SoC device tree source 3 * 4 * Copyright (c) 2014 Samsung Electronics Co., Ltd. 5 * http://www.samsung.com 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as 9 * published by the Free Software Foundation. 10 */ 11 12#include <dt-bindings/clock/exynos7-clk.h> 13#include <dt-bindings/interrupt-controller/arm-gic.h> 14 15/ { 16 compatible = "samsung,exynos7"; 17 interrupt-parent = <&gic>; 18 #address-cells = <2>; 19 #size-cells = <2>; 20 21 aliases { 22 pinctrl0 = &pinctrl_alive; 23 pinctrl1 = &pinctrl_bus0; 24 pinctrl2 = &pinctrl_nfc; 25 pinctrl3 = &pinctrl_touch; 26 pinctrl4 = &pinctrl_ff; 27 pinctrl5 = &pinctrl_ese; 28 pinctrl6 = &pinctrl_fsys0; 29 pinctrl7 = &pinctrl_fsys1; 30 pinctrl8 = &pinctrl_bus1; 31 tmuctrl0 = &tmuctrl_0; 32 }; 33 34 cpus { 35 #address-cells = <1>; 36 #size-cells = <0>; 37 38 cpu@0 { 39 device_type = "cpu"; 40 compatible = "arm,cortex-a57", "arm,armv8"; 41 reg = <0x0>; 42 enable-method = "psci"; 43 }; 44 45 cpu@1 { 46 device_type = "cpu"; 47 compatible = "arm,cortex-a57", "arm,armv8"; 48 reg = <0x1>; 49 enable-method = "psci"; 50 }; 51 52 cpu@2 { 53 device_type = "cpu"; 54 compatible = "arm,cortex-a57", "arm,armv8"; 55 reg = <0x2>; 56 enable-method = "psci"; 57 }; 58 59 cpu@3 { 60 device_type = "cpu"; 61 compatible = "arm,cortex-a57", "arm,armv8"; 62 reg = <0x3>; 63 enable-method = "psci"; 64 }; 65 }; 66 67 psci { 68 compatible = "arm,psci-0.2"; 69 method = "smc"; 70 }; 71 72 soc: soc { 73 compatible = "simple-bus"; 74 #address-cells = <1>; 75 #size-cells = <1>; 76 ranges = <0 0 0 0x18000000>; 77 78 chipid@10000000 { 79 compatible = "samsung,exynos4210-chipid"; 80 reg = <0x10000000 0x100>; 81 }; 82 83 fin_pll: xxti { 84 compatible = "fixed-clock"; 85 clock-output-names = "fin_pll"; 86 #clock-cells = <0>; 87 }; 88 89 gic: interrupt-controller@11001000 { 90 compatible = "arm,gic-400"; 91 #interrupt-cells = <3>; 92 #address-cells = <0>; 93 interrupt-controller; 94 reg = <0x11001000 0x1000>, 95 <0x11002000 0x1000>, 96 <0x11004000 0x2000>, 97 <0x11006000 0x2000>; 98 }; 99 100 amba { 101 compatible = "simple-bus"; 102 #address-cells = <1>; 103 #size-cells = <1>; 104 ranges; 105 106 pdma0: pdma@10E10000 { 107 compatible = "arm,pl330", "arm,primecell"; 108 reg = <0x10E10000 0x1000>; 109 interrupts = <0 225 0>; 110 clocks = <&clock_fsys0 ACLK_PDMA0>; 111 clock-names = "apb_pclk"; 112 #dma-cells = <1>; 113 #dma-channels = <8>; 114 #dma-requests = <32>; 115 }; 116 117 pdma1: pdma@10EB0000 { 118 compatible = "arm,pl330", "arm,primecell"; 119 reg = <0x10EB0000 0x1000>; 120 interrupts = <0 226 0>; 121 clocks = <&clock_fsys0 ACLK_PDMA1>; 122 clock-names = "apb_pclk"; 123 #dma-cells = <1>; 124 #dma-channels = <8>; 125 #dma-requests = <32>; 126 }; 127 }; 128 129 clock_topc: clock-controller@10570000 { 130 compatible = "samsung,exynos7-clock-topc"; 131 reg = <0x10570000 0x10000>; 132 #clock-cells = <1>; 133 }; 134 135 clock_top0: clock-controller@105d0000 { 136 compatible = "samsung,exynos7-clock-top0"; 137 reg = <0x105d0000 0xb000>; 138 #clock-cells = <1>; 139 clocks = <&fin_pll>, <&clock_topc DOUT_SCLK_BUS0_PLL>, 140 <&clock_topc DOUT_SCLK_BUS1_PLL>, 141 <&clock_topc DOUT_SCLK_CC_PLL>, 142 <&clock_topc DOUT_SCLK_MFC_PLL>; 143 clock-names = "fin_pll", "dout_sclk_bus0_pll", 144 "dout_sclk_bus1_pll", "dout_sclk_cc_pll", 145 "dout_sclk_mfc_pll"; 146 }; 147 148 clock_top1: clock-controller@105e0000 { 149 compatible = "samsung,exynos7-clock-top1"; 150 reg = <0x105e0000 0xb000>; 151 #clock-cells = <1>; 152 clocks = <&fin_pll>, <&clock_topc DOUT_SCLK_BUS0_PLL>, 153 <&clock_topc DOUT_SCLK_BUS1_PLL>, 154 <&clock_topc DOUT_SCLK_CC_PLL>, 155 <&clock_topc DOUT_SCLK_MFC_PLL>; 156 clock-names = "fin_pll", "dout_sclk_bus0_pll", 157 "dout_sclk_bus1_pll", "dout_sclk_cc_pll", 158 "dout_sclk_mfc_pll"; 159 }; 160 161 clock_ccore: clock-controller@105b0000 { 162 compatible = "samsung,exynos7-clock-ccore"; 163 reg = <0x105b0000 0xd00>; 164 #clock-cells = <1>; 165 clocks = <&fin_pll>, <&clock_topc DOUT_ACLK_CCORE_133>; 166 clock-names = "fin_pll", "dout_aclk_ccore_133"; 167 }; 168 169 clock_peric0: clock-controller@13610000 { 170 compatible = "samsung,exynos7-clock-peric0"; 171 reg = <0x13610000 0xd00>; 172 #clock-cells = <1>; 173 clocks = <&fin_pll>, <&clock_top0 DOUT_ACLK_PERIC0>, 174 <&clock_top0 CLK_SCLK_UART0>; 175 clock-names = "fin_pll", "dout_aclk_peric0_66", 176 "sclk_uart0"; 177 }; 178 179 clock_peric1: clock-controller@14c80000 { 180 compatible = "samsung,exynos7-clock-peric1"; 181 reg = <0x14c80000 0xd00>; 182 #clock-cells = <1>; 183 clocks = <&fin_pll>, <&clock_top0 DOUT_ACLK_PERIC1>, 184 <&clock_top0 CLK_SCLK_UART1>, 185 <&clock_top0 CLK_SCLK_UART2>, 186 <&clock_top0 CLK_SCLK_UART3>; 187 clock-names = "fin_pll", "dout_aclk_peric1_66", 188 "sclk_uart1", "sclk_uart2", "sclk_uart3"; 189 }; 190 191 clock_peris: clock-controller@10040000 { 192 compatible = "samsung,exynos7-clock-peris"; 193 reg = <0x10040000 0xd00>; 194 #clock-cells = <1>; 195 clocks = <&fin_pll>, <&clock_topc DOUT_ACLK_PERIS>; 196 clock-names = "fin_pll", "dout_aclk_peris_66"; 197 }; 198 199 clock_fsys0: clock-controller@10e90000 { 200 compatible = "samsung,exynos7-clock-fsys0"; 201 reg = <0x10e90000 0xd00>; 202 #clock-cells = <1>; 203 clocks = <&fin_pll>, <&clock_top1 DOUT_ACLK_FSYS0_200>, 204 <&clock_top1 DOUT_SCLK_MMC2>; 205 clock-names = "fin_pll", "dout_aclk_fsys0_200", 206 "dout_sclk_mmc2"; 207 }; 208 209 clock_fsys1: clock-controller@156e0000 { 210 compatible = "samsung,exynos7-clock-fsys1"; 211 reg = <0x156e0000 0xd00>; 212 #clock-cells = <1>; 213 clocks = <&fin_pll>, <&clock_top1 DOUT_ACLK_FSYS1_200>, 214 <&clock_top1 DOUT_SCLK_MMC0>, 215 <&clock_top1 DOUT_SCLK_MMC1>; 216 clock-names = "fin_pll", "dout_aclk_fsys1_200", 217 "dout_sclk_mmc0", "dout_sclk_mmc1"; 218 }; 219 220 serial_0: serial@13630000 { 221 compatible = "samsung,exynos4210-uart"; 222 reg = <0x13630000 0x100>; 223 interrupts = <0 440 0>; 224 clocks = <&clock_peric0 PCLK_UART0>, 225 <&clock_peric0 SCLK_UART0>; 226 clock-names = "uart", "clk_uart_baud0"; 227 status = "disabled"; 228 }; 229 230 serial_1: serial@14c20000 { 231 compatible = "samsung,exynos4210-uart"; 232 reg = <0x14c20000 0x100>; 233 interrupts = <0 456 0>; 234 clocks = <&clock_peric1 PCLK_UART1>, 235 <&clock_peric1 SCLK_UART1>; 236 clock-names = "uart", "clk_uart_baud0"; 237 status = "disabled"; 238 }; 239 240 serial_2: serial@14c30000 { 241 compatible = "samsung,exynos4210-uart"; 242 reg = <0x14c30000 0x100>; 243 interrupts = <0 457 0>; 244 clocks = <&clock_peric1 PCLK_UART2>, 245 <&clock_peric1 SCLK_UART2>; 246 clock-names = "uart", "clk_uart_baud0"; 247 status = "disabled"; 248 }; 249 250 serial_3: serial@14c40000 { 251 compatible = "samsung,exynos4210-uart"; 252 reg = <0x14c40000 0x100>; 253 interrupts = <0 458 0>; 254 clocks = <&clock_peric1 PCLK_UART3>, 255 <&clock_peric1 SCLK_UART3>; 256 clock-names = "uart", "clk_uart_baud0"; 257 status = "disabled"; 258 }; 259 260 pinctrl_alive: pinctrl@10580000 { 261 compatible = "samsung,exynos7-pinctrl"; 262 reg = <0x10580000 0x1000>; 263 264 wakeup-interrupt-controller { 265 compatible = "samsung,exynos7-wakeup-eint"; 266 interrupt-parent = <&gic>; 267 interrupts = <0 16 0>; 268 }; 269 }; 270 271 pinctrl_bus0: pinctrl@13470000 { 272 compatible = "samsung,exynos7-pinctrl"; 273 reg = <0x13470000 0x1000>; 274 interrupts = <0 383 0>; 275 }; 276 277 pinctrl_nfc: pinctrl@14cd0000 { 278 compatible = "samsung,exynos7-pinctrl"; 279 reg = <0x14cd0000 0x1000>; 280 interrupts = <0 473 0>; 281 }; 282 283 pinctrl_touch: pinctrl@14ce0000 { 284 compatible = "samsung,exynos7-pinctrl"; 285 reg = <0x14ce0000 0x1000>; 286 interrupts = <0 474 0>; 287 }; 288 289 pinctrl_ff: pinctrl@14c90000 { 290 compatible = "samsung,exynos7-pinctrl"; 291 reg = <0x14c90000 0x1000>; 292 interrupts = <0 475 0>; 293 }; 294 295 pinctrl_ese: pinctrl@14ca0000 { 296 compatible = "samsung,exynos7-pinctrl"; 297 reg = <0x14ca0000 0x1000>; 298 interrupts = <0 476 0>; 299 }; 300 301 pinctrl_fsys0: pinctrl@10e60000 { 302 compatible = "samsung,exynos7-pinctrl"; 303 reg = <0x10e60000 0x1000>; 304 interrupts = <0 221 0>; 305 }; 306 307 pinctrl_fsys1: pinctrl@15690000 { 308 compatible = "samsung,exynos7-pinctrl"; 309 reg = <0x15690000 0x1000>; 310 interrupts = <0 203 0>; 311 }; 312 313 pinctrl_bus1: pinctrl@14870000 { 314 compatible = "samsung,exynos7-pinctrl"; 315 reg = <0x14870000 0x1000>; 316 interrupts = <0 384 0>; 317 }; 318 319 hsi2c_0: hsi2c@13640000 { 320 compatible = "samsung,exynos7-hsi2c"; 321 reg = <0x13640000 0x1000>; 322 interrupts = <0 441 0>; 323 #address-cells = <1>; 324 #size-cells = <0>; 325 pinctrl-names = "default"; 326 pinctrl-0 = <&hs_i2c0_bus>; 327 clocks = <&clock_peric0 PCLK_HSI2C0>; 328 clock-names = "hsi2c"; 329 status = "disabled"; 330 }; 331 332 hsi2c_1: hsi2c@13650000 { 333 compatible = "samsung,exynos7-hsi2c"; 334 reg = <0x13650000 0x1000>; 335 interrupts = <0 442 0>; 336 #address-cells = <1>; 337 #size-cells = <0>; 338 pinctrl-names = "default"; 339 pinctrl-0 = <&hs_i2c1_bus>; 340 clocks = <&clock_peric0 PCLK_HSI2C1>; 341 clock-names = "hsi2c"; 342 status = "disabled"; 343 }; 344 345 hsi2c_2: hsi2c@14e60000 { 346 compatible = "samsung,exynos7-hsi2c"; 347 reg = <0x14e60000 0x1000>; 348 interrupts = <0 459 0>; 349 #address-cells = <1>; 350 #size-cells = <0>; 351 pinctrl-names = "default"; 352 pinctrl-0 = <&hs_i2c2_bus>; 353 clocks = <&clock_peric1 PCLK_HSI2C2>; 354 clock-names = "hsi2c"; 355 status = "disabled"; 356 }; 357 358 hsi2c_3: hsi2c@14e70000 { 359 compatible = "samsung,exynos7-hsi2c"; 360 reg = <0x14e70000 0x1000>; 361 interrupts = <0 460 0>; 362 #address-cells = <1>; 363 #size-cells = <0>; 364 pinctrl-names = "default"; 365 pinctrl-0 = <&hs_i2c3_bus>; 366 clocks = <&clock_peric1 PCLK_HSI2C3>; 367 clock-names = "hsi2c"; 368 status = "disabled"; 369 }; 370 371 hsi2c_4: hsi2c@13660000 { 372 compatible = "samsung,exynos7-hsi2c"; 373 reg = <0x13660000 0x1000>; 374 interrupts = <0 443 0>; 375 #address-cells = <1>; 376 #size-cells = <0>; 377 pinctrl-names = "default"; 378 pinctrl-0 = <&hs_i2c4_bus>; 379 clocks = <&clock_peric0 PCLK_HSI2C4>; 380 clock-names = "hsi2c"; 381 status = "disabled"; 382 }; 383 384 hsi2c_5: hsi2c@13670000 { 385 compatible = "samsung,exynos7-hsi2c"; 386 reg = <0x13670000 0x1000>; 387 interrupts = <0 444 0>; 388 #address-cells = <1>; 389 #size-cells = <0>; 390 pinctrl-names = "default"; 391 pinctrl-0 = <&hs_i2c5_bus>; 392 clocks = <&clock_peric0 PCLK_HSI2C5>; 393 clock-names = "hsi2c"; 394 status = "disabled"; 395 }; 396 397 hsi2c_6: hsi2c@14e00000 { 398 compatible = "samsung,exynos7-hsi2c"; 399 reg = <0x14e00000 0x1000>; 400 interrupts = <0 461 0>; 401 #address-cells = <1>; 402 #size-cells = <0>; 403 pinctrl-names = "default"; 404 pinctrl-0 = <&hs_i2c6_bus>; 405 clocks = <&clock_peric1 PCLK_HSI2C6>; 406 clock-names = "hsi2c"; 407 status = "disabled"; 408 }; 409 410 hsi2c_7: hsi2c@13e10000 { 411 compatible = "samsung,exynos7-hsi2c"; 412 reg = <0x13e10000 0x1000>; 413 interrupts = <0 462 0>; 414 #address-cells = <1>; 415 #size-cells = <0>; 416 pinctrl-names = "default"; 417 pinctrl-0 = <&hs_i2c7_bus>; 418 clocks = <&clock_peric1 PCLK_HSI2C7>; 419 clock-names = "hsi2c"; 420 status = "disabled"; 421 }; 422 423 hsi2c_8: hsi2c@14e20000 { 424 compatible = "samsung,exynos7-hsi2c"; 425 reg = <0x14e20000 0x1000>; 426 interrupts = <0 463 0>; 427 #address-cells = <1>; 428 #size-cells = <0>; 429 pinctrl-names = "default"; 430 pinctrl-0 = <&hs_i2c8_bus>; 431 clocks = <&clock_peric1 PCLK_HSI2C8>; 432 clock-names = "hsi2c"; 433 status = "disabled"; 434 }; 435 436 hsi2c_9: hsi2c@13680000 { 437 compatible = "samsung,exynos7-hsi2c"; 438 reg = <0x13680000 0x1000>; 439 interrupts = <0 445 0>; 440 #address-cells = <1>; 441 #size-cells = <0>; 442 pinctrl-names = "default"; 443 pinctrl-0 = <&hs_i2c9_bus>; 444 clocks = <&clock_peric0 PCLK_HSI2C9>; 445 clock-names = "hsi2c"; 446 status = "disabled"; 447 }; 448 449 hsi2c_10: hsi2c@13690000 { 450 compatible = "samsung,exynos7-hsi2c"; 451 reg = <0x13690000 0x1000>; 452 interrupts = <0 446 0>; 453 #address-cells = <1>; 454 #size-cells = <0>; 455 pinctrl-names = "default"; 456 pinctrl-0 = <&hs_i2c10_bus>; 457 clocks = <&clock_peric0 PCLK_HSI2C10>; 458 clock-names = "hsi2c"; 459 status = "disabled"; 460 }; 461 462 hsi2c_11: hsi2c@136a0000 { 463 compatible = "samsung,exynos7-hsi2c"; 464 reg = <0x136a0000 0x1000>; 465 interrupts = <0 447 0>; 466 #address-cells = <1>; 467 #size-cells = <0>; 468 pinctrl-names = "default"; 469 pinctrl-0 = <&hs_i2c11_bus>; 470 clocks = <&clock_peric0 PCLK_HSI2C11>; 471 clock-names = "hsi2c"; 472 status = "disabled"; 473 }; 474 475 timer { 476 compatible = "arm,armv8-timer"; 477 interrupts = <GIC_PPI 13 478 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 479 <GIC_PPI 14 480 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 481 <GIC_PPI 11 482 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 483 <GIC_PPI 10 484 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; 485 }; 486 487 pmu_system_controller: system-controller@105c0000 { 488 compatible = "samsung,exynos7-pmu", "syscon"; 489 reg = <0x105c0000 0x5000>; 490 }; 491 492 reboot: syscon-reboot { 493 compatible = "syscon-reboot"; 494 regmap = <&pmu_system_controller>; 495 offset = <0x0400>; 496 mask = <0x1>; 497 }; 498 499 rtc: rtc@10590000 { 500 compatible = "samsung,s3c6410-rtc"; 501 reg = <0x10590000 0x100>; 502 interrupts = <0 355 0>, <0 356 0>; 503 clocks = <&clock_ccore PCLK_RTC>; 504 clock-names = "rtc"; 505 status = "disabled"; 506 }; 507 508 watchdog: watchdog@101d0000 { 509 compatible = "samsung,exynos7-wdt"; 510 reg = <0x101d0000 0x100>; 511 interrupts = <0 110 0>; 512 clocks = <&clock_peris PCLK_WDT>; 513 clock-names = "watchdog"; 514 samsung,syscon-phandle = <&pmu_system_controller>; 515 status = "disabled"; 516 }; 517 518 mmc_0: mmc@15740000 { 519 compatible = "samsung,exynos7-dw-mshc-smu"; 520 interrupts = <0 201 0>; 521 #address-cells = <1>; 522 #size-cells = <0>; 523 reg = <0x15740000 0x2000>; 524 clocks = <&clock_fsys1 ACLK_MMC0>, 525 <&clock_top1 CLK_SCLK_MMC0>; 526 clock-names = "biu", "ciu"; 527 fifo-depth = <0x40>; 528 status = "disabled"; 529 }; 530 531 mmc_1: mmc@15750000 { 532 compatible = "samsung,exynos7-dw-mshc"; 533 interrupts = <0 202 0>; 534 #address-cells = <1>; 535 #size-cells = <0>; 536 reg = <0x15750000 0x2000>; 537 clocks = <&clock_fsys1 ACLK_MMC1>, 538 <&clock_top1 CLK_SCLK_MMC1>; 539 clock-names = "biu", "ciu"; 540 fifo-depth = <0x40>; 541 status = "disabled"; 542 }; 543 544 mmc_2: mmc@15560000 { 545 compatible = "samsung,exynos7-dw-mshc-smu"; 546 interrupts = <0 216 0>; 547 #address-cells = <1>; 548 #size-cells = <0>; 549 reg = <0x15560000 0x2000>; 550 clocks = <&clock_fsys0 ACLK_MMC2>, 551 <&clock_top1 CLK_SCLK_MMC2>; 552 clock-names = "biu", "ciu"; 553 fifo-depth = <0x40>; 554 status = "disabled"; 555 }; 556 557 adc: adc@13620000 { 558 compatible = "samsung,exynos7-adc"; 559 reg = <0x13620000 0x100>; 560 interrupts = <0 448 0>; 561 clocks = <&clock_peric0 PCLK_ADCIF>; 562 clock-names = "adc"; 563 #io-channel-cells = <1>; 564 io-channel-ranges; 565 status = "disabled"; 566 }; 567 568 pwm: pwm@136c0000 { 569 compatible = "samsung,exynos4210-pwm"; 570 reg = <0x136c0000 0x100>; 571 samsung,pwm-outputs = <0>, <1>, <2>, <3>; 572 #pwm-cells = <3>; 573 clocks = <&clock_peric0 PCLK_PWM>; 574 clock-names = "timers"; 575 }; 576 577 tmuctrl_0: tmu@10060000 { 578 compatible = "samsung,exynos7-tmu"; 579 reg = <0x10060000 0x200>; 580 interrupts = <0 108 0>; 581 clocks = <&clock_peris PCLK_TMU>, 582 <&clock_peris SCLK_TMU>; 583 clock-names = "tmu_apbif", "tmu_sclk"; 584 #include "exynos7-tmu-sensor-conf.dtsi" 585 }; 586 587 thermal-zones { 588 atlas_thermal: cluster0-thermal { 589 polling-delay-passive = <0>; /* milliseconds */ 590 polling-delay = <0>; /* milliseconds */ 591 thermal-sensors = <&tmuctrl_0>; 592 #include "exynos7-trip-points.dtsi" 593 }; 594 }; 595 }; 596}; 597 598#include "exynos7-pinctrl.dtsi" 599