1 /* 2 * Copyright (c) 2022 Arm Limited. All rights reserved. 3 * 4 * Licensed under the Apache License Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing software 11 * distributed under the License is distributed on an "AS IS" BASIS 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #ifndef __RSS_H__ 18 #define __RSS_H__ 19 20 #ifdef __cplusplus 21 extern "C" { 22 #endif 23 24 /* ====================== Start of section using anonymous unions ============== */ 25 #if defined (__CC_ARM) 26 #pragma push 27 #pragma anon_unions 28 #elif defined (__ICCARM__) 29 #pragma language=extended 30 #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) 31 #pragma clang diagnostic push 32 #pragma clang diagnostic ignored "-Wc11-extensions" 33 #pragma clang diagnostic ignored "-Wreserved-id-macro" 34 #elif defined (__GNUC__) 35 /* anonymous unions are enabled by default */ 36 #elif defined (__TMS470__) 37 /* anonymous unions are enabled by default */ 38 #elif defined (__TASKING__) 39 #pragma warning 586 40 #elif defined (__CSMC__) 41 /* anonymous unions are enabled by default */ 42 #else 43 #warning Not supported compiler type 44 #endif 45 46 47 /* ======== Configuration of Core Peripherals ================================== */ 48 #define __CM55_REV 0x0100U /* Core revision r1p0 */ 49 #define __SAUREGION_PRESENT 1U /* SAU regions present */ 50 #define __MPU_PRESENT 1U /* MPU present */ 51 #define __VTOR_PRESENT 1U /* VTOR present */ 52 #define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */ 53 #define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */ 54 #define __FPU_PRESENT 1U /* FPU present */ 55 #define __FPU_DP 1U /* double precision FPU */ 56 #define __DSP_PRESENT 1U /* DSP extension present */ 57 #define __PMU_PRESENT 1U /* PMU present */ 58 #define __PMU_NUM_EVENTCNT 8U /* Number of PMU event counters */ 59 #define __ICACHE_PRESENT 1U /* Instruction Cache present */ 60 #define __DCACHE_PRESENT 1U /* Data Cache present */ 61 62 #include "platform_irq.h" 63 #include "core_cm55.h" /* Processor and core peripherals */ 64 #include "platform_base_address.h" 65 #include "platform_regs.h" 66 #include "platform_pins.h" 67 #include "system_core_init.h" 68 69 /* ===================== End of section using anonymous unions ================ */ 70 #if defined (__CC_ARM) 71 #pragma pop 72 #elif defined (__ICCARM__) 73 /* leave anonymous unions enabled */ 74 #elif (__ARMCC_VERSION >= 6010050) 75 #pragma clang diagnostic pop 76 #elif defined (__GNUC__) 77 /* anonymous unions are enabled by default */ 78 #elif defined (__TMS470__) 79 /* anonymous unions are enabled by default */ 80 #elif defined (__TASKING__) 81 #pragma warning restore 82 #elif defined (__CSMC__) 83 /* anonymous unions are enabled by default */ 84 #else 85 #warning Not supported compiler type 86 #endif 87 88 #ifdef __cplusplus 89 } 90 #endif 91 92 #endif /* __RSS_H__ */ 93