n1sdp-multi-chip.dts 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. // SPDX-License-Identifier: (GPL-2.0 or BSD-3-Clause)
  2. /*
  3. * Copyright (c) 2019-2020, Arm Limited.
  4. */
  5. #include "n1sdp-single-chip.dts"
  6. / {
  7. cpus {
  8. cpu4@100000000 {
  9. compatible = "arm,neoverse-n1";
  10. reg = <0x1 0x0>;
  11. device_type = "cpu";
  12. enable-method = "psci";
  13. numa-node-id = <1>;
  14. };
  15. cpu5@100000100 {
  16. compatible = "arm,neoverse-n1";
  17. reg = <0x1 0x00000100>;
  18. device_type = "cpu";
  19. enable-method = "psci";
  20. numa-node-id = <1>;
  21. };
  22. cpu6@100010000 {
  23. compatible = "arm,neoverse-n1";
  24. reg = <0x1 0x00010000>;
  25. device_type = "cpu";
  26. enable-method = "psci";
  27. numa-node-id = <1>;
  28. };
  29. cpu7@100010100 {
  30. compatible = "arm,neoverse-n1";
  31. reg = <0x1 0x00010100>;
  32. device_type = "cpu";
  33. enable-method = "psci";
  34. numa-node-id = <1>;
  35. };
  36. };
  37. /* Remote N1SDP board address is mapped at offset 4TB.
  38. * First DRAM Bank of remote N1SDP board is mapped at 4TB + 2GB.
  39. */
  40. memory@40080000000 {
  41. device_type = "memory";
  42. reg = <0x00000400 0x80000000 0x0 0x80000000>,
  43. <0x00000480 0x80000000 0x3 0x80000000>;
  44. numa-node-id = <1>;
  45. };
  46. distance-map {
  47. compatible = "numa-distance-map-v1";
  48. distance-matrix = <0 0 10>,
  49. <0 1 20>,
  50. <1 1 10>;
  51. };
  52. smmu_slave_pcie: iommu@4004f400000 {
  53. compatible = "arm,smmu-v3";
  54. reg = <0x400 0x4f400000 0 0x40000>;
  55. interrupts = <GIC_SPI 715 IRQ_TYPE_EDGE_RISING>,
  56. <GIC_SPI 716 IRQ_TYPE_EDGE_RISING>,
  57. <GIC_SPI 717 IRQ_TYPE_EDGE_RISING>;
  58. interrupt-names = "eventq", "cmdq-sync", "gerror";
  59. msi-parent = <&its2_slave 0>;
  60. #iommu-cells = <1>;
  61. dma-coherent;
  62. };
  63. pcie_slave_ctlr: pcie@40070000000 {
  64. compatible = "arm,n1sdp-pcie";
  65. device_type = "pci";
  66. reg = <0x400 0x70000000 0 0x1200000>;
  67. bus-range = <0 0xff>;
  68. linux,pci-domain = <2>;
  69. #address-cells = <3>;
  70. #size-cells = <2>;
  71. dma-coherent;
  72. ranges = <0x01000000 0x00 0x00000000 0x400 0x75200000 0x00 0x00010000>,
  73. <0x02000000 0x00 0x71200000 0x400 0x71200000 0x00 0x04000000>,
  74. <0x42000000 0x09 0x00000000 0x409 0x00000000 0x20 0x00000000>;
  75. #interrupt-cells = <1>;
  76. interrupt-map-mask = <0 0 0 7>;
  77. interrupt-map = <0 0 0 1 &gic 0 0 0 649 IRQ_TYPE_LEVEL_HIGH>,
  78. <0 0 0 2 &gic 0 0 0 650 IRQ_TYPE_LEVEL_HIGH>,
  79. <0 0 0 3 &gic 0 0 0 651 IRQ_TYPE_LEVEL_HIGH>,
  80. <0 0 0 4 &gic 0 0 0 652 IRQ_TYPE_LEVEL_HIGH>;
  81. msi-map = <0 &its_slave_pcie 0 0x10000>;
  82. iommu-map = <0 &smmu_slave_pcie 0 0x10000>;
  83. status = "okay";
  84. };
  85. };
  86. &gic {
  87. #redistributor-regions = <2>;
  88. reg = <0x0 0x30000000 0 0x10000>, /* GICD */
  89. <0x0 0x300c0000 0 0x80000>, /* GICR */
  90. <0x400 0x300c0000 0 0x80000>; /* GICR */
  91. its2_slave: its@40030060000 {
  92. compatible = "arm,gic-v3-its";
  93. msi-controller;
  94. #msi-cells = <1>;
  95. reg = <0x400 0x30060000 0x0 0x20000>;
  96. };
  97. its_slave_pcie: its@400300a0000 {
  98. compatible = "arm,gic-v3-its";
  99. msi-controller;
  100. #msi-cells = <1>;
  101. reg = <0x400 0x300a0000 0x0 0x20000>;
  102. };
  103. };