1 /***********************************************************************************************************************
2  * Copyright [2020-2023] Renesas Electronics Corporation and/or its affiliates.  All Rights Reserved.
3  *
4  * This software and documentation are supplied by Renesas Electronics America Inc. and may only be used with products
5  * of Renesas Electronics Corp. and its affiliates ("Renesas").  No other uses are authorized.  Renesas products are
6  * sold pursuant to Renesas terms and conditions of sale.  Purchasers are solely responsible for the selection and use
7  * of Renesas products and Renesas assumes no liability.  No license, express or implied, to any intellectual property
8  * right is granted by Renesas. This software is protected under all applicable laws, including copyright laws. Renesas
9  * reserves the right to change or discontinue this software and/or this documentation. THE SOFTWARE AND DOCUMENTATION
10  * IS DELIVERED TO YOU "AS IS," AND RENESAS MAKES NO REPRESENTATIONS OR WARRANTIES, AND TO THE FULLEST EXTENT
11  * PERMISSIBLE UNDER APPLICABLE LAW, DISCLAIMS ALL WARRANTIES, WHETHER EXPLICITLY OR IMPLICITLY, INCLUDING WARRANTIES
12  * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT, WITH RESPECT TO THE SOFTWARE OR
13  * DOCUMENTATION.  RENESAS SHALL HAVE NO LIABILITY ARISING OUT OF ANY SECURITY VULNERABILITY OR BREACH.  TO THE MAXIMUM
14  * EXTENT PERMITTED BY LAW, IN NO EVENT WILL RENESAS BE LIABLE TO YOU IN CONNECTION WITH THE SOFTWARE OR DOCUMENTATION
15  * (OR ANY PERSON OR ENTITY CLAIMING RIGHTS DERIVED FROM YOU) FOR ANY LOSS, DAMAGES, OR CLAIMS WHATSOEVER, INCLUDING,
16  * WITHOUT LIMITATION, ANY DIRECT, CONSEQUENTIAL, SPECIAL, INDIRECT, PUNITIVE, OR INCIDENTAL DAMAGES; ANY LOST PROFITS,
17  * OTHER ECONOMIC DAMAGE, PROPERTY DAMAGE, OR PERSONAL INJURY; AND EVEN IF RENESAS HAS BEEN ADVISED OF THE POSSIBILITY
18  * OF SUCH LOSS, DAMAGES, CLAIMS OR COSTS.
19  **********************************************************************************************************************/
20 
21 #ifndef BSP_API_H
22 #define BSP_API_H
23 
24 /***********************************************************************************************************************
25  * Includes   <System Includes> , "Project Includes"
26  **********************************************************************************************************************/
27 
28 /* FSP Common Includes. */
29 #include "fsp_common_api.h"
30 
31 /* Gets MCU configuration information. */
32 #include "bsp_cfg.h"
33 
34 #if defined(__GNUC__) && !defined(__ARMCC_VERSION)
35 
36 /* Store warning settings for 'conversion' and 'sign-conversion' to as specified on command line. */
37  #pragma GCC diagnostic push
38 
39 /* CMSIS-CORE currently generates 2 warnings when compiling with GCC. One in core_cmInstr.h and one in core_cm4_simd.h.
40  * We are not modifying these files so we will ignore these warnings temporarily. */
41  #pragma GCC diagnostic ignored "-Wconversion"
42  #pragma GCC diagnostic ignored "-Wsign-conversion"
43 #endif
44 
45 /* Vector information for this project. This is generated by the tooling. */
46 #include "../../src/bsp/mcu/all/bsp_exceptions.h"
47 #include "vector_data.h"
48 
49 /* CMSIS-CORE Renesas Device Files. Must come after bsp_feature.h, which is included in bsp_cfg.h. */
50 #include "../../src/bsp/cmsis/Device/RENESAS/Include/renesas.h"
51 #include "../../src/bsp/cmsis/Device/RENESAS/Include/system.h"
52 
53 #if defined(__GNUC__) && !defined(__ARMCC_VERSION)
54 
55 /* Restore warning settings for 'conversion' and 'sign-conversion' to as specified on command line. */
56  #pragma GCC diagnostic pop
57 #endif
58 
59 #if defined(BSP_API_OVERRIDE)
60  #include BSP_API_OVERRIDE
61 #else
62 
63 /* BSP Common Includes. */
64  #include "../../src/bsp/mcu/all/bsp_common.h"
65 
66 /* BSP MCU Specific Includes. */
67  #include "../../src/bsp/mcu/all/bsp_register_protection.h"
68  #include "../../src/bsp/mcu/all/bsp_irq.h"
69  #include "../../src/bsp/mcu/all/bsp_io.h"
70  #include "../../src/bsp/mcu/all/bsp_group_irq.h"
71  #include "../../src/bsp/mcu/all/bsp_clocks.h"
72  #include "../../src/bsp/mcu/all/bsp_module_stop.h"
73  #include "../../src/bsp/mcu/all/bsp_security.h"
74 
75 /* Factory MCU information. */
76  #include "../../inc/fsp_features.h"
77 
78 /* BSP Common Includes (Other than bsp_common.h) */
79  #include "../../src/bsp/mcu/all/bsp_delay.h"
80  #include "../../src/bsp/mcu/all/bsp_mcu_api.h"
81 
82 #endif
83 
84 /** Common macro for FSP header files. There is also a corresponding FSP_FOOTER macro at the end of this file. */
85 FSP_HEADER
86 
87 /***********************************************************************************************************************
88  * Typedef definitions
89  **********************************************************************************************************************/
90 
91 /***********************************************************************************************************************
92  * Exported global variables
93  **********************************************************************************************************************/
94 
95 /***********************************************************************************************************************
96  * Exported global functions (to be accessed by other files)
97  **********************************************************************************************************************/
98 
99 /*******************************************************************************************************************//**
100  * @addtogroup BSP_MCU
101  * @{
102  **********************************************************************************************************************/
103 
104 fsp_err_t R_FSP_VersionGet(fsp_pack_version_t * const p_version);
105 
106 /** @} (end addtogroup BSP_MCU) */
107 
108 /** Common macro for FSP header files. There is also a corresponding FSP_HEADER macro at the top of this file. */
109 FSP_FOOTER
110 
111 #endif
112