memory_map.c 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  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. *
  12. */
  13. #include "rtconfig.h"
  14. #include <board.h>
  15. #include <mmu.h>
  16. /* mmu config */
  17. #ifdef RT_USING_SMART
  18. #if defined(TARGET_ARMV8_AARCH64)
  19. struct mem_desc platform_mem_desc[] =
  20. {
  21. { KERNEL_VADDR_START,
  22. KERNEL_VADDR_START + 0x0fffffff,
  23. (rt_size_t)ARCH_MAP_FAILED,
  24. NORMAL_MEM
  25. }
  26. };
  27. #else
  28. struct mem_desc platform_mem_desc[] =
  29. {
  30. { KERNEL_VADDR_START,
  31. KERNEL_VADDR_START + 0x10000000,
  32. (rt_size_t)ARCH_MAP_FAILED,
  33. NORMAL_MEM
  34. }
  35. };
  36. #endif
  37. const rt_uint32_t platform_mem_desc_size = sizeof(platform_mem_desc) / sizeof(platform_mem_desc[0]);
  38. #else
  39. /* mmu config */
  40. struct mem_desc platform_mem_desc[] =
  41. {
  42. {
  43. 0x80000000,
  44. 0xFFFFFFFF,
  45. 0x80000000,
  46. DDR_MEM
  47. },
  48. {
  49. 0, //< QSPI
  50. 0x1FFFFFFF,
  51. 0,
  52. DEVICE_MEM
  53. },
  54. {
  55. 0x20000000, //<! LPC
  56. 0x27FFFFFF,
  57. 0x20000000,
  58. DEVICE_MEM
  59. },
  60. {
  61. FT_DEV_BASE_ADDR, //<! Device register
  62. FT_DEV_END_ADDR,
  63. FT_DEV_BASE_ADDR,
  64. DEVICE_MEM
  65. },
  66. {
  67. 0x30000000, //<! debug
  68. 0x39FFFFFF,
  69. 0x30000000,
  70. DEVICE_MEM
  71. },
  72. {
  73. 0x3A000000, //<! Internal register space in the on-chip network
  74. 0x3AFFFFFF,
  75. 0x3A000000,
  76. DEVICE_MEM
  77. },
  78. {
  79. FT_PCI_CONFIG_BASEADDR,
  80. FT_PCI_CONFIG_BASEADDR + FT_PCI_CONFIG_REG_LENGTH,
  81. FT_PCI_CONFIG_BASEADDR,
  82. DEVICE_MEM
  83. },
  84. {
  85. FT_PCI_IO_CONFIG_BASEADDR,
  86. FT_PCI_IO_CONFIG_BASEADDR + FT_PCI_IO_CONFIG_REG_LENGTH,
  87. FT_PCI_IO_CONFIG_BASEADDR,
  88. DEVICE_MEM
  89. },
  90. {
  91. FT_PCI_MEM32_BASEADDR,
  92. FT_PCI_MEM32_BASEADDR + FT_PCI_MEM32_REG_LENGTH,
  93. FT_PCI_MEM32_BASEADDR,
  94. DEVICE_MEM
  95. }
  96. #if defined(TARGET_ARMV8_AARCH64)
  97. {
  98. 0x1000000000,
  99. 0x1000000000 + 0x1000000000,
  100. 0x1000000000,
  101. DEVICE_MEM
  102. },
  103. {
  104. 0x2000000000,
  105. 0x2000000000 + 0x2000000000,
  106. 0x2000000000,
  107. NORMAL_MEM
  108. },
  109. #endif
  110. };
  111. const rt_uint32_t platform_mem_desc_size = sizeof(platform_mem_desc) / sizeof(platform_mem_desc[0]);
  112. #endif