morello-fvp.dts 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. /*
  2. * Copyright (c) 2020-2022, Arm Limited. All rights reserved.
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. */
  6. /dts-v1/;
  7. #include "morello.dtsi"
  8. / {
  9. model = "Arm Morello Fixed Virtual Platform";
  10. chosen {
  11. stdout-path = "serial0:115200n8";
  12. };
  13. reserved-memory {
  14. #address-cells = <2>;
  15. #size-cells = <2>;
  16. ranges;
  17. secure-firmware@ff000000 {
  18. reg = <0 0xff000000 0 0x01000000>;
  19. no-map;
  20. };
  21. };
  22. cpus {
  23. #address-cells = <2>;
  24. #size-cells = <0>;
  25. cpu-map {
  26. cluster0 {
  27. core0 {
  28. cpu = <&CPU0>;
  29. };
  30. core1 {
  31. cpu = <&CPU1>;
  32. };
  33. };
  34. cluster1 {
  35. core0 {
  36. cpu = <&CPU2>;
  37. };
  38. core1 {
  39. cpu = <&CPU3>;
  40. };
  41. };
  42. };
  43. CPU0: cpu0@0 {
  44. compatible = "arm,armv8";
  45. reg = <0x0 0x0>;
  46. device_type = "cpu";
  47. enable-method = "psci";
  48. clocks = <&scmi_dvfs 0>;
  49. };
  50. CPU1: cpu1@100 {
  51. compatible = "arm,armv8";
  52. reg = <0x0 0x100>;
  53. device_type = "cpu";
  54. enable-method = "psci";
  55. clocks = <&scmi_dvfs 0>;
  56. };
  57. CPU2: cpu2@10000 {
  58. compatible = "arm,armv8";
  59. reg = <0x0 0x10000>;
  60. device_type = "cpu";
  61. enable-method = "psci";
  62. clocks = <&scmi_dvfs 1>;
  63. };
  64. CPU3: cpu3@10100 {
  65. compatible = "arm,armv8";
  66. reg = <0x0 0x10100>;
  67. device_type = "cpu";
  68. enable-method = "psci";
  69. clocks = <&scmi_dvfs 1>;
  70. };
  71. };
  72. /* The first bank of memory, memory map is actually provided by UEFI. */
  73. memory@80000000 {
  74. device_type = "memory";
  75. /* [0x80000000-0xffffffff] */
  76. reg = <0x00000000 0x80000000 0x0 0x80000000>;
  77. };
  78. memory@8080000000 {
  79. device_type = "memory";
  80. /* [0x8080000000-0x83ffffffff] */
  81. reg = <0x00000080 0x80000000 0x1 0x80000000>;
  82. };
  83. virtio_block@1c170000 {
  84. compatible = "virtio,mmio";
  85. reg = <0x0 0x1c170000 0x0 0x200>;
  86. interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
  87. };
  88. virtio_net@1c180000 {
  89. compatible = "virtio,mmio";
  90. reg = <0x0 0x1c180000 0x0 0x200>;
  91. interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
  92. };
  93. virtio_rng@1c190000 {
  94. compatible = "virtio,mmio";
  95. reg = <0x0 0x1c190000 0x0 0x200>;
  96. interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
  97. };
  98. virtio_p9@1c1a0000 {
  99. compatible = "virtio,mmio";
  100. reg = <0x0 0x1c1a0000 0x0 0x200>;
  101. interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
  102. };
  103. ethernet@1d100000 {
  104. compatible = "smsc,lan91c111";
  105. reg = <0x0 0x1d100000 0x0 0x10000>;
  106. interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
  107. };
  108. kmi@1c150000 {
  109. compatible = "arm,pl050", "arm,primecell";
  110. reg = <0x0 0x1c150000 0x0 0x1000>;
  111. interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
  112. clocks = <&bp_clock24mhz>, <&bp_clock24mhz>;
  113. clock-names = "KMIREFCLK", "apb_pclk";
  114. };
  115. kmi@1c160000 {
  116. compatible = "arm,pl050", "arm,primecell";
  117. reg = <0x0 0x1c160000 0x0 0x1000>;
  118. interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
  119. clocks = <&bp_clock24mhz>, <&bp_clock24mhz>;
  120. clock-names = "KMIREFCLK", "apb_pclk";
  121. };
  122. firmware {
  123. scmi {
  124. compatible = "arm,scmi";
  125. mbox-names = "tx", "rx";
  126. mboxes = <&mailbox 1 0>, <&mailbox 1 1>;
  127. shmem = <&cpu_scp_hpri0>, <&cpu_scp_hpri1>;
  128. #address-cells = <1>;
  129. #size-cells = <0>;
  130. scmi_dvfs: protocol@13 {
  131. reg = <0x13>;
  132. #clock-cells = <1>;
  133. };
  134. };
  135. };
  136. bp_clock24mhz: clock24mhz {
  137. compatible = "fixed-clock";
  138. #clock-cells = <0>;
  139. clock-frequency = <24000000>;
  140. clock-output-names = "bp:clock24mhz";
  141. };
  142. };
  143. &gic {
  144. reg = <0x0 0x30000000 0 0x10000>, /* GICD */
  145. <0x0 0x300c0000 0 0x80000>; /* GICR */
  146. interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
  147. };