| .. | .. |
|---|
| 1 | 1 | // SPDX-License-Identifier: GPL-2.0 |
|---|
| 2 | 2 | /* |
|---|
| 3 | | - * SAMSUNG EXYNOS7 SoC device tree source |
|---|
| 3 | + * Samsung Exynos7 SoC device tree source |
|---|
| 4 | 4 | * |
|---|
| 5 | 5 | * Copyright (c) 2014 Samsung Electronics Co., Ltd. |
|---|
| 6 | 6 | * http://www.samsung.com |
|---|
| .. | .. |
|---|
| 28 | 28 | tmuctrl0 = &tmuctrl_0; |
|---|
| 29 | 29 | }; |
|---|
| 30 | 30 | |
|---|
| 31 | + arm-pmu { |
|---|
| 32 | + compatible = "arm,cortex-a57-pmu"; |
|---|
| 33 | + interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 34 | + <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 35 | + <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 36 | + <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 37 | + interrupt-affinity = <&cpu_atlas0>, <&cpu_atlas1>, |
|---|
| 38 | + <&cpu_atlas2>, <&cpu_atlas3>; |
|---|
| 39 | + }; |
|---|
| 40 | + |
|---|
| 41 | + fin_pll: clock { |
|---|
| 42 | + /* XXTI */ |
|---|
| 43 | + compatible = "fixed-clock"; |
|---|
| 44 | + clock-output-names = "fin_pll"; |
|---|
| 45 | + #clock-cells = <0>; |
|---|
| 46 | + }; |
|---|
| 47 | + |
|---|
| 31 | 48 | cpus { |
|---|
| 32 | 49 | #address-cells = <1>; |
|---|
| 33 | 50 | #size-cells = <0>; |
|---|
| 34 | 51 | |
|---|
| 35 | 52 | cpu_atlas0: cpu@0 { |
|---|
| 36 | 53 | device_type = "cpu"; |
|---|
| 37 | | - compatible = "arm,cortex-a57", "arm,armv8"; |
|---|
| 54 | + compatible = "arm,cortex-a57"; |
|---|
| 38 | 55 | reg = <0x0>; |
|---|
| 39 | 56 | enable-method = "psci"; |
|---|
| 40 | 57 | }; |
|---|
| 41 | 58 | |
|---|
| 42 | 59 | cpu_atlas1: cpu@1 { |
|---|
| 43 | 60 | device_type = "cpu"; |
|---|
| 44 | | - compatible = "arm,cortex-a57", "arm,armv8"; |
|---|
| 61 | + compatible = "arm,cortex-a57"; |
|---|
| 45 | 62 | reg = <0x1>; |
|---|
| 46 | 63 | enable-method = "psci"; |
|---|
| 47 | 64 | }; |
|---|
| 48 | 65 | |
|---|
| 49 | 66 | cpu_atlas2: cpu@2 { |
|---|
| 50 | 67 | device_type = "cpu"; |
|---|
| 51 | | - compatible = "arm,cortex-a57", "arm,armv8"; |
|---|
| 68 | + compatible = "arm,cortex-a57"; |
|---|
| 52 | 69 | reg = <0x2>; |
|---|
| 53 | 70 | enable-method = "psci"; |
|---|
| 54 | 71 | }; |
|---|
| 55 | 72 | |
|---|
| 56 | 73 | cpu_atlas3: cpu@3 { |
|---|
| 57 | 74 | device_type = "cpu"; |
|---|
| 58 | | - compatible = "arm,cortex-a57", "arm,armv8"; |
|---|
| 75 | + compatible = "arm,cortex-a57"; |
|---|
| 59 | 76 | reg = <0x3>; |
|---|
| 60 | 77 | enable-method = "psci"; |
|---|
| 61 | 78 | }; |
|---|
| .. | .. |
|---|
| 68 | 85 | cpu_on = <0xC4000003>; |
|---|
| 69 | 86 | }; |
|---|
| 70 | 87 | |
|---|
| 71 | | - soc: soc { |
|---|
| 88 | + soc: soc@0 { |
|---|
| 72 | 89 | compatible = "simple-bus"; |
|---|
| 73 | 90 | #address-cells = <1>; |
|---|
| 74 | 91 | #size-cells = <1>; |
|---|
| .. | .. |
|---|
| 77 | 94 | chipid@10000000 { |
|---|
| 78 | 95 | compatible = "samsung,exynos4210-chipid"; |
|---|
| 79 | 96 | reg = <0x10000000 0x100>; |
|---|
| 80 | | - }; |
|---|
| 81 | | - |
|---|
| 82 | | - fin_pll: xxti { |
|---|
| 83 | | - compatible = "fixed-clock"; |
|---|
| 84 | | - clock-output-names = "fin_pll"; |
|---|
| 85 | | - #clock-cells = <0>; |
|---|
| 86 | 97 | }; |
|---|
| 87 | 98 | |
|---|
| 88 | 99 | gic: interrupt-controller@11001000 { |
|---|
| .. | .. |
|---|
| 96 | 107 | <0x11006000 0x2000>; |
|---|
| 97 | 108 | }; |
|---|
| 98 | 109 | |
|---|
| 99 | | - amba { |
|---|
| 100 | | - compatible = "simple-bus"; |
|---|
| 101 | | - #address-cells = <1>; |
|---|
| 102 | | - #size-cells = <1>; |
|---|
| 103 | | - ranges; |
|---|
| 110 | + pdma0: pdma@10e10000 { |
|---|
| 111 | + compatible = "arm,pl330", "arm,primecell"; |
|---|
| 112 | + reg = <0x10E10000 0x1000>; |
|---|
| 113 | + interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 114 | + clocks = <&clock_fsys0 ACLK_PDMA0>; |
|---|
| 115 | + clock-names = "apb_pclk"; |
|---|
| 116 | + #dma-cells = <1>; |
|---|
| 117 | + #dma-channels = <8>; |
|---|
| 118 | + #dma-requests = <32>; |
|---|
| 119 | + }; |
|---|
| 104 | 120 | |
|---|
| 105 | | - pdma0: pdma@10e10000 { |
|---|
| 106 | | - compatible = "arm,pl330", "arm,primecell"; |
|---|
| 107 | | - reg = <0x10E10000 0x1000>; |
|---|
| 108 | | - interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 109 | | - clocks = <&clock_fsys0 ACLK_PDMA0>; |
|---|
| 110 | | - clock-names = "apb_pclk"; |
|---|
| 111 | | - #dma-cells = <1>; |
|---|
| 112 | | - #dma-channels = <8>; |
|---|
| 113 | | - #dma-requests = <32>; |
|---|
| 114 | | - }; |
|---|
| 115 | | - |
|---|
| 116 | | - pdma1: pdma@10eb0000 { |
|---|
| 117 | | - compatible = "arm,pl330", "arm,primecell"; |
|---|
| 118 | | - reg = <0x10EB0000 0x1000>; |
|---|
| 119 | | - interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 120 | | - clocks = <&clock_fsys0 ACLK_PDMA1>; |
|---|
| 121 | | - clock-names = "apb_pclk"; |
|---|
| 122 | | - #dma-cells = <1>; |
|---|
| 123 | | - #dma-channels = <8>; |
|---|
| 124 | | - #dma-requests = <32>; |
|---|
| 125 | | - }; |
|---|
| 121 | + pdma1: pdma@10eb0000 { |
|---|
| 122 | + compatible = "arm,pl330", "arm,primecell"; |
|---|
| 123 | + reg = <0x10EB0000 0x1000>; |
|---|
| 124 | + interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 125 | + clocks = <&clock_fsys0 ACLK_PDMA1>; |
|---|
| 126 | + clock-names = "apb_pclk"; |
|---|
| 127 | + #dma-cells = <1>; |
|---|
| 128 | + #dma-channels = <8>; |
|---|
| 129 | + #dma-requests = <32>; |
|---|
| 126 | 130 | }; |
|---|
| 127 | 131 | |
|---|
| 128 | 132 | clock_topc: clock-controller@10570000 { |
|---|
| .. | .. |
|---|
| 211 | 215 | #clock-cells = <1>; |
|---|
| 212 | 216 | clocks = <&fin_pll>, <&clock_top1 DOUT_ACLK_FSYS1_200>, |
|---|
| 213 | 217 | <&clock_top1 DOUT_SCLK_MMC0>, |
|---|
| 214 | | - <&clock_top1 DOUT_SCLK_MMC1>; |
|---|
| 218 | + <&clock_top1 DOUT_SCLK_MMC1>, |
|---|
| 219 | + <&clock_top1 DOUT_SCLK_UFSUNIPRO20>, |
|---|
| 220 | + <&clock_top1 DOUT_SCLK_PHY_FSYS1>, |
|---|
| 221 | + <&clock_top1 DOUT_SCLK_PHY_FSYS1_26M>; |
|---|
| 215 | 222 | clock-names = "fin_pll", "dout_aclk_fsys1_200", |
|---|
| 216 | | - "dout_sclk_mmc0", "dout_sclk_mmc1"; |
|---|
| 223 | + "dout_sclk_mmc0", "dout_sclk_mmc1", |
|---|
| 224 | + "dout_sclk_ufsunipro20", "dout_sclk_phy_fsys1", |
|---|
| 225 | + "dout_sclk_phy_fsys1_26m"; |
|---|
| 217 | 226 | }; |
|---|
| 218 | 227 | |
|---|
| 219 | 228 | serial_0: serial@13630000 { |
|---|
| .. | .. |
|---|
| 471 | 480 | status = "disabled"; |
|---|
| 472 | 481 | }; |
|---|
| 473 | 482 | |
|---|
| 474 | | - arm-pmu { |
|---|
| 475 | | - compatible = "arm,cortex-a57-pmu", "arm,armv8-pmuv3"; |
|---|
| 476 | | - interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 477 | | - <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 478 | | - <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 479 | | - <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 480 | | - interrupt-affinity = <&cpu_atlas0>, <&cpu_atlas1>, |
|---|
| 481 | | - <&cpu_atlas2>, <&cpu_atlas3>; |
|---|
| 482 | | - }; |
|---|
| 483 | | - |
|---|
| 484 | | - timer { |
|---|
| 485 | | - compatible = "arm,armv8-timer"; |
|---|
| 486 | | - interrupts = <GIC_PPI 13 |
|---|
| 487 | | - (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, |
|---|
| 488 | | - <GIC_PPI 14 |
|---|
| 489 | | - (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, |
|---|
| 490 | | - <GIC_PPI 11 |
|---|
| 491 | | - (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, |
|---|
| 492 | | - <GIC_PPI 10 |
|---|
| 493 | | - (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; |
|---|
| 494 | | - }; |
|---|
| 495 | | - |
|---|
| 496 | 483 | pmu_system_controller: system-controller@105c0000 { |
|---|
| 497 | 484 | compatible = "samsung,exynos7-pmu", "syscon"; |
|---|
| 498 | 485 | reg = <0x105c0000 0x5000>; |
|---|
| .. | .. |
|---|
| 516 | 503 | clock-names = "watchdog"; |
|---|
| 517 | 504 | samsung,syscon-phandle = <&pmu_system_controller>; |
|---|
| 518 | 505 | status = "disabled"; |
|---|
| 506 | + }; |
|---|
| 507 | + |
|---|
| 508 | + gpu: gpu@14ac0000 { |
|---|
| 509 | + compatible = "samsung,exynos5433-mali", "arm,mali-t760"; |
|---|
| 510 | + reg = <0x14ac0000 0x5000>; |
|---|
| 511 | + interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 512 | + <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 513 | + <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 514 | + interrupt-names = "job", "mmu", "gpu"; |
|---|
| 515 | + status = "disabled"; |
|---|
| 516 | + /* TODO: operating points for DVFS, cooling device */ |
|---|
| 519 | 517 | }; |
|---|
| 520 | 518 | |
|---|
| 521 | 519 | mmc_0: mmc@15740000 { |
|---|
| .. | .. |
|---|
| 571 | 569 | pwm: pwm@136c0000 { |
|---|
| 572 | 570 | compatible = "samsung,exynos4210-pwm"; |
|---|
| 573 | 571 | reg = <0x136c0000 0x100>; |
|---|
| 572 | + interrupts = <GIC_SPI 449 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 573 | + <GIC_SPI 450 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 574 | + <GIC_SPI 451 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 575 | + <GIC_SPI 452 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 576 | + <GIC_SPI 453 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 574 | 577 | samsung,pwm-outputs = <0>, <1>, <2>, <3>; |
|---|
| 575 | 578 | #pwm-cells = <3>; |
|---|
| 576 | 579 | clocks = <&clock_peric0 PCLK_PWM>; |
|---|
| .. | .. |
|---|
| 587 | 590 | #thermal-sensor-cells = <0>; |
|---|
| 588 | 591 | }; |
|---|
| 589 | 592 | |
|---|
| 590 | | - thermal-zones { |
|---|
| 591 | | - atlas_thermal: cluster0-thermal { |
|---|
| 592 | | - polling-delay-passive = <0>; /* milliseconds */ |
|---|
| 593 | | - polling-delay = <0>; /* milliseconds */ |
|---|
| 594 | | - thermal-sensors = <&tmuctrl_0>; |
|---|
| 595 | | - #include "exynos7-trip-points.dtsi" |
|---|
| 596 | | - }; |
|---|
| 593 | + ufs: ufs@15570000 { |
|---|
| 594 | + compatible = "samsung,exynos7-ufs"; |
|---|
| 595 | + reg = <0x15570000 0x100>, /* 0: HCI standard */ |
|---|
| 596 | + <0x15570100 0x100>, /* 1: Vendor specificed */ |
|---|
| 597 | + <0x15571000 0x200>, /* 2: UNIPRO */ |
|---|
| 598 | + <0x15572000 0x300>; /* 3: UFS protector */ |
|---|
| 599 | + reg-names = "hci", "vs_hci", "unipro", "ufsp"; |
|---|
| 600 | + interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 601 | + clocks = <&clock_fsys1 ACLK_UFS20_LINK>, |
|---|
| 602 | + <&clock_fsys1 SCLK_UFSUNIPRO20_USER>; |
|---|
| 603 | + clock-names = "core_clk", "sclk_unipro_main"; |
|---|
| 604 | + freq-table-hz = <0 0>, <0 0>; |
|---|
| 605 | + pinctrl-names = "default"; |
|---|
| 606 | + pinctrl-0 = <&ufs_rst_n &ufs_refclk_out>; |
|---|
| 607 | + phys = <&ufs_phy>; |
|---|
| 608 | + phy-names = "ufs-phy"; |
|---|
| 609 | + status = "disabled"; |
|---|
| 610 | + }; |
|---|
| 611 | + |
|---|
| 612 | + ufs_phy: ufs-phy@15571800 { |
|---|
| 613 | + compatible = "samsung,exynos7-ufs-phy"; |
|---|
| 614 | + reg = <0x15571800 0x240>; |
|---|
| 615 | + reg-names = "phy-pma"; |
|---|
| 616 | + samsung,pmu-syscon = <&pmu_system_controller>; |
|---|
| 617 | + #phy-cells = <0>; |
|---|
| 618 | + clocks = <&clock_fsys1 SCLK_COMBO_PHY_EMBEDDED_26M>, |
|---|
| 619 | + <&clock_fsys1 PHYCLK_UFS20_RX1_SYMBOL_USER>, |
|---|
| 620 | + <&clock_fsys1 PHYCLK_UFS20_RX0_SYMBOL_USER>, |
|---|
| 621 | + <&clock_fsys1 PHYCLK_UFS20_TX0_SYMBOL_USER>; |
|---|
| 622 | + clock-names = "ref_clk", "rx1_symbol_clk", |
|---|
| 623 | + "rx0_symbol_clk", |
|---|
| 624 | + "tx0_symbol_clk"; |
|---|
| 597 | 625 | }; |
|---|
| 598 | 626 | |
|---|
| 599 | 627 | usbdrd_phy: phy@15500000 { |
|---|
| .. | .. |
|---|
| 630 | 658 | }; |
|---|
| 631 | 659 | }; |
|---|
| 632 | 660 | }; |
|---|
| 661 | + |
|---|
| 662 | + thermal-zones { |
|---|
| 663 | + atlas_thermal: cluster0-thermal { |
|---|
| 664 | + polling-delay-passive = <0>; /* milliseconds */ |
|---|
| 665 | + polling-delay = <0>; /* milliseconds */ |
|---|
| 666 | + thermal-sensors = <&tmuctrl_0>; |
|---|
| 667 | + #include "exynos7-trip-points.dtsi" |
|---|
| 668 | + }; |
|---|
| 669 | + }; |
|---|
| 670 | + |
|---|
| 671 | + timer { |
|---|
| 672 | + compatible = "arm,armv8-timer"; |
|---|
| 673 | + interrupts = <GIC_PPI 13 |
|---|
| 674 | + (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, |
|---|
| 675 | + <GIC_PPI 14 |
|---|
| 676 | + (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, |
|---|
| 677 | + <GIC_PPI 11 |
|---|
| 678 | + (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, |
|---|
| 679 | + <GIC_PPI 10 |
|---|
| 680 | + (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; |
|---|
| 681 | + }; |
|---|
| 633 | 682 | }; |
|---|
| 634 | 683 | |
|---|
| 635 | 684 | #include "exynos7-pinctrl.dtsi" |
|---|