MCUSW
Eth.h File Reference

Introduction

This file contains the interface of the Ethernet driver.

Go to the source code of this file.

Macros

Eth Driver Module SW Version Info

Definitions for the Eth Driver version used for compatibility checks

#define ETH_SW_MAJOR_VERSION   (11U)
 Driver Implementation Major Version. More...
 
#define ETH_SW_MINOR_VERSION   (0U)
 Driver Implementation Minor Version. More...
 
#define ETH_SW_PATCH_VERSION   (0U)
 Driver Implementation Patch Version. More...
 
Eth Driver Module AUTOSAR Version Info

Definitions for the Etj Driver AUTOSAR version used for compatibility checks

#define ETH_AR_RELEASE_MAJOR_VERSION   (4U)
 AUTOSAR Major version specification implemented by Eth Driver. More...
 
#define ETH_AR_RELEASE_MINOR_VERSION   (3U)
 AUTOSAR Minor version specification implemented by Eth Driver. More...
 
#define ETH_AR_RELEASE_REVISION_VERSION   (1U)
 AUTOSAR Patch version specification implemented by Eth Driver. More...
 
Eth Driver ID Info
#define ETH_VENDOR_ID   ((uint16) 44U)
 Texas Instruments Vendor ID. More...
 
#define ETH_MODULE_ID   ((uint16) 88U)
 Eth Driver Module ID. More...
 
#define ETH_INSTANCE_ID   ((uint8) 0U)
 Eth Driver Instance ID. More...
 
Eth Error Codes

Error codes returned by Eth functions

#define ETH_E_INV_CTRL_IDX   ((uint8) 0x01U)
 Invalid controller index. More...
 
#define ETH_E_UNINIT   ((uint8) 0x02U)
 Eth module was not initialized. More...
 
#define ETH_E_PARAM_POINTER   ((uint8) 0x03U)
 Invalid pointer in parameter list. More...
 
#define ETH_E_INV_PARAM   ((uint8) 0x04U)
 Invalid parameter. More...
 
#define ETH_E_INV_MODE   ((uint8) 0x05U)
 Invalid mode. More...
 
#define ETH_E_VIRTMAC_APIMISMATCH   ((uint8) 0x07U)
 Mismatch in API version between Eth Driver and ethernet firmware
More...
 
#define ETH_E_VIRTMAC_RPCCMDFAILED   ((uint8) 0x08U)
 Virtual MAC RPC command failed. More...
 
#define ETH_E_VIRTMAC_UNSUPPORTECLIENTNOTIFY   ((uint8) 0x09U)
 Ethernet MCAL RPC client received unhandled notify from ethernet firmware server. More...
 
#define ETH_E_VIRTMAC_UNSUPPORTEDSRVCMD   ((uint8) 0x0AU)
 Rpc Command sent by client not supported by server. More...
 
#define ETH_E_BUSY   ((uint8) 0x0BU)
 Device or resource is busy. More...
 
#define ETH_E_MDIO_FAULT   ((uint8) 0x0CU)
 MDIO fault occured. More...
 
Eth Service Ids

The Service Id is used to identify the source of an error when reported through the Det_ReportError() function.

#define ETH_SID_INIT   ((uint8) 0x01U)
 Eth_Init() API Service ID. More...
 
#define ETH_SID_SET_CONTROLLER_MODE   ((uint8) 0x03U)
 Eth_SetControllerMode() API Service ID. More...
 
#define ETH_SID_GET_CONTROLLER_MODE   ((uint8) 0x04U)
 Eth_GetControllerMode() API Service ID. More...
 
#define ETH_SID_WRITE_MII   ((uint8) 0x05U)
 Eth_WriteMii() API Service ID. More...
 
#define ETH_SID_READ_MII   ((uint8) 0x06U)
 Eth_ReadMii() API Service ID. More...
 
#define ETH_SID_GET_COUNTER_STATE   ((uint8) 0x07U)
 Eth_GetCounterState() API Service ID. More...
 
#define ETH_SID_GET_PHYS_ADDR   ((uint8) 0x08U)
 Eth_GetPhysAddr() API Service ID. More...
 
#define ETH_SID_PROVIDE_TX_BUFFER   ((uint8) 0x09U)
 Eth_ProvideTxBuffer() API Service ID. More...
 
#define ETH_SID_MAIN_FUNCTION   ((uint8) 0x20U)
 Eth_MainFunction() API Service ID. More...
 
#define ETH_SID_TRANSMIT   ((uint8) 0x0AU)
 Eth_Transmit() API Service ID. More...
 
#define ETH_SID_RECEIVE   ((uint8) 0x0BU)
 Eth_Receive() API Service ID. More...
 
#define ETH_SID_TX_CONFIRMATION   ((uint8) 0x0CU)
 Eth_TxConfirmation() API Service ID. More...
 
#define ETH_SID_GET_VERSION_INFO   ((uint8) 0x0DU)
 Eth_GetVersionInfo() API Service ID. More...
 
#define ETH_SID_RX_IRQ_HDLR   ((uint8) 0x10U)
 Eth_RxIrqHdlr_<CtrlIdx>() API Service ID. More...
 
#define ETH_SID_TX_IRQ_HDLR   ((uint8) 0x11U)
 Eth_TxIrqHdlr_<CtrlIdx>() API Service ID. More...
 
#define ETH_SID_UPDATE_PHYS_ADDR_FILTER   ((uint8) 0x12U)
 Eth_UpdatePhysAddrFilter() API Service ID. More...
 
#define ETH_SID_SET_PHYS_ADDR   ((uint8) 0x13U)
 Eth_SetPhysAddr() API Service ID. More...
 
#define ETH_SID_GET_COUNTER_VALUES   ((uint8) 0x14U)
 Eth_GetCounterValues() API Service ID. More...
 
#define ETH_SID_GET_RX_STATS   ((uint8) 0x15U)
 Eth_GetRxStats() API Service ID. More...
 
#define ETH_SID_GET_TX_STATS   ((uint8) 0x1CU)
 Eth_GetTxStats() API Service ID. More...
 
#define ETH_SID_GET_TXERROR_COUNTERVALUES   ((uint8) 0x1DU)
 Eth_GetTxErrorCounterValues() API Service ID. More...
 
#define ETH_SID_GET_CURRENT_TIME   ((uint8) 0x16U)
 Eth_GetCurrentTime() API Service ID. More...
 
#define ETH_SID_ENABLE_EGRESS_TIMESTAMP   ((uint8) 0x17U)
 Eth_EnableEgressTimeStamp() API Service ID. More...
 
#define ETH_SID_GET_EGRESS_TIMESTAMP   ((uint8) 0x18U)
 Eth_GetEgressTimeStamp() API Service ID. More...
 
#define ETH_SID_GET_INGRESS_TIMESTAMP   ((uint8) 0x19U)
 Eth_GetIngressTimeStamp() API Service ID. More...
 
#define ETH_SID_DISPATCH_VIRTMAC_INIT   ((uint8) 0x30U)
 Eth_DispatchVirtmacInit() API Service ID. More...
 
#define ETH_SID_DISPATCH_VIRTMAC_DEINIT   ((uint8) 0x31U)
 Eth_DispatchVirtmacDeinit() API Service ID. More...
 
#define ETH_SID_NOTIFY_VIRTMAC_MSGRECV   ((uint8) 0x32U)
 Eth_NotifyVirtmacMsgRecv() API Service ID. More...
 
#define ETH_SID_DISPATCH_VIRTMAC_SUBSCRIBE_ALLTRAFFIC   ((uint8) 0x33U)
 Eth_DispatchVirtmacSubscribeAllTraffic() API Service ID. More...
 
#define ETH_SID_DISPATCH_VIRTMAC_UNSUBSCRIBE_ALLTRAFFIC   ((uint8) 0x34U)
 Eth_DispatchVirtmacUnsubscribeAllTraffic() API Service ID. More...
 
#define ETH_SID_DISPATCH_VIRTMAC_SUBSCRIBE_DSTMAC   ((uint8) 0x35U)
 Eth_DispatchVirtmacSubscribeDstMac() API Service ID. More...
 
#define ETH_SID_DISPATCH_VIRTMAC_UNSUBSCRIBE_DSTMAC   ((uint8) 0x36U)
 Eth_DispatchVirtmacUnsubscribeDstMac() API Service ID. More...
 
#define ETH_SID_DISPATCH_VIRTMAC_IPV4_MACADDR_ASSOCIATE   ((uint8) 0x37U)
 Eth_DispatchVirtmacIPv4MacAddrAssociate() API Service ID. More...
 
#define ETH_SID_DISPATCH_VIRTMAC_IPV4_MACADDR_DISASSOCIATE   ((uint8) 0x38U)
 Eth_DispatchVirtmacIPv4MacAddrDisassociate() API Service ID. More...
 
#define ETH_SID_DISPATCH_VIRTMAC_ADD_UNICAST_MACADDR   ((uint8) 0x39U)
 Eth_DispatchVirtmacAddUnicastMacAddr() API Service ID. More...
 
#define ETH_SID_DISPATCH_VIRTMAC_ADD_MCAST_MACADDR   ((uint8) 0x3AU)
 Eth_DispatchVirtmacAddMcastMacAddr() API Service ID. More...
 
#define ETH_SID_DISPATCH_VIRTMAC_DEL_MACADDR   ((uint8) 0x3BU)
 Eth_DispatchVirtmacDelMacAddr() API Service ID. More...
 
#define ETH_SID_DISPATCH_VIRTMAC_ADD_VLAN   ((uint8) 0x3CU)
 Eth_DispatchVirtmacAddVlan() API Service ID. More...
 
#define ETH_SID_DISPATCH_VIRTMAC_DEL_VLAN   ((uint8) 0x3DU)
 Eth_DispatchVirtmacDelVlan() API Service ID. More...
 
#define ETH_SID_VIRTMAC_RPC_INIT   ((uint8) 0x3FU)
 Eth_VirtMacRpcInit() API Service ID. More...
 
#define ETH_SID_SET_BANDWIDTH_LIMIT   ((uint8) 0x50U)
 Eth_SetBandwidthLimit() API Service ID. More...
 
#define ETH_SID_GET_BANDWIDTH_LIMIT   ((uint8) 0x51U)
 Eth_GetBandwidthLimit() API Service ID. More...
 
#define ETH_SID_RELEASE_RX_BUFFER   ((uint8) 0x52U)
 Eth_ReleaseRxBuffer() API Service ID. More...
 
#define ETH_SID_PROVIDE_EXT_TX_BUFFER   ((uint8) 0x53U)
 Eth_ProvideExtTxBuffer() API Service ID. More...
 
#define ETH_SID_GET_TX_HEADER_PTR   ((uint8) 0x54U)
 Eth_GetTxHeaderPtr() API Service ID. More...
 
#define ETH_SID_GET_RX_HEADER_PTR   ((uint8) 0x55U)
 Eth_GetRxHeaderPtr() API Service ID. More...
 
#define ETH_SID_REGISTER_READBACK   ((uint8) 0x56U)
 Eth_RegisterReadback() API Service ID. More...
 

Functions

 FUNC (void, ETH_CODE) Eth_Init(P2CONST(Eth_ConfigType
 This function initializes the driver. More...
 
 FUNC (Std_ReturnType, ETH_CODE) Eth_SetControllerMode(uint8 CtrlIdx
 This function enables / disables the indexed controller. More...
 
 P2VAR (Eth_ModeType, AUTOMATIC, ETH_APPL_DATA) CtrlModePtr)
 
 P2VAR (uint8, AUTOMATIC, ETH_APPL_DATA) PhysAddrPtr)
 
 P2CONST (uint8, AUTOMATIC, ETH_APPL_DATA) PhysAddrPtr)
 
uint8 uint8 P2VAR (uint16, AUTOMATIC, ETH_APPL_DATA) RegValPtr)
 
 P2VAR (Eth_RxStatsType, AUTOMATIC, ETH_APPL_DATA) RxStats)
 
 P2VAR (Eth_TxStatsType, AUTOMATIC, ETH_APPL_DATA) TxStats)
 
 P2VAR (Eth_TxErrorCounterValuesType, AUTOMATIC, ETH_APPL_DATA) TxErrorCounterValues)
 
 P2VAR (Eth_TimeStampQualType, AUTOMATIC, ETH_APPL_DATA) timeQualPtr
 
 P2VAR (Eth_TimeStampType, AUTOMATIC, ETH_APPL_DATA) timeStampPtr)
 
 P2VAR (Eth_DataType, AUTOMATIC, ETH_APPL_DATA) DataPtr
 
 FUNC (BufReq_ReturnType, ETH_CODE) Eth_ProvideTxBuffer(uint8 CtrlIdx
 This function provides access to a transmit buffer of the specified controller. More...
 
uint8 P2VAR (Eth_BufIdxType, AUTOMATIC, ETH_APPL_DAT) BufIdxPtr
 
uint8 P2VAR (uint8, AUTOMATIC, ETH_APPL_DAT) *BufPtr
 
uint8 P2VAR (uint16, AUTOMATIC, ETH_APPL_DAT) LenBytePtr)
 
Eth_BufIdxType Eth_FrameType boolean uint16 P2CONST (uint8, AUTOMATIC, ETH_APPL_DAT) PhysAddrPtr)
 
uint8 P2VAR (Eth_RxStatusType, AUTOMATIC, ETH_APPL_DAT) RxStatusPtr)
 
uint8 P2VAR (uint32, AUTOMATIC, ETH_APPL_DAT) BandwidthLimitPtr)
 
uint8 P2VAR (Eth_BufIdxType, AUTOMATIC, ETH_APPL_DATA) BufIdxPtr
 
Std_ReturnType Eth_RegisterReadback (VAR(uint8,) CtrlIdx, P2VAR(Eth_RegisterReadbackType, AUTOMATIC, ETH_APPL_DATA) RegRbPtr)
 This service will readback Eth registers. More...
 

Variables

 AUTOMATIC
 
ETH_PBCFG CfgPtr
 
Eth_ModeType CtrlMode
 
Eth_FilterActionType Action
 
uint8 TrcvIdx
 
uint8 uint8 RegIdx
 
uint8 uint8 uint16 RegVal
 
Eth_CounterType * CounterPtr
 
uint16 CtrOffs
 
uint16 uint32 * CtrValPtr
 
Eth_BufIdxType BufIdx
 
uint8 Priority
 
Eth_BufIdxType Eth_FrameType FrameType
 
Eth_BufIdxType Eth_FrameType boolean TxConfirmation
 
Eth_BufIdxType Eth_FrameType boolean uint16 LenByte
 
uint8 FifoIdx
 
ETH_APPL_DATA VersionInfo
 
uint8 QueuePrio
 
uint8 uint32 BandwidthLimit