1 /* 2 * Copyright (c) 2020 - 2025 Renesas Electronics Corporation and/or its affiliates 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 /* Ensure Renesas MCU variation definitions are included to ensure MCU 8 * specific register variations are handled correctly. */ 9 #ifndef BSP_FEATURE_H 10 #error "INTERNAL ERROR: bsp_feature.h must be included before renesas.h." 11 #endif 12 13 /** @addtogroup Renesas 14 * @{ 15 */ 16 17 /** @addtogroup RA 18 * @{ 19 */ 20 21 #ifndef RA_H 22 #define RA_H 23 24 #ifdef __cplusplus 25 extern "C" { 26 #endif 27 28 /** @addtogroup Configuration_of_CMSIS 29 * @{ 30 */ 31 32 /* =========================================================================================================================== */ 33 /* ================ Interrupt Number Definition ================ */ 34 /* =========================================================================================================================== */ 35 /* IRQn_Type is provided in bsp_exceptions.h. Vectors generated by the FSP Configuration tool are in vector_data.h */ 36 37 /** @} */ /* End of group Configuration_of_CMSIS */ 38 39 /* =========================================================================================================================== */ 40 /* ================ Processor and Core Peripheral Section ================ */ 41 /* =========================================================================================================================== */ 42 43 #if BSP_MCU_GROUP_RA0E1 44 #include "R7FA0E107.h" 45 #elif BSP_MCU_GROUP_RA2A1 46 #include "R7FA2A1AB.h" 47 #elif BSP_MCU_GROUP_RA2A2 48 #include "R7FA2A2AD.h" 49 #elif BSP_MCU_GROUP_RA2E1 50 #include "R7FA2E1A9.h" 51 #elif BSP_MCU_GROUP_RA2E2 52 #include "R7FA2E2A7.h" 53 #elif BSP_MCU_GROUP_RA2E3 54 #include "R7FA2E307.h" 55 #elif BSP_MCU_GROUP_RA2L1 56 #include "R7FA2L1AB.h" 57 #elif BSP_MCU_GROUP_RA4E1 58 #include "R7FA4E10D.h" 59 #elif BSP_MCU_GROUP_RA4E2 60 #include "R7FA4E2B9.h" 61 #elif BSP_MCU_GROUP_RA4M1 62 #include "R7FA4M1AB.h" 63 #elif BSP_MCU_GROUP_RA4M2 64 #include "R7FA4M2AD.h" 65 #elif BSP_MCU_GROUP_RA4M3 66 #include "R7FA4M3AF.h" 67 #elif BSP_MCU_GROUP_RA4T1 68 #include "R7FA4T1BB.h" 69 #elif BSP_MCU_GROUP_RA4W1 70 #include "R7FA4W1AD.h" 71 #elif BSP_MCU_GROUP_RA4L1 72 #include "R7FA4L1BD.h" 73 #elif BSP_MCU_GROUP_RA6E1 74 #include "R7FA6E10F.h" 75 #elif BSP_MCU_GROUP_RA6E2 76 #include "R7FA6E2BB.h" 77 #elif BSP_MCU_GROUP_RA6M1 78 #include "R7FA6M1AD.h" 79 #elif BSP_MCU_GROUP_RA6M2 80 #include "R7FA6M2AF.h" 81 #elif BSP_MCU_GROUP_RA6M3 82 #include "R7FA6M3AH.h" 83 #elif BSP_MCU_GROUP_RA6M4 84 #include "R7FA6M4AF.h" 85 #elif BSP_MCU_GROUP_RA6M5 86 #include "R7FA6M5BH.h" 87 #elif BSP_MCU_GROUP_RA6T1 88 #include "R7FA6T1AD.h" 89 #elif BSP_MCU_GROUP_RA6T2 90 #include "R7FA6T2BD.h" 91 #elif BSP_MCU_GROUP_RA6T3 92 #include "R7FA6T3BB.h" 93 #elif BSP_MCU_GROUP_RA8M1 94 #include "R7FA8M1AH.h" 95 #elif BSP_MCU_GROUP_RA8D1 96 #include "R7FA8D1BH.h" 97 #elif BSP_MCU_GROUP_RA8T1 98 #include "R7FA8T1AH.h" 99 #else 100 #if __has_include("renesas_internal.h") 101 #include "renesas_internal.h" 102 #else 103 #warning "Unsupported MCU" 104 #endif 105 #endif 106 107 /* Workaround for LLVM. __ARM_ARCH_8_1M_MAIN__ is defined for CM85 parts. But CMSIS_5 does not support this */ 108 #if defined(__llvm__) && !defined(__CLANG_TIDY__) && defined(__ARM_ARCH_8_1M_MAIN__) 109 #undef __ARM_ARCH_8_1M_MAIN__ 110 #define __ARM_ARCH_8M_MAIN__ 1 111 #endif 112 #include "cmsis_compiler.h" 113 114 /* Workaround for compilers that are not defining __ARM_ARCH_8_1M_MAIN__ for CM85 parts. Search CM85_WORKAROUND for related code changes */ 115 #if BSP_CFG_MCU_PART_SERIES == 8 116 #undef __ARM_ARCH_8M_MAIN__ 117 #define __ARM_ARCH_8_1M_MAIN__ 1 118 #endif 119 120 #if __ARM_ARCH_7EM__ 121 #define RENESAS_CORTEX_M4 122 #elif __ARM_ARCH_6M__ 123 #define RENESAS_CORTEX_M0PLUS 124 #elif __ARM_ARCH_8M_BASE__ 125 #define RENESAS_CORTEX_M23 126 #elif __ARM_ARCH_8M_MAIN__ 127 #define RENESAS_CORTEX_M33 128 #elif __ARM_ARCH_8_1M_MAIN__ 129 #define RENESAS_CORTEX_M85 130 #else 131 #warning Unsupported Architecture 132 #endif 133 134 #ifdef __cplusplus 135 } 136 #endif 137 138 #endif /* RA_H */ 139 140 /** @} */ /* End of group RA */ 141 142 /** @} */ /* End of group Renesas */ 143