nmsis_core.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. /*
  2. * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  3. * -- Adaptable modifications made for Nuclei Processors. --
  4. * Copyright (c) 2019 Nuclei Limited. All rights reserved.
  5. *
  6. * SPDX-License-Identifier: Apache-2.0
  7. *
  8. * Licensed under the Apache License, Version 2.0 (the License); you may
  9. * not use this file except in compliance with the License.
  10. * You may obtain a copy of the License at
  11. *
  12. * www.apache.org/licenses/LICENSE-2.0
  13. *
  14. * Unless required by applicable law or agreed to in writing, software
  15. * distributed under the License is distributed on an AS IS BASIS, WITHOUT
  16. * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  17. * See the License for the specific language governing permissions and
  18. * limitations under the License.
  19. */
  20. #include <stdint.h>
  21. #ifdef __cplusplus
  22. extern "C" {
  23. #endif
  24. #include "nmsis_version.h"
  25. /**
  26. * \ingroup NMSIS_Core_VersionControl
  27. * @{
  28. */
  29. /* The following macro __NUCLEI_N_REV/__NUCLEI_NX_REV/
  30. * __NUCLEI_CPU_REV/__NUCLEI_CPU_SERIES definition in this file
  31. * is only used for doxygen documentation generation,
  32. * The <Device>.h is the real file to define it by vendor
  33. */
  34. #if defined(__ONLY_FOR_DOXYGEN_DOCUMENT_GENERATION__)
  35. /**
  36. * \brief Nuclei N class core revision number
  37. * \details
  38. * Reversion number format: [15:8] revision number, [7:0] patch number
  39. * \attention
  40. * Deprecated, this define is exclusive with \ref __NUCLEI_NX_REV
  41. */
  42. #define __NUCLEI_N_REV (0x0309)
  43. /**
  44. * \brief Nuclei NX class core revision number
  45. * \details
  46. * Reversion number format: [15:8] revision number, [7:0] patch number
  47. * \attention
  48. * Deprecated, this define is exclusive with \ref __NUCLEI_N_REV
  49. */
  50. #define __NUCLEI_NX_REV (0x0207)
  51. /**
  52. * \brief Nuclei CPU core revision number
  53. * \details
  54. * Nuclei RISC-V CPU Revision Number vX.Y.Z, eg. v3.10.1
  55. * \attention
  56. * This define is exclusive with \ref __NUCLEI_CPU_SERIES
  57. */
  58. #define __NUCLEI_CPU_REV (0x030A01)
  59. /**
  60. * \brief Nuclei CPU core series
  61. * \details
  62. * Nuclei RISC-V CPU Series Number, eg, 0x200, 0x300, 0x600, 0x900
  63. * for 200, 300, 600, 900 series.
  64. * \attention
  65. * This define is used together with \ref __NUCLEI_CPU_REV
  66. */
  67. #define __NUCLEI_CPU_SERIES (0x0200)
  68. #endif /* __ONLY_FOR_DOXYGEN_DOCUMENT_GENERATION__ */
  69. /** @} */ /* End of Group NMSIS_Core_VersionControl */
  70. #include "nmsis_compiler.h" /* NMSIS compiler specific defines */
  71. /* === Include Nuclei Core Related Headers === */
  72. /* Include core base feature header file */
  73. #include "core_feature_base.h"
  74. /* Include core fpu feature header file */
  75. #include "core_feature_fpu.h"
  76. /* Include core dsp feature header file */
  77. #include "core_feature_dsp.h"
  78. /* Include core vector feature header file */
  79. #include "core_feature_vector.h"
  80. /* Include core bitmanip feature header file */
  81. #include "core_feature_bitmanip.h"
  82. /* Include core pmp feature header file */
  83. #include "core_feature_pmp.h"
  84. /* Include core spmp feature header file */
  85. #include "core_feature_spmp.h"
  86. /* Include core cache feature header file */
  87. #include "core_feature_cache.h"
  88. /* Include core cidu feature header file */
  89. #include "core_feature_cidu.h"
  90. /* Include core pma feature header file */
  91. #include "core_feature_pma.h"
  92. /* Include core smpcc feature header file */
  93. #include "core_feature_smpcc.h"
  94. /* Include core ecc feature header file */
  95. #include "core_feature_ecc.h"
  96. /* Include core iregion info header file */
  97. #include "core_feature_iinfo.h"
  98. /* Include compatiable functions header file */
  99. #include "core_compatiable.h"
  100. #ifndef __NMSIS_GENERIC
  101. /* Include core eclic feature header file */
  102. #include "core_feature_eclic.h"
  103. /* Include core plic feature header file */
  104. #include "core_feature_plic.h"
  105. /* Include core systimer feature header file */
  106. #include "core_feature_timer.h"
  107. #endif
  108. #ifdef __cplusplus
  109. }
  110. #endif