116 #include "Eth_Types.h" 118 #include "Eth_Packet.h" 140 #define ETH_SW_MAJOR_VERSION (3U) 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) 186 #ifndef ETH_E_INV_CTRL_IDX 188 #define ETH_E_INV_CTRL_IDX ((uint8) 0x01U) 192 #define ETH_E_UNINIT ((uint8) 0x02U) 194 #ifndef ETH_E_PARAM_POINTER 196 #define ETH_E_PARAM_POINTER ((uint8) 0x03U) 198 #ifndef ETH_E_INV_PARAM 200 #define ETH_E_INV_PARAM ((uint8) 0x04U) 202 #ifndef ETH_E_INV_MODE 204 #define ETH_E_INV_MODE ((uint8) 0x05U) 206 #ifndef ETH_E_VIRTMAC_APIMISMATCH 208 #define ETH_E_VIRTMAC_APIMISMATCH ((uint8) 0x07U) 210 #ifndef ETH_E_VIRTMAC_RPCCMDFAILED 212 #define ETH_E_VIRTMAC_RPCCMDFAILED ((uint8) 0x08U) 214 #ifndef ETH_E_VIRTMAC_UNSUPPORTECLIENTNOTIFY 216 #define ETH_E_VIRTMAC_UNSUPPORTECLIENTNOTIFY ((uint8) 0x09U) 218 #ifndef ETH_E_VIRTMAC_UNSUPPORTEDSRVCMD 220 #define ETH_E_VIRTMAC_UNSUPPORTEDSRVCMD ((uint8) 0x0AU) 224 #define ETH_E_BUSY ((uint8) 0x0BU) 243 #define ETH_SID_INIT ((uint8) 0x01U) 246 #define ETH_SID_SET_CONTROLLER_MODE ((uint8) 0x03U) 249 #define ETH_SID_GET_CONTROLLER_MODE ((uint8) 0x04U) 252 #define ETH_SID_WRITE_MII ((uint8) 0x05U) 255 #define ETH_SID_READ_MII ((uint8) 0x06U) 258 #define ETH_SID_GET_COUNTER_STATE ((uint8) 0x07U) 261 #define ETH_SID_GET_PHYS_ADDR ((uint8) 0x08U) 264 #define ETH_SID_PROVIDE_TX_BUFFER ((uint8) 0x09U) 268 #define ETH_SID_MAIN_FUNCTION ((uint8) 0x0AU) 271 #define ETH_SID_TRANSMIT ((uint8) 0x0BU) 274 #define ETH_SID_RECEIVE ((uint8) 0x0CU) 277 #define ETH_SID_TX_CONFIRMATION ((uint8) 0x0EU) 280 #define ETH_SID_GET_VERSION_INFO ((uint8) 0x0FU) 283 #define ETH_SID_RX_IRQ_HDLR ((uint8) 0x10U) 286 #define ETH_SID_TX_IRQ_HDLR ((uint8) 0x11U) 289 #define ETH_SID_UPDATE_PHYS_ADDR_FILTER ((uint8) 0x12U) 292 #define ETH_SID_SET_PHYS_ADDR ((uint8) 0x13U) 295 #define ETH_SID_GET_COUNTER_VALUES ((uint8) 0x14U) 298 #define ETH_SID_GET_RX_STATS ((uint8) 0x15U) 301 #define ETH_SID_GET_TX_STATS ((uint8) 0x1CU) 304 #define ETH_SID_GET_TXERROR_COUNTERVALUES ((uint8) 0x1DU) 307 #define ETH_SID_GET_CURRENT_TIME ((uint8) 0x16U) 310 #define ETH_SID_ENABLE_EGRESS_TIMESTAMP ((uint8) 0x17U) 313 #define ETH_SID_GET_EGRESS_TIMESTAMP ((uint8) 0x18U) 316 #define ETH_SID_GET_INGRESS_TIMESTAMP ((uint8) 0x19U) 319 #define ETH_SID_SET_CORRECTION_TIME ((uint8) 0x1AU) 322 #define ETH_SID_SET_GLOBAL_TIME ((uint8) 0x1BU) 325 #define ETH_SID_DISPATCH_VIRTMAC_INIT ((uint8) 0x1CU) 328 #define ETH_SID_DISPATCH_VIRTMAC_DEINIT ((uint8) 0x1DU) 331 #define ETH_SID_NOTIFY_VIRTMAC_MSGRECV ((uint8) 0x1EU) 334 #define ETH_SID_DISPATCH_VIRTMAC_SUBSCRIBE_ALLTRAFFIC ((uint8) 0x1FU) 337 #define ETH_SID_DISPATCH_VIRTMAC_UNSUBSCRIBE_ALLTRAFFIC ((uint8) 0x20U) 340 #define ETH_SID_DISPATCH_VIRTMAC_SUBSCRIBE_DSTMAC ((uint8) 0x21U) 343 #define ETH_SID_DISPATCH_VIRTMAC_UNSUBSCRIBE_DSTMAC ((uint8) 0x22U) 346 #define ETH_SID_DISPATCH_VIRTMAC_IPV4_MACADDR_ASSOCIATE ((uint8) 0x23U) 349 #define ETH_SID_DISPATCH_VIRTMAC_IPV4_MACADDR_DISASSOCIATE ((uint8) 0x24U) 352 #define ETH_SID_DISPATCH_VIRTMAC_ADD_UNICAST_MACADDR ((uint8) 0x25U) 355 #define ETH_SID_DISPATCH_VIRTMAC_ADD_MCAST_MACADDR ((uint8) 0x26U) 358 #define ETH_SID_DISPATCH_VIRTMAC_DEL_MACADDR ((uint8) 0x27U) 361 #define ETH_SID_DISPATCH_VIRTMAC_ADD_VLAN ((uint8) 0x28U) 364 #define ETH_SID_DISPATCH_VIRTMAC_DEL_VLAN ((uint8) 0x29U) 367 #define ETH_SID_SEND_CUSTOM_NOTIFY ((uint8) 0x2AU) 370 #define ETH_SID_VIRTMAC_RPC_INIT ((uint8) 0x2BU) 373 #define ETH_SID_SET_BANDWIDTH_LIMIT ((uint8) 0x2CU) 376 #define ETH_SID_GET_BANDWIDTH_LIMIT ((uint8) 0x2DU) 439 FUNC(Std_ReturnType, ETH_CODE)
441 Eth_ModeType CtrlMode);
468 FUNC(Std_ReturnType, ETH_CODE)
470 P2VAR(Eth_ModeType, AUTOMATIC, ETH_APPL_DATA) CtrlModePtr);
498 P2VAR(uint8, AUTOMATIC, ETH_APPL_DATA) PhysAddrPtr);
527 P2CONST(uint8, AUTOMATIC, ETH_APPL_DATA) PhysAddrPtr);
529 #if (STD_ON == ETH_UPDATE_PHYS_ADDR_FILTER_API) 561 FUNC(Std_ReturnType, ETH_CODE)
563 P2CONST(uint8, AUTOMATIC, ETH_APPL_DATA) PhysAddrPtr,
564 Eth_FilterActionType Action);
567 #if (STD_ON == ETH_ENABLE_MII_API) 599 FUNC(Std_ReturnType, ETH_CODE)
635 FUNC(Std_ReturnType, ETH_CODE)
639 P2VAR(uint16, AUTOMATIC, ETH_APPL_DATA) RegValPtr);
642 #if (STD_ON == ETH_GET_COUNTER_VALUES_API) 666 FUNC(Std_ReturnType, ETH_CODE)
668 Eth_CounterType* CounterPtr);
692 FUNC(Std_ReturnType, ETH_CODE)
698 #if (STD_ON == ETH_GET_RX_STATS_API) 724 FUNC(Std_ReturnType, ETH_CODE)
726 P2VAR(Eth_RxStatsType, AUTOMATIC, ETH_APPL_DATA) RxStats);
729 #if (STD_ON == ETH_GET_TX_STATS_API) 755 FUNC(Std_ReturnType, ETH_CODE)
757 P2VAR(Eth_TxStatsType, AUTOMATIC, ETH_APPL_DATA) TxStats);
760 #if (STD_ON == ETH_GET_TX_ERROR_COUNTERSVALUES_API) 784 FUNC(Std_ReturnType, ETH_CODE)
786 P2VAR(Eth_TxErrorCounterValuesType, AUTOMATIC, ETH_APPL_DATA) TxErrorCounterValues);
789 #if (STD_ON == ETH_GLOBALTIMESUPPORT_API) 818 FUNC(Std_ReturnType, ETH_CODE)
820 P2VAR(Eth_TimeStampQualType, AUTOMATIC, ETH_APPL_DATA) timeQualPtr,
821 P2VAR(Eth_TimeStampType, AUTOMATIC, ETH_APPL_DATA) timeStampPtr);
887 Eth_BufIdxType BufIdx,
888 P2VAR(Eth_TimeStampQualType, AUTOMATIC, ETH_APPL_DATA) timeQualPtr,
889 P2VAR(Eth_TimeStampType, AUTOMATIC, ETH_APPL_DATA) timeStampPtr);
923 P2VAR(Eth_DataType, AUTOMATIC, ETH_APPL_DATA) DataPtr,
924 P2VAR(Eth_TimeStampQualType, AUTOMATIC, ETH_APPL_DATA) timeQualPtr,
925 P2VAR(Eth_TimeStampType, AUTOMATIC, ETH_APPL_DATA) timeStampPtr);
961 P2VAR(Eth_TimeIntDiffType, AUTOMATIC, ETH_APPL_DAT) timeOffsetPtr,
962 P2VAR(Eth_RateRatioType, AUTOMATIC, ETH_APPL_DAT) rateRatioPtr);
992 FUNC(Std_ReturnType, ETH_CODE)
994 P2VAR(Eth_TimeStampType, AUTOMATIC, ETH_APPL_DAT) timeStampPtr);
1031 FUNC(BufReq_ReturnType, ETH_CODE)
1034 P2VAR(Eth_BufIdxType, AUTOMATIC, ETH_APPL_DAT) BufIdxPtr,
1035 P2VAR(uint8, AUTOMATIC, ETH_APPL_DAT) *BufPtr,
1036 P2VAR(uint16, AUTOMATIC, ETH_APPL_DAT) LenBytePtr);
1072 FUNC(Std_ReturnType, ETH_CODE)
1074 Eth_BufIdxType BufIdx,
1075 Eth_FrameType FrameType,
1076 boolean TxConfirmation,
1078 P2CONST(uint8, AUTOMATIC, ETH_APPL_DAT) PhysAddrPtr);
1105 FUNC(
void, ETH_CODE)
1108 P2VAR(Eth_RxStatusType, AUTOMATIC, ETH_APPL_DAT) RxStatusPtr);
1130 FUNC(
void, ETH_CODE)
1133 #if (STD_ON == ETH_VERSION_INFO_API) 1154 FUNC(
void, ETH_CODE)
1155 Eth_GetVersionInfo(P2VAR(Std_VersionInfoType, AUTOMATIC, ETH_APPL_DATA) VersionInfo);
1175 FUNC(
void, ETH_CODE)
1178 #if (STD_ON == ETH_WRAPPER_ENABLED) 1209 uint32 BandwidthLimit);
1239 P2VAR(uint32, AUTOMATIC, ETH_APPL_DAT) BandwidthLimitPtr);
void Eth_GetPhysAddr(uint8 CtrlIdx, uint8 *PhysAddrPtr)
This function obtains the physical source address used by the indexed controller.
Std_ReturnType Eth_Transmit(uint8 CtrlIdx, Eth_BufIdxType BufIdx, Eth_FrameType FrameType, boolean TxConfirmation, uint16 LenByte, const uint8 *PhysAddrPtr)
This function triggers transmission of a previously filled transmit buffer.
Std_ReturnType Eth_GetCounterValues(uint8 CtrlIdx, Eth_CounterType *CounterPtr)
This function reads a list with counter values of the corresponding controller.
Std_ReturnType Eth_SetControllerMode(uint8 CtrlIdx, Eth_ModeType CtrlMode)
This function enables / disables the indexed controller.
Std_ReturnType Eth_GetTxErrorCounterValues(uint8 CtrlIdx, Eth_TxErrorCounterValuesType *TxErrorCounterValues)
This function reads a list of values to read statistic error counter values for transmission for corr...
Std_ReturnType Eth_GetCurrentTime(uint8 CtrlIdx, Eth_TimeStampQualType *timeQualPtr, Eth_TimeStampType *timeStampPtr)
This function returns a time value out of the HW registers.
Eth configuration type Configuration data of all controller.
Definition: Eth_Cfg.h:771
Std_ReturnType Eth_ReadMii(uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16 *RegValPtr)
This function reads a transceiver register.
Std_ReturnType Eth_WriteMii(uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16 RegVal)
This function configures a transceiver register or triggers a function offered by the receiver Servic...
void Eth_GetIngressTimeStamp(uint8 CtrlIdx, Eth_DataType *DataPtr, Eth_TimeStampQualType *timeQualPtr, Eth_TimeStampType *timeStampPtr)
This function reads back the ingress time stamp on a dedicated message object.
Std_ReturnType Eth_SetGlobalTime(uint8 CtrlIdx, Eth_TimeStampType *timeStampPtr)
This function allows the Time Master to adjust the global ETH Reference clock in HW.
Std_ReturnType Eth_GetControllerMode(uint8 CtrlIdx, Eth_ModeType *CtrlModePtr)
This function obtains the state of the indexed controller.
void Eth_Init(const Eth_ConfigType *CfgPtr)
This function initializes the driver.
void Eth_MainFunction(void)
The function checks for controller errors and lost frames. Used for polling state changes....
Std_ReturnType Eth_SetBandwidthLimit(uint8 CtrlIdx, uint8 QueuePrio, uint32 BandwidthLimit)
This function set bandwidth for a specific transmitsion queue.
void Eth_SetPhysAddr(uint8 CtrlIdx, const uint8 *PhysAddrPtr)
This function sets the physical source address used by the indexed controller.
BufReq_ReturnType Eth_ProvideTxBuffer(uint8 CtrlIdx, uint8 Priority, Eth_BufIdxType *BufIdxPtr, uint8 **BufPtr, uint16 *LenBytePtr)
This function provides access to a transmit buffer of the specified controller.
Std_ReturnType Eth_GetBandwidthLimit(uint8 CtrlIdx, uint8 QueuePrio, uint32 *BandwidthLimitPtr)
This function get bandwidth for a specific transmitsion queue.
Std_ReturnType Eth_GetTxStats(uint8 CtrlIdx, Eth_TxStatsType *TxStats)
This function reads a list with TX statistics values of the corresponding controller.
Std_ReturnType Eth_GetCounterState(uint8 CtrlIdx, uint16 CtrOffs, uint32 *CtrValPtr)
Reads the value of a counter specified with its memory offset.
This file contains generated configuration for ETH MCAL driver.
void Eth_GetVersionInfo(Std_VersionInfoType *VersionInfo)
Function returns the version information of this module.
Std_ReturnType Eth_GetRxStats(uint8 CtrlIdx, Eth_RxStatsType *RxStats)
This function reads a list with RX statistics values of the corresponding controller.
void Eth_SetCorrectionTime(uint8 CtrlIdx, Eth_TimeIntDiffType *timeOffsetPtr, Eth_RateRatioType *rateRatioPtr)
This function allows the Time Slave to adjust the local ETH Reference clock in HW.
void Eth_Receive(uint8 CtrlIdx, uint8 FifoIdx, Eth_RxStatusType *RxStatusPtr)
This function triggers frame reception.
void Eth_TxConfirmation(uint8 CtrlIdx)
This function triggers frame transmission confirmation.
Std_ReturnType Eth_UpdatePhysAddrFilter(uint8 CtrlIdx, const uint8 *PhysAddrPtr, Eth_FilterActionType Action)
This function updates the physical source address to / from the indexed controller filter.
void Eth_EnableEgressTimeStamp(uint8 CtrlIdx, Eth_BufIdxType BufIdx)
This function activates egress time stamping on a dedicated message object.
void Eth_GetEgressTimeStamp(uint8 CtrlIdx, Eth_BufIdxType BufIdx, Eth_TimeStampQualType *timeQualPtr, Eth_TimeStampType *timeStampPtr)
This function reads back the egress time stamp on a dedicated message object.