1 /*
2  * Copyright 2022-2023 NXP
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef SIUL2_DIO_IP_CFG_H
8 #define SIUL2_DIO_IP_CFG_H
9 
10 /**
11 *   @file Siul2_Dio_Ip_Cfg.h
12 *   @implements Siul2_Dio_Ip_Cfg.h_Artifact
13 *
14 *   @addtogroup DIO_CFG
15 *   @{
16 */
17 
18 #ifdef __cplusplus
19 extern "C"{
20 #endif
21 
22 
23 /*==================================================================================================
24 *                                        INCLUDE FILES
25 * 1) system and project includes
26 * 2) needed interfaces from external units
27 * 3) internal and external interfaces from this unit
28 ==================================================================================================*/
29 #include "S32Z2_SIUL2.h"
30 /*==================================================================================================
31 *                              SOURCE FILE VERSION INFORMATION
32 ==================================================================================================*/
33 #define SIUL2_DIO_IP_VENDOR_ID_CFG_H                       43
34 #define SIUL2_DIO_IP_AR_RELEASE_MAJOR_VERSION_CFG_H        4
35 #define SIUL2_DIO_IP_AR_RELEASE_MINOR_VERSION_CFG_H        7
36 #define SIUL2_DIO_IP_AR_RELEASE_REVISION_VERSION_CFG_H     0
37 #define SIUL2_DIO_IP_SW_MAJOR_VERSION_CFG_H                1
38 #define SIUL2_DIO_IP_SW_MINOR_VERSION_CFG_H                0
39 #define SIUL2_DIO_IP_SW_PATCH_VERSION_CFG_H                0
40 
41 /*==================================================================================================
42 *                                     FILE VERSION CHECKS
43 ==================================================================================================*/
44 
45 /*==================================================================================================
46 *                                          CONSTANTS
47 ==================================================================================================*/
48 
49 /*==================================================================================================
50 *                                      DEFINES AND MACROS
51 ==================================================================================================*/
52 /* Pre-processor switch to enable/disable VirtWrapper support */
53 #define DIO_VIRTWRAPPER_SUPPORT                 (STD_OFF)
54 
55 /**
56 * @brief Support for User mode.
57 *        If this parameter has been configured to STD_ON, the Dio driver code can be executed from both supervisor and user mode.
58 */
59 #define DIO_ENABLE_USER_MODE_SUPPORT          (STD_OFF)
60 
61 /**
62 * @brief Support for REG_PROT in SIUL2 IP.
63 *        If the current platform implements REG_PROT for SIUL2 IP, this parameter will be defined, and will enable REG_PROT configuration for SIUL2 IP in DIO drvier
64 */
65 #define DIO_SIUL2_REG_PROT_AVAILABLE    (STD_OFF)
66 
67 #ifndef MCAL_ENABLE_USER_MODE_SUPPORT
68  #ifdef DIO_ENABLE_USER_MODE_SUPPORT
69   #if (STD_ON == DIO_ENABLE_USER_MODE_SUPPORT)
70     #error MCAL_ENABLE_USER_MODE_SUPPORT is not enabled. For running Dio in user mode the MCAL_ENABLE_USER_MODE_SUPPORT needs to be defined
71   #endif /* (STD_ON == DIO_ENABLE_USER_MODE_SUPPORT) */
72  #endif /* ifdef DIO_ENABLE_USER_MODE_SUPPORT*/
73 #endif /* ifndef MCAL_ENABLE_USER_MODE_SUPPORT */
74 
75 /**
76 * @brief          Pre-processor switch to enable/disable development error detection for Dio Ip API
77 *
78 * @implements     Siul2_Dio_Ip_ErrorDetect_define
79 */
80 #define SIUL2_DIO_IP_DEV_ERROR_DETECT                         (STD_OFF)
81 
82 
83 /** SIUL2_0 */
84 /** Peripheral DIO_PTA base pointer */
85 #define DIO_PTA                            ((Siul2_Dio_Ip_GpioType *)(&(IP_SIUL2_0->PGPDO0)))
86 /** Peripheral DIO_PTB base pointer */
87 #define DIO_PTB                            ((Siul2_Dio_Ip_GpioType *)(&(IP_SIUL2_0->PGPDO1)))
88 /** SIUL2_1 */
89 /** Peripheral DIO_PTC base pointer */
90 #define DIO_PTC                            ((Siul2_Dio_Ip_GpioType *)(&(IP_SIUL2_1->PGPDO1)))
91 /** Peripheral DIO_PTD base pointer */
92 #define DIO_PTD                            ((Siul2_Dio_Ip_GpioType *)(&(IP_SIUL2_1->PGPDO2)))
93 /** Peripheral DIO_PTE base pointer */
94 #define DIO_PTE                            ((Siul2_Dio_Ip_GpioType *)(&(IP_SIUL2_1->PGPDO3)))
95 /** Peripheral DIO_PTF base pointer */
96 #define DIO_PTF                            ((Siul2_Dio_Ip_GpioType *)(&(IP_SIUL2_1->PGPDO4)))
97 /** Peripheral DIO_PTG base pointer */
98 #define DIO_PTG                            ((Siul2_Dio_Ip_GpioType *)(&(IP_SIUL2_1->PGPDO5)))
99 /** SIUL2_4 */
100 /** Peripheral DIO_PTH base pointer */
101 #define DIO_PTH                            ((Siul2_Dio_Ip_GpioType *)(&(IP_SIUL2_4->PGPDO5)))
102 /** Peripheral DIO_PTI base pointer */
103 #define DIO_PTI                            ((Siul2_Dio_Ip_GpioType *)(&(IP_SIUL2_4->PGPDO6)))
104 /** Peripheral DIO_PTJ base pointer */
105 #define DIO_PTJ                            ((Siul2_Dio_Ip_GpioType *)(&(IP_SIUL2_4->PGPDO7)))
106 /** Peripheral DIO_PTK base pointer */
107 #define DIO_PTK                            ((Siul2_Dio_Ip_GpioType *)(&(IP_SIUL2_4->PGPDO8)))
108 /** Peripheral DIO_PTL base pointer */
109 #define DIO_PTL                            ((Siul2_Dio_Ip_GpioType *)(&(IP_SIUL2_4->PGPDO9)))
110 /** SIUL2_5 */
111 /** Peripheral DIO_PTM base pointer */
112 #define DIO_PTM                            ((Siul2_Dio_Ip_GpioType *)(&(IP_SIUL2_5->PGPDO9)))
113 /** Peripheral DIO_PTN base pointer */
114 #define DIO_PTN                            ((Siul2_Dio_Ip_GpioType *)(&(IP_SIUL2_5->PGPDO10)))
115 /** SIUL2_0 */
116 /** Peripheral DIO_PTO base pointer */
117 #define DIO_PTO                            ((Siul2_Dio_Ip_GpioType *)(&(IP_SIUL2_0->PGPDO10)))
118 
119 /*==================================================================================================
120 *                                             ENUMS
121 ==================================================================================================*/
122 
123 /*==================================================================================================
124 *                                STRUCTURES AND OTHER TYPEDEFS
125 ==================================================================================================*/
126 
127 /*==================================================================================================
128 *                                GLOBAL VARIABLE DECLARATIONS
129 ==================================================================================================*/
130 
131 /*==================================================================================================
132 *                                    FUNCTION PROTOTYPES
133 ==================================================================================================*/
134 
135 
136 #ifdef __cplusplus
137 }
138 #endif
139 
140 /** @} */
141 
142 #endif /* SIUL2_DIO_IP_CFG_H */
143