fvp_spmc_manifest.dts 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. /*
  2. * Copyright (c) 2020-2024, Arm Limited. All rights reserved.
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. */
  6. /dts-v1/;
  7. #define AFF 00
  8. #include "fvp-defs.dtsi"
  9. #undef POST
  10. #define POST \
  11. };
  12. / {
  13. compatible = "arm,ffa-core-manifest-1.0";
  14. #address-cells = <2>;
  15. #size-cells = <2>;
  16. attribute {
  17. spmc_id = <0x8000>;
  18. maj_ver = <0x1>;
  19. min_ver = <0x2>;
  20. exec_state = <0x0>;
  21. load_address = <0x0 0x6000000>;
  22. entrypoint = <0x0 0x6000000>;
  23. binary_size = <0x80000>;
  24. };
  25. hypervisor {
  26. compatible = "hafnium,hafnium";
  27. vm1 {
  28. is_ffa_partition;
  29. debug_name = "cactus-primary";
  30. load_address = <0x7000000>;
  31. vcpu_count = <8>;
  32. mem_size = <1048576>;
  33. /*
  34. * Platform specific SiP SMC call handled at EL3. Used
  35. * to pend an interrupt for testing purpose.
  36. */
  37. smc_whitelist = <0x82000100>;
  38. };
  39. vm2 {
  40. is_ffa_partition;
  41. debug_name = "cactus-secondary";
  42. load_address = <0x7100000>;
  43. vcpu_count = <8>;
  44. mem_size = <1048576>;
  45. };
  46. vm3 {
  47. is_ffa_partition;
  48. debug_name = "cactus-tertiary";
  49. load_address = <0x7200000>;
  50. vcpu_count = <1>;
  51. mem_size = <1048576>;
  52. };
  53. vm4 {
  54. is_ffa_partition;
  55. debug_name = "ivy";
  56. load_address = <0x7600000>;
  57. vcpu_count = <1>;
  58. mem_size = <1048576>;
  59. };
  60. };
  61. cpus {
  62. #address-cells = <0x2>;
  63. #size-cells = <0x0>;
  64. CPU_0
  65. /*
  66. * SPMC (Hafnium) requires secondary core nodes are declared
  67. * in descending order.
  68. */
  69. CPU_7
  70. CPU_6
  71. CPU_5
  72. CPU_4
  73. CPU_3
  74. CPU_2
  75. CPU_1
  76. };
  77. memory@0 {
  78. device_type = "memory";
  79. reg = <0x0 0xfd000000 0x0 0x2000000>,
  80. <0x0 0x7000000 0x0 0x1000000>,
  81. <0x0 0xff000000 0x0 0x1000000>;
  82. };
  83. memory@1 {
  84. device_type = "ns-memory";
  85. reg = <0x0 0x80000000 0x0 0x7c000000>,
  86. <0x8 0x80000000 0x1 0x80000000>,
  87. <0x00008800 0x80000000 0x0 0x7f000000>;
  88. };
  89. memory@2 {
  90. device_type = "device-memory";
  91. reg = <0x0 0x1c0b0000 0x0 0x20000>, /* UART 2-3 */
  92. <0x0 0x2bfe0000 0x0 0x20000>, /* SMMUv3TestEngine */
  93. <0x0 0x2a490000 0x0 0x20000>, /* SP805 Trusted Watchdog */
  94. <0x0 0x1c130000 0x0 0x10000>; /* Virtio block device */
  95. };
  96. memory@3 {
  97. device_type = "ns-device-memory";
  98. reg = <0x0 0x1c090000 0x0 0x20000>; /* UART 0-1 */
  99. };
  100. #if MEASURED_BOOT
  101. #include "event_log.dtsi"
  102. #endif
  103. };