116 #include "Eth_Types.h"
118 #include "Eth_Packet.h"
140 #define ETH_SW_MAJOR_VERSION (11U)
142 #define ETH_SW_MINOR_VERSION (0U)
144 #define ETH_SW_PATCH_VERSION (0U)
154 #define ETH_AR_RELEASE_MAJOR_VERSION (4U)
156 #define ETH_AR_RELEASE_MINOR_VERSION (3U)
158 #define ETH_AR_RELEASE_REVISION_VERSION (1U)
166 #define ETH_VENDOR_ID ((uint16) 44U)
168 #define ETH_MODULE_ID ((uint16) 88U)
170 #define ETH_INSTANCE_ID ((uint8) 0U)
184 #ifndef ETH_E_INV_CTRL_IDX
186 #define ETH_E_INV_CTRL_IDX ((uint8) 0x01U)
190 #define ETH_E_UNINIT ((uint8) 0x02U)
192 #ifndef ETH_E_PARAM_POINTER
194 #define ETH_E_PARAM_POINTER ((uint8) 0x03U)
196 #ifndef ETH_E_INV_PARAM
198 #define ETH_E_INV_PARAM ((uint8) 0x04U)
200 #ifndef ETH_E_INV_MODE
202 #define ETH_E_INV_MODE ((uint8) 0x05U)
204 #ifndef ETH_E_VIRTMAC_APIMISMATCH
206 #define ETH_E_VIRTMAC_APIMISMATCH ((uint8) 0x07U)
208 #ifndef ETH_E_VIRTMAC_RPCCMDFAILED
210 #define ETH_E_VIRTMAC_RPCCMDFAILED ((uint8) 0x08U)
212 #ifndef ETH_E_VIRTMAC_UNSUPPORTECLIENTNOTIFY
214 #define ETH_E_VIRTMAC_UNSUPPORTECLIENTNOTIFY ((uint8) 0x09U)
216 #ifndef ETH_E_VIRTMAC_UNSUPPORTEDSRVCMD
218 #define ETH_E_VIRTMAC_UNSUPPORTEDSRVCMD ((uint8) 0x0AU)
222 #define ETH_E_BUSY ((uint8) 0x0BU)
225 #ifndef ETH_E_MDIO_FAULT
227 #define ETH_E_MDIO_FAULT ((uint8) 0x0CU)
241 #define ETH_SID_INIT ((uint8) 0x01U)
244 #define ETH_SID_SET_CONTROLLER_MODE ((uint8) 0x03U)
247 #define ETH_SID_GET_CONTROLLER_MODE ((uint8) 0x04U)
250 #define ETH_SID_WRITE_MII ((uint8) 0x05U)
253 #define ETH_SID_READ_MII ((uint8) 0x06U)
256 #define ETH_SID_GET_COUNTER_STATE ((uint8) 0x07U)
259 #define ETH_SID_GET_PHYS_ADDR ((uint8) 0x08U)
262 #define ETH_SID_PROVIDE_TX_BUFFER ((uint8) 0x09U)
266 #define ETH_SID_MAIN_FUNCTION ((uint8) 0x20U)
269 #define ETH_SID_TRANSMIT ((uint8) 0x0AU)
272 #define ETH_SID_RECEIVE ((uint8) 0x0BU)
275 #define ETH_SID_TX_CONFIRMATION ((uint8) 0x0CU)
278 #define ETH_SID_GET_VERSION_INFO ((uint8) 0x0DU)
281 #define ETH_SID_RX_IRQ_HDLR ((uint8) 0x10U)
284 #define ETH_SID_TX_IRQ_HDLR ((uint8) 0x11U)
287 #define ETH_SID_UPDATE_PHYS_ADDR_FILTER ((uint8) 0x12U)
290 #define ETH_SID_SET_PHYS_ADDR ((uint8) 0x13U)
293 #define ETH_SID_GET_COUNTER_VALUES ((uint8) 0x14U)
296 #define ETH_SID_GET_RX_STATS ((uint8) 0x15U)
299 #define ETH_SID_GET_TX_STATS ((uint8) 0x1CU)
302 #define ETH_SID_GET_TXERROR_COUNTERVALUES ((uint8) 0x1DU)
305 #define ETH_SID_GET_CURRENT_TIME ((uint8) 0x16U)
308 #define ETH_SID_ENABLE_EGRESS_TIMESTAMP ((uint8) 0x17U)
311 #define ETH_SID_GET_EGRESS_TIMESTAMP ((uint8) 0x18U)
314 #define ETH_SID_GET_INGRESS_TIMESTAMP ((uint8) 0x19U)
317 #define ETH_SID_DISPATCH_VIRTMAC_INIT ((uint8) 0x30U)
320 #define ETH_SID_DISPATCH_VIRTMAC_DEINIT ((uint8) 0x31U)
323 #define ETH_SID_NOTIFY_VIRTMAC_MSGRECV ((uint8) 0x32U)
326 #define ETH_SID_DISPATCH_VIRTMAC_SUBSCRIBE_ALLTRAFFIC ((uint8) 0x33U)
329 #define ETH_SID_DISPATCH_VIRTMAC_UNSUBSCRIBE_ALLTRAFFIC ((uint8) 0x34U)
332 #define ETH_SID_DISPATCH_VIRTMAC_SUBSCRIBE_DSTMAC ((uint8) 0x35U)
335 #define ETH_SID_DISPATCH_VIRTMAC_UNSUBSCRIBE_DSTMAC ((uint8) 0x36U)
338 #define ETH_SID_DISPATCH_VIRTMAC_IPV4_MACADDR_ASSOCIATE ((uint8) 0x37U)
341 #define ETH_SID_DISPATCH_VIRTMAC_IPV4_MACADDR_DISASSOCIATE ((uint8) 0x38U)
344 #define ETH_SID_DISPATCH_VIRTMAC_ADD_UNICAST_MACADDR ((uint8) 0x39U)
347 #define ETH_SID_DISPATCH_VIRTMAC_ADD_MCAST_MACADDR ((uint8) 0x3AU)
350 #define ETH_SID_DISPATCH_VIRTMAC_DEL_MACADDR ((uint8) 0x3BU)
353 #define ETH_SID_DISPATCH_VIRTMAC_ADD_VLAN ((uint8) 0x3CU)
356 #define ETH_SID_DISPATCH_VIRTMAC_DEL_VLAN ((uint8) 0x3DU)
359 #define ETH_SID_VIRTMAC_RPC_INIT ((uint8) 0x3FU)
362 #define ETH_SID_SET_BANDWIDTH_LIMIT ((uint8) 0x50U)
365 #define ETH_SID_GET_BANDWIDTH_LIMIT ((uint8) 0x51U)
368 #define ETH_SID_RELEASE_RX_BUFFER ((uint8) 0x52U)
371 #define ETH_SID_PROVIDE_EXT_TX_BUFFER ((uint8) 0x53U)
374 #define ETH_SID_GET_TX_HEADER_PTR ((uint8) 0x54U)
377 #define ETH_SID_GET_RX_HEADER_PTR ((uint8) 0x55U)
380 #define ETH_SID_REGISTER_READBACK ((uint8) 0x56U)
444 Eth_SetControllerMode(uint8 CtrlIdx,
447 #if (STD_ON == ETH_VIRTUALMAC_SUPPORT)
475 FUNC(Std_ReturnType, ETH_CODE)
476 Eth_SetControllerModeByVirtMac(uint8 CtrlIdx,
505 FUNC(Std_ReturnType, ETH_CODE)
506 Eth_GetControllerMode(uint8 CtrlIdx,
534 Eth_GetPhysAddr(uint8 CtrlIdx,
563 Eth_SetPhysAddr(uint8 CtrlIdx,
566 #if (STD_ON == ETH_UPDATE_PHYS_ADDR_FILTER_API)
598 FUNC(Std_ReturnType, ETH_CODE)
599 Eth_UpdatePhysAddrFilter(uint8 CtrlIdx,
604 #if (STD_ON == ETH_ENABLE_MII_API)
636 FUNC(Std_ReturnType, ETH_CODE)
637 Eth_WriteMii(uint8 CtrlIdx,
672 FUNC(Std_ReturnType, ETH_CODE)
673 Eth_ReadMii(uint8 CtrlIdx,
679 #if (STD_ON == ETH_GET_COUNTER_VALUES_API)
703 FUNC(Std_ReturnType, ETH_CODE)
704 Eth_GetCounterValues(uint8 CtrlIdx,
708 #if (STD_ON == ETH_GET_COUNTER_STATE_API)
731 FUNC(Std_ReturnType, ETH_CODE)
732 Eth_GetCounterState(uint8 CtrlIdx,
737 #if (STD_ON == ETH_GET_RX_STATS_API)
763 FUNC(Std_ReturnType, ETH_CODE)
764 Eth_GetRxStats(uint8 CtrlIdx,
768 #if (STD_ON == ETH_GET_TX_STATS_API)
794 FUNC(Std_ReturnType, ETH_CODE)
795 Eth_GetTxStats(uint8 CtrlIdx,
799 #if (STD_ON == ETH_GET_TX_ERROR_COUNTERSVALUES_API)
823 FUNC(Std_ReturnType, ETH_CODE)
824 Eth_GetTxErrorCounterValues(uint8 CtrlIdx,
825 P2VAR(Eth_TxErrorCounterValuesType,
AUTOMATIC, ETH_APPL_DATA) TxErrorCounterValues);
828 #if (STD_ON == ETH_GLOBALTIMESUPPORT_API)
857 FUNC(Std_ReturnType, ETH_CODE)
858 Eth_GetCurrentTime(uint8 CtrlIdx,
892 Eth_EnableEgressTimeStamp(uint8 CtrlIdx, Eth_BufIdxType
BufIdx);
925 Eth_GetEgressTimeStamp(uint8 CtrlIdx,
927 P2VAR(Eth_TimeStampQualType,
AUTOMATIC, ETH_APPL_DATA) timeQualPtr,
961 Eth_GetIngressTimeStamp(uint8 CtrlIdx,
963 P2VAR(Eth_TimeStampQualType,
AUTOMATIC, ETH_APPL_DATA) timeQualPtr,
1003 Eth_ProvideTxBuffer(uint8 CtrlIdx,
1043 FUNC(Std_ReturnType, ETH_CODE)
1044 Eth_Transmit(uint8 CtrlIdx,
1076 FUNC(
void, ETH_CODE)
1077 Eth_Receive(uint8 CtrlIdx,
1101 FUNC(
void, ETH_CODE)
1102 Eth_TxConfirmation(uint8 CtrlIdx);
1104 #if (STD_ON == ETH_VERSION_INFO_API)
1125 FUNC(
void, ETH_CODE)
1146 FUNC(
void, ETH_CODE)
1147 Eth_MainFunction(
void);
1149 #if (STD_ON == ETH_TRAFFIC_SHAPING_API)
1176 FUNC(Std_ReturnType, ETH_CODE) Eth_SetBandwidthLimit(
1206 FUNC(Std_ReturnType, ETH_CODE) Eth_GetBandwidthLimit(
1212 #if (STD_ON == ETH_ZERO_COPY_API)
1234 FUNC(Std_ReturnType, ETH_CODE) Eth_ReleaseRxBuffer(uint8 CtrlIdx,
1269 FUNC(BufReq_ReturnType, ETH_CODE) Eth_ProvideExtTxBuffer(uint8 CtrlIdx,
1276 #if (STD_ON == ETH_HEADER_ACCESS_API)
1304 FUNC(Std_ReturnType, ETH_CODE) Eth_GetTxHeaderPtr(uint8 CtrlIdx,
1331 FUNC(Std_ReturnType, ETH_CODE) Eth_GetRxHeaderPtr(uint8 CtrlIdx,
1336 #if (STD_ON == ETH_REGISTER_READBACK_API)