1 /*
2  * Copyright 2022 NXP
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef NETC_ETHSWT_IP_CFG_DEFINES_H
8 #define NETC_ETHSWT_IP_CFG_DEFINES_H
9 
10 /**
11  *   @file Netc_EthSwt_Ip_Cfg_Defines.h
12  *   @addtogroup NETC_ETHSWT_IP NETC_ETHSWT Driver
13  *   @{
14  */
15 
16 #ifdef __cplusplus
17 extern "C"{
18 #endif
19 
20 /*==================================================================================================
21 *                                          INCLUDE FILES
22 * 1) system and project includes
23 * 2) needed interfaces from external units
24 * 3) internal and external interfaces from this unit
25 ==================================================================================================*/
26 #include "Mcal.h"
27 #include "S32Z2_NETC_F3_COMMON.h"
28 #include "S32Z2_ENETC_PORT.h"
29 #include "S32Z2_NETC_F3_SI0.h"
30 #include "S32Z2_NETC_F3.h"
31 #include "S32Z2_NETC_F0_PCI_HDR_TYPE0.h"
32 #include "S32Z2_NETC_F1_PCI_HDR_TYPE0.h"
33 #include "S32Z2_NETC_F2_PCI_HDR_TYPE0.h"
34 #include "S32Z2_NETC_F3_PCI_HDR_TYPE0.h"
35 #include "S32Z2_ENETC_PORT.h"
36 #include "S32Z2_SW_PORT0.h"
37 #include "S32Z2_SW_PORT1.h"
38 #include "S32Z2_SW_PORT2.h"
39 #include "S32Z2_SW_ETH_MAC_PORT0.h"
40 #include "S32Z2_SW_ETH_MAC_PORT1.h"
41 #include "S32Z2_SW_PSEUDO_MAC_PORT2.h"
42 #include "S32Z2_NETC_IERB.h"
43 #include "S32Z2_NETC_F2.h"
44 #include "S32Z2_NETC_F2_GLOBAL.h"
45 #include "S32Z2_NETC_F2_COMMON.h"
46 #include "S32Z2_NETC_PRIV.h"
47 #include "S32Z2_NETC_F1.h"
48 #include "S32Z2_GPR1.h"
49 #include "S32Z2_TMR0_BASE.h"
50 
51 /*==================================================================================================
52 *                                 SOURCE FILE VERSION INFORMATION
53 ==================================================================================================*/
54 #define NETC_ETHSWT_IP_CFG_DEFINES_VENDOR_ID                    43
55 #define NETC_ETHSWT_IP_CFG_DEFINES_MODULE_ID                    89
56 #define NETC_ETHSWT_IP_CFG_DEFINES_AR_RELEASE_MAJOR_VERSION     4
57 #define NETC_ETHSWT_IP_CFG_DEFINES_AR_RELEASE_MINOR_VERSION     7
58 #define NETC_ETHSWT_IP_CFG_DEFINES_AR_RELEASE_REVISION_VERSION  0
59 #define NETC_ETHSWT_IP_CFG_DEFINES_SW_MAJOR_VERSION             0
60 #define NETC_ETHSWT_IP_CFG_DEFINES_SW_MINOR_VERSION             9
61 #define NETC_ETHSWT_IP_CFG_DEFINES_SW_PATCH_VERSION             0
62 
63 /*==================================================================================================
64 *                                       FILE VERSION CHECKS
65 ==================================================================================================*/
66 #ifndef DISABLE_MCAL_INTERMODULE_ASR_CHECK
67     /* Check if current file and Mcal.h header file are of the same Autosar version */
68     #if ((NETC_ETHSWT_IP_CFG_DEFINES_AR_RELEASE_MAJOR_VERSION != MCAL_AR_RELEASE_MAJOR_VERSION) || \
69          (NETC_ETHSWT_IP_CFG_DEFINES_AR_RELEASE_MINOR_VERSION != MCAL_AR_RELEASE_MINOR_VERSION))
70         #error "AUTOSAR Version Numbers of Netc_EthSwt_Ip_Cfg_Defines.h and Mcal.h are different"
71     #endif
72 #endif
73 
74 /*==================================================================================================
75 *                                            CONSTANTS
76 ==================================================================================================*/
77 
78 /*==================================================================================================
79 *                                       DEFINES AND MACROS
80 ==================================================================================================*/
81 
82 #define NETC_ETHSWT_IP_DEV_ERROR_DETECT STD_ON /*!< NETC dev error detected.*/
83 
84 #define NETC_NUMBER_OF_PRIORITIES (8U) /*!< Number of priorities.*/
85 
86 #define NETC_TXBD_BUF_LEN_MASK           (0x0000FFFFUL) /*!< TX buffer length mask.*/
87 #define NETC_TXBD_FINAL_MASK             (0x80000000UL) /*!< TX final mask.*/
88 #define NETC_TXBD_EXTENDED_BUFFER_MASK   (0x40000000UL) /*!< TX extended buffer mask.*/
89 #define NETC_TXBD_WRITTEN_MASK           (0x08000000UL) /*!< TX written mask.*/
90 
91 #define NETC_RXBD_FINAL_MASK             (0x80000000UL) /*!< RX final mask.*/
92 
93 #define Netc_EthSwt_Ip_PortBaseType      SW_ETH_MAC_PORT0_Type  /*!< Port base type.*/
94 #define Netc_EthSwt_Ip_PseudoPortBaseType      SW_PSEUDO_MAC_PORT2_Type  /*!< Pseudo base type.*/
95 
96 #define FEATURE_NETC_ETHSWT_IP_NUMBER_OF_SWTS	(1U) /*!< Number of switchs.*/
97 
98 #define NETC_ETHSWT_IP_TABLE_REQBUFFER_LEN   (48U)     /*!< the length of request data buffer in bytes for FDB and other small tables */
99 #define NETC_ETHSWT_IP_TABLE_RESBUFFER_LEN   (36U)     /*!< 36 bytes is buffer lenth*/
100 
101 #define NETC_ETHSWT_IP_EGRESSCOUNTTABLE_REQBUFFER_LEN   (8U)      /*!< the length of request data buffer in bytes for Egress Count table, this size has to be 8 bytes. */
102 #define NETC_ETHSWT_IP_EGRESSCOUNTTABLE_RSPBUFFER_LEN   (20U)     /*!< the length of response data buffer in bytes for Egress Count table */
103 
104 #define NETC_ETHSWT_IP_INGRESSPORTFILTERTABLE_REQBUFFER_LEN   (224U)     /*!< the length of response data buffer in bytes for Ingress Port Filter table */
105 #define NETC_ETHSWT_IP_INGRESSPORTFILTERTABLE_RSPBUFFER_LEN   (236U)     /*!< the length of response data buffer in bytes for Ingress Port Filter table */
106 
107 /* The maximum number of gate control list */
108 #define NETC_ETHSWT_MAX_NUMBER_OF_GATECONTROLLIST_ENTRIES              (8U)
109 #define NETC_ETHSWT_IP_TABLEDATA_BUFFER_LENGTH  ((236)/4)
110 
111 /*==================================================================================================
112 *                                              ENUMS
113 ==================================================================================================*/
114 
115 /*==================================================================================================
116 *                                  STRUCTURES AND OTHER TYPEDEFS
117 ==================================================================================================*/
118 
119 /*==================================================================================================
120 *                                  GLOBAL VARIABLE DECLARATIONS
121 ==================================================================================================*/
122 
123 /*==================================================================================================
124 *                                       FUNCTION PROTOTYPES
125 ==================================================================================================*/
126 
127 #ifdef __cplusplus
128 }
129 #endif
130 
131 /** @} */
132 
133 #endif /* NETC_ETHSWT_IP_CFG_DEFINES_H */
134