zynq-7000.dtsi 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. /*
  2. * Copyright (C) 2011 Xilinx
  3. *
  4. * This software is licensed under the terms of the GNU General Public
  5. * License version 2, as published by the Free Software Foundation, and
  6. * may be copied, distributed, and modified under those terms.
  7. *
  8. * This program is distributed in the hope that it will be useful,
  9. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. * GNU General Public License for more details.
  12. */
  13. /include/ "skeleton.dtsi"
  14. / {
  15. compatible = "xlnx,zynq-7000";
  16. pmu {
  17. compatible = "arm,cortex-a9-pmu";
  18. interrupts = <0 5 4>, <0 6 4>;
  19. interrupt-parent = <&intc>;
  20. reg = < 0xf8891000 0x1000 0xf8893000 0x1000 >;
  21. };
  22. amba {
  23. compatible = "simple-bus";
  24. #address-cells = <1>;
  25. #size-cells = <1>;
  26. interrupt-parent = <&intc>;
  27. ranges;
  28. intc: interrupt-controller@f8f01000 {
  29. compatible = "arm,cortex-a9-gic";
  30. #interrupt-cells = <3>;
  31. #address-cells = <1>;
  32. interrupt-controller;
  33. reg = <0xF8F01000 0x1000>,
  34. <0xF8F00100 0x100>;
  35. };
  36. L2: cache-controller {
  37. compatible = "arm,pl310-cache";
  38. reg = <0xF8F02000 0x1000>;
  39. arm,data-latency = <2 3 2>;
  40. arm,tag-latency = <2 3 2>;
  41. cache-unified;
  42. cache-level = <2>;
  43. };
  44. uart0: uart@e0000000 {
  45. compatible = "xlnx,xuartps";
  46. reg = <0xE0000000 0x1000>;
  47. interrupts = <0 27 4>;
  48. clocks = <&uart_clk 0>;
  49. };
  50. uart1: uart@e0001000 {
  51. compatible = "xlnx,xuartps";
  52. reg = <0xE0001000 0x1000>;
  53. interrupts = <0 50 4>;
  54. clocks = <&uart_clk 1>;
  55. };
  56. slcr: slcr@f8000000 {
  57. compatible = "xlnx,zynq-slcr";
  58. reg = <0xF8000000 0x1000>;
  59. clocks {
  60. #address-cells = <1>;
  61. #size-cells = <0>;
  62. ps_clk: ps_clk {
  63. #clock-cells = <0>;
  64. compatible = "fixed-clock";
  65. /* clock-frequency set in board-specific file */
  66. clock-output-names = "ps_clk";
  67. };
  68. armpll: armpll {
  69. #clock-cells = <0>;
  70. compatible = "xlnx,zynq-pll";
  71. clocks = <&ps_clk>;
  72. reg = <0x100 0x110>;
  73. clock-output-names = "armpll";
  74. };
  75. ddrpll: ddrpll {
  76. #clock-cells = <0>;
  77. compatible = "xlnx,zynq-pll";
  78. clocks = <&ps_clk>;
  79. reg = <0x104 0x114>;
  80. clock-output-names = "ddrpll";
  81. };
  82. iopll: iopll {
  83. #clock-cells = <0>;
  84. compatible = "xlnx,zynq-pll";
  85. clocks = <&ps_clk>;
  86. reg = <0x108 0x118>;
  87. clock-output-names = "iopll";
  88. };
  89. uart_clk: uart_clk {
  90. #clock-cells = <1>;
  91. compatible = "xlnx,zynq-periph-clock";
  92. clocks = <&iopll &armpll &ddrpll>;
  93. reg = <0x154>;
  94. clock-output-names = "uart0_ref_clk",
  95. "uart1_ref_clk";
  96. };
  97. cpu_clk: cpu_clk {
  98. #clock-cells = <1>;
  99. compatible = "xlnx,zynq-cpu-clock";
  100. clocks = <&iopll &armpll &ddrpll>;
  101. reg = <0x120 0x1C4>;
  102. clock-output-names = "cpu_6x4x",
  103. "cpu_3x2x",
  104. "cpu_2x",
  105. "cpu_1x";
  106. };
  107. };
  108. };
  109. ttc0: ttc0@f8001000 {
  110. interrupt-parent = <&intc>;
  111. interrupts = < 0 10 4 0 11 4 0 12 4 >;
  112. compatible = "cdns,ttc";
  113. reg = <0xF8001000 0x1000>;
  114. clocks = <&cpu_clk 3>;
  115. clock-names = "cpu_1x";
  116. clock-ranges;
  117. };
  118. ttc1: ttc1@f8002000 {
  119. interrupt-parent = <&intc>;
  120. interrupts = < 0 37 4 0 38 4 0 39 4 >;
  121. compatible = "cdns,ttc";
  122. reg = <0xF8002000 0x1000>;
  123. clocks = <&cpu_clk 3>;
  124. clock-names = "cpu_1x";
  125. clock-ranges;
  126. };
  127. scutimer: scutimer@f8f00600 {
  128. interrupt-parent = <&intc>;
  129. interrupts = < 1 13 0x301 >;
  130. compatible = "arm,cortex-a9-twd-timer";
  131. reg = < 0xf8f00600 0x20 >;
  132. clocks = <&cpu_clk 1>;
  133. } ;
  134. };
  135. };