n1sdp.dtsi 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. // SPDX-License-Identifier: (GPL-2.0 or BSD-3-Clause)
  2. /*
  3. * Copyright (c) 2019-2020, Arm Limited.
  4. */
  5. #include <dt-bindings/interrupt-controller/arm-gic.h>
  6. / {
  7. interrupt-parent = <&gic>;
  8. #address-cells = <2>;
  9. #size-cells = <2>;
  10. cpus {
  11. #address-cells = <2>;
  12. #size-cells = <0>;
  13. cpu0@0 {
  14. compatible = "arm,neoverse-n1";
  15. reg = <0x0 0x0>;
  16. device_type = "cpu";
  17. enable-method = "psci";
  18. numa-node-id = <0>;
  19. };
  20. cpu1@100 {
  21. compatible = "arm,neoverse-n1";
  22. reg = <0x0 0x100>;
  23. device_type = "cpu";
  24. enable-method = "psci";
  25. numa-node-id = <0>;
  26. };
  27. cpu2@10000 {
  28. compatible = "arm,neoverse-n1";
  29. reg = <0x0 0x10000>;
  30. device_type = "cpu";
  31. enable-method = "psci";
  32. numa-node-id = <0>;
  33. };
  34. cpu3@10100 {
  35. compatible = "arm,neoverse-n1";
  36. reg = <0x0 0x10100>;
  37. device_type = "cpu";
  38. enable-method = "psci";
  39. numa-node-id = <0>;
  40. };
  41. };
  42. pmu {
  43. compatible = "arm,armv8-pmuv3";
  44. interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
  45. };
  46. spe-pmu {
  47. compatible = "arm,statistical-profiling-extension-v1";
  48. interrupts = <GIC_PPI 5 IRQ_TYPE_LEVEL_HIGH>;
  49. };
  50. psci {
  51. compatible = "arm,psci-0.2";
  52. method = "smc";
  53. };
  54. timer {
  55. compatible = "arm,armv8-timer";
  56. interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
  57. <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
  58. <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
  59. <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
  60. };
  61. soc_refclk100mhz: refclk100mhz {
  62. compatible = "fixed-clock";
  63. #clock-cells = <0>;
  64. clock-frequency = <100000000>;
  65. clock-output-names = "apb_pclk";
  66. };
  67. soc_uartclk: uartclk {
  68. compatible = "fixed-clock";
  69. #clock-cells = <0>;
  70. clock-frequency = <50000000>;
  71. clock-output-names = "uartclk";
  72. };
  73. soc {
  74. compatible = "arm,neoverse-n1-soc", "simple-bus";
  75. #address-cells = <2>;
  76. #size-cells = <2>;
  77. ranges;
  78. gic: interrupt-controller@30000000 {
  79. compatible = "arm,gic-v3";
  80. #address-cells = <2>;
  81. #interrupt-cells = <3>;
  82. #size-cells = <2>;
  83. ranges;
  84. interrupt-controller;
  85. reg = <0x0 0x30000000 0 0x10000>, /* GICD */
  86. <0x0 0x300c0000 0 0x80000>; /* GICR */
  87. interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
  88. its1: its@30040000 {
  89. compatible = "arm,gic-v3-its";
  90. msi-controller;
  91. #msi-cells = <1>;
  92. reg = <0x0 0x30040000 0x0 0x20000>;
  93. };
  94. its2: its@30060000 {
  95. compatible = "arm,gic-v3-its";
  96. msi-controller;
  97. #msi-cells = <1>;
  98. reg = <0x0 0x30060000 0x0 0x20000>;
  99. };
  100. its_ccix: its@30080000 {
  101. compatible = "arm,gic-v3-its";
  102. msi-controller;
  103. #msi-cells = <1>;
  104. reg = <0x0 0x30080000 0x0 0x20000>;
  105. };
  106. its_pcie: its@300a0000 {
  107. compatible = "arm,gic-v3-its";
  108. msi-controller;
  109. #msi-cells = <1>;
  110. reg = <0x0 0x300a0000 0x0 0x20000>;
  111. };
  112. };
  113. smmu_ccix: iommu@4f000000 {
  114. compatible = "arm,smmu-v3";
  115. reg = <0 0x4f000000 0 0x40000>;
  116. interrupts = <GIC_SPI 228 IRQ_TYPE_EDGE_RISING>,
  117. <GIC_SPI 229 IRQ_TYPE_EDGE_RISING>,
  118. <GIC_SPI 230 IRQ_TYPE_EDGE_RISING>;
  119. interrupt-names = "eventq", "cmdq-sync", "gerror";
  120. msi-parent = <&its1 0>;
  121. #iommu-cells = <1>;
  122. dma-coherent;
  123. };
  124. smmu_pcie: iommu@4f400000 {
  125. compatible = "arm,smmu-v3";
  126. reg = <0 0x4f400000 0 0x40000>;
  127. interrupts = <GIC_SPI 235 IRQ_TYPE_EDGE_RISING>,
  128. <GIC_SPI 236 IRQ_TYPE_EDGE_RISING>,
  129. <GIC_SPI 237 IRQ_TYPE_EDGE_RISING>;
  130. interrupt-names = "eventq", "cmdq-sync", "gerror";
  131. msi-parent = <&its2 0>;
  132. #iommu-cells = <1>;
  133. dma-coherent;
  134. };
  135. pcie_ctlr: pcie@70000000 {
  136. compatible = "arm,n1sdp-pcie";
  137. device_type = "pci";
  138. reg = <0 0x70000000 0 0x1200000>;
  139. bus-range = <0 17>;
  140. linux,pci-domain = <0>;
  141. #address-cells = <3>;
  142. #size-cells = <2>;
  143. dma-coherent;
  144. ranges = <0x01000000 0x00 0x00000000 0x00 0x75200000 0x00 0x00010000>,
  145. <0x02000000 0x00 0x71200000 0x00 0x71200000 0x00 0x04000000>,
  146. <0x42000000 0x09 0x00000000 0x09 0x00000000 0x20 0x00000000>;
  147. #interrupt-cells = <1>;
  148. interrupt-map-mask = <0 0 0 7>;
  149. interrupt-map = <0 0 0 1 &gic 0 0 0 169 IRQ_TYPE_LEVEL_HIGH>,
  150. <0 0 0 2 &gic 0 0 0 170 IRQ_TYPE_LEVEL_HIGH>,
  151. <0 0 0 3 &gic 0 0 0 171 IRQ_TYPE_LEVEL_HIGH>,
  152. <0 0 0 4 &gic 0 0 0 172 IRQ_TYPE_LEVEL_HIGH>;
  153. msi-map = <0 &its_pcie 0 0x10000>;
  154. iommu-map = <0 &smmu_pcie 0 0x10000>;
  155. status = "disabled";
  156. };
  157. ccix_pcie_ctlr: pcie@68000000 {
  158. compatible = "arm,n1sdp-pcie";
  159. device_type = "pci";
  160. reg = <0 0x68000000 0 0x1200000>;
  161. bus-range = <0 17>;
  162. linux,pci-domain = <1>;
  163. #address-cells = <3>;
  164. #size-cells = <2>;
  165. dma-coherent;
  166. ranges = <0x01000000 0x00 0x00000000 0x00 0x6d200000 0x00 0x00010000>,
  167. <0x02000000 0x00 0x69200000 0x00 0x69200000 0x00 0x04000000>,
  168. <0x42000000 0x29 0x00000000 0x29 0x00000000 0x20 0x00000000>;
  169. #interrupt-cells = <1>;
  170. interrupt-map-mask = <0 0 0 7>;
  171. interrupt-map = <0 0 0 1 &gic 0 0 0 201 IRQ_TYPE_LEVEL_HIGH>,
  172. <0 0 0 2 &gic 0 0 0 202 IRQ_TYPE_LEVEL_HIGH>,
  173. <0 0 0 3 &gic 0 0 0 203 IRQ_TYPE_LEVEL_HIGH>,
  174. <0 0 0 4 &gic 0 0 0 204 IRQ_TYPE_LEVEL_HIGH>;
  175. msi-map = <0 &its_ccix 0 0x10000>;
  176. iommu-map = <0 &smmu_ccix 0 0x10000>;
  177. status = "disabled";
  178. };
  179. soc_uart0: serial@2a400000 {
  180. compatible = "arm,pl011", "arm,primecell";
  181. reg = <0x0 0x2a400000 0x0 0x1000>;
  182. interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
  183. clocks = <&soc_uartclk>, <&soc_refclk100mhz>;
  184. clock-names = "uartclk", "apb_pclk";
  185. status = "disabled";
  186. };
  187. };
  188. };