corstone700.dtsi 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. /*
  2. * Copyright (c) 2020, Arm Limited. All rights reserved.
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. */
  6. #include <dt-bindings/interrupt-controller/arm-gic.h>
  7. / {
  8. compatible = "arm,Corstone-700";
  9. interrupt-parent = <&gic>;
  10. #address-cells = <1>;
  11. #size-cells = <1>;
  12. chosen { };
  13. cpus {
  14. #address-cells = <1>;
  15. #size-cells = <0>;
  16. cpu@0 {
  17. device_type = "cpu";
  18. compatible = "arm,armv8";
  19. reg = <0>;
  20. next-level-cache = <&L2_0>;
  21. };
  22. };
  23. memory@80000000 {
  24. device_type = "memory";
  25. reg = <0x80000000 0x80000000>;
  26. };
  27. gic: interrupt-controller@1c000000 {
  28. compatible = "arm,gic-400";
  29. #interrupt-cells = <3>;
  30. #address-cells = <0>;
  31. interrupt-controller;
  32. reg = <0x1c010000 0x1000>,
  33. <0x1c02f000 0x2000>,
  34. <0x1c04f000 0x1000>,
  35. <0x1c06f000 0x2000>;
  36. interrupts = <1 9 0xf08>;
  37. };
  38. L2_0: l2-cache0 {
  39. compatible = "cache";
  40. };
  41. refclk100mhz: refclk100mhz {
  42. compatible = "fixed-clock";
  43. #clock-cells = <0>;
  44. clock-frequency = <100000000>;
  45. clock-output-names = "apb_pclk";
  46. };
  47. smbclk: refclk24mhzx2 {
  48. /* Reference 24MHz clock x 2 */
  49. compatible = "fixed-clock";
  50. #clock-cells = <0>;
  51. clock-frequency = <48000000>;
  52. clock-output-names = "smclk";
  53. };
  54. uartclk: uartclk {
  55. /* UART clock - 32MHz */
  56. compatible = "fixed-clock";
  57. #clock-cells = <0>;
  58. clock-frequency = <32000000>;
  59. clock-output-names = "uartclk";
  60. };
  61. serial0: uart@1a510000 {
  62. compatible = "arm,pl011", "arm,primecell";
  63. reg = <0x1a510000 0x1000>;
  64. interrupt-parent = <&gic>;
  65. interrupts = <0 19 4>;
  66. clocks = <&uartclk>, <&refclk100mhz>;
  67. clock-names = "uartclk", "apb_pclk";
  68. };
  69. serial1: uart@1a520000 {
  70. compatible = "arm,pl011", "arm,primecell";
  71. reg = <0x1a520000 0x1000>;
  72. interrupt-parent = <&gic>;
  73. interrupts = <0 20 4>;
  74. clocks = <&uartclk>, <&refclk100mhz>;
  75. clock-names = "uartclk", "apb_pclk";
  76. };
  77. timer {
  78. compatible = "arm,armv8-timer";
  79. interrupts = <1 13 0xf08>,
  80. <1 14 0xf08>,
  81. <1 11 0xf08>,
  82. <1 10 0xf08>;
  83. };
  84. refclk: refclk@1a220000 {
  85. compatible = "arm,armv7-timer-mem";
  86. reg = <0x1a220000 0x1000>;
  87. #address-cells = <1>;
  88. #size-cells = <1>;
  89. ranges;
  90. frame@1a230000 {
  91. frame-number = <0>;
  92. interrupts = <0 2 0xf04>;
  93. reg = <0x1a230000 0x1000>;
  94. };
  95. };
  96. mbox_es0mhu0: mhu@1b000000 {
  97. compatible = "arm,mhuv2","arm,primecell";
  98. reg = <0x1b000000 0x1000>,
  99. <0x1b010000 0x1000>;
  100. clocks = <&refclk100mhz>;
  101. clock-names = "apb_pclk";
  102. interrupts = <0 12 4>;
  103. interrupt-names = "mhu_rx";
  104. #mbox-cells = <1>;
  105. mbox-name = "arm-es0-mhu0";
  106. };
  107. mbox_es0mhu1: mhu@1b020000 {
  108. compatible = "arm,mhuv2","arm,primecell";
  109. reg = <0x1b020000 0x1000>,
  110. <0x1b030000 0x1000>;
  111. clocks = <&refclk100mhz>;
  112. clock-names = "apb_pclk";
  113. interrupts = <0 47 4>;
  114. interrupt-names = "mhu_rx";
  115. #mbox-cells = <1>;
  116. mbox-name = "arm-es0-mhu1";
  117. };
  118. mbox_semhu1: mhu@1b820000 {
  119. compatible = "arm,mhuv2","arm,primecell";
  120. reg = <0x1b820000 0x1000>,
  121. <0x1b830000 0x1000>;
  122. clocks = <&refclk100mhz>;
  123. clock-names = "apb_pclk";
  124. interrupts = <0 45 4>;
  125. interrupt-names = "mhu_rx";
  126. #mbox-cells = <1>;
  127. mbox-name = "arm-se-mhu1";
  128. };
  129. client {
  130. compatible = "arm,client";
  131. mboxes = <&mbox_es0mhu0 0>, <&mbox_es0mhu1 0>, <&mbox_semhu1 0>;
  132. mbox-names = "es0mhu0", "es0mhu1", "semhu1";
  133. };
  134. extsys0: extsys@1A010310 {
  135. compatible = "arm,extsys_ctrl";
  136. reg = <0x1A010310 0x4>,
  137. <0x1A010314 0x4>;
  138. reg-names = "rstreg", "streg";
  139. };
  140. };