MCUSW
|
The Ethernet Driver provides low-level access to the two-port Gigabit Ethernet Switch (MCU_CPSW0) hardware in the Jacinto 7 family. The first port (Port 0) is called host port and has a CPPI interface that interconnects the CPSW peripheral with the rest of the SoC. The second port (Port 1) is a MAC port which can be configured in RGMII or RMII mode.
The Ethernet Driver implements the standardized interface described in the AUTOSAR Release 4.2.1 Specification of the Ethernet Driver (AUTOSAR_SWS_EthDriver, Document ID 430).
The Ethernet Driver is part of the Communication Stack in the AUTOSAR Basic Software (BSW).
Sub Modules | |
Eth Driver Interrupt Handlers | |
Functions | |
void | Eth_Init (const Eth_ConfigType *CfgPtr) |
This function initializes the driver. More... | |
Std_ReturnType | Eth_SetControllerMode (uint8 CtrlIdx, Eth_ModeType CtrlMode) |
This function enables / disables the indexed controller. More... | |
Std_ReturnType | Eth_SetControllerModeByVirtMac (uint8 CtrlIdx, Eth_ModeType CtrlMode) |
This function enables / disables the indexed controller by Eth virtmac. This is only used for recovering CPSW process. More... | |
Std_ReturnType | Eth_GetControllerMode (uint8 CtrlIdx, Eth_ModeType *CtrlModePtr) |
This function obtains the state of the indexed controller. More... | |
void | Eth_GetPhysAddr (uint8 CtrlIdx, uint8 *PhysAddrPtr) |
This function obtains the physical source address used by the indexed controller. More... | |
void | Eth_SetPhysAddr (uint8 CtrlIdx, const uint8 *PhysAddrPtr) |
This function sets the physical source address used by the indexed controller. More... | |
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. More... | |
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 Service. More... | |
Std_ReturnType | Eth_ReadMii (uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16 *RegValPtr) |
This function reads a transceiver register. More... | |
Std_ReturnType | Eth_GetCounterValues (uint8 CtrlIdx, Eth_CounterType *CounterPtr) |
This function reads a list with counter values of the corresponding controller. More... | |
Std_ReturnType | Eth_GetCounterState (uint8 CtrlIdx, uint16 CtrOffs, uint32 *CtrValPtr) |
Reads the value of a counter specified with its memory offset. More... | |
Std_ReturnType | Eth_GetRxStats (uint8 CtrlIdx, Eth_RxStatsType *RxStats) |
This function reads a list with RX statistics values of the corresponding controller. More... | |
Std_ReturnType | Eth_GetTxStats (uint8 CtrlIdx, Eth_TxStatsType *TxStats) |
This function reads a list with TX statistics values of the corresponding controller. More... | |
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 corresponding controller. More... | |
Std_ReturnType | Eth_GetCurrentTime (uint8 CtrlIdx, Eth_TimeStampQualType *timeQualPtr, Eth_TimeStampType *timeStampPtr) |
This function returns a time value out of the HW registers. More... | |
void | Eth_EnableEgressTimeStamp (uint8 CtrlIdx, Eth_BufIdxType BufIdx) |
This function activates egress time stamping on a dedicated message object. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
void | Eth_Receive (uint8 CtrlIdx, uint8 FifoIdx, Eth_RxStatusType *RxStatusPtr) |
This function triggers frame reception. More... | |
void | Eth_TxConfirmation (uint8 CtrlIdx) |
This function triggers frame transmission confirmation. More... | |
void | Eth_GetVersionInfo (Std_VersionInfoType *VersionInfo) |
Function returns the version information of this module. More... | |
void | Eth_MainFunction (void) |
The function checks for controller errors and lost frames. Used for polling state changes. Calls EthIf_CtrlModeIndication when the controller mode changed. More... | |
Std_ReturnType | Eth_SetBandwidthLimit (uint8 CtrlIdx, uint8 QueuePrio, uint32 BandwidthLimit) |
This function set bandwidth for a specific transmitsion queue. More... | |
Std_ReturnType | Eth_GetBandwidthLimit (uint8 CtrlIdx, uint8 QueuePrio, uint32 *BandwidthLimitPtr) |
This function get bandwidth for a specific transmitsion queue. More... | |
Std_ReturnType | Eth_ReleaseRxBuffer (uint8 CtrlIdx, Eth_DataType *BufPtr) |
This function releases an RX buffer and prepares the buffer to be reused during reception. More... | |
BufReq_ReturnType | Eth_ProvideExtTxBuffer (uint8 CtrlIdx, uint8 Priority, Eth_BufIdxType *BufIdxPtr, Eth_DataType **BufPtr, uint16 *LenBytePtr) |
This function provides an external buffer for frame transmission. The buffer is supposed to be locked until transmission confirmation is called. More... | |
Std_ReturnType | Eth_GetTxHeaderPtr (uint8 CtrlIdx, uint8 BufIdx, Eth_DataType **BufPtr, uint16 *LenBytePtr) |
This function returns the Ethernet header portion of a transmission frame. This allows the user to overwrite the Ethernet header according to his needs. Otherwise the header is written by the driver. Call this function after a call to Eth_ProvideTxBuffer or Eth_ProvideExtTxBuffer. More... | |
Std_ReturnType | Eth_GetRxHeaderPtr (uint8 CtrlIdx, Eth_DataType **BufPtr, uint16 *LenBytePtr) |
This function returns the pointer to the first octet of a received Ethernet frame. That allows access to the Ethernet header as well as the Ethernet payload. Call this function after the EthIf_RxIndication function is called. More... | |
Std_ReturnType | Eth_RegisterReadback (VAR(uint8,) CtrlIdx, Eth_RegisterReadbackType *RegRbPtr) |
This service will readback Eth registers. More... | |
Eth Driver Module SW Version Info | |
Definitions for the Eth Driver version used for compatibility checks | |
#define | ETH_SW_MAJOR_VERSION (10U) |
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... | |
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... | |
#define ETH_SW_MAJOR_VERSION (10U) |
Driver Implementation Major Version.
#define ETH_SW_MINOR_VERSION (0U) |
Driver Implementation Minor Version.
#define ETH_SW_PATCH_VERSION (0U) |
Driver Implementation Patch Version.
#define ETH_AR_RELEASE_MAJOR_VERSION (4U) |
AUTOSAR Major version specification implemented by Eth Driver.
#define ETH_AR_RELEASE_MINOR_VERSION (3U) |
AUTOSAR Minor version specification implemented by Eth Driver.
#define ETH_AR_RELEASE_REVISION_VERSION (1U) |
AUTOSAR Patch version specification implemented by Eth Driver.
#define ETH_VENDOR_ID ((uint16) 44U) |
Texas Instruments Vendor ID.
#define ETH_MODULE_ID ((uint16) 88U) |
Eth Driver Module ID.
#define ETH_INSTANCE_ID ((uint8) 0U) |
Eth Driver Instance ID.
#define ETH_E_INV_CTRL_IDX ((uint8) 0x01U) |
Invalid controller index.
#define ETH_E_UNINIT ((uint8) 0x02U) |
Eth module was not initialized.
#define ETH_E_PARAM_POINTER ((uint8) 0x03U) |
Invalid pointer in parameter list.
#define ETH_E_INV_PARAM ((uint8) 0x04U) |
Invalid parameter.
#define ETH_E_INV_MODE ((uint8) 0x05U) |
Invalid mode.
#define ETH_E_VIRTMAC_APIMISMATCH ((uint8) 0x07U) |
Mismatch in API version between Eth Driver and ethernet firmware.
#define ETH_E_VIRTMAC_RPCCMDFAILED ((uint8) 0x08U) |
Virtual MAC RPC command failed.
#define ETH_E_VIRTMAC_UNSUPPORTECLIENTNOTIFY ((uint8) 0x09U) |
Ethernet MCAL RPC client received unhandled notify from ethernet firmware server.
#define ETH_E_VIRTMAC_UNSUPPORTEDSRVCMD ((uint8) 0x0AU) |
Rpc Command sent by client not supported by server.
#define ETH_E_BUSY ((uint8) 0x0BU) |
Device or resource is busy.
#define ETH_SID_INIT ((uint8) 0x01U) |
Eth_Init() API Service ID.
#define ETH_SID_SET_CONTROLLER_MODE ((uint8) 0x03U) |
Eth_SetControllerMode() API Service ID.
#define ETH_SID_GET_CONTROLLER_MODE ((uint8) 0x04U) |
Eth_GetControllerMode() API Service ID.
#define ETH_SID_WRITE_MII ((uint8) 0x05U) |
Eth_WriteMii() API Service ID.
#define ETH_SID_READ_MII ((uint8) 0x06U) |
Eth_ReadMii() API Service ID.
#define ETH_SID_GET_COUNTER_STATE ((uint8) 0x07U) |
Eth_GetCounterState() API Service ID.
#define ETH_SID_GET_PHYS_ADDR ((uint8) 0x08U) |
Eth_GetPhysAddr() API Service ID.
#define ETH_SID_PROVIDE_TX_BUFFER ((uint8) 0x09U) |
Eth_ProvideTxBuffer() API Service ID.
#define ETH_SID_MAIN_FUNCTION ((uint8) 0x20U) |
Eth_MainFunction() API Service ID.
#define ETH_SID_TRANSMIT ((uint8) 0x0AU) |
Eth_Transmit() API Service ID.
#define ETH_SID_RECEIVE ((uint8) 0x0BU) |
Eth_Receive() API Service ID.
#define ETH_SID_TX_CONFIRMATION ((uint8) 0x0CU) |
Eth_TxConfirmation() API Service ID.
#define ETH_SID_GET_VERSION_INFO ((uint8) 0x0DU) |
Eth_GetVersionInfo() API Service ID.
#define ETH_SID_RX_IRQ_HDLR ((uint8) 0x10U) |
Eth_RxIrqHdlr_<CtrlIdx>() API Service ID.
#define ETH_SID_TX_IRQ_HDLR ((uint8) 0x11U) |
Eth_TxIrqHdlr_<CtrlIdx>() API Service ID.
#define ETH_SID_UPDATE_PHYS_ADDR_FILTER ((uint8) 0x12U) |
Eth_UpdatePhysAddrFilter() API Service ID.
#define ETH_SID_SET_PHYS_ADDR ((uint8) 0x13U) |
Eth_SetPhysAddr() API Service ID.
#define ETH_SID_GET_COUNTER_VALUES ((uint8) 0x14U) |
Eth_GetCounterValues() API Service ID.
#define ETH_SID_GET_RX_STATS ((uint8) 0x15U) |
Eth_GetRxStats() API Service ID.
#define ETH_SID_GET_TX_STATS ((uint8) 0x1CU) |
Eth_GetTxStats() API Service ID.
#define ETH_SID_GET_TXERROR_COUNTERVALUES ((uint8) 0x1DU) |
Eth_GetTxErrorCounterValues() API Service ID.
#define ETH_SID_GET_CURRENT_TIME ((uint8) 0x16U) |
Eth_GetCurrentTime() API Service ID.
#define ETH_SID_ENABLE_EGRESS_TIMESTAMP ((uint8) 0x17U) |
Eth_EnableEgressTimeStamp() API Service ID.
#define ETH_SID_GET_EGRESS_TIMESTAMP ((uint8) 0x18U) |
Eth_GetEgressTimeStamp() API Service ID.
#define ETH_SID_GET_INGRESS_TIMESTAMP ((uint8) 0x19U) |
Eth_GetIngressTimeStamp() API Service ID.
#define ETH_SID_DISPATCH_VIRTMAC_INIT ((uint8) 0x30U) |
Eth_DispatchVirtmacInit() API Service ID.
#define ETH_SID_DISPATCH_VIRTMAC_DEINIT ((uint8) 0x31U) |
Eth_DispatchVirtmacDeinit() API Service ID.
#define ETH_SID_NOTIFY_VIRTMAC_MSGRECV ((uint8) 0x32U) |
Eth_NotifyVirtmacMsgRecv() API Service ID.
#define ETH_SID_DISPATCH_VIRTMAC_SUBSCRIBE_ALLTRAFFIC ((uint8) 0x33U) |
Eth_DispatchVirtmacSubscribeAllTraffic() API Service ID.
#define ETH_SID_DISPATCH_VIRTMAC_UNSUBSCRIBE_ALLTRAFFIC ((uint8) 0x34U) |
Eth_DispatchVirtmacUnsubscribeAllTraffic() API Service ID.
#define ETH_SID_DISPATCH_VIRTMAC_SUBSCRIBE_DSTMAC ((uint8) 0x35U) |
Eth_DispatchVirtmacSubscribeDstMac() API Service ID.
#define ETH_SID_DISPATCH_VIRTMAC_UNSUBSCRIBE_DSTMAC ((uint8) 0x36U) |
Eth_DispatchVirtmacUnsubscribeDstMac() API Service ID.
#define ETH_SID_DISPATCH_VIRTMAC_IPV4_MACADDR_ASSOCIATE ((uint8) 0x37U) |
Eth_DispatchVirtmacIPv4MacAddrAssociate() API Service ID.
#define ETH_SID_DISPATCH_VIRTMAC_IPV4_MACADDR_DISASSOCIATE ((uint8) 0x38U) |
Eth_DispatchVirtmacIPv4MacAddrDisassociate() API Service ID.
#define ETH_SID_DISPATCH_VIRTMAC_ADD_UNICAST_MACADDR ((uint8) 0x39U) |
Eth_DispatchVirtmacAddUnicastMacAddr() API Service ID.
#define ETH_SID_DISPATCH_VIRTMAC_ADD_MCAST_MACADDR ((uint8) 0x3AU) |
Eth_DispatchVirtmacAddMcastMacAddr() API Service ID.
#define ETH_SID_DISPATCH_VIRTMAC_DEL_MACADDR ((uint8) 0x3BU) |
Eth_DispatchVirtmacDelMacAddr() API Service ID.
#define ETH_SID_DISPATCH_VIRTMAC_ADD_VLAN ((uint8) 0x3CU) |
Eth_DispatchVirtmacAddVlan() API Service ID.
#define ETH_SID_DISPATCH_VIRTMAC_DEL_VLAN ((uint8) 0x3DU) |
Eth_DispatchVirtmacDelVlan() API Service ID.
#define ETH_SID_VIRTMAC_RPC_INIT ((uint8) 0x3FU) |
Eth_VirtMacRpcInit() API Service ID.
#define ETH_SID_SET_BANDWIDTH_LIMIT ((uint8) 0x50U) |
Eth_SetBandwidthLimit() API Service ID.
#define ETH_SID_GET_BANDWIDTH_LIMIT ((uint8) 0x51U) |
Eth_GetBandwidthLimit() API Service ID.
#define ETH_SID_RELEASE_RX_BUFFER ((uint8) 0x52U) |
Eth_ReleaseRxBuffer() API Service ID.
#define ETH_SID_PROVIDE_EXT_TX_BUFFER ((uint8) 0x53U) |
Eth_ProvideExtTxBuffer() API Service ID.
#define ETH_SID_GET_TX_HEADER_PTR ((uint8) 0x54U) |
Eth_GetTxHeaderPtr() API Service ID.
#define ETH_SID_GET_RX_HEADER_PTR ((uint8) 0x55U) |
Eth_GetRxHeaderPtr() API Service ID.
#define ETH_SID_REGISTER_READBACK ((uint8) 0x56U) |
Eth_RegisterReadback() API Service ID.
void Eth_Init | ( | const Eth_ConfigType * | CfgPtr | ) |
This function initializes the driver.
* Service name : Eth_Init * Syntax : void Eth_Init( * const Eth_ConfigType* CfgPtr * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x01 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CfPtr. Points to the implementation specific structure * Parameters (inout): None * Parameters (out) : None * Return value : None * Description : Initializes the Ethernet Driver. *
Std_ReturnType Eth_SetControllerMode | ( | uint8 | CtrlIdx, |
Eth_ModeType | CtrlMode | ||
) |
This function enables / disables the indexed controller.
* Service name : Eth_SetControllerMode * Syntax : Std_ReturnType Eth_SetControllerMode( * uint8 CtrlIdx, * Eth_ModeType CtrlMode * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x03 * Sync/Async : Asynchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * CtrlMode. * ETH_MODE_DOWN: disable the controller * ETH_MODE_ACTIVE: enable the controller * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: controller mode could not be changed * Description : Enables / disables the indexed controller. *
Std_ReturnType Eth_SetControllerModeByVirtMac | ( | uint8 | CtrlIdx, |
Eth_ModeType | CtrlMode | ||
) |
This function enables / disables the indexed controller by Eth virtmac. This is only used for recovering CPSW process.
* Service name : Eth_SetControllerModeByVirtMac * Syntax : Std_ReturnType Eth_SetControllerModeByVirtMac( * uint8 CtrlIdx, * Eth_ModeType CtrlMode * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : None * Sync/Async : Asynchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * CtrlMode. * ETH_MODE_DOWN: disable the controller * ETH_MODE_ACTIVE: enable the controller * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: controller mode could not be changed * Description : Enables / disables the indexed controller. *
Std_ReturnType Eth_GetControllerMode | ( | uint8 | CtrlIdx, |
Eth_ModeType * | CtrlModePtr | ||
) |
This function obtains the state of the indexed controller.
* Service name : Eth_GetControllerMode * Syntax : Std_ReturnType Eth_GetControllerMode( * uint8 CtrlIdx, * Eth_ModeType *CtrlModePtr * ) * Mode : User Mode (Non-Privileged Mode) * Service ID[hex] : 0x04 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (inout): CtrlModePtr * ETH_MODE_DOWN: the controller is disabled * ETH_MODE_ACTIVE: the controller is enabled * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: controller mode could not be obtained * Description : Obtains the state of the indexed controller. *
void Eth_GetPhysAddr | ( | uint8 | CtrlIdx, |
uint8 * | PhysAddrPtr | ||
) |
This function obtains the physical source address used by the indexed controller.
* Service name : Eth_GetPhysAddr * Syntax : void Eth_GetPhysAddr( * uint8 CtrlIdx, * uint8 *PhysAddrPtr * ) * Mode : User Mode (Non-Privileged Mode) * Service ID[hex] : 0x08 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (inout): * Parameters (out) : PhysAddrPtr. Physical source address (MAC address) in network * byte order * Return value : None * Description : Obtains the physical source address used by the indexed * controller. *
void Eth_SetPhysAddr | ( | uint8 | CtrlIdx, |
const uint8 * | PhysAddrPtr | ||
) |
This function sets the physical source address used by the indexed controller.
* Service name : Eth_SetPhysAddr * Syntax : void Eth_SetPhysAddr( * uint8 CtrlIdx, * const uint8* PhysAddrPtr * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x13 * Sync/Async : Synchronous * Reentrancy : Non Reentrant for the same CtrlIdx, reentrant for different * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * PhysAddrPtr. Pointer to memory containing the physical source * address (MAC address) in network byte order * Parameters (inout): None * Parameters (out) : None * Return value : None * Description : Sets the physical source address used by the indexed * controller. *
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.
* Service name : Eth_UpdatePhysAddrFilter * Syntax : Std_ReturnType Eth_UpdatePhysAddrFilter( * uint8 CtrlIdx, * uint8* PhysAddrPtr, * Eth_FilterActionType Action * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x12 * Sync/Async : Synchronous * Reentrancy : Non Reentrant for the same CtrlIdx, reentrant for different * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * PhysAddrPtr. Pointer to memory containing the physical source * address (MAC address) in network byte order * Action. Add or remove the address from the Ethernet controllers * filter * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: filter was successfully changed * E_NOT_OK: filter could not be changed * Description : Updates the physical source address to/from the indexed ontroller * filter. If the Ethernet Controller is not capable to do the * filtering, the software has to do this. *
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 Service.
* Service name : Eth_WriteMii * Syntax : Std_ReturnType Eth_WriteMii( * uint8 CtrlIdx, * uint8 TrcvIdx, * uint8 RegIdx, * uint16 RegVal * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x05 * Sync/Async : Asynchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * TrcvIdx. Index of the transceiver on the MII * RegIdx.Index of the transceiver register on the MII * RegVal. Value to be written into the indexed registerNone * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: Service accepted * E_NOT_OK: Service denied * ETH_E_NO_ACCESS: Ethernet transceiver access failure * Description : Configures a transceiver register or triggers a function * offered by the receiver. *
Std_ReturnType Eth_ReadMii | ( | uint8 | CtrlIdx, |
uint8 | TrcvIdx, | ||
uint8 | RegIdx, | ||
uint16 * | RegValPtr | ||
) |
This function reads a transceiver register.
* Service name : Eth_ReadMii * Syntax : Std_ReturnType Eth_ReadMii( * uint8 CtrlIdx, * uint8 TrcvIdx, * uint8 RegIdx, * uint16* RegValPtr * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x06 * Sync/Async : Asynchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * TrcvIdx. Index of the transceiver on the MII * RegIdx. Index of the transceiver register on the MII * RegVal. Value to be written into the indexed register * Parameters (inout): None * Parameters (out) : RegValPtr. Filled with the register content of the indexed * register * Return value : Std_ReturnType * E_OK: Service accepted * E_NOT_OK: Service denied * ETH_E_NO_ACCESS: Ethernet transceiver access failure * Description : Reads a transceiver register. *
Std_ReturnType Eth_GetCounterValues | ( | uint8 | CtrlIdx, |
Eth_CounterType * | CounterPtr | ||
) |
This function reads a list with counter values of the corresponding controller.
* Service name : Eth_GetCounterValues * Syntax : Std_ReturnType Eth_GetCounterValues(uint8 CtrlIdx, * Eth_CounterType* CounterPtr); * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x14 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (out) : CounterPtr. counter values according to IETF RFC 1757, RFC 1643 and * RFC 2233. Refer to the \ref Eth_CounterType. * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: drop counter could not be obtained * Description : Reads a list with drop counter values of the corresponding controller. * The meaning of these values is described at Eth_CounterType *
Std_ReturnType Eth_GetCounterState | ( | uint8 | CtrlIdx, |
uint16 | CtrOffs, | ||
uint32 * | CtrValPtr | ||
) |
Reads the value of a counter specified with its memory offset.
* Service name : Eth_GetCounterState * Syntax : Std_ReturnType Eth_GetCounterState(uint8 CtrlIdx, * uint16 CtrOffs, * uint32* CtrValPtr); * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x07 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (in) : CtrOffs. Memory offset of the counter. The offset is controller specific. * Parameters (out) : CtrValPtr. Filled with the content of the specified counter * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: specified counter offset not be obtained. * Description : Reads the value of a counter specified with its memory offset. *
Std_ReturnType Eth_GetRxStats | ( | uint8 | CtrlIdx, |
Eth_RxStatsType * | RxStats | ||
) |
This function reads a list with RX statistics values of the corresponding controller.
* Service name : Eth_GetRxStats * Syntax : Std_ReturnType Eth_GetRxStats( * uint8 CtrlIdx, * Eth_RxStatsType* RxStats * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x15 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (inout): None * Parameters (out) : RxStats. List of values according to IETF RFC 2819 (Remote Network * Monitoring Management Information Base). Refer to the \ref Eth_RxStatsType. * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: drop counter could not be obtained * Description : *
Std_ReturnType Eth_GetTxStats | ( | uint8 | CtrlIdx, |
Eth_TxStatsType * | TxStats | ||
) |
This function reads a list with TX statistics values of the corresponding controller.
* Service name : Eth_GetTxStats * Syntax : Std_ReturnType Eth_GetTxStats( * uint8 CtrlIdx, * Eth_TxStatsType* TxStats * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x15 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (inout): None * Parameters (out) : TxStats. List of values according to IETF RFC 2819 (Remote Network * Monitoring Management Information Base). Refer to the \ref Eth_TxStatsType. * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: drop counter could not be obtained * Description : *
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 corresponding controller.
* Service name : Eth_GetTxErrorCounterValues * Syntax : Eth_GetTxErrorCounterValues(uint8 CtrlIdx, * Eth_TxErrorCounterValuesType *TxErrorCounterValues) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x15 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (inout): None * Parameters (out) : TxErrorCounterValues. List of values to read statistic error counter values * for transmission. Refer to the \ref Eth_TxErrorCounterValuesType. * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: drop counter could not be obtained * Description : *
Std_ReturnType Eth_GetCurrentTime | ( | uint8 | CtrlIdx, |
Eth_TimeStampQualType * | timeQualPtr, | ||
Eth_TimeStampType * | timeStampPtr | ||
) |
This function returns a time value out of the HW registers.
* Service name : Eth_GetCurrentTime * Syntax : Std_ReturnType Eth_GetCurrentTime( * uint8 CtrlIdx, * Eth_TimeStampQualType *timeQualPtr, * Eth_TimeStampType *timeStampPtr * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x16 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (inout): None * Parameters (out) : timeQualPtr. Quality of HW time stamp, e.g. based on current * drift * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: failed * Description : Returns a time value out of the HW registers according * to the capability of the HW. Is the HW resolution is lower than * the Eth_TimeStampType resolution resp. range, than an the * remaining bits will be filled with 0. *
void Eth_EnableEgressTimeStamp | ( | uint8 | CtrlIdx, |
Eth_BufIdxType | BufIdx | ||
) |
This function activates egress time stamping on a dedicated message object.
* Service name : Eth_EnableEgressTimeStamp * Syntax : void Eth_EnableEgressTimeStamp( * uint8 CtrlIdx, * Eth_BufIdxType BufIdx * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x17 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * BufIdx. Index of the message buffer, where Application * expects egress time stamping * Parameters (inout): None * Parameters (out) : None * Return value : None * Description : Activates egress time stamping on a dedicated message * object. * Some HW does store once the egress time stamp marker and * some HW needs it always before transmission. There will be * no disable functionality, due to the fact, that the message * type is always "time stamped" by network design. *
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.
* Service name : Eth_GetEgressTimeStamp * Syntax : void Eth_GetEgressTimeStamp( * uint8 CtrlIdx, * Eth_BufIdxType BufIdx, * Eth_TimeStampQualType* timeQualPtr, * Eth_TimeStampType *timeStampPtr * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x18 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * BufIdx. Index of the message buffer, where Application * expects egress time stamping * Parameters (inout): timeQualPtr. Quality of HW time stamp, e.g. based on current * drift * timeStampPtr. Current time stamp * Parameters (out) : None * Return value : None * Description : Reads back the egress time stamp on a dedicated message * object. * It must be called within the TxConfirmation() function. *
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.
* Service name : Eth_GetIngressTimeStamp * Syntax : void Eth_GetIngressTimeStamp( * uint8 CtrlIdx, * Eth_DataType* DataPtr, * Eth_TimeStampQualType* timeQualPtr, * Eth_TimeStampType *timeStampPtr * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x19 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * DataPtr. Pointer to the message buffer, where Application * expects ingress time stamping * Parameters (inout): timeQualPtr. Quality of HW time stamp, e.g. based on current * drift * timeStampPtr. Current time stamp * Parameters (out) : None * Return value : None * Description : Reads back the ingress time stamp on a dedicated message * object. * It must be called within the RxIndication() function. *
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.
* Service name : Eth_ProvideTxBuffer * Syntax : BufReq_ReturnType Eth_ProvideTxBuffer( * uint8 CtrlIdx, * uint8 Priority, * uint8* BufIdxPtr, * uint8** BufPtr, * uint16* LenBytePtr * ) * Mode : User Mode (Non-Privileged Mode) * Service ID[hex] : 0x09 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (in) : Priority. Frame priority for transmit buffer FIFO selection * Parameters (inout): LenBytePtr * In: desired length in bytes, out: granted length in bytes * Parameters (out) : BufIdxPtr. Index to the granted buffer resource. To be used * for subsequent requests * BufPtr. Pointer to the granted buffer * Return value : BufReq_ReturnType * BUFREQ_OK: success * BUFREQ_E_NOT_OK: development error detected * BUFREQ_E_BUSY: all buffers in use * BUFREQ_E_OVFL: requested buffer too large * Description : Provides access to a transmit buffer of the specified * 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.
* Service name : Eth_Transmit * Syntax : Std_ReturnType Eth_Transmit( * uint8 CtrlIdx, * Eth_BufIdxType BufIdx, * Eth_FrameType FrameType, * boolean TxConfirmation, * uint16 LenByte, * uint8 *PhysAddrPtr) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0xA * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * BufIdx. Index of the buffer resource * FrameType. Ethernet frame type * TxConfirmation. Activates transmission confirmation * LenByte. Data length in byte * PhysAddrPtr. Physical target address (MAC address) in * network byte order * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: transmission failed * Description : Triggers transmission of a previously filled transmit * buffer. *
void Eth_Receive | ( | uint8 | CtrlIdx, |
uint8 | FifoIdx, | ||
Eth_RxStatusType * | RxStatusPtr | ||
) |
This function triggers frame reception.
* Service name : Eth_Receive * Syntax : void Eth_Receive( * uint8 CtrlIdx, * uint8 FifoIdx, * Eth_RxStatusType* RxStatusPtr * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0xB * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (in) : FifoIdx. Specifies the related fifo * Parameters (inout): None * Parameters (out) : RxStatusPtr. Indicates whether a frame has been received and * if so, whether more frames are available or * frames got lost * Return value : None * Description : Triggers frame reception. *
void Eth_TxConfirmation | ( | uint8 | CtrlIdx | ) |
This function triggers frame transmission confirmation.
* Service name : Eth_TxConfirmation * Syntax : void Eth_TxConfirmation( * uint8 CtrlIdx * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0xC * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (inout): None * Parameters (out) : None * Return value : None * Description : Triggers frame transmission confirmation. *
void Eth_GetVersionInfo | ( | Std_VersionInfoType * | VersionInfo | ) |
Function returns the version information of this module.
* Service name : Eth_GetVersionInfo * Syntax : void Eth_GetVersionInfo( * Std_VersionInfoType* versioninfo * ) * Mode : User Mode (Non-Privileged Mode) * Service ID[hex] : 0xD * Sync/Async : Synchronous * Reentrancy : Reentrant * Parameters (in) : None * Parameters (inout): None * Parameters (out) : VersionInfoPtr. Pointer to where to store the version * information of this module * Return value : None * Description : Returns the version information of this module. *
void Eth_MainFunction | ( | void | ) |
The function checks for controller errors and lost frames. Used for polling state changes. Calls EthIf_CtrlModeIndication when the controller mode changed.
* Service name : Eth_MainFunction * Syntax : void Eth_MainFunction( * void * ) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x0A * Description : The function checks for controller errors and lost frames. * Used for polling state changes. Calls EthIf_CtrlModeIndication * when the controller mode changed. *
Std_ReturnType Eth_SetBandwidthLimit | ( | uint8 | CtrlIdx, |
uint8 | QueuePrio, | ||
uint32 | BandwidthLimit | ||
) |
This function set bandwidth for a specific transmitsion queue.
* Service name : Eth_Receive * Syntax : FUNC(Std_ReturnType, ETH_CODE) Eth_SetBandwidthLimit( uint8 CtrlIdx, uint8 QueuePrio, uint32 BandwidthLimit ); * Mode : User Mode (Non-Privileged Mode) * Service ID[hex] : 0x2C * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (in) : QueuePrio. Specifies the related fifo * BandwidthLimit. Bandwidth value * Parameters (inout): None * Parameters (out) : None * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: configure bandwidth failed * Description : This function set bandwidth for a specific transmitsion queue. *
Std_ReturnType Eth_GetBandwidthLimit | ( | uint8 | CtrlIdx, |
uint8 | QueuePrio, | ||
uint32 * | BandwidthLimitPtr | ||
) |
This function get bandwidth for a specific transmitsion queue.
* Service name : Eth_Receive * Syntax : FUNC(Std_ReturnType, ETH_CODE) Eth_GetBandwidthLimit( uint8 CtrlIdx, uint8 QueuePrio, P2VAR(uint32, AUTOMATIC, ETH_APPL_DAT) BandwidthLimitPtr ); * Mode : User Mode (None-Privileged Mode) * Service ID[hex] : 0x2D * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * Parameters (in) : QueuePrio. Specifies the related fifo * Parameters (inout): BandwidthLimitPtr Pointer to where to store the currently configured bandwidth limit (in [bit/s]) * Return value : Std_ReturnType * E_OK: success * E_NOT_OK: retrive bandwidth failed * Description : This function get bandwidth for a specific transmitsion queue. *
Std_ReturnType Eth_ReleaseRxBuffer | ( | uint8 | CtrlIdx, |
Eth_DataType * | BufPtr | ||
) |
This function releases an RX buffer and prepares the buffer to be reused during reception.
* Service name : Eth_ReleaseRxBuffer * Syntax : FUNC(Std_ReturnType, ETH_CODE) Eth_ReleaseRxBuffer(uint8 CtrlIdx, * P2VAR(Eth_DataType, AUTOMATIC, ETH_APPL_DATA) BufPtr * ); * * Mode : User Mode (None-Privileged Mode) * Service ID[hex] : 0x30 * \param (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * \param (in) : BufPtr. Pointer to the reception buffer * * \return value : E_NOT_OK : Buffer could not be released. This may only happen with a * wrong BufPtr or when DET is enabled. * E_OK : Buffer successfully released. * *
BufReq_ReturnType Eth_ProvideExtTxBuffer | ( | uint8 | CtrlIdx, |
uint8 | Priority, | ||
Eth_BufIdxType * | BufIdxPtr, | ||
Eth_DataType ** | BufPtr, | ||
uint16 * | LenBytePtr | ||
) |
This function provides an external buffer for frame transmission. The buffer is supposed to be locked until transmission confirmation is called.
* Service name : Eth_ProvideExtTxBuffer * Syntax : FUNC(BufReq_ReturnType, ETH_CODE) Eth_ProvideExtTxBuffer(uint8 CtrlIdx, uint8 Priority, P2VAR(Eth_BufIdxType, AUTOMATIC, ETH_APPL_DATA) BufIdxPtr, P2VAR(uint8, AUTOMATIC, ETH_APPL_DATA) *BufPtr, P2VAR(uint16, AUTOMATIC, ETH_APPL_DATA) LenBytePtr * ); * * Mode : User Mode (None-Privileged Mode) * Service ID[hex] : 0x31 * * \param (in) : CtrlIdx. Index of the controller within the context of the * Ethernet Driver * \param (in) : FifoIdx. FIFO selection * \param (inout): LenBytePtr The length of the external buffer * \param (out) : BufIdxPtr. Index to the granted buffer resource. To be used * for subsequent requests * BufPtr. Pointer to an external buffer location * \return value : BufReq_ReturnType * BUFREQ_OK: success * BUFREQ_E_NOT_OK: development error detected * BUFREQ_E_BUSY: all buffers in use * BUFREQ_E_OVFL: requested buffer too large * *
Std_ReturnType Eth_GetTxHeaderPtr | ( | uint8 | CtrlIdx, |
uint8 | BufIdx, | ||
Eth_DataType ** | BufPtr, | ||
uint16 * | LenBytePtr | ||
) |
This function returns the Ethernet header portion of a transmission frame. This allows the user to overwrite the Ethernet header according to his needs. Otherwise the header is written by the driver. Call this function after a call to Eth_ProvideTxBuffer or Eth_ProvideExtTxBuffer.
* Service name : Eth_GetTxHeaderPtr * Syntax : FUNC(Std_ReturnType, ETH_CODE) Eth_GetTxHeaderPtr(uint8 CtrlIdx, uint8 BufIdx, P2VAR(Eth_DataType, AUTOMATIC, ETH_APPL_DATA) *BufPtr, P2VAR(uint16, AUTOMATIC, ETH_APPL_DATA) LenBytePtr) * ); * * Mode : User Mode (None-Privileged Mode) * Service ID[hex] : 0x32 * * * \param (in) : CtrlIdx. Controller index * \param (in) : BufIdx. Buffer index * \param (out) : BufPtr. Pointer to buffer area that holds the Ethernet transmission header * \param (inout): LenBytePtr The Ethernet header length. This is always 14 bytes. * \return value : E_OK : Success * E_NOT_OK : Either the buffer associated with BufIdx is in a wrong state. * *
Std_ReturnType Eth_GetRxHeaderPtr | ( | uint8 | CtrlIdx, |
Eth_DataType ** | BufPtr, | ||
uint16 * | LenBytePtr | ||
) |
This function returns the pointer to the first octet of a received Ethernet frame. That allows access to the Ethernet header as well as the Ethernet payload. Call this function after the EthIf_RxIndication function is called.
* Service name : Eth_GetRxHeaderPtr * Syntax : FUNC(Std_ReturnType, ETH_CODE) Eth_GetRxHeaderPtr(uint8 CtrlIdx, P2VAR(Eth_DataType, AUTOMATIC, ETH_APPL_DATA) *BufPtr, P2VAR(uint16, AUTOMATIC, ETH_APPL_DATA) LenBytePtr) * ); * Mode : User Mode (None-Privileged Mode) * Service ID[hex] : 0x33 * \param (in) : CtrlIdx. Controller index * \param (out) : BufPtr. Pointer to the payload portion of the received Ethernet frame. * This pointer is passed to the EthIf_RxIndication callback function * \param (inout): LenBytePtr The Ethernet header length. This is always 14 bytes. * \return value : E_OK : Success * E_NOT_OK : Either the buffer associated with BufIdx is in a wrong state. * *
Std_ReturnType Eth_RegisterReadback | ( | VAR(uint8,) | CtrlIdx, |
Eth_RegisterReadbackType * | RegRbPtr | ||
) |
This service will readback Eth registers.
* * Service name : Eth_RegisterReadback * Syntax : Std_ReturnType Eth_RegisterReadback(uint8 CtrlIdx) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x56 * Sync/Async : Synchronous * Reentrancy : Reentrant * Parameters (in) : CtrlIdx * - Eth Controller to readback registers configuration. * Parameters (inout): RegRbPtr - Pointer to where to store the readback * values. If this pointer is NULL_PTR, then the API * will return E_NOT_OK. * Parameters (out) : None * Return value : Std_ReturnType * - E_OK: Register readback successful. * - E_NOT_OK: Register readback failed. * Description : This service will readback Eth registers. *