memory_map.c 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. /*
  2. * Copyright (c) 2006-2023, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Email: opensource_embedded@phytium.com.cn
  7. *
  8. * Change Logs:
  9. * Date Author Notes
  10. * 2023-04-27 huanghe first version
  11. * 2023-07-27 zhangyan add qspi io space
  12. *
  13. */
  14. #include "rtconfig.h"
  15. #include <board.h>
  16. #include <mmu.h>
  17. /* mmu config */
  18. #ifdef RT_USING_SMART
  19. #if defined(TARGET_ARMV8_AARCH64)
  20. struct mem_desc platform_mem_desc[] =
  21. {
  22. { KERNEL_VADDR_START,
  23. KERNEL_VADDR_START + 0x0fffffff,
  24. (rt_size_t)ARCH_MAP_FAILED,
  25. NORMAL_MEM
  26. }
  27. };
  28. #else
  29. struct mem_desc platform_mem_desc[] =
  30. {
  31. { KERNEL_VADDR_START,
  32. KERNEL_VADDR_START + 0x10000000,
  33. (rt_size_t)ARCH_MAP_FAILED,
  34. NORMAL_MEM
  35. }
  36. };
  37. #endif
  38. #else
  39. #if defined(TARGET_ARMV8_AARCH64)
  40. struct mem_desc platform_mem_desc[] = {
  41. {KERNEL_VADDR_START, DDR_END_ADDRESS , KERNEL_VADDR_START, NORMAL_MEM},
  42. {
  43. 0x28000000U,
  44. 0x32B36FFFU,
  45. 0x28000000U,
  46. DEVICE_MEM
  47. },
  48. {
  49. 0x00001000U,
  50. 0x0FFFFFFFU,
  51. 0x00001000U,
  52. DEVICE_MEM
  53. },
  54. };
  55. #else
  56. struct mem_desc platform_mem_desc[] =
  57. {
  58. {
  59. 0x00U,
  60. 0x00U + 0x40000000U,
  61. 0x00U,
  62. DEVICE_MEM
  63. },
  64. {
  65. 0x40000000U,
  66. 0x40000000U + 0x10000000U,
  67. 0x40000000U,
  68. DEVICE_MEM
  69. },
  70. {
  71. 0x50000000U,
  72. 0x50000000U + 0x30000000U,
  73. 0x50000000U,
  74. DEVICE_MEM
  75. },
  76. {
  77. 0x80000000U,
  78. 0xffffffffU,
  79. 0x80000000U,
  80. NORMAL_MEM
  81. },
  82. #if defined(TARGET_ARMV8_AARCH64)
  83. {
  84. 0x1000000000,
  85. 0x1000000000 + 0x1000000000,
  86. 0x1000000000,
  87. DEVICE_MEM
  88. },
  89. {
  90. 0x2000000000,
  91. 0x2000000000 + 0x2000000000,
  92. 0x2000000000,
  93. NORMAL_MEM
  94. },
  95. #endif
  96. };
  97. #endif
  98. #endif
  99. const rt_uint32_t platform_mem_desc_size = sizeof(platform_mem_desc) / sizeof(platform_mem_desc[0]);