1 /*
2  * Copyright 2022-2024 NXP
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef NETC_ETH_IP_CFG_H
8 #define NETC_ETH_IP_CFG_H
9 
10 /**
11 *   @file Netc_Eth_Ip_Cfg.h
12 *
13 *   @addtogroup NETC_ETH_DRIVER NETC_ETH Driver
14 *   @{
15 */
16 
17 #ifdef __cplusplus
18 extern "C"{
19 #endif
20 
21 /*==================================================================================================
22                                          INCLUDE FILES
23  1) system and project includes
24  2) needed interfaces from external units
25  3) internal and external interfaces from this unit
26 ==================================================================================================*/
27 #include "Netc_Eth_Ip_Sa_Init_PBcfg.h"
28 
29 /*==================================================================================================
30 *                              SOURCE FILE VERSION INFORMATION
31 ==================================================================================================*/
32 #define NETC_ETH_IP_CFG_VENDOR_ID                    43
33 #define NETC_ETH_IP_CFG_AR_RELEASE_MAJOR_VERSION     4
34 #define NETC_ETH_IP_CFG_AR_RELEASE_MINOR_VERSION     7
35 #define NETC_ETH_IP_CFG_AR_RELEASE_REVISION_VERSION  0
36 #define NETC_ETH_IP_CFG_SW_MAJOR_VERSION             2
37 #define NETC_ETH_IP_CFG_SW_MINOR_VERSION             0
38 #define NETC_ETH_IP_CFG_SW_PATCH_VERSION             0
39 
40 /*==================================================================================================
41 *                                     FILE VERSION CHECKS
42 ==================================================================================================*/
43 /* Checks against Netc_Eth_Ip_Sa_Init_PBcfg.h */
44 #if (NETC_ETH_IP_CFG_VENDOR_ID != NETC_ETH_IP_SA_INIT_PBCFG_VENDOR_ID)
45     #error "Netc_Eth_Ip_Cfg.h and Netc_Eth_Ip_Sa_Init_PBcfg.h have different vendor ids"
46 #endif
47 #if ((NETC_ETH_IP_CFG_AR_RELEASE_MAJOR_VERSION    != NETC_ETH_IP_SA_INIT_PBCFG_AR_RELEASE_MAJOR_VERSION) || \
48      (NETC_ETH_IP_CFG_AR_RELEASE_MINOR_VERSION    != NETC_ETH_IP_SA_INIT_PBCFG_AR_RELEASE_MINOR_VERSION) || \
49      (NETC_ETH_IP_CFG_AR_RELEASE_REVISION_VERSION != NETC_ETH_IP_SA_INIT_PBCFG_AR_RELEASE_REVISION_VERSION))
50      #error "AUTOSAR Version Numbers of Netc_Eth_Ip_Cfg.h and Netc_Eth_Ip_Sa_Init_PBcfg.h are different"
51 #endif
52 #if ((NETC_ETH_IP_CFG_SW_MAJOR_VERSION != NETC_ETH_IP_SA_INIT_PBCFG_SW_MAJOR_VERSION) || \
53      (NETC_ETH_IP_CFG_SW_MINOR_VERSION != NETC_ETH_IP_SA_INIT_PBCFG_SW_MINOR_VERSION) || \
54      (NETC_ETH_IP_CFG_SW_PATCH_VERSION != NETC_ETH_IP_SA_INIT_PBCFG_SW_PATCH_VERSION))
55     #error "Software Version Numbers of Netc_Eth_Ip_Cfg.h and Netc_Eth_Ip_Sa_Init_PBcfg.h are different"
56 #endif
57 
58 /*==================================================================================================
59 *                                      DEFINES AND MACROS
60 ==================================================================================================*/
61 #define NETC_ETH_IP_CONFIG_EXT \
62     NETC_ETH_IP_CONFIG_SA_INIT_PB \
63 
64 /** @brief Alignment value for virtual station interface message send. */
65 #define FEATURE_NETC_ETH_VSI_MSG_ALIGNMENT          (64U)
66 /* Value used to increment producer index */
67 #if (STD_OFF == NETC_ETH_IP_EXTENDED_BUFF)
68     /** @brief Value used to increment producer index. */
69     #define  NETC_ETH_IP_PRODUCER_INCR            (1U)
70 #else
71     /** @brief Value used to increment producer index. */
72     #define  NETC_ETH_IP_PRODUCER_INCR            (2U)
73 #endif
74 
75 /** @brief Timeout type used. */
76 #define NETC_ETH_IP_TIMEOUT_TYPE              (OSIF_COUNTER_DUMMY)
77 
78 /** @brief Timeout value in microseconds. */
79 #define NETC_ETH_IP_TIMEOUT_VALUE_US          (1000U)
80 
81 
82 /*! @brief Enables / Disables the allocation of the TX data buffers. */
83 #define NETC_ETH_IP_HAS_EXTERNAL_TX_BUFFERS  (STD_OFF)
84 
85 /*! @brief Enables / Disables the allocation of the RX data buffers. */
86 #define NETC_ETH_IP_HAS_EXTERNAL_RX_BUFFERS  (STD_OFF)
87 
88 #if (STD_ON == NETC_ETH_IP_HAS_EXTERNAL_TX_BUFFERS)
89 /*! @brief Array of the feature of external buffers support indexed at controller level. */
90     #define NETC_ETH_IP_INST_HAS_EXTERNAL_TX_BUFFERS  {(boolean)FALSE, (boolean)FALSE, (boolean)FALSE, (boolean)FALSE, (boolean)FALSE, (boolean)FALSE, (boolean)FALSE, (boolean)FALSE}
91 #endif
92 
93 #if (STD_ON == NETC_ETH_IP_HAS_EXTERNAL_RX_BUFFERS)
94 /*! @brief Array of the feature of external buffers support indexed at controller level. */
95     #define NETC_ETH_IP_INST_HAS_EXTERNAL_RX_BUFFERS  {(boolean)FALSE, (boolean)FALSE, (boolean)FALSE, (boolean)FALSE, (boolean)FALSE, (boolean)FALSE, (boolean)FALSE, (boolean)FALSE}
96 #endif
97 
98 /*==================================================================================================
99 *                                             ENUMS
100 ==================================================================================================*/
101 
102 /*==================================================================================================
103 *                                STRUCTURES AND OTHER TYPEDEFS
104 ==================================================================================================*/
105 
106 /*==================================================================================================
107 *                                GLOBAL VARIABLE DECLARATIONS
108 ==================================================================================================*/
109 
110 /*==================================================================================================
111 *                                    FUNCTION PROTOTYPES
112 ==================================================================================================*/
113 
114 #ifdef __cplusplus
115 }
116 #endif
117 
118 /** @} */
119 
120 #endif /* NETC_ETH_IP_CFG_H */
121