1 /* 2 * Copyright (c) 2020 Nordic Semiconductor ASA 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 /** 8 * Mocks the CMSIS dependency of the nRF MDK headers. 9 * And the bare minimum of required content. 10 * The proper CMSIS headers replacements are provided by the integrating program 11 * In the case of Zephyr, this is by the nrf52_bsim. 12 */ 13 14 #ifndef HW_MODELS_CORE_CM4_H 15 #define HW_MODELS_CORE_CM4_H 16 17 #if defined(CONFIG_SOC_SERIES_BSIM_NRFXX) || defined(INTEGRATOR_PROVIDES_CMSIS) 18 /* The real core_cm4.h includes a very significant number of definitions 19 * and further CMSIS includes. Which may be needed by the integrating program. 20 * We provide this include as a means to allow the integrating to add those. 21 * */ 22 #include "cmsis.h" 23 #endif 24 25 #ifndef __I 26 #define __I 27 #endif 28 #ifndef __IO 29 #define __IO 30 #endif 31 #ifndef __O 32 #define __O 33 #endif 34 35 /** 36 * The model of the CPU & IRQ controller driver must provide 37 * these function. These HW models do not provide them. 38 */ 39 extern void __WFE(void); 40 41 #ifndef __DSB 42 #define __DSB() 43 #endif 44 45 #ifndef __ISB 46 #define __ISB() 47 #endif 48 49 #endif /* HW_MODELS_CORE_CM4_H */ 50